JP2007276052A - Control system, record system, information processor and method, program, and recording medium - Google Patents
Control system, record system, information processor and method, program, and recording medium 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
Description
本発明は、制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体に関し、特に、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができるようにした制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体に関する。 The present invention relates to a control system, a recording system, an information processing apparatus and method, a program, and a recording medium, and in particular, improves resistance to communication and processing delays in control and environmental changes, and suppresses control loads and failures. The present invention relates to a control system, a recording system, an information processing apparatus and method, a program, and a recording medium.
従来、可動な関節を複数有するロボットの姿勢や動作の制御において、一般的に、制御対象であるロボットは、その関節数が多く、自由度が高いので、操作者による指示入力操作を容易にするために、入力可能な指示の数が制御対象のロボットの自由度(関節)の数よりも少ないコントローラを用いる方法があった(例えば、特許文献1乃至特許文献3参照)(以下、第1の方法と称する)。このような場合、そのコントローラは、コントローラにおける1つの操作(1つの指示)に対して予めプログラミングされた複数の動作が割り当てられていたり、1つの操作が制御する自由度(関節)を切り替える切り替え機能が設けられていたり、ロボットが有する全自由度(全関節)のうち、予め定められた一部の自由度(関節)のみが制御可能で、その他の自由度(関節)については自律制御されるようになされていたりする。
Conventionally, in controlling the posture and operation of a robot having a plurality of movable joints, the robot to be controlled generally has a large number of joints and a high degree of freedom, so that it is easy for an operator to input instructions. Therefore, there has been a method using a controller in which the number of instructions that can be input is less than the number of degrees of freedom (joints) of the robot to be controlled (for example, see
例えば、特許文献1においては、特定の操作方法に、制御対象である二足歩行ロボットの特定の動作が割り当てられた遠隔操作装置が示されている。また、特許文献2においては、足操作入力装置を操作することにより、制御対象のロボットの自律制御機構に簡単な指令を与えたり、クラッチペダルの踏み込み動作により足操作の対象を切り替えたりすることが可能な超多自由度ロボット操縦装置が示されている。さらに、特許文献3においては、操作者が目的とする作業に対して直接的に関係して意識を集中する部位の操作を行えば、その他の部位については従属的に自律操作するようにして、操作者の作業を簡単化する遠隔制御方法が示されている。
For example,
また、ロボット制御の他の方法として、人間の動作を画像処理したり、若しくはセンサスーツなどによってセンシングしたりすることにより得られた情報を、ロボットの自由度構成に合わせて幾何変換し、その幾何変換された制御情報によりロボットを動作させる方法もあった(例えば、特許文献4参照)(以下、第2の方法と称する)。 As another method of robot control, information obtained by image processing of human motion or sensing with a sensor suit or the like is geometrically transformed according to the robot's degree of freedom configuration, There is also a method of operating the robot by the converted control information (see, for example, Patent Document 4) (hereinafter referred to as the second method).
さらに他の方法としては、制御対象の関節角軌道をモーションクリエータなどのソフトウェアを利用して作成したり、理想軌道上の通過点を指定したりして、制御対象の動作を予め教示しておき、その教示データを再生させて自律制御させるものもあった。その場合、例えば、一対のアームを制御する際に、各アームに互いの相対位置を計測させることによって位置補正を行わせる等、さらに動作中にロボットに環境とのインタラクションを行わせるものもあった(例えば、特許文献5および特許文献6参照)(以下、第3の方法と称する)。
As another method, the joint angle trajectory of the control target is created using software such as a motion creator, or the passing point on the ideal trajectory is specified, and the operation of the control target is taught in advance. Some of the teaching data are reproduced and autonomously controlled. In this case, for example, when controlling a pair of arms, there are some which cause the robot to interact with the environment during operation, such as causing each arm to measure the relative position of each other and performing position correction. (For example, refer to
しかしながら、例えば、特許文献1乃至特許文献3に記載のような第1の方法の場合、操作の動きと、その操作に対する制御対象の動きが一致または近似せず、ユーザが、制御対象の目的の動作に対する操作方法を直感的に把握することができない恐れがあった。また、自律制御とユーザの制御において、処理や通信の遅延等によって互いに時間的なずれが生じてしまい、制御が発散してしまう恐れがあった。
However, for example, in the case of the first method as described in
また、特許文献4に記載のような第2の方法の場合、人間の動きをロボットの幾何モデルに変換する必要があるため、制御対象であるロボットのデザインが人間と大幅にスケールや幾何形状において異なる場合、幾何変換の解が存在しなかったり、解が得られたとしても直感的に分かりにくいものになったりする恐れがあった。そのため、操作を行うユーザがロボットのモデル体系を考慮しながら操作する必要があり、ユーザの負担が大きくなってしまうという恐れもあった。
Further, in the case of the second method as described in
さらに特許文献5や特許文献6に記載のような第3の方法の場合、教示後は、ロボットを自律制御させるので、第1の方法や第2の方法よりも制御操作が容易であるが、多様に変化して予測が困難な実環境下においては、予め理想軌道を設定することができず、環境の変化に応じて適応的に教示行動を変化させることもができないため、ロボットと環境との多様な相互作用の教示を行うことができなかった。例えば、特許文献5や特許文献6に記載のように、アーム間の相対位置を計測して補正を行う場合、計測から補正までの間に、通信や情報処理等による遅延が生じる。従って、その遅延時間に対してアームの動きが激しい場合、制御が発散してしまう恐れがある。また、例えば、そのアームで、直接の制御対象ではないボールを動かすような場合、アームの動作を、そのボールの動き(環境の変化)に合わせて補正することができず、適切な動作制御を行うことができない恐れがある。
Furthermore, in the case of the third method as described in
図1は、制御の遅延を説明するグラフであり、直接の制御対象であるロボットに、直接の制御対象でないボールの位置に応じた動作をさせる場合の、各変数の状態量の時間的変化を示すグラフである。 FIG. 1 is a graph for explaining a delay in control. When a robot that is a direct control target is caused to perform an action according to the position of a ball that is not a direct control target, the temporal change of the state quantity of each variable is shown. It is a graph to show.
図1の上のグラフにおいて、点線で示される関節角コマンドθmは、ロボットに供給される、所定の関節の角度を指定する制御コマンドであり、実線で示される関節角センサデータθsは、その所定の関節の角度(関節角)の状態を計測した計測結果を示す情報である。つまり、関節角コマンドθmが目標値を示す制御情報であり、関節角センサデータθsが関節角コマンドθmによる制御結果を示す結果情報である。図1の下のグラフにおいては、そのロボットによって操作されるボールの位置座標が示されており、一点鎖線は、ボールのx座標(ボール座標x)を示し、点線は、ボールのy座標(ボール座標y)を示し、実線は、ボールのz座標(ボール座標z)を示している。 In the upper graph of FIG. 1, a joint angle command θm indicated by a dotted line is a control command for designating a predetermined joint angle supplied to the robot, and the joint angle sensor data θ s indicated by a solid line is It is information which shows the measurement result which measured the state of the angle (joint angle) of the predetermined joint. That is, the joint angle command θm is control information indicating a target value, and the joint angle sensor data θs is result information indicating a control result by the joint angle command θm. In the lower graph of FIG. 1, the position coordinates of the ball operated by the robot are shown. The alternate long and short dash line indicates the x coordinate of the ball (ball coordinate x), and the dotted line indicates the y coordinate of the ball (ball The solid line indicates the z coordinate (ball coordinate z) of the ball.
図1の上のグラフに示されるように、関節角センサデータθsには、関節角コマンドθmに対して、両矢印1に示されるように、制御遅延が生じる。つまり、各時刻において、関節角センサデータθsと関節角コマンドθmとの間に、両矢印2で示されるように、偏差が生じる。
As shown in the upper graph of FIG. 1, in the joint angle sensor data θs, a control delay occurs as shown by the
この制御遅延は、例えば、ロボットで観測された関節角センサデータをロボットの外部に置かれた遠隔のコンピュータ上の時系列予測器に転送する際の通信遅延、ロボットの外部に置かれた遠隔のコンピュータ上で計算された関節角コマンドをロボットに転送するのにかかる通信遅延、および、ロボットに転送された関節角コマンドに基づき実際にその関節角度にアクチュエータが回転されるまでの制御動作遅延などの要因によるものである。 This control delay is, for example, a communication delay when transferring joint angle sensor data observed by a robot to a time series predictor on a remote computer placed outside the robot, and a remote delay placed outside the robot. Communication delay required to transfer the joint angle command calculated on the computer to the robot and control operation delay until the actuator is actually rotated based on the joint angle command transferred to the robot. This is due to factors.
このような制御遅延が存在する場合、例えば、時刻tにおける各データをまとめてベクトル化し、時刻tのベクトルデータ(θmt,θst,xt,yt,zt)を用いて次の時刻の関節角コマンドを演算する自律制御においては、ベクトルの要素間に偏差が生じているため、適切な制御を行うことができないだけでなく、解が発散し、制御不可能となる恐れがある。 When such a control delay exists, for example, the data at time t are collectively vectorized, and the next time using the vector data (θm t , θs t , x t , y t , z t ) at time t. In the autonomous control for calculating the joint angle command, there is a deviation between the vector elements, so that not only the proper control cannot be performed, but also the solution diverges and the control may be impossible.
以上のように、従来の制御方法においては、制御遅延や環境の変化に対する耐性の高い自律制御を行うことができず、難易度の高い制御操作を行う必要があり、制御装置や操作者に対して多大な負荷をかけてしまったり制御が破綻してしまったりする恐れがあった。 As described above, in the conventional control method, it is not possible to perform autonomous control that is highly resistant to control delays and environmental changes, and it is necessary to perform highly difficult control operations. As a result, there is a risk that a great load is applied or control is broken.
本発明は、このような状況に鑑みてなされたものであり、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができるようにするものである。 The present invention has been made in view of such circumstances, and is intended to improve resistance to communication and processing delays in control and environmental changes, and to suppress control load and failure. is there.
本発明の一側面は、ユーザが操作する入力装置と、制御対象である被制御装置と、入力装置より入力された情報に基づいて、被制御装置を制御する制御装置とを備える制御システムであって、入力装置および被制御装置は、互いに同一の幾何形状を有する装置であり、制御装置は、ユーザが操作した入力装置より供給される入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する供給手段とを備える制御システムである。 One aspect of the present invention is a control system including an input device operated by a user, a controlled device to be controlled, and a control device that controls the controlled device based on information input from the input device. The input device and the controlled device are devices having the same geometric shape, and the control device is provided by a sensor for measuring the surrounding environment provided in the input device supplied from the input device operated by the user. An acquisition means for acquiring output sensor information, a conversion means for converting the sensor information acquired by the acquisition means into a control command for controlling the controlled device, and a control command obtained by conversion by the conversion means, And a supply unit that supplies the controlled device.
本発明の一側面は、制御対象である被制御装置と、被制御装置を制御する制御装置とを備える制御システムであって、制御装置は、被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、取得手段により取得されたセンサ情報と、被制御装置を制御する制御コマンドとに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドを予測して生成する予測手段と、予測手段により予測されて生成された新たな制御コマンドを、被制御装置に供給する供給手段とを備える制御システムである。 One aspect of the present invention is a control system including a controlled device that is a control target and a control device that controls the controlled device, and the control device measures an ambient environment provided in the controlled device. Based on the acquisition means for acquiring the sensor information output from the sensor, the sensor information acquired by the acquisition means, and the control command for controlling the controlled device, the sensor information at a predetermined time ahead A control system includes a prediction unit that predicts and generates a control command for controlling a controlled device, and a supply unit that supplies a new control command predicted and generated by the prediction unit to the controlled device.
本発明の一側面は、ユーザが操作する入力装置と、入力装置より入力された情報を記録する記録装置とを備える記録システムであって、制御対象である被制御装置をさらに有し、制御装置は、ユーザが操作した入力装置より供給される、入力装置に設けられた周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段と、変換手段により変換されて得られた制御コマンドを、所定の時間毎に時系列データとして記録する記録手段と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する供給手段とを備える記録システムである。 One aspect of the present invention is a recording system including an input device operated by a user and a recording device that records information input from the input device, and further includes a controlled device to be controlled, the control device The acquisition means for acquiring the sensor information output from the sensor for measuring the surrounding environment provided in the input device, which is supplied from the input device operated by the user, and the sensor information acquired by the acquisition means. Conversion means for converting to a control command for controlling the control device, recording means for recording the control command obtained by conversion by the conversion means as time-series data every predetermined time, and obtained by conversion by the conversion means And a supply means for supplying the control command to the controlled device.
本発明の一側面は、制御対象である被制御装置を制御する情報処理装置であって、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第1の取得手段と、第1の取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する第1の供給手段とを備える情報処理装置である。 One aspect of the present invention is an information processing apparatus that controls a controlled apparatus that is a control target, and is provided in an input device that is operated by a user and that has the same geometric shape as the controlled apparatus. First acquisition means for acquiring sensor information output from the sensor for measuring the sensor, conversion means for converting the sensor information acquired by the first acquisition means into a control command for controlling the controlled device, and conversion means And a first supply means for supplying the control command obtained by the conversion to the controlled device.
前記入力装置に設けられた各入力部の入力ゲインを、それぞれ、互いに独立に調整するゲイン調整手段をさらに備えることができる。 The apparatus may further include gain adjusting means for adjusting the input gain of each input unit provided in the input device independently of each other.
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段と、第2の取得手段により取得されたセンサ情報を入力装置のユーザに提示する提示手段とをさらに備えることができる。 A second acquisition unit that acquires sensor information output from a sensor that measures the surrounding environment provided in the controlled device, and presents the sensor information acquired by the second acquisition unit to the user of the input device And presenting means for further comprising.
前記変換手段により変換されて生成された制御コマンドを時系列データとして記録する記録手段をさらに備えることができる。 The apparatus may further comprise recording means for recording the control command generated by conversion by the conversion means as time series data.
前記記録手段に記録された制御コマンドを時系列に沿って再生して被制御装置に出力させる再生手段をさらに備えることができる。 Reproducing means for reproducing the control commands recorded in the recording means in time series and outputting them to the controlled device can be further provided.
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段をさらに備え、記録手段は、第2の取得手段により取得されたセンサ情報を、制御コマンドとともに記録することができる。 The apparatus further comprises second acquisition means for acquiring sensor information output from a sensor for measuring the surrounding environment provided in the controlled device, and the recording means stores the sensor information acquired by the second acquisition means. Can be recorded along with the control command.
所定の予測モデルを用いて、第2の取得手段により取得されたセンサ情報および過去の制御コマンドに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドを予測して生成する予測手段と、予測手段により生成された新たな制御コマンドを被制御装置に供給する第2の供給手段とをさらに備えることができる。 Based on the sensor information acquired by the second acquisition means and the past control command, a control command for controlling the controlled device at a predetermined time ahead is predicted with respect to the sensor information using a predetermined prediction model. And a second supply means for supplying a new control command generated by the prediction means to the controlled device.
前記記録手段により記録されたセンサ情報および制御コマンドを用いて、予測モデルの学習を行う学習手段をさらに備えることができる。 Learning means for learning a prediction model can be further provided using sensor information and control commands recorded by the recording means.
前記予測モデルはリカレントニューラルネットワークであることができる。 The prediction model may be a recurrent neural network.
前記学習手段は、ベクトル・パターンのカテゴリー学習に用いられる自己組織化マップの手法を用いて、リカレントニューラルネットワークの学習を行うことができる。 The learning means can learn a recurrent neural network by using a self-organizing map technique used for vector pattern category learning.
前記入力装置および被制御装置は、複数の関節を有するロボット装置であることができる。 The input device and the controlled device may be a robot device having a plurality of joints.
前記入力装置と通信を行う第1の無線通信手段と、被制御装置と通信を行う第2の無線通信手段とをさらに備えることができる。 The wireless communication apparatus may further include a first wireless communication unit that communicates with the input device and a second wireless communication unit that communicates with the controlled device.
本発明の一側面は、制御対象である被制御装置を制御する情報処理装置の情報処理方法であって、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し、取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換し、変換されて得られた制御コマンドを、被制御装置に供給するステップを実行する情報処理方法である。 One aspect of the present invention is an information processing method for an information processing device that controls a controlled device that is a control target, and is provided in an input device that is operated by a user and has the same geometric shape as the controlled device. The sensor information output from the sensor that measures the surrounding environment is acquired, the acquired sensor information is converted into a control command for controlling the controlled device, and the control command obtained by the conversion is converted to the controlled device. It is the information processing method which performs the step which supplies to.
制御対象である被制御装置を制御する処理を行うプログラムにおいて、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し、取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換し、変換されて得られた制御コマンドを、被制御装置に供給するステップをコンピュータに実行させることができる。 In a program for performing processing to control a controlled device that is a control target, output from a sensor that measures a surrounding environment provided in an input device that is operated by a user and that has the same geometric shape as the controlled device Acquire sensor information, convert the acquired sensor information into a control command for controlling the controlled device, and cause the computer to execute a step of supplying the converted control command to the controlled device. .
請求項17に記載のプログラムが記録されている記録媒体とすることができる。 It can be set as the recording medium with which the program of Claim 17 is recorded.
本発明の一側面においては、入力装置および被制御装置が互いに同一の幾何形状を有する装置として構成されており、制御装置において、ユーザが操作した入力装置より供給される入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報が取得され、取得されたセンサ情報が、被制御装置を制御する制御コマンドに変換され、変換されて得られた制御コマンドが、被制御装置に供給される。 In one aspect of the present invention, the input device and the controlled device are configured as devices having the same geometric shape, and the control device is provided in the input device supplied from the input device operated by the user. Sensor information output from a sensor that measures the surrounding environment is acquired, the acquired sensor information is converted into a control command for controlling the controlled device, and the control command obtained by the conversion is sent to the controlled device. Supplied.
本発明の一側面においては、制御装置において、被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報が取得され、その取得されたセンサ情報と、被制御装置を制御する制御コマンドとに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドが予測されて生成され、その予測されて生成された新たな制御コマンドが、被制御装置に供給される。 In one aspect of the present invention, in a control device, sensor information output from a sensor that measures a surrounding environment provided in the controlled device is acquired, and the acquired sensor information and the controlled device are controlled. Based on the control command to be generated, a control command for controlling the controlled apparatus is predicted and generated at a predetermined time ahead of the sensor information, and the predicted and generated new control command is Supplied to the device.
本発明の一側面においては、制御装置においては、ユーザが操作した入力装置より供給される、入力装置に設けられた周囲の環境を計測するセンサより出力されるセンサ情報が取得され、その取得されたセンサ情報が、被制御装置を制御する制御コマンドに変換され、その変換されて得られた制御コマンドが、所定の時間毎に時系列データとして記録されるとともに、被制御装置に供給される。 In one aspect of the present invention, in the control device, sensor information output from a sensor that measures the surrounding environment provided in the input device, which is supplied from the input device operated by the user, is acquired and acquired. The obtained sensor information is converted into a control command for controlling the controlled device, and the control command obtained by the conversion is recorded as time-series data at every predetermined time and supplied to the controlled device.
本発明の一側面においては、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報が取得され、その取得されたセンサ情報が、被制御装置を制御する制御コマンドに変換され、その変換されて得られた制御コマンドが、被制御装置に供給される。 In one aspect of the present invention, sensor information output from a sensor that measures a surrounding environment provided in an input device that is operated by a user and that has the same geometric shape as a controlled device is acquired and acquired. The sensor information thus converted is converted into a control command for controlling the controlled device, and the control command obtained by the conversion is supplied to the controlled device.
本発明の側面によれば、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。 ADVANTAGE OF THE INVENTION According to the aspect of this invention, the tolerance with respect to the delay of communication and a process in control, or an environmental change can be improved, and the load and failure of control can be suppressed.
特に、自律制御用の情報を収集する際に、制御対象(ロボットの動作制御の場合、ロボット)に対して送信される制御コマンドと、その制御対象(ロボット)から受信された関節の角度センサ、視覚センサ、および音声センサ等の各種センサの出力(センサ情報)を統合化して保存することにより、制御コマンドとセンサ情報を、同期を取りながら時系列情報として収集することができる。 In particular, when collecting information for autonomous control, a control command transmitted to a control target (in the case of robot motion control, a robot) and a joint angle sensor received from the control target (robot), By integrating and storing outputs (sensor information) of various sensors such as a visual sensor and an audio sensor, it is possible to collect control commands and sensor information as time-series information while maintaining synchronization.
また、その収集された制御コマンドを制御対象(ロボット)において再生することによって環境とのインタラクションを行わせることができ、システムが有する制御遅延を反映した自律制御用の時系列教示データを作成することができる。 In addition, by playing back the collected control commands on the control target (robot), it is possible to interact with the environment, and create time-series teaching data for autonomous control reflecting the control delay of the system Can do.
さらに、制御コマンドの入力において、制御対象(ロボット)と実質的に同一の幾何形状を有する装置(すなわち、幾何モデルが共通のロボット)を用いて、そのセンサ情報から制御コマンドを生成するようにすることにより、幾何モデルへの変換等の処理が不要になるので、制御コマンドの生成が容易になる。また、その入力装置(制御対象と幾何モデルが同じロボット)の各制御パラメータ(ロボットの場合、各関節のサーボのゲイン)をそれぞれ個別に値を設定することにより、各関節のゲインを適切に設定することができ、不必要な関節を動かさずに教示を行うことが可能になる。つまり、教示時に余分な自由度を制御する(ロボットの場合、関節を手で支える)必要がなくなるので、教示者に及ぼす負担を軽減させることができる。 Further, when a control command is input, a control command is generated from the sensor information using a device having the substantially same geometric shape as the control target (robot) (that is, a robot having a common geometric model). This eliminates the need for processing such as conversion to a geometric model, so that control commands can be easily generated. In addition, each joint gain is set appropriately by setting each control parameter (servo gain of each joint in the case of a robot) individually for the input device (the robot whose control target and geometric model are the same). Thus, teaching can be performed without moving unnecessary joints. That is, it is not necessary to control an extra degree of freedom at the time of teaching (in the case of a robot, the joint is supported by hand), so the burden on the teacher can be reduced.
制御対象(ロボット)と実質的に同一の幾何形状を有する装置(すなわち、同じ幾何モデルを有するロボット)の操作によって生成された制御コマンドを制御対象においてリアルタイムに再生することにより、制御を行う操作者は、制御対象の制御結果(動き)を確認しながら情報を入力し、制御コマンドを作成させることができる。つまり、操作者は、制御対象の制御結果(動き)を確認しながらリアルタイムに教示データを生成することができる。このようにすることにより、多様に変化して予測が困難な環境においても、ロボットと環境との複雑な相互作用の教示を行うことができる。 An operator who performs control by reproducing in real time a control command generated by an operation of a device having substantially the same geometric shape as the control target (robot) (that is, a robot having the same geometric model). Can input information while confirming the control result (movement) of the control target, and can create a control command. That is, the operator can generate the teaching data in real time while confirming the control result (movement) of the control target. By doing so, it is possible to teach a complex interaction between the robot and the environment even in an environment that is varied and difficult to predict.
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. Correspondences between the configuration requirements of the present invention and the embodiments described in the detailed description of the present invention are exemplified as follows. This description is to confirm that the embodiments supporting the present invention are described in the detailed description of the invention. Accordingly, although there are embodiments that are described in the detailed description of the invention but are not described here as embodiments corresponding to the constituent elements of the present invention, It does not mean that the embodiment does not correspond to the configuration requirements. Conversely, even if an embodiment is described here as corresponding to a configuration requirement, that means that the embodiment does not correspond to a configuration requirement other than the configuration requirement. It's not something to do.
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。 Further, this description does not mean all the inventions described in this specification. In other words, this description is an invention described in the present specification and is not claimed in this application, that is, an invention that will be filed in the future or added by amendment. Is not to deny.
本発明の一側面は、ユーザが操作する入力装置(例えば、図3のマスタ12)と、制御対象である被制御装置(例えば、図3のスレーブ13)と、入力装置より入力された情報に基づいて、被制御装置を制御する制御装置(例えば、図3の制御装置11)とを備える制御システム(例えば、図3の制御システム10A)であって、入力装置および被制御装置は、互いに同一の幾何形状を有する装置であり、制御装置は、ユーザが操作した入力装置より供給される入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段(例えば、図7の受信部72)と、取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段(例えば、図7のセンサデータ・コマンド変換部63)と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する供給手段(例えば、図7の送信部73)とを備える制御システムである。
One aspect of the present invention includes an input device operated by a user (for example, the
本発明の一側面は、制御対象である被制御装置(例えば、図5のスレーブ13)と、被制御装置を制御する制御装置(例えば、図5の制御装置11)とを備える制御システム(例えば、図5の学習システム10C)であって、制御装置は、被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段(例えば、図8の受信部102)と、取得手段により取得されたセンサ情報と、被制御装置を制御する制御コマンドとに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドを予測して生成する予測手段(例えば、図8の時系列予測器93)と、予測手段により予測された生成された、新たな制御コマンドを、被制御装置に供給する供給手段(例えば、図8の送信部101)とを備える制御システムである。
One aspect of the present invention is a control system (for example, a control device (for example, the
本発明の一側面は、ユーザが操作する入力装置(例えば、図4のマスタ12)と、入力装置より入力された情報を記録する記録装置(例えば、図4の制御装置11)とを備える記録システム(例えば、図4の記録システム10B)であって、制御対象である被制御装置(例えば、図4のスレーブ13)をさらに有し、制御装置は、ユーザが操作した入力装置より供給される入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段(例えば、図7の受信部72)と、取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段(例えば、図7のセンサデータ・コマンド変換部63)と、変換手段により変換されて得られた制御コマンドを、所定の時間毎に時系列データとして記録する記録手段(例えば、図7のデータ記録部22)と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する供給手段(例えば、図7の送信部73)とを備える記録システムである。
One aspect of the present invention is a recording that includes an input device (for example,
本発明の一側面は、制御対象である被制御装置(例えば、図2のスレーブ13)を制御する情報処理装置(例えば、図2の制御装置11)であって、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置(例えば、図2のマスタ12)に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第1の取得手段(例えば、図7の受信部72)と、第1の取得手段により取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換する変換手段(例えば、図7のセンサデータ・コマンド変換部63)と、変換手段により変換されて得られた制御コマンドを、被制御装置に供給する第1の供給手段(例えば、図7の送信部73)とを備える情報処理装置である。
One aspect of the present invention is an information processing apparatus (for example, the
前記入力装置に設けられた各入力部の入力ゲインを、それぞれ、互いに独立に調整するゲイン調整手段(例えば、図7のサーボゲイン設定部61)をさらに備えることができる。
The apparatus may further include gain adjusting means (for example, servo
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段(例えば、図7の受信部74)と、第2の取得手段により取得されたセンサ情報を入力装置のユーザに提示する提示手段(例えば、図7の表示部53)とをさらに備えることができる。
Obtained by a second obtaining unit (for example, the receiving
前記変換手段により変換されて生成された制御コマンドを時系列データとして記録する記録手段(例えば、図7のデータ記録部22)をさらに備えることができる。
The recording apparatus (for example, the
前記記録手段に記録された制御コマンドを時系列に沿って再生して被制御装置に出力させる再生手段(例えば、図7の再生部66)をさらに備えることができる。
Reproducing means (for example, reproducing
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第2の取得手段(例えば、図7の受信部74)をさらに備え、記録手段は、第2の取得手段により取得されたセンサ情報を、制御コマンドとともに記録する(例えば、図7のデータ統合部65)ことができる。
The apparatus further includes second acquisition means (for example, the receiving
所定の予測モデルを用いて、第2の取得手段により取得されたセンサ情報および過去の制御コマンドに基づいて、センサ情報に対して所定の時間先の時刻に被制御装置を制御する制御コマンドを予測して生成する予測手段(例えば、図8の時系列予測器93)と、予測手段により生成された新たな制御コマンドを被制御装置に供給する第2の供給手段(例えば、図8の送信部101)とをさらに備えることができる。
Based on the sensor information acquired by the second acquisition means and the past control command, a control command for controlling the controlled device at a predetermined time ahead is predicted with respect to the sensor information using a predetermined prediction model. And a second supply unit (for example, the transmission unit in FIG. 8) that supplies the controlled device with a new control command generated by the prediction unit (for example, the
前記記録手段により記録されたセンサ情報および制御コマンドを用いて、予測モデルの学習を行う学習手段(例えば、図8のデータ学習部23)をさらに備えることができる。
A learning unit (for example, the
前記予測モデルはリカレントニューラルネットワーク(例えば、図9)であることができる。 The prediction model can be a recurrent neural network (eg, FIG. 9).
前記学習手段は、ベクトル・パターンのカテゴリー学習に用いられる自己組織化マップの手法を用いて、リカレントニューラルネットワークの学習を行う(例えば、図10のダイナミクス記憶ネットワーク131)ことができる。
The learning means can learn a recurrent neural network (for example, the
前記入力装置および被制御装置は、複数の関節を有するロボット装置(例えば、図15のロボット)であることができる。 The input device and the controlled device may be a robot device having a plurality of joints (for example, the robot shown in FIG. 15).
前記入力装置と通信を行う第1の無線通信手段(例えば、図7の無線通信部62)と、被制御装置と通信を行う第2の無線通信手段(例えば、図7の無線通信部64)とをさらに備えることができる。 First wireless communication means (for example, wireless communication unit 62 in FIG. 7) that communicates with the input device and second wireless communication means (for example, wireless communication unit 64 in FIG. 7) that communicates with the controlled device. And can be further provided.
本発明の一側面は、制御対象である被制御装置を制御する情報処理装置の情報処理方法であって、ユーザが操作する、被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し(例えば、図22のステップS22)、取得されたセンサ情報を、被制御装置を制御する制御コマンドに変換し(例えば、図22のステップS24)、変換されて得られた制御コマンドを、被制御装置に供給する(例えば、図22のステップS25)ステップを実行する情報処理方法である。 One aspect of the present invention is an information processing method for an information processing device that controls a controlled device that is a control target, and is provided in an input device that is operated by a user and has the same geometric shape as the controlled device. The sensor information output from the sensor that measures the surrounding environment is acquired (for example, step S22 in FIG. 22), and the acquired sensor information is converted into a control command for controlling the controlled device (for example, FIG. 22). Step S24) is an information processing method for executing the step of supplying the control command obtained by the conversion to the controlled device (for example, Step S25 in FIG. 22).
次に、本発明を適用した実施の形態について、図面を参照して説明する。 Next, an embodiment to which the present invention is applied will be described with reference to the drawings.
図2は、本発明を適用した情報処理システムの構成例を示すブロック図である。 FIG. 2 is a block diagram showing a configuration example of an information processing system to which the present invention is applied.
図2の情報処理システム10は、制御装置11が、互いに同一の幾何形状を有する、複数の関節(自由度)を有する人型の2足歩行ロボットであるマスタ12およびスレーブ13を制御するシステムである。制御装置11、マスタ12、およびスレーブ13は、互いに、無線通信により制御コマンドやセンサ情報等の各種情報の授受を行う。
The
制御装置11は、例えば、パーソナルコンピュータ等の情報処理装置により構成され、情報処理システム10全体の制御に関する処理を行う。マスタ12は、ユーザに操作されて、動きに関する情報の入力を受け付ける入力インタフェースとして構成され、スレーブ13は制御対象として構成される。マスタ12およびスレーブ13の各関節には、サーボモータを用いたアクチュエータが設けられており、このアクチュエータの動作により関節の角度が決定される。また、マスタ12およびスレーブ13には、各関節の角度(関節角)を計測する関節角センサ、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)を利用したカメラ等の周囲の画像情報を取得する視覚センサ、マイク等の周囲の音声情報を取得する音声センサ等の各種センサが設けられている。
The
マスタ12とスレーブ13は、互いに同一の位置に関節(アクチュエータ)と関節角センサを有する、自由度配置が共通のロボットにより構成される。つまり、マスタ12とスレーブ13は、制御装置11によるロボットの動作や姿勢の制御(図1の情報処理システム10)において、同一の幾何形状を有し、制御装置11からみて互いに同一の幾何的特性を有するように構成されている(つまり、制御に関する幾何モデルが共通である)。例えば、制御装置11は、共通の制御コマンドで、マスタ12の動作を制御することも、スレーブ13の動作を制御することができる。さらに、マスタ12から制御装置11に供給されるセンサ情報と、スレーブ13から制御装置11に供給されるセンサ情報とが互いに共通(同種のセンサの出力)である。なお、さらにマスタ12とスレーブ13の筐体の形状、色、大きさ等も互いに同一であるようにしてももちろんよい。
The
情報処理システム10は、ユーザがマスタ12をコントローラとして操作し、そのマスタ12の動きに応じて制御装置11が制御コマンドを生成し、スレーブ13に同様の動きを行わせることによって環境とのインタラクション(相互作用)を行わせるシステムである。例えば、情報処理システム10において、制御装置11は、スレーブ13に対して、時系列予測器を用いることにより、スレーブ13のセンサ情報に基づいた制御(自律制御)を行う。また、制御装置11は、センサ情報や制御コマンド等の時系列データを学習データ(教示データ)として、時系列予測器の予測モデルの学習を行う。さらに、制御装置11は、教示者であるユーザがマスタ12を操作して入力する情報(つまりマスタ12の動き)を、スレーブ13に再現させるとともに、その動きを再現するスレーブ13より供給されるセンサ情報を制御コマンドとを統合して、時系列データとして記録する。この時系列データは、例えば、学習データ(教示データ)として、後で上述した学習に利用される。
In the
従って、情報処理システム10は、例えば、以下のような複数の側面を有する。つまり、情報処理システム10は、ユーザが、マスタ12をコントローラとして操作することにより、スレーブ13を動作させる制御システムとしての側面、ユーザがマスタ12に対して行った操作履歴を記録する記録システムとしての側面、および、スレーブ13のセンサ情報に基づいた自律制御を行うとともに、制御コマンドの生成に用いられる時系列予測器の予測モデルを学習する学習システムとしての側面をそれぞれ有する。以下に、各側面について説明する。
Therefore, the
図3は、図2の情報処理システム10の、制御システムとしての側面を説明する図である。
FIG. 3 is a diagram illustrating a side surface of the
図3に示される制御システム10Aは、情報処理システム10の一側面であり、ユーザ12Aが、マスタ12をコントローラとして操作することにより、制御装置11を介して、スレーブ13を動作させるシステムである。
A
この制御システム10Aにおける制御装置11は、マスタ12およびスレーブ13を制御するマスタスレーブ制御部21を有する。そのマスタスレーブ制御部21は、マスタ12に対して、マスタ12の各関節に設けられたサーボモータのゲインを設定するサーボゲイン設定コマンド31を無線通信により供給することにより、マスタ12の各関節の硬さ(動きやすさ、すなわち、関節の角度の変えやすさ)の程度をそれぞれ制御する。つまり、マスタスレーブ制御部21は、ユーザ12Aの操作に対して、動きやすい関節や硬い関節(動かしてもよい関節や固定すべき関節)を設定することができる。つまり、ユーザは、効率よく教示を行うことができる。
The
マスタ12は、ユーザが、直接関節(例えば双腕)を動かすことによってスレーブ13に実行して欲しい動作を、各関節の角度によって教示するためのインタフェースとして構成される。ユーザによって動作させられたマスタ12の姿勢の変化は、関節角度センサのセンサ情報(時系列情報)として逐次的に(定期的または不定期に)無線を通じて制御装置11に送信される。
The
マスタスレーブ制御部21は、そのマスタ12から供給された関節角センサデータ32に基づいて、スレーブ13の各関節(各関節に設けられたアクチュエータ)の動作を制御する関節角コマンド33を生成し、その関節角コマンド33を無線通信によりスレーブ13に供給する。
Based on the joint
スレーブ13は、マスタ12で生成された関節角コマンドに対応する動きを再現し、実環境とインタラクションすることで、自らの関節角センサやコマンド情報と共に、環境を示すセンサ情報を併せて取得するために機能する。供給された関節角コマンド33に基づいて、各関節のアクチュエータを動作させ、関節角コマンド33に対応する動作を行う。つまり、スレーブ13は、ユーザ12Aにより操作されたマスタ12の動きをトレースする。ユーザ12Aは、そのスレーブ13の動作を視認し、そのスレーブ13の動きに基づいて、次の動作をマスタ12に対して入力する(マスタ12を操作する)。つまり、ユーザ12Aがスレーブ13を視認することにより、制御結果(スレーブ13の動き)が制御指示の入力(マスタ12の操作)にフィードバックされる。
The
以上のように、ユーザ12Aは、制御結果を確認しながら制御指示を入力することができるので、例えば、直接の制御対象でないボール14に対する動作をスレーブ13に行わせるような、多様に変化して予測が困難な環境においても、ボール14とスレーブ13の動きを確認しながら容易に適切な制御指示を入力することができる。
As described above, the user 12A can input a control instruction while confirming the control result. For example, the user 12A can change variously to cause the
また、入力インタフェースであるマスタ12と、制御対象であるスレーブ13が同一の幾何形状を有するロボットであり、制御するパラメータ(関節)が共通であるので、ユーザ12Aは、直感的にマスタ12Aの操作方法を理解することができるので、容易にスレーブ13を制御することができる。また、ユーザ12Aの制御指示を制御対象の幾何モデルに変換する必要が無いので、マスタスレーブ制御部21は、その負荷が低減される。
Further, since the
さらに、マスタスレーブ制御部21がサーボゲイン設定コマンド31を無線通信により供給することにより、ユーザ12Aは、例えば、マスタ12の全身の関節のうち、胴体や足等の動かす必要のない関節を動かさずに、目的の双腕の関節のみを動かす等、適切な操作を容易に実現することができる。このとき、ユーザ12Aは、スレーブ13やボール14の現在の動きから、その将来の動きを予測し、その動きをマスタ12に入力することができる。つまり、ユーザ12Aのこのような操作により、制御装置11は、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。
Further, the master
図4は、図2の情報処理システム10の、記録システムとしての側面を説明する図である。
FIG. 4 is a diagram illustrating a side surface of the
図4に示される記録システム10Bは、情報処理システム10の一側面であり、ユーザ12Aのマスタ12の操作履歴を記録するシステムである。
A
図3の場合と同様に、制御装置11のマスタスレーブ制御部21は、サーボゲイン設定コマンド31をマスタ12に供給することによって、マスタ12の必要な関節のみを可動とし、マスタ12は、ユーザ12Aの操作に対して、各関節の角度(関節角)を示す関節角センサデータ32を制御装置11に供給する。
As in the case of FIG. 3, the master
また、制御装置11のマスタスレーブ制御部21は、その関節角センサデータ32から関節角コマンド33を生成し、スレーブ13に供給する。スレーブ13は、その関節角コマンド33に応じて各関節を動作させ、マスタ12の動きをトレースする。ユーザ12Aは、そのスレーブ13の動きとボール14の位置等を視認しながらマスタ12を操作することにより、制御結果を制御指示入力にフィードバックさせる。
The master
以上は、図3の場合と同様であるが、図4の場合、さらに、スレーブ13は、関節角センサデータ34、視覚センサデータ35、および音声センサデータ36を制御装置11に供給する。スレーブ13は、指定された関節角コマンド33を実行する一方、自己の姿勢情報およびボール14等の外部環境情報を、各種センサによって逐次的に観測している。例えば、エンコーダによる関節角度情報よりなる関節角センサデータ34、カメラによる画像情報(ボール14の座標)よりなる視覚センサデータ35、およびマイクロホンによる音声情報(音圧変化)よりなる音声センサデータ36などである。観測されたこれらのセンサ情報は逐次的に無線を通じて制御装置11に送信される。
The above is the same as in the case of FIG. 3, but in the case of FIG. 4, the
制御装置11のマスタスレーブ制御部21は、スレーブ13に供給する関節角コマンド33と、スレーブ13より供給された関節角センサデータ34、視覚センサデータ35、および音声センサデータ36とを統合したベクトルデータを、所定の時間毎に生成し、その各ベクトルデータを時系列データとしてデータ記録部22に供給して記録させる。データ記録部22は、例えば、ハードディスク、半導体メモリ、光磁気ディスク等の所定の記録媒体を有しており、マスタスレーブ制御部21より供給される時系列データをその記録媒体に記録する。
The master-
このデータ記録部22に記録された時系列データは、様々な処理に利用することができる。例えば、マスタスレーブ制御部21は、記録時より時間的に後の、任意の時刻に、データ記録部22より関節角コマンド33を時系列に沿って読み出し、スレーブ13に供給することにより、スレーブ13を利用してマスタ12の動きを任意の時刻に再現することができる。すなわち、その再現を複数回行うことも可能である。また、記録された時系列データの編集も可能になる。さらに、他の装置や他のシステムでの利用も可能になる。
The time series data recorded in the
もちろん、制御装置11自身が、後述する学習機能の教示データとして、この時系列データを利用することもできる。データ記録部22は、関節角コマンド33とともに、関節角コマンドが生成されたのと同時刻にスレーブ13より得られた関節角センサデータ34、視覚センサデータ35、および音声センサデータ36をベクトルデータとして記録する。つまり、データ記録部22は、システム内で発生する通信遅延や処理遅延を含む状態で時系列データを記録する。これにより、制御装置11は、後述するように、学習処理により、制御遅延を考慮した予測モデルの学習を行うことができる。つまり、制御装置11は、制御における通信や処理の遅延に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。
Of course, the
また、その関節角コマンドの記録の際に、スレーブ13がその関節角コマンドによって動作するので、ユーザ12Aは、制御結果を視認しながらマスタ12を操作することができ、データ記録部22は、適切な制御が行われたときの関節角コマンド33を記録することができる。
Further, since the
なお、図3の制御システムの場合と同様に、制御装置11のマスタスレーブ制御部21は、例えば、マスタ12の双腕の関節のみを、外部から自由に動かせるように、関節角度制御のサーボゲインを切った状態にし、教示者となるユーザに、マスタ12の双腕を把持し、スレーブに行って欲しい行動を遠隔で指令するように双腕の各関節角のみを操作させることができる。このサーボゲインは、各関節に個別に値を設定することができるようになされており、マスタスレーブ制御部21は、タスクを実行するために必要となる関節角のみゲインを落とし、その他の関節角は動かないようにゲインを入れておくことや、より可動範囲を広げたい関節角のゲインのみ低いゲインを設定することにより、ユーザが不必要な自由度を動かさずに教示を行うことができるようにすることができる。
As in the case of the control system of FIG. 3, the master
図5は、図2の情報処理システム10の、学習システムとしての側面を説明する図である。
FIG. 5 is a diagram for explaining an aspect of the
図5に示される学習システム10Cは、情報処理システム10の一側面であり、スレーブ13をそのセンサ情報による自律制御を行うとともに、その制御コマンドの生成の際に用いられる時系列予測器の予測モデルを学習する学習システムである。
The learning system 10C shown in FIG. 5 is one aspect of the
制御装置11のデータ学習部23は、データ記録部22に記録されている、図4の記録システム10Bにおいて記録されたような時系列データ、すなわち、関節角コマンド33、関節角センサデータ34、視覚センサデータ35、および音声センサデータ36を含むベクトルデータに基づいて、時系列予測器の予測モデルの学習を行う。
The
この予測モデルは、スレーブ13より供給されるセンサ情報や過去の制御コマンドに基づいて、スレーブ13を制御する次のステップの制御コマンドを生成する。ところで現実の学習システム10Cにおいては、スレーブ13において生成された関節角センサデータ34、視覚センサデータ35、および音声センサデータ36が、制御装置11に供給され、制御装置11がそれらから関節角コマンド33を生成し、その関節角コマンド33がスレーブ13に供給され、スレーブ13がその関節角コマンドを実行し、実際の動作となるまでに、タイムラグ、すなわち制御遅延が発生する。
This prediction model generates a control command for the next step for controlling the
この制御遅延は、例えば、スレーブ13で観測された関節角センサデータ34を制御装置11の時系列予測器に転送する際の通信遅延、制御装置11において算出された関節角コマンド33をスレーブ13に転送する際の通信遅延、および、スレーブ13において、関節角コマンド33に基づいて実際にその関節角度にアクチュエータが回転されるまでの制御動作遅延などの要因によるものである。
This control delay is, for example, a communication delay when transferring the joint
そこで、データ学習部23は、この制御遅延による制御の発散を抑制し、制御遅延に対する耐性を向上させるために、上述したような予め制御遅延を含む時系列データを教示データとし、その制御遅延を考慮して適切な最新の関節角コマンド33、すなわち、各種のセンサ情報に対して制御遅延時間分将来の動作を予測し、その動作をスレーブ13に行わせるための関節角コマンド33を予測して生成する時系列予測器の予測モデルの学習を行う。つまり、データ学習部23は、このような時系列予測器の予測モデルの予測精度を向上させるために学習を行う。この学習についての詳細は後述する。
Therefore, in order to suppress the divergence of control due to the control delay and improve the resistance against the control delay, the
スレーブ制御部24は、このデータ学習部23により学習された予測モデルを用いて、スレーブ13より供給される、関節角センサデータ34、視覚センサデータ35、および音声センサデータ36等のセンサ情報より、制御遅延時間分先の時刻に対応する関節角コマンド33を予測し、それをスレーブ13に供給する。
Using the prediction model learned by the
このように制御装置11は、時系列予測器により予測モデルを用いて、制御遅延時間分先の時刻に対応する関節角コマンド33を予測して生成することにより、制御における通信や処理の遅延に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。また、制御装置11は、予め制御遅延を含む時系列データを教示データとして予測モデルの学習を行うので、予測精度をさらに向上させることができる。
As described above, the
以上のように情報処理システム10は、制御システム、記録システム、および学習システムとしての各側面を有している。従って、情報処理システム10は、スレーブ13の自律制御において、センサ情報から制御遅延時間分先の時刻に対応する制御コマンドを予測する予測モデルの学習用の教示データを生成して記録する教示処理と、生成された教示データを用いてその予測モデルの学習を行い、スレーブ13のセンサ情報に基づいたスレーブ13の自律制御を行う学習制御処理を行うことができる。
As described above, the
次に、情報処理システム10を構成する各装置について説明する。図6は、図2の制御装置11の構成例を示すブロック図である。
Next, each device constituting the
図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を有している。
In FIG. 6, the
入力部52、表示部53、並びに、マスタスレーブ制御部21乃至データ表示制御部25は、主制御部51の制御の下、各処理を行う。
The
図7は、図6の制御装置11の教示処理に関する主な構成を示している。教示処理の説明に不要な部分は省略している。
FIG. 7 shows a main configuration relating to the teaching process of the
この教示時の制御装置11Aは、主制御部51、入力部52、表示部53、マスタスレーブ制御部21、データ記録部22、およびデータ表示制御部25を有している。このとき、マスタスレーブ制御部21は、サーボゲイン設定部61、無線通信部62、センサデータ・コマンド変換部63、無線通信部64、データ統合部65、および再生部66を有している。
The
サーボゲイン設定部61は、マスタ12の各関節のサーボモータのゲイン(サーボゲイン)の設定に関する処理を行う処理部である。具体的には、主制御部51を介して表示部53に、サーボゲインをユーザに指示させるGUI(Graphical User Interface)画面を表示させ、入力部52より入力されたユーザ指示を受け付け、その指示に基づいてサーボゲインを設定し、サーボゲイン設定コマンド31を無線通信部62の送信部71を介してマスタ12に送信する。
The servo
無線通信部62は、例えば、無線LAN等の所定の無線通信規格に準拠する方法でマスタ12と無線通信を行う処理部であり、マスタ12にデータを送信する送信部71、および、マスタ12より送信されたデータを受信する受信部72を有している。送信部71は、例えば、上述したように、サーボゲイン設定部61より供給されるサーボゲイン設定コマンド31をマスタ12に送信する。受信部72は、例えば、マスタ12より供給された関節角センサデータ32を受信し、センサデータ・コマンド変換部63に供給する。
The wireless communication unit 62 is a processing unit that performs wireless communication with the
センサデータ・コマンド変換部63は、受信部72を介して供給された、マスタ12の関節角センサデータ32を、その関節角を実現する制御コマンドである関節角コマンド33に変換する処理部である。センサデータ・コマンド変換部63は、その関節角センサデータ32を変換して得られた関節角コマンド33を、無線通信部64の送信部73を介してスレーブ13に送信したり、データ統合部65に供給したりする。
The sensor data /
無線通信部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と同様のセンサ情報として処理されるデータである。
The wireless communication unit 64 is a communication unit similar to the wireless communication unit 62, and performs wireless communication with the
データ統合部65は、所定の時間毎に、センサデータ・コマンド変換部63より供給される関節角コマンド33、並びに、受信部74より供給される関節角センサデータ34およびボール座標データ37の各データを統合し、ベクトルデータとして、データ記録部22に供給する。データ記録部22は、所定の時間毎に供給されるそのベクトルデータ(関節角コマンド33、関節角センサデータ34、およびボール座標データ37の集合)を、時系列データとして順次記録し、管理する。
The
再生部66は、以上のようにしてデータ記録部22に時系列データとして記録された関節角コマンド33を、その時系列に沿って順次読み出し、その読み出した関節角コマンド33を、送信部73を介してスレーブ13に供給する。すなわち、再生部66は、データ記録部22に記録されている関節角コマンド33群により示される一連の動作を、スレーブ13に再現させる。この再生部66の再現処理により、ユーザは、スレーブ13の動きによって、データ記録部22に記録されたデータの内容を確認することができる。例えば、ユーザは、この再現結果を参考にして、新たな教示を行ったり、記録したデータの一部または全部を破棄し、再度教示をやり直したりすることができる。
The
また、上述したデータ統合部65の出力は、データ表示制御部25にも供給される。データ表示制御部25は、供給されたベクトルデータ(関節角コマンド33、関節角センサデータ34、およびボール座標データ37の集合)を、数値で表したり、グラフ化したりして視覚化し、その画像情報を、主制御部51を介して表示部53に供給する。表示部53は、供給された画像情報を、所定のGUI画面上等に表示する。このように、記録するデータを視覚化して表示部53に表示させることにより、ユーザは、記録されるデータの内容を確認しながら、マスタ12を操作し、教示を行うことができる。
The output of the
図8は、図6制御装置11の学習制御処理に関する主な構成を示している。学習制御処理の説明に不要な部分は省略している。
FIG. 8 shows a main configuration related to the learning control process of the
この学習制御時の制御装置11Bは、主制御部51、入力部52、表示部53、データ記録部22、データ学習部23、スレーブ制御部24、およびデータ表示制御部25を有している。
The
スレーブ制御部24は、無線通信部91、データ統合部92、および時系列予測器93を有している。
The
無線通信部91は、図7の無線通信部64と同様の通信部であり、例えば、無線LAN等の所定の無線通信規格に準拠する方法でスレーブ13と無線通信を行う。無線通信部91は、スレーブ13にデータを送信する送信部101、および、スレーブ13より送信されたデータを受信する受信部102を有している。送信部101は、例えば、データ統合部92より供給される関節角コマンド33をスレーブ13に送信する。受信部102は、例えば、スレーブ13より供給された、関節角センサデータ34やボール座標データ37を受信し、それらをデータ統合部92に供給する。
The wireless communication unit 91 is a communication unit similar to the wireless communication unit 64 of FIG. 7, and performs wireless communication with the
データ統合部92は、所定の時間毎に、受信部102より供給された関節角センサデータ34およびボール座標データ37、並びに、1つ前の時刻において、時系列予測器93において予測された関節角コマンド33を統合し、ベクトルデータとして、時系列予測器93に供給する。また、データ統合部92は、時系列予測器93において予測された関節角コマンド33である関節角コマンド予測データ111を含むベクトルデータ取得すると、その関節角コマンド予測データ111を新たな関節角コマンド33として、送信部101を介してスレーブ13に供給する。
The
時系列予測器93は、データ学習部23より供給される予測モデルにより、データ統合部92より供給されたベクトルデータ(1つ前の時刻において、時系列予測器93において予測された関節角コマンド33、並びに、受信部102より供給された関節角センサデータ34およびボール座標データ37)に基づいて、1ステップ分の予測計算を行い、関節角コマンドの予測データである関節角コマンド予測データ111、関節角センサデータの予測データである関節角予測データ112、および、ボール座標データの予測データであるボール座標予測データ113を生成し、それらをベクトルデータとしてデータ統合部92に供給する。
The
つまり、スレーブ13より供給される関節角センサデータ34やボール座標データ37が1つ前のステップの関節角コマンド33とともに時系列予測器93に供給されると、時系列予測器93は、制御遅延を無くすように次のステップの関節角コマンド33を予測する。その新たな関節角コマンド33は、スレーブ13に供給され、実行される。そして、その実行の際に得られた新たな関節角センサデータ34やボール座標データ37が、制御装置11Bに供給される。このような処理を繰返し、制御装置11Bは、スレーブ13に対して、スレーブ13自身のセンサ情報による自律制御を行う。
That is, when the joint
この時系列予測器93の予測モデルは、現在時間における状態を入力とし、その情報を元に次の時間の状態を予測し出力する計算アルゴリズムのことである。例えば、微分方程式をルンゲ・クッタ法などの手法を用いたアルゴリズムでは、精度の高い時系列予測計算を行うことができる。この予測モデルは、どのような手法で実現するようにしてもよく、あるベクトルデータの入力とそれに対応するベクトルデータの出力との対応関係が予め教示データとして与えられ、その教示データを用いた学習後、教示時に与えたものと同一の入力情報から、教示時と同一の出力情報が得られるモデルであれば何でもよい。例えば、図9に示されるような、リカレントニューラルネットワークを予測モデルとして用いてもよい。
The prediction model of the
リカレントニューラルネットワークとは、通常のバックプロパゲーションを行うニューラルネットワークについて、出力層から出力されるベクトルの一部が再帰的に入力層にフィードバックされる構造(コンテキストノード)を持ったニューラルネットワークである。つまり、リカレントニューラルネットワークは、ある時間における状態に至るまでの過去の時系列状態を反映した、ある切り出された一時点での観測量には反映されない、その時点でのネットワーク内の内部状態量(コンテキスト情報)を有している。このコンテキスト情報には、時間方向に奥行きを持った過去の履歴が反映されるので、空間的に決定される状態量だけでは一意に状態を決定できない、時系列予測計算などには必要な状態量である。リカレントニューラルネットワークは、入力された時系列状態ベクトルだけでなく、このコンテキスト情報にも基づいて予測状態ベクトルを生成して出力する。その際、リカレントニューラルネットワークは、コンテキスト情報を更新し、新たなコンテキスト情報として再帰させる(コンテキストループ)。この再帰ループ(コンテキストループ)があることによって、リカレントニューラルネットワークは、入力ベクトルから一意に出力が決定できないような時系列情報についても、コンテキストノードに自己組織的にコンテキスト情報を生成し、判別を行うことが可能となる。 A recurrent neural network is a neural network having a structure (context node) in which a part of a vector output from an output layer is recursively fed back to an input layer with respect to a neural network that performs normal backpropagation. In other words, the recurrent neural network reflects the past time-series state up to the state at a certain time, and is not reflected in the observed amount at a certain cut-out temporary point. Context information). This context information reflects the past history with depth in the time direction, so it is not possible to uniquely determine the state with only the spatially determined state amount. State amount necessary for time-series prediction calculations, etc. It is. The recurrent neural network generates and outputs a predicted state vector based on not only the input time-series state vector but also this context information. At that time, the recurrent neural network updates the context information and recurses it as new context information (context loop). Due to the presence of this recursive loop (context loop), the recurrent neural network generates context information in the context node in a self-organized manner and makes a determination even for time-series information whose output cannot be uniquely determined from the input vector. It becomes possible.
例えば、リカレントニューラルネットワークは、偶々、値が互いに同一の時系列状態ベクトルが入力された2つの場合においても、コンテキスト情報を利用することにより、それぞれの場合の、それまでに入力された時系列ベクトルの値の違いを判別することができるので、互いに異なる予測状態ベクトルを導き出すことができる。 For example, the recurrent neural network accidentally uses the context information in two cases in which time-series state vectors having the same value are input, so that the time-series vectors input so far in each case are used. Can be discriminated, so that different prediction state vectors can be derived.
図8のデータ学習部23は、データ記録部22に時系列データとして記録されているベクトルデータ(関節角コマンド33、関節角センサデータ34、およびボール座標データ37の集合)を教示データとして、このようなリカレントニューラルネットワークの学習を行うことにより、関節角コマンド33の予測モデルを生成し、それを、主制御部51を介してスレーブ制御部24の時系列予測器93に供給する。
The
図10は、データ学習部23の詳細な構成例を示すブロック図である。
FIG. 10 is a block diagram illustrating a detailed configuration example of the
図10において、データ学習部23は、ダイナミクス記憶ネットワーク取得部121、ダイナミクス記憶ネットワーク保持部122、時系列データ取得部123、学習部124、およびダイナミクス記憶ネットワーク供給部125を有している。
10, the
ダイナミクス記憶ネットワーク取得部121は、主制御部51を介して、スレーブ制御部24の時系列予測器93よりダイナミクス記憶ネットワーク131を取得し、それをダイナミクス記憶ネットワーク保持部122に供給する。ダイナミクス記憶ネットワーク131は、詳細については後述するが、内部状態量を持つ力学系近似モデルをノードとするネットワーク(内部状態量を持つ力学系近似モデルを保持(記憶)するノードによって構成されるネットワーク)であり、時系列予測器93において使用される、リカレントニューラルネットワークを用いた予測モデルである。
The dynamics storage network acquisition unit 121 acquires the
ダイナミクス記憶ネットワーク保持部122は、ダイナミクス記憶ネットワーク取得部121より供給されたダイナミクス記憶ネットワーク131を一時的に保持する。このダイナミクス記憶ネットワーク保持部122のダイナミクス記憶ネットワーク131は、学習部124に利用される。
The dynamics storage
時系列データ取得部123は、主制御部51を介して、データ記録部22より、関節角コマンド33、関節角センサデータ34、およびボール座標データ37等の時系列データを取得し、それを学習部124に供給する。
The time series data acquisition unit 123 acquires time series data such as the
学習部124は、ダイナミクス記憶ネットワーク保持部122よりダイナミクス記憶ネットワーク131を取得すると、供給される時系列データを教示データとして、ダイナミクス記憶ネットワーク131に対して学習処理を行い、ダイナミクス記憶ネットワーク131を更新する。
When the
この時系列データに含まれる各データには、ラベル(データが、どのようなカテゴリのデータであるかを表す情報)が付与されていない。従って、学習部124は、時系列データに、どのようなカテゴリのデータが含まれているのかは未知であり、そのカテゴリの数も未知であるものとして学習を行う。
Each data included in the time series data is not given a label (information indicating what kind of category the data is). Therefore, the
図10の例において、ダイナミクス記憶ネットワーク131は、それぞれがリカレントニューラルネットワークを有するノード131−4乃至131−9により構成されている。
In the example of FIG. 10, the
学習部124は、ダイナミクス記憶ネットワーク131全体によって、時系列データの特徴を適切に表現できるように学習を行う。ダイナミクス記憶ネットワーク131を構成するそれぞれのノード131−4乃至131−9は自己組織的に学習が行われる。
The
ここで、1つのノードが必ずしも1つのカテゴリに対応するとは限らないということには注意しておく必要がある。むしろ、複数のノードによって、あるカテゴリが構成されると見ることができる。例えば、時系列データにカテゴリ「A」、「B」、「C」の3つのカテゴリのデータが含まれる場合には、カテゴリ「A」、「B」、「C」それぞれが複数のノードによって学習されることがある。また、時系列データに含まれるデータが明確にカテゴリ分けできない(人間がカテゴリ分けできない)場合であっても、学習は可能である。 Here, it should be noted that one node does not necessarily correspond to one category. Rather, it can be seen that a certain category is constituted by a plurality of nodes. For example, when time-series data includes data of three categories “A”, “B”, and “C”, each of the categories “A”, “B”, and “C” is learned by a plurality of nodes. May be. Further, even when the data included in the time series data cannot be clearly categorized (humans cannot categorize), learning is possible.
ダイナミクス記憶ネットワーク131は、複数のノードで構成されるネットワークである。ノードの一つ一つは時系列パターンを保持するために利用される。そして、ノードとノードは結合関係を持つことができる。この結合関係をリンクと呼ぶ。図10のダイナミクス記憶ネットワーク131では、例えば、ノード131−4は、ノード131−5およびノード131−6と結合関係を有するが、この結合関係がリンクにあたる。
The
図11と図12に、ダイナミクス記憶ネットワークの代表的な例を示す。 11 and 12 show typical examples of dynamics storage networks.
図11のダイナミクス記憶ネットワーク140は、すべてのノード141乃至147がリンクを有していない。
In the
これに対して、図12のダイナミクス記憶ネットワーク150は、すべてのノード151乃至159が2次元的に配置され、縦方向および横方向に隣接するノード間にリンクが与えられている。ここで、リンクは空間上にノードが配置される構造を与えるために利用される。つまり、図12のダイナミクス記憶ネットワーク150は、2次元的なノードの配置構造を与えたダイナミクス記憶ネットワークの例であり、図11のダイナミクス記憶ネットワーク140は、ノードの配置に空間的な制約がない構造を与えたダイナミクス記憶ネットワークの例である。
On the other hand, in the
リンクによって与えられる空間的なノードの配置構造に基づき、その空間上での距離関係が決定される。例えば、図12のダイナミクス記憶ネットワーク150の場合、あるノードに着目したとき、その着目ノードとリンクで直接結合された、着目ノードに隣接するノードは(着目ノードとの距離が)最も近く、その隣接ノードから先のリンクを順にたどっていくことで到達するノードは(着目ノードとの距離が)少しずつ遠くなっていく。
Based on the spatial node arrangement structure given by the link, the distance relation in the space is determined. For example, in the case of the
これに対して、図11のダイナミクス記憶ネットワーク140の場合、空間上における距離関係は与えられない。
On the other hand, in the case of the
図11や図12の例以外にも、リンクの構成の仕方によって、ノードの空間上における配置構造を変えることができ、その配置構造は、リンクを使うことで任意に設定することができる。 In addition to the examples of FIGS. 11 and 12, the arrangement structure of the nodes in the space can be changed depending on the way the link is configured, and the arrangement structure can be arbitrarily set by using the link.
図13は、ダイナミクス記憶ネットワーク131の1つのノードの詳細例を示す図である。
FIG. 13 is a diagram illustrating a detailed example of one node of the
ダイナミクス記憶ネットワークの1つのノードは、内部状態量を持つ力学系近似モデル161と、その力学系近似モデル161のパラメータを学習するための学習データ(教示データ)を記憶しておく学習データ記憶部162を有している。内部状態量を持つ力学系近似モデル161としては、例えばリカレントニューラルネットワークなどが利用される。
One node of the dynamics storage network stores a dynamic
図13では、力学系近似モデル161として、三層型ニューラルネットワーク(NN)の出力層から入力層への回帰ループを持つリカレントニューラルネットワーク(RNN)が用いられている。このリカレントニューラルネットワークを用いて、時系列データにおける時刻tの状態ベクトルXtを入力し、時刻t+1の状態ベクトルXt+1を予測して出力することを学習(予測学習、prediction learning)することにより、対象となる時系列データの時間発展法則を学習することができる。
In FIG. 13, a recurrent neural network (RNN) having a regression loop from the output layer to the input layer of a three-layer neural network (NN) is used as the dynamical
リカレントニューラルネットワークのような内部状態量を持つ力学系近似モデルのパラメータの推定方法には、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) The Back-Propagation Through Time method is used as a parameter estimation method for dynamical system approximation models with internal state quantities such as a recurrent neural network. (Reference: 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のデータは対応関係を持つことになる。
In the dynamic
ここで、学習に使われるデータは時系列データであることから、内部状態量を持つ力学系近似モデル161はダイナミクスを学習することになる。
Here, since the data used for learning is time series data, the dynamical
図10に戻り、以上のようなダイナミクス記憶ネットワーク131の更新が完了すると、学習部124は、更新されたダイナミクス記憶ネットワーク131をダイナミクス記憶ネットワーク保持部122に戻す。
Returning to FIG. 10, when the update of the
ダイナミクス記憶ネットワーク供給部125は、その更新されたダイナミクス記憶ネットワーク131を、ダイナミクス記憶ネットワーク保持部122より取得し、それを、主制御部41を介して、スレーブ制御部24の時系列予測器93に供給する。
The dynamics storage network supply unit 125 acquires the updated
図14は、時系列予測器93の詳細な構成例を示すブロック図である。
FIG. 14 is a block diagram illustrating a detailed configuration example of the
図14に示されるように、時系列予測器93は、入力部171、特徴抽出部172、認識部173、ネットワーク記憶部174、内部状態記憶部175、および生成部176を有している。
As illustrated in FIG. 14, the
入力部171は、データ統合部92より供給された時系列データ(1つ前の関節角コマンド33、並びに、スレーブ13より供給された関節角センサデータ34およびボール座標データよりなるベクトルデータ)を受け付け、それを特徴抽出部172に供給する。
The
特徴抽出部172では、入力部171より供給された時系列データから特徴量の抽出が行われる。例えば、センサ信号の1つである音声信号に対して一定時間間隔で周波数分析などの処理が施され、メルケプストラムなどの特徴量が時系列に抽出される。
The
ここで、メルケプストラムとは音声認識などで広く利用されている特徴量である。特徴抽出部172が時系列データより特徴量を時系列に抽出することにより得られる、その特徴量の時系列データは認識部173の内部状態量更新部181および生成部176の時系列データ生成部193に供給される。
Here, the mel cepstrum is a feature amount widely used for voice recognition and the like. The
認識部173は、特徴抽出部172より供給された時系列データに対して、それまでの学習の結果である、ネットワーク記憶部174に記憶されているダイナミクス記憶ネットワークに保持されたダイナミクスと照らし合わせ、最も類似したダイナミクスを決定し、その結果を認識結果として生成部176に供給する。
The recognizing
認識部173は、内部状態量更新部181、スコア計算部182、勝者ノード決定部183、および認識結果出力部184を有している。
The
内部状態量更新部181は、内部状態記憶部175から前回更新されて記憶されている内部状態量をネットワーク記憶部174に記憶されているダイナミクス記憶ネットワークの各ノードの力学系近似モデルへ読み込み、入力となる時系列データに基づいて、各内部状態量を更新する。
The internal state
スコア計算部182は、学習時に勝者ノードを決定するために行う処理と同じスコア計算を行う。スコア計算部182のスコア計算の結果、各ノードにはスコアが付与される。上述したように、内部状態量を持つ力学系近似モデルがリカレントニューラルネットワークで与えられる場合には、予測出力の平均二乗誤差がスコアとして利用される。
The
つまり、認識部173においては、内部状態量を更新しながら、スコアの計算が行われる。勝者ノード決定部183は、スコア計算部182において得られるスコアに基づき、最もスコアの良いノード、すなわち勝者ノードを決定する。さらに、勝者ノード決定部183は、この最もスコアの良いノード(勝者ノード)に対応するダイナミクスを、入力された時系列データに最も適合するダイナミクスとして選択する。
That is, the
上述した内部状態量更新部181は、勝者ノードが決定されたときの内部状態量の更新値(更新された内部状態量)と、その勝者ノードが決定されたときの内部状態量の初期値とを、内部状態記憶部175に記憶させる。
The internal state
ここで、内部状態記憶部175に記憶された内部状態量の更新値は、認識部173での次回のスコア計算に利用される。また、内部状態記憶部175に記憶された内部状態量の初期値は、生成部176において利用される。
Here, the updated value of the internal state quantity stored in the internal
認識部173の認識結果出力部184は、勝者ノード決定部183においてどのノードが選択されたかという情報を認識結果として出力し、生成部176の生成ノード決定部191に供給する。
The recognition
ネットワーク記憶部174は、時系列予測モデルとしてのダイナミクス記憶ネットワークを記憶する記憶部である。なお、上述した、ダイナミクス記憶ネットワークのノードの一部である学習データ記憶部162は、ここでは、ネットワーク記憶部174の記憶領域の一部として構成される。
The
内部状態記憶部175は、上述の認識部173の処理において更新された力学系近似モデル、すなわち、ネットワーク記憶部174のダイナミクス記憶ネットワークの内部状態量(内部状態)を保持する。この内部状態量は、認識部173によって更新され、生成部176によって生成処理に利用される。
The internal
生成部176は、ダイナミクス記憶ネットワークに保持されたダイナミクスから、必要に応じて次の時系列データ(予測情報)を生成する。生成部176は、生成ノード決定部191、内部状態読み込み部192、時系列データ生成部193、および生成結果出力部194を有している。
The
生成ノード決定部191は、認識部173より供給される認識結果に基づき、時系列データを生成すべきノード(生成ノード)を決定する。つまり、認識部173の認識の処理において決定された勝者ノードが生成ノードに決定される。生成部176は、認識部173の認識の処理において決定された勝者ノードから時系列データ(予測情報)を生成する。
The generation
内部状態読み込み部192は、ネットワーク記憶部174に記憶されたダイナミクス記憶ネットワークの生成ノードの力学系近似モデルに内部状態記憶部175の記憶値を、内部状態量の初期値として読み込む。即ち、内部状態読み込み部192は、内部状態記憶部175の記憶値のうちの、生成ノードが認識部173において勝者ノードに決定されたときの内部状態量の初期値を読み出し、生成ノードの力学系近似モデルの内部状態量の初期値にセットする。
The internal
時系列データ生成部193は、特徴抽出部172において抽出された特徴量の時系列データを読み込み、その時系列データと、内部状態読み込み部192によって内部状態量の初期値がセットされた力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。
The time series
生成結果出力部194は、その時系列データ生成部193により生成された時系列データ(予測情報)を、生成結果としてデータ統合部92(図8)に出力する。
The generation
ここで、ダイナミクス記憶ネットワークで学習されるダイナミクスの数は、ダイナミクス記憶ネットワークのノード数と一致するので、そのノード数に応じた時系列データを認識し、その認識結果に応じて、時系列データを生成することが可能となる。 Here, since the number of dynamics learned in the dynamics storage network matches the number of nodes in the dynamics storage network, the time series data corresponding to the number of nodes is recognized, and the time series data is converted according to the recognition result. Can be generated.
図15は、マスタ12やスレーブ13として利用されるロボットの斜視図である。
FIG. 15 is a perspective view of a robot used as the
図15に示されるように、本実施の形態においては、2足歩行の人型のロボット装置をマスタ12およびスレーブ13として用いる場合ついて説明するが、実際には、2足歩行のロボット装置に限らず、4足又は車輪等により移動可能なロボット装置等、どのようなロボット装置であってもよい。また、駆動装置、通信装置、情報処理装置、またはAV機器等、ロボット以外のどのような装置であってももちろんよい。
As shown in FIG. 15, in the present embodiment, a case where a bipedal humanoid robot apparatus is used as the
図15に示される人型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、環境中の情報を視覚や聴覚を使って取得し、環境の状況に応じた行動を、教示された経験やあらかじめプログラムされた行動計画に従って、再現することが可能である。 The humanoid robot device shown in FIG. 15 is a practical robot that supports human activities in various situations in the living environment and other daily lives. It acquires information in the environment using visual and auditory senses. It is possible to reproduce the behavior according to the situation according to the taught experience and the pre-programmed action plan.
図15において、マスタ12とされるロボット装置は、体幹部ユニット201の所定の位置に頭部ユニット202が連結されると共に、左右2つの腕部ユニット203Rおよび203Lと、左右2つの脚部ユニット204Rおよび204Lが連結されて構成されている。これらのR及びLは、それぞれ、右または左を示す接尾辞であり、以下において、左右を互いに区別する必要のない場合は省略される。
In FIG. 15, the robot device as the
図15のロボット装置が具備する関節自由度構成を図16に模式的に示す。 FIG. 16 schematically shows a joint degree-of-freedom configuration included in the robot apparatus of FIG.
頭部ユニット202を支持する首関節は、首関節ヨー軸211、首関節ピッチ軸212、および首関節ロール軸213という3自由度を有する。
The neck joint that supports the
上肢を構成する各々の腕部ユニット203Rおよび203Lは、肩関節ピッチ軸217、肩関節ロール軸218、上腕ヨー軸219、肘関節ピッチ軸220、前腕ヨー軸221、手首関節ピッチ軸222、手首関節ロール軸223、および手部224とで構成される。手部224は、実際には、さらに複数本の指を含む多関節・多自由度構造体である。ただし、手部224の動作は、ロボット装置全体の姿勢制御や歩行制御に対する寄与や影響が少ないので、以下においては、説明の簡略化のためにゼロ自由度とする。従って、左右の各腕部は、それぞれ7自由度を有する。
Each
体幹部ユニット201は、体幹ピッチ軸214、体幹ロール軸215、および体幹ヨー軸216という3自由度を有する。
The
下肢を構成する各々の脚部ユニット204Rおよび204Lは、股関節ヨー軸225、股関節ピッチ軸226、股関節ロール軸227、膝関節ピッチ軸228、足首関節ピッチ軸229、足首関節ロール軸230、および足部231とで構成される。なお、股関節ピッチ軸226と股関節ロール軸227の交点は、ロボット装置全体の股関節位置を定義する。また、足部231は、実際には多関節・多自由度の足底を含んだ構造体であるが、以下においては説明の簡略化のため、ロボット装置の足底は、ゼロ自由度であるとする。従って、左右の各脚部は、それぞれ6自由度を有する。
Each
以上のように、図16のロボット装置全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、これはあくまでも一例であり、マスタ12およびスレーブ13の自由度は32自由度に限定されるわけではない。つまり、マスタ12およびスレーブ13の制御パラメータの数(ロボットの場合、自由度すなわち関節数)は、いくつであってもよく、例えば、設計や制作上の制約条件や要求仕様等に応じて適宜増減可能である。
As described above, the entire robot apparatus of FIG. 16 has a total of 3 + 7 × 2 + 3 + 6 × 2 = 32 degrees of freedom. However, this is merely an example, and the degrees of freedom of the
上述したようなロボット装置が有する各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、関節に設けられるアクチュエータは、小型且つ軽量であることが好ましい。 Each degree of freedom of the robot apparatus as described above is actually implemented using an actuator. The actuators provided in the joints are small and light because of the need to eliminate the extra bulge on the appearance and approximate the shape of a human body, or to control the posture of an unstable structure called biped walking. It is preferable that
このようなロボット装置は、ロボット装置全体の動作を制御する制御システムを例えば体幹部ユニット201等に備える。図17は、マスタ12およびスレーブ13として用いられるロボット装置の制御システム構成を示す模式図である。図17に示されるように、ロボット装置内の制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール300、および、アクチュエータ450の駆動等ロボット装置の全身協調運動を制御する運動制御モジュール400により構成される。
Such a robot apparatus includes a control system that controls the operation of the entire robot apparatus, for example, in the
思考制御モジュール300は、バスI/F(InterFace)301により互いに接続された、情緒判断や感情表現に関する演算処理を実行するCPU(Central Processing Unit)311、RAM(Random Access Memory)312、ROM(Read Only Memory)313、および外部記憶装置(ハード・ディスク・ドライブ等)314等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
The
この思考制御モジュール300は、バスI/F301を介して画像入力装置351から入力される画像データや、バスI/F301を介して音声入力装置352から入力される音声データ等、外界からの刺激等に従って、ロボット装置の現在の感情や意思を決定する。すなわち、上述したように、入力される画像データからユーザの表情を認識し、その情報をロボット装置の感情や意思に反映させることで、ユーザの表情に応じた行動を発現することができる。ここで、画像入力装置351は、例えばCCD(Charge Coupled Device)カメラを複数有し、音声入力装置352は、例えばマイクロホンを複数有している。
This
また、思考制御モジュール300は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール400に対して指令を発行する。
In addition, the
運動制御モジュール400は、バスI/F401により互いに接続された、ロボット装置の全身協調運動を制御するCPU411、RAM412、ROM413、および外部記憶装置(ハード・ディスク・ドライブ等)414等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置414には、例えば、オフラインで算出された歩行パターンや目標とするZMP(Zero Moment Point)軌道や、その他の行動計画を蓄積することができる。
The
この運動制御モジュール400には、図16に示したロボット装置の全身に分散するそれぞれの関節自由度を実現するアクチュエータ450、対象物との距離を測定する距離計測センサ(図示せず)、体幹部ユニット201の姿勢や傾斜を計測する姿勢センサ451、左右の足底の離床又は着床を検出する接地確認センサ452および453、足部231の足底に設けられる荷重センサ、並びに、バッテリ等の電源を管理する電源制御装置454等の各種の装置が、バスI/F401経由で接続されている。ここで、姿勢センサ451は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ452および453は、近接センサ又はマイクロ・スイッチ等で構成される。もちろん、それら以外のセンサにより構成されるようにしてもよい。
The
思考制御モジュール300と運動制御モジュール400は、共通のプラットフォーム上で構築され、両者間はバスI/F301およびバスI/F401を介して相互接続されている。
The
運動制御モジュール400は、思考制御モジュール300から指示された行動を体現すべく、各アクチュエータ450による全身協調運動を制御する。すなわち、CPU411は、思考制御モジュール300から指示された行動に応じた動作パターンを外部記憶装置414から取り出し、又は、内部的に動作パターンを生成する。そして、CPU411は、指定された動作パターンに従って、足部運動、ZMP軌道、体幹運動、上肢運動、または、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ450に転送する。
The
また、CPU411は、姿勢センサ451の出力信号によりロボット装置の体幹部ユニット201の姿勢や傾きを検出するとともに、各接地確認センサ452および453の出力信号により各脚部ユニット105Rおよび105Lが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置の全身協調運動を適応的に制御することができる。更に、CPU411は、ZMP位置が常にZMP安定領域の中心に向かうように、ロボット装置の姿勢や動作を制御する。
In addition, the CPU 411 detects the posture and inclination of the
また、運動制御モジュール400は、思考制御モジュール300において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール300に返すようになされている。このようにしてロボット装置は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
In addition, the
次に、以上のような情報処理システム10のユーザ、すなわち、制御装置11やマスタ12を操作するユーザ(何名でもよい)に対して、表示部53に表示されるGUI画面について説明する。
Next, a GUI screen displayed on the
図18は、モードコントロールコマンダ(Mode Control Commander)画面の例を説明する図である。 FIG. 18 is a diagram illustrating an example of a mode control commander (Mode Control Commander) screen.
モードコントロールコマンダ画面510は、ユーザに、マスタ12の各関節のサーボゲインの設定値を入力させるためのGUI画面である。図18に示されるように、モードコントロールコマンダ画面510は、3列の構成となっており、左の列に各関節の名前の一覧が示され、中央の列に各関節の動作モードを、制御コマンドに従って動作するモード、ユーザ等の外部操作に従って動作するモード等、複数のモードの中から選択するモード選択欄が表示され、右の列に各関節のサーボゲインの値を設定する設定欄が表示されている。
The mode
ユーザが、制御装置11の表示部53に表示された、このモードコントロールコマンダ画面510に対する入力操作を入力部52に対して行うことにより、その設定指示が主制御部51を介してサーボゲイン設定部61に供給される。つまり、ユーザは、このモードコントロールコマンダ画面510に対して入力操作を行うことにより、容易に、マスタ12の各関節のゲイン値を設定することができる。
When the user performs an input operation on the mode
図19は、センサモータビューア(Sensor Moter Viewer)画面の例を説明する図である。 FIG. 19 is a diagram illustrating an example of a sensor motor viewer screen.
センサモータビューア画面520は、制御対象であるスレーブ13より供給される各種のセンサ情報を画像情報として表示するGUI画面である。つまり、センサモータビューア画面520は、図7のデータ統合部65や図8のデータ統合部92がデータ表示制御部25に供給した各種情報を、ユーザが視覚的に確認するためのビューアである。つまり、ユーザは、このセンサモータビューア画面520に表示される情報を参照することにより、容易に、スレーブ13の状態をより正確に把握することができる。
The sensor
図20は、センサモータレコーダ(Sensor Motor Recorder)画面の例を説明する図である。 FIG. 20 is a diagram for explaining an example of a sensor motor recorder screen.
センサモータレコーダ画面530は、データ記録部22による時系列データの記録や再生に関する指示を、ユーザに入力させるためのGUI画面である。センサモータレコーダ画面530の画面左部分には、記録された時系列データのファイル一覧が表示され、センサモータレコーダ画面530の画面右部分には、GUIボタンやチェックボックス等、各種操作指示を受け付ける機能が設けられている。ユーザは、表示部53に表示されたこのセンサモータレコーダ画面530に対する操作を、入力部52より入力することにより、容易に、データ記録部22に時系列データを記録させたり、再生部66にデータ記録部22に記録されている時系列データを再生させたりすることができる。
The sensor
以上のように、表示部53が、各種GUI画面をユーザに対して表示し、入力部52が、そのGUI画面に対するユーザ指示を受け付けるので、ユーザは、容易に指示を入力したり状況を把握したりすることができる。
As described above, the
次に、以上のような情報処理システム10において実行される各種処理の流れについて説明する。
Next, the flow of various processes executed in the
最初に、図21のフローチャートを参照して、図7の制御装置11(制御装置11A)による、サーボゲイン設定処理の流れの例を説明する。
First, an example of the flow of servo gain setting processing by the control device 11 (
サーボゲイン設定処理が開始されると、ステップS1において、表示部52は、主制御部51の制御に基づいて、モードコントロールコマンダ画面510(図18)を表示する。ステップS2において、主制御部51は、入力部52より供給される、モードコントロールコマンダ画面510に対するユーザ指示に基づいて、サーボゲイン設定処理を終了するか否かを判定し、ユーザより終了指示を受けておらず、終了しないと判定した場合、処理をステップS3に進める。
When the servo gain setting process is started, the
ステップS3において、主制御部51は、入力部52より供給される、モードコントロールコマンダ画面510に対するユーザ指示に基づいて、サーボゲインの設定が指示されたか否かを判定し、ユーザより設定を指示されたと判定した場合、処理をステップS4に進める。ステップS4において、サーボゲイン設定部61は、入力されたサーボゲイン設定コマンド31を、送信部71を介してマスタ12に送信する。
In step S3, the
ステップS4の処理を終了すると、サーボゲイン設定部61は、処理をステップS2に戻し、それ以降の処理を繰り返す。また、ステップS3において、サーボゲインの設定が指示されていないと判定した場合、主制御部51は、ステップS4の処理を省略し、処理をステップS2に戻し、それ以降の処理を繰り返す。
When the process of step S4 is completed, the servo
また、ステップS2において、ユーザより終了指示を受け、終了すると判定した場合、主制御部51は、サーボゲイン設定処理を終了する。
In step S2, when receiving an end instruction from the user and determining to end, the
次に、図22のフローチャートを参照して、図7の制御装置11(制御装置11A)による、時系列データの、記録処理の流れの例を説明する。
Next, an example of the flow of recording processing of time series data by the control device 11 (
表示部53に表示されたセンサモータレコーダ画面530に対する操作入力が、入力部52に入力され、記録処理が開始されると、主制御部51は、ステップS21において、記録処理を終了するか否かを判定する。ユーザが、センサモータレコーダ画面530において記録処理の終了を指示しておらず、記録処理を終了しないと判定した場合、主制御部51は、処理をステップS22に進める。
When an operation input for the sensor
ステップS22において、無線通信部62の受信部72は、マスタ12の関節角センサデータ32を受け付け、ステップS23において、その関節角センサデータ32を取得したか否かを判定し、取得していないと判定した場合、処理をステップS21に戻し、それ以降の処理を繰り返す。
In step S22, the receiving
また、ステップS23において、関節角センサデータ32を取得したと判定した場合、受信部72は、処理をステップS24に進める。ステップS24において、センサデータ・コマンド変換部63は、受信部72より関節角センサデータ32を取得すると、その関節角センサデータ32を関節角コマンド33に変換する。ステップS25において、無線通信部64の送信部73は、センサデータ・コマンド変換部63より供給された関節角コマンド33をスレーブ13に供給する。
If it is determined in step S23 that the joint
ステップS26において、無線通信部64の受信部74は、スレーブ13の関節角センサデータ34およびボール座標データ37を受け付け、ステップS27において、その関節角センサデータ34およびボール座標データ37を取得したか否かを判定し、取得していないと判定した場合、処理をステップS26に戻し、取得したと判定されるまで繰り返す。ステップS27において、関節角センサデータ34およびボール座標データ37を取得したと判定した場合、受信部74は、処理をステップS28に進める。
In step S26, the receiving
ステップS28において、データ統合部65は、受信部74より供給された、スレーブ13の関節角センサデータ34およびボール座標データ37と、センサデータ・コマンド変換部63より供給された関節角コマンド33とを統合する。
In step S28, the
データ記録部22は、ステップS29において、その統合された統合情報(ベクトルデータ)を時系列データの1つとして記録し、処理をステップS21に戻し、それ以降の処理を繰り返させる。
In step S29, the
ステップS21において、ユーザがセンサモータレコーダ画面530において記録処理の終了を指示しており、記録処理を終了すると判定した場合、主制御部51は、記録処理を終了する。
In step S21, when the user has instructed to end the recording process on the sensor
次に、図23のフローチャートを参照して、図7の制御装置11(制御装置11A)の再生部66による、再生処理の流れの例を説明する。
Next, an example of the flow of reproduction processing by the
表示部53に表示されたセンサモータレコーダ画面530に対する操作入力が、入力部52に入力され、再生処理が開始されると、再生部66は、ステップS41において、指定されたファイルに含まれる関節角コマンド33をデータ記録部22より読み出す。
When the operation input for the sensor
データ記録部22には、ユーザがマスタ12を操作して入力した情報より生成された関節角コマンド33を含む時系列データが、その記録単位毎にファイル化されて管理されている。つまり、上述した記録処理1回分の時系列データが1つのファイルとして管理されている。再生処理においては、このようなファイル内の時系列データを時系列に沿って順次再生する。もちろん複数のファイルの時系列データを連続して再生するようにしてもよいし、ファイルに含まれる時系列データの一部のみを再生するようにしてもよい。
In the
ステップS42において、再生部66は、その読み出した関節角コマンド33を、送信部73を介してスレーブ13に供給する。関節角コマンド33を供給されたスレーブ13は、その関節角コマンド33に基づいた動作を行う。再生部66は、ステップS43において、指定されたファイルの全ての関節角コマンドを供給したか否かを判定し、未処理の関節角コマンドが存在すると判定した場合、処理をステップS41に戻し、それ以降の処理を繰り返す。また、ステップS43において、ファイル内の全ての関節角コマンドを供給したと判定した場合、再生部66は、再生処理を終了する。
In step S <b> 42, the
次に、図24のフローチャートを参照して、学習処理の流れの例を説明する。 Next, an example of the flow of learning processing will be described with reference to the flowchart of FIG.
学習処理が開始されると、データ学習部23のダイナミクス記憶ネットワーク取得部121は、ステップS61において、ダイナミクス記憶ネットワークを時系列予測器93より取得し、ダイナミクス記憶ネットワーク保持部122に保持させる。
When the learning process is started, the dynamics storage network acquisition unit 121 of the
ステップS62において、学習部124は、ダイナミクス記憶ネットワーク保持部122に保持されているダイナミクス記憶ネットワーク131を取得し、その全てのパラメータの初期化を行う。具体的には、ダイナミクス記憶ネットワーク131の各ノードの内部状態量を持つ力学系近似モデルのパラメータに、適当な値が初期値として付与される。
In step S62, the
ステップS63において、学習部124は、学習処理を終了するか否かを判定し、時系列データもまだ供給され続けており、終了しないと判定した場合、処理をステップS64に進める。
In step S63, the
ステップS64において、時系列データ取得部123は、関節角コマンド33、関節角線─データ34、およびボール座標データ37等をまとめたベクトルデータよりなる時系列データの、新たな時刻のデータを取得する。学習部124は、ステップS65において、その時系列データに対して、ダイナミクス記憶ネットワークに含まれる各ノードに対応する内部状態量を持つ力学系近似モデルとのスコア計算を、内部状態量を更新しながら行う。
In step S64, the time-series data acquisition unit 123 acquires new time data of time-series data including vector data obtained by combining the
内部状態量を持つ力学系近似モデルがリカレントニューラルネットワークで与えられる場合には、出力誤差がスコアとして利用される。出力誤差の計算方法には、一般的に平均二乗誤差が用いられる。スコア計算の結果、入力データに対して、全てのノードにスコアが付与されることになる。 When a dynamic system approximation model having an internal state quantity is given by a recurrent neural network, an output error is used as a score. As a method for calculating the output error, a mean square error is generally used. As a result of the score calculation, scores are assigned to all nodes for the input data.
学習部124は、ステップS66において、ダイナミクス記憶部ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノード、すなわち勝者ノードを決定する。さらに、学習部124は、ステップS67において、勝者ノードを中心として各ノードの学習の重みを決定し、ステップS68において、各ノードの内部状態量を持つ力学系近似モデルのパラメータの更新を、学習の重みに応じて行う。
In step S66, the
ここで、勝者ノードのパラメータだけを更新する方法はWTA(winner-take-all)に対応し、勝者ノードの近傍のノードに対してもパラメータの更新を行う方法がSMA(soft-max adaptation)に対応する。学習部124は、SMAで、パラメータの更新を行う。
Here, the method of updating only the parameters of the winner node corresponds to WTA (winner-take-all), and the method of updating parameters to the nodes in the vicinity of the winner node is SMA (soft-max adaptation). Correspond. The
図25は、ノードのパラメータをSMAで更新するときに用いられる学習の重みを示している。 FIG. 25 shows learning weights used when updating the parameter of a node with SMA.
図25の左において、ノード541乃至ノード546は、ダイナミクス記憶ネットワークを構成するノードである。ノード541乃至ノード546のうちのノード541は、勝者ノードであり、ノード542乃至ノード546は、勝者ノード541からの距離が近い順に並べられている。
On the left side of FIG. 25, the
図25の右のグラフは、学習の重みと勝者ノードからの距離の関係を示しており、横軸は学習の重みを、縦軸は勝者ノードからの距離を、それぞれ示している。 The right graph of FIG. 25 shows the relationship between the learning weight and the distance from the winner node. The horizontal axis shows the learning weight, and the vertical axis shows the distance from the winner node.
図25の右のグラフによれば、勝者ノード541に対しては、学習の重みを最も大きくし、他のノード542乃至ノード546それぞれに対しては、勝者ノード541からの距離が離れるにしたがって、学習の重みが小さくなるように学習の重みが決定される。
According to the graph on the right side of FIG. 25, for the
勝者ノードからの距離は、ダイナミクス記憶ネットワークのリンクによって与えられる空間上のノードの配置構造に基づいて決定される。例えば、図12の2次元上にノード141乃至ノード159が配置されたダイナミクス記憶ネットワーク150において、勝者ノードが、例えばノード156であれば、その勝者ノード156に隣接するノード153、ノード155、およびノード159が最も近く、ノード152、ノード154、およびノード158がその次に近く、ノード151とノード157が最も遠いものとなる。この場合、ノードとノードをつなぐ最小のリンク数を距離として利用すると、近い順に距離は1、2、3として与えられることになる。
The distance from the winner node is determined based on the arrangement of nodes in the space given by the link of the dynamics storage network. For example, in the
図11のようにリンクを与えない場合には、入力データ(ノードのスコアの計算に用いられる時系列データ)に基づき各ノードにおいて計算されたスコアの良い順にノードを並べ、その順位が勝者ノードからの距離として利用される。つまり、勝者ノードから順に、0、1、2、3、・・・が距離として与えられる。このような勝者ノードからの距離の与え方は、ベクトル・パターンのカテゴリー学習に用いられる自己組織化マップ(SOM(self-organization map),例えば、『T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京』参照)やNeural-Gas algorithmで利用されている方法と同じである。この勝者ノードからの距離と学習の重みの関係を示したのが次式である。 When no link is given as shown in FIG. 11, the nodes are arranged in the order of good score calculated at each node based on the input data (time series data used for calculating the score of the node). Used as a distance. That is, 0, 1, 2, 3,... Are given as distances in order from the winner node. How to give such distance from the winner node is the self-organization map (SOM (self-organization map) used for vector pattern category learning, eg, “T. Kohonen,“ Self-Organization Map ”, Springer・ This is the same method used in Fairlark Tokyo) and Neural-Gas algorithm. The following equation shows the relationship between the distance from the winner node and the learning weight.
α=G×γd/△ .....(1) α = G × γd / △ (1)
式(1)において、αは学習の重み、Gは(学習の重みαのうちの)勝者ノードに与える学習の重み、γは減衰係数で0<γ<1の範囲の定数、dは勝者ノードからの距離、ΔはSMAにおける近傍に対する学習の重みを調整するための変数を、それぞれ示している。 In Expression (1), α is a learning weight, G is a learning weight given to the winner node (of the learning weight α), γ is an attenuation coefficient, and a constant in the range of 0 <γ <1, d is a winner node , And Δ are variables for adjusting the learning weight for the neighborhood in SMA.
今、距離dに関しては、勝者ノードからの距離が近い順に1、2、3で与えられるとし、勝者ノードに対してはd=0が与えられたとする。この時、例えば、G=8、γ=0.5、Δ=1とすれば、学習の重みαは、勝者ノードからの距離dが離れるにしたがって、8、4、2、1と求まることになる。ここで、変数Δを少しずつ0に近づけていくと、学習の重みαは勝者ノードから離れるにしたがってより小さい値となる。そして、変数Δが0に近くなると、勝者ノード以外のノードの学習重みはほとんど0となり、これはWTAと同様となる。このように、変数Δを調整することで、SMAにおける勝者ノードの近傍に対する学習の重みαを調整することが可能となる。基本的には、変数Δは学習の開始時は大きくし、時間の経過と伴に小さくなるように調整が行われる。 Now, regarding the distance d, it is assumed that the distance from the winner node is given by 1, 2, and 3 in order of decreasing distance, and d = 0 is given to the winner node. At this time, for example, if G = 8, γ = 0.5, and Δ = 1, the learning weight α is obtained as 8, 4, 2, 1 as the distance d from the winner node increases. Become. Here, when the variable Δ is gradually approached to 0, the learning weight α becomes smaller as the distance from the winner node increases. When the variable Δ is close to 0, the learning weight of nodes other than the winner node is almost 0, which is the same as in WTA. In this way, by adjusting the variable Δ, it is possible to adjust the learning weight α for the neighborhood of the winner node in the SMA. Basically, the variable Δ is adjusted so as to increase at the start of learning and decrease with time.
このような学習の重みαに基づき、勝者ノードのパラメータは入力データの影響を最も強く受け、勝者ノードから離れるにしたがって、その影響が小さくなるように、他のノード(勝者ノード以外のノード)のパラメータの更新が行われる。 Based on such learning weight α, the parameter of the winner node is most strongly influenced by the input data, and the influence of other nodes (nodes other than the winner node) is reduced so that the influence decreases as the distance from the winner node increases. The parameter is updated.
図26は、ノードのパラメータの更新の方法を説明する図である。 FIG. 26 is a diagram for explaining a method for updating a parameter of a node.
いま、あるノードのパラメータ更新前の内部状態量を持つ力学系近似モデル161のパラメータの学習に使われた学習データ(教示データ)である時系列データが学習データ記憶部162に格納されているとする。
Now, when the learning
この更新前の学習データを旧学習データと呼ぶものとする。 The learning data before update is referred to as old learning data.
ノードのパラメータの更新は、例えば、そのノードに対して決定された学習の重みαに応じて、入力データ551を、旧学習データ552に追加し、その結果得られる新学習データを用いて行われる。即ち、学習の重みαに応じて、入力データ551と旧学習データ552を足し合わせる(混合する)ことで、新学習データが構成され、この新学習データが学習データ記憶部162に記憶される。そして、その新学習データによって、内部状態量を持つ力学系近似モデル161のパラメータが更新される。
The node parameter is updated using, for example, new learning data obtained by adding the
パラメータの更新には、例えば、Back-Propagation Through Time 法が適用される。その場合、具体的には、更新前の内部状態量を持つ力学系近似モデル161のパラメータを初期値とし、新学習データに基づくパラメータの推定がBack-Propagation Through Time 法によって行われる。
For example, the Back-Propagation Through Time method is applied to update the parameters. In that case, specifically, the parameter of the dynamical
ここで、新学習データを構成する際の、入力データ551と旧学習データ552とを足し合わせる比率に関して説明する。
Here, the ratio of adding the
仮に、入力データ551と旧学習データ552との比率を1:0にすると、新学習データは完全に入力データ551だけで構成されることになる。
If the ratio between the
一方、入力データ551と旧学習データ552との比率を0:1にすると、新学習データには入力データ551は追加されず、旧学習データ552だけで構成されることになる。つまり、入力データ551と旧学習データ552との比率を変えることで、パラメータに与える入力データ551の影響の強さを変えることができる。
On the other hand, when the ratio of the
入力データ551と旧学習データ552との比率を、前に述べた学習の重みαに基づいて適切に調整することによって、入力データの影響を適切にパラメータに与える学習を行うことができる。その調整方法の1つのやり方について説明する。
By appropriately adjusting the ratio of the
まず、ノードが学習データ記憶部162に保持できる時系列データの個数を一定とし、その値をHとする。つまり、H個の時系列データで内部状態量を持つ力学系近似モデル161のパラメータが学習されるものとする。そして、入力データ551と旧学習データ552との比率を、ノードの学習の重みαに応じて、α:H−αとなるように調整する。例えば、H=100とすれば、α=8の場合、入力データ551と旧学習データ552との比率は、8:92となるように調整が行われることになる。そして、このような比率で、入力データ551と旧学習データ552とを足し合わせることで、H個の新学習データが構成される。
First, let the number of time-series data that a node can hold in the learning
α:H−αの比率で、入力データ551と旧学習データ552とを足し合わせる方法としては、例えば、以下のような方法を採用することができる。
As a method of adding the
即ち、まず、入力データ551については、時系列データが1つ与えられるだけなので、これをα倍したデータを追加する。例えば、α=8の場合、入力データ551としての同一の時系列データを8個追加する。
That is, first, as the
一方、旧学習データ552については、その個数はHであり、これをH−αに調整する必要がある。例えば、上述したように、α=8の場合、旧学習データ552を、100から92に減らす必要がある。そこで、学習データ記憶部162に記憶された旧学習データ552としての100の時系列データの順番に応じて、最も古いものからα個だけ除去することで、旧学習データ552の個数をH−α個に調整する。
On the other hand, the number of
以上のようにして個数を調整した入力データ551と旧学習データ552とを足し合わせて新学習データとすることにより、学習データ記憶部162には、常に最新のH個の時系列データだけが学習データとして保持される。このように、学習データ(新学習データ)に占める入力データ551の割合を学習の重みαによって調整することができる。
By adding the
なお、ここで説明した方法以外にも、学習の重みαに応じて入力データ551をパラメータに反映させる方法であればどのような方法を用いても良い。重要なのは、新しいデータ(入力データ551)が与えられるたびにパラメータを少しずつ修正することと、その際に、学習の重みαに応じて入力データ551の学習に与える影響の強さを調整することである。
In addition to the method described here, any method may be used as long as the
また、学習を適切に行うには、学習の重みαを時間の経過とともに適切に調整することが非常に重要であり、本実施の形態では、変数Δによって、学習の重みαを調整する方法を述べたが、基本的には、入力データ551の影響を受けるノードが、勝者ノードを中心とする広い範囲のノードから徐々に狭い範囲のノードへになるように、学習の重みαを調整していくことが重要であり、それを実現する方法であれば、どのような方法を用いても良い。
Also, in order to perform learning appropriately, it is very important to adjust the learning weight α appropriately with the passage of time. In this embodiment, a method for adjusting the learning weight α by the variable Δ is used. As described above, basically, the learning weight α is adjusted so that the node affected by the
以上のような学習手法により、ダイナミクス記憶ネットワークの各ノードのパラメータは、学習部124に時系列データ(入力データ)が入力されるたびに、自己組織的に学習されることになる。
With the learning method described above, the parameters of each node of the dynamics storage network are learned in a self-organized manner every time time-series data (input data) is input to the
図24に戻り、ステップS68の処理を終了すると、学習部124は、処理をステップS63に戻し、それ以降の処理を繰り返す。すなわち、データ学習部23は、時系列データの取得を終了するまで、ステップS63乃至ステップS68の処理を繰り返す。
Returning to FIG. 24, when the process of step S68 is completed, the
ステップS63において、学習処理を終了すると判定した場合、学習部124は、更新したダイナミクス記憶ネットワーク131をダイナミクス記憶ネットワーク保持部122に戻し、処理をステップS69に進める。ステップS69において、ダイナミクス記憶ネットワーク供給部125は、ダイナミクス記憶ネットワーク保持部122に保持されているダイナミクス記憶ネットワーク131を、主制御部51を介して、時系列予測器93に供給し、学習処理を終了する。
If it is determined in step S63 that the learning process is to be terminated, the
次に、図27のフローチャートを参照して、図8の制御装置11(制御装置11B)による、スレーブ13の制御処理の流れの例を説明する。
Next, an example of the flow of control processing of the
制御処理が開始されると、主制御部51は、ステップS81において、制御処理を終了するか否かを判定し、ユーザより終了指示が入力されたりしておらず、制御処理を終了しないと判定した場合、処理をステップS82に進める。
When the control process is started, the
ステップS82において、受信部102は、スレーブ13の、関節角センサデータ34およびボール座標データ37を受け付け、ステップS83において、そのスレーブ13の関節角センサデータ34およびボール座標データ37を取得したか否かを判定する。取得していないと判定した場合、処理をステップS81に戻し、それ以降の処理を繰り返す。
In step S82, the receiving
ステップS82において、スレーブ13の関節角センサデータ34およびボール座標データ37を取得したと判定した場合、受信部102は、処理をステップS84に進める。ステップS84において、データ統合部92は、関節角センサデータ34、ボール座標データ37、および、1つ前のステップの関節角コマンド33を統合し、ベクトルデータを生成し、そのベクトルデータを時系列データとして時系列予測器93に供給する。ステップS85において、時系列予測器93は、現在の時系列データに基づいて、次の時刻の時系列データ(予測情報)を予測し、生成する。この予測処理の詳細については、後述する。
If it is determined in step S82 that the joint
ステップS86において、データ統合部92は、ステップS85において生成された次の時刻の予測情報に含まれる、次の時刻の関節角コマンド33を、送信部101を介してスレーブ13に供給し、処理をステップS81に戻す。
In step S86, the
すなわち、スレーブ制御部24の各部は、主制御部51がステップS81において終了すると判定するまで、ステップS82乃至ステップS86の処理を繰り返す。ステップS81において、主制御部51がユーザ指示等に基づいて、制御処理を終了すると判定した場合、制御処理を終了する。
That is, each unit of the
次に、図27のステップS85において実行される予測処理の詳細の流れについて、図28のフローチャートを参照して説明する。 Next, the detailed flow of the prediction process executed in step S85 of FIG. 27 will be described with reference to the flowchart of FIG.
ステップS101において、時系列予測部93は、予測処理を終了するか否かを判定し、終了しないと判定した場合、ステップS102に処理を進める。ステップS102において、入力部171が時系列データを取得し、ステップS103において、特徴抽出部172が時系列データより特徴を抽出する。内部状態量更新部181が内部状態記憶部175に記憶されている内部状態量を更新した後、ステップS104において、スコア計算部182がスコア計算を行い、ステップS105において、勝者ノード決定部183が勝者ノードを決定し、ステップS106において、認識結果出力部184が認識結果を出力する。
In step S101, the time-
生成部176は、ステップS107において、その認識結果を制御信号として取得する。ステップS108において、生成ノード決定部191が予測情報の生成に用いるノードを決定し、ステップS109において、内部状態読み込み部192がダイナミクス記憶ネットワークの内部状態を読み込み、ステップS110において、時系列データ生成部193が予測情報を生成し、ステップS111において、生成結果出力部194が予測情報をデータ統合部92に出力する。
In step S107, the
ステップS111の処理を終了すると、生成結果出力部194は、処理をステップS101に戻し、それ以降の処理を繰り返し実行させる。すなわち、時系列予測器93の各部は、ステップS101において、予測処理を終了すると判定されるまで、ステップS101乃至ステップS111の処理を繰り返し実行する。ステップS101において、予測処理を終了すると判定した場合、時系列予測器93は、予測処理を終了し、処理を図27のステップS85に戻し、ステップS86以降の処理を実行させる。
When the process of step S111 ends, the generation
以上のようにして、各処理が実行される。これにより、情報処理システム10は、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。
Each process is performed as described above. As a result, the
特に、スレーブ13に対して送信される関節角コマンド33と、そのスレーブ13から受信された関節度センサデータ34およびボール座標データ37を統合化して記録することにより、これらのデータを、同期を取りながら時系列データとして収集することができる。
In particular, the
また、その収集された関節角コマンド33をスレーブ13において再生することによって環境とのインタラクションを行わせることができ、情報処理システムが有する制御遅延を反映した自律制御用の時系列教示データを作成することができる。つまり、制御装置11は、制御遅延を含む関係の制御コマンドおよびセンサ情報の時系列データを教示データ(学習データ)として、時系列予測器の予測モデルの学習を行うことにより、その時系列予測器を用いてスレーブ13のセンサ情報に対して制御遅延時間分先の時刻にスレーブ13を制御する制御コマンドを予測して生成することができ、制御における通信や処理の遅延に対する耐性を向上させ、制御の負荷や破綻を抑制することができる。
Further, by reproducing the collected
さらに、マスタ12に、スレーブ13と実質的に同一の幾何形状を有する装置(幾何モデルが共通のロボット)を適用することにより、幾何モデルの変換等の処理が不要になるので、関節角コマンド33の生成が容易になる。また、制御対象であるスレーブ13の動きを確認しながら、コントローラであるマスタ12を操作するユーザも、直感的にマスタ12の操作方法を理解することができ、容易に、スレーブ13をユーザの思い通りに制御するように、マスタ12を操作することができる。さらに、そのマスタ12の各関節のサーボのゲインをそれぞれ個別に値を設定することにより、各関節のゲインを適切に設定することができ、不必要な関節を動かさずに教示を行うことが可能になる。つまり、教示時に、不要な関節を手で支える等の、余分な自由度を制御する必要がなくなるので、教示者に及ぼす負担を軽減させることができる。
Furthermore, by applying a device having substantially the same geometric shape as the slave 13 (a robot having a common geometric model) to the
また、マスタ12の操作によって生成された関節角コマンド33をスレーブ13において再生することにより、ユーザは、スレーブ13の制御結果(動き)を確認しながらマスタ12を操作し、制御装置11に、関節角コマンド33を生成させることができる。つまり、ユーザは、スレーブ13の動きを確認しながらマスタ12の操作(つまり、スレーブ13の制御や、予測モデルの学習のための教示データの生成)を行うこともできる。このようにすることにより、多様に変化して予測が困難な環境においても、ユーザは、容易に、スレーブ13と環境との複雑な相互作用の教示を行うことができる。すなわち、環境の変化への耐性を向上させることができる。
In addition, by reproducing the
なお、このような教示者の負担を軽減や操作性の向上は、スレーブ13の制御操作や教示データの生成を容易にし、適切な予測モデルの生成、すなわち、制御における通信や処理の遅延や環境の変化に対する耐性を向上させ、制御の負荷や破綻を抑制することにも寄与する。
It should be noted that such a burden on the instructor and an improvement in operability facilitate the control operation of the
なお、以上においては、時系列予測器93は、入力された時系列データより予測情報を生成するのみであるように説明したが、これに限らず、この予測情報を生成するとともに、入力された時系列データを教示データとして学習を行うようにしてもよい。
In the above description, the
図29は、時系列予測器の他の構成例を示すブロック図である。 FIG. 29 is a block diagram illustrating another configuration example of the time-series predictor.
図29に示される時系列予測器693は、基本的に図14に示される時系列予測器93と同様の構成を有しているが、時系列予測器93の構成に加えて、データ学習部23を有している点で異なる。
The
このデータ学習部23は、図8に示されるデータ学習部23と同様のものであるのでその詳細についての説明は省略する。
Since the
図29において、データ学習部23は、時系列データ生成部193に供給されるのと同一の、特徴抽出部172において特徴を抽出された時系列データに基づいてネットワーク記憶部174に記憶されているダイナミクス記憶ネットワークの学習を行い、ダイナミクス記憶ネットワークを更新する。
In FIG. 29, the
このようにすることにより、制御装置11は、スレーブ13のセンサ情報を用いた自律制御中に、時系列予測器の予測モデルの学習を行い、ダイナミクス記憶ネットワークを更新することができる。
By doing in this way, the
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図30に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。 The series of processes described above can be executed by hardware or can be executed by software. In this case, for example, a personal computer as shown in FIG. 30 may be configured.
図30において、パーソナルコンピュータ700のCPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部713からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
In FIG. 30, a CPU (Central Processing Unit) 701 of the personal computer 700 performs various processes according to a program stored in a ROM (Read Only Memory) 702 or a program loaded from a
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース710も接続されている。
The
入出力インタフェース710には、キーボード、マウスなどよりなる入力部711、CRTやLCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部712、ハードディスクなどより構成される記憶部713、モデムなどより構成される通信部714が接続されている。通信部714は、インターネットを含むネットワークを介しての通信処理を行う。
The input /
入出力インタフェース710にはまた、必要に応じてドライブ715が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア721が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部713にインストールされる。
A
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。 When the above-described series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.
この記録媒体は、例えば、図30に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM,DVDを含む)、光磁気ディスク(MDを含む)、もしくは半導体メモリなどよりなるリムーバブルメディア721により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部713に含まれるハードディスクなどで構成される。
For example, as shown in FIG. 30, this recording medium is distributed to distribute a program to a user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which a program is recorded, an optical disk ( CD-ROM, DVD (including), magneto-optical disk (including MD), or
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus composed of a plurality of devices (apparatuses).
なお、以上において、一つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 In the above description, the configuration described as one device may be divided and configured as a plurality of devices. Conversely, the configurations described above as a plurality of devices may be combined into a single device. Of course, configurations other than those described above may be added to the configuration of each device. Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of a certain device may be included in the configuration of another device. That is, the embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
本発明は、ロボット制御情報教示システムに適用することが可能である。 The present invention can be applied to a robot control information teaching system.
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 ロボット装置
DESCRIPTION OF
Claims (18)
制御対象である被制御装置と、
前記入力装置より入力された情報に基づいて、前記被制御装置を制御する制御装置と
を備える制御システムであって、
前記入力装置および前記被制御装置は、互いに同一の幾何形状を有する装置であり、
前記制御装置は、
ユーザが操作した前記入力装置より供給される前記入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、
前記取得手段により取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換する変換手段と、
前記変換手段により変換されて得られた前記制御コマンドを、前記被制御装置に供給する供給手段と
を備える制御システム。 An input device operated by a user;
A controlled device to be controlled; and
A control system comprising: a control device that controls the controlled device based on information input from the input device;
The input device and the controlled device are devices having the same geometric shape,
The controller is
Obtaining means for obtaining sensor information output from a sensor for measuring a surrounding environment provided in the input device supplied from the input device operated by a user;
Conversion means for converting the sensor information acquired by the acquisition means into a control command for controlling the controlled device;
A control system comprising: supply means for supplying the control command obtained by conversion by the conversion means to the controlled device.
前記被制御装置を制御する制御装置と
を備える制御システムであって、
前記制御装置は、
前記被制御装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、
前記取得手段により取得された前記センサ情報と、前記被制御装置を制御する制御コマンドとに基づいて、前記センサ情報に対して所定の時間先の時刻に前記被制御装置を制御する制御コマンドを予測して生成する予測手段と、
前記予測手段により予測されて生成された、新たな制御コマンドを、前記被制御装置に供給する供給手段と
を備える制御システム。 A controlled device to be controlled; and
A control system comprising: a control device that controls the controlled device;
The controller is
Obtaining means for obtaining sensor information output from a sensor for measuring a surrounding environment provided in the controlled device;
Based on the sensor information acquired by the acquisition unit and a control command for controlling the controlled device, a control command for controlling the controlled device at a predetermined time ahead of the sensor information is predicted. Prediction means to be generated,
A control system comprising: supply means for supplying a new control command predicted and generated by the prediction means to the controlled device.
前記入力装置より入力された情報を記録する記録装置と
を備える記録システムであって、
制御対象である被制御装置をさらに有し、
前記制御装置は、
ユーザが操作した前記入力装置より供給される、前記入力装置に設けられた周囲の環境を計測するセンサより出力されるセンサ情報を取得する取得手段と、
前記取得手段により取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換する変換手段と、
前記変換手段により変換されて得られた前記制御コマンドを、所定の時間毎に時系列データとして記録する記録手段と、
前記変換手段により変換されて得られた前記制御コマンドを、前記被制御装置に供給する供給手段と
を備える記録システム。 An input device operated by a user;
A recording system comprising: a recording device that records information input from the input device,
It further has a controlled device to be controlled,
The controller is
Obtaining means for obtaining sensor information output from a sensor for measuring a surrounding environment provided in the input device, which is supplied from the input device operated by a user;
Conversion means for converting the sensor information acquired by the acquisition means into a control command for controlling the controlled device;
Recording means for recording the control command obtained by conversion by the conversion means as time-series data every predetermined time;
A recording system comprising: supply means for supplying the control command obtained by conversion by the conversion means to the controlled device.
ユーザが操作する、前記被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得する第1の取得手段と、
前記第1の取得手段により取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換する変換手段と、
前記変換手段により変換されて得られた前記制御コマンドを、前記被制御装置に供給する第1の供給手段と
を備える情報処理装置。 An information processing apparatus that controls a controlled apparatus that is a control target,
A first acquisition unit configured to acquire sensor information output from a sensor for measuring a surrounding environment provided in an input device having the same geometric shape as the controlled device operated by a user;
Conversion means for converting the sensor information acquired by the first acquisition means into a control command for controlling the controlled device;
An information processing apparatus comprising: a first supply unit that supplies the control command obtained by conversion by the conversion unit to the controlled device.
請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, further comprising: a gain adjustment unit that adjusts input gains of the input units provided in the input apparatus independently of each other.
前記第2の取得手段により取得された前記センサ情報を前記入力装置の前記ユーザに提示する提示手段と
をさらに備える請求項4に記載の情報処理装置。 Second acquisition means provided in the controlled device for acquiring sensor information output from a sensor for measuring the surrounding environment;
The information processing apparatus according to claim 4, further comprising: a presentation unit that presents the sensor information acquired by the second acquisition unit to the user of the input device.
請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, further comprising a recording unit that records the control command generated by conversion by the conversion unit as time-series data.
請求項7に記載の情報処理装置。 The information processing apparatus according to claim 7, further comprising a reproducing unit that reproduces the control command recorded in the recording unit in time series and outputs the control command to the controlled device.
前記記録手段は、前記第2の取得手段により取得された前記センサ情報を、前記制御コマンドとともに記録する
請求項7に記載の情報処理装置。 A second obtaining unit for obtaining sensor information output from a sensor for measuring a surrounding environment provided in the controlled device;
The information processing apparatus according to claim 7, wherein the recording unit records the sensor information acquired by the second acquisition unit together with the control command.
前記予測手段により生成された新たな制御コマンドを前記被制御装置に供給する第2の供給手段と
をさらに備える請求項9に記載の情報処理装置。 Based on the sensor information acquired by the second acquisition unit and the past control command, the controlled device is controlled at a time ahead of the sensor information by using a predetermined prediction model. Prediction means for predicting and generating a control command to be performed;
The information processing apparatus according to claim 9, further comprising: a second supply unit that supplies a new control command generated by the prediction unit to the controlled device.
請求項10に記載の情報処理装置。 The information processing apparatus according to claim 10, further comprising a learning unit that learns the prediction model using the sensor information and the control command recorded by the recording unit.
請求項11に記載の情報処理装置。 The information processing apparatus according to claim 11, wherein the prediction model is a recurrent neural network.
請求項12に記載の情報処理装置。 The information processing apparatus according to claim 12, wherein the learning unit learns the recurrent neural network using a self-organizing map technique used for category learning of vector patterns.
請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, wherein the input device and the controlled device are robot devices having a plurality of joints.
前記被制御装置と通信を行う第2の無線通信手段と
をさらに備える請求項4に記載の情報処理装置。 First wireless communication means for communicating with the input device;
The information processing apparatus according to claim 4, further comprising: a second wireless communication unit that communicates with the controlled apparatus.
ユーザが操作する、前記被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し、
取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換し、
変換されて得られた前記制御コマンドを、前記被制御装置に供給する
ステップを含む情報処理方法。 An information processing method for an information processing device that controls a controlled device that is a control target,
Obtaining sensor information output from a sensor for measuring the surrounding environment provided in an input device having the same geometric shape as the controlled device operated by the user;
The acquired sensor information is converted into a control command for controlling the controlled device,
An information processing method including a step of supplying the control command obtained by the conversion to the controlled device.
ユーザが操作する、前記被制御装置と互いに同一の幾何形状を有する入力装置に設けられた、周囲の環境を計測するセンサより出力されるセンサ情報を取得し、
取得された前記センサ情報を、前記被制御装置を制御する制御コマンドに変換し、
変換されて得られた前記制御コマンドを、前記被制御装置に供給する
ステップをコンピュータに実行させるプログラム。 In a program that performs processing to control a controlled device that is a control target,
Obtaining sensor information output from a sensor for measuring the surrounding environment provided in an input device having the same geometric shape as the controlled device operated by the user;
The acquired sensor information is converted into a control command for controlling the controlled device,
A program for causing a computer to execute the step of supplying the control command obtained by the conversion to the controlled device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006105543A JP2007276052A (en) | 2006-04-06 | 2006-04-06 | Control system, record system, information processor and method, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006105543A JP2007276052A (en) | 2006-04-06 | 2006-04-06 | Control system, record system, information processor and method, program, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007276052A true JP2007276052A (en) | 2007-10-25 |
Family
ID=38678064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006105543A Withdrawn JP2007276052A (en) | 2006-04-06 | 2006-04-06 | Control system, record system, information processor and method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007276052A (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010023914A1 (en) * | 2010-03-02 | 2011-09-08 | Marcel Reese | Method and device for controlling a governor |
JP2013169644A (en) * | 2012-02-21 | 2013-09-02 | GM Global Technology Operations LLC | Procedural memory learning and robot control |
WO2016088367A1 (en) * | 2014-12-02 | 2016-06-09 | 国立大学法人東京工業大学 | Action transfer device, action transfer method, and non-transitory computer-readable medium in which program is stored |
JP2017044599A (en) * | 2015-08-27 | 2017-03-02 | ルネサスエレクトロニクス株式会社 | Control system |
JP2018153873A (en) * | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | Device for controlling manipulator, control method, program and work system |
JP2019000910A (en) * | 2017-06-19 | 2019-01-10 | リンカーン グローバル,インコーポレイテッド | Systems and methods for real-time, long-distance, remote welding |
WO2019202900A1 (en) * | 2018-04-15 | 2019-10-24 | 国立大学法人埼玉大学 | Behavior estimation device, behavior estimation method, and behavior estimation program |
JP2019217557A (en) * | 2018-06-15 | 2019-12-26 | 株式会社東芝 | Remote control method and remote control system |
JP2020027956A (en) * | 2018-08-09 | 2020-02-20 | 株式会社Jvcケンウッド | Processing device |
WO2021157515A1 (en) * | 2020-02-05 | 2021-08-12 | ファナック株式会社 | Machine learning device, computer device, control system, and machine learning method |
US20210290326A1 (en) * | 2007-06-13 | 2021-09-23 | Intuitive Surgical Operations, Inc. | Medical robotic system with coupled control modes |
CN113614652A (en) * | 2019-03-29 | 2021-11-05 | 三菱电机株式会社 | Model predictive control device, model predictive control program, model predictive control system, and model predictive control method |
CN114311031A (en) * | 2021-12-29 | 2022-04-12 | 上海微创医疗机器人(集团)股份有限公司 | Master-slave end delay testing method, system, storage medium and equipment for surgical robot |
WO2022239310A1 (en) * | 2021-05-14 | 2022-11-17 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
WO2024013894A1 (en) * | 2022-07-13 | 2024-01-18 | 日本電信電話株式会社 | Remote control system, remote control method, and remote control program |
CN114311031B (en) * | 2021-12-29 | 2024-05-28 | 上海微创医疗机器人(集团)股份有限公司 | Master-slave end delay test method, system, storage medium and equipment for surgical robot |
-
2006
- 2006-04-06 JP JP2006105543A patent/JP2007276052A/en not_active Withdrawn
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210290326A1 (en) * | 2007-06-13 | 2021-09-23 | Intuitive Surgical Operations, Inc. | Medical robotic system with coupled control modes |
DE102010023914A1 (en) * | 2010-03-02 | 2011-09-08 | Marcel Reese | Method and device for controlling a governor |
JP2013169644A (en) * | 2012-02-21 | 2013-09-02 | GM Global Technology Operations LLC | Procedural memory learning and robot control |
DE102013202378B4 (en) * | 2012-02-21 | 2015-07-02 | GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) | Procedural memory learning and robot control |
WO2016088367A1 (en) * | 2014-12-02 | 2016-06-09 | 国立大学法人東京工業大学 | Action transfer device, action transfer method, and non-transitory computer-readable medium in which program is stored |
JP2016107346A (en) * | 2014-12-02 | 2016-06-20 | 国立大学法人東京工業大学 | Motion transition device, motion transition method, and program |
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 |
JP2017044599A (en) * | 2015-08-27 | 2017-03-02 | ルネサスエレクトロニクス株式会社 | Control system |
JP2018153873A (en) * | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | Device for controlling manipulator, control method, program and work system |
JP2019000910A (en) * | 2017-06-19 | 2019-01-10 | リンカーン グローバル,インコーポレイテッド | Systems and methods for real-time, long-distance, remote welding |
JP7446053B2 (en) | 2017-06-19 | 2024-03-08 | リンカーン グローバル,インコーポレイテッド | Systems and methods for real-time long distance remote welding |
JPWO2019202900A1 (en) * | 2018-04-15 | 2021-04-22 | 国立大学法人 筑波大学 | Behavior estimation device, behavior estimation method, and behavior estimation program |
JP7246751B2 (en) | 2018-04-15 | 2023-03-28 | 国立大学法人 筑波大学 | Behavior estimation device, behavior estimation method, and behavior estimation program |
WO2019202900A1 (en) * | 2018-04-15 | 2019-10-24 | 国立大学法人埼玉大学 | Behavior estimation device, behavior estimation method, and behavior estimation program |
US11787037B2 (en) | 2018-04-15 | 2023-10-17 | University Of Tsukuba | Behavior estimation apparatus, behavior estimation method, and behavior estimation program |
JP7068059B2 (en) | 2018-06-15 | 2022-05-16 | 株式会社東芝 | Remote control method and remote control system |
JP2019217557A (en) * | 2018-06-15 | 2019-12-26 | 株式会社東芝 | Remote control method and remote control system |
JP7024658B2 (en) | 2018-08-09 | 2022-02-24 | 株式会社Jvcケンウッド | Processing equipment |
JP2020027956A (en) * | 2018-08-09 | 2020-02-20 | 株式会社Jvcケンウッド | Processing device |
CN113614652A (en) * | 2019-03-29 | 2021-11-05 | 三菱电机株式会社 | Model predictive control device, model predictive control program, model predictive control system, and model predictive control method |
JP7364699B2 (en) | 2020-02-05 | 2023-10-18 | ファナック株式会社 | Machine learning device, computer device, control system, and machine learning method |
WO2021157515A1 (en) * | 2020-02-05 | 2021-08-12 | ファナック株式会社 | Machine learning device, computer device, control system, and machine learning method |
WO2022239310A1 (en) * | 2021-05-14 | 2022-11-17 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
CN114311031A (en) * | 2021-12-29 | 2022-04-12 | 上海微创医疗机器人(集团)股份有限公司 | Master-slave end delay testing method, system, storage medium and equipment for surgical robot |
CN114311031B (en) * | 2021-12-29 | 2024-05-28 | 上海微创医疗机器人(集团)股份有限公司 | Master-slave end delay test method, system, storage medium and equipment for surgical robot |
WO2024013894A1 (en) * | 2022-07-13 | 2024-01-18 | 日本電信電話株式会社 | Remote control system, remote control method, and remote control program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007276052A (en) | Control system, record system, information processor and method, program, and recording medium | |
JP4818716B2 (en) | Robot controller | |
JP4671628B2 (en) | Robot apparatus control system and control method | |
Al-Yacoub et al. | Improving human robot collaboration through Force/Torque based learning for object manipulation | |
US7133744B2 (en) | Information processing apparatus and method, program storage medium, and program | |
JP3714268B2 (en) | Robot device | |
JP2003269917A (en) | Method of measuring distance, instrument therefor, program therefor, recording medium therefor, and distance measuring instrument mounting type robot apparatus | |
JP2003269937A (en) | Obstruction recognition device, obstruction recognition method, obstruction recognition program and mobile robot device | |
KR20030007841A (en) | Legged mobile robot and its motion teaching method, and storage medium | |
JP2002239960A (en) | Action control method of robot device, program, recording medium, and robot device | |
JP2003266345A (en) | Path planning device, path planning method, path planning program, and moving robot device | |
JP2006082150A (en) | Robot device and its action controlling method | |
JP7295421B2 (en) | Control device and control method | |
Babič et al. | Human sensorimotor learning for humanoid robot skill synthesis | |
CN113412178B (en) | Robot control device, robot system, and robot control method | |
JP2005342873A (en) | Robot device and its operation controlling method | |
JP7035309B2 (en) | Master-slave system | |
JP2003266349A (en) | Position recognition method, device thereof, program thereof, recording medium thereof, and robot device provided with position recognition device | |
JP7263987B2 (en) | Control device, control method, and control program | |
JP3614824B2 (en) | Motion editing apparatus and motion editing method for legged mobile robot | |
Xu et al. | A closed-loop shared control framework for legged robots | |
JP2003271958A (en) | Method and processor for processing image, program therefor, recording medium therefor, and robot system of type mounted with image processor | |
Dallard et al. | Synchronized human-humanoid motion imitation | |
JP2002239952A (en) | Robot device, action control method for robot device, program, and recording medium | |
Barros et al. | Tele-kinesthetic teaching of motion skills to humanoid robots through haptic feedback |
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 |