JP2023107484A - 自律制御システム、自律制御方法、及びプログラム - Google Patents
自律制御システム、自律制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2023107484A JP2023107484A JP2022008713A JP2022008713A JP2023107484A JP 2023107484 A JP2023107484 A JP 2023107484A JP 2022008713 A JP2022008713 A JP 2022008713A JP 2022008713 A JP2022008713 A JP 2022008713A JP 2023107484 A JP2023107484 A JP 2023107484A
- Authority
- JP
- Japan
- Prior art keywords
- data
- robot
- tactile
- state
- encoder
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 54
- 230000000007 visual effect Effects 0.000 claims abstract description 47
- 230000009471 action Effects 0.000 claims abstract description 35
- 230000035945 sensitivity Effects 0.000 claims description 19
- 238000013528 artificial neural network Methods 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 16
- 230000006399 behavior Effects 0.000 claims description 14
- 238000003384 imaging method Methods 0.000 claims description 5
- 230000002787 reinforcement Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 abstract description 5
- 230000006835 compression Effects 0.000 abstract description 5
- 230000008878 coupling Effects 0.000 abstract description 4
- 238000010168 coupling process Methods 0.000 abstract description 4
- 238000005859 coupling reaction Methods 0.000 abstract description 4
- 239000013598 vector Substances 0.000 description 83
- 102100040841 C-type lectin domain family 5 member A Human genes 0.000 description 34
- 101150008824 CLEC5A gene Proteins 0.000 description 34
- 101150056111 MDL1 gene Proteins 0.000 description 34
- 101100386697 Magnaporthe oryzae (strain 70-15 / ATCC MYA-4617 / FGSC 8958) DCL1 gene Proteins 0.000 description 34
- 101150095628 MDL2 gene Proteins 0.000 description 25
- 101100062770 Magnaporthe oryzae (strain 70-15 / ATCC MYA-4617 / FGSC 8958) DCL2 gene Proteins 0.000 description 25
- 238000004891 communication Methods 0.000 description 24
- 101100236856 Prunus serotina MDL3 gene Proteins 0.000 description 23
- 238000010586 diagram Methods 0.000 description 13
- 230000007613 environmental effect Effects 0.000 description 11
- 238000013144 data compression Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 101100236857 Prunus serotina MDL4 gene Proteins 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 6
- 210000003811 finger Anatomy 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000015541 sensory perception of touch Effects 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/081—Touching devices, e.g. pressure-sensitive
- B25J13/084—Tactile sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39369—Host and robot controller and vision processing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40264—Human like, type robot arm
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40269—Naturally compliant robot arm
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40575—Camera combined with tactile sensors, for 3-D
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40625—Tactile sensor
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
Abstract
【課題】目的のタスクがより達成しやすくなる自律制御システム、自律制御方法、及びプログラムを提供する。
【解決手段】自律制御システムは、ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得する取得部と、前記状態データ、前記触覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定する処理部と、を備え、前記処理部は、前記触覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記触覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成し、前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成し、前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定する。
【選択図】図3
【解決手段】自律制御システムは、ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得する取得部と、前記状態データ、前記触覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定する処理部と、を備え、前記処理部は、前記触覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記触覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成し、前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成し、前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定する。
【選択図】図3
Description
本発明は、自律制御システム、自律制御方法、及びプログラムに関する。
機械学習を用いてロボットを自律制御する研究が進められている。これに関連し、ニューラルネットワークの学習を効率的に行う技術が知られている(例えば、特許文献1参照)。
従来、ロボットの手をカメラで撮像しながら目的のタスクが達成されるようにロボットの動作を制御する際に、ロボットが手の中で対象物を持ち替えたり、移動させたり、又は操作したりした場合、自らの手で対象物を覆い隠してしまい、オクルージョンが発生することがあった。そのため、視覚情報だけでは、対象物の姿勢を推定したり、その推定を基にしてロボットの行動を決定することが困難な場合があった。
これを解決するため、機械学習を用いてロボットの視覚と触覚を融合する研究が進められているが、目的のタスクを達成するためには十分でなかった。
本発明は、このような事情を考慮してなされたものであり、目的のタスクがより達成しやすくなる自律制御システム、自律制御方法、及びプログラムを提供することを目的の一つとする。
本発明に係る自律制御システム、自律制御方法、及びプログラムは以下の構成を採用した。
(1)本発明の第1の態様は、ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得する取得部と、前記状態データ、前記視覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定する処理部と、を備え、前記処理部は、前記視覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記視覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成し、前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成し、前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定する、自律制御システムである。
(1)本発明の第1の態様は、ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得する取得部と、前記状態データ、前記視覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定する処理部と、を備え、前記処理部は、前記視覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記視覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成し、前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成し、前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定する、自律制御システムである。
(2)本発明の第2の態様は、第1の態様において、前記取得部は、前記ロボットのボディと前記タスクのターゲットとを撮像するカメラにより生成された深度画像データを、前記視覚データとして取得し、前記ボディに配置された複数の触覚センサの分布に対して各触覚センサによって検出された接触力が対応付けられたデータを、前記触覚データとして取得し、前記処理部は、前記複数の触覚センサの分布と前記深度画像データとを融合し且つ次元圧縮することで、前記第1圧縮データを生成するものである。
(3)本発明の第3の態様は、第2の態様において、前記処理部は、前記複数の触覚センサの分布に対して各触覚センサによって検出された接触力が対応付けられたデータを次元圧縮することで、前記第2圧縮データを生成するものである。
(4)本発明の第4の態様は、第1から第3の態様のうちいずれか一つにおいて、前記処理部は、ある第1エンコーダを用いて、前記視覚データ及び前記触覚データから前記第1圧縮データを生成し、前記第1エンコーダは、前記視覚データ及び前記触覚データに対して、前記タスクのターゲットの正解の状態がラベル付けられた第1トレーニングデータセットに基づいて学習されたニューラルネットワークであるものである。
(5)本発明の第5の態様は、第1から第4の態様のうちいずれか一つにおいて、前記処理部は、ある第1エンコーダを用いて、前記視覚データ及び前記触覚データから前記第1圧縮データを生成し、前記第1エンコーダは、入力されたデータを低次元のデータに変換して出力するニューラルネットワークであって、入力されたデータを高次元のデータに変換して出力するデコーダと組み合わされて、前記第1エンコーダに入力したデータと、前記デコーダによって出力されたデータとが一致するように学習されたニューラルネットワークであるものである。
(6)本発明の第6の態様は、第1から第4の態様のうちいずれか一つにおいて、前記処理部は、ある第2エンコーダを用いて、前記触覚データから前記第2圧縮データを生成し、前記第2エンコーダは、入力されたデータを低次元のデータに変換して出力するニューラルネットワークであって、入力されたデータを高次元のデータに変換して出力するデコーダと組み合わされて、前記第2エンコーダに入力したデータと、前記デコーダによって出力されたデータとが一致するように学習されたニューラルネットワークであるものである。
(7)本発明の第7の態様は、第1から第5の態様のうちいずれか一つにおいて、前記処理部は、強化学習を用いて、前記結合状態データから前記行動を決定するものである。
(8)本発明の第8の態様は、第2又は第3の態様において、前記処理部は、更に、前記結合状態データに基づいて、前記触覚センサの感度を決定するものである。
(9)本発明の第9の態様は、第2又は第3の態様において、前記処理部は、更に、前記結合状態データに基づいて、前記ボディ及び前記ターゲットを撮像する際の前記カメラの角度を決定するものである。
(10)本発明の第10の態様は、ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得し、前記状態データ、前記視覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定し、前記視覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記視覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成し、前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成し、前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定する、自律制御方法である。
(11)本発明の第11の態様は、コンピュータに、ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得すること、前記状態データ、前記視覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定すること、前記視覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記視覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成すること、前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成すること、前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定すること、を実行させるためのプログラムである。
上記の態様によれば、目的のタスクがより達成しやすくなる。
以下、図面を参照し、本発明の自律制御システム、自律制御方法、及びプログラムの実施形態について説明する。
<第1実施形態>
[システムの構成]
図1は、第1実施形態に係る自律制御システム1の構成の一例を表す図である。自律制御システム1は、例えば、自律制御装置100と、学習装置200とを備える。自律制御装置100及び学習装置200は、ネットワークNWを介して接続される。ネットワークNWは、LAN(Local Area Network)やWAN(Wide Area Network)などを含む。
[システムの構成]
図1は、第1実施形態に係る自律制御システム1の構成の一例を表す図である。自律制御システム1は、例えば、自律制御装置100と、学習装置200とを備える。自律制御装置100及び学習装置200は、ネットワークNWを介して接続される。ネットワークNWは、LAN(Local Area Network)やWAN(Wide Area Network)などを含む。
自律制御装置100は、ロボット10が自律的に行動するように自律制御を行う装置である。自律制御装置100は、典型的には、ロボット10に搭載され、直接ロボット10を制御する。また、自律制御装置100は、ロボット10から遠く離れた遠隔地に設置され、ネットワークNWを介して遠隔でロボット10を制御してもよい。例えば、自律制御装置100は、機械学習モデルを利用して、ロボット10がとるべき最適な行動を決定する。
学習装置200は、自律制御装置100によって利用される機械学習モデルを学習する装置である。学習装置200は、単一の装置であってもよいし、ネットワークNWを介して接続された複数の装置が互いに協働して動作する一つのシステムであってもよい。すなわち、学習装置200は、分散コンピューティングシステムやクラウドコンピューティングシステムに含まれる複数のコンピュータ(プロセッサ)によって実現されてもよい。
[ロボットの外観]
図2は、第1実施形態に係るロボット10の外観を模式的に表す図である。ロボット10は、典型的には、2つの手を有する人型ロボット(ヒューマノイドロボット)であるがこれに限られず、四足歩行の動物型のロボットであってもよいし、産業用ロボットであってもよいし、軍事用ロボットであってもよいし、家庭用の掃除用ロボットであってもよいし、自律的に行動可能なその他種々のロボットであってよい。
図2は、第1実施形態に係るロボット10の外観を模式的に表す図である。ロボット10は、典型的には、2つの手を有する人型ロボット(ヒューマノイドロボット)であるがこれに限られず、四足歩行の動物型のロボットであってもよいし、産業用ロボットであってもよいし、軍事用ロボットであってもよいし、家庭用の掃除用ロボットであってもよいし、自律的に行動可能なその他種々のロボットであってよい。
ロボット10は、例えば、ロボット10から見た外界環境を画像化するための視覚センサ11や、ロボットの触覚を再現する複数の触覚センサ12を備えており、それらセンサを利用しながら自律制御装置100によって決定された行動に従って目的のタスクを実行する。
タスクとは、例えば、ペットボトルのようなターゲットTRを考えた場合、そのペットボトルを手で掴んだり、ペットボトルをもう一方の手に持ち替えたり、ペットボトルを移動させたり、又はペットボトルをキャップを外したり着けたりすることである。なお、タスクはこれらに限られず、任意のタスクが設定可能である。
視覚センサ11は、ロボット10のボディの一部(典型的には頭部)に設置される。視覚センサ11は、例えば、デプスカメラであってよい。デプスカメラは、ロボット10の正面を撮像し、カラー且つ3次元の画像(つまり、幅(W)、高さ(H)、レッド(R)、グリーン(G)、ブルー(B)、デプス(D)の6次元画像)を生成する。なお、視覚センサ11は、デプスカメラに限られず、例えば、レーダーやライダーといった電磁波を照射することで外界環境を画像化するセンサであってもよい。以下、便宜上、一例として視覚センサ11がデプスカメラであるものとして説明する。ロボット10の作業空間上に監視カメラ20が存在し、その監視カメラ20によってデプスカメラが代用可能な場合、視覚センサ11は省略されてもよい。
複数の触覚センサ12は、例えば、ロボット10のボディの一部(典型的には指や手のひら)に分布して配置される。具体的には、触覚センサ12は、指や手のひらの10領域に分布してよい。例えば、親指には、32点で接触力を感知可能な触覚センサ12-1及び12-2が配置される。接触力は、例えば、圧力や応力、歪みといった物理的な力である。手のひらには、32点で接触力を感知可能な触覚センサ12-3及び12-4が配置される。親指を除いた残りの3本の指には、24点で接触力を感知可能な触覚センサ12-5と、8点で接触力を感知可能な触覚センサ12-6が設置される。このような分布で配置された複数の触覚センサ12は、ターゲットTRを掴んだりしたときに指や手のひらに加えられた力を合計224チャネルで感知する。なお、チャネル数は224に限られず、例えば数十~数百程度であってよい。
[ロボット及び自律制御装置の構成]
図3は、第1実施形態に係るロボット10及び自律制御装置100の構成図である。ロボット10は、上述した視覚センサ11と触覚センサ12に加えて、更にアクチュエータ13と、状態センサ14と、駆動制御部15とを備える。
図3は、第1実施形態に係るロボット10及び自律制御装置100の構成図である。ロボット10は、上述した視覚センサ11と触覚センサ12に加えて、更にアクチュエータ13と、状態センサ14と、駆動制御部15とを備える。
アクチュエータ13は、駆動制御部15の制御を受けてロボット10の各部位(腕、指、足、頭、胴、腰等)を駆動する。アクチュエータ13は、例えば、電磁モータ、ギア、人工筋などを含む。
状態センサ14は、ロボット10の状態(例えば関節角度や角速度、トルク等)を検出するセンサである。状態センサ14は、例えば、ロボット10の関節の回動の度合いを検出するロータリエンコーダや、関節を回動させるためのワイヤーの張力を検出する張力センサ、関節軸にかかるトルクを検出するトルクセンサ、ロボット10の姿勢を検出するための加速度センサやジャイロセンサなどを含む。
駆動制御部15は、自律制御装置100によって生成された制御コマンドに基づいて、アクチュエータ13を制御する。
自律制御装置100は、例えば、通信インターフェース110と、処理部120と、記憶部130とを備える。
通信インターフェース110は、ネットワークNWを介して学習装置200と通信したり、バスのような通信線を介してロボット10と通信したりする。通信インターフェース110には、例えば、受信機や送信機を含む無線通信モジュールや、NIC(Network Interface Card)などが含まれる。
処理部120は、例えば、取得部121と、データ圧縮部122と、行動決定部123と、コマンド生成部124と、通信制御部125とを備える。
処理部120の構成要素は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などが記憶部130に格納されたプログラムを実行することにより実現される。これらの構成要素の一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
記憶部130は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などにより実現される。記憶部130は、ファームウェアやアプリケーションプログラムなどの各種プログラムの他に、モデルデータを格納する。モデルデータは、ロボット10の行動を決定するためのいくつかの機械学習モデルを定義したデータ(プログラム又はアルゴリズム)である。モデルデータは、例えば、ネットワークNWを介して学習装置200から記憶部130にインストールされてもよいし、自律制御装置100のドライブ装置に接続された可搬型の記憶媒体から記憶部130にインストールされてもよい。
[自律制御装置の処理フロー]
以下、処理部120の各構成要素についてフローチャートを用いて説明する。図4は、第1実施形態に係る処理部120の一連の処理の流れを表すフローチャートである。
以下、処理部120の各構成要素についてフローチャートを用いて説明する。図4は、第1実施形態に係る処理部120の一連の処理の流れを表すフローチャートである。
まず、取得部121は、通信インターフェース110を介して、ロボット10から状態データと、深度画像データと、触覚データとを取得する(ステップS100)。
状態データは、例えば、ロボット10の状態センサ14の検出値が要素として含まれる多次元のベクトルである。以下、状態データのベクトルのことを特に「状態ベクトル」という。状態ベクトルには、例えば、ロータリエンコーダにより検出された関節角度、張力センサにより検出された関節ワイヤーの張力、トルクセンサにより検出された関節軸のトルク、加速度センサにより検出されたロボット10の加速度、ジャイロセンサにより検出されたロボット10の角速度などが要素値として含まれる。
深度画像データは、例えば、ロボット10の視覚センサ11により得られたカラー且つ3次元の画像(6次元画像)のベクトルである。以下、深度画像データのベクトルのことを特に「画像ベクトル」という。例えば、幅(W)及び高さ(H)で表される画像の1ピクセルごとに深度(D)とRGB値が対応付けられた4次元の情報がXYZのワールド座標に射影され、その射影後のRGB-XYZで表される6次元ベクトルが画像ベクトルとなる。なお、視覚センサ11により得られた画像が白黒である場合、画像ベクトルは、XYZに対して1チャネルの画素値が対応付けられた4次元ベクトルとなる。
例えば、ロボット10がタスクを達成するためにターゲットTRを手で把持している様子がデプスカメラにより撮像されたとする。この場合、深度画像データには、(i)ロボット10に搭載のデプスカメラからロボット10の手までの距離情報や色情報、(ii)ロボット10に搭載のデプスカメラからターゲットTRまでの距離情報や色情報のうち一方又は双方が含まれることになる。
ロボット10の作業空間上に監視カメラ20が存在する場合、取得部121は、ロボット10から深度画像データを取得することに加えて、或いは代えて、監視カメラ20から深度画像データを取得してもよい。この場合、深度画像データには、(iii)監視カメラ20からロボット10の手までの距離情報や色情報、(iv)監視カメラ20からターゲットTRまでの距離情報や色情報とのうち一方又は双方が含まれることになる。
触覚データは、例えば、ロボット10のボディの一部に配置された複数の触覚センサ12の分布(接触点群)に対して、各触覚センサ12によって検出された接触力が対応付けられた多次元のベクトルである。以下、触覚データのベクトルのことを特に「触覚ベクトル」という。例えば図2の例では、触覚ベクトルは、224次元のベクトルとなるが、上述したように数十~数百次元のベクトルであってよい。
次に、データ圧縮部122は、取得部121によって取得された状態データ(状態ベクトル)、深度画像データ(画像ベクトル)、及び触覚データ(触覚ベクトル)のうち、深度画像データ(画像ベクトル)と触覚データ(触覚ベクトル)とを融合し且つ次元圧縮することで、深度画像データ(画像ベクトル)と触覚データ(触覚ベクトル)とを合わせたものに比べて低次元のデータ(以下、第1圧縮データという)を生成する(ステップS102)。
図5は、第1実施形態に係る処理部120の一連の処理の流れを模式的に表す図である。図中のMDL1は、入力データの次元を圧縮するように予め学習された第1エンコーダ(オートエンコーダ)を表し、MDL2は、第1エンコーダMDL1同様に、入力データの次元を圧縮するように予め学習された第2エンコーダ(オートエンコーダ)を表している。MDL3は、状態データからロボット10の行動を決定するように予め学習された方策ネットワークを表している。
第1エンコーダMDL1及び/又は第2エンコーダMDL2は、例えば、畳み込み層を含むニューラルネットワークによって実装されてよい。
方策ネットワークMDL3は、深層強化学習を利用したネットワークである。深層強化学習には、例えば、価値ベース(Value based)、方策ベース(Policy based)、価値と方策を組み合わせたActor-Critic、予測モデルベース、といったいくつかの種類が知られている。Actor-Criticには、例えば、TD3(Twin Delayed DDPG)やSAC(Soft Actor-Critic)などが含まれる。本実施形態では、例えば、方策ベースやActor-Critic、予測モデルベースなどが適用できる。
これらの各種モデルは、記憶部130に格納されたモデルデータによって定義される。モデルデータには、例えば、ニューラルネットワークを構成する複数の層のそれぞれに含まれるユニットが互いにどのように結合されるのかという結合情報や、結合されたユニット間で入出力されるデータに付与される結合係数などの各種情報が含まれる。結合情報とは、例えば、各層に含まれるユニット数や、各ユニットの結合先のユニットの種類を指定する情報、各ユニットを実現する活性化関数、隠れ層のユニット間に設けられたゲートなどの情報を含む。ユニットを実現する活性化関数は、例えば、正規化線形関数(ReLU関数)であってもよいし、シグモイド関数や、ステップ関数、その他の関数などであってもよい。ゲートは、例えば、活性化関数によって返される値(例えば1または0)に応じて、ユニット間で伝達されるデータを選択的に通過させたり、重み付けたりする。結合係数は、例えば、ニューラルネットワークの隠れ層において、ある層のユニットから、より深い層のユニットにデータが出力される際に、出力データに対して付与される重みを含む。結合係数は、各層の固有のバイアス成分などを含んでもよい。
例えば、データ圧縮部122は、深度画像データ(W(画像サイズ幅)×H(画像サイズ高さ)×D(奥行き))を、XYZのワールド座標に射影する。更に、データ圧縮部122は、触覚センサ12の接触点(224ch分の点群のうち、閾値以上の接触力を検知した点)を、XYZのワールド座標に射影する。そして、データ圧縮部122は、ワールド座標に射影した深度画像データ由来の点群と触覚センサ12の接触点とを合わせたものを一つのベクトルとし、そのベクトルを学習済みの第1エンコーダMDL1に入力する。これを受けて学習済みの第1エンコーダMDL1は、ターゲットTRの位置や姿勢といった状態を表す状態データ(状態ベクトル)を、第1圧縮データとして出力する。
つまり、第1エンコーダMDL1は、深度画像データ単独では、ロボット10の手などにターゲットTRの一部又は全部が覆われてロボット10の視点からターゲットTRの位置や姿勢を判断できない場合(つまりオクルージョンが発生した場合)であっても、触覚センサ12の接触点からターゲットTRがロボット10の手の中でどういった位置や姿勢にあるのかその判断を補うように学習されている。
図4のフローチャートの説明に戻る。次に、データ圧縮部122は、取得部121によって取得された状態データ(状態ベクトル)、深度画像データ(画像ベクトル)、及び触覚データ(触覚ベクトル)のうち、触覚データ(触覚ベクトル)を次元圧縮することで、触覚データ(触覚ベクトル)に比べて低次元のデータ(以下、第2圧縮データという)を生成する(ステップS104)。
図5に示すように、例えば、データ圧縮部122は、複数の触覚センサ12の分布(接触点群)に対して、各触覚センサ12によって検出された接触力が対応付けられた触覚データ(触覚ベクトル)を学習済みの第2エンコーダMDL2に入力する。これを受けて学習済みの第2エンコーダMDL2は、例えば、224次元の触覚ベクトルを、10次元や20次元といった数十次元の触覚ベクトルに変換し、それを第2圧縮データとして出力する。
図4のフローチャートの説明に戻る。次に、行動決定部123は、状態データ(状態ベクトル)と、第1圧縮データと、第2圧縮データとを一つに結合したデータ(以下、結合状態データという)を生成する(ステップS106)。
次に、行動決定部123は、方策ネットワークMDL3を用いて、結合状態データからロボット10の行動を決定する(ステップS108)。
図5に示すように、例えば、行動決定部123は、ある時刻tにおける環境状態stの観測結果otとして、状態データ(状態ベクトル)、深度画像データ(画像ベクトル)、及び触覚データ(触覚ベクトル)をそのまま方策ネットワークMDL3に入力するのではなく、第1エンコーダMDL1と第2エンコーダMDL2を用いて観測結果otを低次元に圧縮した結合状態データ(図中zt)を方策ネットワークMDL3に入力する。これを受けて方策ネットワークMDL3は、ある時刻tの環境状態stの下でロボット10が取り得ることが可能な一つ又は複数の行動(行動変数)atのうち、価値(Q値)が最大となる行動(行動変数)atを出力する。行動(行動変数)atは、例えば、ターゲットTRを手で掴んだり、持ち替えたり、移動させたり、といった種々の行動であってよい。このような方策ネットワークMDL3に出力させる行動atは、ロボット10に要求されるタスクに応じて適切に学習される。
図4のフローチャートの説明に戻る。次に、コマンド生成部124は、方策ネットワークMDL3を用いて決定されたロボット10の行動atに基づいて、ロボット10の各アクチュエータ13を制御するための制御コマンドを生成する(ステップS110)。
次に、通信制御部125は、通信インターフェース110を介して、制御コマンドをロボット10に送信する(ステップS112)。ロボット10の駆動制御部15は、制御コマンドを受信すると、その制御コマンドに基づいてアクチュエータ13を制御する。これによってロボット10が行動し、ターゲットTRが持ち上げられたり、移動させられたりしてロボット10を取り巻く環境状態stがst+1へと変化する。
次に、取得部121は、通信インターフェース110を介して、ロボット10から状態データと、深度画像データと、触覚データとを再取得する(ステップS114)。つまり、取得部121は、時刻t+1における環境状態st+1の観測結果ot+1として、状態データ(状態ベクトル)、深度画像データ(画像ベクトル)、及び触覚データ(触覚ベクトル)を再取得する。
処理部120は、ロボット10から再取得された各種データ(つまり観測結果ot+1)に基づいて、目的のタスクが達成されたか否かを判定する(ステップS116)。言い換えれば、処理部120は、時刻t+1における環境状態st+1が、ロボット10によって目的のタスクが達成された所望の状態にあるか否かを判定する。
目的のタスクが達成された場合(環境状態st+1が所望の状態にある場合)、本フローチャートの処理が終了する。
一方、目的のタスクが達成されていない場合(環境状態st+1が所望の状態にない場合)、処理部120は、上述したS102に処理を戻し、目的のタスクが達成されるまでS102からS114までの一連の処理を繰り返す。これによって本フローチャートの処理が終了する。
[学習装置の構成]
以下、第1実施形態に係る学習装置200の構成を説明する。図6は、第1実施形態に係る学習装置200の構成図である。学習装置200は、例えば、通信インターフェース210と、処理部220と、記憶部230とを備える。
以下、第1実施形態に係る学習装置200の構成を説明する。図6は、第1実施形態に係る学習装置200の構成図である。学習装置200は、例えば、通信インターフェース210と、処理部220と、記憶部230とを備える。
通信インターフェース210は、ネットワークNWを介して自律制御装置100と通信する。通信インターフェース210には、例えば、受信機や送信機を含む無線通信モジュールや、NICなどが含まれる。
処理部220は、例えば、取得部221と、学習部222と、通信制御部223とを備える。
処理部220の構成要素は、例えば、CPUやGPUなどが記憶部230に格納されたプログラムを実行することにより実現される。これらの構成要素の一部または全部は、LSI、ASIC、またはFPGAなどのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
記憶部230は、例えば、HDD、フラッシュメモリ、EEPROM、ROM、RAMなどにより実現される。記憶部230は、ファームウェアやアプリケーションプログラムなどの各種プログラムの他に、未学習の第1エンコーダMDL1や未学習の第2エンコーダMDL2、未学習の方策ネットワークMDL3を定義したモデルデータを格納する。
取得部221は、未学習の第1エンコーダMDL1を学習するためのトレーニングデータセットを取得する。
トレーニングデータセットは、トレーニングのために用意された深度画像データ(画像ベクトル)及び触覚データ(触覚ベクトル)に対して、第1エンコーダMDL1が出力すべき正解(理想)のターゲットTRの状態データ(状態ベクトル)がラベル付けられたデータセットである。言い換えれば、トレーニングデータセットは、深度画像データ(画像ベクトル)及び触覚データ(触覚ベクトル)を入力データとし、正解のターゲットTRの状態データ(状態ベクトル)を出力データとしたデータセットである。
例えば、取得部221は、通信インターフェース210を介して他の装置(例えばデータソース)からトレーニングデータセットを取得してよい。また、記憶部230に既にトレーニングデータセットが格納されている場合、取得部221は、記憶部230からトレーニングデータセットを読み出してよい。更に学習装置200のドライブ装置に、トレーニングデータセットが格納された非一過性の記憶媒体(例えばフレッシュメモリ等)が接続された場合、取得部221は、記憶媒体からトレーニングデータセットを読み出してもよい。
学習部222は、取得部221によって取得されたトレーニングデータセットを用いて第1エンコーダMDL1を学習する。
図7は、第1エンコーダMDL1の学習方法を説明するための図である。例えば、学習部222は、トレーニングデータセットに入力データとして含まれる深度画像データ(画像ベクトル)及び触覚データ(触覚ベクトル)を、未学習の第1エンコーダMDL1に入力する。
未学習の第1エンコーダMDL1は、深度画像データ(画像ベクトル)及び触覚データ(触覚ベクトル)が入力されたことに応じて、それらデータの次元数を圧縮し、その圧縮したデータを第1圧縮データとして出力する。
学習部222は、未学習の第1エンコーダMDL1によって出力された第1圧縮データと、トレーニングデータセットに出力データとして含まれるターゲットTRの状態データ(状態ベクトル)との差分Δを算出する。そして、学習部222は、差分Δが小さくなるように、第1エンコーダMDL1のパラメータである重み係数やバイアス成分などを確率的勾配降下法などを用いて決定(更新)する。
学習部222は、更に第2エンコーダMDL2を学習する。
図8は、第2エンコーダMDL2の学習方法を説明するための図である。第2エンコーダMDL2の学習には、第2エンコーダMDL2と機能的に対となるデコーダMDL4が用いられる。上述したように、第2エンコーダMDL2は、入力されたデータを低次元のデータに変換して出力するニューラルネットワークである。これに対して、デコーダMDL4は、入力されたデータを高次元のデータに変換して出力するニューラルネットワークである。
学習部222は、トレーニングのために用意された触覚データ(触覚ベクトル)を未学習の第2エンコーダMDL2に入力する。未学習の第2エンコーダMDL2は、触覚データ(触覚ベクトル)が入力されたことに応じて、その触覚データ(触覚ベクトル)の次元数を圧縮し、その圧縮したデータを第2圧縮データとして出力する。
第2エンコーダMDL2によって出力された第2圧縮データは、未学習のデコーダMDL4に入力される。未学習のデコーダMDL4は、第2圧縮データが入力されたことに応じて、その第2圧縮データを高次元のデータに変換して出力する。
学習部222は、第2エンコーダMDL2に入力した触覚データ(触覚ベクトル)と、デコーダMDL4によって出力された高次元のデータとの差分Δを算出する。そして、学習部222は、差分Δが小さくなるように、第2エンコーダMDL2及びデコーダMDL4のパラメータである重み係数やバイアス成分などを確率的勾配降下法などを用いて決定(更新)する。すなわち、学習部222は、第2エンコーダMDL2に入力した触覚データ(触覚ベクトル)と、デコーダMDL4によって出力された高次元のデータとが一致するように、第2エンコーダMDL2及びデコーダMDL4を学習する。
学習部222は、更に方策ネットワークMDL3を学習する。例えば、方策ネットワークMDL3が方策ベースである場合、学習部222は、方策勾配法(Policy Gradients)などを用いて方策ネットワークMDL3を学習してよい。また、例えば、方策ネットワークMDL3がActor-Criticである場合、学習部222は、行動を決めるActor(行動器)を学習しながら、方策を評価するCritic(評価器)も同時に学習する。
通信制御部223は、学習部222によって学習された第1エンコーダMDL1、第2エンコーダMDL2、及び方策ネットワークMDL3を定義したモデルデータを、通信インターフェース210を介して自律制御装置100に送信する。これによって自律制御装置100では、学習済みの各モデルを用いてロボット10の行動を決定することができる。
以上説明した第実施形態によれば、自律制御装置100は、第1エンコーダMDL1を用いて深度画像データ(画像ベクトル)及び触覚データ(触覚ベクトル)を融合し且つ次元圧縮することで、より低次元の第1圧縮データを生成する。自律制御装置100は、第2エンコーダMDL2を用いて触覚データ(触覚ベクトル)を次元圧縮することで、より低次元の第2圧縮データを生成する。自律制御装置100は、ロボット10の状態データ(状態ベクトル)と、第1圧縮データと、第2圧縮データとを一つに結合した結合状態データztを生成し、方策ネットワークMDL3を用いて、結合状態データztからタスクを達成可能なロボット10の行動atを決定する。このように、第1エンコーダMDL1及び第2エンコーダMDL2を用いてを用いて方策ネットワークMDL3に入力するデータの次元数を圧縮することで、方策ネットワークMDL3の精度を向上させることができる。この結果、目的のタスクがより達成しやすくなる。
また、上述した第1実施形態によれば、第1エンコーダMDL1と、第2エンコーダMDL2と、方策ネットワークMDL3とをそれぞれ分離させて個別に学習するため、学習効率を向上させつつ、各モデルの精度を向上させることができる。
<第1実施形態の変形例>
上述した第1実施形態では、学習部222は、トレーニングデータセットを用いて第1エンコーダMDL1を学習するものとして説明したがこれに限られない。例えば、学習部222は、第2エンコーダMDL2の学習と同じように、第1エンコーダMDL1を学習してもよい。
上述した第1実施形態では、学習部222は、トレーニングデータセットを用いて第1エンコーダMDL1を学習するものとして説明したがこれに限られない。例えば、学習部222は、第2エンコーダMDL2の学習と同じように、第1エンコーダMDL1を学習してもよい。
図9は、第1エンコーダMDL1の他の学習方法を説明するための図である。第2エンコーダMDL2同様に、第1エンコーダMDL1の学習には、第1エンコーダMDL1と機能的に対となるデコーダMDL5が用いられる。上述したように、第1エンコーダMDL1は、入力されたデータを低次元のデータに変換して出力するニューラルネットワークである。これに対して、デコーダMDL5は、入力されたデータを高次元のデータに変換して出力するニューラルネットワークである。
学習部222は、トレーニングのために用意された深度画像データ(画像ベクトル)及び触覚データ(触覚ベクトル)を未学習の第1エンコーダMDL1に入力する。未学習の第1エンコーダMDL1は、深度画像データ(画像ベクトル)及び触覚データ(触覚ベクトル)が入力されたことに応じて、それらデータの次元数を圧縮し、その圧縮したデータを第1圧縮データとして出力する。
第1エンコーダMDL1によって出力された第1圧縮データは、未学習のデコーダMDL5に入力される。未学習のデコーダMDL5は、第1圧縮データが入力されたことに応じて、その第1圧縮データを高次元のデータに変換して出力する。
学習部222は、第1エンコーダMDL1に入力した深度画像データ(画像ベクトル)及び触覚データ(触覚ベクトル)と、デコーダMDL5によって出力された高次元のデータとの差分Δを算出する。そして、学習部222は、差分Δが小さくなるように、第1エンコーダMDL1及びデコーダMDL5のパラメータである重み係数やバイアス成分などを確率的勾配降下法などを用いて決定(更新)する。すなわち、学習部222は、第1エンコーダMDL1に入力した深度画像データ(画像ベクトル)及び触覚データ(触覚ベクトル)と、デコーダMDL5によって出力された高次元のデータとが一致するように、第1エンコーダMDL1及びデコーダMDL5を学習する。
<第2実施形態>
以下、第2実施形態について説明する。第2実施形態では、方策ネットワークMDL3が、ロボット10の行動atに加えて触覚センサ12の感度パラメータを出力する点で上述した第1実施形態と相違する。感度パラメータとは、触覚センサ12の感度を調整するためのパラメータであり、例えば、触覚センサ12の各接触点において、接触があったのか、それとも接触がなかったのかの接触力の境界となる閾値である。また、感度パラメータは、閾値に加えて或いは代えて、接触力の勾配(傾き)であってもよい。以下、第1実施形態との相違点を中心に説明し、第1実施形態と共通する点については説明を省略する。なお、第2実施形態の説明において、第1実施形態と同じ部分については同一符号を付して説明する。
以下、第2実施形態について説明する。第2実施形態では、方策ネットワークMDL3が、ロボット10の行動atに加えて触覚センサ12の感度パラメータを出力する点で上述した第1実施形態と相違する。感度パラメータとは、触覚センサ12の感度を調整するためのパラメータであり、例えば、触覚センサ12の各接触点において、接触があったのか、それとも接触がなかったのかの接触力の境界となる閾値である。また、感度パラメータは、閾値に加えて或いは代えて、接触力の勾配(傾き)であってもよい。以下、第1実施形態との相違点を中心に説明し、第1実施形態と共通する点については説明を省略する。なお、第2実施形態の説明において、第1実施形態と同じ部分については同一符号を付して説明する。
図10は、第2実施形態に係る処理部120の一連の処理の流れを表すフローチャートである。図11は、第2実施形態に係る処理部120の一連の処理の流れを模式的に表す図である。
まず、取得部121は、通信インターフェース110を介して、ロボット10から状態データと、深度画像データと、触覚データとを取得する(ステップS200)。
次に、データ圧縮部122は、取得部121によって取得された状態データ(状態ベクトル)、深度画像データ(画像ベクトル)、及び触覚データ(触覚ベクトル)のうち、深度画像データ(画像ベクトル)と触覚データ(触覚ベクトル)とを融合し且つ次元圧縮することで、第1圧縮データを生成する(ステップS202)。
次に、データ圧縮部122は、取得部121によって取得された状態データ(状態ベクトル)、深度画像データ(画像ベクトル)、及び触覚データ(触覚ベクトル)のうち、触覚データ(触覚ベクトル)を次元圧縮することで、第2圧縮データを生成する(ステップS204)。
次に、行動決定部123は、状態データ(状態ベクトル)と、第1圧縮データと、第2圧縮データとを一つに結合した結合状態データztを生成し(ステップS206)、方策ネットワークMDL3を用いて、結合状態データztからロボット10の行動atと触覚センサ12の感度パラメータと決定する(ステップS208)。方策ネットワークMDL3は、行動atと感度パラメータを出力するように事前に学習されているものとする。
次に、コマンド生成部124は、方策ネットワークMDL3を用いて決定されたロボット10の行動atに基づいて、ロボット10の各アクチュエータ13を制御するための制御コマンドを生成する(ステップS210)。
次に、通信制御部125は、通信インターフェース110を介して、制御コマンドと、触覚センサ12の感度パラメータをロボット10に送信する(ステップS212)。ロボット10の駆動制御部15は、制御コマンドを受信すると、その制御コマンドに基づいてアクチュエータ13を制御する。これによってロボット10が行動し、ロボット10を取り巻く環境状態stがst+1へと変化する。
次に、取得部121は、通信インターフェース110を介して、ロボット10から状態データと、深度画像データと、触覚データとを再取得する(ステップS214)。つまり、取得部121は、時刻t+1における環境状態st+1の観測結果ot+1として、状態データ(状態ベクトル)、深度画像データ(画像ベクトル)、及び触覚データ(触覚ベクトル)を再取得する。
処理部120は、ロボット10から再取得された各種データ(つまり観測結果ot+1)に基づいて、目的のタスクが達成されたか否かを判定する(ステップS216)。言い換えれば、処理部120は、時刻t+1における環境状態st+1が、ロボット10によって目的のタスクが達成された所望の状態にあるか否かを判定する。
目的のタスクが達成された場合(環境状態st+1が所望の状態にある場合)、本フローチャートの処理が終了する。
一方、目的のタスクが達成されていない場合(環境状態st+1が所望の状態にない場合)、ロボット10の駆動制御部15は、触覚センサ12の感度パラメータに従って、触覚センサ12の感度を更新する(ステップS218)。そして、処理部120は、上述したS202に処理を戻し、目的のタスクが達成されるまでS202からS218までの一連の処理を繰り返す。これによって本フローチャートの処理が終了する。
以上説明した第2実施形態によれば、自律制御装置100は、方策ネットワークMDL3を用いて、結合状態データztからタスクを達成可能なロボット10の行動atを決定することに加えて、更に触覚センサ12の感度パラメータを決定する。これによって、タスクが達成されるようにロボット10の触覚センサ12の感度が調整されるため、第1実施形態に比べて更に目的のタスクが達成しやすくなる。
例えば、感度パラメータとして決定された閾値が小さく、触覚センサ12の感度が高感度に設定された場合、触覚センサ12に小さな力が加えられても高精度にそれを検出することができる。この結果、例えばターゲットTRがテーブルに置かれたヘアピンであったとしても、触覚だけでヘアピンを探し出すことができる。
一方、例えば、感度パラメータとして決定された閾値が大きく、触覚センサ12の感度が低感度に設定された場合、触覚センサ12に大きな力が加えられても高精度にそれを検出することができる。この結果、例えば、瓶の蓋がきつく締まっている場合であっても、力強く蓋を開けることができる。
また、上述した第2実施形態では、結合状態データztからロボット10の行動atを決定することに加えて、更に触覚センサ12の感度パラメータを決定するものとして説明したがこれに限られない。例えば、ロボット10の行動at及び/又は触覚センサ12の感度パラメータに加えて、更に、ロボット10のボディやターゲットTRを撮像する際の視覚センサ11(デプスカメラ)の角度を決定してもよい。
上記説明した実施形態は、以下のように表現することができる。
コンピュータによって読み込み可能な命令(computer-readable instructions)を格納する記憶媒体(storage medium)と、
前記記憶媒体に接続されたプロセッサと、を備え、
前記プロセッサは、前命令を実行することにより(the processor executing the computer-readable instructions to:)
ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得し、
前記状態データ、前記視覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定し、
前記視覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記視覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成し、
前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成し、
前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定する、
自律制御システム。
コンピュータによって読み込み可能な命令(computer-readable instructions)を格納する記憶媒体(storage medium)と、
前記記憶媒体に接続されたプロセッサと、を備え、
前記プロセッサは、前命令を実行することにより(the processor executing the computer-readable instructions to:)
ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得し、
前記状態データ、前記視覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定し、
前記視覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記視覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成し、
前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成し、
前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定する、
自律制御システム。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1…自律制御システム、10…ロボット、11…視覚センサ、12…触覚センサ、13…アクチュエータ、14…状態センサ、15…駆動制御部、100…自律制御装置、110…通信インターフェース、120…処理部、130…記憶部、200…学習装置、210…通信インターフェース、220…処理部、230…記憶部、NW…ネットワーク、MDL1…第1エンコーダ、MDL2…第2エンコーダ、MDL3…方策ネットワーク
Claims (11)
- ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得する取得部と、
前記状態データ、前記視覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定する処理部と、を備え、
前記処理部は、
前記視覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記視覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成し、
前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成し、
前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定する、
自律制御システム。 - 前記取得部は、
前記ロボットのボディと前記タスクのターゲットとを撮像するカメラにより生成された深度画像データを、前記視覚データとして取得し、
前記ボディに配置された複数の触覚センサの分布に対して各触覚センサによって検出された接触力が対応付けられたデータを、前記触覚データとして取得し、
前記処理部は、前記複数の触覚センサの分布と前記深度画像データとを融合し且つ次元圧縮することで、前記第1圧縮データを生成する、
請求項1に記載の自律制御システム。 - 前記処理部は、前記複数の触覚センサの分布に対して各触覚センサによって検出された接触力が対応付けられたデータを次元圧縮することで、前記第2圧縮データを生成する、
請求項2に記載の自律制御システム。 - 前記処理部は、ある第1エンコーダを用いて、前記視覚データ及び前記触覚データから前記第1圧縮データを生成し、
前記第1エンコーダは、前記視覚データ及び前記触覚データに対して、前記タスクのターゲットの正解の状態がラベル付けられたトレーニングデータセットに基づいて学習されたニューラルネットワークである、
請求項1から3のうちいずれか一項に記載の自律制御システム。 - 前記処理部は、ある第1エンコーダを用いて、前記視覚データ及び前記触覚データから前記第1圧縮データを生成し、
前記第1エンコーダは、入力されたデータを低次元のデータに変換して出力するニューラルネットワークであって、入力されたデータを高次元のデータに変換して出力するデコーダと組み合わされて、前記第1エンコーダに入力したデータと、前記デコーダによって出力されたデータとが一致するように学習されたニューラルネットワークである、
請求項1から3のうちいずれか一項に記載の自律制御システム。 - 前記処理部は、ある第2エンコーダを用いて、前記触覚データから前記第2圧縮データを生成し、
前記第2エンコーダは、入力されたデータを低次元のデータに変換して出力するニューラルネットワークであって、入力されたデータを高次元のデータに変換して出力するデコーダと組み合わされて、前記第2エンコーダに入力したデータと、前記デコーダによって出力されたデータとが一致するように学習されたニューラルネットワークである、
請求項1から5のうちいずれか一項に記載の自律制御システム。 - 前記処理部は、強化学習を用いて、前記結合状態データから前記行動を決定する、
請求項1から6のうちいずれか一項に記載の自律制御システム。 - 前記処理部は、更に、前記結合状態データに基づいて、前記触覚センサの感度を決定する、
請求項2又は3に記載の自律制御システム。 - 前記処理部は、更に、前記結合状態データに基づいて、前記ボディ及び前記ターゲットを撮像する際の前記カメラの角度を決定する、
請求項2又は3に記載の自律制御システム。 - ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得し、
前記状態データ、前記視覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定し、
前記視覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記視覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成し、
前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成し、
前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定する、
自律制御方法。 - コンピュータに、
ロボットの状態データと、前記ロボットの視覚データと、前記ロボットの触覚データとを取得すること、
前記状態データ、前記視覚データ、及び前記触覚データに基づいて、前記ロボットに与えられたタスクを達成可能な前記ロボットの行動を決定すること、
前記視覚データ及び前記触覚データを融合し且つ次元圧縮することで、前記視覚データ及び前記触覚データを合わせたデータに比べて低次元の第1圧縮データを生成すること、
前記触覚データを次元圧縮することで、前記触覚データに比べて低次元の第2圧縮データを生成すること、
前記状態データ、前記第1圧縮データ、及び前記第2圧縮データを一つに結合した結合状態データに基づいて、前記行動を決定すること、
を実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022008713A JP2023107484A (ja) | 2022-01-24 | 2022-01-24 | 自律制御システム、自律制御方法、及びプログラム |
US18/096,042 US20230234232A1 (en) | 2022-01-24 | 2023-01-12 | Autonomous control system, autonomous control method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022008713A JP2023107484A (ja) | 2022-01-24 | 2022-01-24 | 自律制御システム、自律制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023107484A true JP2023107484A (ja) | 2023-08-03 |
Family
ID=87313291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022008713A Pending JP2023107484A (ja) | 2022-01-24 | 2022-01-24 | 自律制御システム、自律制御方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230234232A1 (ja) |
JP (1) | JP2023107484A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117207190B (zh) * | 2023-09-28 | 2024-05-10 | 重庆大学 | 基于视觉与触觉融合的精准抓取机器人系统 |
-
2022
- 2022-01-24 JP JP2022008713A patent/JP2023107484A/ja active Pending
-
2023
- 2023-01-12 US US18/096,042 patent/US20230234232A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230234232A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Choi et al. | Learning object grasping for soft robot hands | |
Joshi et al. | Robotic grasping using deep reinforcement learning | |
Breyer et al. | Comparing task simplifications to learn closed-loop object picking using deep reinforcement learning | |
CN110785268B (zh) | 用于语义机器人抓取的机器学习方法和装置 | |
CN114080583B (zh) | 视觉教导和重复移动操纵系统 | |
Dean-Leon et al. | TOMM: Tactile omnidirectional mobile manipulator | |
Jain et al. | Learning deep visuomotor policies for dexterous hand manipulation | |
JP2018205929A (ja) | 学習装置、学習方法、学習モデル、検出装置及び把持システム | |
JP6587195B2 (ja) | 触覚情報推定装置、触覚情報推定方法、プログラム及び非一時的コンピュータ可読媒体 | |
CN107030692B (zh) | 一种基于感知增强的机械手遥操作方法及系统 | |
Solowjow et al. | Industrial robot grasping with deep learning using a programmable logic controller (plc) | |
JP2019084601A (ja) | 情報処理装置、把持システムおよび情報処理方法 | |
Sun et al. | Learning pregrasp manipulation of objects from ungraspable poses | |
US11794350B2 (en) | Interactive tactile perception method for classification and recognition of object instances | |
Huang et al. | Grasping novel objects with a dexterous robotic hand through neuroevolution | |
CN114516060A (zh) | 用于控制机器人装置的设备和方法 | |
JP2023107484A (ja) | 自律制御システム、自律制御方法、及びプログラム | |
Zhou et al. | A grasping component mapping approach for soft robotic end-effector control | |
Narita et al. | Policy blending and recombination for multimodal contact-rich tasks | |
Hundhausen et al. | Fast reactive grasping with in-finger vision and in-hand fpga-accelerated cnns | |
KR20230119159A (ko) | 파지 생성을 위한 픽셀단위 예측 | |
Mosbach et al. | Efficient representations of object geometry for reinforcement learning of interactive grasping policies | |
JPH1091207A (ja) | 内部表現自動生成方法及び装置 | |
JP7249928B2 (ja) | 触覚情報推定装置、触覚情報推定方法及びプログラム | |
Vatsal et al. | Augmenting vision-based grasp plans for soft robotic grippers using reinforcement learning |