ロボットが白紙の状態から作業手順を生成し、その作業のために必要なスキルを学習・習熟することは一般に困難である。従って、本研究ではある作業の領域について以下の手順で作業知識のロボットへの移植を行う。これは、図に示すように大きく分けて「教示の過程」と「実践による熟練の過程」の2つに分けられる。
「教示の過程」においては、手作業に普遍的な基本プリミティブの数と種類を明らかにし(プリミティブの設計過程)、プリミティブの組合わせで構成されるあるタスク領域に固有の技(スキル・メタスキル)を観察に基づき自動的に生成する(スキル獲得過程)。スキルには、主に接触を伴う作業に関連するものと接触を伴わない作業に関連するものの2種類がある。前者については操作物体間の接触状態の変化を解析し、スキルを接触状態遷移の形で記述をする。後者に関しては手の動き・物体の相対的な動きに関する複数の観察結果を統合し、作業に本質的なスキルの自動抽出を行う。
「実践による熟練の過程」では、そのタスク領域で生じる任意の作業を観察し、獲得したスキルの連続系としてモデル化を行う(タスク獲得過程)。さらにこの過程においては、スキルとそれが用いられる文脈との関連付けをも同時にモデル化することによって、作業意図を自動的に抽出しモデルに組み込むことを行う。作業意図によって人間の行動提示時とは異なる環境における再利用可能な作業モデルの構造を明らかにし、人間の作業記憶の解明を図る。
次に、実際に人間型ロボットプラットフォームを用いてモデルに基づいたタスクの再現を行う。その際に、生じる誤差・失敗をロボットが自身の行動を観察することで自動的に検出しスキルを修正していくことで、人間のスキルのロボットに対する適応化を図る(スキル熟練過程)。この時、非熟練時には視覚の役割が大きいためにビジュアルフィードバックが多く使われるが、熟練度が上がるにつれて視覚の役割が小さくなり力覚・触覚を多用するといった人間の非熟練工から熟練工への変化の解明などが期待される。スキル獲得過程・タスク獲得過程・スキル熟練過程を交互に繰り返していくことにより、高度な熟練を可能にする。
他の研究との関連従来、人の動作観察からロボットの動作・行動を生成する研究として「まねによる学習(Learning
by imitation)」などがあるが、そこでは踊り・ジェスチャ・歩行のように実行時に関節情報と簡単な接触情報以外のセンサ情報を必要としない動作のみが扱われてきた。本研究では、実行時に視覚・力覚・触覚などのマルチモーダルな知覚が必須である腕・手・指を用いた組み立てなどの作業動作を対象とし、運動・行動のダイナミックな結合を通しての作業熟練過程の実現と解明を目指す。
1:プリミティブの設計
プリミティブの設計指針として、把持物体とその他の物体の任意接触間の遷移、及び手指の各関節・手首の位置姿勢毎に可能な角速度の変化過程を有限個のプリミティブとして定義する。また、作業療法における知見より得られる手作業における典型的な把持形状を、手掌の圧力分布より分類分けしプリミティブとして定義する。
手の動作の本質的な解析には力覚(手掌の圧力分布)の情報が欠かせないが、データグローブや圧力センサ等の装着型デバイスを常に用いることは望ましくない。そこで次の2段階のアプローチをとる。まずスキル獲得過程においてはデータグローブに把持力分布測定システムを装着して直接データを獲得し、手の形状・圧力分布の変遷と文脈(後述)との対応を獲得する。タスク獲得過程においては、コンピュータビジョンの手法と確率過程モデル(後述)を利用して、力覚情報を用いずにスキルの推定を行う。
2:スキル獲得過程
人間によって教示されるスキルの内、手指形状・位置・手掌の圧力分布の変化はデータグローブを用いて、対象物体の位置・接触状態の変化は視覚を用いてプリミティブの列に分解する。この時、本質的には同じスキルを様々な環境で実行し、複数の行動を観察してそこから共通部分を抽出することによって、プリミティブの連続的な組み合わせであるスキルを、またスキルの連続的な組合わせであるメタスキルを自動的に獲得する。
スキルの抽出にはDPマッチング・DTW(Dynamic
Time Warping)等の手法を用いて複数の観察結果の比較・統合を行い、本質的な動作の抽出を行う。さらにスキルには、当該スキルの使用された文脈(環境の変化との因果関係・対象物体の形状・機能)が付加される。
また操作の対象を明示的に獲得しスキルと関連付けるために、頭部6自由度計測装置を購入し、人の顔が向いている方向を実時間で獲得することで、注視対象の同時検出を行う。
3:タスク獲得過程
スキル獲得過程においてスキル・メタスキルが生成されると、それらを隠れマルコフモデル等の時間方向に確率的に状態(プリミティブ)が遷移する行動モデルに自動変換する。このモデルを用いて、観察によって得られるそのタスク領域での任意のタスク(手作業)をベイズ推定の原理によって妥当なスキル列に分解する。
教示過程と異なり、この過程は人間によって恒常的に繰り返されるため、装着型のデバイスを使用することは望ましくない。そのためにはコンピュータビジョン等の非接触型技術のみを用いてタスクの推定を行うことが望ましく、現在使用中の9眼リアルタイムステレオビジョンをズーム・輻輳角可変に改良し任意距離での精度を向上させることと合わせて、新たに手に関連する視覚情報を効率よく獲得するために、複数台の赤外線カメラを用いて得られる手の輪郭情報を統合することで位置・形状の推定を行う手法を開発する。
また作業意図を抽出するために、スキルの使用された文脈(前後に行われるスキル)をモデル中に記述する。
4:行動熟練過程
既に開発済の双腕・視覚を有する人間型ロボットを用いて、上記の手法によって獲得したモデルに基づき作業の再現を行う。この時、人間の手指とロボットのハンドとの差異を吸収するために、圧力把握のマッピングに用いられるVirtualFingerの手法を改良して精密把握に適用できる形式にすることで、このマッピングを行う。
その際、ロボットが自身の行動を観察することで誤差・失敗個所を自動的に検出し、失敗するスキル・メタスキルに関しては、1つのスキルを2つの異なるスキルに分ける細分化・そのスキルがカバーする実動作をよりよく記述するためのパラメータ(圧力分布変化・局所的なハンド・物体の軌道・指先と物体との相対力関係)の適応的な調整(汎化)を行うことで、人間のスキルのロボットへの移転を図る。
誤差・失敗の検出には、視覚によるハンド・操作物体の観察、指の力覚・接触覚及び新たにハンド基部に導入する6軸力センサより得られるロボット自身の体性感覚の観察を通し、予想されるセンサ情報と実際に得られるセンサ情報との差を検出することで判断する。
人間の行動獲得機構において視覚が重要な役割を担うことに着目し、その解明のため、視覚を有する人間型ロボットを作成した。現在、異なった方向性を持つ2つの手法を用いて行動獲得機構をロボットに実装し、その応用として人間とロボットの協調作業を試みた。
1.スキルの行動獲得 実世界に存在する物体に影響をおよぼすためには、手と物体、物体同士が接触する必要がある。そこで、物体同士の接触状態を手がかりに人間の行動をミクロに獲得しようと試みた。まず、実世界に存在する接触状態をscrew理論及び凸多面錘理論を用いて分類した。つぎに、動作の結果生じる接触状態の変化をすべて数え上げ、それらを解析することにより行動記述言語であるサブスキルを導出した。さらに、視覚により得られたデータからサブスキル表現を抽出し、それらを用いて同じ行動(接触状態変化)を導出するロボット動作を自動的に生成することが可能となった。
2.タスクレベルの行動獲得 複数回の観察を通して、作業の重要な部分(これを我々は注視点と呼んでいる)を抽出し、局所的に観察精度を高めることで効率の良い非均質な作業モデルを獲得することを試みた。まず、視覚により観察データを獲得し、一部のデータのみ使用して動作を解析する。その段階で精密な解析が必要となる個所(それは手の動作が切り替わる瞬間に一致する)を時間的注視点とみなし、その近傍を密なデータを使用して解析する。さらに、精度の良い観察を必要とする個所を空間的注視点とみなし、次回の観察時に、より局所的に観察を行うことで、得られるデータの質を高める。1度目の観察結果から人間の作業進行の大まかな予測から前述のことが可能となる。
3.応用:人間とロボットの協調作業 柔軟な協調作業を行うためには、人とロボットが作業に対する共通認識を持つことと、人の意図を推測することが必要となる。そこで、作業モデルをあらかじめ観察により獲得し、柔軟な協調作業を実現することを試みた。本手法では、ロボットは現在の作業遂行状況を逐次観察し、作業の進行具合、及び、人の意思表示より、適切な補助作業を実行することが可能となった。
現在まで異なるレベルにおいて独立に研究を進めてきたが、今後これらのシステムを統一し、サブスキル(プリミティブ)から上位のタスクの獲得までを一貫して行えるシステムを構築し、人間の行動理解の仕組みを解明することを目指す。
詳細は、CVLロボティクスグループホームページへ