JP5896789B2 - ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 - Google Patents
ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP5896789B2 JP5896789B2 JP2012050503A JP2012050503A JP5896789B2 JP 5896789 B2 JP5896789 B2 JP 5896789B2 JP 2012050503 A JP2012050503 A JP 2012050503A JP 2012050503 A JP2012050503 A JP 2012050503A JP 5896789 B2 JP5896789 B2 JP 5896789B2
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- speed
- estimated
- robot
- joint
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 74
- 238000012545 processing Methods 0.000 claims description 131
- 230000008569 process Effects 0.000 claims description 59
- 239000013598 vector Substances 0.000 claims description 32
- 230000001133 acceleration Effects 0.000 claims description 23
- 230000036461 convulsion Effects 0.000 claims description 20
- 230000009467 reduction Effects 0.000 claims description 11
- 230000004069 differentiation Effects 0.000 claims description 10
- 230000010354 integration Effects 0.000 claims description 7
- 230000007423 decrease Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 96
- 230000014509 gene expression Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000003638 chemical reducing agent Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 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 description 1
- 230000003287 optical 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
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
- G05B19/4103—Digital interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39358—Time optimal control along path for singular points, having veloctiy constraints
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/27—Arm part
- Y10S901/28—Joint
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Description
本発明は、教示点で与えられる軌道に沿って多関節ロボットを動作させるとき、動作時間が最短になる位置指令を生成するロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体に関する。
近年、人間の手のように複雑で高速な組立を実現できる、多関節ロボットを有する組立装置の開発事例が増えており、多関節ロボットの高速動作が重要となっている。
しかも、複雑で精密な組立て対象に対応するためには、2つの教示点間を結ぶ単純なPTP(Point to Point)軌道ではなく、3つ以上の教示点を結ぶ複雑なCP(Continuous Path)軌道に対応する必要がある。
このような要求に応えるべく、多関節ロボットの最短時間制御(Time Optimal Control)の技術が提案されている(特許文献1参照)。この最短時間制御は、1980年代から論文が散見され、よく知られている。特許文献1では、多関節ロボットの各関節に対する位置指令(目標位置)を所定時間間隔(例えば1ms間隔)で出力するために、与えられた各教示点間を所定時間間隔で補間して位置指令を求めている。そして、各位置指令の値を、動作時間が最小化するように修正している。
しかしながら、上記特許文献1では、最短時間制御に要する計算量が多い。具体的に説明すると、上記特許文献1では、各教示点に基づき目標位置を示す位置指令を計算し、この計算した位置指令に対して最短時間制御の演算を行い、修正した位置指令を生成している。
位置指令は、多関節ロボットの速度や位置精度が低下するのを抑制するために、微小(例えば数ミリ秒)の所定時間間隔で出力する必要があり、データ量が多い。例えば多関節ロボットを10秒間動かす際に、1ms間隔で位置指令を出力する際には、10×1000=1万個の修正した位置指令が必要となる。従って、最短時間制御で演算処理するデータ量が多くならざるを得ない。そして、最短時間制御は、最適化問題に帰着して解くものであり、計算時間を要するものであり、データ量の増加は計算時間の増加となる。演算処理している間は、多関節ロボットを動作させることができないので、最短時間制御の目的であった、多関節ロボットの高速動作ができていないという問題があった。
そこで、本発明は、最短時間制御に要する計算量を低減することを目的とするものである。
本発明は、多関節ロボットの各関節が、前記各関節の教示位置をベクトル成分として含む複数の教示点を順次辿って動作するよう、前記各関節を駆動する各アクチュエータの動作を制御する駆動制御部に、所定時間間隔で位置指令を出力するロボット制御装置において、前記各教示点の間を補間する複数の補間教示点を通過する補間関数を求める補間関数計算処理と、前記各補間教示点に含まれる各ベクトル成分を前記補間関数の変数で微分した微分係数をそれぞれ計算する微分係数計算処理と、前記各補間教示点において前記変数を時間微分した微分値を示す通過速度をそれぞれ仮設定する仮設定処理と、前記各補間教示点における前記各関節の推定速度を、前記各通過速度及び前記各微分係数に基づいて計算する推定値計算処理と、前記各関節の推定速度と予め定めた許容速度との比が所定制約範囲内となる条件を含む制約条件の下、前記各通過速度を変更して、前記各通過速度の逆数を前記変数で積分して得られる目的関数を最小化する最短時間制御処理と、前記最短時間制御処理で得られた前記各通過速度から通過速度関数を求める通過速度関数計算処理と、前記通過速度関数を前記所定時間間隔の値で時間積分する度に、該積分の値を前記補間関数における前記変数に代入することで、前記位置指令を生成する位置指令生成処理と、を実行する演算部を備えたことを特徴とする。
また、本発明は、多関節ロボットの各関節が、前記各関節の教示位置をベクトル成分として含む複数の教示点を順次辿って動作するよう、前記各関節を駆動する各アクチュエータの動作を制御する駆動制御部に、所定時間間隔で出力する位置指令を生成する演算部を有するロボット制御装置を用いたロボット制御方法において、前記演算部が、前記各教示点の間を補間する複数の補間教示点を通過する補間関数を求める補間関数計算処理工程と、前記演算部が、前記各補間教示点に含まれる各ベクトル成分を前記補間関数の変数で微分した微分係数をそれぞれ計算する微分係数計算処理工程と、前記演算部が、前記各補間教示点において前記変数を時間微分した微分値を示す通過速度をそれぞれ仮設定する仮設定処理工程と、前記演算部が、前記各補間教示点における前記各関節の推定速度を、前記各通過速度及び前記各微分係数に基づいて計算する推定値計算処理工程と、前記演算部が、前記各関節の推定速度と予め定めた許容速度との比が所定制約範囲内となる条件を含む制約条件の下、前記各通過速度を変更して、前記各通過速度の逆数を前記変数で積分して得られる目的関数を最小化する最短時間制御工程と、前記演算部が、前記最短時間制御工程で得られた前記各通過速度から通過速度関数を求める通過速度関数計算処理工程と、前記演算部が、前記通過速度関数を前記所定時間間隔の値で時間積分する度に、該積分の値を前記補間関数における前記変数に代入することで、前記位置指令を生成する位置指令生成処理工程と、を備えたことを特徴とする。
本発明によれば、各補間教示点における補間関数の変数に対する各通過速度を目的関数が最小化するように変更する最短時間制御処理を行い、このようにして求められた各通過速度を用いて、補間関数から所定時間間隔毎の位置指令を生成している。このように、位置指令は目的関数の最小化を行った後に求めているので、補間教示点の数を位置指令の数と同数にする必要はなく、補間教示点の数を、位置指令の数よりも少なくすることが可能である。したがって、最短時間制御処理に要する計算量を低減することができ、演算部において位置指令を求める計算速度を向上させることができる。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係るロボット装置の概略構成を示す説明図である。図1に示すロボット装置100は、多関節ロボットとしてのロボットアーム200と、ロボットアーム200を制御するロボット制御装置300と、を備えている。また、ロボット装置100は、ロボット制御装置300に複数の教示点のデータを送信する教示装置としてのティーチングペンダント400を備えている。ティーチングペンダント400は、人が操作するものであり、ロボットアーム200やロボット制御装置300の動作を指定するのに用いる。
図1は、本発明の第1実施形態に係るロボット装置の概略構成を示す説明図である。図1に示すロボット装置100は、多関節ロボットとしてのロボットアーム200と、ロボットアーム200を制御するロボット制御装置300と、を備えている。また、ロボット装置100は、ロボット制御装置300に複数の教示点のデータを送信する教示装置としてのティーチングペンダント400を備えている。ティーチングペンダント400は、人が操作するものであり、ロボットアーム200やロボット制御装置300の動作を指定するのに用いる。
ロボットアーム200は、本第1実施形態では、例えば6関節ロボットである。ロボットアーム200は、各関節J1〜J6を各関節軸A1〜A6まわりにそれぞれ回転駆動する複数(6つ)のアクチュエータ201〜206を有している。ロボットアーム200は、可動範囲の中であれば任意の3次元位置で任意の3方向の姿勢に手先(ロボットアームの先端)を向けることができる。一般に、ロボットアーム200の位置と姿勢は、座標系で表現することができる。図1中のToはロボットアーム200の台座に固定した座標系を表し、Teはロボットアーム200の手先に固定した座標系を表す。
本実施形態では、各アクチュエータ201〜206は、電動モータ211〜216と電動モータ211〜216に接続された減速機221〜226とからなる。なお、各アクチュエータ201〜206の構成は、これに限定するものではなく、例えば人工筋肉等であってもよい。
本第1実施形態では、各関節J1〜J6が回転関節である場合について説明する。この場合、「関節の位置」とは、関節の角度を意味する。なお、各関節が直動関節の場合であってよい。その場合、「関節の位置」とは、直動関節の位置である。同様に、それらの時間微分についても「関節の速度」、「関節の加速度」、「関節の加加速度」という。
ロボットアーム200は、更に、各アクチュエータ201〜206の電動モータ211〜216を駆動制御する駆動制御部としてのサーボ制御装置230を有している。サーボ制御装置230は、入力した位置指令(目標位置)に基づき、各関節J1〜J6の位置が位置指令に追従するよう、各電動モータ211〜216に電流指令を出力し、各電動モータ211〜216の動作を制御する。
ロボット制御装置300は、ティーチングペンダント400から複数の教示点(教示点列)の入力を受ける。ロボット制御装置300は、ロボットアーム200の各関節J1〜J6が、複数の教示点を順次辿って動作するよう、教示点に基づき、サーボ制御装置230に所定時間間隔で出力する位置指令を生成し、所定時間間隔で位置指令を出力する。
教示点は、各関節(6つの関節)J1〜J6の教示位置をベクトル成分として含むベクトル(教示点ベクトル)である。そして、ロボット制御装置300において最終的に求められる位置指令は、各関節(6つの関節)J1〜J6の目標位置をベクトル成分として含むベクトルである。本第1実施形態では、教示点と位置指令とは、点数は異なるが、次元(単位)は同一である。
つまり、ロボット制御装置300は、入力した教示点からCP軌道の計算をして軌道に沿った多数の位置指令を生成し、これら位置指令を所定時間間隔でサーボ制御装置230に出力するものである。
その際、ロボット制御装置300は、与えられた教示点列によって定まる軌道に対し、軌道上の通過速度を、ロボットアーム200の各関節J1〜J6の速度、加速度、トルク等の制約条件を越えない範囲で調整する、多関節ロボットの最短時間制御を行う。
ここで、教示によるロボットアーム200の動作方法として次の2種類が考えられる。
1 関節空間移動 Motion in configuration space
ロボットアーム200の関節角度で教示点を指定し、指定した教示点で決定される軌道に沿ってロボットを動かす方法。
ロボットアーム200の関節角度で教示点を指定し、指定した教示点で決定される軌道に沿ってロボットを動かす方法。
2 タスク空間移動 Motion in task space
三次元的な位置と姿勢で教示点を指定し、指定した教示点とロボットアーム200の手先で決定される軌道に沿ってロボットアーム200を動かす方法。
三次元的な位置と姿勢で教示点を指定し、指定した教示点とロボットアーム200の手先で決定される軌道に沿ってロボットアーム200を動かす方法。
図1では、4つの教示点p1,p2,p3,p4を模式的に図示している。いずれの場合でもロボットアーム200の動作は教示点で決まる軌道に沿って動く。ここで、教示点はいわゆる3次元空間内の点ではない。関節空間移動の場合では、教示点は全関節J1〜J6の関節角度(全モータの回転角度)である。タスク空間移動の場合では、教示点は3次元空間の位置および姿勢であり、これは図1のように、p1,p2,p3,p4を座標系として表現される。
以下、本第1実施形態では、関節空間移動の場合について説明する。関節空間移動では、教示点はロボットの各関節J1〜J6の角度である。従って、6軸6関節ロボットの場合、1つの教示点には6つのベクトル成分が含まれる。
図2は、ロボット制御装置300の構成を示すブロック図である。本第1実施形態では、ロボット制御装置300は、図2に示すように、演算部としてのCPU301を備えたコンピュータである。
ロボット制御装置300は、演算部としてのCPU301、ROM302、RAM303、HDD304、記録ディスクドライブ305及び各種のインタフェース306〜309を備えている。
CPU301には、ROM302、RAM303、HDD304、記録ディスクドライブ305及び各種のインタフェース306〜309が、バス310を介して接続されている。ROM302には、CPU301を動作させるためのプログラム330が格納されている。このプログラム330は、CPU301に各種演算処理を実行させるためのプログラムである。CPU301は、ROM302に格納されたプログラム330に基づいて各種演算処理を実行する。RAM303は、CPU301の演算処理結果を一時的に記憶する記憶部である。HDD304は、演算処理結果である各種のデータを記憶するための記憶部である。
ティーチングペンダント400はインタフェース306に接続されており、CPU301はインタフェース306及びバス310を介してティーチングペンダント400からの教示点のデータの入力を受ける。
HDD304には、CPU301による演算結果を示すデータ(位置指令のデータ)等がCPU301の指令の下で記憶される。
ロボットアーム200のサーボ制御装置230は、インタフェース309に接続されており、CPU301は、位置指令のデータを所定時間間隔でバス310及びインタフェース309を介してサーボ制御装置230に出力する。
インタフェース307には、モニタ321が接続されており、モニタ321には、各種画像が表示される。インタフェース308は、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置322が接続可能に構成されている。記録ディスクドライブ305は、記録ディスク331に記録された各種データやプログラム等を読み出すことができる。
図3は、ロボット制御装置300の機能ブロック図である。CPU301は、ROM302に格納されたプログラム330を実行することで、以下に説明する各処理を実行する各種の処理部351,352,353として機能する。つまり、CPU301は、プログラム330に基づき、図3に示す第1補間部351、通過速度計算部352、第2補間部353として機能する。なお、図3において、丸四角はデータを、四角はCPU301の処理を表す。
各部351,352,353の動作について大まかに説明すると、まず、第1補間部351は、補間関数を用いて各教示点の間を補間し、補間教示点のそれぞれの位置において、各関節の位置を求める。更に、第1補間部351は、その1階微分値、2階微分値、3階微分値を計算する。
通過速度計算部352は、補間教示点のそれぞれの位置において通過速度を定義する。次いで、通過速度計算部352は、通過速度の1階微分値と、通過速度の2階微分値を計算する。通過速度計算部352は、それらと、第1補間部351で計算した各関節の位置、およびその1階微分値、2階微分値、3階微分値とから、ロボットアーム200の各関節の、推定速度、推定加速度、推定加加速度、推定トルクを計算する。更に、通過速度計算部352は、ロボットアーム200の先端の推定先端速度(以下、推定手先速度という)、およびロボットアーム200の先端の推定回転速度(以下、推定手先回転速度という)を計算する。
次いで、通過速度計算部352は、計算した推定速度、推定加速度、推定加加速度、推定トルク、推定手先速度および推定手先回転速度と、予め定めておいた制約値との比である制約条件違反率を計算する。
通過速度計算部352は、計算した全て、または予め選択した制約条件違反率が、所定制約範囲内(±1の範囲内)となる不等式制約を満足し、通過速度の逆数の和、すなわち動作時間を最短にする、不等式制約最適化問題を解いて、通過速度を求める。
第2補間部353は、計算した通過速度を所定時間間隔で積分して求めた位置における、ロボットアーム200の各関節への位置指令を、補間関数を使って計算する。
ここで、数式における記号を以下のように定義する。なお、数式中、太文字はベクトルを示す。
以下、各部351,352,353の動作について、図3、図4及び図5を参照しながら詳細に説明する。第1補間部351は、図3に示すように、補間関数計算処理部361と、微分係数計算処理部362とを有している。通過速度計算部352は、仮設定処理部363と、通過速度微分係数計算処理部364と、推定値計算処理部365と、制約条件違反率計算処理部368と、最短時間制御処理部369と、通過速度関数計算処理部372と、を有している。第2補間部353は、位置指令生成処理部373からなる。推定値計算処理部365は、計算処理部366と、運動学計算処理部367とからなる。最短時間制御処理部369は、収束判定処理部370と、通過速度変更処理部371とからなる。
まず、補間関数計算処理部361は、各教示点(ベクトル)piの間を補間する複数の補間教示点(ベクトル)q(s)を通過する補間関数を求める補間関数計算処理を実行する(補間関数計算処理工程)。例えば、補間関数計算処理部361は、図4(a)に示す4つの教示点p1〜p4を取得した場合、4つの教示点p1〜p4の間を補間する、図4(b)に示す複数の補間教示点q(1),q(2),…を通過する補間関数を求める。教示点p1は始点であり、教示点p4は終点である。
ここで、変数sは、各補間教示点において連番となる変数、つまり、各補間教示点において、各補間教示点に通過順に割り振った通し番号となる変数であり、補間関数において、実数の値を取り得る。
図4(b)では、補間関数を点線で模式的に表している。補間関数は直線補間や円弧補間、スプライン補間など様々なものが提案されているが、全て、次の式(1)で表現できる。
ここで、変数sは、整数の値とした場合、各補間教示点q(s)の番号となる。例えば、各教示点p1〜p4間を10分割した場合、31個の分割した補間教示点q(1)〜q(31)が得られる。また、補間するので変数sは整数でなく連続した数(実数)の値を取り得る。
補間関数は変数sの多項式とするのが好ましく、本第1実施形態では、後に3階の微分係数まで計算するので、3次多項式として、次のような式としている。
式(2)に示す多項式の各係数(ベクトル)a1,a2,a3,a4は、pi−pi−1区間ごとに異なるものを選択し、本実施形態では、区間の境界で2次の微分係数まで連続なものが選ばれる。
この補間関数には、各教示点pi上を通過するものと通過しないものとがある。つまり、補間関数は、必ずしも全ての教示点上を通過しなければならないというものではない。
このように、補間関数計算処理部361は、式(2)に示す各係数a1,a2,a3,a4を計算して、補間関数を求め、各補間教示点q(1),q(2),…を、補間関数の変数sにs=1,2,…を代入して求める。
ここで、補間教示点q(1),q(2),…は、後述する通過速度を求めるために用いられるものであるので、その点数を、位置指令の数ほど多くする必要はない。例えば教示点pi−pi−1の間を10分割すれば十分である。補間教示点q(s)の点数は、サーボ制御装置230に出力する位置指令の点数よりも少なく設定される。例えば、ロボットアーム200が図4(a)に示した4つの教示点p1〜p4を10秒間かけて移動するものとし、所定時間間隔1msでサーボ制御装置230に位置指令を出力する場合、10÷0.001=10000点の位置指令が必要である。これに対し、教示点p1〜p4間を10分割したとすると、補間教示点q(s)の点数は31点となり、位置指令の点数に対して格段に少なくできる。
次に、微分係数計算処理部362は、各補間教示点q(1),q(2),…に含まれる教示位置を示す各ベクトル成分を補間関数の変数sで微分した微分係数をそれぞれ計算する微分係数計算処理を実行する(微分係数計算処理工程)。
ここで、仮に補間教示点q(1)〜q(31)の差分を計算する方法では、補間誤差が拡大され、高階微分には使えない。
本第1実施形態では、3階微分まで使うので、従来技術のような単純な差分式は使わず、直接、補間関数を微分した関数を用いる。つまり、式(2)をそれぞれ、変数sで1階微分、2階微分、3階微分すると、次の式(3)のように計算される。
したがって、本第1実施形態では、微分係数計算処理部362は、各補間教示点q(1)〜q(31)における各ベクトル成分を変数sで微分した微分係数として、1階の微分係数、2階の微分係数、3階の微分係数を、式(3)を用いて計算する。つまり、微分係数計算処理部362は、各補間教示点での微分係数を、式(3)の変数sにs=1,2,…,31をそれぞれ代入して計算する。
次に、仮設定処理部363は、各補間教示点q(1)〜q(31)において変数sを時間微分した微分値(1階の微分係数)を示す通過速度をそれぞれ仮設定する仮設定処理を実行する(仮設定処理工程)。各通過速度は、各補間教示点q(1)〜q(31)において変数sが変化する速度を示している。
例えば、各通過速度は、図4(c)に示すように、各補間教示点においてφ(1)〜φ(31)が初期設定(仮設定)される。これら通過速度φ(s)は、
例えば各通過速度φ(1)〜φ(31)は一定の数字、例えば、
次に、通過速度微分係数計算処理部364は、各補間教示点q(1)〜q(31)における各通過速度φ(1)〜φ(31)を変数sで微分した微分係数(本実施形態では、1階微分、2階微分)を計算する計算処理を実行する。
この通過速度微分係数計算処理では、次式(4)で表す数式に基づき、計算処理を実行する。
次に、計算処理部366は、ロボットアーム200の各関節J1〜J6の推定速度、推定加速度、推定加加速度を、各通過速度及び各微分係数に基づいて計算する推定値計算処理を実行する(推定値計算処理工程)。つまり、計算処理部366は、推定速度、推定加速度、推定加加速度を、各通過速度φ(s)の値(これらに基づいて計算した微分係数φ’(s)、φ’’(s)も含む)、及び各微分係数q’(s),q’’(s),q’’’(s)の値に基づいて計算する。ここで、s=1,2,…,31である。
具体的に説明すると、計算処理部366は、以下の式(5)に各計算結果を代入して、推定速度q(・)(s)、推定加速度q(‥)(s)、推定加加速度q(…)(s)を計算する。これら推定速度q(・)(s)、推定加速度q(‥)(s)、推定加加速度q(…)(s)はベクトルである。
なお、推定加速度とは、推定速度を時間で1階微分した値であり、推定加加速度とは、推定速度を時間で2階微分した値である。
次に、運動学計算処理部367は、各補間教示点における各関節の推定トルク、ロボットアーム200の推定手先速度、及びロボットアーム200の推定手先回転速度を、各通過速度及び各微分係数に基づいて計算する推定値計算処理を実行する。
具体的に説明すると、運動学計算処理部367は、補間教示点(関節の教示位置)q(s)、推定速度q(・)(s)、推定加速度q(‥)(s)から、関節にかかる推定トルク(ベクトル)u(s)を計算する。
この計算はロボットアーム200の逆動力学計算として知られている。例えば文献、高野晴久、ロボットの運動学、2005年6月10日、オーム社(東京)、91ページから引用すると、次式となる。
右辺第1項は慣性項、第2項はコリオリ項、第3項は重力項、第4項は外力項と呼ばれている。ロボットアーム200を構成するリンクの配置や質量、慣性テンソルおよび各関節の位置q(s)、推定速度q(・)(s)、推定加速度q(‥)(s)から計算する。
また、運動学計算処理部367は、ロボットアーム200の各関節の補間教示点q(s)、推定速度q(・)(s)から、ロボットアーム200の推定手先速度(ベクトル)r(・)(s)及び推定手先回転速度(ベクトル)w(・)(s)を計算する。
この計算は順運動学計算として知られており、ヤコビ行列Tを使って簡単に求まる。例えば文献、高野晴久、ロボットの運動学、2005年6月10日、オーム社(東京)、42ページから引用すると、次式となる。
このように、運動学計算処理部367は、関節の位置、速度、加速度、加加速度の推定値と、ロボットの各関節の受け持つ質量や慣性テンソルから、式(6)を用いて、関節にかかる推定トルクを計算する。また、運動学計算処理部367は、式(7)を用いて、ロボットアーム200の推定手先速度及び推定手先回転速度を計算する。
次に、制約条件違反率計算処理部368は、各関節の推定速度と予め定めた許容速度との比である関節速度の制約条件違反率を計算する制約条件違反率計算処理を実行する。即ち、制約条件違反率計算処理部368は、
また、制約条件違反率計算処理部368は、各関節の推定加速度と予め定めた許容加速度との比である関節加速度の制約条件違反率を計算する制約条件違反率計算処理を実行する。即ち、制約条件違反率計算処理部368は、
また、制約条件違反率計算処理部368は、各関節の推定加加速度と予め定めた許容加加速度との比である関節加加速度の制約条件違反率を計算する制約条件違反率計算処理を実行する。即ち、制約条件違反率計算処理部368は、
また、制約条件違反率計算処理部368は、各関節の推定トルクと予め定めた許容トルクとの比である関節にかかるトルクの制約条件違反率を計算する制約条件違反率計算処理を実行する。即ち、制約条件違反率計算処理部368は、
また、制約条件違反率計算処理部368は、各補間教示点におけるロボットアーム200の先端の推定先端速度と予め定めた許容先端速度との比である手先速度の制約条件違反率を計算する制約条件違反率計算処理を実行する。即ち、制約条件違反率計算処理部368は、
また、制約条件違反率計算処理部368は、各補間教示点におけるロボットアーム200の先端の推定回転速度と予め定めた許容回転速度との比である手先回転速度の制約条件違反率を計算する制約条件違反率計算処理を実行する。即ち、制約条件違反率計算処理部368は、
説明のため、以上の制約条件違反率を
制約を満足するためには制約条件違反率αn(s)が±1の範囲に入っている必要がある。つまり、次の2つの式を両方満足する必要がある。
また、ロボットアーム200が教示点の始点から終点まで移動するのに要する所要時間は、各通過速度の逆数を変数sで積分し、次の式(9)の目的関数で求まる。
通過速度をパラメタとし、式(9)の目的関数を、式(8)の不等式制約を満足する範囲で最小化する問題は、不等式制約最適値問題として知られており、様々な解法が提案されている。例えば、次のようなラグランジェ関数を最小化する方法である。
ここで、ρはペナルティパラメタと呼ばれている。
本第1実施形態では、最短時間制御処理部369は、制約条件違反率αn(s)が±1の範囲内となる制約条件の下、各通過速度を変更して、式(9)の目的関数を最小化する最短時間制御処理を実行する(最短時間制御処理工程)。
具体的には、まず、最短時間制御処理部369の収束判定処理部370が、次の2つの条件を両方満たしたとき収束完了と判定する。
条件1として、全ての制約条件違反率αn(1),αn(2),…,αn(31)が±1以内であること。つまり式8を満足すること。
条件2として、通過速度分布φ(1),φ(2),…φ(31)が前回の通過速度分布φ0(1),φ0(2),…,φ0(31)と比較して、予め定めた微少量ε以内の変化であること。つまり、以下の式(11)を満たすこと。
なお、収束判定処理部370は、前回の通過速度分布φ0(1),φ0(2),…,φ0(31)のデータがない場合(つまり反復処理の1順目)は、収束判定に、条件1のみを用いて判定する。
この収束判定処理部370で、収束していないと判定した場合、最短時間制御処理部369の通過速度変更処理部371は、式(10)に基づき、各通過速度の値を変更する処理を実行する。そして、通過速度微分係数計算処理部364、推定値計算処理部365、制約条件違反率計算処理部368は、変更された各通過速度を用いて上述した各演算処理を実行する。これらの反復処理は、収束判定処理部370で収束したと判定するまで実行される。以上のように、最短時間制御処理部369は、式(9)の目的関数を、式(8)の不等式制約条件を満足する範囲で最小化するよう、通過速度を最適化する。
次に、収束判定処理部370が収束判定で収束したと判定した場合、通過速度関数計算処理部372は、最短時間制御処理で得られた各通過速度から通過速度関数を求める通過速度関数計算処理を実行する(通過速度関数計算処理工程)。
次に、位置指令生成処理部373は、求められた通過速度関数を所定時間間隔δの値で時間積分する度に、該積分の値を補間関数における変数sに代入することで、位置指令を生成する位置指令生成処理を実行する(位置指令生成処理工程)。
図5に位置指令生成処理部373で求める位置指令の例を示す。この位置指令生成処理部373は、通過速度関数φ(s)を予め定めた所定時間間隔δ(例えば1ms)ごとに積分して教示点番号sを求め、その位置における関節値を示す位置指令を補間関数を使って計算する。ただし、第1補間部351と違って、微分係数の計算は不要である。この計算は、最も簡単な積分公式を使うと、次のように簡潔に記述できる。
ここで、添え字のiは所定時間間隔δごとに計算する指令値の番号である。また、変数sの初期値はゼロ、つまり
位置指令生成処理部373は、式(12)で所定時間間隔δ後の教示点の位置si+1を計算し、式(13)で各関節の位置指令(ベクトル)qi+1を計算する。こうして求まった、一定時間間隔ごとの位置指令qiは、式(8)、式(9)で記述した不等式制約最適値問題の解となっているので、ロボットアーム200は最短時間で動作する。
以上、本第1実施形態では、各補間教示点における補間関数の変数sに対する各通過速度φ(1),φ(2),…φ(31)を目的関数が最小化するように変更する最短時間制御処理を行う。そして、このようにして求められた各通過速度φ(1),φ(2),…φ(31)を用いて、補間関数から所定時間間隔毎の位置指令q1,q2,…を生成している。ここで、第1補間部351により、最短時間制御に使用する補間教示点の数が決まる。一般に不等式制約最適値問題は計算時間がかかるが、補間教示点の点数は、最終的に生成する、サーボ制御装置230に等時間間隔で送る位置指令の点数に対して少なく設定できる。例えば、補間教示点の点数を31、位置指令の点数を10000とすると、31/10000、すなわち約0.3%の点数となるので格段に計算量を少なくすることができる。
このように、本第1実施形態では、位置指令q1,q2,…を、目的関数の最小化を行った後に求めているので、補間教示点の数を位置指令の数と同数にする必要はなく、補間教示点の数を、位置指令の数よりも少なくすることが可能である。そのため、最短時間制御処理に要する計算量を低減することができ、従来よりもCPU301において位置指令を求める計算時間を短縮して、計算速度を向上させることができる。
また、各補間教示点の微分係数は、微分係数計算処理部362で一度計算するだけで、通過速度計算部352では定数として扱えるため、計算量が少なく、計算時間はそのぶんだけ少ない。
また、従来技術では、制約条件が、ロボットアームの関節の推定速度の制約条件違反率が所定制約条件範囲内となる条件のみであった。これに対し、本第1実施形態では、制約条件には、ロボットアーム200の関節の推定速度、推定加速度、推定加加速度、推定トルク、推定手先速度および推定手先回転速度の制約条件違反率が式(8)で示した所定制約条件範囲内となる条件が含まれている。したがって、従来技術に対して幅広い制約条件に対応できており、ロボットアーム200の動作が安定する。例えば、制約条件に、推定加加速度と予め定めた許容加加速度との比が所定制約範囲内となる条件が含まれるので、ロボットアーム200に異常な加振力がかるのを抑制することができ、ロボットアーム200が大きく振動するのを抑制することができる。
なお、本第1実施形態では、補間関数として3次スプラインを例として説明したが、4次以上のスプライン補間、あるいは多項式補間により補間関数を求めてもよい。さらに、直線補間、円弧補間などにより補間関数を求めてもよい。
また、本第1実施形態では、複数の教示点から一定時間ごとの位置指令を作成するまでを連続した一連の動作として説明したが、次のように途中で2段に分けて行ってもよい。
計算処理Aとして、第1補間部351と通過速度計算部352との処理を連続して行い、通過速度φ(s)を求める。
計算処理Bとして、第2補間部353(位置指令生成処理部373)により、通過速度φ(s)と教示点から一定時間ごとの位置指令を作成する。
計算処理Aは、最適化計算であり、計算量の多いので、ロボットアーム200を動作させる前に計算しておく。後半の計算処理Bは、計算量が少ないので、ロボットアーム200を実際に動かしながら処理することが可能である。この場合、計算のためにロボットアーム200が停止する時間は、計算処理Aの処理時間だけとなる。
つまり、計算処理A,Bが全部終わってからロボットアーム200を動かす方法よりも、ロボットアーム200の停止時間を短縮できる。
[第2実施形態]
次に、本発明の第2実施形態に係るロボット制御装置について説明する。図6は、本発明の第2実施形態に係るロボット制御装置の微分係数計算処理部の動作を説明するための模式図である。なお、本第2実施形態では、微分係数計算処理部362(図3)の計算処理のみが上記第1実施形態と異なる。したがって、本第2実施形態では、微分係数計算処理部362の計算処理について説明する。
次に、本発明の第2実施形態に係るロボット制御装置について説明する。図6は、本発明の第2実施形態に係るロボット制御装置の微分係数計算処理部の動作を説明するための模式図である。なお、本第2実施形態では、微分係数計算処理部362(図3)の計算処理のみが上記第1実施形態と異なる。したがって、本第2実施形態では、微分係数計算処理部362の計算処理について説明する。
上記第1実施形態では、関節空間移動(Motion in configuration space)の場合を例に説明した。本第2実施形態ではタスク空間移動(Motion in task space)の場合を説明する。本第2実施形態では、上記第1実施形態とは、式(1)に示した補間関数が異なる。
タスク空間移動の場合、補間関数はタスク空間で表現されている教示点を補間した後、ロボットアーム200の逆機構学(inverse kinematics)計算を行って関節空間に変換し、補間教示点を求める。この時、複雑な逆機構学計算を行うため、解析的に微分係数を計算することが困難である。
本第2実施形態では、上記第1実施形態と同様に、演算部としてのCPU301(図2)は、プログラム330に基づき、微分係数計算処理部362として機能する。
そして、本第2実施形態では、微分係数計算処理部362が、補間関数が解析的に微分困難な場合に対応するため数値微分する。ただし、本第2実施形態では、粗く補間することによって補間教示点の点数を減らしているので、単純に補間教示点間の値で数値微分すると、補間誤差が大きくなる。そこで、補間分割したそれぞれの位置において次のように微分係数を求める。
微分係数計算処理部362は、微分係数計算処理として、各補間教示点q(1)〜q(31)の各ベクトル成分に対して変数sを各補間教示点の間隔よりも小さい微小値eで変化させたときの各ベクトル成分を補間関数に基づいて計算する。そして、微分係数計算処理部362は、該計算の結果を用いて、各微分係数を計算する。具体的には、微分係数計算処理部362は、各補間教示点q(1)〜q(31)におけるベクトル成分の1階微分値、2階微分値、3階微分値を計算する。
詳述すると、まず、微分係数計算処理部362は、s=1,2,…,31における補間関数の値、及び変数sを微小値eずらした位置での補間関数の値を、それぞれのsの値について4点計算する。
次に、微分係数計算処理部362は、次式(15)で1階微分値、2階微分値、3階微分値を計算する。
上式(15)は一つの例であり、数値微分の公式はこの他にも多数知られている。この方法によれば、解析的に微分することが困難な補間関数であっても、1階微分値、2階微分値、3階微分値を精度よく計算でき、最短時間制御を実施できる。
[第3実施形態]
次に、本発明の第3実施形態に係るロボット装置について説明する。本第3実施形態では、ロボット装置100Bは、複数の多関節ロボットとして、2つのロボットアーム200a,200bと、これらロボットアーム200a,200bを制御するロボット制御装置300Bと、を備えている。なお、本第3実施形態では、演算部としてのCPUの計算処理において、上記第1、第2実施形態とは補間関数を求める補間関数計算処理が異なるものであるが、他の計算処理は、上記第1、第2実施形態と同様である。
次に、本発明の第3実施形態に係るロボット装置について説明する。本第3実施形態では、ロボット装置100Bは、複数の多関節ロボットとして、2つのロボットアーム200a,200bと、これらロボットアーム200a,200bを制御するロボット制御装置300Bと、を備えている。なお、本第3実施形態では、演算部としてのCPUの計算処理において、上記第1、第2実施形態とは補間関数を求める補間関数計算処理が異なるものであるが、他の計算処理は、上記第1、第2実施形態と同様である。
したがって、本第3実施形態では、ロボット制御装置300Bは、2つのロボットアーム200a,200bを制御対象としているが、それぞれのロボットアームにおいて、補間関数計算処理以外は、上記第1、第2実施形態と同様の処理を行うものである。
人間の組立では、両方の腕や手など、複数要素が同期して動く。同じようにロボットアームのロボット制御装置においても、複数のロボットアームの同期動作を実現できなければならない。
本第3実施形態では、上記第1、第2実施形態と同様に、演算部としてのCPU301(図2)は、プログラム330に基づき、補間関数計算処理部361として機能する。
そして、本第3実施形態では、補間関数計算処理部361は、補間関数計算処理として、各教示点に、時刻に対応した教示点番号を付与し、該教示点番号を用いたスプライン補間により補間関数を求める。
具体的に説明すると、補間関数計算処理部361は、それぞれの教示点列の教示点に単調増加する教示点番号を設定し、その教示点番号を使った不等間隔スプラインによって教示点列の教示点間を補間する補間関数を求める。
例えば、図7(a)に示すように、第1のロボットアーム200aに対しては、教示点が4つ(1p1,1p2,1p3,1p4)、第1のロボットアーム200aに対しては、教示点が3つ(2p1,2p3,2p4)あるものとする。これらの教示点で、後半の2つは両方のロボットアーム200a,200bを協調させて作業するため同時刻に通過させたいとする。
それぞれの教示点列において単調増加する教示点番号は1番からスタートするが、第2のロボットアーム200bについては2番が抜けている。2つの教示点列において、同じ教示点番号のところで同期した動きを実現するのが目的である。つまり、2番を除いた1番、3番、4番の教示点をそれぞれのロボットアーム200a,200bが同時に通過することが目的である。
これは、補間関数を不等間隔スプライン関数にすることによって実現できる。不等間隔スプライン関数は例えば、Bスプラインなどが知られている。
これ以降の処理は、上記第1、第2実施形態と同様である。
本第3実施形態では、上記第1及び第2実施形態の効果に加えて、教示番号が同じところ、上式では同じsの値のところでロボットアーム200a,200bを同期させることができる。つまり複数のロボットアームの同期動作に対応した最短時間制御を実現できる。
[第4実施形態]
次に、本発明の第4実施形態のロボット制御装置について説明する。図8は、本発明の第4実施形態に係るロボット制御装置における制約条件違反率計算処理部の処理動作を説明するための図である。
次に、本発明の第4実施形態のロボット制御装置について説明する。図8は、本発明の第4実施形態に係るロボット制御装置における制約条件違反率計算処理部の処理動作を説明するための図である。
本第4実施形態のロボット制御装置では、予め定めておいた制約値(許容値)が、補間教示点ごとに異なる値に設定されている。あらかじめ異なる制約値を教示点ごとに与え、その値に従って式(8)を用いて制約条件違反率を計算する。その他の計算処理は上記第1〜第3実施形態と同様であるので、説明を省略する。
上記第1〜第3実施形態の制約条件違反率計算処理部368では、制約条件違反率として、推定値と予め定めた許容値との比を計算していた。例えば第j軸の関節の速度の場合、上記第1〜第3実施形態では、関節の推定速度と定数である許容速度Vjとの比、
本第3実施形態では、許容速度が変数の値に応じて変化する値に設定され、推定速度と教示点ごとに異なる許容速度との比、
図8示す横軸は補間教示点の番号を示す変数sであり、変数sは補間するので整数に限らず、連続した数字である。この図8は、通過速度の最適化計算が完了した後を図示している。従って関節の推定速度は許容速度を越えていない。
本第4実施形態では、教示点ごとに制約条件を設定できるので、上記第1〜第3実施形態よりもさらに制約条件の自由度が向上する。
更に、本第4実施形態では、図8に示すように、許容速度が、変数sの値が増加するに連れて小さくなるように設定されている。これにより、ロボットアームが終点に近づくに連れて関節の速度が低下するので、ロボットアームを用いた組立作業を安定して行うことができる。
なお、本第4実施形態では、関節の速度の制約について説明したが、関節の加速度や加加速度、トルク、手先速度、手先回転速度など他の制約条件についても同じように、教示点ごとに許容値を設定できる。
以上説明したように、本第4実施形態によれば、上記第1〜第3実施形態の効果に加えて、教示点ごとに異なる許容値を設定してロボットアームの最短時間制御を実現できる。
[第5実施形態]
次に、本発明の第5実施形態に係るロボット制御装置について説明する。本第5実施形態では、制約条件には、上記第1〜第4実施形態における条件の他、更に、推定モータトルクと予め定めた許容モータトルクとの比が所定制約範囲内(±1の範囲内)となる条件が含まれている。
次に、本発明の第5実施形態に係るロボット制御装置について説明する。本第5実施形態では、制約条件には、上記第1〜第4実施形態における条件の他、更に、推定モータトルクと予め定めた許容モータトルクとの比が所定制約範囲内(±1の範囲内)となる条件が含まれている。
ロボットアーム200の関節J1〜J6と電動モータ211〜216は減速機221〜226を介して接続されている。この減速機221〜226と電動モータ211〜216との計算モデルから各電動モータ211〜216における推定モータトルクが計算できる。
図9(a)に電動モータ211〜216のモデルを示す。ここで次の記号を使った。
Nj 第j軸の減速機の減速比
τj 第j軸モータの推定モータトルク
Ij 第j軸モータの慣性モーメント
cj 第j軸の粘性要素
dj 第j軸の摩擦要素
Nj 第j軸の減速機の減速比
τj 第j軸モータの推定モータトルク
Ij 第j軸モータの慣性モーメント
cj 第j軸の粘性要素
dj 第j軸の摩擦要素
このモデルを具体的に式で表現する。制約条件を計算するときに使った関節の推定速度、推定加速度および関節にかかる推定トルクを用いる。電動モータ211〜216の推定モータトルクは、減速比Njを考慮して次のように書ける。
右辺第1項は式6で計算した関節にかかるトルクである。第2項はモータの慣性力、加速度に比例した成分である。第3項はモータの粘性力、速度に比例した成分である。第4項はモータの摩擦力、速度の符号に応じて、符号が変わる成分である。
推定値計算処理部365は、更に、各補間教示点q(s)における電動モータ211〜216の推定モータトルクを、減速機221〜226の減速比、各通過速度及び各微分係数に基づいて計算する。なお、この場合、推定トルクuj(s)は、式(4)、式(5)及び式(6)から求めることができるので、各補間教示点、各通過速度(通過速度、通過速度の1階及び2階微分値)及び各微分係数(補間関数の1階、2階微分値)に基づいて計算されることとなる。
この式(17)から明らかなように、左辺のモータのトルクは、第1項の関節にかかるトルクよりも大きい。つまり減速機の慣性や粘性などの影響をうけて、モータには、より大きなトルクが必要である。
このようにして計算された推定モータトルクは、許容モータトルクを超えてはならない。許容モータトルクは、一般に、横軸にモータの速度、縦軸にモータのトルクをとったTN曲線と呼ばれるグラフで表現される。この推定モータトルクと許容モータトルクとの比についても制約条件違反率の計算に加えることによってモータトルクも考慮した最短時間制御が実現できる。
TN曲線の例を図9(b)に示す。このように許容モータトルクは一般に速度の関数である。図3で説明した制約条件違反率計算処理部368に次の制約条件違反率の計算を追加する。
6軸多関節ロボットの場合j=1〜6種類ある。
図9(b)では、推定モータトルクが、許容範囲にすべて入っている状況を示している。つまり上記の制約条件違反率の大きさが1以下となっている。こうして制約条件違反率を計算する以外の部分は、上記第1〜第4実施形態と同様であり説明を省略する。
以上説明したように、本第5実施形態によれば、上記第1〜第4実施形態の効果に加え、モータトルクについても制約条件を設定できるので、第1の発明よりもさらに制約条件の自由度を向上できる。そして、許容モータトルクの制約条件を満たしたロボットアームの最短時間制御を実現できる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
上記第1〜第5実施形態では、全ての種類の制約条件を考慮したが、これらの制約条件を常に考慮する必要はない。例えば推定手先速度や推定手先回転速度に関係なく、動作速度を優先した動作は、推定手先速度や推定手先回転速度の制約条件をαn(s)の種類からはずすだけで、実現できる。このようにどの制約の種類を使うかは予め定めておけばよい。その際、微分係数計算処理部362は、必要な微分係数のみ計算するようにすればよい。また、通過速度微分係数計算処理部364、推定値計算処理部365においても、必要な微分値、推定値のみ計算するようにすればよい。特に、推定速度のみ計算する場合は、通過速度微分係数計算処理部364は省略可能である。
また、上記第1〜第5実施形態では、ロボット制御装置の制御対象である多関節ロボットがロボットアームの場合について説明したが、多関節ロボットがロボットアームの先端に設けられるロボットハンドであっても適用可能である。
また、以上述べた実施形態の各処理動作は具体的にはロボット制御装置の演算部としてのCPU301により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体をロボット制御装置300に供給し、ロボット制御装置300のコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がROM302であり、ROM302にプログラム330が格納される場合について説明したが、これに限定するものではない。プログラム330は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図2に示すHDD304、外部記憶装置322、記録ディスク331等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
100…ロボット装置、200…ロボットアーム(多関節ロボット)、201〜206…アクチュエータ、211〜216…電動モータ、221〜226…減速機、230…サーボ制御装置(駆動制御部)、300…ロボット制御装置、330…プログラム、331…記録ディスク(記録媒体)、361…補間関数計算処理部(演算部)、362…微分係数計算処理部(演算部)、363…仮設定処理部(演算部)、365…推定値計算処理部(演算部)、368…制約条件違反率計算処理部(演算部)、369…最短時間制御処理部(演算部)、372…通過速度関数計算処理部(演算部)、373…位置指令生成処理部(演算部)
Claims (15)
- 多関節ロボットの各関節が、前記各関節の教示位置をベクトル成分として含む複数の教示点を順次辿って動作するよう、前記各関節を駆動する各アクチュエータの動作を制御する駆動制御部に、所定時間間隔で位置指令を出力するロボット制御装置において、
前記各教示点の間を補間する複数の補間教示点を通過する補間関数を求める補間関数計算処理と、
前記各補間教示点に含まれる各ベクトル成分を前記補間関数の変数で微分した微分係数をそれぞれ計算する微分係数計算処理と、
前記各補間教示点において前記変数を時間微分した微分値を示す通過速度をそれぞれ仮設定する仮設定処理と、
前記各補間教示点における前記各関節の推定速度を、前記各通過速度及び前記各微分係数に基づいて計算する推定値計算処理と、
前記各関節の推定速度と予め定めた許容速度との比が所定制約範囲内となる条件を含む制約条件の下、前記各通過速度を変更して、前記各通過速度の逆数を前記変数で積分して得られる目的関数を最小化する最短時間制御処理と、
前記最短時間制御処理で得られた前記各通過速度から通過速度関数を求める通過速度関数計算処理と、
前記通過速度関数を前記所定時間間隔の値で時間積分する度に、該積分の値を前記補間関数における前記変数に代入することで、前記位置指令を生成する位置指令生成処理と、を実行する演算部を備えたことを特徴とするロボット制御装置。 - 前記演算部は、前記微分係数計算処理として、前記各補間教示点の各ベクトル成分に対して前記変数を前記各補間教示点の間隔よりも小さい微小値で変化させたときの各ベクトル成分を前記補間関数に基づいて計算し、該計算の結果を用いて、前記各微分係数を計算することを特徴とする請求項1に記載のロボット制御装置。
- 前記演算部は、前記補間関数計算処理として、前記各教示点に、時刻に対応した教示点番号を付与し、該教示点番号を用いたスプライン補間により前記補間関数を求めることを特徴とする請求項1又は2に記載のロボット制御装置。
- 前記許容速度が、前記変数の値に応じて変化する値に設定されていることを特徴とする請求項1乃至3のいずれか1項に記載のロボット制御装置。
- 前記許容速度が、前記変数の値が増加するに連れて小さくなるように設定されていることを特徴とする請求項4に記載のロボット制御装置。
- 前記演算部は、前記推定値計算処理として、更に、前記各補間教示点における前記各関節について前記推定速度を時間で1階微分した推定加速度を、前記各通過速度及び前記各微分係数に基づいて計算し、
前記制約条件には、更に、前記推定加速度と予め定めた許容加速度との比が前記所定制約範囲内となる条件が含まれる、
ことを特徴とする請求項1乃至5のいずれか1項に記載のロボット制御装置。 - 前記演算部は、前記推定値計算処理として、更に、前記各補間教示点における前記各関節について前記推定速度を時間で2階微分した推定加加速度を、前記各通過速度及び前記各微分係数に基づいて計算し、
前記制約条件には、更に、前記推定加加速度と予め定めた許容加加速度との比が前記所定制約範囲内となる条件が含まれる、
ことを特徴とする請求項1乃至6のいずれか1項に記載のロボット制御装置。 - 前記演算部は、前記推定値計算処理として、更に、前記各補間教示点における前記各関節の推定トルクを、前記各補間教示点、前記各通過速度及び前記各微分係数に基づいて計算し、
前記制約条件には、更に、前記推定トルクと予め定めた許容トルクとの比が前記所定制約範囲内となる条件が含まれる、
ことを特徴とする請求項1乃至7のいずれか1項に記載のロボット制御装置。 - 前記演算部は、前記推定値計算処理として、更に、前記各補間教示点における前記多関節ロボットの先端の推定先端速度を、前記各補間教示点、前記各通過速度及び前記各微分係数に基づいて計算し、
前記制約条件には、更に、前記推定先端速度と予め定めた許容先端速度との比が前記所定制約範囲内となる条件が含まれる、
ことを特徴とする請求項1乃至8のいずれか1項に記載のロボット制御装置。 - 前記演算部は、前記推定値計算処理として、更に、前記各補間教示点における前記多関節ロボットの先端の推定回転速度を、前記各補間教示点、前記各通過速度及び前記各微分係数に基づいて計算し、
前記制約条件には、更に、前記推定回転速度と予め定めた許容回転速度との比が前記所定制約範囲内となる条件が含まれる、
ことを特徴とする請求項1乃至9のいずれか1項に記載のロボット制御装置。 - 前記アクチュエータが、電動モータ及び減速機を有しており、
前記演算部は、前記推定値計算処理として、更に、前記各補間教示点における前記電動モータの推定モータトルクを、前記減速機の減速比、前記各通過速度及び前記各微分係数に基づいて計算し、
前記制約条件には、更に、前記推定モータトルクと予め定めた許容モータトルクとの比が前記所定制約範囲内となる条件が含まれる、
ことを特徴とする請求項1乃至10のいずれか1項に記載のロボット制御装置。 - 多関節ロボットと、
前記多関節ロボットを制御する請求項1乃至11のいずれか1項に記載のロボット制御装置と、を備えたことを特徴とするロボット装置。 - 多関節ロボットの各関節が、前記各関節の教示位置をベクトル成分として含む複数の教示点を順次辿って動作するよう、前記各関節を駆動する各アクチュエータの動作を制御する駆動制御部に、所定時間間隔で出力する位置指令を生成する演算部を有するロボット制御装置を用いたロボット制御方法において、
前記演算部が、前記各教示点の間を補間する複数の補間教示点を通過する補間関数を求める補間関数計算処理工程と、
前記演算部が、前記各補間教示点に含まれる各ベクトル成分を前記補間関数の変数で微分した微分係数をそれぞれ計算する微分係数計算処理工程と、
前記演算部が、前記各補間教示点において前記変数を時間微分した微分値を示す通過速度をそれぞれ仮設定する仮設定処理工程と、
前記演算部が、前記各補間教示点における前記各関節の推定速度を、前記各通過速度及び前記各微分係数に基づいて計算する推定値計算処理工程と、
前記演算部が、前記各関節の推定速度と予め定めた許容速度との比が所定制約範囲内となる条件を含む制約条件の下、前記各通過速度を変更して、前記各通過速度の逆数を前記変数で積分して得られる目的関数を最小化する最短時間制御工程と、
前記演算部が、前記最短時間制御工程で得られた前記各通過速度から通過速度関数を求める通過速度関数計算処理工程と、
前記演算部が、前記通過速度関数を前記所定時間間隔の値で時間積分する度に、該積分の値を前記補間関数における前記変数に代入することで、前記位置指令を生成する位置指令生成処理工程と、を備えたことを特徴とするロボット制御方法。 - コンピュータに請求項13に記載のロボット制御方法の各工程を実行させるためのプログラム。
- 請求項14に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012050503A JP5896789B2 (ja) | 2012-03-07 | 2012-03-07 | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 |
PCT/JP2013/056202 WO2013133346A1 (en) | 2012-03-07 | 2013-02-28 | Robot controlling device, robot apparatus, robot control method, program for executing robot control method, and recording medium on which program is recorded |
US14/376,093 US9221174B2 (en) | 2012-03-07 | 2013-02-28 | Robot controlling device, robot apparatus, robot control method, program for executing robot control method, and recording medium on which program is recorded |
CN201380012677.0A CN104254430B (zh) | 2012-03-07 | 2013-02-28 | 机器人控制设备、机器人装置及机器人控制方法和装置 |
DE112013003029.2T DE112013003029B4 (de) | 2012-03-07 | 2013-02-28 | Robotersteuerungsvorrichtung, Robotergerät, Robotersteuerungsverfahren, Programm zur Ausführung eines Robotersteuerungsverfahrens und ein Aufzeichnungsmedium, auf dem ein Programm aufgezeichnet ist. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012050503A JP5896789B2 (ja) | 2012-03-07 | 2012-03-07 | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013184245A JP2013184245A (ja) | 2013-09-19 |
JP5896789B2 true JP5896789B2 (ja) | 2016-03-30 |
Family
ID=47913508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012050503A Expired - Fee Related JP5896789B2 (ja) | 2012-03-07 | 2012-03-07 | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9221174B2 (ja) |
JP (1) | JP5896789B2 (ja) |
CN (1) | CN104254430B (ja) |
DE (1) | DE112013003029B4 (ja) |
WO (1) | WO2013133346A1 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6128767B2 (ja) * | 2012-07-05 | 2017-05-17 | キヤノン株式会社 | ロボット制御装置、及びロボット制御方法 |
JP2015182143A (ja) * | 2014-03-20 | 2015-10-22 | セイコーエプソン株式会社 | ロボットおよびロボットシステム |
JP5908544B2 (ja) * | 2014-08-11 | 2016-04-26 | ファナック株式会社 | 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置 |
US9592608B1 (en) * | 2014-12-15 | 2017-03-14 | X Development Llc | Methods and systems for providing feedback during teach mode |
JP6126152B2 (ja) | 2015-03-16 | 2017-05-10 | ファナック株式会社 | 曲線部を有する軌道を生成するロボットの軌道生成装置 |
JP6700669B2 (ja) | 2015-04-07 | 2020-05-27 | キヤノン株式会社 | 制御方法、ロボット装置、プログラム、記録媒体、及び物品の製造方法 |
CN104959983B (zh) * | 2015-05-26 | 2017-01-18 | 南京阿福机器人有限公司 | 机器人手执示教方法 |
US9925662B1 (en) * | 2015-06-28 | 2018-03-27 | X Development Llc | Generating a trained robot path based on physical manipulation of the robot and based on training user interface input(s) associated with the physical manipulation |
US9844877B1 (en) * | 2015-07-14 | 2017-12-19 | X Development Llc | Generating a parameter for a movement characteristic for a waypoint trained path of a robot |
CN105082135B (zh) * | 2015-09-11 | 2016-11-30 | 东南大学 | 一种机器人点动操作的速度控制方法 |
DE102015014994B3 (de) * | 2015-11-19 | 2017-01-05 | Kuka Roboter Gmbh | Steuerung eines Roboters |
JP6333795B2 (ja) * | 2015-11-24 | 2018-05-30 | ファナック株式会社 | 学習による教示作業の簡易化及び動作性能向上機能を備えたロボットシステム |
US9919422B1 (en) | 2016-01-06 | 2018-03-20 | X Development Llc | Methods and systems to provide mechanical feedback during movement of a robotic system |
CN105717869B (zh) * | 2016-03-15 | 2018-05-29 | 珞石(北京)科技有限公司 | 工业机器人操作空间路径复合限制求解方法 |
DE102016003144A1 (de) * | 2016-03-15 | 2017-09-21 | Kuka Roboter Gmbh | Steuern einer Automatisierungsanordnung |
CN105856246B (zh) * | 2016-04-22 | 2018-05-22 | 广州捷士电子科技有限公司 | 一种示教编程过程中防止末端执行器碰撞产品的方法 |
JP6275196B2 (ja) * | 2016-06-05 | 2018-02-07 | Ntn株式会社 | リンク作動装置の操作装置およびリンク作動システム |
US9981381B1 (en) * | 2016-06-08 | 2018-05-29 | X Development Llc | Real time generation of phase synchronized trajectories |
DE102016224564A1 (de) * | 2016-12-09 | 2018-06-14 | Robert Bosch Gmbh | Verfahren zum Bereitstellen einer Bewegungskontur für einen Manipulator |
US11192185B2 (en) | 2016-12-16 | 2021-12-07 | Canon Kabushiki Kaisha | Method of producing product |
US10207404B2 (en) * | 2017-02-09 | 2019-02-19 | X Development Llc | Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot |
WO2019044237A1 (ja) * | 2017-09-04 | 2019-03-07 | パナソニックIpマネジメント株式会社 | ロボット制御装置 |
EP3622439B1 (en) * | 2017-09-15 | 2022-08-03 | Google LLC | Improvements related to generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot |
JP6816704B2 (ja) | 2017-11-09 | 2021-01-20 | オムロン株式会社 | 指令値補間装置及びサーボドライバ |
US11458626B2 (en) * | 2018-02-05 | 2022-10-04 | Canon Kabushiki Kaisha | Trajectory generating method, and trajectory generating apparatus |
JP6781183B2 (ja) | 2018-03-26 | 2020-11-04 | ファナック株式会社 | 制御装置及び機械学習装置 |
CN108563122B (zh) * | 2018-04-12 | 2021-03-26 | 江南大学 | 一种移动机器人速度平滑插值方法 |
JP7225560B2 (ja) * | 2018-04-26 | 2023-02-21 | セイコーエプソン株式会社 | 制御装置、ロボットシステム、及び表示制御方法 |
DE102018004947B3 (de) | 2018-06-22 | 2019-07-18 | Sew-Eurodrive Gmbh & Co Kg | Verfahren zur Steuerung von Antrieben eines Roboters und Robotersystem |
US11045950B2 (en) | 2018-11-02 | 2021-06-29 | Canon Kabushiki Kaisha | Driving device and detecting device |
CN109551485B (zh) | 2019-01-21 | 2020-10-16 | 北京镁伽机器人科技有限公司 | 运动控制方法、装置和系统及存储介质 |
CN109551484B (zh) * | 2019-01-21 | 2022-03-29 | 深圳镁伽科技有限公司 | 运动参数的处理方法、装置和系统及存储介质 |
CN109986556B (zh) * | 2019-02-19 | 2022-10-04 | 宁波凯德科技服务有限公司 | 一种焊接机器人运动规划离散束方法 |
CN112621739B (zh) * | 2019-10-08 | 2022-03-15 | 东元电机股份有限公司 | 机器人及其路径插值规划命令产生系统 |
CN113093716B (zh) * | 2019-12-19 | 2024-04-30 | 广州极飞科技股份有限公司 | 一种运动轨迹规划方法、装置、设备及存储介质 |
CN113341876B (zh) * | 2021-06-24 | 2022-08-26 | 合肥工业大学 | 一种基于微分向量优化的五轴曲面加工轨迹规划方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3882304A (en) * | 1973-05-04 | 1975-05-06 | Allen Bradley Co | Parametric interpolation of three-dimensional surfaces |
US4623971A (en) * | 1983-06-30 | 1986-11-18 | Cincinnati Milacron Inc. | Machine control with motor velocity constraint |
US4937759A (en) * | 1986-02-18 | 1990-06-26 | Robotics Research Corporation | Industrial robot with controller |
US4975856A (en) * | 1986-02-18 | 1990-12-04 | Robotics Research Corporation | Motion controller for redundant or nonredundant linkages |
JPS63251181A (ja) * | 1987-04-08 | 1988-10-18 | 松下電器産業株式会社 | 産業用ロボツト |
JPH0736989B2 (ja) * | 1990-01-19 | 1995-04-26 | トキコ株式会社 | 工業用ロボットの制御方法 |
JP2514490B2 (ja) | 1991-07-05 | 1996-07-10 | 株式会社ダイヘン | 産業用ロボットの連動手動操作による教示制御方法 |
JP3396342B2 (ja) * | 1995-07-17 | 2003-04-14 | 三菱電機株式会社 | スプライン補間機能を有する数値制御装置 |
WO1997010080A1 (fr) | 1995-09-14 | 1997-03-20 | Kabushiki Kaisha Yaskawa Denki | Unite d'enseignement pour robots |
JP4060393B2 (ja) * | 1996-01-24 | 2008-03-12 | 三菱電機株式会社 | ロボットの速度演算装置、およびロボットの速度演算方法 |
JPH1124721A (ja) * | 1997-06-30 | 1999-01-29 | Tokico Ltd | ロボット制御装置 |
JPH11198072A (ja) | 1998-01-14 | 1999-07-27 | Yaskawa Electric Corp | ロボットの最短時間速度制御装置 |
US6472839B1 (en) * | 1999-04-05 | 2002-10-29 | Sony Corporation | Robot, servo circuit, actuator, robot control method, and actuator control method |
EP2305436B1 (en) * | 2002-03-18 | 2015-10-28 | Sony Corporation | Robot device and movement controlling method for a robot device |
US7180253B2 (en) * | 2003-09-30 | 2007-02-20 | Rockwell Automation Technologies, Inc. | Method and system for generating multi-dimensional motion profiles |
US7146242B2 (en) * | 2003-09-30 | 2006-12-05 | Rockwell Automation Technologies, Inc. | Method and system for generating multi-dimensional motion profiles |
KR101056600B1 (ko) * | 2004-02-27 | 2011-08-11 | 티에치케이 가부시끼가이샤 | 클로소이드 곡선을 이용한 공업 제품의 설계 방법 및 이설계 방법에 의해 설계된 공업 제품, 클로소이드 곡선을이용한 수치 제어 방법 및 장치 |
JP4810251B2 (ja) | 2006-02-16 | 2011-11-09 | キヤノン株式会社 | 原子間力顕微鏡 |
US7915787B2 (en) | 2007-07-20 | 2011-03-29 | Canon Kabushiki Kaisha | Actuator |
JP2009032189A (ja) * | 2007-07-30 | 2009-02-12 | Toyota Motor Corp | ロボットの動作経路生成装置 |
JP5424581B2 (ja) | 2008-06-06 | 2014-02-26 | キヤノン株式会社 | 部分測定を合成する形状測定方法 |
JP5129064B2 (ja) * | 2008-08-26 | 2013-01-23 | 新日本工機株式会社 | 工作機械の数値制御装置 |
CN101508112B (zh) | 2009-03-30 | 2010-12-29 | 东南大学 | 三自由度搬运工业机器人多目标优化设计参数的获取方法 |
DE102009023307A1 (de) * | 2009-05-29 | 2010-12-02 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur Steuerung eines Manipulators |
DE102009049172B4 (de) * | 2009-10-13 | 2019-07-25 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur Steuerung eines Manipulators |
WO2011150534A1 (zh) * | 2010-06-04 | 2011-12-08 | 中国科学院自动化研究所 | 加速度连续的机器人轨迹生成系统和方法 |
JP5743495B2 (ja) | 2010-11-05 | 2015-07-01 | キヤノン株式会社 | ロボット制御装置 |
-
2012
- 2012-03-07 JP JP2012050503A patent/JP5896789B2/ja not_active Expired - Fee Related
-
2013
- 2013-02-28 CN CN201380012677.0A patent/CN104254430B/zh not_active Expired - Fee Related
- 2013-02-28 WO PCT/JP2013/056202 patent/WO2013133346A1/en active Application Filing
- 2013-02-28 DE DE112013003029.2T patent/DE112013003029B4/de not_active Expired - Fee Related
- 2013-02-28 US US14/376,093 patent/US9221174B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE112013003029T5 (de) | 2015-03-26 |
DE112013003029B4 (de) | 2016-04-14 |
US20150025684A1 (en) | 2015-01-22 |
WO2013133346A1 (en) | 2013-09-12 |
CN104254430B (zh) | 2016-05-11 |
US9221174B2 (en) | 2015-12-29 |
CN104254430A (zh) | 2014-12-31 |
JP2013184245A (ja) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5896789B2 (ja) | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
JP2015051469A (ja) | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
JP7203058B2 (ja) | 機械システムへの入力を生成する方法、及び複数のロボットジョイントを含むロボット | |
JP7080649B2 (ja) | 制御方法、物品の製造方法、制御プログラム、記録媒体、ロボットシステム、制御装置 | |
JP7199178B2 (ja) | ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム | |
EP2835228B1 (en) | Robot apparatus and robot controlling method | |
US20200282558A1 (en) | System and method for controlling a robot with torque-controllable actuators | |
JP6700669B2 (ja) | 制御方法、ロボット装置、プログラム、記録媒体、及び物品の製造方法 | |
JP5225720B2 (ja) | ロボットのモーションの発生及び制御のための装置ならびに方法 | |
JP5916583B2 (ja) | 多関節ロボットのウィービング制御装置 | |
JP2016055404A (ja) | 軌道生成方法、軌道生成装置、ロボット装置、プログラム及び記録媒体 | |
US12076866B2 (en) | Method and computing system for estimating parameter for robot operation | |
Tamir et al. | Passivity based control of stewart platform for trajectory tracking | |
Sun et al. | A novel tool path smoothing algorithm of 6R manipulator considering pose-dependent dynamics by designing asymmetrical FIR filters | |
JP6021478B2 (ja) | ロボット制御装置、及びロボット制御方法 | |
JP2024526689A (ja) | 時間最適化された軌道を決定する方法と装置 | |
JP6057284B2 (ja) | 多関節ロボット及び半導体ウェハ搬送装置 | |
JP2020075329A (ja) | シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体 | |
JP6237039B2 (ja) | ロボット制御装置およびロボット制御方法 | |
JP6540810B2 (ja) | ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム | |
JP6862849B2 (ja) | 演算装置、演算方法、演算プログラムおよびロボットシステム | |
Waiboer et al. | Application of a perturbation method for realistic dynamic simulation of industrial robots | |
Safeena et al. | Adaptive super twisting control of Stewart platform based on super twisting observer | |
CN113771039B (zh) | 用于估计机器人操作参数的方法和计算系统 | |
WO2022186051A1 (ja) | 調整支援装置、制御システム及び調整支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150305 |
|
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: 20160202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160301 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5896789 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |