内容要旨 | | 実世界で行動する知能ロボットのソフトウエアの研究を行うためには,大規模な知能ロボットのソフトウエアからボディを動かすためのシステムが必要である.このシステムは様々なロボットボディからタスクを実行するための機能と,AIやコンピュータサイエンスをはじめとするソフトウエア分野での研究成果を実際にロボットに適用できるための処理能力と,ロボットのハードウエアの変更やタスクの変更に応じてソフトウエアを成長させ,長期にわたって汎用性をもつ必要がある.大規模な知能ソフトウエアのためのプラットフォームに必要な要件としては,以下のような項目が重要であると考えた. 1.AI分野の直接的な応用が可能な大規模な計算能力,拡張性を持つ, 2.ロボットの行動を決定するトップレベルにおいて,実世界での事象に応じて行動できるリアクティビティを持つ, 3.ハードウエア(センサやアクチュエータ)を抽象化した低レベルインターフェースを持ち,同一のソフトウエアから種々のボディを制御できる. 4.知能ロボットのソフトウエア構成法を実証的に実験が行える柔軟性を持つ. 5.ソフトウエア開発(評価,改良,デバッグ)を容易にするために開発者とソフトウエアのインタラクションを密にする. はじめに上述の5)から,システムはハードウエアに強く依存するというロボットの特徴から,開発者の側にあるべきであるという思想の元にリモートブレインロボットのパラダイムに基づいたシステム構成を採用した.リモートブレインロボットとはロボットをブレイン部とボディ部に物理的に分離し,間を無線で結ぶというものである.これにより以下のような利点が得られる.(1)ボディ,ブレインのハードウエア,メカニズム,ソフトウエアを独立に開発することができる,(2)ボディにはセンサ,アクチュエータ,電源のみを搭載すればいいので,自由度が高く,設計/製作/故障の際の修理が容易なボディを実現できる,(3)視覚処理装置等のセンサー処理部をボディに搭載しなくていいので消費電力,サイズ,安全といった実際的制限を考慮することなく,必要な機材を使用することができる,(4)スーパーコンピュータ,超並列計算機といったその時代の最先端のハードウエアをロボットの知能の研究に直接用いることができる,(5)実環境での実験においてロボットの頭脳部が開発者側にあることから知能部のインスペクト,インタラクションが容易に行なえる. 次に上述の1),2)の要件を満たすために,トップレベルでプランニングのような高次の処理と,リアクティブな低次の処理を同時に行える環境を目的とし,システムを(i)ボディ部,(ii)センサ信号処理/アクチュエータ制御を行う実時間処理部,(iii)並列Lispによる行動決定部に分離することにより,実時間性と拡張性を重視した並列なセンサ処理と並列行動決定を行う階層型のシステムを提案し,4章以降で3),4)の要件を満たすように,各部の構成法とその間のインタフェースについて述べた. 実世界で行動するロボットの言語は,ロボットのセンサ処理や行動出力を抽象化し,タスクレベルで記述されたものを,実際に配置された種々のプロセッサのコードにして実行する必要がある.実世界で行動するロボットのソフトウエアは,実世界での事象に反応するためのリアクティビティと,上位の大規模な知能処理を行うための汎用性が欠かせない.このような実時間性と汎用性を同時に満足し,さまざまなボディを統一的に扱い実世界で様々な行動を行うために,リモートブレインアプローチにもとづいたシステムでは,システムの実時間処理を行うための並列処理言語と,知能処理を行うための上位の言語の双方が必要となる.そこで後述のようにシステムを知能処理を行う上部と実時間処理を行う下部の2つに分け,それぞれをEuslisp/MTとCにより記述する.提案するシステムの特徴を以下に示す. 1.リモートブレインアプローチにより開発者の側にロボットのソフトウエアをおいた柔軟なハードウエア構成 2.計算能力とリアクティビティを満たすための大規模知能処理部(上部)と並列実時間センサ・アクチュエータ処理部(下部)によるソフトウエア階層システム 3.同期性,省通信性,実時間性を満たす直接,バッファ,事象駆動方式による下部から上部へのセンサデータインターフェース 4.上部での様々な並列動作決定モデルに対応可能な並列プロセス間結合方式 5.拡張性と共有性のトレードオフを考慮した並列実時間画像処理システム 6.WSとネットワークを用いてマルチロボットの協調作業実験が可能なロボット環境 第2章ではこれまでのロボティクスの研究の流れについて,機械工学的なアプローチとコンピュータサイエンスによるアプローチ,環境に反応する知能のアプローチについてまとめ,これまでに製作されてきた主なロボットシステムの構成法とリモートブレインアプローチとの比較について述べた.また大規模なソフトウエアプラットフォームを実現する際に問題となる,システムの共有と拡張性のトレードオフの問題,実時間処理部の処理結果の非実時間部へのインターフェースの問題,について述べた. 第3章ではリモートプレインロボットアプローチによる知能ロボットのソフトウエアプラットフォームを提案した.次にソフトウエアプラットフォームに必要な上述の要件を満たすために,トップレベルでプランニングのような高次の処理と,リアクティブな低次の処理を同時に行える環境を目的とし,(i)ボディ部,(ii)信号処理/アクチュエータ制御を行う実時間処理部,(iii)並列Lispによる行動決定部に分離することにより,実時間性と拡張性を重視した並列なセンサ処理と並列行動決定を行う階層型のシステムを提案した.またリモートブレインアプローチによるロボットは,ボディとブレインの間のセンサ信号やアクチュエータ制御信号の伝達方式が問題になるが,この問題について分類を述べた. 第4章ではボディの構成法について述べた.リモートブレインアプローチにより,ロボットのボディにはアクチュエータ,センサ,電源と上部との通信の機能を持てばよい.従って(1)アクチュエータの構成法,と自由度の配置,および(2)センサの種類や配置と信号処理,(3)アクチュエータの制御信号,センサ信号のブレインとの通信,を設計すれば良いことになる.これらの問題に対して,ラジコンサーボモジュールとブラケットをセットにしたモジュール型設計法と,(b)3章で述べたボディとブレインの間の信号の伝達方式について,i)アナログデータを無線で送受信,ii)視覚データにセンサデータを統合することによる無線の結合方式,iii)プロセッサやプロセッサのネットワークを搭載して無線で結合する,という3種類のボディ上のデータの取り扱い方法について述べた.さらにa)の実現例として人間型ロボットHaruを例にモジュール構造を利用したボディの設計,評価例を述べ,b)の実現例としてii)の人間型ロボットIgoidを例にハードウエア回路によるセンサ信号の視覚データへのスーパーインポーズによる結合方法について述べた. 第5章ではブレインの実時間処理部の構成法に関して述べた.ブレイン実時間処理部ではボディ上から送られてくるセンサ信号をブレイン行動決定部の要求に応じて実時間処理し,その結果を逐次ブレイン行動決定部に伝達する必要がある.実時間処理部の要件を以下にまとめる. 1.ブレイン感覚部の機能はブレイン行動決定部から自由に制御でき,その結果を透過的に渡す.そのための自由度と実時間を兼ね備えたインターフェース, 2.ボディから送信されてくるセンサ信号を実時間で処理し,ブレインの行動決定部へ逐次伝達する.例えば画像はNTSC信号の33m secの周期で入ってくるので,その各フレームに対して必要な処理を行い,行動決定部へ伝達が可能である, 3.ブレイン行動決定部の出力を得て,実時間でボディ上のアクチュエータを制御する.例えばホビー用のラジコンパーツを無線の送受信として用いると,20m sec周期で行動決定部から入ってくる動作指令を直接送信可能, 4.ブレイン行動決定部の処理に時間を要する場合や,反射的行動のように極めて早い動作指令が必要な場合,ボディとの間で定められた周期でのセンサ信号処理から行動決定のクローズループを作成する必要がある場合には,感覚部で実時間にループを作成する機能, 5.一般的に実時間処理部はマイクロプロセッサのネットワークになると考えられることから,これらの間の並列処理のためのマネージャや資源管理,プロセッサ間の通信管理の機能, 6.新しい動作を開発するために新しいセンサ処理機能が必要なことがよくあるので,複数人数で同時に開発できる拡張性をもった機構, 7.センサ処理された結果はネットワーク上にいくつも分散して存在することからそれらを管理するマネージャ. 本章では実時間処理のためにトランスピュータのネットワークを用いて,ブレイン実時間処理部を実現した.ここでは始めに実時間処理部の要件を整理し,(c)2章で述べた共有性と拡張性のトレードオフの問題と,処理結果の実時間インターフェース問題について,トランスピュータのネットワークによる並列処理システムの設計と構成法を述べた.次に(d)ウインドウをベースにした実時間並列視覚処理システムの構成法,(e)トランスピュータルータの設計と実現,(f)相関演算プロセッサを持つトランスピュータ画像処理ボードによる画像処理,(g)i)ダイレクト型,ii)バッファ型,iii)イベントドリブン型の3種類のセンサ処理結果のインターフェース方法,(h)無線によるボディの制御,についてそれぞれ述べた.最後に4章で述べたボディ上のセンサデータの取得例として,画像にスーパインポーズされたセンサデータを読み込む例と,ボディに搭載されたプロセッサとの通信によるセンサデータの読み込み例について述べた. 第6章ではブレインの行動決定部の構成法に関して述べた.並列動作決定モデルによる脳のアーキテクチャを実際のボディを用いた実世界での実験を通して実証的に研究を行なっていくためには,実時間性が必要なセンサ処理,アクチュエータ制御と,非実時間の知能処理部分のインターフェースが重要な課題となる.そこで本章では行動決定プロセスレベルをWS上のEusLisp/MTで開発するシステムを実現した.行動決定部では,(i)WS上のEuslisp/MTによるトップレベルの実現と並列GCのEuslisp/MTへの導入,(j)FIFO,Newest,Block Newest,Interruptの4種類のプロセス間結合方式と,(k)ボディのソリッドモデルライブラリと環境モデルを用いた行動シミュレータ,(l)ビヘービアネットワークによる並列動作決定モデルの導入,について述べた.次にロボットのトップレベルソフトウエアの応用例として4足ロボットのシングルループの制御に基づく行動実験と,相撲ロボットの並列プロダクションモデルによる行動実験,ビヘービアネットワークによる人間型ロボットの適応的行動実験について述べた. 最後に第7章で実現したシステムの上で,単一のロボットの行動を抽象化し,マルチロボットの行動を記述するための環境として,(m)作成した車輪型,4脚,人間型のロボットボディについて述べ,(n)実世界での実験とシミュレータとどちらでも実験が行えるソフトウエア環境と,この環境を用いて実現した(o)集中管理方式と(p)分散管理方式の二つの観点から作成したシステムと実験について述べた.ロボットはリモートブレインロボットのアプローチにより作成したものを用い,これらの上で様々な行動をソフトウエアで記述して実際に実験を行い,システム構成法の比較を行った.これまでに作成した主なボディについて図1に示す. これらの実験を通して,作成したシステムは知能ロボットを開発するための汎用のインターフェースとして使用できることが示された. ここでは例として開発したシステムの機能を示すために人間型ロボットを用いて「ボールに向かって歩行し,ボールのところまで来たらそのボールを蹴る」行動の実験の例を示す.ロボットはスタートした後,ボールの方角に向かって歩行と方向修正を繰り返し,ボールに接近したら停止して脚を踏み変えてボールを蹴る.Behavior Unitのモジュールの構成は図2のようになる.図中の二重枠で囲われた部分(ボディの3次元ソリッドモデルライブラリ(Body Model Library),視覚機能ライブラリ(Vision Interface Library),行動インターフェースライブラリ(Action Interface Library))はBrain部のライブラリであり,これらの機能を用いてロボットのトップレベルのソフトウエアが構築される. 図1:これまで製作してきた主なボディ図2:ボールを蹴る実験のシステム構成(左),ボディモデル(中央),実験風景(右) |