JP7080649B2 - 制御方法、物品の製造方法、制御プログラム、記録媒体、ロボットシステム、制御装置 - Google Patents

制御方法、物品の製造方法、制御プログラム、記録媒体、ロボットシステム、制御装置 Download PDF

Info

Publication number
JP7080649B2
JP7080649B2 JP2018005858A JP2018005858A JP7080649B2 JP 7080649 B2 JP7080649 B2 JP 7080649B2 JP 2018005858 A JP2018005858 A JP 2018005858A JP 2018005858 A JP2018005858 A JP 2018005858A JP 7080649 B2 JP7080649 B2 JP 7080649B2
Authority
JP
Japan
Prior art keywords
torque
joint
robot
control method
acceleration
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
Application number
JP2018005858A
Other languages
English (en)
Other versions
JP2019123051A5 (ja
JP2019123051A (ja
Inventor
勝 尾形
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018005858A priority Critical patent/JP7080649B2/ja
Priority to US16/247,706 priority patent/US11298822B2/en
Publication of JP2019123051A publication Critical patent/JP2019123051A/ja
Publication of JP2019123051A5 publication Critical patent/JP2019123051A5/ja
Application granted granted Critical
Publication of JP7080649B2 publication Critical patent/JP7080649B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39186Flexible joint
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39195Control, avoid oscillation, vibration due to low rigidity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40599Force, torque sensor integrated in joint
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43065Limitation of jerk

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Description

本発明は、指定された複数の教示点によって定まる経路を通るように駆動されるロボットアームを、複数の関節のそれぞれに対応した駆動源に指令する指令値に基づき制御するロボット装置、ロボットの制御方法、ロボットの制御装置、等に関する。
近年、工場で組立等を行う産業用ロボットは、生産速度の向上や複雑な動作への対応が求められる中で動作の高速化が求められており、そのためには関節駆動の加減速を急峻にする必要が生じている。一方、ロボットにおいては、電動モータ等の駆動源から関節まで駆動力を伝達する伝達要素として、歯車などに代表される減速機構、ベルト、軸受などを備えているが、特に減速機構などは、低剛性のものが多く、急峻な加減速を行うと振動を生じ易い。この振動が伝達要素に作用する際、それら伝達要素に過剰な負荷がかかると、ロボットの耐久性にとっては好ましくない。
そこで、特許文献1には、関節の振動モデル、より具体的には、躍度(加速度の時間変化率、加加速度、ジャークなどとも呼ばれる)と、関節の弾性にもとづき生じる振動トルクとの間の伝達モデルを用いる技術が開示されている。すなわち、振動モデルにもとづいて、ロボットの関節を駆動する際に生じる振動トルクを計算することにより、伝達要素に加わる負荷トルクが許容範囲内となるような各関節の加加速度の制約値を算出する。そして、算出した各関節の加加速度の制約値を含む制約条件を不等式制約とした最適化問題を解くことで指令値を生成するロボットの軌道生成装置が記載されている。
これにより、ロボットの動作中に、伝達要素に作用する負荷トルクが許容範囲を超えることの防止が図られている。
特開2014-14875号公報
しかしながら、特許文献1に記載の方法における躍度と振動トルクを関係づける振動モデルは、電動モータが指令値にほぼ一致するように追従し、かつ駆動系の粘性や他軸からの干渉トルクなどが0に近いと仮定して導かれた簡易的な伝達モデルである。このため、実際のロボットが動作した際の振動トルクと厳密に一致させることは困難であり、一般にそのロボットを使用する使用環境(例えば温度)や使用条件、駆動条件ごとに自由パラメータを調整する必要があった。また、ロボットの個体差や経時的な変化に対応することはできなかった。
そのため、より詳細なモデルを用いた振動解析を行うなどして事前に振動モデルの精度や不確かさを見積り、それに基づいて余裕を持った制御値(躍度/加加速度制約値)を設定するようにしている。そのため、加減速制御が実際の動作に対して最適化されておらず、余裕を取りすぎると動作時間(サイクルタイム)が長くなっていた。逆に余裕が十分でない場合には、各関節の許容トルクを超過し、ロボットの寿命が短くなったり破損する等の問題を生じる可能性があった。典型的には、減速機の最大許容トルクを超過し、破損に至る事態を招く可能性があった。
そこで、ロボット毎の実際の使用条件にあわせて、駆動機構を保護して寿命の確保と破損防止を図りつつサイクルタイムを短縮できる最適化された加減速制御を実現できるロボットの制御方法が求められていた。
本発明は、関節と、トルクセンサと、を有するロボットの制御方法であって、前記ロボットの所定部位を所定経路で移動させながら前記関節におけるトルクを前記トルクセンサの出力に基づき取得し、前記トルクと前記トルクの許容範囲とに基づき、前記許容範囲の内かつ前記許容範囲を規定する閾値から所定量以上離れた値の前記トルクが発生している関節が存在する場合、前記所定部位を前記所定経路で移動させる際、当該関節の前記トルクが前記閾値に近づくように当該関節の加速度の変化率を制御する、ことを特徴とする制御方法である。
また、本発明は、関節と、トルクセンサと、を有するロボットと、制御部と、を有するロボットシステムであって、前記制御部は、前記ロボットの所定部位を所定経路で移動させながら前記関節におけるトルクを前記トルクセンサの出力に基づき取得し、前記トルクと前記トルクの許容範囲とに基づき、前記許容範囲の内かつ前記許容範囲を規定する閾値から所定量以上離れた値の前記トルクが発生している関節が存在する場合、前記所定部位を前記所定経路移動させる際、当該関節の前記トルクが前記閾値に近づくように当該関節の加速度の変化率を制御する、ことを特徴とするロボットシステムである。
また、本発明は、関節と、トルクセンサと、を有するロボットを制御する制御装置であって、前記ロボットの所定部位を所定経路で移動させながら前記関節におけるトルクを前記トルクセンサの出力に基づき取得し、前記トルクと前記トルクの許容範囲とに基づき、前記許容範囲の内かつ前記許容範囲を規定する閾値から所定量以上離れた値の前記トルクが発生している関節が存在する場合、前記所定部位を前記所定経路移動させる際、当該関節の前記トルクが前記閾値に近づくように当該関節の加速度の変化率を制御する、ことを特徴とする制御装置である。
本発明は、ロボット毎の実際の使用条件にあわせて、駆動機構を保護して寿命の確保と破損防止を図りつつサイクルタイムを短縮できる最適化された加減速制御を実現できるロボットの制御方法を提供する。
実施形態に係るロボット装置の概略構成を示す斜視図。 実施形態のロボット制御装置の構成を示すブロック図。 実施形態の制御部の構成を示すブロック図。 実施形態のロボットの、一連の動作例を示すフローチャート。 実施形態のロボットの、単位動作における動作モードとその切り替えを示すフローチャート。 実施形態の単位動作内における最適加減速探索モード(加減速調整の最適化制御)の処理の前半部分を示すフローチャート。 実施形態の単位動作内における最適加減速探索モード(加減速調整の最適化制御)の処理の後半部分を示すフローチャート。 実施形態の単位動作内における通常モード(トルク監視モード)動作時の処理を示すフローチャート。 実施形態の最適加減速探索モード(加減速調整の最適化制御)での最短時間制御部の指令値の演算処理を示すフローチャート。 (a)学習/調整前の初期パラメータを使用してロボットを駆動した際の関節トルクを示すグラフ。(b)学習/調整完了後のパラメータを使用した結果の関節トルクを示すグラフ。 (a)別の作業姿勢でロボットを駆動した際の学習/調整前の初期パラメータを使用してロボットを駆動した際の関節トルクを示すグラフ。(b)学習/調整完了後のパラメータを使用した結果の関節トルクを示すグラフ。
以下、図面を参照して、本発明の実施形態であるロボット装置、ロボットの制御方法、ロボットの制御装置、等について説明する。
まず、ロボット装置の概略構成について説明する。図1に示すように、ロボット装置100は、複数の関節を有する多関節ロボットとしてのロボットアーム200と、ロボットアーム200を制御するロボット制御装置300と、ティーチングペンダント400を備えている。ティーチングペンダント400は、ロボットの制御装置としてのロボット制御装置300に複数の教示点のデータを送信する教示装置であり、操作者がロボットアーム200の動作を指定するのに用いる。
ロボットアーム200は、本実施形態では、6関節のロボットである。ロボットアーム200は、各関節J1~J6を各関節軸A1~A6周りにそれぞれ回転駆動する6つのアクチュエータを駆動源201~206として有している。ロボットアーム200は、可動範囲の中であれば任意の3次元位置で任意の3方向の姿勢に、手先すなわちロボットアーム200の先端を向けることができる。
本実施形態のロボットは、ロボットの手先を所定経路に沿って移動させる動作を、複数回にわたり反復実行することが可能で、この動作により、例えば物品の組み立てあるいは加工を連続して行う物品の製造方法を実施することが可能である。
一般に、ロボットアーム200の位置及び姿勢は、座標系で表現することができる。図1中のTは、ロボットアーム200の台座に固定した座標系を表し、Tはロボットアーム200の手先に固定した座標系を表す。本実施形態では、各駆動源201~206は、電動モータ211~216と、電動モータ211~216に接続されたセンサ部221~226とを備える。各センサ部221~226は、関節の角度を検出する角度センサと関節のトルクを検出するトルクセンサを含む。各駆動源201~206は、不図示の減速機を含み、ベルトやベアリング等を介してそれぞれの関節J1~J6で駆動するフレームに接続されている。なお、各駆動源201~206の構成は、これに限定するものではなく、例えば油圧シリンダ等であってもよい。
本実施形態では、各関節J1~J6が回転関節である場合を例に説明する。この場合、「関節の位置」とは、その関節の角度を意味する。また、その時間微分については、次数により「関節の速度」、「関節の加速度」、「関節の躍度(または加加速度)」と呼ぶ。尚、各関節は、他の例として直動関節であってもよいが、その場合には、関節の位置とは直動関節の位置を意味する。
ロボットアーム200は、各関節の電動モータ211~216を駆動制御する駆動制御部としてのサーボ制御部230を有している。サーボ制御部230は、入力した位置指令値に基づき、各関節J1~J6の角度指令値に追従するよう、各電動モータ211~216に電流指令を出力し、各電動モータ211~216の動作を制御する。なお、図1では、サーボ制御部230を1つの制御装置として構成したものを示しているが、各電動モータ211~216にそれぞれ対応したサーボ制御装置を設け、関節ごとに個別に機能する構成としてもよい。
ロボット制御装置300は、ティーチングペンダント400から複数の教示点(教示点列)の入力指示を受ける。ロボット制御装置300は、ロボットアーム200の各関節J1~J6が複数の教示点を順次辿って動作するように、教示点に基づき所定時間間隔で位置指令を生成し、所定時間間隔でサーボ制御部230に出力する。
教示点は、各関節J1~J6の教示位置をベクトル成分として含むベクトル(教示点ベクトル)である。そして、ロボット制御装置300において最終的に求められる位置指令は、各関節J1~J6の目標位置をベクトル成分として含むベクトルである。つまり、ロボット制御装置300は、入力した教示点からCP(Continuous Path)軌道の計算をして軌道に沿った多数の位置指令を生成し、これら位置指令を所定時間間隔でサーボ制御部230に出力するものである。
その際、ロボット制御装置300は、後に詳述するように、与えられた教示点列によって定まる軌道上の各点の通過速度を、ロボットアーム200の各関節J1~J6の速度、加速度、トルク等の制約条件を越えない範囲で調整する最適化処理を行う。
図2は、ロボット制御装置300の概略構成を示すブロック図である。ロボット制御装置300は、制御部としてのCPU301と、記憶部としてのROM302、RAM303、HDD(ハードディスクドライブ)304、記録ディスクドライブ(記録媒体)305と、各種のインタフェース306~309と、を備えている。
CPU301には、ROM302、RAM303、HDD304、記録ディスクドライブ305及び各種のインタフェース306~309が、バス310を介して接続されている。ROM302には、CPU301を動作させるためのプログラム330が格納されている。尚、プログラム330は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム330をコンピュータに供給するための記録媒体としては、ROMや、ディスク、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、光ディスク、光磁気ディスク、磁気テープ、USBメモリ等の不揮発性メモリ、SSD等を用いることができる。RAM303は、CPU301の演算処理結果などを一時的に記憶可能な記憶部である。HDD304は、演算処理結果や各種のデータ(最良指令軌道や最良評価値を含む)を記憶するための記憶部である。
ティーチングペンダント400はインタフェース306に接続されており、CPU301はインタフェース306及びバス310を介してティーチングペンダント400からの教示点のデータの入力を受ける。
サーボ制御部230は、インタフェース309に接続されており、CPU301は、各関節の目標角度のデータを所定時間間隔でバス310及びインタフェース309を介してサーボ制御部230に出力する。
インタフェース307には、モニタ321が接続されており、モニタ321には各種画像が表示される。インタフェース308は、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置322が接続可能に構成されている。記録ディスクドライブ305は、記録ディスク(記録媒体)331に記録された各種データやプログラム等を読み出すことができる。尚、本発明に係るプログラムが記録される記録媒体としては、記録ディスク331だけに限らず、外部記憶装置322等の不揮発性メモリや外付けHDD等も含まれ得る。
図3は、ロボットのハードウェア構成と制御系との関係の概略を説明するブロック図である。これを用いて、本発明における加減速制御の最適調整法の概略を説明する。
ロボットの6つの関節J1~J6は、図3に示す電動のサーボモータM1~M6、減速機構G1~G6、減速機構の出力端とロボットのリンクの間に配置されたトルクセンサT1~T6によりそれぞれ構成される。減速機構G1~G6は、サーボモータの出力回転数を減速し、モータの出力トルクをロボットの関節の駆動に適した大きさに拡大する。
減速機構Gn(n=1~6)は、波動歯車機構などによって構成される。モータと減速機構の間には、モータの出力を減速機構の入力へと伝達する動力伝達機構であるタイミングベルト・プーリ系や、歯車機構などを含んでいてもよい。
トルクセンサTn(n=1~6)は、印加されるトルクに応じて変形する弾性部材によって構成され、その変形量や歪み量を検出することで、関節の出力トルクすなわちリンクを駆動するトルクを直接的に計測する。通常、小型の電動モータが効率よく発生できるトルクは、関節の駆動に必要なトルクに比べて非常に小さく、また、回転速度も、関節の出力軸に求められる回転速度よりも非常に大きい。そのため、高減速比の減速機構が必要になるが、減速にともない駆動部の摩擦と回転抵抗によるトルク損失が大きくなってしまう。このため、モータトルクの測定、あるいはモータトルクに比例するモータ電流の測定だけでは、関節の出力段の回転トルクを正確に把握することができない。したがって、減速機構の出力端に負荷されるトルクを正確に把握するには、リンクと減速機の間にトルクセンサを設ける必要があるのである。ロボットの手先を所定経路に沿って移動させる処理を実行中に、各関節の駆動伝達系に設けられたトルクセンサが測定する負荷トルクの測定値は、ロボット制御装置300に入力される。
各関節の運動や力の制御は、関節ごとに設けられたサーボ制御部S1~S6によって行われる。
これらの要素によって構成された関節の駆動系は、関節支持機構(軸受)により支持されたロボットの各リンクを駆動し、それらが協調して制御されることで、ロボットの全体としての動作や力が出力される。
所定の時間刻み、例えば1ms毎にロボットコントローラから各関節のサーボ機構へ送信される指令値は、ロボット制御装置300内の運動計画部において生成される。運動計画部は、最短時間制御部(第一の最適化演算部)と、加減速制御最適化部(第二の最適化部)によって構成される2つの最適化演算部を有している。
教示点列取得部(経路生成部)は、ティーチングペンダントから指示された教示点や、教示点間を補完することで、生成した教示点の点列である教示点列(経路ともいう)の情報を取得する。
最短時間制御部は、教示点取得部によって与えられた教示点列によって定まる経路に対し、経路上の通過速度を調整し、各関節の速度、加速度、モータトルク、関節トルク等の上限や下限、即ち制約条件を越えない範囲で調整して最適化する処理を行う。最短時間制御部が、この最適な指令値を演算する際は、上記制約条件に加え、加減速制御最適化部から加減速の制約として躍度に関する制約値を受取り、この躍度制約を不等式制約の一つとした最適化問題を解くことで、軌道の演算を行う。ここで躍度とは、加速度の時間変化率のことである。加速度の時間変化率は、加加速度やジャークなどと呼ばれる場合もある。
この最適化問題の制約条件は、上記躍度の上限/下限のほかに、以下の条件を含んで構成される。すなわち、物理的な整合性を保ち力学的に実現可能な運動を生成するために必要なロボットの運動方程式、構成要素の破壊や寿命低下を防ぐための関節やモータの回転数およびトルクなどの上限および下限などである。なお、最適化問題を解くという意味は、詳しくは後述するように、上記制約条件を満足するなかで、ロボットの動作時間(サイクルタイム)が実質的に最短となるように追求した収束値を求めるという意味である。
加減速制御最適化部は、ロボットが実際の作業を繰り返し行う中で最短時間制御部に対して入力する躍度制約値を調整することで、最適な制約値を探索する。ここでいう最適な制約値とは、詳しくは後述するように、関節トルクセンサの出力するトルクが許容範囲内、すなわち、機構的な寿命が所望の値を確保できる範囲の中で、動作速度が実質的に最短となる躍度制約値という意味である。
加速減速最適化部は、ロボットが実際にサイクル動作を実施する際のトルクセンサが出力したトルク値を取得し、その絶対値の最大値τmaxと、あらかじめ設定しておいたトルク値の許容値τとを比較する。そして比較結果に基づいて、次サイクルの動作における最短時間制御部の躍度の制約値を決定する。すなわち、加速減速最適化部は、τとτmaxの差ができるだけ小さくなるように躍度の調整を繰り返し行う。
このような調整を繰り返し実施することで、ロボットの駆動時のトルクを所定の範囲におさめ、ロボットの耐久性を確保しながらも動作時間が実質的に最短となるように加減速パターンが最適に調整される。トルク値の許容範囲τは、最短時間制御部と同様に、確保したいロボット機構要素の寿命によって決定するが、例えば、減速機構の定格トルクのカタログ値などを参考にして決定することができる。
次に、図4から図8を用いて、本発明における加減速パターンの最適化制御の具体的動作手順を説明する。本説明では、組立用のロボットが実際の製品生産現場において組立工程を実行する様子を想定している。
図4のフローチャートに示すように、本実施形態における一連の組立工程は、N個の単位動作から構成される。各動作(動作1~動作N)は、例えば、ワークの取出しに向けてのワークへのアプローチ動作、ワークの把持動作、ワークの取出し動作、組み付け位置までの移動、ワークのアセンブリへの組み付け動作、などである。図4に示すように、一連の工程は、最後の動作(動作N:ステップS-4-N)終了後、最初の動作(動作1:ステップS-4-1)に復帰し、同じ動作を再び実行する繰返し動作である。所望の数の製品を生産し終えたり、工程に何らかの事情が発生するまで停止することなくエンドレスに繰り返される。
本実施形態の加減速パターンの最適化制御では、一つ一つの動作ごとに加減速(躍度制約値)を最適化することで、一連の組立動作全体のサイクルタイムの最適化(最短化)が実現される。
図5のフローチャートは、図4の一連の動作の内の一つを示すもので、第m番目の動作を示している。(1<m<N)。図に示すように、各動作は、最適加減速探索モード(S-5-2)と、通常モードすなわち関節トルク監視モード(S-5-3)の、2つの動作モードを持つように構成される。ロボット制御装置は、動作ごとに、上記二つの動作モードの切り替えを管理するための動作モード切替フラグadjustJerk(mは動作番号)を有している。
ロボット制御装置は、前動作(動作m-1)終了後、今回動作(動作m)開始時に動作モード切替フラグadjustJerkを評価する(S-5-1)。
ステップS-5-1において、adjustJerk=1の時、ロボットは最適加減速探索モード(S-5-2)を実行し、adjustJerk=0の時には通常モード(S-5-3)を実行する。
動作モード切替フラグadjustJerkの値の設定は、後述するように、躍度制約値の探索の収束性や、駆動時の実トルクτmaxの変動に基づいて、前回サイクル実行時の最後に判定されて設定される。adjustJerkの初期設定値は1に設定されており、ロボットが初めて動作mを実行する際には、最適加減速探索モードが実行される。
以上のように、各動作では、最適加減速探索モードあるいは、通常モード(関節トルク監視モード)のいずれかのモードで動作を実行し、動作を終了すると次の動作(動作m+1)へ遷移することになる。
次に、図6~図9を用いて、各動作モードの手順の詳細を説明する。
図6、図7は、最適加減速探索モードの動作シーケンスを示すフローチャートである。図示の便宜上、連続するフローをAを接続点として分割し、図6と図7の2図に分けて示している。このフローチャートは、図4のように同じ経路にそった動作を繰返し何度もロボットを行わせるうちの一回の動作を示している。この動作を実行した回数は、反復回数jであらわし、初回はj=0である。
ロボットが動作mの制御を開始し、最適加減速探索モードをスタートすると、まず今回の動作が初回であるか否かを判定する(S-6-1)。この判定は、フラグinitialAttemptにより判定される。(initialAttemptの初期値は、ロボットの動作プログラムの開始時に1に設定される)。
初回である場合(S-6-1のYes)は、ステップS-6-2に進み、それ以外(S-6-1のNo)の場合にはステップS-6-2をスキップしてS-6-3へ進む。
例えば、動作の実行が初回であって、ステップS-6-2へ進むと、動作のフラグinitialAttemptと、反復回数jをクリアして0を設定し、ロボットの軌道計画(指令値の加減速パターンの生成)のためのパラメータの初期化を行う。軌道設定パラメータの初期化とは、具体的には、ロボットが軌道を計画するための躍度の制約値βをデフォルトのパラメータβへと設定することなどである(β←β)。
続くステップS-6-3では、ロボットが加減速を調整するモードに入ったことが外部からも判別できるように、ロボットの状態表示灯などを点灯させる。
次に、ロボットはステップS-6-4へと進み、設定された躍度制約値にもとづいて、剛体モデルにもとづく最短時間制御の演算を実行し、与えられた経路に沿った最適な軌道を生成し、サーボ制御部への指令値を生成する。
最短時間制御部における指令地生成の演算を、図9のフローチャートに沿って説明する。図9に示すように最短時間制御演算部は、まず教示点列の各点ごとの通過時間tを設定する(S-8-1)。続いて、設定された通過時間に対し、各点の関節の位置(角度)、速度、加速度、躍度、トルクを算出する(S-8-2)。関節のトルクは、ロボットアーム200の運動方程式に、関節の位置、速度、加速度を代入し逆動力学演算(ある種のシミュレーションである)を行うことで算出できる。
次に最短時間制御部は、上記ステップS-8-2で計算された各関節の位置、速度、加速度、トルク、躍度が、設定された制約範囲内に収まっているか判定する(S-8-3)。
この制約条件を満足していない場合は、教示点における通過時間を再設定し調節し直す(S-8-4)。例えば、負荷トルクの制約条件を越えるような場合は、通過時間を長くするように調節し、その後、上記ステップS-8-1~S-8-3を繰り返す。これにより、上記各関節の躍度制約値を含む制約条件を不等式制約とした最適化問題を解くことになる。そして、最終的に制約条件を満足することで(S-8-3のYes)、最短時間制御部は、最短時間となる各関節に対する指令値を生成する(S-8-5)。
このような演算を行うことで、図6の最短時間制御ステップ(S-6-4)は、ロボットの剛体モデルのシミュレーションにもとづいて、ロボットの動作が最短時間となる指令値軌道を生成する。
ここで注意すべきは、トルク算出のシミュレーションは、ロボットの関節の柔軟性を考慮しない剛体モデルを使用して行われることである。これは、弾性を考慮したシミュレーションは、剛体シミュレーションにくらべて計算コストが非常に高く、最適化計算のように繰返し計算を行う演算には適さないためである。ひとつの動作の軌道生成に要する時間が例えば数分単位になり、非現実的に長くなってしまうため、生産現場においては実時間で適用することがほとんど現実的ではないと考えられる。また、使用するモデルが剛体モデルであっても、最短時間制御そのものは時間がかかる演算であり、例えば数百msecから数秒のオーダの計算時間を要する。そこで、製品の生産性を向上させる観点では、最短時間制御による軌道計画そのものの回数を、できるだけ小さくすることが望ましい。
続くステップS-6-5は、ステップS-6-4で計算されたロボットの軌道にもとづいてロボットを実際に駆動する工程である。生成された関節角度指令値は、各サンプリング時刻t毎に各関節のサーボ制御部へと送信され、各関節サーボ制御部は、与えられた指令位置に関節角度を追従させるように位置サーボ機構を作用させ、実際にロボットを動作させ、具体的な作業を実行する。
この時、ロボットの関節に配置されたトルクセンサは、ロボットが実際に動作を行っている際のサンプリング時間ごとにトルクセンサ値τ(t)をモニタリングし、記憶部に記憶する。
ロボットが実際の作業を実施した直後、ロボットの制御部はステップS-6-5において駆動された際の関節トルクの絶対値の最大値(ピークトルク)τmax,jを検索する(τmax,j=max|τ(t)|)(S-6-6)。そして、検索されたピークトルクτmax,jを仮の最適トルク値τmaxとして記憶部に保存する(τmax←τmax,j)(S-6-7)。
次にステップS-6-8では、減速機の所望の耐久時間(寿命)と減速機の定格トルクによって予め決定した関節トルクの許容最大値τ(τ>0)と、計測された関節トルクのピーク値τmax,jを比較して、トルクのオーバー率αを以下の式で計算する。
α=(τmax,j-τ)/τ
ここでオーバー率αは、関節トルクのピーク値τmax,jが許容値τを超過した場合に正の値をとり、その大きさは、ピークトルクの超過度合を許容トルクτで正規化して表したものになっている。逆に、αが負の値となるときは、動作時の関節トルクが許容トルクに比べて小さく、余裕があることを示している。すなわち、加速度の変化をより急峻にすることにより、寿命を確保しながらさらなる動作の高速化の余地があることを示している。
続くステップS-6-9からS-6-11は、最適加減速探索モードの最適値探索の終了条件を判定する終了条件判定部を構成する。これらのステップでは、次のサイクルで当該動作を実施する際に、最適加減速探索モードと通常の関節トルク監視モードのどちらを実行されるのかが判定され、その結果を動作モード切替フラグadjustJerkにセットする(S-6-20)。
まず、ステップS-6-9では、関節トルクのオーバー率を評価することで、ロボットを実際に駆動した際の関節トルクが所望の範囲に収まっているかを判定する。言い換えれば、ロボットの手先を所定経路に沿って移動させる処理を実行中に、各関節の駆動伝達系に設けられたトルクセンサが測定する負荷トルクの測定値と、各関節に設定された負荷トルクの許容範囲とを比較する。
許容範囲は、ε(>0)で表現され、|α|<εのとき、トルクが許容範囲に収まったと判定(S-6-9のYes)し、ステップS-6-20へと進む。S-6-20では、次サイクル実行時の動作モードを通常モードに指定(adjustJerk←0)した後、今サイクルの動作(動作m)を終了し、次動作(動作m+1)へと遷移する。ステップS-6-9において、|α|<ε以外の場合、最適加減速探索は収束していないと判定され(S-6-9のNo)、次のステップの判定部S-6-10へ進む。
ここで、εは、実際の関節トルクのピークτmaxを許容トルクτにどの程度近づけるか、つまり残差をどの程度許容するかを規定する許容範囲を表現している。例えば、ε=0.01とした場合は、実際の関節トルクのピークと許容トルクとの差が、許容トルクの1%の範囲に収まるまで加減速の調整(躍度制約の最適値探索)が実施されることになる。
続いてステップS-6-10では、加減速探索の収束性を判定する。すなわち、前回サイクル実施時のピークトルクτmax,j-lと、今回駆動時のピークトルクτmax,jを比較する。この差が規定した値ε(>0)よりも小さな場合(|τmax,j-τmax,j-l|<ε)には、これ以上の改善が見込めないと判定する(ステップS-6-10のYes)。そして、次回サイクルの動作モードを通常モードにセットし(S-6-20)、今回動作を終了し次動作へ遷移する。尚、初回駆動時は、τmax,j-l=0である。
|τmax,j-τmax,j-l|<ε以外の場合は、ステップS-6-11へと進み、今回動作の加減速探索モードの反復回数jを評価する。反復回数jが、あらかじめ設定された最大値jmaxを超えた場合には、今回のパラメータβが最適でありこれ以上の改善が望めないと判断し(ステップS-6-11のNo)、次回サイクルの動作モードを通常モードにセットする。反復回数jが規定回数以下の場合は、反復回数を一回分更新(j←j+1)して(ステップS-6-12)、次回の駆動のために、躍度制約を調整するプロセスである躍度制約調整部に進む(ステップS-6-13~S-6-17)。
続くステップS-6-13~S-6-17では、動作時間を最適化するために躍度制約パラメータを具体的に調整する最適化演算を行う。
まず、トルクのオーバー率αの符号を判別し(ステップS-6-13)、比較結果の符号が正であるか負であるかに応じて、最短時間制御部の制約条件として使用される躍度の制約値βの更新の度合を変化させる。
トルクのオーバー率αの符号が負の場合(ステップS-6-13のNo)には、最短時間制御部の制約条件として使用される躍度の制約値βを、今回サイクルで使用した値よりもa×100パーセント大きく設定する(β←(1+a)・β)。すなわち、次サイクルでの加減速をより急峻なものとするように設定する(S-6-14)。
言い換えれば、負荷トルクの測定値が負荷トルクの許容範囲内にあるが、許容範囲の限界値までは所定量以上離れている関節が存在した場合に、次回の動作においては、次のように制御する。つまりロボットの手先を所定経路に沿って移動させるが、負荷トルクの許容範囲の限界値までは所定量以上離れていた関節の駆動伝達系にかかる負荷トルクが許容範囲の限界値に近づく方向に、各関節の駆動伝達系の加速度の変化率を補正して制御する。
負荷トルクの測定値が負荷トルクの許容範囲内にあるが、許容範囲の限界値までは所定量以上離れている関節が複数存在した場合には、次回の動作においては、次のように制御する。つまり、最も限界値から離れた関節の駆動伝達系にかかる負荷トルクが許容範囲の限界値に近づく方向に各関節の駆動伝達系の加速度の変化率を補正して制御する。あるいは、負荷トルクの許容範囲の限界値までは所定量以上離れている関節のうち、最も前記ロボットの手先から遠い関節の駆動伝達系にかかる負荷トルクが許容範囲の限界値に近づく方向に各関節の駆動伝達系の加速度の変化率を補正して制御する。補正を実効的に効率よく作用させるためである。尚、最も前記ロボットの手先から遠い関節とは、ロボットが設置されている基部に最も近い関節とも言い換えることができる。
続いて、更新された躍度制約値が予め規定した上限βに達しているかを判別する(ステップS-6-16)。βがβ以下の範囲内に収まっている場合(S-6-16のYes)には、ステップS-6-21で次回の動作モードを最適加減速探索モードに設定し(adjustJerk←1)、今回動作(動作m)の制御を終了する。一方、更新された躍度制約値が上限βを超えている場合(S-6-16のNo)には、これ以上指令値の変化を急峻にしても、動作時間短縮の効果が薄いと考えられる。そこで、ステップS-6-20に合流して、次回の動作モードを通常のトルク監視モードに設定し、今回動作の制御を終了し次動作へ移る。
次に、トルクのオーバー率αの符号が正(α>0)の場合(ステップS-6-13のYes)について説明する。この場合は、指令値の変化が急峻すぎてロボットの振動を励起してしまい、その結果関節トルクが許容値をオーバーしている状態である。そのため、指令値の変化をよりなめらかにするために、最短時間制御部の制約条件として使用される躍度の制約値βをより小さく更新する必要がある。そこでステップS-6-13に続くステップS-6-15では、躍度制約値βを、今回サイクルで使用した値よりもb×100パーセント小さく設定する(β←(1-b)β)。ここで、躍度制約の更新比率はオーバー率の正負によって異なるものとして設定し、a<bとする。これは、a=bとすると、オーバー率の符号が切り替わる際に躍度制約値の更新値が同じ値で振動してしまうためである。トルクオーバしている際は、機構の破損の恐れが大きいのでβを大きく減少させ、逆にβを増加させていく際は、一気にトルクオーバしないよう少しずつ慎重に制約を緩めていくような効果を期待してのことである。
言い換えれば、負荷トルクの許容範囲を超えた関節が存在した場合に、次回の動作においては、次のように制御する。つまり、ロボットの手先を所定経路に沿って移動させるが、負荷トルクの許容範囲を超えた関節の駆動伝達系にかかる負荷トルクが許容範囲の中に入る方向に各関節の駆動伝達系の加速度の変化率を補正する。
負荷トルクの許容範囲を超えた関節が複数存在した場合には、次回の動作においては、次のように制御する。つまり、ロボットの手先を所定経路に沿って移動させるが、負荷トルクの許容範囲を超えた関節の内、最も許容範囲との差分が大きな関節の駆動伝達系にかかる負荷トルクが許容範囲の中に入る方向に各関節の駆動伝達系の加速度の変化率を補正して制御する。あるいは、負荷トルクの許容範囲を超えた関節の内、最もロボットの手先から遠い関節の駆動伝達系にかかる負荷トルクが許容範囲の中に入る方向に各関節の駆動伝達系の加速度の変化率を補正して制御する。補正を実効的に効率よく作用させるためである。尚、最も前記ロボットの手先から遠い関節とは、ロボットが設置されている基部に最も近い関節とも言い換えることができる。
ステップS-6-15においてβを更新した後、更新されたβがあらかじめ規定した値βを下回っているか否かをチェックする(S-6-17)。βを減少していくことは、指令値の変化を小さくして動作を遅くしていくことに相当する。しかし、振動を励起しないような軌道においても、動作させた際の関節トルクが規定のトルクよりも大きいということは、センサ、制御系のいずれかに正常ではない何らかの事態が生じている可能性が高い。そのため、βが規定の下限値よりも小さな状況(β<β)、すなわちステップS-6-17のNoでは、ロボットは何等かの故障を知らせる警告を外部に発し(S-6-18)、ロボットの動作自体を停止させる(S-6-19)。
一方、βが規定範囲内の場合(ステップS-6-17のYes)には、ステップS-6-21に合流し、次回の動作モードを探索モードに設定し、今回動作の制御を終了させる。
以上が、本実施形態における加減速パターンの最適化制御の全体像である。このような動作の制御を繰返し実施していくことで、関節トルクが設定された最大トルクを超過しない範囲で、動作のサイクルタイムがもっとも短い動作を実現するようにロボットの加減速パターンが自動的に調整される。負荷トルクの測定値の中のピーク値と、許容範囲の限界値との差を計算し、当該差の大きさを目的関数とした最適化問題として演算する結果として、減速機構の許容トルクを順守し耐久性を確保した範囲で、最適な動作を実現することが可能となる。
次に、図5における通常モード(関節トルク監視モード)の制御動作の手順を、図8のフローチャートを用いて説明する。図5のステップS-5-1の評価部において、動作モードを通常モードに切り替えた制御部は、図8のフローに従って制御を実施する。
通常モードの主な役割は、ロボットの駆動時の関節トルクの監視である。通常モードの制御が実施されるタイミングは、基本的に、図6、図7の最適加減速探索モードが収束し、加減速が最適化された後であるが、通常モードでは、加減速の最適化を行う二つの最適化演算(最短時間制御と、最適躍度制約値の探索)は実施されない。通常モードでは、最適加減速探索モードにおいて最後に計算された関節軌道(関節角指令値)を繰り返し再生することで、ロボットの動作が行われる。これは、すでに説明したように最短時間制御は計算コストが高いため、それに要する1秒弱の時間も、製品の生産性の観点では、削除すべき無駄時間ととらえられるためである。
通常モードの実行を開始した制御部は、まず、制御モードの状態を外部に示すために最適加減速探索モードで点灯させたロボットの状態表示灯などを消灯させ、ロボットの制御モードが通常モードに移行したことを外部に示す(S-7-1)。
次のステップS-7-2では、通常モードの繰り返し回数lをカウントするため、通常モードの実行が初回であるか判定する(ステップS-7-2)。初回の場合は、lをゼロにセットし(ステップS-7-3)、そうでない場合にはステップS-7-3をスキップして次ステップS-7-4を実行する。
S-7-4は、最適加減速探索モードにおいて最後に生成された関節軌道にもとづいてロボットを実際に駆動することで、具体的作業を実施するステップである。この時、ロボットの関節に配置されたトルクセンサは、ロボットが実際に動作を行っている際にサンプリング時間ごとにトルクセンサ値をモニタリングする。そして、ステップS-7-5では、その絶対値の最大値をピークトルクτmax,lとして記憶部に記憶する(関節トルクの監視)。
続くステップS-7-6では、今回のサイクルでモニタしたピークトルクτmax,lの変動具合を評価することで、加減速制御を再調整する必要性の有無を判別する。具体的には、今回ピークトルクτmax,lを、加減速調整モード実施時に最適加減速制御が得られた試行において計測されたピークトルク(最適トルク値)τmaxと比較し、その差があらかじめ規定した値εよりも大きいか否かを判定する。尚、τmaxは、加減速調整モード実施時の最後の試行時において計測されたピークトルクに等しい。
変動が小さい場合、すなわち|τmax,l-τmax|<εの場合には(S-7-6のYes)、ステップS-7-7にて通常モードの反復回数を更新する(l←l+1)。さらに、次サイクルも通常モードを継続して実施するように動作モード切替フラグadjustJerkを0に設定し(S-7-8)、今回動作の制御を終了する。
ピークトルクの変動が規定より大きい場合、すなわち|τmax,l-τmax|がε以上の場合には(S-7-6のNo)、ロボットの機構系負荷の経時な変化や、室温などの動作環境の変動、ハンドなどの把持対象物の質量変動などが原因として考えられる。そこで、動作モード切替フラグadjustJerkを1に設定して、次回サイクルの動作を最適加減速探索モードにセットする(S-7-9)。そして、続く(S-7-10)にて最適加減速探索モードの反復回数をクリア(j←0)し、今回動作の制御を終了し、次の動作の制御へと遷移する。これにより、ロボットの制御部は、次のサイクルより加減速(躍度)パラメータを再度調整しなおして、変動後の駆動条件に合わせた最適加減速制御を実施しようと試みることになる。
加減速の調整を行わない通常モードの制御をこのように実施することで、時間のかかる軌道計画の演算(最短時間制御)を毎回実施する必要がなく、トータルとしてのサイクルタイムを短縮することが可能になる。また関節トルクのピークのモニタリングを継続的に実施することで、ピークトルクに変化があった際に、いつでも速やかに最適加減速を探索するモードに復帰するので、使用条件や環境の変化に即時に対応し最適な加減速の制御を実施することができる。
次に、本実施形態に係る最適化制御を行ってロボットを動作させた際の効果を、図10~図11を使用して説明する。図10~図11では、理解を容易にするため、第一関節であるJ1だけを駆動し、他の関節は姿勢を変化させない動作とした。そして、各グラフは、関節J1を1.0ラジアン旋回させて位置決め動作を行った際の関節J1の関節トルクの時間的応答を示している。
図10の検討では、ロボットの姿勢は、関節J1周りの慣性モーメントが1.0[kg・m]程度になるようとなるような姿勢とした。この姿勢は、ちょうどロボットの可動域の中間程度の姿勢となり、ロボットを操作しやすく、実際の工程で多用される姿勢となっている。
図10(a)は、初回駆動時の関節トルクの応答で、加減速を最適化する前のデフォルトの躍度制約値を用いて作成した関節軌道を用いてロボットを駆動した結果を示している。躍度制約のデフォルト値は、β=2500[rad/s]としている。尚、この設定は以降も同様である。
図の中で、τは関節トルクの許容最大値、τはロボットを駆動した際の関節トルク応答である。また、τcalはロボットの指令値を逆動力学計算して計算したトルクであり、ロボットが指令値を生成する際に最短時間制御部で使用したシミュレーションモデルにおける関節トルクを示している。τの値は、減速機の定格トルク(カタログ値)を使用し70[N・m]とした。
図10(a)を参照するとわかるように、図中の丸で囲んで示した部分は、関節トルクが許容値をオーバーしており、ロボット機構の耐久性確保の観点からみると望ましい駆動状態ではないことが分かる。このときのピークトルクは、τmax=92.3[N・m]、ロボットの動作時間すなわち関節角指令値が終わるまでの時間は、t=0.293[s]であった。
注意すべきなのは、最短時間制御部は、τcalがあるマージンをもって許容トルクに収まるような軌道(指令値)を作成しているにも関わらず、実際にその指令値で駆動されたロボットでは関節の弾性を起因とした振動が励起されてしまっている点である。この振動トルクが原因となって、駆動系の強度を超える負荷(トルク)が関節に作用してしまっている。これは、指令値の変化が急峻すぎるためトルクオーバが発生しているのであり、最短時間制御で使用するシミュレーションモデル(剛体モデル)と、柔軟性を含む構造特性を有する実際のロボットの差異に起因して発生している。
図10(b)のグラフは、本実施形態に係る最適加速探索モードを実施し、加速パターン(躍度制約値)が最適化された軌道を用いてロボットを駆動した結果である。このとき躍度の制約値の値は、β=860[rad/s]まで調整され小さくなった。指令値の変化がより滑らかになった結果、振動が抑えられ、関節トルクが駆動系の許容トルクに収まるように調整されていることが確認できる。また、このときの関節トルクのピークは、ちょうどτmax=70.0[N・m]で、ロボットの動作時間は、t=0.341[s]であった。
この結果から、本実施形態の加減速制御によれば、初期状態で関節トルクが許容限界を超えるようなパターンでロボットを駆動しても、加減速パターンの急峻さを抑制するなめらかな軌道が生成されるよう躍度が自動的に調整される。このため、駆動系の耐久性を確保する中でも最適な(最短の)軌道が生成できていることが確認できる。
図11は、図10の動作から姿勢を変更し、関節J1周りの慣性モーメントが0.3[kg・m]となるようアームを折りたたんだ姿勢で、関節J1を1.0ラジアン旋回させる動作を行った際の、関節トルクの時間応答を示したものである。
図11(a)は、初期パラメータすなわちβ=2500[rad/s]で軌道を作成し、ロボットを起動した結果を示している。また、図11(b)は、躍度制約値の最適値を探索した後の最適躍度パラメータを使って軌道を計画し、ロボットを駆動した際の応答を示している。
今回の実験では、腕を折りたたんだことでかなり慣性が小さな姿勢となったことから、図11(a)のデフォルトパラメータでの駆動結果では、振動の少ないなめらかな関節トルクの応答が実現されている。しかし、軌道生成時の躍度の制約が小さすぎたため、関節トルクのピークが小さく、トルク余裕が過剰になっている様子が見て取れる。この時のピークトルクは、τmax=40.2[N・m]で、ロボットの動作時間は、t=0.244[s]であった。
続いて、図11(b)の結果をみると、過剰であったトルクの余裕を適正化し、サイクルタイムを短縮しようと、躍度制約を緩和し、指令値の変化が急峻になっている様子が確認できる。図中で、τcalは、ほとんどステップ状に変化しているように見える。
これにより、ロボットの動作時間はt=0.169[s]まで改善し、その時のピークトルクはτmax=67.5[N・m]であった。また躍度制約パラメータは、β=387000[rad/s]であった。ピークトルクτmaxは、関節トルクの許容値τよりも若干小さな値であるが、これ以上改善することはなく、規定の反復回数超えて時点で最適加速探索モードを終了した。これは、今回の姿勢は慣性モーメントが小さく、振動がさほど励起されないためと考えられる。
以上のように、本実施形態の加減速制御によると、関節トルクが許容限界を超える際の駆動系の保護が可能であるばかりでなく、関節トルクに余裕がある場合は、その余裕を利用して指令値の変化をより急峻なものにすることができる。このため、動作時間を実質的に最短化する最適軌道を自動的に生成することが可能であり、機構系の性能を十分に活用した最適な加減速パターンが実現できることが確認できた。
本発明の実施形態によれば、関節部の許容トルクを超過することによる損傷や、ロボット装置の寿命の低下を生じることなく、高い駆動速度でロボットを動作させることが可能な最適加減速制御を実現可能である。特に、強度の低い減速機等の損傷や劣化を抑制しながら、高い動作速度を実現可能することができる。
さらに上記制御は、実際に関節に印加される負荷トルクにもとづいて実施されるので、確実かつ最適な加減速パターンが実現され、例えばハンドの正確な質量が未知であるなど制御モデルが不明確であった場合でも実施できる。
また上記の調整動作は、ロボットを動作させて組立等の作業を行っている状態でも実施可能である。このため、ワーク、ハンド、動作環境の変化にもリアルタイムに追従可能であり、これらの調整結果をメモリに蓄積して学習を行うことにより、どのような環境においても適用可能な制御システムを実現することができる。
[他の実施形態]
本発明の実施形態は、上述した実施形態に限られるものではなく、適宜変更したり、組み合わせたりすることが可能である。
例えば、上述した実施形態では、ロボットアーム200として6つの関節を有する6関節ロボットを例に挙げて説明したが、関節の数はこれに限定されるものではない。また、関節の駆動方向は、回転方向の駆動だけに限らず、直動方向の駆動(伸縮駆動)が含まれていてもよい。
また、躍度制約調整部の調整アルゴリズムは、上述の実施形態に限定されるものでなく、本発明の趣旨に反しない限り適宜変更が可能であり、さまざまな最適化アルゴリズムを適用することができる。
100・・・ロボット装置/200・・・ロボットアーム/201~206・・・駆動源/211~216・・・電動モータ/221~226・・・センサ部/230・・・サーボ制御部/300・・・ロボット制御装置/301・・・CPU/302・・・ROM/303・・・RAM/304・・・HDD/321・・・モニタ/J1~J6・・・関節/400・・・ティーチングペンダント

Claims (19)

  1. 関節と、トルクセンサと、を有するロボットの制御方法であって、
    前記ロボットの所定部位を所定経路で移動させながら前記関節におけるトルクを前記トルクセンサの出力に基づき取得し、
    前記トルクと前記トルクの許容範囲とに基づき、前記許容範囲の内かつ前記許容範囲を規定する閾値から所定量以上離れた値の前記トルクが発生している関節が存在する場合、前記所定部位を前記所定経路で移動させる際、当該関節の前記トルクが前記閾値に近づくように当該関節の加速度の変化率を制御する、
    ことを特徴とする制御方法。
  2. 前記許容範囲の内かつ前記閾値から所定量以上離れた値の前記トルクが発生している関節の前記トルクが、前記閾値に対して1%の範囲まで近づくように当該関節の加速度の変化率を制御する、
    ことを特徴とする請求項1に記載の制御方法。
  3. 前記許容範囲から外れた前記トルクが発生している関節が存在する場合、前記所定部位を前記所定経路で移動させる際、当該関節のトルクが前記許容範囲の内となるように、当該関節の前記加速度の変化率を制御する、
    ことを特徴とする請求項1または2に記載の制御方法。
  4. 前記関節は複数設けられており、前記許容範囲から外れた値の前記トルクが発生している関節が複数存在する場合、前記所定部位を前記所定経路で移動させる際、当該複数の関節の内、前記閾値との差が最も大きい関節の前記トルクが前記許容範囲の内となるように当該関節の前記加速度の変化率を制御する、
    ことを特徴とする請求項1乃至3のいずれか1項に記載のロボットの制御方法。
  5. 前記関節は複数設けられており、前許容範囲の内かつ前記値から所定量以上離れた値の前記トルクが発生している関節が複数存在する場合、前記所定部位を前記所定経路で移動させる際、当該複数の関節の内、前記値から最も離れた値となっている関節の前記トルクが前記値に近づくように当該関節の前記加速度の変化率を制御する、
    ことを特徴とする請求項1乃至3のいずれか1項に記載の制御方法。
  6. 前記関節は複数設けられており、前許容範囲から外れた値の前記トルクが発生している関節が複数存在する場合に、前記所定部位を前記所定経路で移動させる際、当該複数の関節の内、前記所定部位から最も離れた関節のトルクが前記許容範囲の内となるように当該関節の前記加速度の変化率を制御する、
    ことを特徴とする請求項1乃至3のいずれか1項に記載の制御方法。
  7. 前記関節は複数設けられており、前許容範囲の内かつ前値から所定量以上離れた値の前記トルクが発生している関節が複数存在する場合、前記所定部位を前記所定経路で移動させる際、当該複数の関節の内、前記所定部位から最も離れた関節の前記トルクが前記値に近づくように当該関節の前記加速度の変化率を制御する、
    ことを特徴とする請求項1乃至3のいずれか1項に記載の制御方法。
  8. 前記許容範囲の内かつ前記閾値から所定量以上離れた値の前記トルクが発生している関節が存在しない場合、前記加速度の変化率を更新しない、
    ことを特徴とする請求項乃至のいずれか1項に記載の制御方法。
  9. 前記許容範囲の内かつ前記閾値から所定量以上離れた値の前記トルクが発生している関節が存在しない場合、前記加速度の変化率を更新せず、再度、前記ロボットの前記所定部位を前記所定経路で移動させながら前記トルクを前記トルクセンサの出力に基づき取得する、
    ことを特徴とする請求項8に記載の制御方法。
  10. 前記加速度の変化率を演算する際、前記トルクのピーク値と、前記閾値との差を計算し、当該差の大きさを目的関数とした最適化問題として演算する、
    ことを特徴とする請求項乃至9のいずれか1項に記載の制御方法。
  11. 前記所定経路は、前記関節に関する制約条件を超えない範囲で実質的に最短時間となるように演算された経路である、
    ことを特徴とする請求項1乃至10のいずれか1項に記載の制御方法。
  12. 前記許容範囲は、前記関節の駆動伝達系に含まれる減速機構の耐久時間と定格トルクとに基づき設定されている
    ことを特徴とする請求項1乃至11のいずれか1項に記載の制御方法。
  13. 前記加速度の変化率を制御する際、前記所定経路を計画している軌道のパラメータを補正して制御する、
    ことを特徴とする請求項1乃至12のいずれか1項に記載の制御方法。
  14. 前記所定部位は、前記ロボットの手先である、
    ことを特徴とする請求項1乃至13のいずれか1項に記載の制御方法。
  15. 請求項1乃至1のいずれか1項に記載の制御方法における前記ロボットの前記所定部位を前記所定経路で移動させる動作により、物品の組み立てあるいは加工を行うことを特徴とする物品の製造方法。
  16. コンピュータに、請求項1乃至1のいずれか1項に記載の制御方法を実行させるための制御プログラム。
  17. 請求項1に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
  18. 関節と、トルクセンサと、を有するロボットと、制御部と、を有するロボットシステムであって、
    前記制御部は、
    前記ロボットの所定部位を所定経路で移動させながら前記関節におけるトルクを前記トルクセンサの出力に基づき取得し、
    前記トルクと前記トルクの許容範囲とに基づき、前記許容範囲の内かつ前記許容範囲を規定する閾値から所定量以上離れた値の前記トルクが発生している関節が存在する場合、前記所定部位を前記所定経路移動させる際、当該関節の前記トルクが前記閾値に近づくように当該関節の加速度の変化率を制御する、
    ことを特徴とするロボットシステム
  19. 関節と、トルクセンサと、を有するロボットを制御する制御装置であって、
    前記ロボットの所定部位を所定経路で移動させながら前記関節におけるトルクを前記トルクセンサの出力に基づき取得し、
    前記トルクと前記トルクの許容範囲とに基づき、前記許容範囲の内かつ前記許容範囲を規定する閾値から所定量以上離れた値の前記トルクが発生している関節が存在する場合、前記所定部位を前記所定経路移動させる際、当該関節の前記トルクが前記閾値に近づくように当該関節の加速度の変化率を制御する、
    ことを特徴とする制御装置。
JP2018005858A 2018-01-17 2018-01-17 制御方法、物品の製造方法、制御プログラム、記録媒体、ロボットシステム、制御装置 Active JP7080649B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018005858A JP7080649B2 (ja) 2018-01-17 2018-01-17 制御方法、物品の製造方法、制御プログラム、記録媒体、ロボットシステム、制御装置
US16/247,706 US11298822B2 (en) 2018-01-17 2019-01-15 Robot, method of controlling robot, and robot control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018005858A JP7080649B2 (ja) 2018-01-17 2018-01-17 制御方法、物品の製造方法、制御プログラム、記録媒体、ロボットシステム、制御装置

Publications (3)

Publication Number Publication Date
JP2019123051A JP2019123051A (ja) 2019-07-25
JP2019123051A5 JP2019123051A5 (ja) 2021-02-25
JP7080649B2 true JP7080649B2 (ja) 2022-06-06

Family

ID=67213525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018005858A Active JP7080649B2 (ja) 2018-01-17 2018-01-17 制御方法、物品の製造方法、制御プログラム、記録媒体、ロボットシステム、制御装置

Country Status (2)

Country Link
US (1) US11298822B2 (ja)
JP (1) JP7080649B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6823024B2 (ja) * 2018-09-11 2021-01-27 ファナック株式会社 ロボットのキャリブレーションシステムおよびキャリブレーション方法
JP7042209B2 (ja) * 2018-12-25 2022-03-25 株式会社日立製作所 軌道生成装置、軌道生成方法、及びロボットシステム
JP7343323B2 (ja) * 2019-07-25 2023-09-12 ファナック株式会社 故障予測システム
CN111185923B (zh) * 2020-01-14 2022-02-15 深圳众为兴技术股份有限公司 一种机器人控制装置及控制方法
CN111168661B (zh) * 2020-02-14 2021-06-01 珠海格力智能装备有限公司 机器人用减速机的运行保护方法及其系统、存储介质
JP7485930B2 (ja) 2020-06-16 2024-05-17 株式会社不二越 ロボット減速機寿命推定シミュレーション装置
WO2022201377A1 (ja) * 2021-03-24 2022-09-29 三菱電機株式会社 ロボット制御装置およびロボット制御方法
DE102021113139B3 (de) * 2021-05-20 2022-09-01 Schaeffler Technologies AG & Co. KG Verfahren zur Verwendung einer Robotereinrichtung; System; Computerprogramm; Speichermedium
CN113263503B (zh) * 2021-07-19 2021-11-09 上海捷勃特机器人有限公司 一种机器人系统的控制单元、机器人系统及机器人系统的控制方法
WO2024114921A1 (en) 2022-12-02 2024-06-06 Abb Schweiz Ag Method and system for load-aware optimization of a trajectory for an industrial robot

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001238483A (ja) 2000-02-28 2001-08-31 Seiko Epson Corp 駆動制御方法及び装置
JP2007301691A (ja) 2006-05-12 2007-11-22 Nachi Fujikoshi Corp ロボット制御装置
JP2013000823A (ja) 2011-06-15 2013-01-07 Panasonic Corp 産業用ロボットの速度指令プロファイルの生成方法
JP2014014876A (ja) 2012-07-05 2014-01-30 Canon Inc ロボット制御装置、及びロボット制御方法
JP2016028842A (ja) 2014-07-17 2016-03-03 株式会社ロボテック アクチュエータシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6436303A (en) * 1987-07-31 1989-02-07 Matsushita Electric Ind Co Ltd Angular acceleration control method
JPH05252779A (ja) * 1992-03-02 1993-09-28 Matsushita Electric Ind Co Ltd ロボットのサーボ制御装置
JPH05261691A (ja) * 1992-03-18 1993-10-12 Fujitsu Ltd 冗長マニピュレータ制御方式
JPH1055207A (ja) * 1996-08-09 1998-02-24 Tokico Ltd ロボット制御装置
JP2001293638A (ja) 2000-02-10 2001-10-23 Fanuc Ltd 制御装置
JP2003117879A (ja) 2001-10-15 2003-04-23 Ckd Corp ウェハ搬送ロボット及びウェハ搬送方法
JP6021478B2 (ja) 2012-07-05 2016-11-09 キヤノン株式会社 ロボット制御装置、及びロボット制御方法
JP6541301B2 (ja) 2014-03-28 2019-07-10 キヤノン株式会社 ロボット装置、ロボット装置の制御方法、ロボット制御プログラム、及び記録媒体
JP5908544B2 (ja) * 2014-08-11 2016-04-26 ファナック株式会社 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置
JP2016087700A (ja) * 2014-10-29 2016-05-23 ファナック株式会社 負荷情報の設定を確認する機能を備えた制御装置
JP6126152B2 (ja) * 2015-03-16 2017-05-10 ファナック株式会社 曲線部を有する軌道を生成するロボットの軌道生成装置
JP6511900B2 (ja) * 2015-03-25 2019-05-15 セイコーエプソン株式会社 圧電駆動装置及びその駆動方法、ロボット及びその駆動方法
JP7058929B2 (ja) 2015-10-27 2022-04-25 キヤノン株式会社 駆動装置、ロボット装置、制御方法、物品の製造方法、制御プログラム、および記録媒体
JP6501746B2 (ja) 2016-10-07 2019-04-17 キヤノン株式会社 変位測定装置、ロボット、ロボットアーム及び物品の製造方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001238483A (ja) 2000-02-28 2001-08-31 Seiko Epson Corp 駆動制御方法及び装置
JP2007301691A (ja) 2006-05-12 2007-11-22 Nachi Fujikoshi Corp ロボット制御装置
JP2013000823A (ja) 2011-06-15 2013-01-07 Panasonic Corp 産業用ロボットの速度指令プロファイルの生成方法
JP2014014876A (ja) 2012-07-05 2014-01-30 Canon Inc ロボット制御装置、及びロボット制御方法
JP2016028842A (ja) 2014-07-17 2016-03-03 株式会社ロボテック アクチュエータシステム

Also Published As

Publication number Publication date
US11298822B2 (en) 2022-04-12
US20190217468A1 (en) 2019-07-18
JP2019123051A (ja) 2019-07-25

Similar Documents

Publication Publication Date Title
JP7080649B2 (ja) 制御方法、物品の製造方法、制御プログラム、記録媒体、ロボットシステム、制御装置
JP6128767B2 (ja) ロボット制御装置、及びロボット制御方法
JP7199178B2 (ja) ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム
US9221174B2 (en) Robot controlling device, robot apparatus, robot control method, program for executing robot control method, and recording medium on which program is recorded
US20170326731A1 (en) Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component
JP6717768B2 (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
EP3078459B1 (en) Robot controlling method, robot apparatus, program and recording medium
JP2019509907A (ja) 機械システムの制御方法,機械システム用コントローラ,ロボットマニピュレータ,および非一時的なコンピュータ可読記憶媒体
US10272568B2 (en) Robot apparatus, robot controlling method, program, recording medium, and assembly manufacturing method
Bayani et al. An experimental study on the vision-based control and identification of planar cable-driven parallel robots
JP6851837B2 (ja) 制御装置、ロボットシステム、制御方法、プログラム、記録媒体及び物品の製造方法
JP2016027951A (ja) ロボット装置の制御方法、およびロボット装置
JP2019098439A (ja) 振動抑制装置
EP3441201A1 (en) Method for operating a robot and robotic system
US11691285B2 (en) Method and computing system for estimating parameter for robot operation
JP2015051469A (ja) ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP2017056549A (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法
JP6021478B2 (ja) ロボット制御装置、及びロボット制御方法
JP6112947B2 (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
TWI781708B (zh) 學習裝置、學習方法、學習程式、控制裝置、控制方法及控制程式
Yamawaki et al. Randomized planning and control strategy for whole-arm manipulation of a slippery polygonal object
JP7391523B2 (ja) 制御装置、ロボットシステム、制御方法、物品の製造方法、プログラム、及び記録媒体
JP2020011321A (ja) 加速度調整装置及び加速度調整プログラム
JP7378640B2 (ja) ロボット制御装置およびロボット制御方法
JP7443013B2 (ja) ロボット制御装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220128

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: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220525

R151 Written notification of patent or utility model registration

Ref document number: 7080649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151