遠距離恋愛/ep06

Last-modified: 2013-09-20 (金) 05:48:54
ep06
「やったー! 次は準決勝!」
 

俺、この大会が終わったら、女2さんに…
いや、まだ死ぬ時ではない。

 

## 2070年 6月下旬。
## 教室。休み時間。夏服の生徒たちが談笑している。

 

男Cが俺の席に来て、他愛もない話をしている。
隣で女Cが肩関節を鳴らした。読書 (紙の本!) が一段落したらしい。男Cが話しかけた。
男C「女Cさんってよく本を読んでるよね。どんなの読んでるの?」
女Cは手の甲の電話を操作しながら答えた。
女C「うん…恋愛もの、かな。いろんな時代の。恋愛もの。」
音声合成ですかさず、
女C'「おまえらがエロ動画見るのと同じだ、マスかき野郎。」
男C「じゃあ教えてほしいな。どんな男がモテるの、そういった本では。」
女C「恋愛対象だけじゃなく…いろんな女の人と仲良くできる人、かな。いろんな。仕事仲間とか、近所のおばさんとか。」
女C'「モテると設定された奴は、生まれたときからヤりまくりだ。キモい童貞は最初から最後まで童貞だ。ホント地獄だぜ、ハハハ!」
男C「そうか。簡単じゃないね。いろんな女の人と仲良く、か。」
女C「やっぱり…男の人が自分だけを狙ってくるのって、怖いと思う。でも、その男の人が、私だけじゃなく、他の女の人にも同じように接する人なら、あんまり怖くない。」
女C'「女ったらしのヤリチンが 私だけを大切にしてくれる、ってのが重要なんだ。おまえら豚には無理だろうけどな!」

 

## 部室。

 

女2「いよいよ次は夏の大会だね! みんな、夏休み中の連絡するから、アドレス教えてね。」
俺たち1年生は電話でロボット部の共有アドレス帳を開き、自分のアドレスを書き込んだ。
俺「大会ですか。よく知らないんで、説明してもらえますか。」
女2「いいよー、じゃあ部長。」
男E「わーったよ。」

 

この夏の大会とは、とあるロボットカーコンテストのことだ。
8月下旬に行われるのは神奈川予選で、これを突破すると11月の決勝大会に出場できる。しかしこの数年間、ナカ高ロボット部が予選を突破したことはない。
ルールは部員勧誘で見たものとほぼ同じ。ロボカーを 5台使ってレースをする。コースはレースの直前に乱数で決める。障害物も乱数で配置する。2分間の周回数の合計で勝敗が決まる。
他にいろいろ細かいルールがある。例えば、衝突を検出し緊急停止するための規定回路をマイコンに書き込んでおく、など。

 

男E「文化祭であれだけ動かせたんだ、1年生も十分な戦力になるだろう。」
女D「5台、プログラムは個体ごとに変えるんですか?」
男E「今回は、全部同じで行く。ひとつのプログラムを全員で役割分担して書く。」
それで俺はちょっと不安になった。
俺「すいません、俺、文化祭でけっこう機械要素を改造しちゃったんですが。同じプログラムで大丈夫ですかね。」
男F「ある程度の個体差は、どっちにしても補正してるよ。レギュレーションが通るなら、たぶん大丈夫。」
女2「まあ、大会で使うのは5台だから、1台は予備機として残るんだけどね。だから男1くんの個体は予備機にしようか。で、トラブルを起こした機体のかわりに投入したら、奇跡の大逆転なんて展開、熱いよね。」
女2さんのおかげで安心した。

 

男E「今回 男G・男Dは、初期の設計と、大会直前のデバッグしか参加できない。」
俺「え、大丈夫かな。なんでまた。」
そういえばパソコン部の2人は、今日もロボット部に来ていない。
男F「パソコン部にも「夏の大会」があるんだよ、8月中旬、有明で。漫研と合同だってさ。」
女2「大丈夫だよ。画面越しに通話できるから。」
俺「そっすね、なんとかするしかない。」
女D「人員配置は? 担当は?」
男E「男Gの提案なんだけど、ペアプログラミングをやる。1年と2~3年でいろんなペアを組む。そうして技術を受け継ぐ。だから1年は、担当という感じはなくて、2人でシステム全体を眺めることになる。大変かもしれないが、まあ、頑張ってくれ。」
男F「ソースコードのほとんどは去年の再利用だから、2~3年はだいたい担当範囲が決まってるけどね。」
女2「って考えてたんだけど、他になんかいいアイデアある? この部分を任せろ、みたいな希望とか。ペアプロじゃなくて他の方法がいいとか。」
女D「別に…これでいいと思います。」
女2「男1くんはどう?」
俺「はい、いいと思います。」
楽しみだ。女2さんとペアプログラミングできるなんて。

 

## 2070年 6月下旬。部室。
## エアコンがないので少し蒸し暑い。扇風機が湿った空気をかき回している。

 

女2さんが俺のすぐ隣に座っている。
どうしても女2さんに視線が向いてしまう。開いた襟元、白い肌と鎖骨。つやのある唇。ちょっと角ばった耳。耳にかかる髪の毛。
女2「画像認識には32コアを割り当ててるのね。それでも前後左右のカメラから入った画像をそのままの解像度で処理するとちょっと重いから、適当に画素を間引いて使ってます。」
俺「そうか、あの ScaleCcdImage はそういう意図だったのか。」
女2「えらいね、予習してたんだ。なら話が早い。じゃあ画像データを画像認識ライブラリに渡す部分はどこかわかる?」
俺「えーと…cam_to_ai.rbにそれっぽいのが…」
俺はファイルを開く。
女2「そう、そこで画像DBとの一致度を受け取って、AI系に渡してる。obstacle.SetOrientation で検索して。」
俺「これだね。ここで渡してる引数はどこから来てるかってーと…なるほど、画像DBが返してくるんだ。」
女2「ちょっと def OnExecute を見て。その下のほう。」
俺「あった。」
女2「何やってるか、感じは掴めるかな?」
俺「んーと…自分の位置と速度、路面の状態をあれこれ計算して…これは前回からの経過時間?…それに何か係数をかけて、その時間以内に…衝突しそうなら、メインにシグナルを投げる。」
女2「そう、これが衝突回避。このメソッドが16.7ミリ秒間隔で呼ばれてる。」
ソースコードにしばらく潜って、息継ぎして画面から目を離す。そこに女2さんの顔がある。見ると元気になる。そしてまた潜る。

 

横浜駅。改札を通り、ホームで電車を待つ。
学校を出たときからずっと、男Eさんのレクチャーが続いている。
男E「…でコースを決めるんだ。単純な最短ルートは、巡回セールスマン問題だから簡単に近似解が求まる。けどそのルートは、旋回性能や加減速性能を考慮に入れてないから、曲がりきれないなどの問題がある。」
放送「…線で発生した超電導破れの影響で、ダイヤが乱れております。」
電車が来た。乗る。
男E「だから、レース中もずっと、16コア使って物理シミュレーションしてるんだ。仮想的に走ってみてタイムがよかったルートを実際に採用してロボカーが走る。」
俺「ああ…だからか…レース中も路面のデータを集めて、何に使うのかと思ってました。そうか…シミュレーションに食わせてたんだ。」
女2「あらら、だいぶ疲れたみたいだね。ちょっと詰め込みすぎたかな。」
俺「ん、大丈夫…っす。」
男E「おっと、すまん。引退が近いことを意識すると、焦っちゃうね。」
女2「なに言ってんの。予選突破したら11月まで活動するんだよ?」
男E「そうだな、そしたら勉強なんてクソくらえだ。」

 

電車が駅について、男Eさんが降りる。
男E「じゃあな。」
ここから、たった一駅の区間だが、俺と女2さんの二人だけになる。この時間は俺にとって特別だ。
俺「女2さんって…」
彼氏いますか。…気になるが、やはり聞けない。
女2「ん?」
俺「来年は部長になるんでしょ?」
女2「まあ、そうなるよね。私にできるかな。ちょっと心配。」
俺「できるっしょ。俺も女Dさんも手伝うから。」
女2「うん、ありがとね。(…が居てくれれば…) じゃ、また明日ね。」
女2さんが手を振って、電車を降りていく。振り返った髪から、かすかに花のような香りがした。
本当はあと数秒、一緒にいたい。

 

## 2070年 7月上旬。外は強い日差し。セミが鳴き始めた。
## ロボット部の活動場所となっている教室。

 

教室にはエアコンがあり、部室にはない。だから今日のように暑い日は教室で活動する。
今日は久々に男Gさんと男Dがロボット部に来て、システム全体の概要設計を説明した。
正常進化を目指す。路面の凹凸に動じない安定した制御。より深く他車の動きを予測する衝突回避。
開発工程の計画も話し合った。シミュレーション環境でプログラムを開発し、実際に走らせてテストし、得られたデータをシミュレーションにフィードバックする。これを何度か繰り返す。電子教科書でカレンダーを開き、夏休み中の予定を確認した。

 

## 2070年 7月下旬。夏休みに入った。セミの大合唱。

 

教室に機材を運んで活動する。
部室から教室まで、箱を抱えて何度か往復する。ロボカー、電子教科書、キーボード。電池、充電器、センサやモータ、歯車やタイヤ。
そこで俺は、朝早く学校に来て、工作することにした。空き教室の机を借り、脚にキャスターを取り付ける。足掛けに板を渡す。もうひとつ机を借りて、机の上に机を乗せる。ガムテープでくっつけて完成。移動が楽な 3段重ねの棚だ。これで運搬を省力化できる。
廊下から鈴のような声。女2さんと女Dさんだ。話に花が咲く、とは良く言ったもので、女2さんの声を聞いて 俺の脳内にも花が咲く。ドアが開き、女2さんと女Dさんが手をつないで登場した。
女2さんは棚を見て、
女2「おおっ、こりゃいったい?」
俺「あ、おはよっす。これなら一発で荷物運べると思って。」
女2「いいね、便利そう。さすが職人!」
女2さんが俺の肩に手をかけた。女2さんの汗ばんだ首筋に、ひとすじの髪の毛が貼り付いていた。ラクトアイスのような香りがした。

 

教室の机を片付けて広場を作る。床にいくつかチェックポイントのシールを貼る。
女2「テストコース、これで合ってる? そっちから見える?」
教壇に立てた電子教科書の中から、男Gさんが答える。
男G「大丈夫、こっちでも平面図 見てる。OK、合ってる。」
走行テストを始める。ロボカーがモータを唸らせて走り回り、各種センサでデータを収集している。
男Fさんの服には電動ファンが内蔵されていて、服の中に風を送る。けっこう涼しいらしい。
男F「レース中もシミュレーションを走らせてるのは知ってる? 良さそうなルートが見つかったら、実際に走ってみる。タイムが縮まったらそのルートを採用する。」
俺「それってレースの最初から最後まで回し続けてるんでしたっけ?」
男F「そうだよ。」
俺「ん…何か引っかかる…」
電子教科書の画面に男Dが顔を出した。
男D「レースの後半では、シミュレーションに割り当てるコア数を減らしたらいいんじゃない? いっそ、ある程度収束したら打ち切っちゃうとか。」
俺「それだ!」
男F「どうかねぇ。効果あるかな。余ったコアはどんな機能に回す?」
男D「衝突回避ですかね。探索範囲を広めると、いくらコアがあっても足りないくらいだし。」

 

帰りの電車。今日は男Eさんがいないので、ずっと女2さんと俺のふたりで話す。チャンスだと思ったが、踏み込めない。学校の先生の話などをした。
俺「女2さんは…」
もしや「彼女」がいるんですか。…それはそれで見てみたいけど。
そんなことは聞けないから、
俺「夏と冬だったら、どっちが得意?」
女2「どっちだろうねー。今は暑いから冬のほうがいいって思うけど、冬になったらなったで夏のほうがいいって思うかもね。」
俺「はは、確かに。」

 

## 2070年 8月中旬。

 

部室のドアを開ける直前、女2さんは何かに気づいたようだ。眉間に皺がよっている。
女2「ちょっと先に謝っとく。今から大声出す。驚かせてごめん。」
俺「はい?」
ドアを蹴り開けると同時に、女2さんが叫んだ。
女2「男Hさんッ! 部室でパイプはダメって言ったでしょッ!!」
ドアが開くと、甘ったるくて焦げたような匂いが広がった。
部室には2人。男Eさんと見知らぬ男がいて、驚いて身をすくめていた。
男の年齢は大学生くらいだろうか。制服ではなく、Tシャツにジーンズという格好だ。
男「すまん…忘れてた…」
男は口元に持っていた謎の器具…トウモロコシの芯のような模様がある…を引っくり返し、机の上に置かれた小さな容器に内容物を落とした。内容物は黒焦げの炭のようだ。甘い匂いはこれが原因らしい。
男Eさんは部室のガラクタの山から扇風機を掘り出した。そして部室の窓を開け、匂いを外に追い出すように扇風機を設置した。
女2「部長もちゃんと止めてよー、こないだ大変だったでしょ!」
男E「うむ、うっかりしてた。つい話に夢中でな。」

 

暑いので部室から教室に移動した。
男「まあ機嫌直してよ。ほら差し入れ。アイス。」
男は保冷バッグを持ち上げた。
女2「やった! いただきます。えーと、男1くん、この人は男Hさん、ロボット部のOB。」
男H「よろしく。よかった、1年生入ったんだ。」
男Hは女2さんにアイスを選ばせてから、自分は保冷バッグから缶ビールを取り出し、プシュっと開けた。
男H「よしよし、めでたい。」
女2「まったくもう。パイプよりマシだけどさー。」
男E「ダメな大人が、酔っ払って女子高生に絡んでるの図。」
男H「絡まれてるのは俺の方だろ。で、新入りくんはビール? アイス?」
俺はアイスをもらった。
そのあとみんながアイスを食べながら話たことを統合すると次のようになる。
男Hさんは男Eさんの2つ年上の先輩で、今は大学生。大学では無人航空機を作っている。災害救助や環境測定を想定したロボット飛行機だ。今日は盆の帰省ついでにロボット部の様子を見にきた。差し入れとプレゼントを持ってきた。大会は見にいけないが実況中継は見るつもり。小規模文化部だから OBが顔を出すのはよくあること。
男H「…のAIにドッグファイトを仕込んでるのさ。」
男E「なんでそんなことを? 空撮用の飛行機でしょう?」
男H「カラスやトンビに襲われるから。っていうのが表向きの理由。でも本当はオレ、自衛隊のパイロットに勝てるような無人戦闘機を作りたいんだ。そうすりゃ南極の穴から機械生命が攻めてきても安心してチキンブロスを食ってられるさ。」

 

## 2070年8月下旬。教室。
夏休みが終わった。といっても、夏休みのほとんどは部活に出てきていたので、夏休みボケという感じはしない。
教室の同級生は、日焼けしてたり外見が派手になってたりして、俺はちょっとした浦島太郎気分になった。

 

## 部室。
女2「いよいよ今度の日曜が大会だよ! 普通だと学校から みなとみらいに行くバスはないから、注文しないとね。みんな、組織票 入れるよ。」
全員で電話を操作して、市営バスのページを開く。そこでパシフィコ行きのバスを予約した。
## オンデマンドバス。利用者の人数と制約条件によって、動的に運行ルートが決められる。

 

## 2070年 8月31日 (日)。晴れときどき曇り。
朝から蒸し暑い。日曜日の学校。
いつもより早く部室に集合した。みんな揃っている…男Gさん以外は。
女2「男Gさんログで、いま起きた、現地直行するって。」
男E「しゃーねーなー。オレたちだけで荷物運ぶべ。」
機材をリュックや手提げ袋に詰め込む。ロボカーは雑巾に包んで破損を避ける。
ここはいいとこ見せなくちゃ。俺は積極的に重い荷物を担当する。他の男子も同様。その結果、女子2人はそれぞれロボカー 1台を持つだけで済むことになった。
女2「なんか悪いね。」

 

学校から少し歩いたバス停。注文の時間に無人運転バスが来た。乗り込む。車内は涼しい。
まだ朝早いので、バスは空いていた。椅子に座る。
俺「そういや、荷物を床に置いちゃって大丈夫かな。床下給電だし。」
電動バスは路面に埋め込まれたアンテナから電力を供給される。床に電子機器を置いたら変な起電力が発生して、部品が壊れるかと思ったのだ。
男F「いや、そりゃ平気っしょ。車椅子や義足の人が大丈夫なら。」
バスは静かにモータを唸らせて走り出した。

 

バスを降りる。瞬時に8月の熱気と海の匂いが体を包む。
みなとみらい、パシフィコ横浜。大きな展示場だ。目の前に港があり、港にかかるベイブリッジや海上を行き交う船が見える。展示場と海の間には公園がある。
男F「おー、こりゃ旅行のパンフにあるような東京・横浜だ。」
男E「うむ、県外の人が想像するような、東京・横浜だな。」
隅のほうにある会議室がロボカー大会の会場だ。

 

学校の体育館よりも広いくらいの会議室。壁や天井には協賛企業のポスターが掲示されている。会場にはすでに200人くらいが集まって、テーブルや床で機材を広げている。
女2さんが手首の電話を見て言った。
女2「あ、男Gさん、いま桜木町だって。じゃあ10分ちょっとかな。ここで待とう。」
男E「じゃあオレは、受付してくる。」
しばらく入り口付近で立ち話。あれがキタ高。あのへんは大学の部、あっちは社会人の部。
やがて男Gさんが来た。汗だくだ。電子教科書で首元をあおいでいる。
男G「おーす。今日もあっついな。」
3年の男E・男F・男G、2年の女2、1年の女D・俺・男D。この7人。
女2「これで全員揃ったね。部長、なんか気合入れる一言!」
男E「えっ、そこでオレかよ。…よし。」
円陣を組んで、
全員「センパーファイ! ドゥー・オア・ダイ! ガンホー! ガンホー!」
気合を入れて会場へ。

 

対戦相手のくじ引き。男Eさんも緊張している。
サプライズルールの発表。チェックポイントのうち2ヶ所が、でこぼこの床で囲まれる、というものだった。
会場にどよめきが走る。安定性要求が厳しくなるってことだ。

 

一回戦の対戦相手は、小田原の学校。このチームはなんと、プログラムではなく人間がロボカーを遠隔操縦する。そのために5人の精鋭ゲーマーを集めてきた。
俺「そんなのアリなのかよ…」
女2「自律制御しなきゃダメってルールはないからね。」
男F「あはは! こういうセンス、僕は好きだな!」
ハンドル&ペダル型コントローラを5人分持ち込んでいる。さらにスピーカーも用意して重低音を響かせている。昔のガソリンエンジンの音を再現しているらしい。
壁に表示された資料によると、ハンドルへの触覚フィードバック、カメラの画像にフィルタをかけてスケール感を出すなど、単なるネタ集団ではないようだ。
両チーム、試走を済ませた。
男Eさんは笑いをこらえながら、相手チームの代表と握手した。
20面体のサイコロを何度か投げて、コースが決まる。サイコロが示した位置に、チェックポイントや障害物を配置する。
その直後、電子教科書を開き、画面にタッチして座標を入力する。そして準備時間ギリギリまでシミュレーションを実行する。
バトル開始。ただでさえエンジン音の効果音がうるさいのに、向こうの部員の声もやかましい。
相手「アドレナリンどっぱどぱだぜ!」
相手「アウトオブ眼中!」
しかし一分もたたないうちに、相手の一台が障害物に衝突した。その車はブザーを鳴らして強制停止し、失格となる。
相手「板金7万円コースか…」
こっちのロボカーの一台が、その車と障害物の間に入り込む恰好になり、急ブレーキで停止し、動かなくなった。AIが混乱したようだ。
男E「リセット! 手動でバック!」
男D「了解!」
男Dは慎重に遠隔操作し、ロボカーを開けた場所に移動させた。そしてプログラムを再起動する。ロボカーは再び走り始めた。
一瞬ひやりとしたが、結局、大差をつけてナカ高ロボット部が勝利した。
女2「やったね! まず一勝!」
女2さんが手を挙げて、みんなと次々にハイファイブした。俺も手を挙げて、女2さんの手と打ち合わせる。女2さんの手はしっとりとして涼しかった。

 

二回戦。厚木の高校との試合。今度はまともなロボカーが相手だ。4台は普通のロボカーだが、1台はやけに車高が高い。ロボカーの上に塔を立て、そこにカメラを配置している。
俺「あれじゃ重心が高くてコーナリングできないんじゃ…」
男E「あの1台を犠牲にして、高い視点からの情報を他の4台に配信するんだとさ。面白い作戦だ。」
試合は接戦だった。しかし、ナカ高が僅差で勝利。
女2「やったー! 次は準決勝!」
女2さんは飛び跳ねて、俺に抱き付いた ! 温かくて…柔らかい。鼻からドーパミンが漏れるくらい心地よかった。

 

三回戦。相手は川崎市の私立高校で、キタ高と並ぶ強豪だ。
壁の資料によると、マイコンのハードウェアを書き換えて通信機能を強化しているらしい。外部のサーバを利用し、走行ルート決定に大量の処理能力を投入している。
男G「これまでの連中の周回数を見ると…圧倒的に負けてるな。」
男E「何か手はないか…!?」
女2「一発逆転狙いで、男1くんの魔改造カーを投入してみる?」
俺は教科書を開き、教室でのテスト走行のデータを眺めた。
俺「…いや。あんまり良い成績じゃない。」
1~2回戦と同じ車両でスタート。
最初は互角だったが、時間が経つにつれて相手のコース取りが着実に進化していった。
完敗した。

 

決勝戦はこの私立高校とキタ高の対決で、キタ高の勝利だった。
夕方、解散。

 

まさかこの夜、女1からメッセージが来るなんて、思ってもみなかった。