JP2007276052A - 制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体 - Google Patents
制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体 Download PDFInfo
- Publication number
- JP2007276052A JP2007276052A JP2006105543A JP2006105543A JP2007276052A JP 2007276052 A JP2007276052 A JP 2007276052A JP 2006105543 A JP2006105543 A JP 2006105543A JP 2006105543 A JP2006105543 A JP 2006105543A JP 2007276052 A JP2007276052 A JP 2007276052A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- control
- data
- sensor
- controlled device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができるシステムを提供すること。
【解決手段】ユーザは、スレーブ13と幾何形状が同一のロボットのマスタ12を操作し、制御装置11を介してスレーブ13を制御する。制御装置11は、マスタ12の操作により生成されるスレーブ13に対する制御コマンドを、その制御コマンドの生成タイミングにおいてスレーブ13より供給されるセンサ情報とともに、システム内に生じる制御遅延を含む形で記録する。制御装置11は、その制御コマンドとセンサ情報とに基づいて、制御遅延を考慮した時系列的に先の制御コマンドを予測し、その制御コマンドによりスレーブ13を制御する。本発明は、情報処理システムに適用することができる。
【選択図】図2
【解決手段】ユーザは、スレーブ13と幾何形状が同一のロボットのマスタ12を操作し、制御装置11を介してスレーブ13を制御する。制御装置11は、マスタ12の操作により生成されるスレーブ13に対する制御コマンドを、その制御コマンドの生成タイミングにおいてスレーブ13より供給されるセンサ情報とともに、システム内に生じる制御遅延を含む形で記録する。制御装置11は、その制御コマンドとセンサ情報とに基づいて、制御遅延を考慮した時系列的に先の制御コマンドを予測し、その制御コマンドによりスレーブ13を制御する。本発明は、情報処理システムに適用することができる。
【選択図】図2
Description
本発明は、制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体に関し、特に、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができるようにした制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体に関する。
従来、可動な関節を複数有するロボットの姿勢や動作の制御において、一般的に、制御対象であるロボットは、その関節数が多く、自由度が高いので、操作者による指示入力操作を容易にするために、入力可能な指示の数が制御対象のロボットの自由度(関節)の数よりも少ないコントローラを用いる方法があった(例えば、特許文献1乃至特許文献3参照)(以下、第1の方法と称する)。このような場合、そのコントローラは、コントローラにおける1つの操作(1つの指示)に対して予めプログラミングされた複数の動作が割り当てられていたり、1つの操作が制御する自由度(関節)を切り替える切り替え機能が設けられていたり、ロボットが有する全自由度(全関節)のうち、予め定められた一部の自由度(関節)のみが制御可能で、その他の自由度(関節)については自律制御されるようになされていたりする。
例えば、特許文献1においては、特定の操作方法に、制御対象である二足歩行ロボットの特定の動作が割り当てられた遠隔操作装置が示されている。また、特許文献2においては、足操作入力装置を操作することにより、制御対象のロボットの自律制御機構に簡単な指令を与えたり、クラッチペダルの踏み込み動作により足操作の対象を切り替えたりすることが可能な超多自由度ロボット操縦装置が示されている。さらに、特許文献3においては、操作者が目的とする作業に対して直接的に関係して意識を集中する部位の操作を行えば、その他の部位については従属的に自律操作するようにして、操作者の作業を簡単化する遠隔制御方法が示されている。
また、ロボット制御の他の方法として、人間の動作を画像処理したり、若しくはセンサスーツなどによってセンシングしたりすることにより得られた情報を、ロボットの自由度構成に合わせて幾何変換し、その幾何変換された制御情報によりロボットを動作させる方法もあった(例えば、特許文献4参照)(以下、第2の方法と称する)。
さらに他の方法としては、制御対象の関節角軌道をモーションクリエータなどのソフトウェアを利用して作成したり、理想軌道上の通過点を指定したりして、制御対象の動作を予め教示しておき、その教示データを再生させて自律制御させるものもあった。その場合、例えば、一対のアームを制御する際に、各アームに互いの相対位置を計測させることによって位置補正を行わせる等、さらに動作中にロボットに環境とのインタラクションを行わせるものもあった(例えば、特許文献5および特許文献6参照)(以下、第3の方法と称する)。
しかしながら、例えば、特許文献1乃至特許文献3に記載のような第1の方法の場合、操作の動きと、その操作に対する制御対象の動きが一致または近似せず、ユーザが、制御対象の目的の動作に対する操作方法を直感的に把握することができない恐れがあった。また、自律制御とユーザの制御において、処理や通信の遅延等によって互いに時間的なずれが生じてしまい、制御が発散してしまう恐れがあった。
また、特許文献4に記載のような第2の方法の場合、人間の動きをロボットの幾何モデルに変換する必要があるため、制御対象であるロボットのデザインが人間と大幅にスケールや幾何形状において異なる場合、幾何変換の解が存在しなかったり、解が得られたとしても直感的に分かりにくいものになったりする恐れがあった。そのため、操作を行うユーザがロボットのモデル体系を考慮しながら操作する必要があり、ユーザの負担が大きくなってしまうという恐れもあった。
さらに特許文献5や特許文献6に記載のような第3の方法の場合、教示後は、ロボットを自律制御させるので、第1の方法や第2の方法よりも制御操作が容易であるが、多様に変化して予測が困難な実環境下においては、予め理想軌道を設定することができず、環境の変化に応じて適応的に教示行動を変化させることもができないため、ロボットと環境との多様な相互作用の教示を行うことができなかった。例えば、特許文献5や特許文献6に記載のように、アーム間の相対位置を計測して補正を行う場合、計測から補正までの間に、通信や情報処理等による遅延が生じる。従って、その遅延時間に対してアームの動きが激しい場合、制御が発散してしまう恐れがある。また、例えば、そのアームで、直接の制御対象ではないボールを動かすような場合、アームの動作を、そのボールの動き(環境の変化)に合わせて補正することができず、適切な動作制御を行うことができない恐れがある。
図1は、制御の遅延を説明するグラフであり、直接の制御対象であるロボットに、直接の制御対象でないボールの位置に応じた動作をさせる場合の、各変数の状態量の時間的変化を示すグラフである。
図1の上のグラフにおいて、点線で示される関節角コマンドθmは、ロボットに供給される、所定の関節の角度を指定する制御コマンドであり、実線で示される関節角センサデータθsは、その所定の関節の角度(関節角)の状態を計測した計測結果を示す情報である。つまり、関節角コマンドθmが目標値を示す制御情報であり、関節角センサデータθsが関節角コマンドθmによる制御結果を示す結果情報である。図1の下のグラフにおいては、そのロボットによって操作されるボールの位置座標が示されており、一点鎖線は、ボールのx座標(ボール座標x)を示し、点線は、ボールのy座標(ボール座標y)を示し、実線は、ボールのz座標(ボール座標z)を示している。
図1の上のグラフに示されるように、関節角センサデータθsには、関節角コマンドθmに対して、両矢印1に示されるように、制御遅延が生じる。つまり、各時刻において、関節角センサデータθsと関節角コマンドθmとの間に、両矢印2で示されるように、偏差が生じる。
この制御遅延は、例えば、ロボットで観測された関節角センサデータをロボットの外部に置かれた遠隔のコンピュータ上の時系列予測器に転送する際の通信遅延、ロボットの外部に置かれた遠隔のコンピュータ上で計算された関節角コマンドをロボットに転送するのにかかる通信遅延、および、ロボットに転送された関節角コマンドに基づき実際にその関節角度にアクチュエータが回転されるまでの制御動作遅延などの要因によるものである。
このような制御遅延が存在する場合、例えば、時刻tにおける各データをまとめてベクトル化し、時刻tのベクトルデータ(θmt,θst,xt,yt,zt)を用いて次の時刻の関節角コマンドを演算する自律制御においては、ベクトルの要素間に偏差が生じているため、適切な制御を行うことができないだけでなく、解が発散し、制御不可能となる恐れがある。
以上のように、従来の制御方法においては、制御遅延や環境の変化に対する耐性の高い自律制御を行うことができず、難易度の高い制御操作を行う必要があり、制御装置や操作者に対して多大な負荷をかけてしまったり制御が破綻してしまったりする恐れがあった。
本発明は、このような状況に鑑みてなされたものであり、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができるようにするものである。
本発明の一側面は、ユーザが操作する入力装置と、制御対象である被制御装置と、入力装置より入力された情報に基づいて、被制御装置を制御する制御装置とを備える制御システムであって、入力装置および被制御装置は、互いに同一の幾何形状を有する装置であり、制御装置は、ユーザが操作した入力装置より供給される入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する供給手段とを備える制御システムである。
本発明の一側面は、制御対象である被制御装置と、被制御装置を制御する制御装置とを備える制御システムであって、制御装置は、被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、取得手段により取得されたセンサ情報と、被制御装置を制御する制御コマンドとに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドを予測して生成する予測手段と、予測手段により予測されて生成された新たな制御コマンドを、被制御装置に供給する供給手段とを備える制御システムである。
本発明の一側面は、ユーザが操作する入力装置と、入力装置より入力された情報を記録する記録装置とを備える記録システムであって、制御対象である被制御装置をさらに有し、制御装置は、ユーザが操作した入力装置より供給される、入力装置に設けられた周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段と、変換手段により変換されて得られた制御コマンドを、所定の時間毎に時系列データとして記録する記録手段と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する供給手段とを備える記録システムである。
本発明の一側面は、制御対象である被制御装置を制御する情報処理装置であって、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第1の取得手段と、第1の取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する第1の供給手段とを備える情報処理装置である。
前記入力装置に設けられた各入力部の入力ゲインを、それぞれ、互いに独立に調整するゲイン調整手段をさらに備えることができる。
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段と、第2の取得手段により取得されたセンサ情報を入力装置のユーザに提示する提示手段とをさらに備えることができる。
前記変換手段により変換されて生成された制御コマンドを時系列データとして記録する記録手段をさらに備えることができる。
前記記録手段に記録された制御コマンドを時系列に沿って再生して被制御装置に出力させる再生手段をさらに備えることができる。
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段をさらに備え、記録手段は、第2の取得手段により取得されたセンサ情報を、制御コマンドとともに記録することができる。
所定の予測モデルを用いて、第2の取得手段により取得されたセンサ情報および過去の制御コマンドに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドを予測して生成する予測手段と、予測手段により生成された新たな制御コマンドを被制御装置に供給する第2の供給手段とをさらに備えることができる。
前記記録手段により記録されたセンサ情報および制御コマンドを用いて、予測モデルの学習を行う学習手段をさらに備えることができる。
前記予測モデルはリカレントニューラルネットワークであることができる。
前記学習手段は、ベクトル・パターンのカテゴリー学習に用いられる自己組織化マップの手法を用いて、リカレントニューラルネットワークの学習を行うことができる。
前記入力装置および被制御装置は、複数の関節を有するロボット装置であることができる。
前記入力装置と通信を行う第1の無線通信手段と、被制御装置と通信を行う第2の無線通信手段とをさらに備えることができる。
本発明の一側面は、制御対象である被制御装置を制御する情報処理装置の情報処理方法であって、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し、取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換し、変換されて得られた制御コマンドを、被制御装置に供給するステップを実行する情報処理方法である。
制御対象である被制御装置を制御する処理を行うプログラムにおいて、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し、取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換し、変換されて得られた制御コマンドを、被制御装置に供給するステップをコンピュータに実行させることができる。
請求項17に記載のプログラムが記録されている記録媒体とすることができる。
本発明の一側面においては、入力装置および被制御装置が互いに同一の幾何形状を有する装置として構成されており、制御装置において、ユーザが操作した入力装置より供給される入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報が取得され、取得されたセンサ情報が、被制御装置を制御する制御コマンドに変換され、変換されて得られた制御コマンドが、被制御装置に供給される。
本発明の一側面においては、制御装置において、被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報が取得され、その取得されたセンサ情報と、被制御装置を制御する制御コマンドとに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドが予測されて生成され、その予測されて生成された新たな制御コマンドが、被制御装置に供給される。
本発明の一側面においては、制御装置においては、ユーザが操作した入力装置より供給される、入力装置に設けられた周囲の環境を計測するセンサより出力されるセンサ情報が取得され、その取得されたセンサ情報が、被制御装置を制御する制御コマンドに変換され、その変換されて得られた制御コマンドが、所定の時間毎に時系列データとして記録されるとともに、被制御装置に供給される。
本発明の一側面においては、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報が取得され、その取得されたセンサ情報が、被制御装置を制御する制御コマンドに変換され、その変換されて得られた制御コマンドが、被制御装置に供給される。
本発明の側面によれば、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。
特に、自律制御用の情報を収集する際に、制御対象(ロボットの動作制御の場合、ロボット)に対して送信される制御コマンドと、その制御対象(ロボット)から受信された関節の角度センサ、視覚センサ、および音声センサ等の各種センサの出力(センサ情報)を統合化して保存することにより、制御コマンドとセンサ情報を、同期を取りながら時系列情報として収集することができる。
また、その収集された制御コマンドを制御対象(ロボット)において再生することによって環境とのインタラクションを行わせることができ、システムが有する制御遅延を反映した自律制御用の時系列教示データを作成することができる。
さらに、制御コマンドの入力において、制御対象(ロボット)と実質的に同一の幾何形状を有する装置(すなわち、幾何モデルが共通のロボット)を用いて、そのセンサ情報から制御コマンドを生成するようにすることにより、幾何モデルへの変換等の処理が不要になるので、制御コマンドの生成が容易になる。また、その入力装置(制御対象と幾何モデルが同じロボット)の各制御パラメータ(ロボットの場合、各関節のサーボのゲイン)をそれぞれ個別に値を設定することにより、各関節のゲインを適切に設定することができ、不必要な関節を動かさずに教示を行うことが可能になる。つまり、教示時に余分な自由度を制御する(ロボットの場合、関節を手で支える)必要がなくなるので、教示者に及ぼす負担を軽減させることができる。
制御対象(ロボット)と実質的に同一の幾何形状を有する装置(すなわち、同じ幾何モデルを有するロボット)の操作によって生成された制御コマンドを制御対象においてリアルタイムに再生することにより、制御を行う操作者は、制御対象の制御結果(動き)を確認しながら情報を入力し、制御コマンドを作成させることができる。つまり、操作者は、制御対象の制御結果(動き)を確認しながらリアルタイムに教示データを生成することができる。このようにすることにより、多様に変化して予測が困難な環境においても、ロボットと環境との複雑な相互作用の教示を行うことができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。
本発明の一側面は、ユーザが操作する入力装置(例えば、図3のマスタ12)と、制御対象である被制御装置(例えば、図3のスレーブ13)と、入力装置より入力された情報に基づいて、被制御装置を制御する制御装置(例えば、図3の制御装置11)とを備える制御システム(例えば、図3の制御システム10A)であって、入力装置および被制御装置は、互いに同一の幾何形状を有する装置であり、制御装置は、ユーザが操作した入力装置より供給される入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段(例えば、図7の受信部72)と、取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段(例えば、図7のセンサデータ・コマンド変換部63)と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する供給手段(例えば、図7の送信部73)とを備える制御システムである。
本発明の一側面は、制御対象である被制御装置(例えば、図5のスレーブ13)と、被制御装置を制御する制御装置(例えば、図5の制御装置11)とを備える制御システム(例えば、図5の学習システム10C)であって、制御装置は、被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段(例えば、図8の受信部102)と、取得手段により取得されたセンサ情報と、被制御装置を制御する制御コマンドとに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドを予測して生成する予測手段(例えば、図8の時系列予測器93)と、予測手段により予測された生成された、新たな制御コマンドを、被制御装置に供給する供給手段(例えば、図8の送信部101)とを備える制御システムである。
本発明の一側面は、ユーザが操作する入力装置(例えば、図4のマスタ12)と、入力装置より入力された情報を記録する記録装置(例えば、図4の制御装置11)とを備える記録システム(例えば、図4の記録システム10B)であって、制御対象である被制御装置(例えば、図4のスレーブ13)をさらに有し、制御装置は、ユーザが操作した入力装置より供給される入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段(例えば、図7の受信部72)と、取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段(例えば、図7のセンサデータ・コマンド変換部63)と、変換手段により変換されて得られた制御コマンドを、所定の時間毎に時系列データとして記録する記録手段(例えば、図7のデータ記録部22)と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する供給手段(例えば、図7の送信部73)とを備える記録システムである。
本発明の一側面は、制御対象である被制御装置(例えば、図2のスレーブ13)を制御する情報処理装置(例えば、図2の制御装置11)であって、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置(例えば、図2のマスタ12)に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第1の取得手段(例えば、図7の受信部72)と、第1の取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段(例えば、図7のセンサデータ・コマンド変換部63)と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する第1の供給手段(例えば、図7の送信部73)とを備える情報処理装置である。
前記入力装置に設けられた各入力部の入力ゲインを、それぞれ、互いに独立に調整するゲイン調整手段(例えば、図7のサーボゲイン設定部61)をさらに備えることができる。
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段(例えば、図7の受信部74)と、第2の取得手段により取得されたセンサ情報を入力装置のユーザに提示する提示手段(例えば、図7の表示部53)とをさらに備えることができる。
前記変換手段により変換されて生成された制御コマンドを時系列データとして記録する記録手段(例えば、図7のデータ記録部22)をさらに備えることができる。
前記記録手段に記録された制御コマンドを時系列に沿って再生して被制御装置に出力させる再生手段(例えば、図7の再生部66)をさらに備えることができる。
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段(例えば、図7の受信部74)をさらに備え、記録手段は、第2の取得手段により取得されたセンサ情報を、制御コマンドとともに記録する(例えば、図7のデータ統合部65)ことができる。
所定の予測モデルを用いて、第2の取得手段により取得されたセンサ情報および過去の制御コマンドに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドを予測して生成する予測手段(例えば、図8の時系列予測器93)と、予測手段により生成された新たな制御コマンドを被制御装置に供給する第2の供給手段(例えば、図8の送信部101)とをさらに備えることができる。
前記記録手段により記録されたセンサ情報および制御コマンドを用いて、予測モデルの学習を行う学習手段(例えば、図8のデータ学習部23)をさらに備えることができる。
前記予測モデルはリカレントニューラルネットワーク(例えば、図9)であることができる。
前記学習手段は、ベクトル・パターンのカテゴリー学習に用いられる自己組織化マップの手法を用いて、リカレントニューラルネットワークの学習を行う(例えば、図10のダイナミクス記憶ネットワーク131)ことができる。
前記入力装置および被制御装置は、複数の関節を有するロボット装置(例えば、図15のロボット)であることができる。
前記入力装置と通信を行う第1の無線通信手段(例えば、図7の無線通信部62)と、被制御装置と通信を行う第2の無線通信手段(例えば、図7の無線通信部64)とをさらに備えることができる。
本発明の一側面は、制御対象である被制御装置を制御する情報処理装置の情報処理方法であって、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し(例えば、図22のステップS22)、取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換し(例えば、図22のステップS24)、変換されて得られた制御コマンドを、被制御装置に供給する(例えば、図22のステップS25)ステップを実行する情報処理方法である。
次に、本発明を適用した実施の形態について、図面を参照して説明する。
図2は、本発明を適用した情報処理システムの構成例を示すブロック図である。
図2の情報処理システム10は、制御装置11が、互いに同一の幾何形状を有する、複数の関節(自由度)を有する人型の2足歩行ロボットであるマスタ12およびスレーブ13を制御するシステムである。制御装置11、マスタ12、およびスレーブ13は、互いに、無線通信により制御コマンドやセンサ情報等の各種情報の授受を行う。
制御装置11は、例えば、パーソナルコンピュータ等の情報処理装置により構成され、情報処理システム10全体の制御に関する処理を行う。マスタ12は、ユーザに操作されて、動きに関する情報の入力を受け付ける入力インタフェースとして構成され、スレーブ13は制御対象として構成される。マスタ12およびスレーブ13の各関節には、サーボモータを用いたアクチュエータが設けられており、このアクチュエータの動作により関節の角度が決定される。また、マスタ12およびスレーブ13には、各関節の角度(関節角)を計測する関節角センサ、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)を利用したカメラ等の周囲の画像情報を取得する視覚センサ、マイク等の周囲の音声情報を取得する音声センサ等の各種センサが設けられている。
マスタ12とスレーブ13は、互いに同一の位置に関節(アクチュエータ)と関節角センサを有する、自由度配置が共通のロボットにより構成される。つまり、マスタ12とスレーブ13は、制御装置11によるロボットの動作や姿勢の制御(図1の情報処理システム10)において、同一の幾何形状を有し、制御装置11からみて互いに同一の幾何的特性を有するように構成されている(つまり、制御に関する幾何モデルが共通である)。例えば、制御装置11は、共通の制御コマンドで、マスタ12の動作を制御することも、スレーブ13の動作を制御することができる。さらに、マスタ12から制御装置11に供給されるセンサ情報と、スレーブ13から制御装置11に供給されるセンサ情報とが互いに共通(同種のセンサの出力)である。なお、さらにマスタ12とスレーブ13の筐体の形状、色、大きさ等も互いに同一であるようにしてももちろんよい。
情報処理システム10は、ユーザがマスタ12をコントローラとして操作し、そのマスタ12の動きに応じて制御装置11が制御コマンドを生成し、スレーブ13に同様の動きを行わせることによって環境とのインタラクション(相互作用)を行わせるシステムである。例えば、情報処理システム10において、制御装置11は、スレーブ13に対して、時系列予測器を用いることにより、スレーブ13のセンサ情報に基づいた制御(自律制御)を行う。また、制御装置11は、センサ情報や制御コマンド等の時系列データを学習データ(教示データ)として、時系列予測器の予測モデルの学習を行う。さらに、制御装置11は、教示者であるユーザがマスタ12を操作して入力する情報(つまりマスタ12の動き)を、スレーブ13に再現させるとともに、その動きを再現するスレーブ13より供給されるセンサ情報を制御コマンドとを統合して、時系列データとして記録する。この時系列データは、例えば、学習データ(教示データ)として、後で上述した学習に利用される。
従って、情報処理システム10は、例えば、以下のような複数の側面を有する。つまり、情報処理システム10は、ユーザが、マスタ12をコントローラとして操作することにより、スレーブ13を動作させる制御システムとしての側面、ユーザがマスタ12に対して行った操作履歴を記録する記録システムとしての側面、および、スレーブ13のセンサ情報に基づいた自律制御を行うとともに、制御コマンドの生成に用いられる時系列予測器の予測モデルを学習する学習システムとしての側面をそれぞれ有する。以下に、各側面について説明する。
図3は、図2の情報処理システム10の、制御システムとしての側面を説明する図である。
図3に示される制御システム10Aは、情報処理システム10の一側面であり、ユーザ12Aが、マスタ12をコントローラとして操作することにより、制御装置11を介して、スレーブ13を動作させるシステムである。
この制御システム10Aにおける制御装置11は、マスタ12およびスレーブ13を制御するマスタスレーブ制御部21を有する。そのマスタスレーブ制御部21は、マスタ12に対して、マスタ12の各関節に設けられたサーボモータのゲインを設定するサーボゲイン設定コマンド31を無線通信により供給することにより、マスタ12の各関節の硬さ(動きやすさ、すなわち、関節の角度の変えやすさ)の程度をそれぞれ制御する。つまり、マスタスレーブ制御部21は、ユーザ12Aの操作に対して、動きやすい関節や硬い関節(動かしてもよい関節や固定すべき関節)を設定することができる。つまり、ユーザは、効率よく教示を行うことができる。
マスタ12は、ユーザが、直接関節(例えば双腕)を動かすことによってスレーブ13に実行して欲しい動作を、各関節の角度によって教示するためのインタフェースとして構成される。ユーザによって動作させられたマスタ12の姿勢の変化は、関節角度センサのセンサ情報(時系列情報)として逐次的に(定期的または不定期に)無線を通じて制御装置11に送信される。
マスタスレーブ制御部21は、そのマスタ12から供給された関節角センサデータ32に基づいて、スレーブ13の各関節(各関節に設けられたアクチュエータ)の動作を制御する関節角コマンド33を生成し、その関節角コマンド33を無線通信によりスレーブ13に供給する。
スレーブ13は、マスタ12で生成された関節角コマンドに対応する動きを再現し、実環境とインタラクションすることで、自らの関節角センサやコマンド情報と共に、環境を示すセンサ情報を併せて取得するために機能する。供給された関節角コマンド33に基づいて、各関節のアクチュエータを動作させ、関節角コマンド33に対応する動作を行う。つまり、スレーブ13は、ユーザ12Aにより操作されたマスタ12の動きをトレースする。ユーザ12Aは、そのスレーブ13の動作を視認し、そのスレーブ13の動きに基づいて、次の動作をマスタ12に対して入力する(マスタ12を操作する)。つまり、ユーザ12Aがスレーブ13を視認することにより、制御結果(スレーブ13の動き)が制御指示の入力(マスタ12の操作)にフィードバックされる。
以上のように、ユーザ12Aは、制御結果を確認しながら制御指示を入力することができるので、例えば、直接の制御対象でないボール14に対する動作をスレーブ13に行わせるような、多様に変化して予測が困難な環境においても、ボール14とスレーブ13の動きを確認しながら容易に適切な制御指示を入力することができる。
また、入力インタフェースであるマスタ12と、制御対象であるスレーブ13が同一の幾何形状を有するロボットであり、制御するパラメータ(関節)が共通であるので、ユーザ12Aは、直感的にマスタ12Aの操作方法を理解することができるので、容易にスレーブ13を制御することができる。また、ユーザ12Aの制御指示を制御対象の幾何モデルに変換する必要が無いので、マスタスレーブ制御部21は、その負荷が低減される。
さらに、マスタスレーブ制御部21がサーボゲイン設定コマンド31を無線通信により供給することにより、ユーザ12Aは、例えば、マスタ12の全身の関節のうち、胴体や足等の動かす必要のない関節を動かさずに、目的の双腕の関節のみを動かす等、適切な操作を容易に実現することができる。このとき、ユーザ12Aは、スレーブ13やボール14の現在の動きから、その将来の動きを予測し、その動きをマスタ12に入力することができる。つまり、ユーザ12Aのこのような操作により、制御装置11は、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。
図4は、図2の情報処理システム10の、記録システムとしての側面を説明する図である。
図4に示される記録システム10Bは、情報処理システム10の一側面であり、ユーザ12Aのマスタ12の操作履歴を記録するシステムである。
図3の場合と同様に、制御装置11のマスタスレーブ制御部21は、サーボゲイン設定コマンド31をマスタ12に供給することによって、マスタ12の必要な関節のみを可動とし、マスタ12は、ユーザ12Aの操作に対して、各関節の角度(関節角)を示す関節角センサデータ32を制御装置11に供給する。
また、制御装置11のマスタスレーブ制御部21は、その関節角センサデータ32から関節角コマンド33を生成し、スレーブ13に供給する。スレーブ13は、その関節角コマンド33に応じて各関節を動作させ、マスタ12の動きをトレースする。ユーザ12Aは、そのスレーブ13の動きとボール14の位置等を視認しながらマスタ12を操作することにより、制御結果を制御指示入力にフィードバックさせる。
以上は、図3の場合と同様であるが、図4の場合、さらに、スレーブ13は、関節角センサデータ34、視覚センサデータ35、および音声センサデータ36を制御装置11に供給する。スレーブ13は、指定された関節角コマンド33を実行する一方、自己の姿勢情報およびボール14等の外部環境情報を、各種センサによって逐次的に観測している。例えば、エンコーダによる関節角度情報よりなる関節角センサデータ34、カメラによる画像情報(ボール14の座標)よりなる視覚センサデータ35、およびマイクロホンによる音声情報(音圧変化)よりなる音声センサデータ36などである。観測されたこれらのセンサ情報は逐次的に無線を通じて制御装置11に送信される。
制御装置11のマスタスレーブ制御部21は、スレーブ13に供給する関節角コマンド33と、スレーブ13より供給された関節角センサデータ34、視覚センサデータ35、および音声センサデータ36とを統合したベクトルデータを、所定の時間毎に生成し、その各ベクトルデータを時系列データとしてデータ記録部22に供給して記録させる。データ記録部22は、例えば、ハードディスク、半導体メモリ、光磁気ディスク等の所定の記録媒体を有しており、マスタスレーブ制御部21より供給される時系列データをその記録媒体に記録する。
このデータ記録部22に記録された時系列データは、様々な処理に利用することができる。例えば、マスタスレーブ制御部21は、記録時より時間的に後の、任意の時刻に、データ記録部22より関節角コマンド33を時系列に沿って読み出し、スレーブ13に供給することにより、スレーブ13を利用してマスタ12の動きを任意の時刻に再現することができる。すなわち、その再現を複数回行うことも可能である。また、記録された時系列データの編集も可能になる。さらに、他の装置や他のシステムでの利用も可能になる。
もちろん、制御装置11自身が、後述する学習機能の教示データとして、この時系列データを利用することもできる。データ記録部22は、関節角コマンド33とともに、関節角コマンドが生成されたのと同時刻にスレーブ13より得られた関節角センサデータ34、視覚センサデータ35、および音声センサデータ36をベクトルデータとして記録する。つまり、データ記録部22は、システム内で発生する通信遅延や処理遅延を含む状態で時系列データを記録する。これにより、制御装置11は、後述するように、学習処理により、制御遅延を考慮した予測モデルの学習を行うことができる。つまり、制御装置11は、制御における通信や処理の遅延に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。
また、その関節角コマンドの記録の際に、スレーブ13がその関節角コマンドによって動作するので、ユーザ12Aは、制御結果を視認しながらマスタ12を操作することができ、データ記録部22は、適切な制御が行われたときの関節角コマンド33を記録することができる。
なお、図3の制御システムの場合と同様に、制御装置11のマスタスレーブ制御部21は、例えば、マスタ12の双腕の関節のみを、外部から自由に動かせるように、関節角度制御のサーボゲインを切った状態にし、教示者となるユーザに、マスタ12の双腕を把持し、スレーブに行って欲しい行動を遠隔で指令するように双腕の各関節角のみを操作させることができる。このサーボゲインは、各関節に個別に値を設定することができるようになされており、マスタスレーブ制御部21は、タスクを実行するために必要となる関節角のみゲインを落とし、その他の関節角は動かないようにゲインを入れておくことや、より可動範囲を広げたい関節角のゲインのみ低いゲインを設定することにより、ユーザが不必要な自由度を動かさずに教示を行うことができるようにすることができる。
図5は、図2の情報処理システム10の、学習システムとしての側面を説明する図である。
図5に示される学習システム10Cは、情報処理システム10の一側面であり、スレーブ13をそのセンサ情報による自律制御を行うとともに、その制御コマンドの生成の際に用いられる時系列予測器の予測モデルを学習する学習システムである。
制御装置11のデータ学習部23は、データ記録部22に記録されている、図4の記録システム10Bにおいて記録されたような時系列データ、すなわち、関節角コマンド33、関節角センサデータ34、視覚センサデータ35、および音声センサデータ36を含むベクトルデータに基づいて、時系列予測器の予測モデルの学習を行う。
この予測モデルは、スレーブ13より供給されるセンサ情報や過去の制御コマンドに基づいて、スレーブ13を制御する次のステップの制御コマンドを生成する。ところで現実の学習システム10Cにおいては、スレーブ13において生成された関節角センサデータ34、視覚センサデータ35、および音声センサデータ36が、制御装置11に供給され、制御装置11がそれらから関節角コマンド33を生成し、その関節角コマンド33がスレーブ13に供給され、スレーブ13がその関節角コマンドを実行し、実際の動作となるまでに、タイムラグ、すなわち制御遅延が発生する。
この制御遅延は、例えば、スレーブ13で観測された関節角センサデータ34を制御装置11の時系列予測器に転送する際の通信遅延、制御装置11において算出された関節角コマンド33をスレーブ13に転送する際の通信遅延、および、スレーブ13において、関節角コマンド33に基づいて実際にその関節角度にアクチュエータが回転されるまでの制御動作遅延などの要因によるものである。
そこで、データ学習部23は、この制御遅延による制御の発散を抑制し、制御遅延に対する耐性を向上させるために、上述したような予め制御遅延を含む時系列データを教示データとし、その制御遅延を考慮して適切な最新の関節角コマンド33、すなわち、各種のセンサ情報に対して制御遅延時間分将来の動作を予測し、その動作をスレーブ13に行わせるための関節角コマンド33を予測して生成する時系列予測器の予測モデルの学習を行う。つまり、データ学習部23は、このような時系列予測器の予測モデルの予測精度を向上させるために学習を行う。この学習についての詳細は後述する。
スレーブ制御部24は、このデータ学習部23により学習された予測モデルを用いて、スレーブ13より供給される、関節角センサデータ34、視覚センサデータ35、および音声センサデータ36等のセンサ情報より、制御遅延時間分先の時刻に対応する関節角コマンド33を予測し、それをスレーブ13に供給する。
このように制御装置11は、時系列予測器により予測モデルを用いて、制御遅延時間分先の時刻に対応する関節角コマンド33を予測して生成することにより、制御における通信や処理の遅延に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。また、制御装置11は、予め制御遅延を含む時系列データを教示データとして予測モデルの学習を行うので、予測精度をさらに向上させることができる。
以上のように情報処理システム10は、制御システム、記録システム、および学習システムとしての各側面を有している。従って、情報処理システム10は、スレーブ13の自律制御において、センサ情報から制御遅延時間分先の時刻に対応する制御コマンドを予測する予測モデルの学習用の教示データを生成して記録する教示処理と、生成された教示データを用いてその予測モデルの学習を行い、スレーブ13のセンサ情報に基づいたスレーブ13の自律制御を行う学習制御処理を行うことができる。
次に、情報処理システム10を構成する各装置について説明する。図6は、図2の制御装置11の構成例を示すブロック図である。
図6において、制御装置11は、制御装置11の各部を制御する主制御部51、キーボードやマウスに代表される入力デバイスを有し、制御装置11のユーザからの入力情報を受け付け、それを主制御部51に供給する入力部52、CRT(Cathode Ray Tube)モニタ、LCD(Liquid Crystal Display)、または有機ELディスプレイ(OELD(Organic ElectroLuminescence Display))等のモニタを有し、主制御部51より供給される画像情報を表示する表示部53、マスタ12およびスレーブ13を制御するマスタスレーブ制御装置21、ハードディスクや半導体メモリ等に代表される記録媒体を有し、時系列データを記録するデータ記録部22、時系列データを用いた学習処理により、予測モデルを学習するデータ学習部23、予測モデルを用いて、スレーブ13のセンサ情報から制御コマンドを予測し、スレーブ13を制御するスレーブ制御装置24、並びに、表示部53の表示を制御するデータ表示制御部25を有している。
入力部52、表示部53、並びに、マスタスレーブ制御部21乃至データ表示制御部25は、主制御部51の制御の下、各処理を行う。
図7は、図6の制御装置11の教示処理に関する主な構成を示している。教示処理の説明に不要な部分は省略している。
この教示時の制御装置11Aは、主制御部51、入力部52、表示部53、マスタスレーブ制御部21、データ記録部22、およびデータ表示制御部25を有している。このとき、マスタスレーブ制御部21は、サーボゲイン設定部61、無線通信部62、センサデータ・コマンド変換部63、無線通信部64、データ統合部65、および再生部66を有している。
サーボゲイン設定部61は、マスタ12の各関節のサーボモータのゲイン(サーボゲイン)の設定に関する処理を行う処理部である。具体的には、主制御部51を介して表示部53に、サーボゲインをユーザに指示させるGUI(Graphical User Interface)画面を表示させ、入力部52より入力されたユーザ指示を受け付け、その指示に基づいてサーボゲインを設定し、サーボゲイン設定コマンド31を無線通信部62の送信部71を介してマスタ12に送信する。
無線通信部62は、例えば、無線LAN等の所定の無線通信規格に準拠する方法でマスタ12と無線通信を行う処理部であり、マスタ12にデータを送信する送信部71、および、マスタ12より送信されたデータを受信する受信部72を有している。送信部71は、例えば、上述したように、サーボゲイン設定部61より供給されるサーボゲイン設定コマンド31をマスタ12に送信する。受信部72は、例えば、マスタ12より供給された関節角センサデータ32を受信し、センサデータ・コマンド変換部63に供給する。
センサデータ・コマンド変換部63は、受信部72を介して供給された、マスタ12の関節角センサデータ32を、その関節角を実現する制御コマンドである関節角コマンド33に変換する処理部である。センサデータ・コマンド変換部63は、その関節角センサデータ32を変換して得られた関節角コマンド33を、無線通信部64の送信部73を介してスレーブ13に送信したり、データ統合部65に供給したりする。
無線通信部64は、無線通信部62と同様の通信部であり、例えば、無線LAN等の所定の無線通信規格に準拠する方法でスレーブ13と無線通信を行う。無線通信部64は、スレーブ13にデータを送信する送信部73、および、スレーブ13より送信されたデータを受信する受信部74を有している。送信部73は、例えば、上述したように、センサデータ・コマンド変換部63より供給される関節角コマンド33をスレーブ13に送信する。受信部74は、例えば、スレーブ13より供給された、関節角センサデータ34や、ボール14のスレーブ13に対する相対位置を示す座標情報であるボール座標データ37を受信し、それらをデータ統合部65に供給する。ボール座標データ37は、スレーブ13に設けられた各種センサにより得られる情報であり、例えば、視覚センサデータ35や音声センサデータ36より算出されるデータである。すなわち、ボール座標データ37は、制御装置11において、上述した視覚センサデータ35や音声センサデータ36と同様のセンサ情報として処理されるデータである。
データ統合部65は、所定の時間毎に、センサデータ・コマンド変換部63より供給される関節角コマンド33、並びに、受信部74より供給される関節角センサデータ34およびボール座標データ37の各データを統合し、ベクトルデータとして、データ記録部22に供給する。データ記録部22は、所定の時間毎に供給されるそのベクトルデータ(関節角コマンド33、関節角センサデータ34、およびボール座標データ37の集合)を、時系列データとして順次記録し、管理する。
再生部66は、以上のようにしてデータ記録部22に時系列データとして記録された関節角コマンド33を、その時系列に沿って順次読み出し、その読み出した関節角コマンド33を、送信部73を介してスレーブ13に供給する。すなわち、再生部66は、データ記録部22に記録されている関節角コマンド33群により示される一連の動作を、スレーブ13に再現させる。この再生部66の再現処理により、ユーザは、スレーブ13の動きによって、データ記録部22に記録されたデータの内容を確認することができる。例えば、ユーザは、この再現結果を参考にして、新たな教示を行ったり、記録したデータの一部または全部を破棄し、再度教示をやり直したりすることができる。
また、上述したデータ統合部65の出力は、データ表示制御部25にも供給される。データ表示制御部25は、供給されたベクトルデータ(関節角コマンド33、関節角センサデータ34、およびボール座標データ37の集合)を、数値で表したり、グラフ化したりして視覚化し、その画像情報を、主制御部51を介して表示部53に供給する。表示部53は、供給された画像情報を、所定のGUI画面上等に表示する。このように、記録するデータを視覚化して表示部53に表示させることにより、ユーザは、記録されるデータの内容を確認しながら、マスタ12を操作し、教示を行うことができる。
図8は、図6制御装置11の学習制御処理に関する主な構成を示している。学習制御処理の説明に不要な部分は省略している。
この学習制御時の制御装置11Bは、主制御部51、入力部52、表示部53、データ記録部22、データ学習部23、スレーブ制御部24、およびデータ表示制御部25を有している。
スレーブ制御部24は、無線通信部91、データ統合部92、および時系列予測器93を有している。
無線通信部91は、図7の無線通信部64と同様の通信部であり、例えば、無線LAN等の所定の無線通信規格に準拠する方法でスレーブ13と無線通信を行う。無線通信部91は、スレーブ13にデータを送信する送信部101、および、スレーブ13より送信されたデータを受信する受信部102を有している。送信部101は、例えば、データ統合部92より供給される関節角コマンド33をスレーブ13に送信する。受信部102は、例えば、スレーブ13より供給された、関節角センサデータ34やボール座標データ37を受信し、それらをデータ統合部92に供給する。
データ統合部92は、所定の時間毎に、受信部102より供給された関節角センサデータ34およびボール座標データ37、並びに、1つ前の時刻において、時系列予測器93において予測された関節角コマンド33を統合し、ベクトルデータとして、時系列予測器93に供給する。また、データ統合部92は、時系列予測器93において予測された関節角コマンド33である関節角コマンド予測データ111を含むベクトルデータ取得すると、その関節角コマンド予測データ111を新たな関節角コマンド33として、送信部101を介してスレーブ13に供給する。
時系列予測器93は、データ学習部23より供給される予測モデルにより、データ統合部92より供給されたベクトルデータ(1つ前の時刻において、時系列予測器93において予測された関節角コマンド33、並びに、受信部102より供給された関節角センサデータ34およびボール座標データ37)に基づいて、1ステップ分の予測計算を行い、関節角コマンドの予測データである関節角コマンド予測データ111、関節角センサデータの予測データである関節角予測データ112、および、ボール座標データの予測データであるボール座標予測データ113を生成し、それらをベクトルデータとしてデータ統合部92に供給する。
つまり、スレーブ13より供給される関節角センサデータ34やボール座標データ37が1つ前のステップの関節角コマンド33とともに時系列予測器93に供給されると、時系列予測器93は、制御遅延を無くすように次のステップの関節角コマンド33を予測する。その新たな関節角コマンド33は、スレーブ13に供給され、実行される。そして、その実行の際に得られた新たな関節角センサデータ34やボール座標データ37が、制御装置11Bに供給される。このような処理を繰返し、制御装置11Bは、スレーブ13に対して、スレーブ13自身のセンサ情報による自律制御を行う。
この時系列予測器93の予測モデルは、現在時間における状態を入力とし、その情報を元に次の時間の状態を予測し出力する計算アルゴリズムのことである。例えば、微分方程式をルンゲ・クッタ法などの手法を用いたアルゴリズムでは、精度の高い時系列予測計算を行うことができる。この予測モデルは、どのような手法で実現するようにしてもよく、あるベクトルデータの入力とそれに対応するベクトルデータの出力との対応関係が予め教示データとして与えられ、その教示データを用いた学習後、教示時に与えたものと同一の入力情報から、教示時と同一の出力情報が得られるモデルであれば何でもよい。例えば、図9に示されるような、リカレントニューラルネットワークを予測モデルとして用いてもよい。
リカレントニューラルネットワークとは、通常のバックプロパゲーションを行うニューラルネットワークについて、出力層から出力されるベクトルの一部が再帰的に入力層にフィードバックされる構造(コンテキストノード)を持ったニューラルネットワークである。つまり、リカレントニューラルネットワークは、ある時間における状態に至るまでの過去の時系列状態を反映した、ある切り出された一時点での観測量には反映されない、その時点でのネットワーク内の内部状態量(コンテキスト情報)を有している。このコンテキスト情報には、時間方向に奥行きを持った過去の履歴が反映されるので、空間的に決定される状態量だけでは一意に状態を決定できない、時系列予測計算などには必要な状態量である。リカレントニューラルネットワークは、入力された時系列状態ベクトルだけでなく、このコンテキスト情報にも基づいて予測状態ベクトルを生成して出力する。その際、リカレントニューラルネットワークは、コンテキスト情報を更新し、新たなコンテキスト情報として再帰させる(コンテキストループ)。この再帰ループ(コンテキストループ)があることによって、リカレントニューラルネットワークは、入力ベクトルから一意に出力が決定できないような時系列情報についても、コンテキストノードに自己組織的にコンテキスト情報を生成し、判別を行うことが可能となる。
例えば、リカレントニューラルネットワークは、偶々、値が互いに同一の時系列状態ベクトルが入力された2つの場合においても、コンテキスト情報を利用することにより、それぞれの場合の、それまでに入力された時系列ベクトルの値の違いを判別することができるので、互いに異なる予測状態ベクトルを導き出すことができる。
図8のデータ学習部23は、データ記録部22に時系列データとして記録されているベクトルデータ(関節角コマンド33、関節角センサデータ34、およびボール座標データ37の集合)を教示データとして、このようなリカレントニューラルネットワークの学習を行うことにより、関節角コマンド33の予測モデルを生成し、それを、主制御部51を介してスレーブ制御部24の時系列予測器93に供給する。
図10は、データ学習部23の詳細な構成例を示すブロック図である。
図10において、データ学習部23は、ダイナミクス記憶ネットワーク取得部121、ダイナミクス記憶ネットワーク保持部122、時系列データ取得部123、学習部124、およびダイナミクス記憶ネットワーク供給部125を有している。
ダイナミクス記憶ネットワーク取得部121は、主制御部51を介して、スレーブ制御部24の時系列予測器93よりダイナミクス記憶ネットワーク131を取得し、それをダイナミクス記憶ネットワーク保持部122に供給する。ダイナミクス記憶ネットワーク131は、詳細については後述するが、内部状態量を持つ力学系近似モデルをノードとするネットワーク(内部状態量を持つ力学系近似モデルを保持(記憶)するノードによって構成されるネットワーク)であり、時系列予測器93において使用される、リカレントニューラルネットワークを用いた予測モデルである。
ダイナミクス記憶ネットワーク保持部122は、ダイナミクス記憶ネットワーク取得部121より供給されたダイナミクス記憶ネットワーク131を一時的に保持する。このダイナミクス記憶ネットワーク保持部122のダイナミクス記憶ネットワーク131は、学習部124に利用される。
時系列データ取得部123は、主制御部51を介して、データ記録部22より、関節角コマンド33、関節角センサデータ34、およびボール座標データ37等の時系列データを取得し、それを学習部124に供給する。
学習部124は、ダイナミクス記憶ネットワーク保持部122よりダイナミクス記憶ネットワーク131を取得すると、供給される時系列データを教示データとして、ダイナミクス記憶ネットワーク131に対して学習処理を行い、ダイナミクス記憶ネットワーク131を更新する。
この時系列データに含まれる各データには、ラベル(データが、どのようなカテゴリのデータであるかを表す情報)が付与されていない。従って、学習部124は、時系列データに、どのようなカテゴリのデータが含まれているのかは未知であり、そのカテゴリの数も未知であるものとして学習を行う。
図10の例において、ダイナミクス記憶ネットワーク131は、それぞれがリカレントニューラルネットワークを有するノード131−4乃至131−9により構成されている。
学習部124は、ダイナミクス記憶ネットワーク131全体によって、時系列データの特徴を適切に表現できるように学習を行う。ダイナミクス記憶ネットワーク131を構成するそれぞれのノード131−4乃至131−9は自己組織的に学習が行われる。
ここで、1つのノードが必ずしも1つのカテゴリに対応するとは限らないということには注意しておく必要がある。むしろ、複数のノードによって、あるカテゴリが構成されると見ることができる。例えば、時系列データにカテゴリ「A」、「B」、「C」の3つのカテゴリのデータが含まれる場合には、カテゴリ「A」、「B」、「C」それぞれが複数のノードによって学習されることがある。また、時系列データに含まれるデータが明確にカテゴリ分けできない(人間がカテゴリ分けできない)場合であっても、学習は可能である。
ダイナミクス記憶ネットワーク131は、複数のノードで構成されるネットワークである。ノードの一つ一つは時系列パターンを保持するために利用される。そして、ノードとノードは結合関係を持つことができる。この結合関係をリンクと呼ぶ。図10のダイナミクス記憶ネットワーク131では、例えば、ノード131−4は、ノード131−5およびノード131−6と結合関係を有するが、この結合関係がリンクにあたる。
図11と図12に、ダイナミクス記憶ネットワークの代表的な例を示す。
図11のダイナミクス記憶ネットワーク140は、すべてのノード141乃至147がリンクを有していない。
これに対して、図12のダイナミクス記憶ネットワーク150は、すべてのノード151乃至159が2次元的に配置され、縦方向および横方向に隣接するノード間にリンクが与えられている。ここで、リンクは空間上にノードが配置される構造を与えるために利用される。つまり、図12のダイナミクス記憶ネットワーク150は、2次元的なノードの配置構造を与えたダイナミクス記憶ネットワークの例であり、図11のダイナミクス記憶ネットワーク140は、ノードの配置に空間的な制約がない構造を与えたダイナミクス記憶ネットワークの例である。
リンクによって与えられる空間的なノードの配置構造に基づき、その空間上での距離関係が決定される。例えば、図12のダイナミクス記憶ネットワーク150の場合、あるノードに着目したとき、その着目ノードとリンクで直接結合された、着目ノードに隣接するノードは(着目ノードとの距離が)最も近く、その隣接ノードから先のリンクを順にたどっていくことで到達するノードは(着目ノードとの距離が)少しずつ遠くなっていく。
これに対して、図11のダイナミクス記憶ネットワーク140の場合、空間上における距離関係は与えられない。
図11や図12の例以外にも、リンクの構成の仕方によって、ノードの空間上における配置構造を変えることができ、その配置構造は、リンクを使うことで任意に設定することができる。
図13は、ダイナミクス記憶ネットワーク131の1つのノードの詳細例を示す図である。
ダイナミクス記憶ネットワークの1つのノードは、内部状態量を持つ力学系近似モデル161と、その力学系近似モデル161のパラメータを学習するための学習データ(教示データ)を記憶しておく学習データ記憶部162を有している。内部状態量を持つ力学系近似モデル161としては、例えばリカレントニューラルネットワークなどが利用される。
図13では、力学系近似モデル161として、三層型ニューラルネットワーク(NN)の出力層から入力層への回帰ループを持つリカレントニューラルネットワーク(RNN)が用いられている。このリカレントニューラルネットワークを用いて、時系列データにおける時刻tの状態ベクトルXtを入力し、時刻t+1の状態ベクトルXt+1を予測して出力することを学習(予測学習、prediction learning)することにより、対象となる時系列データの時間発展法則を学習することができる。
リカレントニューラルネットワークのような内部状態量を持つ力学系近似モデルのパラメータの推定方法には、Back-Propagation Through Time 法が利用される。(参考文献: D. E. Rumelhart, G. E. Hinton & R. E. Williams, 1986 “Learning internal representations by error propagation”, In D. E. Rumelhart & J. McClelland, "Parallel distributed processing", pp. 318-364, Cambridge, MA: MIT Press)
内部状態量を持つ力学系近似モデル161では、学習データ記憶部162に記憶された学習データの力学的な特性が学習され、これにより、内部状態量を持つ力学系近似モデル161と学習データ記憶部162のデータは対応関係を持つことになる。
ここで、学習に使われるデータは時系列データであることから、内部状態量を持つ力学系近似モデル161はダイナミクスを学習することになる。
図10に戻り、以上のようなダイナミクス記憶ネットワーク131の更新が完了すると、学習部124は、更新されたダイナミクス記憶ネットワーク131をダイナミクス記憶ネットワーク保持部122に戻す。
ダイナミクス記憶ネットワーク供給部125は、その更新されたダイナミクス記憶ネットワーク131を、ダイナミクス記憶ネットワーク保持部122より取得し、それを、主制御部41を介して、スレーブ制御部24の時系列予測器93に供給する。
図14は、時系列予測器93の詳細な構成例を示すブロック図である。
図14に示されるように、時系列予測器93は、入力部171、特徴抽出部172、認識部173、ネットワーク記憶部174、内部状態記憶部175、および生成部176を有している。
入力部171は、データ統合部92より供給された時系列データ(1つ前の関節角コマンド33、並びに、スレーブ13より供給された関節角センサデータ34およびボール座標データよりなるベクトルデータ)を受け付け、それを特徴抽出部172に供給する。
特徴抽出部172では、入力部171より供給された時系列データから特徴量の抽出が行われる。例えば、センサ信号の1つである音声信号に対して一定時間間隔で周波数分析などの処理が施され、メルケプストラムなどの特徴量が時系列に抽出される。
ここで、メルケプストラムとは音声認識などで広く利用されている特徴量である。特徴抽出部172が時系列データより特徴量を時系列に抽出することにより得られる、その特徴量の時系列データは認識部173の内部状態量更新部181および生成部176の時系列データ生成部193に供給される。
認識部173は、特徴抽出部172より供給された時系列データに対して、それまでの学習の結果である、ネットワーク記憶部174に記憶されているダイナミクス記憶ネットワークに保持されたダイナミクスと照らし合わせ、最も類似したダイナミクスを決定し、その結果を認識結果として生成部176に供給する。
認識部173は、内部状態量更新部181、スコア計算部182、勝者ノード決定部183、および認識結果出力部184を有している。
内部状態量更新部181は、内部状態記憶部175から前回更新されて記憶されている内部状態量をネットワーク記憶部174に記憶されているダイナミクス記憶ネットワークの各ノードの力学系近似モデルへ読み込み、入力となる時系列データに基づいて、各内部状態量を更新する。
スコア計算部182は、学習時に勝者ノードを決定するために行う処理と同じスコア計算を行う。スコア計算部182のスコア計算の結果、各ノードにはスコアが付与される。上述したように、内部状態量を持つ力学系近似モデルがリカレントニューラルネットワークで与えられる場合には、予測出力の平均二乗誤差がスコアとして利用される。
つまり、認識部173においては、内部状態量を更新しながら、スコアの計算が行われる。勝者ノード決定部183は、スコア計算部182において得られるスコアに基づき、最もスコアの良いノード、すなわち勝者ノードを決定する。さらに、勝者ノード決定部183は、この最もスコアの良いノード(勝者ノード)に対応するダイナミクスを、入力された時系列データに最も適合するダイナミクスとして選択する。
上述した内部状態量更新部181は、勝者ノードが決定されたときの内部状態量の更新値(更新された内部状態量)と、その勝者ノードが決定されたときの内部状態量の初期値とを、内部状態記憶部175に記憶させる。
ここで、内部状態記憶部175に記憶された内部状態量の更新値は、認識部173での次回のスコア計算に利用される。また、内部状態記憶部175に記憶された内部状態量の初期値は、生成部176において利用される。
認識部173の認識結果出力部184は、勝者ノード決定部183においてどのノードが選択されたかという情報を認識結果として出力し、生成部176の生成ノード決定部191に供給する。
ネットワーク記憶部174は、時系列予測モデルとしてのダイナミクス記憶ネットワークを記憶する記憶部である。なお、上述した、ダイナミクス記憶ネットワークのノードの一部である学習データ記憶部162は、ここでは、ネットワーク記憶部174の記憶領域の一部として構成される。
内部状態記憶部175は、上述の認識部173の処理において更新された力学系近似モデル、すなわち、ネットワーク記憶部174のダイナミクス記憶ネットワークの内部状態量(内部状態)を保持する。この内部状態量は、認識部173によって更新され、生成部176によって生成処理に利用される。
生成部176は、ダイナミクス記憶ネットワークに保持されたダイナミクスから、必要に応じて次の時系列データ(予測情報)を生成する。生成部176は、生成ノード決定部191、内部状態読み込み部192、時系列データ生成部193、および生成結果出力部194を有している。
生成ノード決定部191は、認識部173より供給される認識結果に基づき、時系列データを生成すべきノード(生成ノード)を決定する。つまり、認識部173の認識の処理において決定された勝者ノードが生成ノードに決定される。生成部176は、認識部173の認識の処理において決定された勝者ノードから時系列データ(予測情報)を生成する。
内部状態読み込み部192は、ネットワーク記憶部174に記憶されたダイナミクス記憶ネットワークの生成ノードの力学系近似モデルに内部状態記憶部175の記憶値を、内部状態量の初期値として読み込む。即ち、内部状態読み込み部192は、内部状態記憶部175の記憶値のうちの、生成ノードが認識部173において勝者ノードに決定されたときの内部状態量の初期値を読み出し、生成ノードの力学系近似モデルの内部状態量の初期値にセットする。
時系列データ生成部193は、特徴抽出部172において抽出された特徴量の時系列データを読み込み、その時系列データと、内部状態読み込み部192によって内部状態量の初期値がセットされた力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。
生成結果出力部194は、その時系列データ生成部193により生成された時系列データ(予測情報)を、生成結果としてデータ統合部92(図8)に出力する。
ここで、ダイナミクス記憶ネットワークで学習されるダイナミクスの数は、ダイナミクス記憶ネットワークのノード数と一致するので、そのノード数に応じた時系列データを認識し、その認識結果に応じて、時系列データを生成することが可能となる。
図15は、マスタ12やスレーブ13として利用されるロボットの斜視図である。
図15に示されるように、本実施の形態においては、2足歩行の人型のロボット装置をマスタ12およびスレーブ13として用いる場合ついて説明するが、実際には、2足歩行のロボット装置に限らず、4足又は車輪等により移動可能なロボット装置等、どのようなロボット装置であってもよい。また、駆動装置、通信装置、情報処理装置、またはAV機器等、ロボット以外のどのような装置であってももちろんよい。
図15に示される人型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、環境中の情報を視覚や聴覚を使って取得し、環境の状況に応じた行動を、教示された経験やあらかじめプログラムされた行動計画に従って、再現することが可能である。
図15において、マスタ12とされるロボット装置は、体幹部ユニット201の所定の位置に頭部ユニット202が連結されると共に、左右2つの腕部ユニット203Rおよび203Lと、左右2つの脚部ユニット204Rおよび204Lが連結されて構成されている。これらのR及びLは、それぞれ、右または左を示す接尾辞であり、以下において、左右を互いに区別する必要のない場合は省略される。
図15のロボット装置が具備する関節自由度構成を図16に模式的に示す。
頭部ユニット202を支持する首関節は、首関節ヨー軸211、首関節ピッチ軸212、および首関節ロール軸213という3自由度を有する。
上肢を構成する各々の腕部ユニット203Rおよび203Lは、肩関節ピッチ軸217、肩関節ロール軸218、上腕ヨー軸219、肘関節ピッチ軸220、前腕ヨー軸221、手首関節ピッチ軸222、手首関節ロール軸223、および手部224とで構成される。手部224は、実際には、さらに複数本の指を含む多関節・多自由度構造体である。ただし、手部224の動作は、ロボット装置全体の姿勢制御や歩行制御に対する寄与や影響が少ないので、以下においては、説明の簡略化のためにゼロ自由度とする。従って、左右の各腕部は、それぞれ7自由度を有する。
体幹部ユニット201は、体幹ピッチ軸214、体幹ロール軸215、および体幹ヨー軸216という3自由度を有する。
下肢を構成する各々の脚部ユニット204Rおよび204Lは、股関節ヨー軸225、股関節ピッチ軸226、股関節ロール軸227、膝関節ピッチ軸228、足首関節ピッチ軸229、足首関節ロール軸230、および足部231とで構成される。なお、股関節ピッチ軸226と股関節ロール軸227の交点は、ロボット装置全体の股関節位置を定義する。また、足部231は、実際には多関節・多自由度の足底を含んだ構造体であるが、以下においては説明の簡略化のため、ロボット装置の足底は、ゼロ自由度であるとする。従って、左右の各脚部は、それぞれ6自由度を有する。
以上のように、図16のロボット装置全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、これはあくまでも一例であり、マスタ12およびスレーブ13の自由度は32自由度に限定されるわけではない。つまり、マスタ12およびスレーブ13の制御パラメータの数(ロボットの場合、自由度すなわち関節数)は、いくつであってもよく、例えば、設計や制作上の制約条件や要求仕様等に応じて適宜増減可能である。
上述したようなロボット装置が有する各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、関節に設けられるアクチュエータは、小型且つ軽量であることが好ましい。
このようなロボット装置は、ロボット装置全体の動作を制御する制御システムを例えば体幹部ユニット201等に備える。図17は、マスタ12およびスレーブ13として用いられるロボット装置の制御システム構成を示す模式図である。図17に示されるように、ロボット装置内の制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール300、および、アクチュエータ450の駆動等ロボット装置の全身協調運動を制御する運動制御モジュール400により構成される。
思考制御モジュール300は、バスI/F(InterFace)301により互いに接続された、情緒判断や感情表現に関する演算処理を実行するCPU(Central Processing Unit)311、RAM(Random Access Memory)312、ROM(Read Only Memory)313、および外部記憶装置(ハード・ディスク・ドライブ等)314等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
この思考制御モジュール300は、バスI/F301を介して画像入力装置351から入力される画像データや、バスI/F301を介して音声入力装置352から入力される音声データ等、外界からの刺激等に従って、ロボット装置の現在の感情や意思を決定する。すなわち、上述したように、入力される画像データからユーザの表情を認識し、その情報をロボット装置の感情や意思に反映させることで、ユーザの表情に応じた行動を発現することができる。ここで、画像入力装置351は、例えばCCD(Charge Coupled Device)カメラを複数有し、音声入力装置352は、例えばマイクロホンを複数有している。
また、思考制御モジュール300は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール400に対して指令を発行する。
運動制御モジュール400は、バスI/F401により互いに接続された、ロボット装置の全身協調運動を制御するCPU411、RAM412、ROM413、および外部記憶装置(ハード・ディスク・ドライブ等)414等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置414には、例えば、オフラインで算出された歩行パターンや目標とするZMP(Zero Moment Point)軌道や、その他の行動計画を蓄積することができる。
この運動制御モジュール400には、図16に示したロボット装置の全身に分散するそれぞれの関節自由度を実現するアクチュエータ450、対象物との距離を測定する距離計測センサ(図示せず)、体幹部ユニット201の姿勢や傾斜を計測する姿勢センサ451、左右の足底の離床又は着床を検出する接地確認センサ452および453、足部231の足底に設けられる荷重センサ、並びに、バッテリ等の電源を管理する電源制御装置454等の各種の装置が、バスI/F401経由で接続されている。ここで、姿勢センサ451は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ452および453は、近接センサ又はマイクロ・スイッチ等で構成される。もちろん、それら以外のセンサにより構成されるようにしてもよい。
思考制御モジュール300と運動制御モジュール400は、共通のプラットフォーム上で構築され、両者間はバスI/F301およびバスI/F401を介して相互接続されている。
運動制御モジュール400は、思考制御モジュール300から指示された行動を体現すべく、各アクチュエータ450による全身協調運動を制御する。すなわち、CPU411は、思考制御モジュール300から指示された行動に応じた動作パターンを外部記憶装置414から取り出し、又は、内部的に動作パターンを生成する。そして、CPU411は、指定された動作パターンに従って、足部運動、ZMP軌道、体幹運動、上肢運動、または、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ450に転送する。
また、CPU411は、姿勢センサ451の出力信号によりロボット装置の体幹部ユニット201の姿勢や傾きを検出するとともに、各接地確認センサ452および453の出力信号により各脚部ユニット105Rおよび105Lが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置の全身協調運動を適応的に制御することができる。更に、CPU411は、ZMP位置が常にZMP安定領域の中心に向かうように、ロボット装置の姿勢や動作を制御する。
また、運動制御モジュール400は、思考制御モジュール300において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール300に返すようになされている。このようにしてロボット装置は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
次に、以上のような情報処理システム10のユーザ、すなわち、制御装置11やマスタ12を操作するユーザ(何名でもよい)に対して、表示部53に表示されるGUI画面について説明する。
図18は、モードコントロールコマンダ(Mode Control Commander)画面の例を説明する図である。
モードコントロールコマンダ画面510は、ユーザに、マスタ12の各関節のサーボゲインの設定値を入力させるためのGUI画面である。図18に示されるように、モードコントロールコマンダ画面510は、3列の構成となっており、左の列に各関節の名前の一覧が示され、中央の列に各関節の動作モードを、制御コマンドに従って動作するモード、ユーザ等の外部操作に従って動作するモード等、複数のモードの中から選択するモード選択欄が表示され、右の列に各関節のサーボゲインの値を設定する設定欄が表示されている。
ユーザが、制御装置11の表示部53に表示された、このモードコントロールコマンダ画面510に対する入力操作を入力部52に対して行うことにより、その設定指示が主制御部51を介してサーボゲイン設定部61に供給される。つまり、ユーザは、このモードコントロールコマンダ画面510に対して入力操作を行うことにより、容易に、マスタ12の各関節のゲイン値を設定することができる。
図19は、センサモータビューア(Sensor Moter Viewer)画面の例を説明する図である。
センサモータビューア画面520は、制御対象であるスレーブ13より供給される各種のセンサ情報を画像情報として表示するGUI画面である。つまり、センサモータビューア画面520は、図7のデータ統合部65や図8のデータ統合部92がデータ表示制御部25に供給した各種情報を、ユーザが視覚的に確認するためのビューアである。つまり、ユーザは、このセンサモータビューア画面520に表示される情報を参照することにより、容易に、スレーブ13の状態をより正確に把握することができる。
図20は、センサモータレコーダ(Sensor Motor Recorder)画面の例を説明する図である。
センサモータレコーダ画面530は、データ記録部22による時系列データの記録や再生に関する指示を、ユーザに入力させるためのGUI画面である。センサモータレコーダ画面530の画面左部分には、記録された時系列データのファイル一覧が表示され、センサモータレコーダ画面530の画面右部分には、GUIボタンやチェックボックス等、各種操作指示を受け付ける機能が設けられている。ユーザは、表示部53に表示されたこのセンサモータレコーダ画面530に対する操作を、入力部52より入力することにより、容易に、データ記録部22に時系列データを記録させたり、再生部66にデータ記録部22に記録されている時系列データを再生させたりすることができる。
以上のように、表示部53が、各種GUI画面をユーザに対して表示し、入力部52が、そのGUI画面に対するユーザ指示を受け付けるので、ユーザは、容易に指示を入力したり状況を把握したりすることができる。
次に、以上のような情報処理システム10において実行される各種処理の流れについて説明する。
最初に、図21のフローチャートを参照して、図7の制御装置11(制御装置11A)による、サーボゲイン設定処理の流れの例を説明する。
サーボゲイン設定処理が開始されると、ステップS1において、表示部52は、主制御部51の制御に基づいて、モードコントロールコマンダ画面510(図18)を表示する。ステップS2において、主制御部51は、入力部52より供給される、モードコントロールコマンダ画面510に対するユーザ指示に基づいて、サーボゲイン設定処理を終了するか否かを判定し、ユーザより終了指示を受けておらず、終了しないと判定した場合、処理をステップS3に進める。
ステップS3において、主制御部51は、入力部52より供給される、モードコントロールコマンダ画面510に対するユーザ指示に基づいて、サーボゲインの設定が指示されたか否かを判定し、ユーザより設定を指示されたと判定した場合、処理をステップS4に進める。ステップS4において、サーボゲイン設定部61は、入力されたサーボゲイン設定コマンド31を、送信部71を介してマスタ12に送信する。
ステップS4の処理を終了すると、サーボゲイン設定部61は、処理をステップS2に戻し、それ以降の処理を繰り返す。また、ステップS3において、サーボゲインの設定が指示されていないと判定した場合、主制御部51は、ステップS4の処理を省略し、処理をステップS2に戻し、それ以降の処理を繰り返す。
また、ステップS2において、ユーザより終了指示を受け、終了すると判定した場合、主制御部51は、サーボゲイン設定処理を終了する。
次に、図22のフローチャートを参照して、図7の制御装置11(制御装置11A)による、時系列データの、記録処理の流れの例を説明する。
表示部53に表示されたセンサモータレコーダ画面530に対する操作入力が、入力部52に入力され、記録処理が開始されると、主制御部51は、ステップS21において、記録処理を終了するか否かを判定する。ユーザが、センサモータレコーダ画面530において記録処理の終了を指示しておらず、記録処理を終了しないと判定した場合、主制御部51は、処理をステップS22に進める。
ステップS22において、無線通信部62の受信部72は、マスタ12の関節角センサデータ32を受け付け、ステップS23において、その関節角センサデータ32を取得したか否かを判定し、取得していないと判定した場合、処理をステップS21に戻し、それ以降の処理を繰り返す。
また、ステップS23において、関節角センサデータ32を取得したと判定した場合、受信部72は、処理をステップS24に進める。ステップS24において、センサデータ・コマンド変換部63は、受信部72より関節角センサデータ32を取得すると、その関節角センサデータ32を関節角コマンド33に変換する。ステップS25において、無線通信部64の送信部73は、センサデータ・コマンド変換部63より供給された関節角コマンド33をスレーブ13に供給する。
ステップS26において、無線通信部64の受信部74は、スレーブ13の関節角センサデータ34およびボール座標データ37を受け付け、ステップS27において、その関節角センサデータ34およびボール座標データ37を取得したか否かを判定し、取得していないと判定した場合、処理をステップS26に戻し、取得したと判定されるまで繰り返す。ステップS27において、関節角センサデータ34およびボール座標データ37を取得したと判定した場合、受信部74は、処理をステップS28に進める。
ステップS28において、データ統合部65は、受信部74より供給された、スレーブ13の関節角センサデータ34およびボール座標データ37と、センサデータ・コマンド変換部63より供給された関節角コマンド33とを統合する。
データ記録部22は、ステップS29において、その統合された統合情報(ベクトルデータ)を時系列データの1つとして記録し、処理をステップS21に戻し、それ以降の処理を繰り返させる。
ステップS21において、ユーザがセンサモータレコーダ画面530において記録処理の終了を指示しており、記録処理を終了すると判定した場合、主制御部51は、記録処理を終了する。
次に、図23のフローチャートを参照して、図7の制御装置11(制御装置11A)の再生部66による、再生処理の流れの例を説明する。
表示部53に表示されたセンサモータレコーダ画面530に対する操作入力が、入力部52に入力され、再生処理が開始されると、再生部66は、ステップS41において、指定されたファイルに含まれる関節角コマンド33をデータ記録部22より読み出す。
データ記録部22には、ユーザがマスタ12を操作して入力した情報より生成された関節角コマンド33を含む時系列データが、その記録単位毎にファイル化されて管理されている。つまり、上述した記録処理1回分の時系列データが1つのファイルとして管理されている。再生処理においては、このようなファイル内の時系列データを時系列に沿って順次再生する。もちろん複数のファイルの時系列データを連続して再生するようにしてもよいし、ファイルに含まれる時系列データの一部のみを再生するようにしてもよい。
ステップS42において、再生部66は、その読み出した関節角コマンド33を、送信部73を介してスレーブ13に供給する。関節角コマンド33を供給されたスレーブ13は、その関節角コマンド33に基づいた動作を行う。再生部66は、ステップS43において、指定されたファイルの全ての関節角コマンドを供給したか否かを判定し、未処理の関節角コマンドが存在すると判定した場合、処理をステップS41に戻し、それ以降の処理を繰り返す。また、ステップS43において、ファイル内の全ての関節角コマンドを供給したと判定した場合、再生部66は、再生処理を終了する。
次に、図24のフローチャートを参照して、学習処理の流れの例を説明する。
学習処理が開始されると、データ学習部23のダイナミクス記憶ネットワーク取得部121は、ステップS61において、ダイナミクス記憶ネットワークを時系列予測器93より取得し、ダイナミクス記憶ネットワーク保持部122に保持させる。
ステップS62において、学習部124は、ダイナミクス記憶ネットワーク保持部122に保持されているダイナミクス記憶ネットワーク131を取得し、その全てのパラメータの初期化を行う。具体的には、ダイナミクス記憶ネットワーク131の各ノードの内部状態量を持つ力学系近似モデルのパラメータに、適当な値が初期値として付与される。
ステップS63において、学習部124は、学習処理を終了するか否かを判定し、時系列データもまだ供給され続けており、終了しないと判定した場合、処理をステップS64に進める。
ステップS64において、時系列データ取得部123は、関節角コマンド33、関節角線─データ34、およびボール座標データ37等をまとめたベクトルデータよりなる時系列データの、新たな時刻のデータを取得する。学習部124は、ステップS65において、その時系列データに対して、ダイナミクス記憶ネットワークに含まれる各ノードに対応する内部状態量を持つ力学系近似モデルとのスコア計算を、内部状態量を更新しながら行う。
内部状態量を持つ力学系近似モデルがリカレントニューラルネットワークで与えられる場合には、出力誤差がスコアとして利用される。出力誤差の計算方法には、一般的に平均二乗誤差が用いられる。スコア計算の結果、入力データに対して、全てのノードにスコアが付与されることになる。
学習部124は、ステップS66において、ダイナミクス記憶部ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノード、すなわち勝者ノードを決定する。さらに、学習部124は、ステップS67において、勝者ノードを中心として各ノードの学習の重みを決定し、ステップS68において、各ノードの内部状態量を持つ力学系近似モデルのパラメータの更新を、学習の重みに応じて行う。
ここで、勝者ノードのパラメータだけを更新する方法はWTA(winner-take-all)に対応し、勝者ノードの近傍のノードに対してもパラメータの更新を行う方法がSMA(soft-max adaptation)に対応する。学習部124は、SMAで、パラメータの更新を行う。
図25は、ノードのパラメータをSMAで更新するときに用いられる学習の重みを示している。
図25の左において、ノード541乃至ノード546は、ダイナミクス記憶ネットワークを構成するノードである。ノード541乃至ノード546のうちのノード541は、勝者ノードであり、ノード542乃至ノード546は、勝者ノード541からの距離が近い順に並べられている。
図25の右のグラフは、学習の重みと勝者ノードからの距離の関係を示しており、横軸は学習の重みを、縦軸は勝者ノードからの距離を、それぞれ示している。
図25の右のグラフによれば、勝者ノード541に対しては、学習の重みを最も大きくし、他のノード542乃至ノード546それぞれに対しては、勝者ノード541からの距離が離れるにしたがって、学習の重みが小さくなるように学習の重みが決定される。
勝者ノードからの距離は、ダイナミクス記憶ネットワークのリンクによって与えられる空間上のノードの配置構造に基づいて決定される。例えば、図12の2次元上にノード141乃至ノード159が配置されたダイナミクス記憶ネットワーク150において、勝者ノードが、例えばノード156であれば、その勝者ノード156に隣接するノード153、ノード155、およびノード159が最も近く、ノード152、ノード154、およびノード158がその次に近く、ノード151とノード157が最も遠いものとなる。この場合、ノードとノードをつなぐ最小のリンク数を距離として利用すると、近い順に距離は1、2、3として与えられることになる。
図11のようにリンクを与えない場合には、入力データ(ノードのスコアの計算に用いられる時系列データ)に基づき各ノードにおいて計算されたスコアの良い順にノードを並べ、その順位が勝者ノードからの距離として利用される。つまり、勝者ノードから順に、0、1、2、3、・・・が距離として与えられる。このような勝者ノードからの距離の与え方は、ベクトル・パターンのカテゴリー学習に用いられる自己組織化マップ(SOM(self-organization map),例えば、『T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京』参照)やNeural-Gas algorithmで利用されている方法と同じである。この勝者ノードからの距離と学習の重みの関係を示したのが次式である。
α=G×γd/△ .....(1)
式(1)において、αは学習の重み、Gは(学習の重みαのうちの)勝者ノードに与える学習の重み、γは減衰係数で0<γ<1の範囲の定数、dは勝者ノードからの距離、ΔはSMAにおける近傍に対する学習の重みを調整するための変数を、それぞれ示している。
今、距離dに関しては、勝者ノードからの距離が近い順に1、2、3で与えられるとし、勝者ノードに対してはd=0が与えられたとする。この時、例えば、G=8、γ=0.5、Δ=1とすれば、学習の重みαは、勝者ノードからの距離dが離れるにしたがって、8、4、2、1と求まることになる。ここで、変数Δを少しずつ0に近づけていくと、学習の重みαは勝者ノードから離れるにしたがってより小さい値となる。そして、変数Δが0に近くなると、勝者ノード以外のノードの学習重みはほとんど0となり、これはWTAと同様となる。このように、変数Δを調整することで、SMAにおける勝者ノードの近傍に対する学習の重みαを調整することが可能となる。基本的には、変数Δは学習の開始時は大きくし、時間の経過と伴に小さくなるように調整が行われる。
このような学習の重みαに基づき、勝者ノードのパラメータは入力データの影響を最も強く受け、勝者ノードから離れるにしたがって、その影響が小さくなるように、他のノード(勝者ノード以外のノード)のパラメータの更新が行われる。
図26は、ノードのパラメータの更新の方法を説明する図である。
いま、あるノードのパラメータ更新前の内部状態量を持つ力学系近似モデル161のパラメータの学習に使われた学習データ(教示データ)である時系列データが学習データ記憶部162に格納されているとする。
この更新前の学習データを旧学習データと呼ぶものとする。
ノードのパラメータの更新は、例えば、そのノードに対して決定された学習の重みαに応じて、入力データ551を、旧学習データ552に追加し、その結果得られる新学習データを用いて行われる。即ち、学習の重みαに応じて、入力データ551と旧学習データ552を足し合わせる(混合する)ことで、新学習データが構成され、この新学習データが学習データ記憶部162に記憶される。そして、その新学習データによって、内部状態量を持つ力学系近似モデル161のパラメータが更新される。
パラメータの更新には、例えば、Back-Propagation Through Time 法が適用される。その場合、具体的には、更新前の内部状態量を持つ力学系近似モデル161のパラメータを初期値とし、新学習データに基づくパラメータの推定がBack-Propagation Through Time 法によって行われる。
ここで、新学習データを構成する際の、入力データ551と旧学習データ552とを足し合わせる比率に関して説明する。
仮に、入力データ551と旧学習データ552との比率を1:0にすると、新学習データは完全に入力データ551だけで構成されることになる。
一方、入力データ551と旧学習データ552との比率を0:1にすると、新学習データには入力データ551は追加されず、旧学習データ552だけで構成されることになる。つまり、入力データ551と旧学習データ552との比率を変えることで、パラメータに与える入力データ551の影響の強さを変えることができる。
入力データ551と旧学習データ552との比率を、前に述べた学習の重みαに基づいて適切に調整することによって、入力データの影響を適切にパラメータに与える学習を行うことができる。その調整方法の1つのやり方について説明する。
まず、ノードが学習データ記憶部162に保持できる時系列データの個数を一定とし、その値をHとする。つまり、H個の時系列データで内部状態量を持つ力学系近似モデル161のパラメータが学習されるものとする。そして、入力データ551と旧学習データ552との比率を、ノードの学習の重みαに応じて、α:H−αとなるように調整する。例えば、H=100とすれば、α=8の場合、入力データ551と旧学習データ552との比率は、8:92となるように調整が行われることになる。そして、このような比率で、入力データ551と旧学習データ552とを足し合わせることで、H個の新学習データが構成される。
α:H−αの比率で、入力データ551と旧学習データ552とを足し合わせる方法としては、例えば、以下のような方法を採用することができる。
即ち、まず、入力データ551については、時系列データが1つ与えられるだけなので、これをα倍したデータを追加する。例えば、α=8の場合、入力データ551としての同一の時系列データを8個追加する。
一方、旧学習データ552については、その個数はHであり、これをH−αに調整する必要がある。例えば、上述したように、α=8の場合、旧学習データ552を、100から92に減らす必要がある。そこで、学習データ記憶部162に記憶された旧学習データ552としての100の時系列データの順番に応じて、最も古いものからα個だけ除去することで、旧学習データ552の個数をH−α個に調整する。
以上のようにして個数を調整した入力データ551と旧学習データ552とを足し合わせて新学習データとすることにより、学習データ記憶部162には、常に最新のH個の時系列データだけが学習データとして保持される。このように、学習データ(新学習データ)に占める入力データ551の割合を学習の重みαによって調整することができる。
なお、ここで説明した方法以外にも、学習の重みαに応じて入力データ551をパラメータに反映させる方法であればどのような方法を用いても良い。重要なのは、新しいデータ(入力データ551)が与えられるたびにパラメータを少しずつ修正することと、その際に、学習の重みαに応じて入力データ551の学習に与える影響の強さを調整することである。
また、学習を適切に行うには、学習の重みαを時間の経過とともに適切に調整することが非常に重要であり、本実施の形態では、変数Δによって、学習の重みαを調整する方法を述べたが、基本的には、入力データ551の影響を受けるノードが、勝者ノードを中心とする広い範囲のノードから徐々に狭い範囲のノードへになるように、学習の重みαを調整していくことが重要であり、それを実現する方法であれば、どのような方法を用いても良い。
以上のような学習手法により、ダイナミクス記憶ネットワークの各ノードのパラメータは、学習部124に時系列データ(入力データ)が入力されるたびに、自己組織的に学習されることになる。
図24に戻り、ステップS68の処理を終了すると、学習部124は、処理をステップS63に戻し、それ以降の処理を繰り返す。すなわち、データ学習部23は、時系列データの取得を終了するまで、ステップS63乃至ステップS68の処理を繰り返す。
ステップS63において、学習処理を終了すると判定した場合、学習部124は、更新したダイナミクス記憶ネットワーク131をダイナミクス記憶ネットワーク保持部122に戻し、処理をステップS69に進める。ステップS69において、ダイナミクス記憶ネットワーク供給部125は、ダイナミクス記憶ネットワーク保持部122に保持されているダイナミクス記憶ネットワーク131を、主制御部51を介して、時系列予測器93に供給し、学習処理を終了する。
次に、図27のフローチャートを参照して、図8の制御装置11(制御装置11B)による、スレーブ13の制御処理の流れの例を説明する。
制御処理が開始されると、主制御部51は、ステップS81において、制御処理を終了するか否かを判定し、ユーザより終了指示が入力されたりしておらず、制御処理を終了しないと判定した場合、処理をステップS82に進める。
ステップS82において、受信部102は、スレーブ13の、関節角センサデータ34およびボール座標データ37を受け付け、ステップS83において、そのスレーブ13の関節角センサデータ34およびボール座標データ37を取得したか否かを判定する。取得していないと判定した場合、処理をステップS81に戻し、それ以降の処理を繰り返す。
ステップS82において、スレーブ13の関節角センサデータ34およびボール座標データ37を取得したと判定した場合、受信部102は、処理をステップS84に進める。ステップS84において、データ統合部92は、関節角センサデータ34、ボール座標データ37、および、1つ前のステップの関節角コマンド33を統合し、ベクトルデータを生成し、そのベクトルデータを時系列データとして時系列予測器93に供給する。ステップS85において、時系列予測器93は、現在の時系列データに基づいて、次の時刻の時系列データ(予測情報)を予測し、生成する。この予測処理の詳細については、後述する。
ステップS86において、データ統合部92は、ステップS85において生成された次の時刻の予測情報に含まれる、次の時刻の関節角コマンド33を、送信部101を介してスレーブ13に供給し、処理をステップS81に戻す。
すなわち、スレーブ制御部24の各部は、主制御部51がステップS81において終了すると判定するまで、ステップS82乃至ステップS86の処理を繰り返す。ステップS81において、主制御部51がユーザ指示等に基づいて、制御処理を終了すると判定した場合、制御処理を終了する。
次に、図27のステップS85において実行される予測処理の詳細の流れについて、図28のフローチャートを参照して説明する。
ステップS101において、時系列予測部93は、予測処理を終了するか否かを判定し、終了しないと判定した場合、ステップS102に処理を進める。ステップS102において、入力部171が時系列データを取得し、ステップS103において、特徴抽出部172が時系列データより特徴を抽出する。内部状態量更新部181が内部状態記憶部175に記憶されている内部状態量を更新した後、ステップS104において、スコア計算部182がスコア計算を行い、ステップS105において、勝者ノード決定部183が勝者ノードを決定し、ステップS106において、認識結果出力部184が認識結果を出力する。
生成部176は、ステップS107において、その認識結果を制御信号として取得する。ステップS108において、生成ノード決定部191が予測情報の生成に用いるノードを決定し、ステップS109において、内部状態読み込み部192がダイナミクス記憶ネットワークの内部状態を読み込み、ステップS110において、時系列データ生成部193が予測情報を生成し、ステップS111において、生成結果出力部194が予測情報をデータ統合部92に出力する。
ステップS111の処理を終了すると、生成結果出力部194は、処理をステップS101に戻し、それ以降の処理を繰り返し実行させる。すなわち、時系列予測器93の各部は、ステップS101において、予測処理を終了すると判定されるまで、ステップS101乃至ステップS111の処理を繰り返し実行する。ステップS101において、予測処理を終了すると判定した場合、時系列予測器93は、予測処理を終了し、処理を図27のステップS85に戻し、ステップS86以降の処理を実行させる。
以上のようにして、各処理が実行される。これにより、情報処理システム10は、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。
特に、スレーブ13に対して送信される関節角コマンド33と、そのスレーブ13から受信された関節度センサデータ34およびボール座標データ37を統合化して記録することにより、これらのデータを、同期を取りながら時系列データとして収集することができる。
また、その収集された関節角コマンド33をスレーブ13において再生することによって環境とのインタラクションを行わせることができ、情報処理システムが有する制御遅延を反映した自律制御用の時系列教示データを作成することができる。つまり、制御装置11は、制御遅延を含む関係の制御コマンドおよびセンサ情報の時系列データを教示データ(学習データ)として、時系列予測器の予測モデルの学習を行うことにより、その時系列予測器を用いてスレーブ13のセンサ情報に対して制御遅延時間分先の時刻にスレーブ13を制御する制御コマンドを予測して生成することができ、制御における通信や処理の遅延に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。
さらに、マスタ12に、スレーブ13と実質的に同一の幾何形状を有する装置(幾何モデルが共通のロボット)を適用することにより、幾何モデルの変換等の処理が不要になるので、関節角コマンド33の生成が容易になる。また、制御対象であるスレーブ13の動きを確認しながら、コントローラであるマスタ12を操作するユーザも、直感的にマスタ12の操作方法を理解することができ、容易に、スレーブ13をユーザの思い通りに制御するように、マスタ12を操作することができる。さらに、そのマスタ12の各関節のサーボのゲインをそれぞれ個別に値を設定することにより、各関節のゲインを適切に設定することができ、不必要な関節を動かさずに教示を行うことが可能になる。つまり、教示時に、不要な関節を手で支える等の、余分な自由度を制御する必要がなくなるので、教示者に及ぼす負担を軽減させることができる。
また、マスタ12の操作によって生成された関節角コマンド33をスレーブ13において再生することにより、ユーザは、スレーブ13の制御結果(動き)を確認しながらマスタ12を操作し、制御装置11に、関節角コマンド33を生成させることができる。つまり、ユーザは、スレーブ13の動きを確認しながらマスタ12の操作(つまり、スレーブ13の制御や、予測モデルの学習のための教示データの生成)を行うこともできる。このようにすることにより、多様に変化して予測が困難な環境においても、ユーザは、容易に、スレーブ13と環境との複雑な相互作用の教示を行うことができる。すなわち、環境の変化への耐性を向上させることができる。
なお、このような教示者の負担を軽減や操作性の向上は、スレーブ13の制御操作や教示データの生成を容易にし、適切な予測モデルの生成、すなわち、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することにも寄与する。
なお、以上においては、時系列予測器93は、入力された時系列データより予測情報を生成するのみであるように説明したが、これに限らず、この予測情報を生成するとともに、入力された時系列データを教示データとして学習を行うようにしてもよい。
図29は、時系列予測器の他の構成例を示すブロック図である。
図29に示される時系列予測器693は、基本的に図14に示される時系列予測器93と同様の構成を有しているが、時系列予測器93の構成に加えて、データ学習部23を有している点で異なる。
このデータ学習部23は、図8に示されるデータ学習部23と同様のものであるのでその詳細についての説明は省略する。
図29において、データ学習部23は、時系列データ生成部193に供給されるのと同一の、特徴抽出部172において特徴を抽出された時系列データに基づいてネットワーク記憶部174に記憶されているダイナミクス記憶ネットワークの学習を行い、ダイナミクス記憶ネットワークを更新する。
このようにすることにより、制御装置11は、スレーブ13のセンサ情報を用いた自律制御中に、時系列予測器の予測モデルの学習を行い、ダイナミクス記憶ネットワークを更新することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図30に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図30において、パーソナルコンピュータ700のCPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部713からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース710も接続されている。
入出力インタフェース710には、キーボード、マウスなどよりなる入力部711、CRTやLCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部712、ハードディスクなどより構成される記憶部713、モデムなどより構成される通信部714が接続されている。通信部714は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース710にはまた、必要に応じてドライブ715が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア721が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部713にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図30に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM,DVDを含む)、光磁気ディスク(MDを含む)、もしくは半導体メモリなどよりなるリムーバブルメディア721により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部713に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
なお、以上において、一つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明は、ロボット制御情報教示システムに適用することが可能である。
10 情報処理システム, 11 制御装置, 12 マスタ12 スレーブ, 14 ボール, 21 マスタスレーブ制御部, 22 データ記録部, 23 データ学習部, 24 スレーブ制御部, 25 データ表示制御部, 51 主制御部, 52 入力部, 53 出力部, 61 サーボゲイン設定部, 62 無線通信部, 63 センサデータ・コマンド変換部, 64 無線通信部, 65 データ統合部, 66 再生部, 91 無線通信部, 92 データ統合部, 93 時系列予測器, 121 ダイナミクス記憶ネットワーク取得部, 122 ダイナミクス記憶ネットワーク保持部, 123 時系列データ取得部, 124 学習部, 125 ダイナミクス記憶ネットワーク供給部, 162 学習データ記憶部, 173 認識部, 174 ネットワーク記憶部, 175 内部状態記憶部, 176 生成部, 181 内部状態量更新部, 182 スコア計算部, 183 勝者ノード決定部, 184 認識結果出力部, 191 生成ノード決定部, 192 内部状態読み込み部, 193 時系列データ生成部, 194 生成結果出力部, 201 ロボット装置
Claims (18)
- ユーザが操作する入力装置と、
制御対象である被制御装置と、
前記入力装置より入力された情報に基づいて、前記被制御装置を制御する制御装置と
を備える制御システムであって、
前記入力装置および前記被制御装置は、互いに同一の幾何形状を有する装置であり、
前記制御装置は、
ユーザが操作した前記入力装置より供給される前記入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、
前記取得手段により取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換する変換手段と、
前記変換手段により変換されて得られた前記制御コマンドを、前記被制御装置に供給する供給手段と
を備える制御システム。 - 制御対象である被制御装置と、
前記被制御装置を制御する制御装置と
を備える制御システムであって、
前記制御装置は、
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、
前記取得手段により取得された前記センサ情報と、前記被制御装置を制御する制御コマンドとに基づいて、前記センサ情報に対して所定の時間先の時刻に前記被制御装置を制御する制御コマンドを予測して生成する予測手段と、
前記予測手段により予測されて生成された、新たな制御コマンドを、前記被制御装置に供給する供給手段と
を備える制御システム。 - ユーザが操作する入力装置と、
前記入力装置より入力された情報を記録する記録装置と
を備える記録システムであって、
制御対象である被制御装置をさらに有し、
前記制御装置は、
ユーザが操作した前記入力装置より供給される、前記入力装置に設けられた周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、
前記取得手段により取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換する変換手段と、
前記変換手段により変換されて得られた前記制御コマンドを、所定の時間毎に時系列データとして記録する記録手段と、
前記変換手段により変換されて得られた前記制御コマンドを、前記被制御装置に供給する供給手段と
を備える記録システム。 - 制御対象である被制御装置を制御する情報処理装置であって、
ユーザが操作する、前記被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第1の取得手段と、
前記第1の取得手段により取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換する変換手段と、
前記変換手段により変換されて得られた前記制御コマンドを、前記被制御装置に供給する第1の供給手段と
を備える情報処理装置。 - 前記入力装置に設けられた各入力部の入力ゲインを、それぞれ、互いに独立に調整するゲイン調整手段をさらに備える
請求項4に記載の情報処理装置。 - 前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段と、
前記第2の取得手段により取得された前記センサ情報を前記入力装置の前記ユーザに提示する提示手段と
をさらに備える請求項4に記載の情報処理装置。 - 前記変換手段により変換されて生成された前記制御コマンドを時系列データとして記録する記録手段をさらに備える
請求項4に記載の情報処理装置。 - 前記記録手段に記録された前記制御コマンドを時系列に沿って再生して前記被制御装置に出力させる再生手段をさらに備える
請求項7に記載の情報処理装置。 - 前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段をさらに備え、
前記記録手段は、前記第2の取得手段により取得された前記センサ情報を、前記制御コマンドとともに記録する
請求項7に記載の情報処理装置。 - 所定の予測モデルを用いて、前記第2の取得手段により取得された前記センサ情報および過去の前記制御コマンドに基づいて、前記センサ情報に対して所定の時間先の時刻に前記被制御装置を制御する制御コマンドを予測して生成する予測手段と、
前記予測手段により生成された新たな制御コマンドを前記被制御装置に供給する第2の供給手段と
をさらに備える請求項9に記載の情報処理装置。 - 前記記録手段により記録された前記センサ情報および前記制御コマンドを用いて、前記予測モデルの学習を行う学習手段をさらに備える
請求項10に記載の情報処理装置。 - 前記予測モデルはリカレントニューラルネットワークである
請求項11に記載の情報処理装置。 - 前記学習手段は、ベクトル・パターンのカテゴリー学習に用いられる自己組織化マップの手法を用いて、前記リカレントニューラルネットワークの学習を行う
請求項12に記載の情報処理装置。 - 前記入力装置および前記被制御装置は、複数の関節を有するロボット装置である
請求項4に記載の情報処理装置。 - 前記入力装置と通信を行う第1の無線通信手段と、
前記被制御装置と通信を行う第2の無線通信手段と
をさらに備える請求項4に記載の情報処理装置。 - 制御対象である被制御装置を制御する情報処理装置の情報処理方法であって、
ユーザが操作する、前記被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し、
取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換し、
変換されて得られた前記制御コマンドを、前記被制御装置に供給する
ステップを含む情報処理方法。 - 制御対象である被制御装置を制御する処理を行うプログラムにおいて、
ユーザが操作する、前記被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し、
取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換し、
変換されて得られた前記制御コマンドを、前記被制御装置に供給する
ステップをコンピュータに実行させるプログラム。 - 請求項17に記載のプログラムが記録されている記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006105543A JP2007276052A (ja) | 2006-04-06 | 2006-04-06 | 制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006105543A JP2007276052A (ja) | 2006-04-06 | 2006-04-06 | 制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007276052A true JP2007276052A (ja) | 2007-10-25 |
Family
ID=38678064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006105543A Withdrawn JP2007276052A (ja) | 2006-04-06 | 2006-04-06 | 制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007276052A (ja) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010023914A1 (de) * | 2010-03-02 | 2011-09-08 | Marcel Reese | Verfahren und Vorrichtung zur Steuerung eines Statthalters |
JP2013169644A (ja) * | 2012-02-21 | 2013-09-02 | GM Global Technology Operations LLC | 手続き記憶学習およびロボット制御 |
WO2016088367A1 (ja) * | 2014-12-02 | 2016-06-09 | 国立大学法人東京工業大学 | 動作の転移装置、動作の転移方法及びプログラムが格納された非一時的なコンピュータ可読媒体 |
JP2017044599A (ja) * | 2015-08-27 | 2017-03-02 | ルネサスエレクトロニクス株式会社 | 制御システム |
JP2018153873A (ja) * | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | マニピュレータの制御装置、制御方法およびプログラム、ならびに作業システム |
JP2019000910A (ja) * | 2017-06-19 | 2019-01-10 | リンカーン グローバル,インコーポレイテッド | リアルタイム長距離遠隔溶接用のシステム及び方法 |
WO2019202900A1 (ja) * | 2018-04-15 | 2019-10-24 | 国立大学法人埼玉大学 | 行動推定装置、行動推定方法、および行動推定プログラム |
JP2019217557A (ja) * | 2018-06-15 | 2019-12-26 | 株式会社東芝 | 遠隔操作方法及び遠隔操作システム |
JP2020027956A (ja) * | 2018-08-09 | 2020-02-20 | 株式会社Jvcケンウッド | 処理装置 |
JPWO2021157515A1 (ja) * | 2020-02-05 | 2021-08-12 | ||
US20210290326A1 (en) * | 2007-06-13 | 2021-09-23 | Intuitive Surgical Operations, Inc. | Medical robotic system with coupled control modes |
CN113614652A (zh) * | 2019-03-29 | 2021-11-05 | 三菱电机株式会社 | 模型预测控制装置、模型预测控制程序、模型预测控制系统及模型预测控制方法 |
CN114311031A (zh) * | 2021-12-29 | 2022-04-12 | 上海微创医疗机器人(集团)股份有限公司 | 手术机器人主从端延时测试方法、系统、存储介质和设备 |
WO2022239310A1 (ja) * | 2021-05-14 | 2022-11-17 | ソニーグループ株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
WO2024013894A1 (ja) * | 2022-07-13 | 2024-01-18 | 日本電信電話株式会社 | 遠隔制御システム、遠隔制御方法、および遠隔制御プログラム |
US12068339B2 (en) | 2017-05-02 | 2024-08-20 | Semiconductor Energy Laboratory Co., Ltd. | Imaging device and electronic device |
-
2006
- 2006-04-06 JP JP2006105543A patent/JP2007276052A/ja not_active Withdrawn
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12097002B2 (en) * | 2007-06-13 | 2024-09-24 | Intuitive Surgical Operations, Inc. | Medical robotic system with coupled control modes |
US20210290326A1 (en) * | 2007-06-13 | 2021-09-23 | Intuitive Surgical Operations, Inc. | Medical robotic system with coupled control modes |
DE102010023914A1 (de) * | 2010-03-02 | 2011-09-08 | Marcel Reese | Verfahren und Vorrichtung zur Steuerung eines Statthalters |
JP2013169644A (ja) * | 2012-02-21 | 2013-09-02 | GM Global Technology Operations LLC | 手続き記憶学習およびロボット制御 |
DE102013202378B4 (de) * | 2012-02-21 | 2015-07-02 | GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) | Prozedurales Gedächtnislernen und Robotersteuerung |
WO2016088367A1 (ja) * | 2014-12-02 | 2016-06-09 | 国立大学法人東京工業大学 | 動作の転移装置、動作の転移方法及びプログラムが格納された非一時的なコンピュータ可読媒体 |
US10265847B2 (en) | 2014-12-02 | 2019-04-23 | Soinn Holdings Llc | Action transfer device, action transfer method, and non-transitory computer-readable medium storing program |
JP2016107346A (ja) * | 2014-12-02 | 2016-06-20 | 国立大学法人東京工業大学 | 動作の転移装置、動作の転移方法及びプログラム |
JP2017044599A (ja) * | 2015-08-27 | 2017-03-02 | ルネサスエレクトロニクス株式会社 | 制御システム |
JP2018153873A (ja) * | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | マニピュレータの制御装置、制御方法およびプログラム、ならびに作業システム |
US12068339B2 (en) | 2017-05-02 | 2024-08-20 | Semiconductor Energy Laboratory Co., Ltd. | Imaging device and electronic device |
JP2019000910A (ja) * | 2017-06-19 | 2019-01-10 | リンカーン グローバル,インコーポレイテッド | リアルタイム長距離遠隔溶接用のシステム及び方法 |
JP7446053B2 (ja) | 2017-06-19 | 2024-03-08 | リンカーン グローバル,インコーポレイテッド | リアルタイム長距離遠隔溶接用のシステム及び方法 |
JP7246751B2 (ja) | 2018-04-15 | 2023-03-28 | 国立大学法人 筑波大学 | 行動推定装置、行動推定方法、および行動推定プログラム |
US11787037B2 (en) | 2018-04-15 | 2023-10-17 | University Of Tsukuba | Behavior estimation apparatus, behavior estimation method, and behavior estimation program |
WO2019202900A1 (ja) * | 2018-04-15 | 2019-10-24 | 国立大学法人埼玉大学 | 行動推定装置、行動推定方法、および行動推定プログラム |
JPWO2019202900A1 (ja) * | 2018-04-15 | 2021-04-22 | 国立大学法人 筑波大学 | 行動推定装置、行動推定方法、および行動推定プログラム |
JP2019217557A (ja) * | 2018-06-15 | 2019-12-26 | 株式会社東芝 | 遠隔操作方法及び遠隔操作システム |
JP7068059B2 (ja) | 2018-06-15 | 2022-05-16 | 株式会社東芝 | 遠隔操作方法及び遠隔操作システム |
JP7024658B2 (ja) | 2018-08-09 | 2022-02-24 | 株式会社Jvcケンウッド | 処理装置 |
JP2020027956A (ja) * | 2018-08-09 | 2020-02-20 | 株式会社Jvcケンウッド | 処理装置 |
CN113614652A (zh) * | 2019-03-29 | 2021-11-05 | 三菱电机株式会社 | 模型预测控制装置、模型预测控制程序、模型预测控制系统及模型预测控制方法 |
JP7364699B2 (ja) | 2020-02-05 | 2023-10-18 | ファナック株式会社 | 機械学習装置、コンピュータ装置、制御システム、及び機械学習方法 |
WO2021157515A1 (ja) * | 2020-02-05 | 2021-08-12 | ファナック株式会社 | 機械学習装置、コンピュータ装置、制御システム、及び機械学習方法 |
JPWO2021157515A1 (ja) * | 2020-02-05 | 2021-08-12 | ||
WO2022239310A1 (ja) * | 2021-05-14 | 2022-11-17 | ソニーグループ株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
CN114311031B (zh) * | 2021-12-29 | 2024-05-28 | 上海微创医疗机器人(集团)股份有限公司 | 手术机器人主从端延时测试方法、系统、存储介质和设备 |
CN114311031A (zh) * | 2021-12-29 | 2022-04-12 | 上海微创医疗机器人(集团)股份有限公司 | 手术机器人主从端延时测试方法、系统、存储介质和设备 |
WO2024013894A1 (ja) * | 2022-07-13 | 2024-01-18 | 日本電信電話株式会社 | 遠隔制御システム、遠隔制御方法、および遠隔制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007276052A (ja) | 制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体 | |
JP3855812B2 (ja) | 距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置 | |
JP4671628B2 (ja) | ロボット装置の制御システム及び制御方法 | |
JP4818716B2 (ja) | ロボット制御装置 | |
JP7117237B2 (ja) | ロボット制御装置、ロボットシステム及びロボット制御方法 | |
JP4239635B2 (ja) | ロボット装置、その動作制御方法、及びプログラム | |
JP7295421B2 (ja) | 制御装置及び制御方法 | |
JP4179230B2 (ja) | ロボット装置及びその動作制御方法 | |
JP2003269937A (ja) | 障害物認識装置、障害物認識方法、及び障害物認識プログラム並びに移動型ロボット装置 | |
Rozo et al. | Robot learning from demonstration of force-based tasks with multiple solution trajectories | |
JP2002239960A (ja) | ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置 | |
JP2005199403A (ja) | 情動認識装置及び方法、ロボット装置の情動認識方法、ロボット装置の学習方法、並びにロボット装置 | |
JP2003266345A (ja) | 経路計画装置、経路計画方法及び経路計画プログラム並びに移動型ロボット装置 | |
JP2006082150A (ja) | ロボット装置及びその行動制御方法 | |
Babič et al. | Human sensorimotor learning for humanoid robot skill synthesis | |
US20060015216A1 (en) | Information processing apparatus and method, program storage medium, and program | |
JP2003266349A (ja) | 位置認識方法、その装置、そのプログラム、その記録媒体及び位置認識装置搭載型ロボット装置 | |
JP7035309B2 (ja) | マスタスレーブシステム | |
JP3614824B2 (ja) | 脚式移動ロボットのための動作編集装置及び動作編集方法 | |
JP7263987B2 (ja) | 制御装置、制御方法、及び制御プログラム | |
JP2003266348A (ja) | ロボット装置及びその制御方法 | |
JP2002239952A (ja) | ロボット装置、ロボット装置の行動制御方法、プログラム及び記録媒体 | |
JP2003271958A (ja) | 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置 | |
JP4506249B2 (ja) | ロボット装置及びその動作比較方法 | |
Macchini et al. | Data-Driven Personalization of Body–Machine Interfaces to Control Diverse Robot Types |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090707 |