既にTVニュース等で報道されているように,川田工業(ロボットハードウエア担当)・産総研(ロボットソフトウエア担当)・川崎重工(コックピット担当)は,ヒューマノイド「HRP-3P」を開発し,デモを公開した.
ヒューマノイド「HRP-3P」の主な特徴は…
- 自律・遠隔ハイブリッド型(遠隔操縦者が必要,ガンダムRX-78的)
- 身長160cm、体重65kg(バッテリ含む)
- メインCPU:Intel Pentium 4 2GHz
- OS:ART-LINUX(リアルタイムOS)
- カメラ:制御・距離認識用3台,遠隔操作用2台
- 防塵・防滴レベル:IP 52(IEC規格,1時間100mmの雨の中を稼働可能)
- 滑りやすい路面での歩行が可能(スリップ検出)
- 片腕で体重を支えながら,もう片方の腕で作業可能
といったところだ.「ガンダム的」と書いたが,RX-78のような「教育型機体管制コンピュータ」は,今のところ搭載されていないようだ.ただし,コックピットからおおまかな指示を与えれば,細かな動作はヒューマノイド側が自律的に行うところは,ガンダム的と言えるだろう.画像を見てもらうとわかると思うが,胸の排気口といい,頭部中央のトサカ状のカメラといい,制作者側がガンダムRX-78を意識している可能性もある.ちなみにRX-78では,両目(デュアルセンサー)が射撃用で,トサカ・カメラがメインカメラ(操縦用?)となっているようだ.
通常,ヒューマノイドには多数のセンサーが内蔵されている.ヒューマノイドの姿勢制御用などに用いられるのコントローラは,これらセンサーを常時監視し,アクチュエータを適切に素早くコントロールしなければならない.そのためには,生物の神経のように,素早く情報を伝達する信号線で,センサー・コントローラ・アクチュエータを結線する必要がある.
この信号線による通信の速度は重要だ.通信速度が遅ければ,ヒューマノイドが,刻々と変化する現実世界の状況に対応することは,まず不可能だろう.ご存じの通り,生物ですら,この通信速度を気にしており,進化の過程において,神経をミエリン鞘で被い(有髄神経化),ランビエ絞輪による跳躍伝導によって,通信速度を向上させている.ヒューマノイドの信号線は,電線もしくは光ファイバーが一般的なので,ノイズや減衰がなければ,ほぼ光速に近い速度で情報を伝達できるはずだ.
しかしながら,これはあくまでも物理層的速度の話.通常,信号線を流れる情報は,何らかのエンコード処理がなされて送信され,受信側ではデコード処理を行わなければならない.これらの処理のためには,ある程度の時間がかかる.従って,このエンコード・デコード処理(データリンク層)如何によっては,例え光ファイバーを信号線として使用していても,生物の神経より情報伝達速度が遅くなる可能性はある.
またヒューマノイドの場合,この「神経」に,生物にはない特別な機能を持たせるべきかもしれない.ガンダムでいえば,地上戦闘中にビームライフルを投げ捨て,ハイパーバズーカに持ち替えた後,全弾打ち尽くしたハイパーバズーカを捨てて,地面に落ちているビームライフルを見つけて再び拾った場合,ガンダムは拾った武器がビームライフルであることを認識し,拾ったと同時に,火器管制システムをビームライフル用に切り替えなければならない(注:ガンダムの視覚認識能力は考慮していない).おそらく,これら火器の内部には,制御用コンピュータが内蔵され,ある程度の自律性や自己制御能力は持っているはずだ.ガンダムは,拾ったビームライフル内部のコンピュータと接続し,先ほど切断された通信を,瞬時に再開しなければならないわけだ.このような状況は,社内LANに現れたり消えたりする,営業社員のモバイルPCの状況に似ている.生物の場合,道具に神経を接続することはないが,ヒューマノイドの場合は,その方が都合がよいことが多いだろう.
ヒューマノイドでは,このようなシステム稼働中のパーツ交換・追加が想定される.また,各自律パーツ同士が直接通信を行う可能性をも考慮すると,ヒューマノイド体内通信を「パーツ集合によるLAN」として,形成するのが自然だろう.もちろん,この体内LANは,我々になじみのある一般的なLANではない.通信完了時間の限定される,リアルタイム性を持った「リアルタイムLAN」でなければならない.
「リアルタイムLAN」という言葉は聞き慣れないが,FA(ファクトリー・オートメーション)の世界では一般的で,既に製品化されている.代表的なものとしては
- ARCNET(Attached Resource Computer NETwork):改良トークン・パッシング,最大10Mbps,バス or スター or バス&スター,最大255ノード(1ネットワーク),最大延長距離=6.4km(1ネットワーク)
- DeviceNet:CSMA/NBA,最大0.5Mbps(100m),バス(幹線・支線),最大64ノード(1ネットワーク),最大距離=500m
がある.これらリアルタイムLANは,高価なハードウエア(LANアダプタ等)によって実現されているが,メディアについては,安価なツイストペアが使用出来るようだ.ヒューマノイド「HRP-3P」の体内通信においても,リアルタイムLANは採用されているが,この2つのどちらの規格も採用されなかった.採用されたのは,驚くべき事にEthernetだ!
ネットワークに関して知識のある者ならば,Ethernet(CSMA/CD)が,いかにリアルタイムLANに不向きか理解できるだろう.なぜならば,Ethernetの宿命としてフレームの「衝突」は避けられないからだ.これについては詳しく述べないが,Ethernet上の複数のPCが同時にデータ送信を開始した場合,その送信データが壊れてしまう場合がある.衝突が発生した場合,データ送信を行おうとしたPCは,それを検知し,それぞれのPCにランダムに設定された時間だけ待ち,その後,同じデータの再送信を行う.このため,この「衝突発生」→「検知」→「Jam送信」→「送信待機」→「再送信」のシーケンスが,かなりの短時間でない限り,リアルタイムLANをEthernetベースで実現することは難しい.しかもヒューマノイドが現実世界の状況に対応するため,この体内LANには,常時,データが流れていると仮定すべきであり,衝突の起きる頻度は,接続ノード数にもよるが,かなり高いと思われる.では,どのようにして産総研及びムービングアイはこの問題を解決したのか?
その答えは,あまりにもあっけないものだった.すなわち,Ethernetのトポロジとしてバス型を用いず,すべてをピア・トウ・ピア(1対1)で全二重接続し,衝突が発生しないようにしたのだ.確かに,この方法ならば,衝突は発生しないだろうが,問題は残る.単純に,ヒューマノイドのパーツ同士をピア・トウ・ピアで結線するならば,通信の可能性のあるすべてのパーツ間をツイストペアで結ばなければならばない.つまり1つのパーツから,何本ものツイストペアが他のパーツへ伸びている状態だ.これではヒューマノイドの内部は,ツイストペアで埋め尽くされてしまう上に,各パーツが数多くのEthernetアダプタを装備しなくてはならない.先ほど述べた「パーツの交換・追加」などのイベントも考え合わせれば,この方法が全く実用的ではないのは明らかだ.では,どのようにして産総研及びムービングアイはこの問題を解決したのか?
この疑問に対する回答は,産総研のプレスリリースには明確には書かれていない.ただプレスリリースや提示されたスライド画像から想像するに,パーツをデイジーチェーンで結び,要所によってはスイッチングHUBを用いるといったところだろう.これならば一つのパーツに付き,2つのLANアダプタを装備したパーツを,隣り同士で1対1結線するだけだ.もちろん,各パーツはブリッジの機能を持ち,時には,情報伝達のトランスペアレントな中継器としても利用されることになる.デイジーチェーン接続されたパーツが,情報を目的地のパーツまで,バケツリレーの要領で伝達していくわけだ.ヒューマノイドの体内LANトポロジは,その外形によって制限されるため,おそらく人間の神経配線のごとく,「人型」となる.そうなると,スイッチングHUBは,人間でいう神経叢の部分に配置されることになるかもしれない.
なるほど,これでほとんどの疑問は解けた…というわけにはいかない.なぜならば,ここまでの説明で,リアルタイムLANがEthernetで実現できるのであれば,我々が家庭で使用しているLANアダプタやスイッチングHUBで,リアルタイムLANが実現できてしまうことになる.もちろん上位層のTCP/IPは,リアルタイムLANには利用出来ないが…
実は,EthernetでリアルタイムLANを実現するに当たって,まだ説明していないコア技術がある.それは,「同期通信」だ.これを実現するために,送信側はリアルタイムOSのシステムコールを用いて,周期的なフレーム送信を行い,受信側もこれに同期した周期的フレーム受信を行う.ちなみにこの周期的受信を行うためには,デバイスドライバの関係があり,残念ながらLinuxカーネルの改造を行わなければならなかったようだ.この同期通信をデータリンク層に採用することによって,初めて通信完了時間の保証されたリアルタイムLANがEthernetで実現されたわけだ.これでもう疑問はないだろうって?いやいやそうはいかない.
まずデータリンク層から上のネットワーク層が気になる.上記のように,TCP/IPはリアルタイムLANには使用出来ない.プレスリリースでは,ネットワーク層として「中継・経路切替」という,なんとも取って付けたような名前の層がある.これは事実上,「リアルタイムTCP/IP(?)」を予感させるが,具体的な技術については,この資料からはうかがい知ることはできない.全く不明だ.また先ほど出てきた「リアルタイム・スイッチングHUB」や,パーツの持つブリッジ機能において,どのようなフローコントロールがなされているのかが,想像できない.余談だが,このリアルタイムにおいて,LANアダプタについては,一般的な安価なEthernetNICが使用出来るが,同期の問題があるので,市販のスイッチングHUBの流用できないはずだ.もっとも,「リアルタイム・スイッチングHUB」は,HRP-3Pに使用されていないかもしれないが…
ということで,いくつかの謎は残ったが,一般的なEthernetNICとツイストペアを,ソフトウエア技術でリアルタイムLANとして使用出来るようにした今回の研究は,素晴らしいと思う.HRP-3Pのように本格的なヒューマノイドはムリだが,このリアルタイムEthernetを用いれば,近い将来,PCを遠隔操縦コックピットとした,アニメと同じように動くRX-78の「ガンプラ」が,安価で販売できるかもしれない.そして同じく遠隔操縦の赤いザクと現実世界で勝負ともなれば,「ROBOCON」並みにウケるかも?
ただHRP-3Pのコックピットを見た感じでは,その操縦は,ニュータイプに目覚めたアムロですらも,かなり手こずるのかもしれないが…