JP7378640B2 - Robot control device and robot control method - Google Patents
Robot control device and robot control method Download PDFInfo
- Publication number
- JP7378640B2 JP7378640B2 JP2022563069A JP2022563069A JP7378640B2 JP 7378640 B2 JP7378640 B2 JP 7378640B2 JP 2022563069 A JP2022563069 A JP 2022563069A JP 2022563069 A JP2022563069 A JP 2022563069A JP 7378640 B2 JP7378640 B2 JP 7378640B2
- Authority
- JP
- Japan
- Prior art keywords
- manipulator
- command trajectory
- robot control
- command
- constraint
- 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 32
- 238000004364 calculation method Methods 0.000 claims description 185
- 238000012937 correction Methods 0.000 claims description 44
- 230000001133 acceleration Effects 0.000 claims description 16
- 238000011156 evaluation Methods 0.000 claims description 16
- 238000010801 machine learning Methods 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 5
- 230000004069 differentiation Effects 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 claims description 3
- 238000002939 conjugate gradient method Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 51
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 21
- 230000004888 barrier function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000002945 steepest descent method Methods 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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/40517—Constraint motion planning, variational dynamic programming
-
- 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/40519—Motion, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Description
本開示は、マニピュレータの制御を行うロボット制御装置およびロボット制御方法に関する。 The present disclosure relates to a robot control device and a robot control method that control a manipulator.
工場の製造ラインなどにおいて、部品および製品(以下、「ワーク」と称する)をマニピュレータで把持して搬送するピックアンドプレースの工程が存在する。ピックアンドプレースにおいて、ロボットの動作速度および加速度が適切でない場合に、ワークおよびマニピュレータの把持部に対し過剰な慣性力とモーメントとが発生し、ワークが落下するといった課題がある。これを解決するために、ワークに発生する力およびモーメントを考慮して適切な動作条件を決定する技術が提案されている。 2. Description of the Related Art On a factory production line, etc., there is a pick-and-place process in which parts and products (hereinafter referred to as "works") are gripped and transported by a manipulator. In pick-and-place, if the operating speed and acceleration of the robot are not appropriate, excessive inertia force and moment are generated on the workpiece and the gripping portion of the manipulator, causing the workpiece to fall. To solve this problem, a technique has been proposed that determines appropriate operating conditions by considering the force and moment generated in the workpiece.
特許文献1には、弾性を有する保持体を含むロボットのシミュレーションモデルを用いてシミュレーションを実施し、保持体に発生する負荷モーメントが閾値よりも大きい場合に、負荷モーメントが閾値以下となるようシミュレーションの実行条件を変更するシミュレーション装置について開示されている。
特許文献1では、負荷モーメントが閾値以下になるまでシミュレーションの実行条件を繰り返し変更する必要があるため、ワークに発生する力およびモーメントを考慮して適切な実行条件を求めるのに時間を要するという問題がある。また、自動的に調整可能なシミュレーションの実行条件は最大加速度のみであり、ロボットの動作軌跡と速度プロファイルといった自由度の高い動作条件を調整するのは困難なため、マニピュレータが動作開始してからワークを把持するまでの動作時間を短くできないという問題がある。
In
本開示は、上述の課題を解決するためになされたもので、ワークに発生する力およびモーメントなどの制約条件を満たし、動作時間が短くなるようなマニピュレータの指令軌跡と速度プロファイルを高速に求めることができるロボット制御装置およびロボット制御方法を提供することを目的とする。 The present disclosure has been made to solve the above-mentioned problems, and is to quickly obtain a command trajectory and speed profile of a manipulator that satisfies constraint conditions such as force and moment generated on a workpiece and shortens operation time. The purpose of the present invention is to provide a robot control device and a robot control method that can perform the following tasks.
本開示に係るロボット制御装置は、予め設定されたマニピュレータへの指令軌跡と、前記マニピュレータに関する制約条件と、前記マニピュレータの動作時間に基づく評価指標とに基づいて、前記マニピュレータの速度プロファイルを計算する速度計算部と、前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする勾配計算部と、前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする指令軌跡補正部と、前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する制御部と、を備える。 The robot control device according to the present disclosure calculates a speed profile of the manipulator based on a preset command trajectory to the manipulator, constraint conditions regarding the manipulator, and an evaluation index based on an operation time of the manipulator. a calculation section; a gradient calculation section that calculates a gradient regarding the command trajectory of the operation time based on the speed profile to obtain gradient information; and a gradient calculation section that corrects the command trajectory based on the gradient information to obtain a corrected command trajectory. and a control section that controls the manipulator to follow the corrected command trajectory.
また、本開示に係るロボット制御方法は、予め設定されたマニピュレータへの指令軌跡と、前記マニピュレータに関する制約条件と、前記マニピュレータの動作時間に基づく評価指標とに基づいて、前記マニピュレータの速度プロファイルを計算する工程と、前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする工程と、前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする工程と、前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する工程と、を備える。 Further, the robot control method according to the present disclosure calculates a velocity profile of the manipulator based on a preset command trajectory to the manipulator, constraint conditions regarding the manipulator, and an evaluation index based on the operation time of the manipulator. a step of calculating a gradient regarding the command trajectory of the operation time based on the speed profile to obtain gradient information; and a step of correcting the command trajectory based on the gradient information to obtain a corrected command trajectory. and a step of controlling the manipulator to follow the correction command trajectory.
本開示によれば、ロボット制御装置およびロボット制御方法は、マニピュレータに関する制約条件とマニピュレータの動作時間とに基づく評価指標に基づいて速度プロファイルを計算し、動作時間の指令軌跡に関する勾配に基づいて指令軌跡を補正するため、制約条件を満たし、動作時間が短くなるようなマニピュレータの補正指令軌跡と速度プロファイルとを高速に求めることができる。 According to the present disclosure, a robot control device and a robot control method calculate a speed profile based on an evaluation index based on constraint conditions related to a manipulator and an operation time of the manipulator, and calculate a command trajectory based on a gradient regarding a command trajectory of the operation time. In order to correct this, it is possible to quickly obtain a correction command trajectory and a speed profile of the manipulator that satisfy the constraint conditions and shorten the operation time.
実施の形態1.
図1は、実施の形態1におけるロボット制御装置100の一例を示すブロック図である。図1は、ロボット制御装置100と、アクチュエータ110と、マニピュレータ1と、ワーク112とにより構成されるブロック図である。また、図2は、実施の形態1におけるロボット制御装置100を含む構成の一例を示す図である。ロボット制御装置100は、垂直多関節ロボットであるマニピュレータ1の各関節に設置されるアクチュエータ110を制御することで、マニピュレータ1の先端に設置される把持部111で把持対象となるワーク112のピックアンドプレースの動作を実現する。周辺環境113は、例えばカメラなどであり、例えばマニピュレータ1がピックアンドプレースの動作を行う際の映像を図示しない表示装置に出力する。
FIG. 1 is a block diagram showing an example of a
ロボット制御装置100は、制約条件記憶部2と、指令軌跡記憶部3と、速度計算部4と、勾配計算部5と、指令軌跡補正部6と、指令点列計算部7と、制御部8とを備える。
The
制約条件記憶部2は、マニピュレータ1に関して予め設定された制約条件のパラメータを記憶する。制約条件は、マニピュレータ1の関節角速度、関節角加速度、関節トルク、手先速度、手先加速度、マニピュレータ1が把持する対象(ワーク112)で発生する力、および把持する対象で発生するモーメントのうち少なくとも1つに関する条件である。一例として、制約条件が手先速度vhに関する条件の場合、制約条件とは「vmin≦vh≦vmax」のことである。ここで、vminは手先速度vhの下限値、vmaxは手先速度vhの上限値である。そして、この場合の制約条件のパラメータとは、vminおよびvmaxのことである。制約条件および制約条件のパラメータは、これに限定されない。例えば、制約条件は「|vh|≦vth」であり、制約条件のパラメータはvthであってもよい。ここで、|vh|は手先速度vhの絶対値、vthは手先速度vhの閾値である。The
なお、制約条件のパラメータが予め設定される場合について説明したが、ロボット制御装置100が図示しない把持制約学習部を備えてもよい。把持制約学習部は、ワーク112で発生する力およびモーメントのうち少なくとも1つについて、機械学習を用いて制約条件のパラメータを学習し、得られた制約条件のパラメータを制約条件記憶部2に記憶してもよい。具体的には、把持制約学習部は、マニピュレータ1がワーク112を把持する際に、ワーク112で発生する力およびモーメントを図示しないセンサによって取得し、取得した値に基づいて、制約条件のパラメータとして学習する。
Although a case has been described in which the parameters of the constraint conditions are set in advance, the
指令軌跡記憶部3は、予め設定されたマニピュレータ1への指令軌跡を記憶する。一例として、指令軌跡がスプライン曲線として与えられていた場合、指令軌跡記憶部3は、スプライン曲線上の経由点の位置とその位置における曲線の媒介変数の値(0から1の値)とのペアで記憶する。あるいは、指令軌跡記憶部3は、スプライン曲線上の経由点の位置のみを記憶してもよい。この場合、媒介変数の値は、スプライン曲線上の経由点間の距離などから計算される。また、指令軌跡はスプライン曲線以外にも、B-スプライン曲線、あるいはベジェ曲線などとして与えられてもよい。指令軌跡記憶部3は、後に説明する指令軌跡補正部6からの補正指令軌跡を記憶する。この際、予め設定された指令軌跡は破棄され、補正指令軌跡が新たに記憶される。
The command
速度計算部4は、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する。すなわち、速度計算部4は、指令軌跡記憶部3からの指令軌跡と、制約条件記憶部2からの制約条件のパラメータとに基づいて、制約条件の範囲内でマニピュレータ1の動作時間を短くする指令軌跡上の速度プロファイルを計算する。あるいは、ロボット制御装置100が把持制約学習部を備える場合、速度計算部4は、指令軌跡と、把持制約学習部で学習した制約条件のパラメータとに基づいて、速度プロファイルを計算する。ここで、マニピュレータ1の動作時間に基づく評価指標とは、後に説明するプロファイル計算部44が用いる評価関数のことである。この評価関数は、媒介変数を介して、マニピュレータ1の加速度および速度を変数として数式化した関数である。また、速度プロファイルとは、マニピュレータ1が指令軌跡上を動作する際の各関節の速度の時間変化を表す。速度計算部4は、評価関数で表された動作時間を最小化する最適化問題によって、速度プロファイルを計算する。
The
図3は、実施の形態1における速度計算部4の一例を示すブロック図である。速度計算部4は、指令補間計算部41と、動力学計算部42と、制約条件係数計算部43と、プロファイル計算部44とを備える。
FIG. 3 is a block diagram showing an example of the
指令補間計算部41は、予め設定された自然数Nを用いて、指令軌跡記憶部3からの指令軌跡の曲線をN点で補間し、指令軌跡上の補間点における位置と指令軌跡の媒介変数に関する一階微分および二階微分とを計算する。一例として、指令軌跡がスプライン曲線として与えられていた場合、マニピュレータ1の各軸の関節位置(あるいは関節角度)が媒介変数に関する3次の区分多項式として表現されるので、多項式の微分を用いることで、補間点の位置(あるいは角度)だけでなく、媒介変数に関する一階微分および二階微分を計算することができる。
The command
動力学計算部42は、指令補間計算部41からの補間点における位置と一階微分と二階微分とを用いて、マニピュレータ1の運動学計算と動力学計算とを行い、運動学計算結果と動力学計算結果とを出力する。運動学計算とは、マニピュレータ1の各関節の速度、加速度、角速度、および角加速度から、マニピュレータ1の各関節、各リンク、および把持部111などの速度、加速度、角速度、および角加速度を計算することである。また、動力学計算とは、マニピュレータ1の各関節、各リンク、および把持部111などの速度、加速度、角速度、および角加速度から、マニピュレータ1の各関節に発生するトルク、および把持部111に発生する力とモーメントとを計算することである。
The
制約条件係数計算部43は、動力学計算部42からの運動学計算結果および動力学計算結果と、制約条件記憶部2からの制約条件のパラメータとに基づいて、制約条件の係数を計算する。一例として、把持部111に発生する力に関する制約条件が、以下の数式(1)で表される場合、制約条件の係数とは、a、bおよびcのことである。すなわち、制約条件の係数とは、複数の変数を含む関係式において、それぞれの項に含まれる係数のことである。ここで、変数とは、数式(1)における補間点での加速度uおよび速度xなどである。
The constraint
プロファイル計算部44は、制約条件係数計算部43からの制約条件の係数に基づいて、速度プロファイルを計算する。すなわち、プロファイル計算部44は、マニピュレータ1の動作時間に基づく評価関数と、制約条件の係数とに基づく最適化計算により、マニピュレータ1の指令軌跡上の速度プロファイルと、マニピュレータ1の動作時間とを計算する。
The
なお、制約条件係数計算部43が制約条件の係数を計算する方法、およびプロファイル計算部44が速度プロファイルを計算する方法は、非特許文献1に示されている。
Note that the method by which the constraint
以上のように、速度計算部4は、制約条件記憶部2で設定された制約条件の範囲内で、動作時間が短くなる速度プロファイルを計算することができる。また、ワーク112で発生する力およびモーメントを制約条件に加えることで、ワーク112のピックアンドプレースにおいて、ワーク112が落下する、あるいはワーク112に過剰な力が発生するなどの不具合を抑制することができる。加えて、非特許文献1に記載されている方法は、大域的最適解が容易に得られる凸最適化と呼ばれる方法であるため、速度プロファイルを高速に計算することができる。
As described above, the
図1に戻り、勾配計算部5は、速度計算部4からの速度プロファイルに基づいて、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算し、勾配情報として出力する。具体的には、勾配計算部5は、自動微分を用いて、プロファイル計算部44からのマニピュレータ1の動作時間を指令軌跡について微分することで、動作時間の指令軌跡に関する勾配を計算し、勾配情報として出力する。
Returning to FIG. 1, the
図4は、実施の形態1における勾配計算部5の一例を示すブロック図である。勾配計算部5は、指令補間勾配計算部51と、動力学勾配計算部52と、制約条件係数勾配計算部53と、プロファイル勾配計算部54とを備える。指令補間勾配計算部51、動力学勾配計算部52、制約条件係数勾配計算部53、およびプロファイル勾配計算部54は、それぞれ、指令補間計算部41、動力学計算部42、制約条件係数計算部43、およびプロファイル計算部44が行った計算結果の勾配を計算する。
FIG. 4 is a block diagram showing an example of the
プロファイル勾配計算部54は、一例として非特許文献2で示されている方法と同様の方法に基づいて、最適化問題の係数に関する勾配を計算することで、動作時間の制約条件の係数に関する勾配を計算する。
The profile
制約条件係数勾配計算部53は、プロファイル勾配計算部54からの制約条件の係数に関する勾配を入力とし、制約条件係数計算部43の計算手順の微分を連鎖律に基づいて計算することで、動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を計算する。
The constraint coefficient
動力学勾配計算部52は、制約条件係数勾配計算部53からの動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を入力とし、動力学計算部42の計算手順の微分を連鎖律に基づいて計算することで、動作時間の指令軌跡上の補間点における位置に関する勾配、動作時間の指令軌跡の媒介変数に関する一階微分に関する勾配、および動作時間の指令軌跡の媒介変数に関する二階微分に関する勾配を計算する。
The dynamic
指令補間勾配計算部51は、動力学勾配計算部52からの指令軌跡上の補間点における位置に関する勾配、指令軌跡の媒介変数に関する一階微分に関する勾配、および指令軌跡の媒介変数に関する二階微分に関する勾配を入力とし、指令補間計算部41の計算手順の微分を連鎖律に基づいて計算することで、動作時間の指令軌跡に関する勾配を計算する。指令補間勾配計算部51からは、動作時間の指令軌跡に関する勾配を勾配情報として出力する。
The command interpolation gradient calculation unit 51 calculates a gradient related to the position at the interpolation point on the command trajectory from the dynamic
図1に戻り、指令軌跡補正部6は、勾配計算部5からの勾配情報に基づいて、マニピュレータ1の動作時間が減少するように指令軌跡を補正し、補正指令軌跡として出力する。指令軌跡補正部6は、勾配情報に基づく勾配降下法、共役勾配法または準ニュートン法のうちいずれか1つを用いることで、指令軌跡を補正する。勾配降下法の一例として、最急降下法、モーメンタム法、または加速勾配法などがある。補正指令軌跡は、指令軌跡記憶部3で記憶される。
Returning to FIG. 1, the command
勾配情報に基づいて、指令軌跡補正部6がマニピュレータ1の動作時間が少なくなるよう指令軌跡を補正することで、マニピュレータ1の動作時間を短縮することができる。また、指令軌跡補正部6が勾配情報を用いるため、効率よく高速に指令軌跡を補正することができる。
Based on the slope information, the command
指令点列計算部7は、指令軌跡記憶部3で記憶された補正指令軌跡と、速度計算部4からの速度プロファイルとに基づいて、所定のサンプリング周期毎の指令点列を計算する。このサンプリング周期は、後に説明する制御部8がアクチュエータ110への電流値を計算する際の周期のことである。一例として、補正指令軌跡がスプライン曲線として与えられていた場合、指令点列計算部7は、速度プロファイルに基づいて、時刻と補正指令軌跡の曲線の媒介変数との間の変換を行い、媒介変数を入力とした補正指令軌跡のスプライン曲線の区分多項式と組み合わせることにより、各サンプリングでマニピュレータ1への位置指令の点列を計算する。
The command point
制御部8は、補正指令軌跡に対しマニピュレータ1が追従するよう制御する。すなわち、制御部8は、指令点列計算部7からの指令点列に対し、マニピュレータ1が追従するよう制御する。
The
図5は、実施の形態1における制御部8の一例を示すブロック図である。制御部8は、フィードフォワード制御部81と、フィードバック制御部82と、電流値計算部83とを備える。
FIG. 5 is a block diagram showing an example of the
フィードフォワード制御部81は、指令点列計算部7からの指令点列に対し、例えば平滑化などのフィルタ処理を行い、平滑化後の指令点列として出力する。フィードフォワード制御部81は、指令点列計算部7からの指令点列に対し、モデル化された逆伝達関数を適用することで、アクチュエータ110に入力する電流のフィードフォワード値を計算して出力する。逆伝達関数とは、制御対象であるアクチュエータ110の伝達関数に対する逆関数である。センサによってアクチュエータ110で発生する外乱を検知できる場合、フィードフォワード制御部81は外乱信号に対し、モデル化された逆伝達関数を適用してもよい。この場合、フィードフォワード制御部81は、外乱信号に対し逆伝達関数を適用したものを上記の電流のフィードフォワード値に含めて出力する。外乱の一例として、作業者がマニピュレータ1に接触することによる振動が挙げられる。
The
フィードバック制御部82は、フィードフォワード制御部81からの平滑化後の指令点列にアクチュエータ110が追従するようフィードバック制御を行い、アクチュエータ110に入力する電流のフィードバック値を計算して出力する。
The
電流値計算部83は、フィードフォワード制御部81からの電流のフィードフォワード値と、フィードバック制御部82からの電流のフィードバック値とに基づいて、アクチュエータ110へ入力する電流値を計算する。
The current
図6は、実施の形態1におけるロボット制御装置100の動作の一例を示すフローチャートである。すなわち、図6は、実施の形態1におけるロボット制御方法の一例を示すフローチャートである。
FIG. 6 is a flowchart showing an example of the operation of the
図6に示すように、図示しない手段によりロボット制御が開始されると、速度計算部4は、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。
As shown in FIG. 6, when robot control is started by means not shown, the
勾配計算部5は、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。
The
指令軌跡補正部6は、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。
The command
指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。
The command
指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。
The command point
制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。
The
図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST7)。 By means not shown, it is determined whether or not to continue controlling the robot (step ST7).
ステップST7の判定が「Yes」の場合は、処理はステップST6に戻り、ロボットの制御が継続される。ステップST7の判定が「No」の場合は、ロボットの制御が終了する。ロボットの制御が終了するのは、例えばマニピュレータ1が補正指令軌跡の終点にたどり着いた場合である。あるいは、マニピュレータ1が異常動作したと判定された場合である。この判定は、図示しない手段により行われる。
If the determination in step ST7 is "Yes", the process returns to step ST6 and control of the robot is continued. If the determination in step ST7 is "No", control of the robot ends. Control of the robot ends, for example, when the
以上で説明した実施の形態1によれば、マニピュレータ1に関する制約条件とマニピュレータ1の動作時間とに基づく評価指標に基づいて速度プロファイルを計算し、動作時間の指令軌跡に関する勾配に基づいて指令軌跡を補正するため、制約条件を満たし、動作時間が短くなるようなマニピュレータ1の補正指令軌跡と速度プロファイルとを高速に求めることができる。
According to the first embodiment described above, the speed profile is calculated based on the evaluation index based on the constraint conditions regarding the
実施の形態2.
実施の形態2では、周辺環境113で予め取得されるマニピュレータ1周辺の周辺情報に基づいて、指令軌跡を生成する。
In the second embodiment, a command trajectory is generated based on peripheral information around the
図7は、実施の形態2におけるロボット制御装置100aの一例を示すブロック図である。図7は、ロボット制御装置100aがロボット制御装置100の構成要素に加え、周辺環境情報記憶部9と、指令軌跡生成部10と、速度プロファイル記憶部11とを備える点で、図1とは異なる。また、図7は、指令軌跡補正部6の代わりに指令軌跡補正部6aを備える点で、図1とは異なる。周辺環境情報記憶部9、指令軌跡生成部10、速度プロファイル記憶部11および指令軌跡補正部6a以外は、図1に示すものと同じであるため、説明を省略する。
FIG. 7 is a block diagram showing an example of the
周辺環境情報記憶部9は、マニピュレータ1周辺の周辺情報を記憶する。具体的には、周辺環境情報記憶部9は、周辺環境113によって取得されたマニピュレータ1周辺の障害物の位置および形状などの情報を周辺情報として記憶する。周辺情報を記憶するためのデータ構造としては、例えば点群、ボクセル、ポリゴンメッシュ、および直方体などの基本形状でもよいし、複数の基本形状を組み合わせたものでもよい。また、データ構造として、後に説明する距離関数計算部61が行う距離計算などの高速化が図れるバウンディングボリューム階層であってもよい。
The surrounding environment
指令軌跡生成部10は、周辺環境情報記憶部9で記憶された周辺情報に基づいて、指令軌跡を生成する。具体的には、指令軌跡生成部10は、周辺情報に基づいて、マニピュレータ1が周辺の障害物と干渉しないような指令軌跡を生成し、指令軌跡記憶部3で記憶されている指令軌跡の更新を行う。指令軌跡を生成するアルゴリズムとして、例えばRRT(Rapidly-exploring Random Tree)およびPRM(Probabilistic RoadMap)などを用いてもよい。
The command
指令軌跡生成部10で生成される指令軌跡は、予め設定された初期軌道ではなく、マニピュレータ1周辺の障害物との干渉を避けるような指令軌跡であり、自律的に生成されるものである。このため、指令軌跡生成部10は、例えば指令軌跡の始点と終点とを入力するだけで、指令軌跡を自動的に生成することができる。
The command trajectory generated by the command
指令軌跡補正部6aは、指令軌跡記憶部3で記憶された指令軌跡と、周辺環境情報記憶部9で記憶された周辺情報と、勾配計算部5からの勾配情報とに基づいて、指令軌跡を補正し、補正指令軌跡として出力する。補正指令軌跡は、指令軌跡記憶部3で記憶される。
The command
図8は、実施の形態2における指令軌跡補正部6aの一例を示すブロック図である。指令軌跡補正部6aは、距離関数計算部61と、バリア関数計算部62と、バリア関数勾配計算部63と、指令軌跡補正値計算部64とを備える。
FIG. 8 is a block diagram showing an example of the command
距離関数計算部61は、指令軌跡記憶部3で記憶された指令軌跡と、周辺環境情報記憶部9で記憶された周辺情報とに基づいて、指令軌跡と周辺の障害物との距離関数の値を計算する。
The distance
バリア関数計算部62は、距離関数の値がある値以下になると関数の値が発散するようなバリア関数を構成し、距離関数計算部61からの距離関数の値に基づいて、バリア関数の値を計算する。
The barrier
バリア関数勾配計算部63は、バリア関数計算部62からのバリア関数の値の指令軌跡に関する勾配を計算する。バリア関数勾配計算部63は、例えば自動微分を用いて勾配を計算する。
The barrier function
指令軌跡補正値計算部64は、勾配計算部5からのマニピュレータ1の動作時間の指令軌跡に関する勾配と、バリア関数勾配計算部63からのバリア関数の値の指令軌跡に関する勾配とを合わせて勾配情報とし、この勾配情報に基づいて、動作時間とバリア関数の値との和が小さくなるように、指令軌跡の補正値を計算する。
The command trajectory correction
図7に戻り、速度プロファイル記憶部11は、速度計算部4からの速度プロファイルを記憶する。ロボット制御装置100aが速度プロファイル記憶部11を備えることにより、速度計算部4が速度プロファイルを計算するタイミングを任意に設定することができる。すなわち、制御部8がアクチュエータ110を制御する直前だけでなく、例えばマニピュレータ1が動作していない間、あるいはマニピュレータ1が他の動作を行っている間などに速度プロファイルを計算することができる。
Returning to FIG. 7, the speed
指令点列計算部7は、指令軌跡記憶部3で記憶された補正指令軌跡と、速度プロファイル記憶部11で記憶された速度プロファイルとに基づいて、所定のサンプリング周期毎の指令点列を計算する。
The command point
図9は、実施の形態2におけるロボット制御装置100aの動作の一例を示すフローチャートである。すなわち、図9は、実施の形態2におけるロボット制御方法の一例を示すフローチャートである。図9のステップST1からステップST7は、図6のステップST1からステップST7と同じであるため、ここでは詳細説明を省略する。
FIG. 9 is a flowchart showing an example of the operation of the
図9に示すように、図示しない手段によりロボット制御が開始されると、指令軌跡生成部10は、周辺環境情報記憶部9で記憶された周辺情報に基づいて、指令軌跡を生成する。(ステップST8)。
As shown in FIG. 9, when robot control is started by means not shown, the command
速度計算部4は、マニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。
The
速度プロファイル記憶部11は、速度プロファイルを記憶する(ステップST9)。
The speed
勾配計算部5は、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。
The
指令軌跡補正部6aは、バリア関数の値の指令軌跡に関する勾配を計算し、ステップST2により計算された勾配と合わせたものを勾配情報として出力する(ステップST10)。
The command
指令軌跡補正部6aは、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。
The command
指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。
The command
指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。
The command point
制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。
The
図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST7)。 By means not shown, it is determined whether or not to continue controlling the robot (step ST7).
ステップST7の判定が「Yes」の場合は、処理はステップST6に戻り、ロボットの制御が継続される。ステップST7の判定が「No」の場合は、ロボットの制御が終了する。 If the determination in step ST7 is "Yes", the process returns to step ST6 and control of the robot is continued. If the determination in step ST7 is "No", control of the robot ends.
以上で説明した実施の形態2によれば、指令軌跡生成部10が周辺環境113からの周辺情報に基づいて指令軌跡を生成するため、障害物との干渉を避けつつ動作時間が短くなるようなマニピュレータ1の補正指令軌跡と速度プロファイルとを高速に求めることができる。
According to the second embodiment described above, the command
実施の形態3.
実施の形態3では、タブレットなどの入出力装置12を用いて、マニピュレータ1の制御を行う。
In the third embodiment, the
図10は、実施の形態3におけるロボット制御装置100bの一例を示すブロック図である。図10は、ロボット制御装置100bが入出力装置12と図示しない手段により接続されている点で、図1とは異なる。なお、ロボット制御装置100bは、実施の形態1におけるロボット制御装置100と同じ構成であるため、説明を省略する。なお、ロボット制御装置100bは、実施の形態2におけるロボット制御装置100aと同じ構成であってもよい。
FIG. 10 is a block diagram showing an example of a
入出力装置12は、マニピュレータ1の動作情報と周辺環境113から取得される周辺情報とを画面に表示する。動作情報は、例えばマニピュレータ1が動作している映像のことである。入出力装置12は、作業者が入力した動作情報をロボット制御装置100bに出力する。例えば、入出力装置12は、画面上のタッチパネルあるいは音声インターフェースを通じて、作業者にマニピュレータ1の動作の始点と終点とを入力させてもよいし、作業者がタブレットの画面を指でトレースすることで、マニピュレータ1の把持部111の大まかな指令軌跡を入力させてもよい。この指令軌跡は、指令軌跡記憶部3で記憶される。なお、作業者は、マニピュレータ1が動作中に入出力装置12を用いて停止させることもできる。この場合、入出力装置12は、画面上に「動作停止」の表示をさせ、作業者にその表示をタッチさせることで、作業停止の命令をロボット制御装置100bへ送信する。これにより、ロボット制御装置100bは、マニピュレータ1の動作を停止させる。
The input/
図11は、実施の形態3におけるロボット制御装置100bの動作の一例を示すフローチャートである。すなわち、図11は、実施の形態3におけるロボット制御方法の一例を示すフローチャートである。図11のステップST1からステップST6は、図6のステップST1からステップST6と同じであるため、ここでは詳細説明を省略する。
FIG. 11 is a flowchart showing an example of the operation of the
図11に示すように、図示しない手段によりロボット制御が開始されると、速度計算部4は、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。
As shown in FIG. 11, when robot control is started by means not shown, the
勾配計算部5は、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。
The
指令軌跡補正部6は、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。
The command
指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。
The command
指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。
The command point
制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。
The
図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST11)。 By means not shown, it is determined whether or not to continue controlling the robot (step ST11).
ステップST11の判定が「Yes」の場合は、処理はステップST6に戻り、マニピュレータ1の制御が継続される。ステップST11の判定が「No」の場合は、ロボットの制御が終了する。ロボットの制御が終了するのは、例えばマニピュレータ1が補正指令軌跡の終点にたどり着いた場合である。あるいは、マニピュレータ1が異常動作したと判定された場合である。あるいは、入出力装置12から「動作停止」の命令がロボット制御装置100bへ送信された場合である。この判定は、図示しない手段により行われる。
If the determination in step ST11 is "Yes", the process returns to step ST6, and control of the
以上で説明した実施の形態3によれば、入出力装置12を用いてマニピュレータ1の制御を行うことで、マニピュレータ1の動作を可視化することができる。
According to the third embodiment described above, the operation of the
実施の形態4.
実施の形態4では、マニピュレータ1が移動架台13の上に設置された状態で、マニピュレータ1の制御を行う。
In the fourth embodiment, the
図12は、実施の形態4におけるロボット制御装置100cの一例を示すブロック図である。図12は、マニピュレータ1が移動架台13の上に設置される点で、図1とは異なる。また、図12は、ロボット制御装置100cが制約条件記憶部2の代わりに制約条件記憶部2cを備える点、速度計算部4の代わりに速度計算部4cを備える点、および勾配計算部5の代わりに勾配計算部5cを備える点で、図1とは異なる。制約条件記憶部2c、速度計算部4cおよび勾配計算部5c以外は、図1に示すものと同じであるため、説明を省略する。なお、ロボット制御装置100cは、実施の形態1におけるロボット制御装置100をベースとしているが、実施の形態2におけるロボット制御装置100aあるいは実施の形態3におけるロボット制御装置100bをベースとしてもよい。
FIG. 12 is a block diagram showing an example of a
制約条件記憶部2cは、マニピュレータ1に関して予め設定された制約条件のパラメータを記憶する。制約条件は、マニピュレータ1の関節角速度、関節角加速度、関節トルク、手先速度、手先加速度、前記マニピュレータ1が把持する対象で発生する力、および前記対象で発生するモーメントに加え、マニピュレータ1が設置される移動架台13に与える反力、および反力のトルク成分のうち少なくとも1つに関する条件を含む。
The
なお、制約条件のパラメータが予め設定される場合について説明したが、ロボット制御装置100cが図示しない反力制約学習部を備えてもよい。反力制約学習部は、マニピュレータ1が設置される移動架台13に与える反力および反力のトルク成分のうち少なくとも1つについて、機械学習を用いて制約条件のパラメータを学習し、得られた制約条件のパラメータを制約条件記憶部2cに記憶してもよい。具体的には、反力制約学習部は、マニピュレータ1の動作中に、移動架台13に与える反力および反力のトルク成分を図示しないセンサによって取得し、取得した値に基づいて、制約条件のパラメータとして学習する。
Although a case has been described in which the parameters of the constraint are set in advance, the
速度計算部4cは、指令軌跡記憶部3からの指令軌跡と、制約条件記憶部2cからの制約条件のパラメータとに基づいて、制約条件の範囲内でマニピュレータ1の動作時間を短くする指令軌跡上の速度プロファイルを計算する。
The
速度計算部4cの構成は、図3に示す速度計算部4の構成と同じであるが、動力学計算部42の動力学計算に、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分の計算を含める点、および制約条件係数計算部43が反力および反力のトルク成分に関する制約条件も含めて制約条件の係数を計算する点が、速度計算部4とは異なる。なお、ロボット制御装置100cが反力制約学習部を備える場合、速度計算部4cは、指令軌跡と、反力制約学習部で学習した制約条件のパラメータとに基づいて、速度プロファイルを計算する。
The configuration of the
勾配計算部5cは、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算し、勾配情報として出力する。
The
勾配計算部5cの構成は、図4に示す勾配計算部5の構成と同じであるが、制約条件係数勾配計算部53が、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分も考慮して、動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を計算する点が、勾配計算部5とは異なる。また、プロファイル勾配計算部54が、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分も考慮して勾配を計算する点が、勾配計算部5とは異なる。
The configuration of the
以上のように、ロボット制御装置100cが制約条件記憶部2c、速度計算部4cおよび勾配計算部5cを備えることで、移動架台13への反力に起因する振動を抑制することができ、マニピュレータ1の動作時間を短くすることができる。
As described above, since the
図13は、実施の形態4におけるロボット制御装置100cの動作の一例を示すフローチャートである。すなわち、図13は、実施の形態4におけるロボット制御方法の一例を示すフローチャートである。図13のステップST1からステップST7は、図6のステップST1からステップST7と同じであるため、ここでは詳細説明を省略する。
FIG. 13 is a flowchart showing an example of the operation of the
図13に示すように、図示しない手段によりロボット制御が開始されると、速度計算部4cは、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。速度計算部4c内の動力学計算部42は、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分の計算を含めて運動学計算と動力学計算とを行う。また、速度計算部4c内の制約条件係数計算部43は、移動架台13に与える反力および反力のトルク成分に関する制約条件も含めて、制約条件の係数を計算する。
As shown in FIG. 13, when robot control is started by means not shown, the
勾配計算部5cは、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。勾配計算部5c内の制約条件係数勾配計算部53は、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分も考慮して、動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を計算する。また、勾配計算部5c内のプロファイル勾配計算部54は、移動架台13に与える反力および反力のトルク成分も考慮して、動作時間の制約条件の係数に関する勾配を計算する。
The
指令軌跡補正部6は、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。
The command
指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。
The command
指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。
The command point
制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。
The
図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST11)。 By means not shown, it is determined whether or not to continue controlling the robot (step ST11).
ステップST11の判定が「Yes」の場合は、処理はステップST6に戻り、マニピュレータ1の制御が継続される。ステップST11の判定が「No」の場合は、ロボットの制御が終了する。
If the determination in step ST11 is "Yes", the process returns to step ST6, and control of the
以上で説明した実施の形態4によれば、マニピュレータ1の動作中に移動架台13に与える反力および反力のトルク成分を考慮することで、移動架台13の振動を抑制することができ、マニピュレータ1の動作時間を短くすることができる。
According to the fourth embodiment described above, by considering the reaction force applied to the
なお、実施の形態4において、ロボット制御装置100cが行うマニピュレータ1の制御は、移動架台13に対しても適用できる。また、マニピュレータ1が移動架台13に設置される場合に限定されず、マニピュレータ1が図示しない固定架台に設置される場合にも適用できる。
Note that in the fourth embodiment, the control of the
実施の形態1から4におけるロボット制御装置100,100a,100bおよび100cおよびロボット制御方法は、垂直多関節ロボットであるマニピュレータ1以外にも適用できる。例えば、水平多関節ロボットなどの任意の軸構成のマニピュレータ1にも適用できる。また、マニピュレータ1以外の産業装置にも適用できる。
The
ここで、実施の形態1から4におけるロボット制御装置100,100a,100bおよび100cのハードウェア構成について説明する。ロボット制御装置100,100a,100bおよび100cの各機能は、処理回路によって実現し得る。処理回路は、少なくとも1つのプロセッサと少なくとも1つのメモリとを備える。
Here, the hardware configurations of
図14は、実施の形態1から4におけるロボット制御装置100,100a,100bおよび100cのハードウェア構成を示す図である。ロボット制御装置100,100a,100bおよび100cは、図14(a)に示すプロセッサ200およびメモリ201によって実現することができる。プロセッサ200は、例えばCPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。
FIG. 14 is a diagram showing the hardware configuration of
メモリ201は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read-Only Memory)などの不揮発性または揮発性の半導体メモリ、HDD(Hard Disk Drive)、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disk)などである。
The
ロボット制御装置100,100a,100bおよび100cの各部の機能は、ソフトウェアなど(ソフトウェア、ファームウェア、またはソフトウェアとファームウェア)により実現される。ソフトウェアなどはプログラムとして記述され、メモリ201に格納される。プロセッサ200は、メモリ201で記憶されているプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、このプログラムは、ロボット制御装置100,100a,100bおよび100cの手順または方法をコンピュータに実行させるものであると言える。
The functions of each part of the
プロセッサ200が実行するプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、プロセッサ200が実行するプログラムは、インターネットなどのネットワーク経由でロボット制御装置100,100a,100bおよび100cに提供されてもよい。
The program executed by the
また、ロボット制御装置100,100a,100bおよび100cは、図14(b)に示す専用の処理回路202によって実現してもよい。処理回路202が専用のハードウェアである場合、処理回路202は、例えば単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはこれらを組み合わせたものなどが該当する。
Further, the
以上、ロボット制御装置100,100a,100bおよび100cの各構成要素の機能が、ソフトウェアなど、またはハードウェアのいずれか一方で実現される構成について説明した。しかしこれに限ったものではなく、ロボット制御装置100,100a,100bおよび100cの一部の構成要素をソフトウェアなどで実現し、別の一部を専用のハードウェアで実現する構成であってもよい。
The above describes the configuration in which the functions of each component of the
1 マニピュレータ、 2,2c 制約条件記憶部、 3 指令軌跡記憶部、 4,4c 速度計算部、 41 指令補間計算部、 42 動力学計算部、 43 制約条件係数計算部、 44 プロファイル計算部、 5,5c 勾配計算部、 51 指令補間勾配計算部、 52 動力学勾配計算部、 53 制約条件係数勾配計算部、 54 プロファイル勾配計算部、 6,6a 指令軌跡補正部、 61 距離関数計算部、 62 バリア関数計算部、 63 バリア関数勾配計算部、 64 指令軌跡補正値計算部、 7 指令点列計算部、 8 制御部、 81 フィードフォワード制御部、 82 フィードバック制御部、 83 電流値計算部、 9 周辺環境情報記憶部、 10 指令軌跡生成部、 110 アクチュエータ、 111 把持部、 112 ワーク、 113 周辺環境、 13 移動架台、 200 プロセッサ、 201 メモリ、 202 処理回路。 1 Manipulator, 2, 2c Constraint storage unit, 3 Command trajectory storage unit, 4, 4c Speed calculation unit, 41 Command interpolation calculation unit, 42 Dynamics calculation unit, 43 Constraint coefficient calculation unit, 44 Profile calculation unit, 5. 5c gradient calculation section, 51 command interpolation gradient calculation section, 52 dynamic gradient calculation section, 53 constraint coefficient gradient calculation section, 54 profile gradient calculation section, 6, 6a command trajectory correction section, 61 distance function calculation section, 62 barrier function calculation unit, 63 barrier function gradient calculation unit, 64 command trajectory correction value calculation unit, 7 command point sequence calculation unit, 8 control unit, 81 feedforward control unit, 82 feedback control unit, 83 current value calculation unit, 9 surrounding environment information storage unit, 10 command trajectory generation unit, 110 actuator, 111 gripping unit, 112 workpiece, 113 surrounding environment, 13 moving frame, 200 processor, 201 memory, 202 processing circuit.
Claims (10)
前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする勾配計算部と、
前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする指令軌跡補正部と、
前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する制御部と、
を備えるロボット制御装置。 a speed calculation unit that calculates a speed profile of the manipulator based on a preset command trajectory to the manipulator, constraint conditions regarding the manipulator, and an evaluation index based on an operation time of the manipulator;
a slope calculation unit that calculates a slope regarding the command trajectory of the operation time based on the speed profile and uses the slope as slope information;
a command trajectory correction unit that corrects the command trajectory based on the gradient information to obtain a corrected command trajectory;
a control unit that controls the manipulator to follow the correction command trajectory;
A robot control device comprising:
前記速度計算部は、前記把持制約学習部で学習した前記パラメータに基づいて、前記速度プロファイルを計算する請求項3に記載のロボット制御装置。 Further comprising a grip constraint learning unit that learns parameters of the constraint condition using machine learning for at least one of the force and the moment,
The robot control device according to claim 3, wherein the speed calculation section calculates the speed profile based on the parameters learned by the gripping constraint learning section.
前記速度計算部は、前記反力制約学習部で学習した前記パラメータに基づいて、前記速度プロファイルを計算する請求項5に記載のロボット制御装置。 further comprising a reaction force constraint learning unit that learns parameters of the constraint conditions using machine learning for at least one of the reaction force and the torque component of the reaction force,
The robot control device according to claim 5, wherein the speed calculation section calculates the speed profile based on the parameters learned by the reaction force constraint learning section.
前記位置と前記一階微分と前記二階微分とを用いて前記マニピュレータの運動学計算と動力学計算とを行い、運動学計算結果と動力学計算結果とを出力する動力学計算部と、
前記運動学計算結果と前記動力学計算結果と前記制約条件とに基づいて、前記制約条件の係数を計算する制約条件係数計算部と、
前記制約条件の係数に基づいて、前記速度プロファイルを計算するプロファイル計算部と、
を備える請求項1から6のいずれか1項に記載のロボット制御装置。 The speed calculation unit includes a command interpolation calculation unit that calculates a position at an interpolation point on the command trajectory and a first-order differential and a second-order differential with respect to a parameter of the command trajectory;
a dynamics calculation unit that performs kinematic calculation and dynamic calculation of the manipulator using the position, the first-order differential, and the second-order differential, and outputs the kinematic calculation result and the dynamic calculation result;
a constraint condition coefficient calculation unit that calculates a coefficient of the constraint condition based on the kinematic calculation result, the dynamic calculation result, and the constraint condition;
a profile calculation unit that calculates the speed profile based on the coefficients of the constraint;
The robot control device according to any one of claims 1 to 6, comprising:
前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする工程と、
前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする工程と、
前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する工程と、
を備えるロボット制御方法。 a step of calculating a velocity profile of the manipulator based on a preset command trajectory to the manipulator, constraint conditions regarding the manipulator, and an evaluation index based on an operation time of the manipulator;
Based on the speed profile, calculating a slope regarding the command trajectory of the operation time to obtain slope information;
correcting the command trajectory based on the gradient information to obtain a corrected command trajectory;
controlling the manipulator to follow the correction command trajectory;
A robot control method comprising:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/012339 WO2022201377A1 (en) | 2021-03-24 | 2021-03-24 | Robot control device and robot control method |
Publications (3)
Publication Number | Publication Date |
---|---|
JPWO2022201377A1 JPWO2022201377A1 (en) | 2022-09-29 |
JPWO2022201377A5 JPWO2022201377A5 (en) | 2023-02-21 |
JP7378640B2 true JP7378640B2 (en) | 2023-11-13 |
Family
ID=83396633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022563069A Active JP7378640B2 (en) | 2021-03-24 | 2021-03-24 | Robot control device and robot control method |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7378640B2 (en) |
CN (1) | CN116940906A (en) |
DE (1) | DE112021007371T5 (en) |
WO (1) | WO2022201377A1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000010777A1 (en) | 1998-08-19 | 2000-03-02 | Kuka Roboter Gmbh | Device and method for balancing the weight on a robot arm |
JP2005044230A (en) | 2003-07-24 | 2005-02-17 | Mitsubishi Electric Corp | Robot control device |
US20110087375A1 (en) | 2009-10-13 | 2011-04-14 | Kuka Roboter Gmbh | Method And Device For Controlling A Manipulator |
JP2013041478A (en) | 2011-08-17 | 2013-02-28 | Fanuc Ltd | Robot with learning control function |
WO2017129200A1 (en) | 2016-01-28 | 2017-08-03 | MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. | A system for real-world continuous motion optimization and control |
JP2019123051A (en) | 2018-01-17 | 2019-07-25 | キヤノン株式会社 | Robot device, robot control method, and robot control device |
JP2020506815A (en) | 2017-02-08 | 2020-03-05 | ユニバーシティ オブ プレトリア | robot |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05297916A (en) * | 1992-04-16 | 1993-11-12 | Nachi Fujikoshi Corp | Track control method for robot |
JP6874712B2 (en) | 2018-02-19 | 2021-05-19 | オムロン株式会社 | Simulation equipment, simulation method and simulation program |
-
2021
- 2021-03-24 CN CN202180028676.XA patent/CN116940906A/en active Pending
- 2021-03-24 DE DE112021007371.0T patent/DE112021007371T5/en active Pending
- 2021-03-24 WO PCT/JP2021/012339 patent/WO2022201377A1/en active Application Filing
- 2021-03-24 JP JP2022563069A patent/JP7378640B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000010777A1 (en) | 1998-08-19 | 2000-03-02 | Kuka Roboter Gmbh | Device and method for balancing the weight on a robot arm |
JP2005044230A (en) | 2003-07-24 | 2005-02-17 | Mitsubishi Electric Corp | Robot control device |
US20110087375A1 (en) | 2009-10-13 | 2011-04-14 | Kuka Roboter Gmbh | Method And Device For Controlling A Manipulator |
JP2013041478A (en) | 2011-08-17 | 2013-02-28 | Fanuc Ltd | Robot with learning control function |
WO2017129200A1 (en) | 2016-01-28 | 2017-08-03 | MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. | A system for real-world continuous motion optimization and control |
JP2020506815A (en) | 2017-02-08 | 2020-03-05 | ユニバーシティ オブ プレトリア | robot |
JP2019123051A (en) | 2018-01-17 | 2019-07-25 | キヤノン株式会社 | Robot device, robot control method, and robot control device |
Also Published As
Publication number | Publication date |
---|---|
CN116940906A (en) | 2023-10-24 |
DE112021007371T5 (en) | 2024-02-15 |
WO2022201377A1 (en) | 2022-09-29 |
JPWO2022201377A1 (en) | 2022-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6238628B2 (en) | Robot device, robot control method, robot control program, and part manufacturing method using robot device | |
WO2022088593A1 (en) | Robotic arm control method and device, and human-machine cooperation model training method | |
US9381643B2 (en) | Dynamical system-based robot velocity control | |
JP6347595B2 (en) | Robot control method and robot control apparatus | |
JP6400750B2 (en) | Control system having learning control function and control method | |
JP5916583B2 (en) | Weaving control device for articulated robot | |
JP2013184245A (en) | Robot controlling device, robot apparatus, robot control method, program, and recording medium | |
US20200023516A1 (en) | Automatic path generation device | |
Lee et al. | Robust and adaptive dynamic controller for fully-actuated robots in operational space under uncertainties | |
JP4111044B2 (en) | Robot controller | |
JP2007076807A (en) | Power assist device and its adaptive model prediction control method | |
JP2015174185A (en) | Robot simulation device and method, control device, and robot system | |
Mitrovic et al. | Optimal feedback control for anthropomorphic manipulators | |
Garate et al. | Grasp stiffness control in robotic hands through coordinated optimization of pose and joint stiffness | |
JP2018192600A (en) | Robot system and robot system control method | |
Mazare et al. | Adaptive variable impedance control for a modular soft robot manipulator in configuration space | |
JP2016120549A (en) | Robot control method and robot control device | |
JP4269150B2 (en) | Robot controller | |
JP7378640B2 (en) | Robot control device and robot control method | |
Vochten et al. | Shape-preserving and reactive adaptation of robot end-effector trajectories | |
JP6429977B2 (en) | Robot apparatus and robot control method | |
JP4222338B2 (en) | Adaptive visual feedback control method | |
JP6500492B2 (en) | Robot controller | |
Yovchev | Finding the optimal parameters for robotic manipulator applications of the bounded error algorithm for iterative learning control | |
JP7227018B2 (en) | Learning controller, robot controller and robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221017 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221017 |
|
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: 20231003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231031 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7378640 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |