内容要旨 | | 本研究の目的は,ヒューマノイドを実現し,人間のように状況に応じて様々なふるまいを使い分けるための枠組を構築することである. 古くから研究されているロボット言語による制御法では,少ない外界センサを前提として,記述されたシーケンスを忠実に実行するシステムである.そのため,環境モデルとタスクから動作シーケンスを計画(作業計画)することと含めて研究されてきた.これにより,ロボットは意図どおりの運動制御を行うことが出来るが,一方で環境の変化に即応することが難しく,また,環境が複雑になると作業計画が困難になり,さらに実世界を忠実に記述する環境モデルの定義が難しいことから,実世界において柔軟に行動することは不可能である. Subsumtion Architectureを始めとするビヘービアアプローチによるロボットの制御法は,生物の情報処理を規範にとり,シンプルなセンサ-モータ運動系の並列ネットワークによる制御を試みている.環境モデルを持たず,センサパターンと運動パターンの対応を状況に応じて選択するため,ロボットは多くのセンサを持ち,環境の変化に即応し,複雑な実世界においてロバストに行動するロボットを実現することができた、一方で,系全体によって実現される振舞いは設計者の予想を裏切ることもあり,意図を反映するように動作のシーケンスを直接指定することができない. 本研究では,ビヘービアアプローチにおける並列性がもたらす即応性と,ロボット言語における振舞いの記述しやすさを両立するために,実時間ストリームに基づく並列処理機構の新たな枠組を第2章で提案する. 実時間ストリームとは,実世界が時々刻々と変化するのにあわせて,ある状態量を周期的にサンプリングし,そのデータに有効時間を付帯させた情報のシーケンスである.個々の状態量について別々の実時間ストリームが対応する.並列処理プロセスは非同期かつ周期的に実時間ストリームから状態量を入力し,計算を行い,別の状態量を出力する.データの出力は周期的になされるので,実時間ストリームを形成する. ストリームを流れるデータに有効時間を付帯させることにより疑似的に時間関数を構成することができ,ストリームのデータのサンプリング周期と入力プロセスの入力周期をあわせる必要が無く、個々のプロセスの非同期実行が可能になる.また有効時間が切れてしまった場合は,「その状態量がない」ことを示し,したがって「ある状態量が存在する時にはその状態量に対応した出力を生成し,存在しない時には出力しない」プロセスを用意することができ,「刺激が無ければ運動しない」反射運動の実現が可能になる. ロボットの動作は,動作プロセスが運動パターンを実時間ストリームとして出力し,アクチュエータ制御プロセスがそれを受けてモータを制御することで実現する.動作プログラムがセンサ情報に反応して運動パターンの生成を開始すれば反射運動になり,行動管理プログラムが明示的に動作プログラムを活性化させれば随意運動となる. 個々の動作プロセスは非同期に並列に動くので,容易に動作の衝突が起こると考えられる.しかし,動作の衝突は運動パターンを表す実時間ストリームの競合に帰着し,ネットワーク設計時に優先度を指定することにより競合を解消し,意図どおりの動作パターンを実機に反映させることができる. 特に,随意運動よりも反射運動に高い優先度を設定しておけば,行動決定部が随意運動を停止するより早く,反射的運動の出力する動作パターンがロボットに反映される. 第3章では,このモデルをリアルタイム拡張されたUnixの規格であるPOSIX.1bに準拠した環境上,および,主にI/Oをつかさどるトランスピュータネットワーク上に実装する手法について述べる. 実時間ストリームは,入力する処理ユニットからはサンプリング入力する瞬間の状態量のように見えるので,入力ポートには共有メモリ上のバッファを用意し,優先度が最も高く,かつ最新でのデータがバッファ中に残るようになっている. これにより,個々の処理単位は最新の情報を入力し,出力に反映させることにより,実世界の変化に対して最低限の遅延で反応できるようになった. 第4章において,人間型ロボットシステムについて述べ,冗長自由度を持つ腕の逆キネマティクスの解法と,軌道制御法について述べる. 人間型ロボットは,頭部,胸部,腕部,腰部,からなり,「才華」は頚に2自由度,両目に3自由度,各腕に7自由度,手先にエンドエフェクタとして2自由度,腰に3自由度の合計26自由度をもつ上半身型のヒューマノイドで,「H4」は頚に1自由度,両目に3自由度,各腕に6自由度,腰に3自由度,そして移動機構として車輪(動輪)が二つある移動型のヒューマノイドである. 腕の逆キネマティクスは,手先位置と姿勢の6自由度に脇のしぼり角の自由度を加えて7パラメータにすることで一意に解を求める解法を開発した. 軌道制御に関しては,特異姿勢の近傍での急峻な運動を回避するために,初期姿勢と最終姿勢を関節角度レベルで補間することにより実現した. また,ステップ状に変化する入力に対して,遅延があるが滑らかに補間する階層化された補間法を開発し,運動中に目標が別の値へ変わっても滑らかに追従し,アクチュエータに余計な負荷をかけることなく環境変化に運動を即応させることができるようになった. 第5章では注視点情報に基づく注視行動の実験と,ボールのPick & Placeの実験,および特定の刺激に対する反射運動と随意運動の切り替え実験について述べる. 視覚的に目標を示す画像上の矩形領域を注視点領域と呼び,この注視点の位置情報をもとに運動パラメータを計算している. 注視行動では,目と頚を動かして追跡する動作,視野外にあると短期的に記憶されている情報に基づいてそちらの方へ向く動作,決められた範囲内を目を向けて対象物を探す動作を組合せ,状況に応じて振舞うさまを示した,注視行動は2自由度の視線方向制御なので,二次元の注視点情報,すなわち画像上の位置座標を用いている. Pick & Place実験では卓上に置かれたボールに手を伸ばし,拾い上げて,別の目標のそばへ置く一連の動作を実現した.ここでは,関節角度から得られる手先位置と,視覚情報から得られる三次元手先位置のキャリブレーションが不要な方法を用い,すなわち,目標と手先マークの視覚情報での偏差を運動座標系上の手先位置に加えて目標位置とし,サーボすることで位置あわせを行うことが出来た. また,動作を選択する計算ユニットと,運動を指示する計算ユニットが並列に動いているため,運動中にも動作選択ユニットが状況を監視し,例えば人が邪魔してボールを取り上げてしまった場合など,状況に即応して動作を切り替えることができることを示した. 反射運動と随意運動を統合した実験においては,Pick & Placeのネットワークに刺激-反射運動系の処理ユニットを二つ追加し,反射運動後に適切なふるまいができるように行動選択ユニットに新たな状態遷移を追加し,その他のユニットには手を加えず実験をおこなった.反射が開始した後,行動選択ユニットが対応するまでに時間の遅延があったが,反射行動の運動パターンが随意行動の運動パターンより高い優先度が与えられていたため,すぐに反射行動がロボット本体に反映され,状況に反射的に対応することが確認された. またそれぞれの実験において,実際にはそれぞれの動作を切り替えるユニットの指示が運動パターンに反映されるまでに遅延があり,いくつかの運動生成ユニットが同時に運動パターンを出力している状況があることが確認されたが,優先度による選択機構により適切に競合解消されていることがわかった. |