JP6644191B1 - Robot control device, robot control learning device, and robot control method - Google Patents
Robot control device, robot control learning device, and robot control method Download PDFInfo
- Publication number
- JP6644191B1 JP6644191B1 JP2019528938A JP2019528938A JP6644191B1 JP 6644191 B1 JP6644191 B1 JP 6644191B1 JP 2019528938 A JP2019528938 A JP 2019528938A JP 2019528938 A JP2019528938 A JP 2019528938A JP 6644191 B1 JP6644191 B1 JP 6644191B1
- Authority
- JP
- Japan
- Prior art keywords
- control
- arm
- robot
- reward
- acquisition unit
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 51
- 238000004364 calculation method Methods 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 39
- 238000012937 correction Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 28
- 230000008859 change Effects 0.000 claims description 15
- 238000011156 evaluation Methods 0.000 claims 1
- 230000009471 action Effects 0.000 description 54
- 238000003384 imaging method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000005452 bending Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000002123 temporal effect 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
ロボット制御装置(100,100a)は、ロボット(10)のアーム(11)の現在位置を示す現在位置情報を取得する現在位置取得部(105)と、アーム(11)の目標位置を示す目標位置情報を取得する目標位置取得部(106)と、参照経路を示す参照経路情報を参照してアーム(11)が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部(105)が取得した現在位置情報と、目標位置取得部(106)が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム(11)を移動させるための制御内容を示す制御信号を生成する制御生成部(107,107a)と、を備えた。The robot controller (100, 100a) includes a current position acquisition unit (105) for acquiring current position information indicating a current position of the arm (11) of the robot (10), and a target position indicating a target position of the arm (11). A target position acquisition unit (106) for acquiring information; and a term for calculating a reward by evaluating that the arm (11) is moving based on the reference path with reference to reference path information indicating a reference path. , Model information indicating a model learned using an arithmetic expression for calculating a reward, current position information obtained by the current position obtaining unit (105), and a target obtained by the target position obtaining unit (106). A control generation section (107, 107a) for generating a control signal indicating control content for moving the arm (11) toward the target position indicated by the target position information based on the position information. .
Description
この発明は、ロボット制御装置、ロボット制御学習装置、及びロボット制御方法に関するものである。 The present invention relates to a robot control device, a robot control learning device, and a robot control method.
ロボットのアームが移動する経路を自動で生成する技術がある。 There is a technology for automatically generating a path along which a robot arm moves.
例えば、特許文献1には、レーザーレンジセンサで測定した障害物の距離情報をメモリに記憶する距離情報記憶部と、メモリに記憶された距離情報に基づき斥力を計算する斥力計算部と、計算された斥力を軸方向の成分に分離する斥力成分分離部と、分離された軸成分から軸毎に正方向の最大値と負方向の最大値とを抽出し、軸毎に抽出した正方向と負方向の最大値の和を計算し、計算結果を各軸の軸成分とした回避用斥力を生成する回避用斥力生成部とを含むように構成した障害物回避支援部を備えた障害物回避支援装置が開示されている。
For example,
従来技術によれば、斥力を発生させるポテンシャルを合成した結果、障害物付近のポテンシャルが相対的に下がる場合があり、障害物とロボットのアームとの間において引力が生じ、ロボットのアームが障害物に干渉してしまうという問題があった。
上述の問題点を解決するためには、連続した空間におけるあらゆる方向において、ロボットのアームが移動する経路を探索する必要がある。
しかしながら、連続した空間におけるあらゆる方向において、ロボットのアームが移動する経路を探索する場合、演算量が増え、ロボットのアームが移動する経路を決定するまでに長い時間を要してしまう。According to the related art, as a result of synthesizing a potential for generating a repulsive force, a potential near an obstacle may be relatively reduced, and an attractive force is generated between the obstacle and the robot arm. There was a problem that it interfered with.
In order to solve the above-mentioned problems, it is necessary to search for a path along which the robot arm moves in all directions in a continuous space.
However, when searching for a path on which the robot arm moves in all directions in a continuous space, the amount of calculation increases, and it takes a long time to determine the path on which the robot arm moves.
この発明は、上述の問題点を解決するためのもので、演算量を減らしつつ、ロボットのアームが不連続な動作を行うことないようにロボットを制御することができるロボット制御装置を提供することを目的としている。 An object of the present invention is to solve the above-described problems, and to provide a robot control device capable of controlling a robot so that the robot arm does not perform a discontinuous operation while reducing the amount of calculation. It is an object.
この発明に係るロボット制御装置は、ロボットのアームの現在位置を示す現在位置情報を取得する現在位置取得部と、アームの目標位置を示す目標位置情報を取得する目標位置取得部と、参照経路を示す参照経路情報を参照してアームが参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部が取得した現在位置情報と、目標位置取得部が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアームを移動させるための制御内容を示す制御信号を生成する制御生成部と、を備え、演算式は、アームが参照経路を基にして移動していることを評価することにより報酬を算出する項として、ロボットのアームの位置と参照経路との間の距離を評価することにより報酬を算出する項を含むように構成した。 A robot control device according to the present invention includes a current position acquisition unit that acquires current position information indicating a current position of an arm of a robot, a target position acquisition unit that acquires target position information indicating a target position of an arm, and a reference path. A model learned using an arithmetic expression for calculating a reward, including a term for calculating a reward by evaluating that the arm is moving based on the reference route with reference to the reference route information shown. Model information, the current position information acquired by the current position acquisition unit, and the control content for moving the arm toward the target position indicated by the target position information based on the target position information acquired by the target position acquisition unit. and a control generator for generating a control signal indicating, arithmetic expression, as terms for calculating the compensation by evaluating the arm is moving based on the reference path, the robot And configured to include a section for calculating the compensation by evaluating the distance between the position and the reference path of the arm.
この発明によれば、演算量を減らしつつ、ロボットのアームが不連続な動作を行うことないようにロボットを制御することができる。 According to the present invention, it is possible to control the robot such that the arm of the robot does not perform a discontinuous operation while reducing the amount of calculation.
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
実施の形態1.
図1及び図2を参照して実施の形態1に係るロボット制御装置100の要部の構成について説明する。
図1は、実施の形態1に係るロボット制御装置100が適用されたロボット制御システム1の構成の一例を示す図である。
図2は、実施の形態1に係るロボット制御装置100及びロボット制御システム1の要部の構成の一例を示すブロック図である。
ロボット制御装置100は、ロボット制御システム1に適用される。
ロボット制御システム1は、ロボット制御装置100、ロボット10、ネットワーク30、記憶装置40、及び撮像装置50を備える。
The configuration of the main part of the
FIG. 1 is a diagram illustrating an example of a configuration of a
FIG. 2 is a block diagram illustrating an example of a configuration of a main part of the
The
The
ロボット10は、例えば、ロボット10が備えるアーム11を、アーム11の関節をモータ12−1,12−2により制御することで移動させることのより、作業環境20において所定の作業を行うアーム式ロボット装置である。
ロボット10は、アーム11、モータ12−1,12−2、モータ制御手段13、回転センサ14−1,14−2、及び接触センサ15を備える。The
The
アーム11は、複数の関節を有する。実施の形態1では、アーム11は、2個の関節11−1,11−2を有するものとして説明する。アーム11が有する関節の数は2個とは限らず、3個以上の関節を有する者であっても良い。例えば、アーム11を3次元で動作させることにより作業されるものである場合、アーム11は、ロボット工学上、少なくとも6個の関節を有する必要がある。
The
モータ12−1,12−2は、それぞれ、アーム11が有する2個の関節11−1,11−2を動かすためのものである。
モータ制御手段13は、ロボット制御装置100が出力した制御信号に基づいてモータ12−1,12−2を制御する。具体的には、モータ制御手段13は、ロボット制御装置100が出力した制御信号に基づいてモータ12−1,12−2を動作されるための電気信号を生成し、生成した電気信号をモータ12−1,12−2に出力することによりモータ12−1,12−2を制御する。
回転センサ14−1,14−2は、それぞれ、モータ12−1,12−2の回転量又は回転速度等のモータ12−1,12−2の回転状況を示す回転状況信号をロボット制御装置100に出力する。
接触センサ15は、作業環境20における障害物とアーム11とが接触したか否かを示す接触信号をロボット制御装置100に出力する。The motors 12-1 and 12-2 are for moving two joints 11-1 and 11-2 of the
The motor control means 13 controls the motors 12-1 and 12-2 based on the control signal output from the
The rotation sensors 14-1 and 14-2 output rotation status signals indicating the rotation status of the motors 12-1 and 12-2 such as the rotation amounts or the rotation speeds of the motors 12-1 and 12-2, respectively. Output to
The
ネットワーク30は、例えば、CAN(Controller Area Network)、若しくはLAN(Local Area Network)等の有線ネットワーク、又は、無線LAN、若しくはLTE(Long Term Evolution)(登録商標)等の無線ネットワークにより構成される通信手段である。
The
記憶装置40は、ロボット制御装置100が、目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成するために必要な情報を記憶するためのものである。ロボット制御装置100が、制御信号を生成するために必要な情報は、例えば、モデル情報である。記憶装置40は、例えば、ハードディスクドライブ又はSDメモリーカード等の不揮発性記憶媒体を有し、ロボット制御装置100が制御信号を生成するために必要な情報を不揮発性記憶媒体に記憶する。
The
撮像装置50は、例えば、デジタルスチルカメラ又はデジタルビデオカメラ等の撮影した画像を画像情報として外部に出力可能な画像入力装置である。撮像装置50は、深度カメラ又はステレオカメラ等の物体の位置又は領域を3次元空間において特定可能な画像情報を生成する画像入力装置であっても良い。また、撮像装置50は、1台とは限らず、2台以上であっても良い。また、撮像装置50は、ロボット10及び作業環境20とは離れた位置に設置されたものであっても、ロボット10の任意の部位に固定されて設定されたものであっても良い。実施の形態1では、撮像装置50は、ロボット10及び作業環境20とは離れた位置に設置された1台のデジタルスチルカメラであるものとして説明する。実施の形態1に係る撮像装置50は、作業環境20を撮影し、撮影した画像を画像情報として出力する。ロボット制御装置100は、撮像装置50が出力する画像情報と、ロボット10に対する撮像装置50の相対位置を示す情報とを用いて、ロボット10に対する作業環境20の相対位置、特に、ロボット10に対する作業環境20における障害物の位置又は領域の相対位置を特定する。
The
ロボット10に備えられたモータ制御手段13、回転センサ14−1,14−2、及び接触センサ15、記憶装置40、撮像装置50、並びに、ロボット制御装置100は、それぞれ、ネットワーク30に接続されている。
The motor control means 13, the rotation sensors 14-1, 14-2, and the
ロボット制御装置100は、モデル情報、アーム11の現在位置を示す現在位置情報、及び作業環境20における目標位置を示す目標位置情報に基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成し、生成した制御信号を、ネットワーク30を介してロボット10に備えられたモータ制御手段13に出力するものである。
ロボット制御装置100は、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、及び制御出力部108を備える。ロボット制御装置100は、上述の構成に加えて、制御補正部111、及び制御補間部112を備えるものであっても良い。The
The
画像取得部101は、撮像装置50が出力した画像情報を、ネットワーク30を介して取得する。
The
仮想空間画像生成部102は、画像取得部101が取得した画像情報に基づいて作業環境20を仮想空間に画像として再現し、当該画像を示す仮想空間画像情報を生成する。
具体的には、例えば、仮想空間画像生成部102は、画像情報が示す画像から周知の画像解析技術を用いて特徴点を抽出し、特徴点から物体形状を特定するための予め用意された指標情報を用いて、抽出した特徴点から作業環境20における物体又は障害物の位置又は領域を特定する。仮想空間画像生成部102は、特定した物体又は障害物の位置又は領域と、ロボット10に対する撮像装置50の相対位置を示す情報と、撮像装置50の画角を示す情報に基づいてピンホールカメラ技術等を用いて、ロボット10に対する特定した物体又は障害物の位置又は領域の位置を特定し、作業環境20を仮想空間に再現する。なお、実施の形態1では、指標情報は、モデル情報に含まれるものとして説明する。
撮像装置50が深度カメラ又はステレオカメラ等の物体の位置又は領域を3次元空間において特定可能な画像情報を生成する画像入力装置である場合、仮想空間画像生成部102は、画像取得部101が取得した画像情報を用いて、画像情報が示す画像に写る物体又は障害物の位置又は領域を3次元空間において特定し、作業環境20を仮想空間に再現する。The virtual space
Specifically, for example, the virtual space
When the
モデル取得部103は、モデル情報を取得する。モデル取得部103は、例えば、ネットワーク30を介して、記憶装置40からモデル情報を読み出すことにより、モデル情報を取得する。なお、実施の形態1において、制御生成部107等が予めモデル情報を保持する場合、モデル取得部103は、ロボット制御装置100において、必須な構成ではない。
The
回転状況取得部104は、ロボット10に備えられた回転センサ14−1,14−2から、モータ12−1,12−2の回転状況を示す回転状況信号を取得する。
The rotation
現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
具体的には、例えば、現在位置取得部105は、回転状況取得部104が取得した回転状況信号に基づいてロボット10におけるアーム11の現在位置を特定することにより、現在位置情報を取得する。ロボット10におけるアーム11の現在位置は、アーム11における関節11−1,11−2の曲がり具合、すなわち、関節11−1,11−2の曲がる角度を特定することにより一意に決定される。アーム11における関節11−1,11−2の曲がる角度は、関節11−1,11−2に対応するモータ12−1,12−2が回転することにより制御される。現在位置取得部105は、回転状況信号が示すモータ12−1,12−2の回転量を用いて、モータ12−1,12−2における予め決められた基準位置からの回転量を特定することにより、ロボット10におけるアーム11の現在位置を特定する。The current
Specifically, for example, the current
現在位置取得部105が現在位置情報を取得する方法は、回転状況信号に基づいてアーム11の現在位置を特定する方法に限るものではない。例えば、現在位置取得部105は、画像取得部101が取得した画像情報に基づいてアーム11の現在位置を特定しても良い。具体的には、例えば、現在位置取得部105は、画像取得部101が取得した画像情報が示す画像から周知の画像解析技術を用いて特徴点を抽出し、抽出した特徴点から画像に写るアーム11を特定して、アーム11の現在位置を特定する。
また、例えば、現在位置取得部105は、超音波センサ又はレーザーセンサ等の物体の位置を検知可能なセンサが出力するセンサ信号に基づいてアーム11の現在位置を特定しても良い。
実施の形態1では、現在位置取得部105は、回転状況取得部104が取得した回転状況信号に基づいてロボット10におけるアーム11の現在位置を特定することにより、現在位置情報を取得するものとして説明する。The method by which the current
Further, for example, the current
In the first embodiment, the current
仮想空間画像生成部102は、現在位置取得部105が取得したロボット10におけるアーム11の現在位置を示す現在位置情報を用いてロボット10におけるアーム11の一部又は全部を作業環境20と共に、仮想空間に再現し、仮想空間画像情報を生成しても良い。
図3は、実施の形態1に係る仮想空間画像生成部102が生成した仮想空間画像情報が示す画像の一例を示す図である。
図3は、仮想空間画像生成部102が、ロボット10におけるアーム11の全部を作業環境20と共に、仮想空間に再現した場合を示している。The virtual space
FIG. 3 is a diagram illustrating an example of an image indicated by the virtual space image information generated by the virtual space
FIG. 3 shows a case where the virtual space
目標位置取得部106は、アーム11を移動させる目標位置を示す目標位置情報を取得する。目標位置情報が示す目標位置は、例えば、アーム11における任意の一部を移動させる目標の位置であり、アーム11における任意の一部とは、例えば、アーム11における先端11−3である。
目標位置取得部106は、例えば、図示しない入力装置に対するユーザの操作により入力された目標位置情報を受け付けることにより、目標位置情報を取得する。具体的には、目標位置取得部106は、図示しない表示装置に対して仮想空間画像生成部102が生成した仮想空間画像情報を表示させ、表示装置に表示された仮想空間画像情報の位置を指定する入力装置に対するユーザの操作により目標位置情報を受け付ける。The target
The target
制御生成部107は、モデル取得部103が取得したモデル情報と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する。
モデル情報は、参照経路を示す参照経路情報を参照してロボット10におけるアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示す情報である。The
The model information is for calculating a reward including a term for calculating a reward by evaluating that the
具体的には、例えば、モデル情報は、ロボット10におけるアーム11の位置を示す位置情報と、アーム11を移動させるための制御内容を示す制御信号とが対応付けられた対応情報を含むものである。対応情報は、互いに異なる複数の目標位置において、目標位置毎に、複数の位置情報と、各位置情報に対応する制御信号がセットになった情報である。モデル情報は、複数の対応情報を含み、各対応情報は、互いに異なる複数の目標位置のそれぞれに対応付けられたものである。
制御生成部107は、モデル情報に含まれる対応情報から、目標位置取得部106が取得した目標位置情報が示す目標位置に対応する対応情報を特定し、特定した対応情報と、現在位置取得部105が取得した現在位置情報とに基づいて制御情報を生成する。
より具体的には、制御生成部107は、特定した対応情報を参照して、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置に対応する制御信号を特定することにより、アーム11を移動させるための制御内容を示す制御信号を生成する。Specifically, for example, the model information includes correspondence information in which position information indicating the position of the
The
More specifically, the
制御出力部108は、制御生成部107が生成した制御信号を、ネットワーク30を介して、ロボット10に備えられたモータ制御手段13に出力する。
ロボット10に備えられたモータ制御手段13は、ネットワーク30を介して、制御出力部108が出力した制御信号を受信し、上述のとおり、受信した制御信号に基づいてモータ12−1,12−2を動作されるための電気信号を生成し、生成した電気信号をモータ12−1,12−2に出力する。The
The
制御補正部111は、制御生成部107が生成した制御信号(以下「第1制御信号」という。)が示す制御内容が、制御生成部107が直前に生成した制御信号(以下「第2制御信号」という。)が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
制御補正部111が生成するロボット10に備えられたモータ12−1又はモータ12−2の回転を制御するための制御信号において、第2制御信号が示す回転制御と比較して、第1制御信号が示す回転制御が、大きく異なる回転制御である場合、モータ12−1又はモータ12−2は、急激なトルク変化を強いられ、脱調等の不具合が発生することがある。更には、モータ12−1又はモータ12−2は、予め決められた定格電圧を超える電気信号が入力され、故障等の不具合が発生することがある。
制御補正部111は、制御補正部111が生成するロボット10に備えられたモータ12−1又はモータ12−2の回転を制御するための制御信号において、第2制御信号が示す回転制御と比較して、急激な変化にならい範囲になるように、第1制御信号が示す回転制御を補正する。The
In the control signal for controlling the rotation of the motor 12-1 or the motor 12-2 provided in the
The
ロボット制御装置100は、制御補正部111を有することで、ロボット10に備えられたモータ12−1又はモータ12−2の回転を制御するための制御信号において、脱調又は故障等の不具合が発生しないように、ロボット10のアーム11を安定して制御することができる。
なお、制御補正部111は、第1制御信号と第2制御信号とを比較する例を説明したが、制御補正部111は、第1制御信号と、回転状況取得部104が取得する回転状況信号とを比較し、第1制御信号が示す制御内容が、回転状況信号が示すモータ12−1又はモータ12−2の回転速度等の回転状況に対して、予め定められた範囲内の変化量になるように、第1制御信号を補正しても良い。Since the
Although the
制御補間部112は、制御生成部107が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部107が直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。制御補間部112は、第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間する際、第1制御信号における欠落している制御内容が、第2制御信号が示す制御内容から予め定められた範囲内の変化量になるように補間して第1制御信号を補正する。
When part or all of the control content indicated by the first control signal generated by the
例えば、制御生成部107が予め定められた期間ごとに定期的に制御信号を生成し、ロボット10に備えられたモータ12−1又はモータ12−2の回転制御を行う場合、制御生成部107による制御信号の生成が当該期間内に完了しない場合がある。このような場合、例えば、制御生成部107により生成された制御信号は、制御内容の一部又は全部が欠落した状態となる。例えば、制御信号が示す制御内容が相対値ではなく絶対値を指定する制御信号である場合、制御生成部107が生成する制御信号の制御内容の一部又は全部が欠落すると、モータ12−1又はモータ12−2は、急激なトルク変化を強いられ、脱調等の不具合が発生することがある。更には、モータ12−1又はモータ12−2は、予め決められた定格電圧を超える電気信号が入力され、故障等の不具合が発生することがある。
ロボット制御装置100は、制御補間部112を有することで、ロボット10に備えられたモータ12−1又はモータ12−2の回転を制御するための制御信号において、脱調又は故障等の不具合が発生しないように、ロボット10のアーム11を安定して制御することができる。
なお、制御補間部112は、第1制御信号における欠落している制御内容を補間する際、第2制御信号に基づいて第1制御信号を補間する例を説明したが、制御補正部111は、第1制御信号と、回転状況取得部104が取得する回転状況信号とを比較し、第1制御信号が示す制御内容が、回転状況信号が示すモータ12−1又はモータ12−2の回転速度等の回転状況に対して、予め定められた範囲内の変化量になるように、第1制御信号を補間して補正しても良い。For example, when the
Since the
Note that the
図4A及び図4Bを参照して、実施の形態1に係るロボット制御装置100の要部のハードウェア構成について説明する。
図4A及び図4Bは、実施の形態1に係るロボット制御装置100の要部のハードウェア構成の一例を示す図である。With reference to FIGS. 4A and 4B, a hardware configuration of a main part of the
4A and 4B are diagrams illustrating an example of a hardware configuration of a main part of the
図4Aに示す如く、ロボット制御装置100はコンピュータにより構成されており、当該コンピュータはプロセッサ201及びメモリ202を有している。メモリ202には、当該コンピュータを、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、制御出力部108、制御補正部111、及び制御補間部112として機能させるためのプログラムが記憶されている。メモリ202に記憶されているプログラムをプロセッサ201が読み出して実行することにより、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、制御出力部108、制御補正部111、及び制御補間部112が実現される。
As shown in FIG. 4A, the
また、図4Bに示す如く、ロボット制御装置100は処理回路203により構成されても良い。この場合、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、制御出力部108、制御補正部111、及び制御補間部112の機能が処理回路203により実現されても良い。
Further, as shown in FIG. 4B, the
また、ロボット制御装置100はプロセッサ201、メモリ202及び処理回路203により構成されても良い(不図示)。この場合、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、制御出力部108、制御補正部111、及び制御補間部112の機能のうちの一部の機能がプロセッサ201及びメモリ202により実現されて、残余の機能が処理回路203により実現されるものであっても良い。
Further, the
プロセッサ201は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ、マイクロコントローラ又はDSP(Digital Signal Processor)を用いたものである。
The
メモリ202は、例えば、半導体メモリ又は磁気ディスクを用いたものである。より具体的には、メモリ202は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、SSD(Solid State Drive)又はHDD(Hard Disk Drive)などを用いたものである。
The
処理回路203は、例えば、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field−Programmable Gate Array)、SoC(System−on−a−Chip)又はシステムLSI(Large−Scale Integration)を用いたものである。
The
図5を参照して、実施の形態1に係るロボット制御装置100の動作について説明する。
図5は、実施の形態1に係るロボット制御装置100の処理の一例を説明するフローチャートである。
ロボット制御装置100は、例えば、新たな目標位置が設定される毎に当該フローチャートの処理を繰り返して実行する。The operation of the
FIG. 5 is a flowchart illustrating an example of a process of the
The
まず、ステップST501にて、画像取得部101は、画像情報を取得する。
次に、ステップST502にて、モデル取得部103は、モデル情報を取得する。
次に、ステップST503にて、回転状況取得部104は、回転状況信号を取得する。
次に、ステップST504にて、現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
次に、ステップST505にて、仮想空間画像生成部102は、仮想空間画像情報を生成する。
次に、ステップST506にて、目標位置取得部106は、目標位置情報を取得する。
次に、ステップST507にて、制御生成部107は、モデル情報に含まれる対応情報のうち、目標位置情報が示す目標位置に対応する対応情報を特定する。First, in step ST501, the
Next, in step ST502,
Next, in step ST503, rotation
Next, in step ST504, the current
Next, in step ST505, the virtual space
Next, in step ST506, target
Next, in step ST507,
次に、ステップST508にて、制御生成部107は、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置と目標位置情報が示す目標位置とが同一であるか否かを判定する。なお、ここで言う同一とは、必ずしも完全に一致するものに限らず、同一は、略同一を含むものである。
ステップST508にて、制御生成部107が、アーム11の現在位置と目標位置とが同一であると判定した場合、ロボット制御装置100は、当該フローチャートの処理を終了する。
ステップST508にて、制御生成部107が、アーム11の現在位置と目標位置とが同一でないと判定した場合、ステップST511にて、制御生成部107は、特定した対応情報を参照して、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置に対応する制御信号を特定することにより、アーム11を移動させるための制御内容を示す制御信号を生成する。Next, in step ST508, the
In step ST508, when the
In step ST508, when the
次に、ステップST512にて、制御補正部111は、制御生成部107が生成した第1制御信号が示す制御内容が、制御生成部107が直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
次に、ステップST513にて、制御補間部112は、制御生成部107が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部107が直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。
次に、ステップST514にて、制御出力部108は、制御生成部107が生成した制御信号又は制御補正部111若しくは制御補間部112が補正した制御信号を、ロボット10に出力する。
次に、ステップST515にて、回転状況取得部104は、回転状況信号を取得する。
次に、ステップST516にて、現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
次に、ステップST517にて、仮想空間画像生成部102は、仮想空間画像情報を生成する。Next, in step ST512, the
Next, in step ST513, when some or all of the control content indicated by the first control signal generated by the
Next, in step ST514, the
Next, in step ST515, rotation
Next, in step ST516, the current
Next, in step ST517, the virtual space
ロボット制御装置100は、ステップST517の処理を実行した後、ステップST508の処理に戻って、ステップST508にて、制御生成部107が、アーム11の位置と目標位置とが同一であると判定するまでの期間において、ステップST508からステップST517までの処理を繰り返し実行する。
なお、当該フローチャートの処理において、ステップST512、ステップST513,及びステップST517の処理は、ロボット制御装置100において必須の処理ではない。また、当該フローチャートの処理において、ステップST501及びステップST502の処理は順序が逆であっても良い。また、当該フローチャートの処理において、ステップST512及びステップST513の処理は順序が逆であっても良い。After executing the process of step ST517, the
In the process of the flowchart, the processes of step ST512, step ST513, and step ST517 are not essential processes in the
モデル情報の生成方法について説明する。
ロボット制御装置100が制御信号を生成する際に用いるモデル情報は、ロボット制御学習装置300により生成される。
図6を参照して実施の形態1に係るロボット制御学習装置300の要部の構成について説明する。
図6は、実施の形態1に係るロボット制御学習装置300及びロボット制御学習システム3の要部の構成の一例を示すブロック図である。
ロボット制御学習装置300は、ロボット制御学習システム3に適用される。
ロボット制御学習システム3は、ロボット制御学習装置300、ロボット10、ネットワーク30、記憶装置40、及び撮像装置50を備える。
ロボット制御学習システム3の構成において、ロボット制御システム1と同様の構成については、同じ符号を付して重複した説明を省略する。すなわち、図2に記載した符号と同じ符号を付した図6の構成については、説明を省略する。A method for generating model information will be described.
Model information used when the
The configuration of the main part of the robot
FIG. 6 is a block diagram illustrating an example of a configuration of a main part of the robot
The robot
The robot
In the configuration of the robot
ロボット10に備えられたモータ制御手段13、回転センサ14−1,14−2、及び接触センサ15、記憶装置40、撮像装置50、並びに、ロボット制御学習装置300は、それぞれ、ネットワーク30に接続されている。
ロボット制御学習装置300は、ロボット10に備えられたモータ12−1又はモータ12−2の回転を制御するための制御信号を生成し、当該制御信号によりロボット10に備えられたモータ12−1又はモータ12−2を制御することによってロボット10にアーム11を制御するための学習を行い、ロボット制御装置100がロボット10のアーム11を制御する際に用いるモデル情報を生成するものである。The motor control means 13, the rotation sensors 14-1, 14-2, and the
The robot
ロボット制御学習装置300は、ロボット10のアーム11の現在位置を示す現在位置情報、アーム11の目標位置を示す目標位置情報、及び参照経路を示す参照経路情報に基づいてロボット制御装置100が目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する際に用いるモデル情報を生成するものである。
ロボット制御学習装置300は、画像取得部301、仮想空間画像生成部302、回転状況取得部304、目標位置取得部306、現在位置取得部305、制御生成部307、制御出力部308、参照経路取得部320、報酬算出部321、モデル生成部322、モデル出力部323、及び接触信号取得部324を備える。ロボット制御学習装置300は、上述の構成に加えて、制御補正部311、及び制御補間部312を備えるものであっても良い。The robot
The robot
なお、実施の形態1に係るロボット制御学習装置300における画像取得部301、仮想空間画像生成部302、回転状況取得部304、目標位置取得部306、現在位置取得部305、制御生成部307、制御出力部308、参照経路取得部320、報酬算出部321、モデル生成部322、モデル出力部323、接触信号取得部324、制御補正部311、及び制御補間部312の各機能は、実施の形態1に係るロボット制御装置100について図4A及び図4Bに一例を示したハードウェア構成におけるプロセッサ201及びメモリ202により実現されるものであっても良く、又は処理回路203により実現されるものであっても良い。
Note that the
画像取得部301は、撮像装置50が出力した画像情報を、ネットワーク30を介して取得する。
The
仮想空間画像生成部302は、画像取得部301が取得した画像情報に基づいて作業環境20を仮想空間に画像として再現し、当該画像を示す仮想空間画像情報を生成する。
仮想空間画像生成部302が仮想空間画像情報を生成する処理は、実施の形態1に係るロボット制御装置100における仮想空間画像生成部102が実施する処理と同様であるため、詳細な説明を省略する。
なお、実施の形態1に係るロボット制御学習装置300において、仮想空間画像生成部302が仮想空間画像情報を生成するために必要な指標情報は、仮想空間画像生成部302が、ネットワーク30を介して記憶装置40から読み出すことにより取得するものとして説明する。The virtual space
The process in which the virtual space
In the robot
回転状況取得部304は、ロボット10に備えられた回転センサ14−1,14−2から、モータ12−1,12−2の回転状況を示す回転状況信号を取得する。
The rotation
現在位置取得部305は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
具体的には、例えば、現在位置取得部305は、回転状況取得部304が取得した回転状況信号に基づいてロボット10におけるアーム11の現在位置を特定することにより、現在位置情報を取得する。
現在位置取得部305が現在位置情報を取得する処理は、実施の形態1に係るロボット制御装置100における現在位置取得部105が実施する処理と同様であるため、詳細な説明を省略する。The current
Specifically, for example, the current
The process in which the current
目標位置取得部306は、アーム11を移動させる目標位置を示す目標位置情報を取得する。
目標位置取得部306が目標位置情報を取得する処理は、実施の形態1に係るロボット制御装置100における目標位置取得部106が実施する処理と同様であるため、詳細な説明を省略する。The target
The process in which the target
参照経路取得部320は、現在位置取得部305が取得した現在位置情報が示すロボット10におけるアーム11の現在位置から、目標位置取得部306が取得した目標位置情報が示す目標位置までの経路のうち、少なくとも一部の経路を含む参照経路を示す参照経路情報を取得する。
参照経路取得部320は、例えば、図示しない表示装置に仮想空間画像生成部302が生成した仮想空間画像情報を表示させて、図示しない入力装置がユーザから入力を受け付けて、入力された参照経路情報を取得する。The reference
The reference
参照経路取得部320における参照経路情報の取得方法は、上述の方法に限定されるものではない。
例えば、参照経路取得部320は、所定の計算処理に基づいて自動で生成しても良い。具体的には、例えば、参照経路取得部320は、現在位置情報、目標位置情報、及び仮想空間画像情報に基づいてRRT(Rapidly−exploring Random Tree)等を用いたランダムサーチを実行し、ランダムサーチの結果に基づいて参照経路情報を生成することにより、参照経路情報を取得しても良い。
参照経路取得部320は、参照経路情報を取得する際にランダムサーチの結果を用いることにより、参照経路情報を自動で生成できる。
なお、RRT等を用いたランダムサーチにより2地点間の経路を求める方法は、公知であるため説明を省略する。The method of acquiring the reference route information in the reference
For example, the reference
The reference
Note that a method of obtaining a route between two points by random search using RRT or the like is well-known, and thus description thereof is omitted.
また、例えば、参照経路取得部320は、現在位置情報が示すアーム11の現在位置から目標位置情報が示す目標位置までの区間において、アーム11が過去に移動した経路を示す移動履歴情報に基づいて参照経路情報を生成することにより、参照経路情報を取得しても良い。
移動履歴情報は、例えば、アーム11が過去に当該区間を移動した際に、ネットワーク30を介して記憶装置40に記憶させる。参照経路取得部320は、記憶装置40から移動履歴情報を読み出すことにより、移動履歴情報を取得する。
参照経路取得部320は、参照経路情報を取得する際に移動履歴情報を用いることにより、参照経路情報を自動で生成できる。In addition, for example, the reference
The movement history information is stored in the
The reference
接触信号取得部324は、ネットワーク30を介して、接触センサ15が出力した接触信号を受信する。
The contact
報酬算出部321は、現在位置取得部305が取得した現在位置情報と、目標位置取得部306が取得した目標位置情報と、参照経路取得部320が取得した参照経路情報とに基づいてアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む演算式を用いて、報酬を算出する。
報酬算出部321が報酬を算出する際に用いる演算式は、アーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、現在位置取得部305が取得した現在位置情報が示すアーム11の現在位置の移動の連続性を評価することにより報酬を算出する項を含むものであっても良い。
また、報酬算出部321が報酬を算出する際に用いる演算式は、アーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、アーム11と作業環境20における障害物とが接触したか否かを評価することにより報酬を算出する項を含むものであっても良い。報酬算出部321は、アーム11と作業環境20における障害物とが接触したか否かを、例えば、接触信号取得部324が接触センサ15から取得した接触信号に基づいて判定する。The
The calculation formula used when the
The calculation formula used when the
具体的には、報酬算出部321は、以下の式(1)を用いて、時点t−1におけるロボット10におけるアーム11の位置から、ロボット10におけるアーム11が任意の制御信号に基づいて時点tまでの間に行動し、時点tにおけるロボット10におけるアーム11の位置となる際の報酬を算出するものである。なお、時点t−1から時点tまでの期間は、例えば、制御生成部307が、ロボット10備えられたモータ制御手段13に出力する制御信号を生成する予め決められた時間間隔である。
Specifically, the
モデル生成部322は、Q学習法、Actor−Critic法、若しくはSarsa法等のTD(Temporal Difference)学習法、又はモンテカルロ法等の強化学習によりモデルを生成し、生成したモデルを示すモデル情報を生成する。
強化学習は、ある時刻tにおける行動主体の状態Stにおいて、行動主体が行動し得る1以上の行動のうち、ある行動atを選択して行動した際の当該ある行動atに対する価値Q(St,at)と当該ある行動atに対する報酬rtを定義し、価値Q(St,at)と報酬rtとを高めていくものである。
一般に、行動価値関数の更新式は、以下の式(2)により示される。
Q(St,at) ← Q(St,at)+α(rt+1+γmaxQ(St+1,at+1)-Q(St,at)) ・・・式(2)The
RL, in the state S t of actors at a certain time t, of the one or more actions actors can act, valuable for certain actions a t the when acted by selecting a certain action a t Q ( define a reward r t for S t, a t) the there act a t, in which will enhance the value Q (S t, a t) and the reward r t.
Generally, the update equation of the action value function is represented by the following equation (2).
Q (S t, a t) ← Q (S t, a t) + α (r t + 1 + γmaxQ (S t + 1, a t + 1) -Q (S t, a t)) ··· Equation (2)
ここで、Stは、ある時点tにおける行動主体の状態、atは、ある時点tにおける行動主体の行動、及び、St+1は、時点tより所定の時間間隔だけ時刻が進んだ時点t+1における行動主体の状態を表す。時点tにおいて状態Stである行動主体は、行動atにより、時点t+1において、状態St+1に遷移する。
Q(St,at)は、状態Stにある行動主体が行った行動atに対する価値を表す。
rt+1は、行動主体が状態Stから状態St+1に遷移した際の報酬を示す値である。
maxQ(St+1,at+1)は、行動主体の状態が状態St+1であるときに行動主体が取り得る行動at+1のうち、行動主体が、最もQ(St+1,at+1)の値が大きな値となる行動a*を選択した際のQ(St+1,a*)を表す。
γは、1以下の正の値を示すパラメータであり、一般に、割引率と呼ばれる値である。
αは、1以下の正の値を示す学習係数である。Point where, S t, the state of the actors at a point in time t, a t, the action of actors at a point in time t, and, S t + 1 is advanced by the time from the time t by a predetermined time interval This represents the state of the action subject at t + 1. Actors is a state S t at time t, due action a t, at
Q (S t, a t) represents the value for the action a t the actors in a state S t went.
rt + 1 is a value indicating a reward when the action subject transitions from the state St to the state St + 1 .
maxQ (S t + 1, a t + 1) , among the actors may assume action a t + 1 when the state of the actors is in state S t + 1, actors are most Q (S t +1 , a t + 1 ) represents Q ( St + 1 , a * ) when an action a * having a large value is selected.
γ is a parameter indicating a positive value of 1 or less, and is a value generally called a discount rate.
α is a learning coefficient indicating a positive value of 1 or less.
式(2)は、行動主体の状態Stにおける行動主体が行う行動atに基づく報酬rt+1と、行動atにより遷移した行動主体の状態St+1における行動主体が行う行動a*の価値Q(St+1,a*)とに基づいて行動主体の状態Stにおける行動主体が行う行動atの価値Q(St,at)を更新するものである。
具体的には、式(2)は、状態Stにおける行動atによる価値Q(St,at)よりも、状態Stにおける行動atに基づく報酬rt+1と、行動atにより遷移した状態St+1における行動a*の価値Q(St+1,a*)との和の方が大きい場合、価値Q(St,at)を大きくするように更新する。反対に、式(2)は、状態Stにおける行動atによる価値Q(St,at)よりも、状態Stにおける行動atに基づく報酬rt+1と、行動atにより遷移した状態St+1における行動a*の価値Q(St+1,a*)との和の方が小さい場合、価値Q(St,at)を小さくするように更新する。Equation (2) is provided with a reward r t + 1 based on the action a t the actors in the state S t of actors do, action a the actors in the state S t + 1 transitions to the actors by action a t is performed * value Q (S t + 1, a *) values Q (, S t a t) actions a t the actors performed in the state S t of actors based on the is to update.
Specifically, equation (2) is behavior in state S t a t by Value Q (S t, a t) than a reward r t + 1 based on the action a t in state S t, act a t If found the following sum of the behavior in state S t + 1 a transition a * value Q (S t + 1, a *) greater by the value Q (S t, a t) is updated so as to increase the. Transition Conversely, equation (2) is behavior in state S t a t by Value Q (S t, a t) than a reward r t + 1 based on the action a t in state S t, the action a t If the state S t + 1 in action a * of the value Q was (S t + 1, a * ) towards the sum of the small, value Q (S t, a t) is updated so as to reduce the.
つまり、式(2)は、行動主体がある状態である場合において、行動主体がある行動を行った際の当該行動の価値を、当該行動に基づく報酬と、当該行動により遷移した状態における最良の行動の価値との和に近付けるように更新するためのものである。
行動主体の状態が状態St+1であるときに行動主体が取り得る行動at+1のうち、行動主体が、最もQ(St+1,at+1)の値が大きな値となる行動a*を決定する方法は、例えば、ε−greedy法、Softmax法、又は、RBF(Radial Basis Function)関数を用いる方法がある。これらの方法は、公知であるため説明を省略する。That is, in the case where the action subject is in a certain state, the expression (2) calculates the value of the action when the action subject performs a certain action, the reward based on the action, and the best value in the state shifted by the action. It is for updating so as to approach the sum of the value of the action.
Among actors can take action a t + 1 when the state of the actors is in state S t + 1, actors is the value of the most Q (S t + 1, a t + 1) a large value As a method of determining the action a * , there is, for example, a method using an ε-greedy method, a Softmax method, or a method using an RBF (Radial Basis Function) function. These methods are well-known and will not be described.
上述の一般的な式(2)において、行動主体は、実施の形態1に係るアーム11であり、行動主体の状態は、アーム11の位置であり、行動は、アーム11の位置の移動である。
In the above general formula (2), the action subject is the
モデル生成部322は、式(2)に式(1)を適用することにより、モデル情報を生成する。
具体的には、モデル生成部322は、式(2)に式(1)を適用することにより、現在位置取得部305が取得したロボット10におけるアーム11の現在位置を示す現在位置情報と、アーム11を移動させるための制御内容を示す制御信号とを対応付けた対応情報を生成する。対応情報は、互いに異なる複数の目標位置において、目標位置毎に、複数の位置と、各位置に対応する制御信号がセットになった情報である。モデル生成部322は、互いに異なる複数の目標位置のそれぞれに対応付けた複数の対応情報を含むモデル情報を生成する。
以上のとおり、モデル生成部322は、現在位置取得部305が取得した現在位置情報と、目標位置取得部306が取得した目標位置情報と、参照経路取得部320が取得した参照経路情報と、報酬算出部321が算出した報酬とに基づいてモデル情報を生成するものである。The
More specifically, the
As described above, the
図7を参照して、実施の形態1に係るアーム11の状態が状態Stであるときにアーム11が取り得る行動atから、行動a*を選択する方法について説明する。
図7は、実施の形態1に係るアーム11の状態が状態Stであるときにアーム11が取り得る行動atから、行動a*を選択する一例を示す図である。Referring to FIG. 7, from the action a t the
7, the action a t the
図7において、ai、aj、及びa*は、時点tにおいて、アーム11の状態が状態Stであるときにアーム11が取り得る行動である。また、Q(St,ai)、Q(St,aj)、及びQ(St,a*)は、アーム11の状態が状態Stであるときにアーム11が行動ai、行動aj、及び行動a*を行った際の各行動に対する価値である。
モデル生成部322は、式(2)に式(1)を適用することにより、モデル情報を生成するため、価値Q(St,ai)、価値Q(St,aj)、及び価値Q(St,a*)は、式(1)における第6項及び第7項を含む演算式により評価される。すなわち、価値Q(St,ai)、価値Q(St,aj)、及び価値Q(St,a*)は、アーム11の位置と参照経路との間の距離が近いほど、また、アーム11が参照経路に沿って目標位置の方向に向かって移動した距離が長いほど、高い値となる。In FIG. 7, ai , aj , and a * are actions that the
The
したがって、価値Q(St,ai)、価値Q(St,aj)、及び価値Q(St,a*)を比較した場合、価値Q(St,a*)が最も高い値を示すため、モデル生成部322は、ロボット10の状態が状態Stであるとき、行動a*を選択して、状態Stと行動a*に対応する制御信号とを対応付けてモデル情報を生成する。
なお、モデル生成部322は、モデル情報を生成する際に、報酬を算出する適切な演算式を採用することにより、上述の行動a*を決定するための試行回数を低減させることが可能なTD学習を用いることが好適である。Therefore, when the value Q ( St , ai ), the value Q ( St , aj ), and the value Q ( St , a * ) are compared, the value Q ( St , a * ) is the highest value. to indicate, the
When generating model information, the
制御生成部307は、モデル生成部322がモデル情報を生成する際に選択した行動に対応する制御信号を生成する。
The
制御出力部308は、制御生成部307が生成した制御信号を、ネットワーク30を介して、ロボット10備えられたモータ制御手段13に出力する。
ロボット10に備えられたモータ制御手段13は、ネットワーク30を介して、制御出力部308が出力した制御信号を受信し、上述のとおり、受信した制御信号を入力信号として、制御信号に基づいてモータ12−1,12−2を制御する。
モデル出力部323は、モデル生成部322が生成したモデル情報を、ネットワーク30を介して、記憶装置40に出力し、記憶装置40に記憶させる。The
The
The
制御補正部311は、制御生成部307が生成した制御信号(以下「第1制御信号」という。)が示す制御内容が、制御生成部307が直前に生成した制御信号(以下「第2制御信号」という。)が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
なお、制御補正部311が、第1制御信号と第2制御信号とを比較する例を説明したが、制御補正部311は、第1制御信号と、回転状況取得部304が取得する回転状況信号とを比較し、ロボット10において、モータ制御手段13が行っている制御に対して予め定められた範囲内の変化量になるように、第1制御信号を補正しても良い。
制御補正部311は、ロボット制御装置100における制御補正部111と同様の動作であるため、詳細な説明は省略する。
なお、モデル生成部322は、制御補正部311が補正した制御信号を用いてモデル情報を生成しても良い。The control correction unit 311 determines that the control content indicated by the control signal (hereinafter, referred to as “first control signal”) generated by the
Although the example in which the control correction unit 311 compares the first control signal with the second control signal has been described, the control correction unit 311 performs the first control signal and the rotation status signal acquired by the rotation
The operation of the control correction unit 311 is the same as that of the
Note that the
制御補間部312は、制御生成部307が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部307が直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。制御補間部312は、第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間する際、第1制御信号における欠落している制御内容が、第2制御信号が示す制御内容から予め定められた範囲内の変化量になるように補間して第1制御信号を補正する。
なお、制御補間部312が、第1制御信号における欠落している制御内容を補間する際、第2制御信号に基づいて第1制御信号を補間する例を説明したが、制御補間部312は、回転状況取得部304が取得する回転状況信号に基づいてロボット10において、モータ制御手段13が行っている制御に対して予め定められた範囲内の変化量になるように、第1制御信号を補間して補正しても良い。
制御補間部312は、ロボット制御装置100における制御補間部112と同様の動作であるため、詳細な説明は省略する。
なお、モデル生成部322は、制御補間部312が補正した制御信号を用いてモデル情報を生成しても良い。When part or all of the control content indicated by the first control signal generated by the
Note that, when the
The operation of the
Note that the
図8を参照して、実施の形態1に係るロボット制御学習装置300の動作について説明する。
図8は、実施の形態1に係るロボット制御学習装置300の処理の一例を説明するフローチャートである。
ロボット制御学習装置300は、例えば、当該フローチャートの処理を繰り返して実行する。The operation of the robot
FIG. 8 is a flowchart illustrating an example of a process of the robot
The robot
まず、ステップST801にて、画像取得部301は、画像情報を取得する。
次に、ステップST802にて、回転状況取得部304は、回転状況信号を取得する。
次に、ステップST803にて、現在位置取得部305は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
次に、ステップST804にて、仮想空間画像生成部302は、指標情報を取得する。 次に、ステップST805にて、仮想空間画像生成部302は、仮想空間画像情報を生成する。
次に、ステップST806にて、目標位置取得部306は、目標位置情報を取得する。First, in step ST801,
Next, in step ST802, rotation
Next, in step ST803, the current
Next, in step ST804, virtual space
Next, in step ST806, target
ステップST807にて、制御生成部307は、現在位置取得部305が取得した現在位置情報が示すロボット10におけるアーム11の現在位置と目標位置情報が示す目標位置とが同一であるか否かを判定する。なお、ここで言う同一とは、必ずしも完全に一致するものに限らず、同一は、略同一を含むものである。
ステップST807にて、制御生成部307が、アーム11の現在位置と目標位置とが同一でないと判定した場合、ロボット制御学習装置300は、ステップST811以降の処理を実行する。
ステップST811にて、報酬算出部321は、アーム11が取り得る複数の行動における報酬を行動ごとに算出する。
次に、ステップST812にて、モデル生成部322は、報酬算出部321が行動ごとに算出した報酬と、当該行動ごとの価値と、当該行動ごとに次に取りうる複数の行動ごとの価値とに基づいて行うべき行動を選択する。
次に、ステップST813にて、制御生成部307は、モデル生成部322が選択した行動に対応する制御信号を生成する。In step ST807, the
In step ST807, when the
In step ST811, the
Next, in step ST812, the
Next, in step ST813,
次に、ステップST814にて、制御補正部311は、制御生成部307が生成した第1制御信号が示す制御内容が、制御生成部307が直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
次に、ステップST815にて、制御補間部312は、制御生成部307が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部307が直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。
次に、ステップST816にて、モデル生成部322は、現在位置取得部305が取得した現在位置情報と、アーム11を移動させるための制御内容を示す制御信号とを対応付けた対応情報を生成することにより、モデル情報を生成する。Next, in step ST814, the control correction unit 311 compares the control content indicated by the first control signal generated by the
Next, in step ST815, when a part or all of the control content indicated by the first control signal generated by the
Next, in step ST816, the
次に、ステップST817にて、制御出力部308は、制御生成部307が生成した制御信号、又は、制御補正部311若しくは制御補間部312が補正した制御信号を、ロボット10備えられたモータ制御手段13に出力する。
次に、ステップST818にて、回転状況取得部304は、回転状況信号を取得する。
次に、ステップST819にて、現在位置取得部305は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
次に、ステップST820にて、仮想空間画像生成部302は、仮想空間画像情報を生成する。Next, in step ST817, the
Next, in step ST818, rotation
Next, in step ST819, the current
Next, in step ST820, virtual space
ロボット制御学習装置300は、ステップST820の処理を実行した後、ステップST807の処理に戻って、ステップST807にて、制御生成部307が、アーム11の現在位置と目標位置とが同一であると判定するまでの期間において、ステップST807からステップST820までの処理を繰り返し実行する。
ステップST807にて、制御生成部307が、アーム11の現在位置と目標位置とが同一であると判定した場合、ステップST821にて、モデル出力部323は、モデル生成部322が生成したモデル情報を出力する。
ステップST821の処理を実行した後、ロボット制御学習装置300は、当該フローチャートの処理を終了する。After executing the process of step ST820, the robot
In step ST807, when the
After executing the process of step ST821, the robot
なお、当該フローチャートの処理において、ステップST814、ステップST815,及びステップST820の処理は、ロボット制御学習装置300において必須の処理ではない。また、当該フローチャートの処理において、ステップST801及びステップST802の処理は、実行される順序が逆でも良い。また、当該フローチャートの処理において、ステップST814及びステップST815の処理は、実行される順序が逆でも良い。
Note that, in the processing of the flowchart, the processing of step ST814, step ST815, and step ST820 is not essential processing in the robot
図9は、アーム11が目標位置に到達するまでに移動した経路の一例を示した図である。図9Aは、ある時点におけるアーム11の位置から目標位置まで参照経路を設定して式(1)に示した演算式を用いる場合、図9Bは、ある時点におけるアーム11の位置から目標位置に至る途中まで参照経路を設定して式(1)に示した演算式を用いた場合、図9Cは、参照経路を設定せずに、式(1)に示した演算式から第6項と第7項を除いた演算式を用いる場合を示している。
図9Aは、アーム11が目標位置に到達するまで、設定された参照経路に沿って移動することが見て取れる。また、図9Bは、アーム11が設定された参照経路が存在する地点まで参照経路に沿って移動し、その後、目標位置に向かって移動することが見て取れる。これに対して、図9Cは、アーム11が目標位置に向かって移動する際に、アーム11が障害物を避けるように移動するため目標位置に到達することができないことが見て取れる。すなわち、ロボット制御学習装置300は、図9A及び図9Bに示すように、参照経路を設定して式(1)に示した演算式を用いて学習を行うことにより、短期間で学習を完了することができる。FIG. 9 is a diagram illustrating an example of a path on which the
FIG. 9A shows that the
以上のように、ロボット制御装置100は、ロボット10のアーム11の現在位置を示す現在位置情報を取得する現在位置取得部105と、アーム11の目標位置を示す目標位置情報を取得する目標位置取得部106と、参照経路を示す参照経路情報を参照してアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する制御生成部107と、を備えた。
As described above, the
このように構成することで、ロボット制御装置100は、演算量を減らしつつ、ロボット10のアーム11が実質的に不連続な動作を行うことないようにロボット10を制御することができる。
With this configuration, the
また、以上のように、ロボット制御学習装置300は、ロボット10のアーム11の現在位置を示す現在位置情報を取得する現在位置取得部305と、アーム11の目標位置を示す目標位置情報を取得する目標位置取得部306と、参照経路を示す参照経路情報を取得する参照経路取得部320と、現在位置取得部305が取得した現在位置情報と、目標位置取得部306が取得した目標位置情報と、参照経路取得部320が取得した参照経路情報とに基づいてアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部321と、目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する制御生成部307と、現在位置取得部305が取得した現在位置情報と、目標位置取得部306が取得した目標位置情報と、参照経路取得部320が取得した参照経路情報と、報酬算出部321が算出した報酬とに基づいて制御信号によりアーム11を移動させる価値を評価することにより、モデル情報を生成するモデル生成部322と、を備えた。
Further, as described above, the robot
このように構成することで、ロボット制御学習装置300は、ロボット10のアーム11が実質的に不連続な動作を行うことないようにロボット10を制御させるためのモデル情報を、短い学習期間で生成することができる。
With this configuration, the robot
実施の形態2.
図10を参照して実施の形態2に係るロボット制御装置100aについて説明する。
図10は、実施の形態2に係るロボット制御装置100a及びロボット制御システム1aの要部の構成の一例を示すブロック図である。
ロボット制御装置100aは、例えば、ロボット制御システム1aに適用される。
ロボット制御装置100aは、ロボット制御装置100と同様に、モデル情報、アーム11の現在位置を示す現在位置情報、及び作業環境20における目標位置を示す目標位置情報に基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成し、生成した制御信号を、ネットワーク30を介してロボット10に備えられたモータ制御手段13に出力するものである。ロボット制御装置100aが制御信号を生成する際に用いるモデル情報は、ロボット制御学習装置300により生成される。Embodiment 2 FIG.
The
FIG. 10 is a block diagram illustrating an example of a configuration of a main part of the
The
The
実施の形態2に係るロボット制御装置100aは、実施の形態1に係るロボット制御装置100と比較して、参照経路取得部120、報酬算出部121、モデル更新部122、モデル出力部123、及び接触信号取得部124が追加され、ロボット制御学習装置300が出力した学習済みのモデル情報を更新可能にしたものである。
実施の形態2に係るロボット制御装置100a及びロボット制御システム1aの構成において、実施の形態1に係るロボット制御装置100又はロボット制御システム1と同様の構成については、同じ符号を付して重複した説明を省略する。すなわち、図2に記載した符号と同じ符号を付した図10の構成については、説明を省略する。The
In the configurations of the
ロボット制御システム1aは、ロボット制御装置100a、ロボット10、ネットワーク30、記憶装置40、及び撮像装置50を備える。
ロボット10に備えられたモータ制御手段13、回転センサ14−1,14−2、及び接触センサ15、記憶装置40、撮像装置50、並びに、ロボット制御システム1aは、それぞれ、ネットワーク30に接続されている。
ロボット制御装置100aは、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107a、及び制御出力部108a、参照経路取得部120、報酬算出部121、モデル更新部122、モデル出力部123、及び接触信号取得部124を備える。ロボット制御装置100aは、上述の構成に加えて、制御補正部111a、及び制御補間部112aを備えるものであっても良い。The robot control system 1a includes a
The motor control means 13, the rotation sensors 14-1, 14-2, and the
The
なお、実施の形態2に係るロボット制御装置100aにおける画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107a、及び制御出力部108a、参照経路取得部120、報酬算出部121、モデル更新部122、モデル出力部123、接触信号取得部124、制御補正部111a、及び制御補間部112aの各機能は、実施の形態1において図2A及び図2Bに一例を示したハードウェア構成におけるプロセッサ201及びメモリ202により実現されるものであっても良く、又は処理回路203により実現されるものであっても良い。
Note that the
参照経路取得部120は、参照経路を示す参照経路情報を取得する。具体的には、例えば、参照経路取得部120は、ロボット制御学習装置300がモデル情報を生成する際に用いた参照経路情報を、モデル取得部103が取得したモデル情報から読み出すことにより、参照経路情報を取得する。
The reference
報酬算出部121は、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報と、参照経路取得部120が取得した参照経路情報とに基づいてアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む演算式を用いて、報酬を算出する。
The
報酬算出部121が報酬を算出する際に用いる演算式は、アーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、現在位置取得部105が取得した現在位置情報が示すアーム11の現在位置の移動の連続性を評価することにより報酬を算出する項を含むものであっても良い。
また、報酬算出部121が報酬を算出する際に用いる演算式は、アーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、アーム11と作業環境20における障害物とが接触したか否かを評価することにより報酬を算出する項を含むものであっても良い。報酬算出部121は、アーム11と作業環境20における障害物とが接触したか否かを、例えば、接触信号取得部124が接触センサ15から取得した接触信号に基づいて判定する。
具体的には、報酬算出部121は、実施の形態1に示した式(1)に基づいて当該報酬を算出する。The calculation formula used when the
The calculation formula used by the
Specifically, reward calculating
モデル更新部122は、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報と、参照経路取得部120が取得した参照経路情報と、報酬算出部121が算出した報酬とに基づいてモデル情報を更新する。
モデル更新部122は、実施の形態1に示した式(2)に式(1)を適用することにより、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置と、アーム11を移動させるための制御内容を示す制御信号とを対応付けた対応情報を更新することより、モデル情報を更新する。
モデル出力部123は、モデル更新部122が更新したモデル情報を、ネットワーク30を介して、記憶装置40に出力し、記憶装置40に記憶させる。The
The
The
制御生成部107aは、モデル取得部103が取得したモデル情報と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する。制御生成部107aは、モデル取得部103が取得したモデル情報の代わりにモデル更新部122が更新したモデル情報に基づいて制御信号を生成する場合があることを除いて、実施の形態1に示した制御生成部107と同様であるため、詳細な説明を省略する。
The
制御補正部111aは、制御生成部107aが生成した第1制御信号が示す制御内容が、制御生成部107aが直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
制御補間部112aは、制御生成部107aが生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部107aが直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。
なお、制御補正部111a及び制御補間部112aの動作は、実施の形態1に示した制御補正部111及び制御補間部112の動作と同様であるため、詳細な説明を省略する。
また、モデル更新部122は、制御補正部111a又は制御補間部112aが補正した制御信号を用いてモデル情報を更新しても良い。The control correction unit 111a compares the control content indicated by the first control signal generated by the
When part or all of the control content indicated by the first control signal generated by the
Note that the operations of the control correction unit 111a and the
Further, the
制御出力部108a、制御生成部107aが生成した制御信号、又は、制御補正部111a若しくは制御補間部112aが補正した制御信号を、ロボット10に備えられたモータ制御手段13に出力する。
The
図11を参照して、実施の形態2に係るロボット制御装置100aの動作について説明する。
図11は、実施の形態2に係るロボット制御装置100aの処理の一例を説明するフローチャートである。
ロボット制御装置100aは、例えば、新たな目標位置が設定される毎に当該フローチャートの処理を繰り返して実行する。The operation of the
FIG. 11 is a flowchart illustrating an example of a process of the
For example, the
まず、ステップST1101にて、画像取得部101は、画像情報を取得する。
次に、ステップST1102にて、モデル取得部103は、モデル情報を取得する。
次に、ステップST1103にて、回転状況取得部104は、回転状況信号を取得する。
次に、ステップST1104にて、現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
次に、ステップST1105にて、仮想空間画像生成部102は、仮想空間画像情報を生成する。
次に、ステップST1106にて、目標位置取得部106は、目標位置情報を取得する。
次に、ステップST1107にて、制御生成部107aは、モデル情報に含まれる対応情報のうち、目標位置情報が示す目標位置に対応する対応情報を特定する。First, in step ST1101,
Next, in step ST1102,
Next, in step ST1103, rotation
Next, in step ST1104, the current
Next, in step ST1105, the virtual space
Next, in step ST1106, target
Next, in step ST1107, the
次に、ステップST1108にて、制御生成部107aは、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置と目標位置情報が示す目標位置とが同一であるか否かを判定する。なお、ここで言う同一とは、必ずしも完全に一致するものに限らず、同一は、略同一を含むものである。
Next, in step ST1108, the
ステップST1108にて、制御生成部107aが、アーム11と目標位置とが同一でないと判定した場合、ステップST1111にて、報酬算出部121は、報酬を算出する。
次に、ステップST1112にて、モデル更新部122は、制御生成部107aが特定した対応情報を更新することにより、モデル情報を更新する。
次に、ステップST1113にて、制御生成部107aは、モデル更新部122が更新した対応情報を参照して、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置に対応する制御信号を特定することにより、アーム11を移動させるための制御内容を示す制御信号を生成する。
次に、ステップST1114にて、制御補正部111aは、制御生成部107aが生成した第1制御信号が示す制御内容が、制御生成部107aが直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。In step ST1108, when the
Next, in step ST1112, the
Next, in step ST1113, the
Next, in step ST1114, control correction section 111a compares control content indicated by the first control signal generated by
次に、ステップST1115にて、制御補間部112aは、制御生成部107aが生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部107aが直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。
次に、ステップST1116にて、制御出力部108aは、制御生成部107aが生成した制御信号又は制御補正部111a若しくは制御補間部112aが補正した制御信号を、ロボット10に備えられたモータ制御手段13に出力する。
次に、ステップST1117にて、回転状況取得部104は、回転状況信号を取得する。
次に、ステップST1118にて、現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
次に、ステップST1119にて、仮想空間画像生成部102は、仮想空間画像情報を生成する。Next, in step ST1115, when part or all of the control content indicated by the first control signal generated by the
Next, in step ST1116, the
Next, in step ST1117, rotation
Next, in step ST1118, the current
Next, in step ST1119, virtual space
ロボット制御装置100aは、ステップST1119の処理を実行した後、ステップST1108の処理に戻って、ステップST1108にて、制御生成部107aが、アーム11の現在位置と目標位置とが同一であると判定するまでの期間において、ステップST1108からステップST1119までの処理を繰り返し実行する。
ステップST1108にて、制御生成部107aが、アーム11の現在位置と目標位置とが同一であると判定した場合、ステップST1121にて、モデル出力部123は、モデル更新部122が更新したモデル情報を出力する。
ステップST1121の処理を実行した後、ロボット制御装置100aは、当該フローチャートの処理を終了する。After executing the process of step ST1119, the
In step ST1108, when the
After executing the process of step ST1121, the
なお、当該フローチャートの処理において、ステップST1114、ステップST1115,及びステップST1119の処理は、ロボット制御装置100aにおいて必須の処理ではない。当該フローチャートの処理において、ステップST1101からステップST1103までの処理は、ステップST1104の処理に前に実行されれば、実行される順序は問わない。また、当該フローチャートの処理において、ステップST1114及びステップST1115の処理は、実行される順序が逆でも良い。
Note that, in the processing of the flowchart, the processing of step ST1114, step ST1115, and step ST1119 is not essential processing in the
以上のように、ロボット制御装置100aは、ロボット10のアーム11の現在位置を示す現在位置情報を取得する現在位置取得部105と、アーム11の目標位置を示す目標位置情報を取得する目標位置取得部106と、参照経路を示す参照経路情報を参照してアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する制御生成部107と、に加えて、参照経路を示す参照経路情報を取得する参照経路取得部120と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報と、参照経路取得部120が取得した参照経路情報とに基づいてアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部121と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報と、参照経路取得部120が取得した参照経路情報と、報酬算出部121が算出した報酬とに基づいて制御信号によりアーム11を移動させる価値を評価することにより、モデル情報を更新するモデル更新部122と、を備えた。
As described above, the
このように構成することで、参照経路を示す参照経路情報を参照してアーム11が参照経路を基にして移動していることを評価することにより、ロボット制御装置100aは、ロボット制御学習装置300が生成したモデル情報を、少ない演算量により短時間で更新しつつ、ロボット10のアーム11が実質的に不連続な動作を行うことのないようにロボット10をより高精度で制御することができる。
With this configuration, the
なお、この発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。 In the present invention, within the scope of the present invention, any combination of the embodiments can be freely combined, or any component of each embodiment can be modified, or any component can be omitted in each embodiment. .
この発明に係るロボット制御装置は、ロボット制御システムに適用することができる。また、ロボット制御学習装置は、ロボット制御学習システムに適用することができる。 The robot control device according to the present invention can be applied to a robot control system. Further, the robot control learning device can be applied to a robot control learning system.
1,1a ロボット制御システム、3 ロボット制御学習システム、10 ロボット、11 アーム、11−1,11−2 関節、11−3 先端、12−1,12−2 モータ、13 モータ制御手段、14−1,14−2 回転センサ、15 接触センサ、20 作業環境、30 ネットワーク、40 記憶装置、50 撮像装置、100,100a ロボット制御装置、300 ロボット制御学習装置、101,301 画像取得部、102,302 仮想空間画像生成部、103 モデル取得部、104,304 回転状況取得部、105,305 現在位置取得部、106,306 目標位置取得部、107,107a,307 制御生成部、108,108a,308 制御出力部、111,111a,311 制御補正部、112,112a,312 制御補間部、120,320 参照経路取得部、121,321 報酬算出部、122 モデル更新部、123,323 モデル出力部、124,324 接触信号取得部、322 モデル生成部、201 プロセッサ、202 メモリ、203 処理回路。 1, 1a robot control system, 3 robot control learning system, 10 robots, 11 arms, 11-1, 11-2 joints, 11-3 tip, 12-1, 12-2 motor, 13 motor control means, 14-1 , 14-2 rotation sensor, 15 contact sensor, 20 working environment, 30 network, 40 storage device, 50 imaging device, 100, 100a robot control device, 300 robot control learning device, 101, 301 image acquisition unit, 102, 302 virtual Spatial image generation unit, 103 model acquisition unit, 104, 304 rotation status acquisition unit, 105, 305 current position acquisition unit, 106, 306 target position acquisition unit, 107, 107a, 307 control generation unit, 108, 108a, 308 control output , 111, 111a, 311 control correction unit, 112, 112a, 12 control interpolation unit, 120, 320 reference route acquisition unit, 121, 321 reward calculation unit, 122 model update unit, 123, 323 model output unit, 124, 324 contact signal acquisition unit, 322 model generation unit, 201 processor, 202 memory , 203 processing circuit.
Claims (19)
前記アームの目標位置を示す目標位置情報を取得する目標位置取得部と、
参照経路を示す参照経路情報を参照して前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報とに基づいて前記目標位置情報が示す前記目標位置に向かって前記アームを移動させるための制御内容を示す制御信号を生成する制御生成部と、
を備え、
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項として、前記ロボットの前記アームの位置と前記参照経路との間の距離を評価することにより報酬を算出する項を含むこと
を特徴とするロボット制御装置。 A current position acquisition unit that acquires current position information indicating the current position of the robot arm;
A target position acquisition unit that acquires target position information indicating a target position of the arm,
Using a calculation formula for calculating a reward, including a term for calculating a reward by evaluating that the arm is moving based on the reference route with reference to reference route information indicating a reference route. Based on the model information indicating the learned model, the current position information acquired by the current position acquisition unit, and the target position indicated by the target position information based on the target position information acquired by the target position acquisition unit. A control generation unit that generates a control signal indicating control content for moving the arm toward the control unit;
Equipped with a,
The arithmetic expression evaluates a distance between the position of the arm of the robot and the reference path as a term for calculating a reward by evaluating that the arm is moving based on the reference path. A robot control device comprising a term for calculating a reward by performing the following .
を特徴とする請求項1記載のロボット制御装置。 The robot control device according to claim 1, wherein:
を特徴とする請求項1又は請求項2記載のロボット制御装置。 In the arithmetic expression, in addition to a term for calculating a reward by evaluating that the arm is moving based on the reference path, the arm indicated by the current position information acquired by the current position acquisition unit The robot control device according to claim 1 or 2 , further comprising: calculating a reward by evaluating the continuity of the movement of the current position.
を特徴とする請求項1又は請求項2記載のロボット制御装置。 The arithmetic expression, in addition to the term to calculate a reward by evaluating that the arm is moving based on the reference path, whether or not a part of the arm and the obstacle contacted robot control apparatus according to claim 1 or claim 2 wherein, characterized in that it comprises a section for calculating the compensation by evaluating.
を特徴とする請求項1又は請求項2記載のロボット制御装置。 The reference path information, the robot control apparatus according to claim 1 or claim 2, wherein the generated automatically on the basis of a predetermined calculation processing.
を特徴とする請求項1又は請求項2記載のロボット制御装置。 The reference path information, said arm robot control apparatus according to claim 1 or claim 2, wherein the generated based on the movement history information indicating a route that has moved in the past.
を備えること
を特徴とする請求項1又は請求項2記載のロボット制御装置。 The control content indicated by the first control signal generated by the control generation unit is changed in a predetermined range as compared with the control content indicated by the second control signal generated immediately before by the control generation unit. as such, the robot control apparatus according to claim 1 or claim 2 wherein, characterized in that it comprises a control correction unit which corrects the first control signal.
を備えること
を特徴とする請求項1又は請求項2記載のロボット制御装置。 When a part or all of the control content indicated by the first control signal generated by the control generation unit is missing, the second control signal is generated based on the control content indicated by the second control signal generated immediately before by the control generation unit. A control interpolating unit that corrects the first control signal by interpolating the control content missing in the first control signal so that a change amount within a predetermined range from the control content indicated by the control signal is provided. The robot control device according to claim 1 or 2, wherein:
前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報とに基づいて前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部と、
前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報と、前記報酬算出部が算出した報酬とに基づいて前記制御信号により前記アームを移動させる価値を評価することにより、前記モデル情報を更新するモデル更新部と、
を備えたこと
を特徴とする請求項1又は請求項2記載のロボット制御装置。 A reference route acquisition unit that acquires the reference route information indicating the reference route,
The arm sets the reference route based on the current position information acquired by the current position acquisition unit, the target position information acquired by the target position acquisition unit, and the reference route information acquired by the reference route acquisition unit. A reward calculation unit that calculates a reward using an arithmetic expression for calculating a reward, including a term for calculating a reward by evaluating that the user is moving based on
The current position information acquired by the current position acquisition unit, the target position information acquired by the target position acquisition unit, the reference route information acquired by the reference route acquisition unit, and a reward calculated by the reward calculation unit A model updating unit that updates the model information by evaluating a value of moving the arm with the control signal based on
The robot control device according to claim 1 or 2, further comprising:
前記アームの目標位置を示す目標位置情報を取得する目標位置取得部と、
参照経路を示す参照経路情報を取得する参照経路取得部と、
前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報とに基づいて前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部と、
前記目標位置情報が示す前記目標位置に向かって前記アームを移動させるための制御内容を示す制御信号を生成する制御生成部と、
前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報と、前記報酬算出部が算出した報酬とに基づいて前記制御信号により前記アームを移動させる価値を評価することにより、モデル情報を生成するモデル生成部と、
を備え、
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項として、前記ロボットの前記アームの位置と前記参照経路との間の距離を評価することにより報酬を算出する項を含むこと
を特徴とするロボット制御学習装置。 A current position acquisition unit that acquires current position information indicating the current position of the robot arm;
A target position acquisition unit that acquires target position information indicating a target position of the arm,
A reference route acquisition unit that acquires reference route information indicating a reference route,
The arm sets the reference route based on the current position information acquired by the current position acquisition unit, the target position information acquired by the target position acquisition unit, and the reference route information acquired by the reference route acquisition unit. A reward calculation unit that calculates a reward using an arithmetic expression for calculating a reward, including a term for calculating a reward by evaluating that the user is moving based on
A control generation unit that generates a control signal indicating control content for moving the arm toward the target position indicated by the target position information,
The current position information acquired by the current position acquisition unit, the target position information acquired by the target position acquisition unit, the reference route information acquired by the reference route acquisition unit, and a reward calculated by the reward calculation unit A model generation unit that generates model information by evaluating the value of moving the arm based on the control signal based on
Equipped with a,
The arithmetic expression evaluates a distance between the position of the arm of the robot and the reference path as a term for calculating a reward by evaluating that the arm is moving based on the reference path. A robot control learning device, which includes a term for calculating a reward by doing .
を特徴とする請求項10記載のロボット制御学習装置。 The robot control learning device according to claim 10, wherein:
を特徴とする請求項10又は請求項11記載のロボット制御学習装置。 In the arithmetic expression, in addition to a term for calculating a reward by evaluating that the arm is moving based on the reference path, the arm indicated by the current position information acquired by the current position acquisition unit of the robot control learning device according to claim 10 or claim 11, wherein the includes a term for calculating the compensation by evaluating the continuity of the movement of the current position.
を特徴とする請求項10又は請求項11記載のロボット制御学習装置。 The arithmetic expression, in addition to the term to calculate a reward by evaluating that the arm is moving based on the reference path, whether or not a part of the arm and the obstacle contacted evaluation robot control learning device according to claim 10 or claim 11, wherein the includes a term for calculating the remuneration by.
を特徴とする請求項10又は請求項11記載のロボット制御学習装置。 The robot control learning device according to claim 10 or 11 , wherein the reference route information is automatically generated based on a predetermined calculation process.
を特徴とする請求項10又は請求項11記載のロボット制御学習装置。 The robot control learning device according to claim 10 or 11 , wherein the reference route information is generated based on movement history information indicating a route on which the arm has moved in the past.
を備えること
を特徴とする請求項10又は請求項11記載のロボット制御学習装置。 The control content indicated by the first control signal generated by the control generation unit is changed in a predetermined range as compared with the control content indicated by the second control signal generated immediately before by the control generation unit. as such, the robot controller learning apparatus according to claim 10 or claim 11, wherein further comprising a control correction unit which corrects the first control signal.
を備えること
を特徴とする請求項10又は請求項11記載のロボット制御学習装置。 When a part or all of the control content indicated by the first control signal generated by the control generation unit is missing, the second control signal is generated based on the control content indicated by the second control signal generated immediately before by the control generation unit. A control interpolating unit that corrects the first control signal by interpolating the control content missing in the first control signal so that a change amount within a predetermined range from the control content indicated by the control signal is provided. The robot control learning device according to claim 10 or 11, wherein:
目標位置取得部が、前記アームの目標位置を示す目標位置情報を取得し、
制御生成部が、参照経路を示す参照経路情報を参照して前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報とに基づいて前記目標位置情報が示す前記目標位置に向かって前記アームを移動させるための制御内容を示す制御信号を生成し、
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項として、前記ロボットの前記アームの位置と前記参照経路との間の距離を評価することにより報酬を算出する項を含むこと
を特徴とするロボット制御方法。 A current position acquisition unit acquires current position information indicating a current position of the robot arm,
A target position acquisition unit acquires target position information indicating a target position of the arm,
A control generation unit includes a term for calculating a reward by evaluating that the arm is moving based on the reference path with reference to reference path information indicating a reference path, for calculating a reward. Model information indicating a model learned using an arithmetic expression, the current position information acquired by the current position acquisition unit, and the target position information based on the target position information acquired by the target position acquisition unit is Generating a control signal indicating the control content for moving the arm toward the target position shown ,
The arithmetic expression evaluates a distance between the position of the arm of the robot and the reference path as a term for calculating a reward by evaluating that the arm is moving based on the reference path. A method for controlling a robot , comprising a term for calculating a reward by performing the following .
を特徴とする請求項18記載のロボット制御方法。 The robot control method according to claim 18, wherein:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/047925 WO2020136769A1 (en) | 2018-12-26 | 2018-12-26 | Robot control device, robot control learning device, and robot control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6644191B1 true JP6644191B1 (en) | 2020-02-12 |
JPWO2020136769A1 JPWO2020136769A1 (en) | 2021-02-15 |
Family
ID=69412211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019528938A Active JP6644191B1 (en) | 2018-12-26 | 2018-12-26 | Robot control device, robot control learning device, and robot control method |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6644191B1 (en) |
DE (1) | DE112018008159B4 (en) |
TW (1) | TW202024832A (en) |
WO (1) | WO2020136769A1 (en) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05228860A (en) * | 1991-06-25 | 1993-09-07 | Sanyo Electric Co Ltd | Control method of robot manipulator |
JP2008052473A (en) * | 2006-08-24 | 2008-03-06 | Nippon Telegr & Teleph Corp <Ntt> | Operation control method and device for underwater robot, program and its recording medium |
JP2011192267A (en) * | 2010-02-19 | 2011-09-29 | Fanuc Ltd | Robot with learning control |
JP2017030137A (en) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | Machine learning apparatus, robot control device, robot system, and machine learning method for learning behavior pattern of person |
JP2017068325A (en) * | 2015-09-28 | 2017-04-06 | ファナック株式会社 | Machine tool for generating optimal acceleration and deceleration |
JP2018043338A (en) * | 2016-09-16 | 2018-03-22 | ファナック株式会社 | Machine learning device for learning operation program of robot, robot system, and machine learning method |
JP2018083246A (en) * | 2016-11-22 | 2018-05-31 | パナソニックIpマネジメント株式会社 | Picking system and method for controlling the same |
US20180246495A1 (en) * | 2017-02-28 | 2018-08-30 | Sap Se | Manufacturing process data collection and analytics |
JP2018171663A (en) * | 2017-03-31 | 2018-11-08 | ファナック株式会社 | Behavior information learning device, robot control system, and behavior information learning method |
WO2018212225A1 (en) * | 2017-05-17 | 2018-11-22 | Telexistence株式会社 | Sensation imparting device, robot control system, and robot control method and program |
JP2018190241A (en) * | 2017-05-09 | 2018-11-29 | オムロン株式会社 | Task execution system, task execution method, and learning device and learning method thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5193394A (en) | 1975-02-13 | 1976-08-16 | DODENYO SOSEIBUTSU | |
EP2068216B1 (en) * | 2007-12-06 | 2011-09-14 | ABB Research Ltd. | A robot service system and a method for providing remote service for a robot |
JP5510081B2 (en) | 2010-06-02 | 2014-06-04 | 日本精工株式会社 | Obstacle avoidance support device, obstacle avoidance support method, and moving object |
JP5775279B2 (en) | 2010-09-13 | 2015-09-09 | 株式会社スギノマシン | Route generator |
US8886359B2 (en) | 2011-05-17 | 2014-11-11 | Fanuc Corporation | Robot and spot welding robot with learning control function |
JP6717768B2 (en) | 2017-03-09 | 2020-07-01 | ファナック株式会社 | Robot for learning control considering operation in production line and control method thereof |
-
2018
- 2018-12-26 JP JP2019528938A patent/JP6644191B1/en active Active
- 2018-12-26 WO PCT/JP2018/047925 patent/WO2020136769A1/en active Application Filing
- 2018-12-26 DE DE112018008159.1T patent/DE112018008159B4/en active Active
-
2019
- 2019-06-25 TW TW108122107A patent/TW202024832A/en unknown
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05228860A (en) * | 1991-06-25 | 1993-09-07 | Sanyo Electric Co Ltd | Control method of robot manipulator |
JP2008052473A (en) * | 2006-08-24 | 2008-03-06 | Nippon Telegr & Teleph Corp <Ntt> | Operation control method and device for underwater robot, program and its recording medium |
JP2011192267A (en) * | 2010-02-19 | 2011-09-29 | Fanuc Ltd | Robot with learning control |
JP2017030137A (en) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | Machine learning apparatus, robot control device, robot system, and machine learning method for learning behavior pattern of person |
JP2017068325A (en) * | 2015-09-28 | 2017-04-06 | ファナック株式会社 | Machine tool for generating optimal acceleration and deceleration |
JP2018043338A (en) * | 2016-09-16 | 2018-03-22 | ファナック株式会社 | Machine learning device for learning operation program of robot, robot system, and machine learning method |
JP2018083246A (en) * | 2016-11-22 | 2018-05-31 | パナソニックIpマネジメント株式会社 | Picking system and method for controlling the same |
US20180246495A1 (en) * | 2017-02-28 | 2018-08-30 | Sap Se | Manufacturing process data collection and analytics |
JP2018171663A (en) * | 2017-03-31 | 2018-11-08 | ファナック株式会社 | Behavior information learning device, robot control system, and behavior information learning method |
JP2018190241A (en) * | 2017-05-09 | 2018-11-29 | オムロン株式会社 | Task execution system, task execution method, and learning device and learning method thereof |
WO2018212225A1 (en) * | 2017-05-17 | 2018-11-22 | Telexistence株式会社 | Sensation imparting device, robot control system, and robot control method and program |
Also Published As
Publication number | Publication date |
---|---|
JPWO2020136769A1 (en) | 2021-02-15 |
DE112018008159T5 (en) | 2021-08-19 |
WO2020136769A1 (en) | 2020-07-02 |
DE112018008159B4 (en) | 2022-10-20 |
TW202024832A (en) | 2020-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108145709B (en) | Method and apparatus for controlling robot | |
JP2012190405A (en) | Route information correcting device, track planning device, and robot | |
CN109551485B (en) | Motion control method, device and system and storage medium | |
JP2008071352A (en) | Device and method for estimating attitude of mobile robot | |
CN112580582B (en) | Action learning method, action learning device, action learning medium and electronic equipment | |
US20190134815A1 (en) | Interference determination method, interference determination system, and computer program | |
JP2008105132A (en) | Method and apparatus for producing path of arm in joint space | |
CN112847336B (en) | Action learning method and device, storage medium and electronic equipment | |
JP6644191B1 (en) | Robot control device, robot control learning device, and robot control method | |
CN109605378B (en) | Method, device and system for processing motion parameters and storage medium | |
JP2011238104A (en) | Mobile robot | |
JP7058761B2 (en) | Mobile control device, mobile control learning device, and mobile control method | |
JP2020134242A (en) | Measuring method, measuring device and program | |
JP6792230B1 (en) | Information processing equipment, methods and programs | |
JP5766936B2 (en) | 3D environment restoration device, 3D environment restoration method, and robot | |
JPWO2020161880A1 (en) | Motion model calculation device, control device, joint mechanism, motion model calculation method, program | |
KR20170013094A (en) | Robot motion data providing apparatus using a robot to work and method therefor | |
US20240054393A1 (en) | Learning Device, Learning Method, Recording Medium Storing Learning Program, Control Program, Control Device, Control Method, and Recording Medium Storing Control Program | |
JP5098919B2 (en) | Moving direction calculating device, moving direction calculating program, and moving direction calculating method | |
EP4279224A1 (en) | Path generation device, path generation method, and path generation program | |
JP6157207B2 (en) | Information processing apparatus, gesture recognition method, computer program | |
JP2022021147A (en) | Control apparatus, gripping system, method, and program | |
JP2020203349A (en) | Robot control device, and robot control system | |
JP7441335B2 (en) | Motion generation device, robot system, motion generation method, and motion generation program | |
TW201031507A (en) | Control apparatus of a multi-axial joint and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190529 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190529 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190529 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190813 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6644191 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |