01
安定化電源から伸ばしたケーブルを外して、俺は小さく息を吐いた。端末に表示された診断結果は予想通り。
「……こりゃダメだな」
電圧はほぼゼロ。充電端子から直接給電を試みても、微かな反応すらない。長期間放置された機体なら珍しいことではないが、バッテリーそのものが劣化しているのか、それとも内部の保護回路がロックされているのかは、分解してみなければ判断できない。
「どう? 交換すれば動く?」
作業台の端に肘をつき、ソラが期待を込めた目を向けてくる。
「バッテリーが原因ならな。まぁ、まずは中開けて直接確認しないと」
作業台の照明を調整する。俺は頭に引っかけていた作業用ゴーグルを下ろし、手元に意識を集中させた。
まずは外装を開ける。古い機体なだけあって、留め具の一部は規格が古く、工具を選ばなければ頭を潰してしまいそうだった。無理にこじ開ければまだ使える部品まで壊してしまう。俺は手持ちの工具から細いドライバーを選び、慎重にネジを外していく。
外装を取り外すと、内部には埃と細かな繊維くずが入り込んでいた。長い間、雨風にさらされていたのだろう。基板の隅には薄い腐食も見られる。駆動モーターの周辺にも汚れが溜まっていて、関節部の潤滑材も劣化しているようだった。これでは、動こうとしたところでまともに動けなかっただろう。
「うわ、結構汚れてるな」
「コレでお前から逃げようとしたんだろ?」
「うん、よく頑張ったんだなぁ」
しみじみとした様子でソラが呟いた。背中部分にある、ひびが入ったソーラーパネル。それでも、わずかな電力を供給するくらいはできていたのだろう。これがなければ長期間放置されていたこいつは、ソラに拾われる頃にはとっくに充電もできず、動けないガラクタと化していたはずだ。
「コイツが最後まで持ったのは奇跡だな」
少しだけパネルを撫で、俺は基板の状態を確かめながら端末に走らせた簡易スキャンの検査結果を記録していく。電源系統の配線は一部が傷み、接続端子にも劣化が見られた。駆動部の配線は切れていないものの、被覆が硬くなっている。
「バッテリーだけじゃないな。電源周りの配線も交換。端子も磨く。あとは……」
「直りそう?」
中身を見たのか、ソラがジャンク品の山からいくつかの部品を持って戻ってくる。修理はできなくても、俺がどうして欲しいか、何が必要なのか分かってる所に少し笑ってしまう。流石、ずっと一緒に生きてきた長い付き合いの相棒だ。
「直せるところはある。けど動くかどうかは別」
「毎回言うじゃん」
「そりゃな」
細いブラシで基板の埃を落としていく。腐食した部分は状態を確認しながら清掃し、導通が怪しい箇所を一つずつ調べる。傷んだ配線は取り外し、手持ちやソラが持ってきた部品から適合するものを探した。
「これ、使えるか?」
規格の違う端子や、用途の分からない小型部品。視界に表示される機体の規格を意識しながら、部品を選び、寸法と定格を確認する。
「……よし。これならいける」
交換用の配線を取り付け、端子を接続し直す。次にバッテリーだが、元の規格と完全に一致するものは手元にない。容量と出力を確認し、保護回路を含めて調整できる代替品を選んだ。
「純正じゃないけど、出力は足りる。容量も問題ない。あとは収まるかどうかだな」
「入らなかったら?」
「バッテリーケースを削る」
「そっか」
仮接続したバッテリーの数値を確認する。電圧は安定していて、短時間の負荷をかけても大きな変動はない。
そのまま本接続に移り配線を固定する。流石に代替品だからか、ケース内で余計な振動が起きないよう、緩衝材も必要な箇所に追加した。
「……こんなもんか」
「あとは組み立てだな!」
「ん」
外装を戻す前に内部の接続をもう一度確認した。配線の取り回し、端子の固定、バッテリーの収まり。もう一度簡易スキャンを走らせても問題がないことを確かめてから、外装を取り付ける。最後にネジを締め、機体を作業台の中央へ戻した。
「よし。充電してみる」
充電端子にケーブルを接続すると、端末に給電状況が表示され少しずつ数値が上がっていく。ソラは椅子から身を乗り出した。
「おお……!」
「まだ喜ぶなよ」
「分かってるって」
説得力など欠片もない、溢れんばかりの笑顔。小さくため息をついて、使用した工具や道具を片付けていく。
「なーな! 名前考えたんだけどさ」
「うん」
「犬型っぽいしポチとかどう? もしくはやっぱミミとか? 響可愛くない?」
「センスがねぇ」
「じゃあネオン! ほら、やっぱネオン街だし? どこいってもネオンじゃん!」
「それじゃあこの街のロボット、全部にネオンってつけるのか?」
「……つけないけどさぁ」
不満げに頬を膨らませながらドカリと音を立ててソラが椅子に座る。けれど大人しくなったのも束の間、すぐに目を輝かせて立ち上がった。
「レインはどう?」
「雨継通りからとった?」
「おう!」
自信満々で頷いて、どうだどうだと楽しそうな様子の笑顔。今度は雨継のロボット全部レインってつけるのか、と言いたかったけど。
「まあ、いいんじゃない?」
「へへっ! だろー?」
あんまりにも能天気に笑うものだから、結局何も言葉にはならなかった。少しばかりの諦めの気持ちを吐き出すように、ため息と共にゴーグルを頭上へと押し上げる。
ちらりと充電状態を確認すると、十分に溜まっていたためケーブルを外す。一度短く、電源を入れるためのスイッチを押した。
「……ん?」
しかし反応がなく、もう一度今度は少し長めに押す。すると機体の内部で、小さな駆動音が鳴った。
頭部にあるセンサーが淡く点灯する。短い起動音の後、機体の前面に小さな表示が浮かび上がった。
「おおお! 動いた!」
「そうだな」
「やっぱリクは凄いな!」
「……動作確認が、まだだから」
純粋な称賛の言葉はいつ聞いても少しばかりむず痒いもので。誤魔化すように端末に表示された起動状況を確認する。電源系統は正常。各部の応答も返ってきている。古い機体のため、いくつかの機能は停止したままだが、最低限の動作には問題がなさそうだった。
「基本動作を確認する。まずは頭部のセンサー。次に四肢の駆動。……右、左。前進、停止」
機体は指示に従い、ゆっくりと頭部を動かした。短い脚が小さく動き、ぎこちないながらも前へ進む。
「すごいな、ちゃんと動いてる!」
「今のところはな」
起動後の電力消費を確認し、駆動部に負荷をかけすぎないよう、動作テストを続ける。古い機体だ、無理に動かせば交換していない部品に負担がかかる。まずは簡単な動作だけを確認し、異常がなければ一度電源を落として、細部の調整を行うつもりだった。
「次、こっちに来てみな」
ソラが機体の正面にしゃがみ込む。
「おい、まだテスト中だぞ」
「分かってるって。ちょっと見てるだけ」
ソラが手を伸ばした——その瞬間、機体が跳ねるように動いた。
「え?」
ソラの指先が触れるより早く、小さな身体が横へ滑る。短い脚が床を蹴り、旧式の駆動機構では間に合わないはずのタイミングで、差し出された手を避けた。直後、甲高い電子音が鳴った。
「おい!」
慌てて端末に目を向ける。駆動部の負荷が一瞬で跳ね上がり、電流値が危険域を超えていた。
「マズい!」
端末から緊急停止信号を送った。しかし、応答が返ってくる前に機体の内部で火花が散った。
バチッ、と乾いた音。表示が一斉に消え、機体はその場に崩れるように倒れた。
「うわっ!」
ソラが手を引く。焦げた臭いが作業台の周囲に広がった。
端末を操作してすぐに電源系統を遮断した。念のため、外部電源との接続がないことも確認する。
「ソラ、少し下がって。熱が残ってるかもしれない」
「分かった」
ゴーグルを下ろして機体を覗き込んだ。簡易スキャンを走らせれば、思わず眉間にシワが寄っていく。
「駆動系の過負荷。制御基板にも異常が出てる。電源系統は……」
「さっきの、何だったんだ?」
「分からない。とにかく、まずは原因を確認しないと」
外装を開けるための工具を手に取ると、ソラも反対側へ回り込み倒れた機体を支える。熱の残る箇所を避けながら、二人で慎重に作業台へ戻した。
「バッテリーの接続は?」
「外れてない。電圧も遮断前までは安定してた」
「じゃあ、さっきの動きで一気に負荷がかかったのかな?」
「その可能性はある。……駆動部の応答が異常に速かった」
外装を外し内部の状態を確認する。幸い先ほど交換した配線に焦げや断線はない。端子の固定も問題なかった。バッテリーの保護回路も正常に働いている。
「……こっちは問題ない」
「じゃあ、直したところが原因じゃない?」
「少なくとも、単純な接続ミスじゃなさそうだ」
次は損傷した基板の周辺を調べる。駆動系統に過剰な電流が流れた痕跡はあるが、何がそれを引き起こしたのかは分からない。
ソラは先ほどの動きを思い返すように機体を見つめていた。
「俺が手を伸ばしたら、避けたんだよな」
「……だな」
「でも、あんな動きできる機体じゃないだろ?」
「普通なら無理だ」
検索した機体の仕様情報を端末に表示させ、ソラと一緒にのぞき込む。この機体の駆動部は古い。小さなモーターと簡素な関節機構で、滑らかな動作をするような設計ではない。修理前の状態を考えても、あれほど素早く、しかも正確に人の手を避ける動きができるとは思えなかった。
「何かの誤作動かな?」
「誤作動にしても説明がつかない。あの速度で動けば駆動部が先に壊れる」
端末から視線を焦げた基板へと戻す。交換した部品に問題があったのなら、もっと早い段階で異常が出ていたはずだ。基本動作のテストでは正常に動いていた。あの瞬間だけ何かが違った。
「リク」
「何」
「レイン、もう一回動かせる?」
「今は無理。基板が焼けてる。それに原因が分からないまま電源を入れたら、今度は全部壊れるかもしれない」
「そっか……」
端末に記録された診断データを確認した。異常が発生した瞬間の数値は残っている。交換した部品にも問題はない。基本動作のテストも正常だった。異常が起きたのは、ソラの手を避けたあの瞬間だけだ。
「……AI」
「リク?」
ペットロボットには、動作や反応を個体ごとに最適化する学習型AIが搭載されているモデルもある。人の手を避けるような動き自体は、その機能で説明できなくもない。けれど、あの動きは普通じゃなかった。まるで駆動部の性能を無視したような反応速度だ。
「……いや、待てよ」
俺は標準搭載されているAIの仕様を調べた。標準搭載のAIが原因なら、メーカー側で何らかの対応があってもおかしくない。けれど回収や修正プログラムの情報を調べてみても、それらしい記事は見つからなかった。
「なら、中身が違うのか……?」
「リク?」
考えを巡らせていると肩をがしりと掴まれた。強制的にソラと視界が合う。
「リクッ! ……たっく、考え込むのは悪い癖だな!」
「俺が修理したんだ。このままは気持ち悪いだろ」
ゴーグルを額へ押し上げ、端末の記録を保存する。知らずのうちに入っていた力を抜くように首を回すと、首の関節が小さく鳴った。
「流石に中身のチェックしないとな」
「それ、リクは危なくない? そりゃ動いてるレインには会いたいけどさ。リクが危ない方がずっとヤダ」
「……分かってるよ」
ソラの言葉に短く返し、俺は作業台へと向き直った。
改めて診断用ケーブルを取り出し、レインの基板にある整備用ポートへ接続する。反対側を端末に繋ぎ、内部データを読み込ませた。最初に表示されたのは、先ほどまで確認していた基本診断の一覧だ。
さっと目を通して結果が変わらないことを確認すると、俺はその中からメモリの項目を選択して詳細情報を開く。
「……おかしいな」
「何が?」
「この機体、メモリの使い方が変だ」
基本的な制御プログラムは確認できる。センサーの管理、駆動部の制御、音声認識。ペットロボットとして必要な機能は一通り揃っている。だが、メモリの使用状況と実際に確認できるプログラムの容量が噛み合わない。
空き領域として表示されているはずの場所に、かなり大きな何かが残っている。
「隠しデータってこと?」
「そうかもしれない。……けど、普通の隠しファイルとは違うな」
俺は診断プログラムを一度停止し、今度は端末を操作して手動でメモリ領域を確認する。しかし、通常のアクセス権限では読み出せない領域があった。古い機体の規格に合わせた簡易的な保護機能かとも思ったが、どうもそれだけではなさそうだ。
アクセス要求を送る。……応答なし。
もう一度別の経路から要求を送る。今度は短い応答が返ってきたものの、データの整合性が取れない。読み出した情報が途中で途切れ、解析プログラムが処理を中断する。
「……何だこれ」
「リクでも分かんない?」
「ソラは俺を過信しすぎ。……悔しいけど。少なくとも、俺が知ってる規格じゃない」
端末に表示されたデータを見つめる。機体の制御系統に使われている旧式の規格とは明らかに違う。かといって、現在の一般的なペットロボットに搭載されるものとも一致しない。
まるで、別の機器で使われていたプログラムを無理やり押し込んだような構造だ。
俺は機体の仕様情報を呼び出し、搭載されているはずの標準プログラムと照合した。基本的な構成は一致している。だが読み出せない領域については、標準仕様に該当するものがなかった。
「だったら、別のAIが入ってるってこと?」
「可能性はある。……でも、どうやって?」
ペットロボットに搭載されるAIは、基本的に機体の性能に合わせて設計されている。限られたメモリと処理能力で動くように調整されているはずだ。ところがこの機体の内部にあるものは、明らかにその前提から外れているように見える。
「……くっそ」
試しに読み出せた範囲だけで処理負荷を計算してみる。読み出せたデータから推定される処理要求は、機体の搭載基板が想定する範囲を大きく超えていた。
「……嘘だろ」
「リク?」
「この機体の基板じゃ、まともに動かせるはずがない」
つまり先ほどの異常な動きも説明がつくかもしれない。内部の処理が機体の制御能力を超え、駆動部に過剰な指示を出した。古いモーターと関節機構がそれに追いつこうとして、結果として過負荷を起こした。
ただし、これはあくまで仮説だ。今ある情報だけでは断定できない。
「中身をもう少し詳しく調べたいけど……」
俺は端末から視線を外し、作業台の上に横たわる機体を見た。
解析を続けるにはもっと性能の高い読み取り機器が必要だ。今の設備では、これ以上深い領域にアクセスするのは難しい。無理に進めれば残っているデータまで壊しかねない。
それに、仮に中身の正体が分かったとしても、今の部品構成ではまともに動かせないだろう。
「部品が足りない。解析用の機材も、駆動系も。今のままじゃこいつの中身に合わせた修理ができない」
「じゃあ、行くしかないな」
「期待しすぎるなよ。使える部品があるかどうかは別だ」
「お前俺のことなんだと思ってるんだよ。じゃあちょっと準備してくるな」
ソラは少し不満げに呟きながら、事務所の外へと出ていく。
これから向かうのは七番横丁。第四生活区画の中でも、とりわけ非公式な取引が盛んな場所だ。あそこでは、基本的に何を売ろうが買おうが自由だ。値段も売り手と買い手の交渉次第。相場なんてものはあってないようなもので、同じ品物でも相手によって値段が変わることも珍しくない。……もっとも、値段まで良心的とは限らないが。金さえ払えば望むものが手に入る。裏を返せば、払えない人間には何も手に入らないということでもある。
俺は端末に解析データを保存し、機体の接続を切った。そのまま端末に必要な部品を書き出していく。
「……また行ったって知られたら、ばーちゃんに怒られるかもなぁ」
俺たち二人を育ててくれたばーちゃんは、危険なことに首を突っ込んで欲しくないらしく。表の奴らにすら目をつけられているという七番横丁に関わることを好ましく思っていなかった。……けれど。
「リクー! まだー!?」
「今行く! ……まずはお前が動くことから先だよな」
外から聞こえるソラの声に、後で二人揃って仲良く怒られればいい。そう考えて、俺は思考を切り替えた。作業台の上に横たわる機体——もといレインの頭を撫でてから、俺も事務所を後にした。




