JP6167770B2 - 多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置 - Google Patents

多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置 Download PDF

Info

Publication number
JP6167770B2
JP6167770B2 JP2013181242A JP2013181242A JP6167770B2 JP 6167770 B2 JP6167770 B2 JP 6167770B2 JP 2013181242 A JP2013181242 A JP 2013181242A JP 2013181242 A JP2013181242 A JP 2013181242A JP 6167770 B2 JP6167770 B2 JP 6167770B2
Authority
JP
Japan
Prior art keywords
axis
trajectory
link
speed
hand
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
JP2013181242A
Other languages
English (en)
Other versions
JP2014193519A (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.)
Denso Wave Inc
Original Assignee
Denso Wave 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 Denso Wave Inc filed Critical Denso Wave Inc
Publication of JP2014193519A publication Critical patent/JP2014193519A/ja
Application granted granted Critical
Publication of JP6167770B2 publication Critical patent/JP6167770B2/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/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/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/416Numerical 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 control of velocity, acceleration or deceleration
    • 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/39407Power metrics, energy efficiency
    • 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/40519Motion, trajectory planning
    • 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/40527Modeling, identification of link parameters
    • 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/43062Maximum acceleration, limit
    • 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/43093Speed pattern, table together with timing data in ram
    • 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/43203Limitation of speed, permissible, allowable, maximum speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、多軸型ロボットの動作速度を向上させる軌道生成方法及び制御装置に関する。
現在、生産設備等の現場において、多種多様な産業用ロボットが使用されている。この産業用ロボットとして、関節(軸)を複数有する所謂多軸型ロボットがある。この多軸型ロボットは、溶接、塗装、部品組立、部品搬送などの作業に使用され、それが担う作業の性質上、作業の始点から終点までの動作時間の短縮化、即ち、動作速度の高速化が求められている。
従来、多軸型ロボットにおける動作速度の高速化を図るために、動作の加減速を制御する方法が知られている。この方法には、例えば、基本的な動作速度パターンを台形にして、ロボットの姿勢に応じた最大加速度を計算し速度パターンを修正する方法や、バンバン(Bang-Bang)制御のように最大原理に基づく最大トルクパターンを用いて動作させる方法などがある。
しかし、前者については、台形状の動作速度パターンの上辺部分に相当する動作期間では制約で加速度がゼロになり、その動作速度パターンの肩部分(左右の両斜辺)に相当する加減速を行う期間において加減速を最大にできないという問題がある。この台形速度パターンでは、その肩の部分に相当する期間で加速度が一定になるが、実際のロボットの姿勢は時々刻々と変化しているので、最大加速度は非線形に変化している。すなわち、本来非線形で最大まで加速できるにもかかわらず線形で加速しているため、モータの性能を使い切れていないことになる。
また、後者については、実際には動作速度の上限(拘束条件)による制約があるにも関わらず、これを無視することになる。上述した加減速制御に関連する従来技術として、例えば特許文献1〜3に記載されたものが知られている。
特開2000−94371号公報 特開2002−132349号公報 特開2002−321178号公報
上述した特許文献1〜3に記載された制御法の概略及びその問題点を説明する。特許文献1には、台形速度パターンにおける加速度を、ワークの重量,イナーシャに応じて変化させる制御が示されている。しかしながら、この制御の場合、ワークの着脱時に計算した加速度で一定加速させるため、台形速度パターンの属性である上述した限界を超えることができない。
特許文献2に記載された制御も、台形速度パターンの加減速を行う期間について、実際の加速度曲線が予め設定しておいた制限加速度曲線に極力一致するように調整し、より大きな加速度を出力可能としたものである。
しかしながら、予め設定する制限加速度曲線をどのようにして求めるかが不明であり、さらにその曲線は軸毎、移動方向毎、及び加減速毎にパラメータとして設けられている。したがって、この手法では、(1)パラメータが複数できてしまい管理が煩雑となり、また(2)パラメータは離散値なので厳密に加速度曲線に沿うことはできない。さらに、(3)最大加速度はロボットの姿勢によって変化するが、この点が考慮されていない。よって、この制御法方法は汎用的とは言えない。
特許文献3には、動作の始点,加速度終了点,減速開始点,終点のそれぞれにおいて、ロボットの各軸に関するダイナミクスを考慮して動力学方程式を解くことで、加速時間,減速時間を最短にする制御法が示されている。しかしながら、この制御法の場合、上記の始点、終了点、開始点、及び終点以外の動作点については、加減速時間を最短にすることができない。
本発明は上記事情に鑑みてなされたもので、その目的は、軌道生成のための処理を簡単化でき、かつ、動作時間をより短縮化できる多軸型ロボットの軌道生成方法及び制御装置を提供することにある。
請求項1記載の多軸型ロボットの軌道生成方法によれば、先ず位置指定ステップにおいて、手先の始点及び終点の位置を指定すると、軌道生成ステップでは、始点から終点に向けて手先の移動を開始させるときに、第1のリンクに、第2のリンクの動作によって、第1のリンクを駆動する第1のジョイントが発生する加速力を増加させる反作用を生じさせる。また、手先を終点に停止させるときには、第2のリンクの動作によって、第1のリンクに、第1のジョイントが発生する減速力を増加させる反作用を生じさせるように、第1のジョイントの速度パターン及び第2のリンクを駆動する第2のジョイントの速度パターンを生成することで手先の軌道を生成する。
従来の多軸型ロボットの制御では、例えばピック・アンド・プレイスのような単純な作業を行わせる場合、始点、終点間で動作量に変化がない軸は動かない。この状態では、手先側アーム(第2のリンク)は基部側アーム(第1のリンク)の負荷となっているだけであり、基部側アームの負担が大きく、また、動作速度の上昇を図るためには障害となっている。
これに対して、上述したように軌道を生成すると、基部側アームの先端側で、手先側アームが基部側アームに対し反作用を生じるように動作する。したがって、手先の起動時に必要な加速力と、停止時に必要な減速力とをそれぞれ増加させて、手先を始点から終点まで移動させる速度を向上させ、移動時間を短縮することができる。ここで、
(最大関節加速度)=(最大関節トルク+干渉トルク+重力トルク+摩擦トルク)
/イナーシャ …(A)’
(最大関節加速度)=(最大関節トルク+干渉トルク)/イナーシャ …(A)
(最大関節速度)=(モータ最大速度)/(減速比) …(B)
である。ただし、ここでは説明簡略化のため水平方向の動作のみを考えることとし、(A)’式において重力トルク及び摩擦トルクを無視したものを(A)式とする。例えばバンバン(Bang-Bang)制御のように、常に何れかの軸が最大トルクを出力することのみ考慮し、速度の上限を考慮しない場合は、(A)式に基づきアームを折り畳みイナーシャを小さくすることで、加速度を向上させることによる動作短縮が期待できる。
しかしながら、現在多く普及しているロボットの大半は減速比が高く、(B)式より最大関節速度が低いため直ぐに上限に達してしまう。このため、動作時間を短縮するには加減速を急峻に立ち上げるしかない。加減速度を向上させるには、(A)式よりイナーシャを小さくすること、干渉トルク項の符号を関節トルク符号と同じ(アシストする方向)にすることが有効であると判る。つまり動作としては、加減速時は手先側アームを基部側アームの動作方向と逆向きに振ることに対応する。
このとき、干渉される基部側アームの軸は、その軸を回転させるモータを前述した台形の速度パターンの上限を超えて加速できる。つまり、そのモータが有している性能をフルに発揮でき、従来以上の加速を出すことができるので、動作時間を短縮できる。逆に言えば、従来の手法と同じ移動時間で動作させるのであれば、従来と同じ加速度を出力するのに少ないモータトルクで済むため、モータ容量を下げることができ、ロボットの小型、低コスト化に貢献できる。そして、上述した軌道は、多軸型ロボットの動力学に基づいて計算された結果として生成されるので、ロボットの拘束条件を満たす範囲内で速度を最大化する軌道が求められる。したがって、現実的に使用できる軌道が得られる。
請求項2記載の多軸型ロボットの軌道生成方法によれば、軌道生成ステップは、第1及び第2のジョイントの駆動に関する拘束条件を加味して速度パターンを演算するステップを含む。これにより、ロボットの拘束条件を満たす範囲内で速度を最大化する軌道が求められるので、現実的に使用できる最適化された軌道が得られる。
請求項3記載の多軸型ロボットの軌道生成方法によれば、前記拘束条件は、第1及び第2のジョイントのそれぞれについて設定されている最大トルク及び最小トルクから成るトルク条件と、第1及び第2のジョイントのそれぞれについて設定されている最大速度及び最小速度から成る速度条件とを含む。したがって、第1及び第2のジョイントのそれぞれについてトルク条件及び速度条件を満たす範囲で軌道を生成できる。
請求項4記載の多軸型ロボットの軌道生成方法によれば、始点と終点との間に複数の初期経由点を自動的に設定するステップを有し、軌道生成ステップは、初期経由点の位置を更新しながら最短時間の速度パターンを生成するので、始点から終点への移動時間が最短となる速度パターンの軌道を生成できる。
請求項5記載の多軸型ロボットの軌道生成方法によれば、初期経由点を3点設定する。ここで、手先を始点から終点まで移動させることを想定すると、第1のジョイントにおいて、起動直後に加速度を付与する時点と、動作途中で加速度の方向が反転する時点と、停止直前に加速度をゼロにする時点とがある。そして、軌道の最適化を図る過程では、少なくとも上記3つの時点に対応する経由点を最適化することが重要になると考えられる。したがって、上記3つの時点に対応する経由点を設定すれば、演算量を抑制しつつ効率的に、移動時間を最短にする軌道を生成することが可能となる。これにより、従来の方法では、方法自体の限界によって引き出すことができなかったモータ,アクチュエータのポテンシャルを最大限引き出しつつ、現実的に使用できる最適化された軌道が得られるようになる。
請求項6記載の多軸型ロボットの軌道生成方法によれば、適用する多軸型ロボットの構成を以下のように限定する。すなわち、ボールねじ軸からなる直動軸(第1軸)と、この直動軸に沿って移動可能に配置される移動体と、この移動体に搭載される回転軸(第2軸)を基点として回動可能に配置される回動アームとを備える2軸ロボットとする。このような2軸ロボットを制御する際に設定される動作速度の上限値は、所謂台形パターンと称されるもので規定され、最大速度は移動体の位置に関わらず一定となっていた。
しかしながら、実際の2軸ロボットについて、上限速度,或いは限界速度,危険速度として評価される速度は、移動体の直動軸上の位置に応じて異なっている。つまり、従来のように速度を制限した状態では、ロボットの性能を十分に引き出せていなかった。そこで、請求項6の方法では、移動体の最大速度についての拘束条件を、少なくとも一部の範囲について、直動軸上における移動体の位置に応じて可変設定することで、前記位置によっては上限速度をより高く設定し、従来よりも移動時間を短縮させて作業効率を向上させることができる。
請求項7記載の多軸型ロボットの軌道生成方法によれば、移動体の位置に応じて求められるボールねじ軸の危険回転速度NdとDN値とを比較して、より小さい値を示す方を最大速度の拘束条件とする。すなわち、ボールねじ軸を回転させて移動体を直線移動させる構造については、ボールねじ軸の許容回転速度が上記のように規定される。そして、危険回転速度Ndは、直動軸上における移動体の位置をパラメータとする演算で決まるので、その位置に応じて最大速度を設定できる。
各実施例において実行されるロボットの最短時間の動作軌跡を求めるための処理手順を概略的に示す図 各実施例に係る、ロボットのアームの移動を制御する方法の原理を従来例と比較して説明する図 第1の実施例にて示すロボットの全体構成を概略的に示す斜視図 第1の実施例にて示すロボットの制御系統を示す電気的な機能ブロック図 図1に示す処理に対応して制御部が実行する、速度パターンを作成するためのフローチャート 図5の処理の一部として実行される、拘束条件を加味したボブロー法による速度パターンの作成の詳細を示すフローチャート ロボットアームの右手系,左手系を説明する図 手先の座標位置を各軸の角度に変換して速度パターンの計算を行う理由を説明する図 加速度の拘束条件を説明する説明図 XY平面上で第1軸,第2軸及び手先の座標が変化する軌跡を示す図 (a)は図10(a)〜(e)に示す5つの手先位置を同時にプロットした図、(b)は始点から終点まで移動する間の、第1軸,第2軸それぞれの角度,角速度,角加速度,トルクの変化を示す図 第2の実施例において制御部が実行する、速度パターンの準備処理説明するフローチャート 図12に示す準備処理の一部として、拘束条件を加味して実行されるボブロー法に従う速度パターンの準備処理を詳細に説明するフローチャート 変形例に係る3軸のアームロボットを模式的に説明する図 3軸のアームロボットに本願の軌道生成法を実施した時のシミュレーションの図 別の変形例に係る多軸ロボットに採用されるモータのTN曲線を説明する図 別の変形例に係る2軸のXRロボットを概略的に示す平面図 XRロボットにおける本願の軌道生成方法の効果を説明する模式図 第3の実施例として、XRロボットの機構的数値パラメータを説明する図 シミュレーション結果を示す図 XRロボットの各軸動作を同期させる場合を説明する図
以下、図面を参照して、本発明に係る多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置の様々な実施例を説明する。
[第1の実施例]
図1〜図11を参照して、第1の実施例に係る多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置を説明する。先ず、本実施例の多軸型ロボットの制御法の概要を、図1,2を参照して説明する。最初に図2を参照して、本実施例に係る制御法を従来の制御法と比較しながら説明する。
図2(a)に示すように、第1及び第2アーム(リンク)AM1,AM2を2つのジョイントJT1,JT2で可動可能に結合した簡単な2軸(J1,J2)ロボットを想定する。このロボットのアーム手先EFを、X−Y平面上において(J1,J2)=(0°,0°)の角度位置から(J1,J2)=(90°,0°)の角度位置まで移動させることを想定する。
この場合の最も単純な手法は、図2(b)に示すように、第2のアームAM2(即ち第2軸J2)は動作させず、第1のアームAM1(即ち第1軸J1)のみを90度回転させるものである。この手法では、第1のアームAM1のみを動作させるため、負荷が偏り、第1のアームAM1の負担が大きく、また、アーム全体の動作半径が常に最大でイナーシャが大きくなる。このため、動作速度が遅くなるという問題がある。
図2(c)は前述したバンバン(Bang-Bang)制御による動作である。この場合、第1のアームAM1と共に第2のアームAM2も動作させてアームを折り畳む。これにより、イナーシャが小さくなるため高速で動作させることができる。しかしながら、ロボットに課されている速度の制約等の拘束条件を全く考慮していないので、実際にこの様に動作させて動作時間の短縮を図ることは不可能である。
本実施例では、概略的に図2(d)に示すような動作軌跡を実現させる。すなわち、手先EFの移動を開始させると、最初に第1のアームAM1(第1軸J1)を終点方向に回転させると共に(矢印A参照)、第2のアームAM2(第2軸J2)を終点方向と逆方向に回転させる(矢印A´参照)。このとき、アームの形態は所謂左手系となる。
その後、第1のアームAM1を回転させている途中で(矢印A参照)、第1のアームAM1を基準として見た場合に、手先位置(第2アームAM2の先端位置)が第1のアームAM1の先端位置よりも先行して終点側に近づくように、第2のアームAM2をその回転方向に振り出させる(矢印B´参照)。このとき、アームの形態は所謂右手系となる。
すなわち、図2(b)の動作の場合、第1のアームAM1を回転中心とする半径上に常に第2のアームAM2と手先EFとが位置する。これに対して、図2(d)の動作の場合、最初は第2のアームAM2が始点方向の側に回転する(矢印A´)ことで手先の回転が遅れる。しかし、その後、第2のアームAM2が終点方向の側に、第1のアームAM1よりも先行して回転する。つまり手先EFが、第1のアームAM1よりも先行した状態となる。
この様に、2つのアームAM1,AM2(第1軸及び第2軸)の動きを協働させることで、図2(b)の動作に比較して、2つのジョイントJT1,JT2のモータに掛かる負荷を分散させることができる。また、アームが若干折り畳まれるのでイナーシャがより小さくなり、モータに掛かる負荷そのものが減少する。
加えて、第2アームAM2の動作が第1アームAM1、すなわち第1軸に反作用に伴う力を生じさせる。つまり、手先EFが始点から移動するときには、第2のアームAM2の一時的な逆方向への回転(矢印A´)の反作用に伴い、矢印A″で示す付勢力が第1のアームAM1に加わる。この付勢力A″は、第1のアームAM1の終点側への回転を加勢する向きに加わる。反対に、手先FEが終点に接近してくると、第2のアームAM2のそれまでの回転方向への先行する運動(矢印B´)の反作用に伴い、矢印B″で示す抑制力が第1のアームAM1に加わる。つまり、この抑制力B″は、第1のアームAM1のそれまでの回転(矢印A)を抑制しようとする向きに働く。
このように、手先EFが回転を開始するとき及び回転を終了させるときのそれぞれにおいて、第2のアームAM2の一時的な動作により生じる反作用の力、即ち付勢力及び抑制力が、第1のアームAM1の回転の加速及び減速を積極的にアシストする。このため、手先EFを(J1,J2)=(0°,0°)の角度位置から(J1,J2)=(90°,0°)の角度位置まで移動させるのに要する時間は、上述したアシストが無い制御と比べて、格段に短縮される。
また、この様にアーム動作をさせるには、予めアーム、すなわち、各軸のモータを回転させるための速度パターンを生成しておく必要がある。この速度パターンを生成するに当たっては、後述する具体的な手法により、ロボットの拘束条件を満たすことを前提として、最も効率の良い動作軌道を選択する。
図1は、図2(d)に示すような動作軌跡を実現させるための処理手順を概略的に示したものである。先ず、ロボットの手先を、始点から終点まで移動させる間に、複数の経由点を仮に設定する(図1(a))。そして、手先の軌道を計算するためにボブロー(Bobrow)法を用いることで、各経由点を通過しながら手先を移動させるのに最速となる速度パターンを演算する(同図(b))。このボブロー法を用いた演算を行うに当たっては、実際のロボットの運動方程式が考慮されるため、各軸の動作速度やトルクの制限など、ロボットの拘束条件を満たした上で最速となる速度パターンが求められる。
速度パターンを求めると、その速度パターンに従ってロボットを所定の始点から終点まで動作させた場合の動作時間を算出する(同図(c))。そして、経由点の位置を更新しながら(同図(d))上述したプロセスを繰り返し実行し、動作時間が最短に収束したと判断した時点で処理を終了する。この一連の処理は、多軸ロボットの各軸に対して実行される。その結果として得られた軌道が、ロボットの拘束条件(速度<速度制限値、且つ、トルク<トルク制限値)を満たした上で、手先を始点から終点まで最短時間で移動できる軌道となる。このようにして求めた手先の経由点及び各軸の速度パターンの情報(軌道情報)は、ロボットコントローラに格納されて実際の多軸ロボットの制御に使用される。
次に、図3ないし図11を参照して、上述した多軸ロボットの軌道情報を生成方法及びその軌道情報を使用した多軸ロボットの制御装置の一例を詳述する。図3(a)は、4軸ロボット1(多軸型ロボット)の全体構成を概略的に示している。直線移動レール2には、その下面側に移動体2a(基部側アーム)が第1のリンクとして、第1軸(X軸)であるX方向に沿って直線移動可能に支持されている。また、この移動レール2には、その移動体2aを自在に移動させるための駆動機構が設けられている。詳しく図示はしないが、前記駆動機構は、直線移動レール2の一端部に配設された直線移動用モータ3や図示しないボールねじ機構などから構成されている。ここで、第1のジョイントは、直線移動レール2と移動体2aとが連携する構成部分が対応する。
前記移動体2aの下面部にはアーム支持ベース4が連結される。前記アーム支持ベース4の下面に水平方向に延びる水平旋回アーム5(手先側アーム)が第2のリンクとして、その一端部である基端側が第2軸(垂直軸,R軸,第2のジョイント)を中心にR方向に旋回可能に取付けられている。この水平旋回アーム5の前記垂直軸とは反対側の端部である先端部(先端面)に、昇降体6が第3のリンクとして上下動可能(第3軸,Z軸)に取付けられている。この昇降体6の下面側に、手首部7が第4のリンクとして垂直軸(第4軸,T軸)を中心に同軸回転可能に取付けられている。また、手首部7には、ワークを把持するためのチャック(ハンド)等の作業用ツールが着脱可能に取付けられるようになっている。
この場合、前記水平旋回アーム5は、アーム支持ベース4内に設けられた駆動源であるアーム回転用モータ8(図4参照)及び回転伝達機構により水平方向に無限回転(旋回)可能であり、前記昇降体6は、水平旋回アーム4に内蔵されたモータ及びラック−ピニオン機構によって水平旋回アーム5の先端にて上下移動され、前記手首部7は、昇降体6に内蔵されたモータによって同軸回転される。
上記各ロボット1の動作(直線移動モータ3を含む各軸のモータ)は、それぞれ図4に示すように、ロボットコントローラRCの制御部9により作業工程プログラム等に基づいて制御されるようになっている。この制御部9(制御装置,制御手段)は、CPU,ROM,RAMなどを備えて構成され、ティーチングペンダント10が接続されており、このティーチングペンダント10には、スイッチ群11が設けられていると共に、表示手段たる表示部12が設けられている。
また、図3(b)には、ロボット1の物理的パラメータ(動力学パラメータ)をXY平面上に示している。尚、Y軸は上記X軸に直交しており、図3(a)に示す正面側を座標の正側としている。図中に示すm1,m2及びm3は、それぞれ第1のリンクの質量[kg]、第2のリンクの質量[kg]、及び「第3及び第4のリンク並びに負荷」の総質量[kg]である。lg2[m]は、第1のリンクの軸位置からの第2のリンクの重心までの距離,l2[m]は第2のリンクの長さである。また、I2[kgm]は第2のリンクのリンク重心回りのイナーシャ,I4[kgm]は、第3のリンク及び第4のリンクの総重心回りのイナーシャである。また、θ1は第1軸の関節位置,θ2は第2軸の関節角度である。
上述した多軸ロボット1は4軸であり、本実施例に係る軌道生成方法及び制御法は、これらの4軸のうち、何れかの2軸及び3軸以上の複数軸について実施できる。しかしながら、以下の説明では、軌道生成及び制御の原理を判り易く説明するため、第1及び第2軸のみを計算対象として説明する。その説明を元に、3軸以上の軌道生成及び制御の例を後述する。
ここで、以下の説明で使用する物理量θ,λに関して、以下のような定義を与えておくことにする。
θ : ロボットの位置を示す、各軸の関節角[rad]である。
θ´: ロボットの速度を示す、各軸の関節角速度[rad/s]である。
θ″: ロボットの加速度を示す、各軸の関節角加速度[rad/s]である。
λ : 軌道上の各位置を示す軌道パラメータである。
λ´: 軌道上の各位置における傾きであり、軌道の速度を示す。
λ″: 駆動上の各位置における曲率を示す、軌道の加速度を示す。
上述した多軸ロボット1の運動方程式の一般表記は(1)式となる。
Figure 0006167770
但し、τはトルクベクトルである。そして、(1)式における慣性行列Hと、遠心力・コリオリ力を表す行列hとに、ロボット1の物理的パラメータが反映されている。ここで、
Figure 0006167770
また、(1)式におけるBは摩擦,gは重力であるが、以下ではこれらを無視して説明する。
尚、ロボットの運動方程式の詳細については、以下の文献(1)を参照できる。
・<文献(1)>Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems October 9-15,2006,Beijing China “Time-Optimal Trajectory Generation of Fast-Motion Planar Parallel Manipulator” by Yanjie Liu, Chenqi Wang, Juan Li, Lining Sun
図5は、図1に示す処理に対応して制御部9が実行するフローチャートである。先ず、制御部9は、例えばオペレータより与えられたロボット1の手先の始点,終点を読み込むと(ステップS1,位置指定ステップ,位置指定手段)、その始点,終点の間の3点を、初期経由点(補間点)として決定する(ステップS2,作成手段)。これらの初期経由点の決定には、例えば線形補間を用いる。例えば、始点座標が(0,0),終点座標が(30,100)であれば、初期経由点を(7.5,25),(15,50),(22.5,75)とする。
次に、制御部9は、始点,終点及び上記3点の初期経由点の間を、例えばスプライン補間等により補間処理して(ステップS3)、補間後の軌道についてボブロー法を用いて移動時間が最短となる速度パターンを作成する(ステップS4)。尚、ボブロー法の詳細については、以下の,文献(2)(3)を参照。
・<文献(2)>The International Journal of Robotics Research,Vol.4, No.3,Fall 1985 p3-17“Time-Optimal Control of Robotic Manipulators Along Specified Paths” by J. E. Bobrow, S. Dubowsky, J. S. Gibson
・<文献(3)>IEEE JOURNAL OF ROBOTICS AND AUTOMATION,VOL.4,NO.4,AUGUST 1988 P443-450 “Optimal Robot Path Planning Using the Minimum-Time Criterion” by JAMES E. BOBROW
次いで、制御部9は、ロボット1の手先(今の例では第2軸、すなわち第2アームの先端)を、補間した軌道について作成した速度パターンに従い移動させた場合の動作時間を計算し(ステップS5)、その動作時間と前回に計算した動作時間との差を求める。そして、制御部9は、両者の差が所定の閾値(例えば0.001s)未満に収まっているか否かを判断し(ステップS6)、収まっていなければ(NO)ステップS2で求めた経由点を、例えば滑降シンプレックス法等を用いて更新する(ステップS7)。勿論ここでは他の手法,例えば勾配法や遺伝アルゴリズム等を用いても良い。
経由点を更新すると、制御部9の処理はステップS3に戻り、ステップS7までの処理を繰り返す。そして、ステップS6において、今回と前回の動作時間の差が所定の閾値未満に収まれば(YES)処理を終了する。尚、ステップS3〜S7が軌道生成ステップ(生成手段)に対応する。
次に、ステップS5で行うボブロー法を用いた計算処理について、図6を参照して説明する。先ず、ステップS3で決定した手先の軌道を示す(3)式
x=f(λ) …(3)
より、軌道パラメータλを手先位置x(ベクトル)に変換する(ステップS11)。尚、式に付している番号は、文献(1)に記載されているものについては文献(1)の番号に合わせている。軌道f(λ)は、例えば3次スプラインで補間した場合は次式となる。
f(λ)=aλ+bλ+cλ+d …(3a)
但しλは、始点から終点までの座標の増分変数である。
続いて、逆運動学より、手先位置xを各軸(アーム)の角度qに変換する(ステップS12,変換手段)。
q=p−1(f(λ)) …(4)
但しpは、順運動学を示す関数である。ここで手先位置xを角度qに変換するのは、手先の軌道を求める際に、図7に示すように、ロボット1のアームの形態である手系(図7(a)は左手系,図7(b)は右手系)を限定することなく求められるからである。
すなわち、図8において説明するように、座標位置を用いて図6に示す計算を行うとした場合、軌道の途中でアームの形態を変化させることを想定すると(図8(a),(b)参照)、形態が変化したところで拘束条件が不連続となり、計算結果が得られなくなってしまう。そのため、座標位置を用いて計算を行う場合には、アームの形態を変化させないで行う必要がある(因みに文献(2),(3)においても、ロボットのアーム形態を、最初に決定された形態から変更することなしに最速となる速度パターンを求めている)。
これに対して、本実施例のように、予め手先の座標位置を各軸角度に変換してから計算を行うようにすれば、軌道の途中で形態が変化しても拘束条件が不連続とならず、計算結果を得ることができる。したがって、アーム形態に制約されることなく最速となる速度パターンが求められる。
そして、(1)式に(4)式を代入すると、(5)式が得られる(ステップS13)。
Figure 0006167770
尚、Jはヤコビアンである。また、(5)式において摩擦B,重力gを夫々含むパラメータa3,a4の項は「ゼロ」となる。
次に、ステップS14において、制御部9は、(5)式より求められる最大加速度λ″max,最大減速度λ″minを計算する(これらについては、文献(1)の(8)〜(10)式を参照)。尚、「λ」に付した「2」の記号は文献(1)において加速度を示すためのダブルドットに替わるものである。ここで求められる最大加速度λ″max,最大減速度λ″minが、ロボット1の動作の加速度に関する拘束条件となる。
次いで、制御部9は、軌道上の次の位置λ及び速度λ´を、最大加速度λ″max(又は最大減速度λ″min)を用いて(11)式,(12)式により計算する(ステップS15)。ここで、時間tはサンプリングタイム(例えば1ms)であり、λ0,λ´0は現在の位置及び速度である。また「λ」に付した「´」は一階微分を表し、文献(1)において速度を示すためのドットに替わるものである。
λ=0.5λ″maxt+λ´t …(11)
λ´=λ″maxt …(12)
次に、制御部9は、軌道パラメータλの速度λ´と加速度(減速度)λ″がそれぞれの拘束条件を満足するか否かを判定する(ステップS16)。つまり、制御部9は、
λ´min≦λ´≦λ´max …(13)
λ″min(λ,λ´)≦λ″≦λ″max(λ,λ´) …(14)
の両条件を同時に満足するか否かを判定する。なお、加速時か減速時かに応じて、λ´min又はλ´max、及び、λ″min又はλ″maxが使用される。
図9は、上記文献(2)のFig.2を基に模式的に表すもので、2軸ロボットについて、軌道パラメータλの加速度(減速度)λ″に関する拘束条件を満たす範囲を示している。すなわち、各軸(各関節に配置されるモータ)について規定されている最大加速度〜最大減速度の範囲でAND条件を採った許容範囲λ″min〜λ″maxが設定されている。
また、軌道パラメータλの速度λ´に関する拘束条件の限界値λ´min、λ´maxは、
λ´min=max(q´min/f´(λ)) …(15)
λ´max=min(q´max/f´(λ)) …(16)
である。ここで、f(λ)は軌道を示し、q´min、q´maxはロボット1の仕様より決まる最小及び最大の関節速度である。これらの速度条件及び加速度(トルク)条件は、拘束条件として必要な最小限の条件であり、状況に応じてこれ以外の条件を追加してもよい。
上述のステップS16において、軌道パラメータλの速度λ´と加速度(減速度)λ″が式(13)、(14)の拘束条件を共に満足していれば(ステップS16、YES)、制御部9は、位置λをステップS15で計算した値に更新する(ステップS17)。次いで、制御部9は、位置λが終点λendに到達したか否かを判断し(ステップS18)、到達していなければ(NO)、処理をステップS14に戻し、到達していれば(YES)処理を終了する。
一方、ステップS16において、速度λ´と加速度(減速度)λ″が式(13),(14)の少なくも一方の拘束条件を満足していない場合(ステップS16,NO)、制御部9は、ステップS19の処理を行う。すなわち、制御部9は、加速時であれば最大加速度λ″maxより任意の定数aを減じたものを新たな最大加速度λ″maxとし、減速時であれば最大減速度λ″minより任意の定数aを減じたものを新たな最大減速度λ″minとする。その後、ステップS15に戻り、軌道パラメータである位置λ及び速度λ´を再計算する。
以上の図6に示す処理を完了すると、図5に示すステップS3で補間されて求められた軌道上を、ロボット1の手先が速度及び加速度(=トルク)についての拘束条件を満たしつつ移動した場合に、移動速度が最も速くなる速度パターンが得られる。すなわち、ボブロー法を用いた計算処理はロボット1の運動力学に基づいて行われているので、ロボット1についての拘束条件を満たすことができる。
なお、特に図示していないが、実際には、ステップS4及びS5に係る動作時間は、始点から終点までの往復の速度パターンに基づいて演算される。つまり、ステップS4にて説明したアルゴリズムに基づいて、最初に始点から終点への行きの速度パターンが演算される。次いで、終点から始点までの帰りの速度パターンが演算される。それから、行き速度パターンと帰り速度パターンとが合成され、その合成された速度パターンについて、ステップS5にて動作時間が演算される。
次に、図10及び図11は、以上のようにしてロボット1の手先の移動速度が最短となる軌道を求めた一例を示す。図10(a)は、XY平面上における第1軸,第2軸及び手先の座標が変化する軌跡を実線で示すもので、始点座標は(−0.3,0.3)であり、終点座標は(0.3,0.3)である。図11(b)には、始点から終点まで移動する間の、第1軸,第2軸それぞれの角度,角速度,角加速度,トルクの変化を示している。
第1軸は、X軸上を−0.3[m]から(図10(a)参照)0.3[m]へ(図10(e)参照)直線的に移動する。すなわち、移動体2aが直線移動レール2に沿って移動することに対応する。また、第2軸の回転角θ2(水平旋回アーム5の回転角)は、始点及び終点,並びにX軸上の中間点で夫々0[rad]であるが、図10(b)では、終点方向とは逆方向に0.6[rad]だけ回転した状態になる。この場合、手先位置のX軸座標は、移動体2aの座標よりも負側にあり、ロボット1のアーム形態としては右手系となる。図10(d)では逆に、−0.6[rad](始点方向)に回転した状態になる。この場合、手先位置のX軸座標は、移動体2aの座標よりも正側にあり、ロボット1のアーム形態としては左手系となる。
上記の動きに応じて、第2軸の角速度は始点(V1)から移動した直後に正側のピーク(10[rad/s],ピーク点V2)に達し、そこから中間点における負側のピーク(−10[rad/s],ピーク点V3)に向けて直線的に変化する。また、その中間点から終点の直前における正側のピーク(10[rad/s],ピークV4)に向けて直線的に変化する。すなわち、図11(b)に示すように、中間点を中心として対称な速度パターンとなる。
また、上記の角速度パターンに対応する角加速度は、始点V1において0から正側のピーク400[rad/s]に達し、その後、ピーク点V2で負の値約−50[rad/s]に切り替わって、中間点のピーク点V3までその負の値約−50[rad/s]をキープする。さらに、中間点のピーク点V3で正の値50[rad/s]に切り替わると、ピーク点V4までその値をキープする。ピーク点V4で負側のピークである−400[rad/s]に達し終点V5で0に戻る、というパターンとなる。
第2軸が上述のように動作することで、以下のような作用が発生する。第2軸は、始点より移動を開始してからX軸上の中間点に達するまでの間に、0[rad]→0.6[rad]→0[rad]と角度θ2を変化させる。これにより、ロボット1の手先が一旦、正回転方向に振られた状態から負回転方向に振り戻されるように動く。これに応答して、その動きに伴う反作用が移動体2aに生じて、移動を開始した際の第1アームの運動を加速する加速力が発生し、この付勢力が第1、第2のアームの終点方向の運動をアシスト(付勢)する。
一方、X軸上の中間点から終点に達するまでの間に、第2軸は0[rad]→−0.6[rad]→0[rad]と角度θ2を変化させるが、これにより、ロボット1の手先が一旦、負回転方向に振られた状態から正回転方向に振り戻されるように動く。この場合も、その動きに伴う反作用が移動体2a側に生じて減速力として作用する。この減速力は、終点に到達して停止するまでの減速運動をアシスト(抑制)する。
以上のように第2軸が動作する結果、ロボット1の手先が始点から終点まで移動する時間は、従来のように単純な動作をさせた場合に比較して短縮される。図10には、第2軸を全く回転させずに第1軸のみを動作させた場合の軌道を破線で示すが、この軌道についてシミュレートした移動時間は536[ms]であるのに対し、実線で示す軌道についてシミュレートした移動時間は514[ms]であり、4%強の短縮効果があった。したがって、移動時間を従来と同じ時間にすれば、ロボット1をより少ないエネルギーで動作させることが可能になり、省エネルギー化にも貢献できる。更に、例えば出力を低下させることでモータのワット数を低下させることも可能になり、ロボットの小型化,低コスト化を図ることもできる。
また、図11(a)は、図10(a)〜(e)に示す5つの手先位置を同時にプロットしたものである。また、これらの5点は、図11(b)に示す第2軸の角速度パターン上にプロットした5点(V1〜V5),すなわち角速度又は角加速度の変極点に対応している。図5に示すステップS2において、始点と終点との間に3点の初期経由点を設定したが、初期経由点を3点にすることは、図11に示す角速度又は角加速度の変極点に対応するものを選択するのが、計算効率を向上させるために有利であるとの判断に基づいている。
例えば、文献(3)のFig.4に示されていると共に関連する記載からは、ボブロー法では、軌道を探索するための経由点数を増やすほど動作時間を短縮する効果がある。しかしながら、経由点数を増やせば、それは直接的に計算時間を増大させることに繋がるため、無制限に増やすのは実用的ではない。
そこで、本実施例では、動作時間の短縮を図ることと計算時間の増大を抑制することとのバランスを考慮して、初期経由点を3点にしている。初期経由点の選択は厳密に行う必要はなく、前述したように始点と終点との間の直線距離を単純に4等分するなどして決定すれば良い。図1又は図5に示す処理を繰り返し実行する過程で、経由点が変更されつつ新たな軌道が求められ、最適化される。
その結果、ピック・アンド・プレイスのような動作パターンにおいて動作時間が最短になる軌道を選択することは、3点の経由点が、図11(a)に示すような第2軸の角速度又は角加速度の3つの変極点として、どの座標位置となるかにより決まると言える。したがって、初期経由点を3点とすれば、動作時間が最短となる軌道を、計算時間の増大を抑制しつつ求めることが可能となるのである。
以上のように本実施例によれば、基部側に位置する移動体2aと、その手先側に連結されている水平旋回アーム5とを有する多軸型のロボット1を対象とする。そして、制御部9は、手先を始点から移動させる際には、水平旋回アーム5の動作によって移動体2a側に生じる反作用が、移動体2aの基軸である直線移動レール2に沿って動作させて発生する加速力を増加させるように軌道を生成し、手先を終点に停止させる際には、水平旋回アーム5の動作によって移動体2aに生じる反作用が、移動体2aを動作させて発生する減速力を増加させるように軌道を生成する。
より具体的には、始点から終点に向けて手先の移動を開始させるときに、移動体2aに、水平旋回アーム5の動作によって、移動体2aが発生する加速力を増加させる反作用を生じさせ、手先を終点に停止させるときには、水平旋回アーム5の動作によって、移動体2aが発生する減速力を増加させる反作用を生じさせるように、移動体2a及び第2軸の
速度パターンを生成することで手先の軌道を生成する。
従来の多軸型ロボットの制御では、例えばピック・アンド・プレイスのような単純な作業を行わせる場合、始点、終点間で動作量に変化がない軸は動かない。すなわち、図10に破線で示した動作パターンとなる。このようにアームが伸びきった状態では、第1軸(走行軸)の高加速による慣性トルクで手先側アームが動かないように第2軸は無駄な保持トルクを出力し続けており、基部側アームの負荷となっているだけである。
これに対して、上述したように軌道を生成すると、水平旋回アーム5が、移動体2aに対し反作用を生じるように動作するようになり、手先の起動時に必要な加速力と、停止時に必要な減速力とをそれぞれ増加させ、手先を始点から終点まで移動させる速度を向上させて移動時間を短縮できる。すなわち、手先を移動させる途中で水平旋回アーム5を若干回転させることで、移動体2aが直線移動する際のイナーシャが小さくなり、手先をより少ないエネルギーで移動させることができる。よって、従来の手法で決定された軌道と同じ移動時間で動作させるのであれば、ロボット1を従来よりも少ない消費エネルギーで動作させることができる。
また、上述した軌道は、多軸型ロボット1の動力学に基づいて計算された結果として生成されるので、ロボットの拘束条件を満たす範囲内で速度を最大化する軌道が求められる。したがって、現実的に使用できる最適化された軌道が得られる。加えて、ボブロー法を用いて速度パターンを演算する際に、軌道上の位置を角度に変換して演算を行うようにしたので、ロボット1のアーム形態を左手系,右手系の何れか一方に限定することなく、左右両方の手系を用いて最速となる速度パターンを求めることができる。
また、手先を始点から移動させる際には、移動体2aを終点方向に移動させると共に、水平旋回アーム5を、その先端が終点方向とは逆方向に移動するように回転させる。その後、水平旋回アーム5の先端を終点方向に回転させる。この時、水平旋回アーム5の動作によって生じる反作用が起動時の加速力をアシストするようになる。
また、手先を終点に停止させる際には、水平旋回アーム5を、その先端である手先が終点を超えている位置から、先端を始点方向に移動させるように軌道を生成する。すなわち、水平旋回アーム5の先端,手先を始点方向に振り返すように軌道を生成して停止させる。この時、水平旋回アーム5の動作によって生じる反作用が停止時の減速力をアシストするようになる。すなわち、この様に軌道を生成することで、水平旋回アーム5が、移動体2aに対し反作用を生じるように動作させることができる。
そして、始点と終点との間に3点の経由点を設定し、3点の位置を変更しながら各点に対応した移動時間を演算するようにした。すなわち、手先の移動時間を最短にする軌道を生成するには、軌道を最適化する必要がある。そして、最適化を行うには、始点と終点との間に1点以上の経由点を設定し、その経由点の位置を変更した場合に求められる移動速度を比較する必要がある。
ここで、上述したように水平旋回アーム5を動作させることを想定すると、水平旋回アーム5の基部側軸である移動体2aにおいて、起動直後に加速度を付与する時点と、動作途中で加速度の方向が反転する時点と、停止直前に加速度をゼロにする時点とがある。そして、軌道の最適化を図る過程では、少なくとも上記3つの時点に対応する経由点を最適化することが重要になると考えられる(図1(a)参照)。したがって、上記3つの時点に対応する経由点を設定すれば、演算量を抑制しつつ効率的に、移動時間を最短にする軌道を生成することが可能となる。これにより、従来の方法では、方法自体の限界によって引き出すことができなかったモータ,アクチュエータのポテンシャルを最大限引き出しつつ、現実的に使用できる最適化された軌道が得られるようになる。
[第2の実施例]
図12及び図13は、多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置に係る第2の実施例を示す。なお、第2の実施例及びそれ以降の実施例において、前述した第1の実施例で説明した構成要素と同一又は同等のものには、同一の符号を付してその説明を省略又は簡略化する。
第2の実施例に係る多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置では、手先の位置xを各軸の角度qへ変換するステップの実行タイミングが変更されている。つまり、前述した第1の実施例では、逆運動学を解いて手先の位置xを各軸の角度qへ変換していた(ステップS12参照)。これに対し、第2の実施例では、最短の速度パターンの作成前の段階、すなわち経由点の補間処理の段階で、その角度qへの変換処理を行うようにした。これにより、逆運動学の演算を回避することができ、演算負荷が格段に減少する。
図12及び図13に、制御部9が実行する、速度パターンを作成する処理を説明する。制御部9は、例えばオペレータによって与えられた開始点及び終点を示す情報を読み出し(図12:ステップS1)、3つの初期経由点を生成する(ステップS2)。次いで、制御部9は、手先空間におけるそれらの開始点、終点及び初期経由点を、関節空間における相当する角度に変換する(ステップS2A)。この変換の後、制御部9はステップS3に移行し、それらの開始点、終点及び3つの初期経由点を補間して軌道x=f(λ)を生成する。次いで、ステップS4Aでは、図13に示すように、ステップS13A、S14〜S19の処理が行われる。このうち、ステップS13Aでは、角度qをロボットの運動方程式に代入する。
このとき、補間された角度qは、
q=f(λ),q´=f´λ´,q″=f´λ″+f″λ´ …(17)
で表されるので、ロボットの運動方程式は関節空間において
Figure 0006167770
と表される。上記以外の処理は前述した第1の実施例のものと同様である。
したがって、この第2の実施例によれば、軌道x=f(λ)を補間する前に、軌道xを関節角度qに変換する。これにより、前述した逆運動学の方程式を解く処理、即ち、前述した図6のステップS11,S12の処理が不要になる。つまり、関節角度空間においてそのままダイナミクス(順運動学)を解けばよく、その分だけ演算負荷が軽くなる。その他の作用効果は、前述した第1の実施例と同様のものが得られる。
[変形例]
本発明は上記した、または図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
初期経由点を4点以上設定しても良い。
多軸型ロボットの動力学に基づいて速度を最大化する軌跡を求める計算手法は、ボブロー法以外の手法を用いても良い。
基部側アームと手先側アームとは、各アームの相対的な位置関係で決まる。例えば第2アームの先に第3アームが連結されている場合、第1アームを「基部側アーム」とすれば第2及び第3アームが「手先側アーム」となり、第2アームを「基部側アーム」とすれば第3アームが「手先側アーム」となる。
この一例として、図14に3軸のロボットアームを示す。この3軸アームは、ジョイントJT1,JT2,JT3にそれぞれアームAM1,AM2,AM3が接続されている。この3軸アームの手先EFを所望の始点から所望の終点まで移動させるときも同様に、前述した第1又は第2の実施例に記載の軌道生成方法及び制御方法を適用できる。この場合、ジョイントJT1,JT2,JT3の関節角をθ1,θ2,θ3とすると、式(1)において角度qを
q=[θ1,θ2,θ3] …(19)
の3次元ベクトルとして処理すればよい。
この結果、この3軸のロボットアームを、一例として図15に示したように動作させた。これによれば、3軸(J1,J2,J3)の位置を始点(0,0,0)度から終点(90,45,90)度まで移動させる際に、手先側アームの反作用による加速力及び減速力の助長効果が得られことが確認できた。つまり、従来の軌道軌跡(図15中の二点鎖線)に比較して、動作時間の短縮を確認できた。
また、走行軸と回転軸との組み合わせから成るロボットに限らず、他の軸数が多いロボットに適用しても良い。
さらに、前述した実施例では拘束条件の速度の上限値λ´min,λ´maxを一定値として扱っていたが、これを可変値として扱うこともできる。この例を2つ挙げる。
第1の例は、本願のロボットのモータの速度とトルクの関係に着目した、トルク、すなわち、拘束条件の一つとしての加速度の上限値を可変させる機能に関する。図16に、一般的に知られるモータのTN曲線を示す。モータは高速になるほど、出力する最大トルクが減少することが知られている。そこでこの例では、モータのトルクに関する拘束条件を前述した関係から、
λ″min(λ,q´/f)≦λ″(λ,q´/f)≦λ″max(λ,q´/f)
…(20)
とおく。
図16に示すTN曲線を使って現在の速度q´に対応する最大トルクを演算して式(20)に基づく判定を行う。これにより、速度に応じて最大トルクを可変できる。
第2の例は、ボールねじ等の走行軸を持つXRロボットにおける拘束条件の一つとして、速度の上限速度の可変機能に関する。図17に示すXRロボットは、ボールねじ軸20を備え且つ両端が固定手段21により固定ベース22に固定された直動軸J1(X軸,第1軸)と、この直動軸J1にナット部材30を介して移動可能に保持された移動ステージ23と、この移動ステージ23の内部に配置されているジョイント24(関節,モータを含む)を介して基部側が回転可能に保持されたアーム25とを備える。このアーム25の先端側が手先となる。ジョイント24が回転軸(R軸,第2軸)J2を成す。これにより、2軸のXRロボットが構成されている。これらの2軸J1,J2の軌道生成に、本願の加速度及び減速度を助長する構成が実施されている。
ボールねじなどの単軸は、その上限速度(限界速度、危険速度と呼ばれる)が定められているが、この速度の値はその軸の固定端からの位置によって変化する。従来の台形速度パターンで駆動させる場合、台形を成す上辺(上限速度)は一定値であり、安全率を考慮した値に設定していた。
そこでこの例では、本願の軌道生成手法をXRロボットに適用することで、その上限速度を直動軸J1に沿った移動ステージ23の位置Pに応じて変化させることができる。前述した式(13)から判るように、速度の拘束条件λ´min≦λ´≦λ´maxは位置λ(すなわち角度)と最大速度q´によって決まるので、J1軸上の位置Pに応じて限界速度を可変にできる。これにより、図18においてハッチングした領域で模式的に示すように、従来では使いきれていない速度領域を有効に使用できる。つまり、より最短の軌道で手先を移動させることができると共に、省エネルギーにもなる。
[第3の実施例]
以下、変形例2を第3の実施例としてより詳細に説明する。ボールねじ軸20は、図17中右端側に配置されている、モータを含む駆動手段26により回転駆動される。前記モータの許容回転数Npは、ねじ軸の危険速度NとDN値(回転限界値)との小さい方で決まる(例えば、特開2006−198716号公報参照)。すなわち、
許容回転数Np=Min(Nd,DN値) …(21)
尚、DN値は、ねじの型式による値(メーカ値)Kと、ボール中心径Dより以下で計算される。
DN値=K/D …(22)
許容回転数について、ロボットの位置に依存するのは危険速度Ndであり、以下のように計算される。図19に示すように、ロボット走行軸(直動軸)の位置をJ1[mm](上記位置Pに相当),メカストローク長をSt[mm],可動範囲をSf[mm]とすると、固定端からの位置La[mm]は、
La=J1+(St−Sf)/2 …(23)
となる。取り付け間距離Lb[mm]は、両端から遠い方を用いて次式とする。
Lb=Max(La,St−La) …(24)
よって、ボールねじ軸の取り付け方法(固定/支持/自由)による係数k,ねじ軸谷径d1[mm]とすると、危険速度Ndは次式となる。
Nd=k×d1×10/Lb …(25)
上記の(21)式に基づいて規定された上限速度が図18に示すものであり、上限速度がフラットになっている部分(3400rpm程度)は、DN値によって規定されている。
また、図18に示す上限速度に従い、XRロボットの動作をシミュレーションした結果を図20(a),(c)に示す。図20(b)は図18相当図であり、(c)は(a)を拡大して示したものである。図20(c)には、4つの結果が示されている。
第1(一点鎖線)は、XRロボットの移動ステージ23(移動体)を移動(0[mm]〜1200[mm])させる際に、従来と同様にボールねじ軸20のみを回転駆動させた場合で(上限速度は固定)、移動時間は約907msである。第2(二点鎖線)は、上述した第1又は第2実施例のように、ボブロー法を用いて計算を行い、移動の際に回転軸J2を回転させることでアーム25(回動アーム)が生じる反力によるアシストを加えると移動時間は約894msに短縮される。
第3(破線)は、移動ステージ23の移動はボールねじ軸20の回転駆動だけで行うが、(21)式に基づいて上限速度を可変させると、移動時間は約596msまで大幅に短縮される。更に第4(実線)として、移動の際にアーム25が生じる反力によるアシストを加えると移動時間は約574msに短縮される。これは、第1の結果からの比較では、移動時間を約37%短縮したことになる。
また、(21)式に基づいて上限速度を可変させる制御と、ボブロー法とを組み合わせることで、以下のような作用効果も得られる。例えば図21(a)に示すように、図17に示すXRロボットについて、第1軸を0[mm]から1000[mm]に移動させると共に、第2軸を120°から90°まで−30°移動させることを想定する。このような多軸ロボットを協調動作させる場合、位置決めは全ての軸を同時発着させることが前提となる。図21(b)に示すように、上限速度が位置に応じて変化する第1軸の速度パターン(1点鎖線)を、実線で示すように、図21(c)に示す第2軸に合わせて修正変更することは、一般に困難である。
しかし、本実施例のように、ボブロー法を用いれば、軌道空間において速度パターンを決定することになり、その結果として、各軸の発着は自動的に同期するようになる。したがって、ユーザは、各軸の動作を同期させることを特段意識する必要がなくなる。
以上のように第3実施例によれば、ボールねじ軸20からなる直動軸と、この直動軸に沿って移動可能に配置される移動ステージ23と、移動ステージ23に搭載される回転軸を基点として回動可能に配置されるアーム25とを備える2軸ロボットについて、移動ステージ23の最大速度についての拘束条件を、少なくとも一部の範囲について、直動軸上における移動ステージ23の位置に応じて可変設定するように、具体的には(21)式に基づいて設定するようにした。これにより、前記位置によっては上限速度を従来よりも高く設定し、移動時間を短縮させて作業効率を向上させることができる。
1はロボット(多軸型ロボット)、2aは移動体(基部側アーム,第1のリンク)、5は水平旋回アーム(手先側アーム,第のリンク)、9は制御部(制御装置,位置指定手段,作成手段,変換手段,生成手段,制御手段)を示す。

Claims (8)

  1. 複数のリンクと複数のジョイントとを有してなる多軸型ロボットについて、前記複数のリンクの先端に位置する手先を、始点から終点まで移動させるための当該手先の軌道を生成する方法において、
    前記始点及び前記終点の位置を指定する位置指定ステップと、
    前記始点から前記終点に向けて前記手先の移動を開始させるときに、前記複数のリンクのうちの相対的に基部側に位置している第1のリンクに、前記複数のリンクのうちの前記第1のリンクよりも手先側に位置している第2のリンクの動作によって、前記第1のリンクを駆動する第1のジョイントが発生する加速力を増加させる反作用を生じさせると共に、
    前記手先を前記終点に停止させるときには、前記第2のリンクの動作によって、前記第1のリンクに、前記第1のジョイントが発生する減速力を増加させる反作用を生じさせるように、前記第1のジョイントの速度パターン及び前記第2のリンクを駆動する第2のジョイントの速度パターンを生成することで前記軌道を生成する軌道生成ステップとを有することを特徴とする多軸型ロボットの軌道生成方法。
  2. 前記軌道生成ステップは、前記第1及び第2のジョイントの駆動に関する拘束条件を加味して前記速度パターンを演算するステップを含むことを特徴とする請求項1記載の多軸型ロボットの軌道生成方法。
  3. 前記拘束条件は、前記第1及び第2のジョイントのそれぞれについて設定されている最大トルク及び最少トルクから成る加速度条件と、前記第1及び第2のジョイントのそれぞれについて設定されている最大速度及び最小速度から成る速度条件とを含むことを特徴とする請求項2記載の多軸型ロボットの軌道生成方法。
  4. 前記始点と前記終点との間に複数の初期経由点を自動的に設定するステップを有し、
    前記軌道生成ステップは、前記初期経由点の位置を更新しながら最短時間の前記速度パターンを生成することを特徴とする請求項1から3の何れか一項に記載の多軸型ロボットの軌道生成方法。
  5. 前記初期経由点を、3点設定することを特徴とする請求項4記載の多軸型ロボットの軌道生成方法。
  6. 前記多軸型ロボットが、
    両端が固定されたボールねじ軸からなる直動軸と、
    前記ボールねじ軸を回転駆動する駆動手段と、
    前記ボールねじ軸が回転することで、前記直動軸に沿って移動可能に配置される移動体と、
    この移動体に搭載される回転軸,及び前記回転軸を基点として回動可能に配置される回動アームとを備えて構成されており、
    前記移動体の最大速度についての拘束条件を、少なくとも一部の範囲について、前記直動軸上における前記移動体の位置に応じて可変設定することを特徴とする請求項3又は請求項3を引用する請求項4若しくは5の何れか一項に記載の多軸型ロボットの軌道生成方法。
  7. 前記移動体の位置に応じて求められる前記ボールねじ軸の危険回転速度NdとDN値とを比較して、より小さい値を示す方を前記最大速度の拘束条件とすることを特徴とする請求項6記載の多軸型ロボットの軌道生成方法。
  8. 複数のリンクと複数のジョイントとを有してなる多軸型ロボットを制御する装置において、
    前記複数のリンクの先端にある手先について、始点及び終点の位置を指定する位置指定手段と、
    前記始点から前記終点に向けて前記手先の移動を開始させるときに、前記複数のリンクのうちの相対的に基部側に位置している第1のリンクに、前記複数のリンクのうちの前記第1のリンクよりも手先側に位置している第2のリンクの動作によって、前記第1のリンクを駆動する第1のジョイントが発生する加速力を増加させる反作用を生じさせると共に、
    前記手先を前記終点に停止させるときには、前記第2のリンクの動作によって、前記第1のリンクに、前記第1のジョイントが発生する減速力を増加させる反作用を生じさせるように、前記第1のジョイントの速度パターン及び前記第2のリンクを駆動する第2のジョイントの速度パターンを生成する速度パターン生成手段と、
    前記速度パターンに基づいて前記第1及び第2のジョイントの駆動を制御する制御手段と、を備えたことを特徴とする制御装置。
JP2013181242A 2013-03-28 2013-09-02 多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置 Active JP6167770B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/852,337 US9242376B2 (en) 2013-03-28 2013-03-28 Method of generating path of multiaxial robot and control apparatus for the multiaxial robot
US13/852,337 2013-03-28

Publications (2)

Publication Number Publication Date
JP2014193519A JP2014193519A (ja) 2014-10-09
JP6167770B2 true JP6167770B2 (ja) 2017-07-26

Family

ID=51519979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013181242A Active JP6167770B2 (ja) 2013-03-28 2013-09-02 多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置

Country Status (3)

Country Link
US (1) US9242376B2 (ja)
JP (1) JP6167770B2 (ja)
DE (1) DE102014104220B9 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6123595B2 (ja) * 2013-09-10 2017-05-10 株式会社デンソーウェーブ 2軸ロボットの速度制御方法
JP6455019B2 (ja) * 2014-08-21 2019-01-23 株式会社デンソーウェーブ ロボットの制御装置及び制御方法
JP6499273B2 (ja) * 2015-03-20 2019-04-10 株式会社Fuji ティーチング装置及び制御情報の生成方法
DE102015106227B3 (de) * 2015-04-22 2016-05-19 Deutsches Zentrum für Luft- und Raumfahrt e.V. Steuern und/oder Regeln von Motoren eines Roboters
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
JP6339534B2 (ja) * 2015-07-17 2018-06-06 ファナック株式会社 最大で二つのワークを把持するハンドを備えたロボットの制御方法およびロボット制御装置
JP6601155B2 (ja) * 2015-10-28 2019-11-06 株式会社デンソーウェーブ ロボット制御システム
CN109328124A (zh) * 2016-04-21 2019-02-12 休恩登·杰拉德·托马斯 执行操作的机器人系统
US9981381B1 (en) * 2016-06-08 2018-05-29 X Development Llc Real time generation of phase synchronized trajectories
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
JP6844434B2 (ja) * 2017-06-15 2021-03-17 株式会社デンソーウェーブ ロボットの負荷重心位置推定装置及びロボットの負荷重心位置推定方法
CN107450431B (zh) * 2017-08-14 2020-04-10 广州耐奇电气科技有限公司 一种能源综合管理系统
WO2019055883A1 (en) * 2017-09-15 2019-03-21 Google Llc IMPROVEMENTS RELATING TO THE GENERATION OF A ROBOT CONTROL POLICY FROM DEMONSTRATIONS COLLECTED THROUGH KINESTHETIC TEACHING OF A ROBOT
JP2019126850A (ja) * 2018-01-22 2019-08-01 ファナック株式会社 ロボットの制御方法および制御装置
US11458626B2 (en) * 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP7225560B2 (ja) * 2018-04-26 2023-02-21 セイコーエプソン株式会社 制御装置、ロボットシステム、及び表示制御方法
DE102018209870B3 (de) * 2018-06-19 2019-07-04 Kuka Deutschland Gmbh Verfahren und System zum Überführen eines Endeffektors eines Roboters zwischen einer Endeffektorpose und einer weiteren Endeffektorpose
WO2020028356A1 (en) * 2018-07-30 2020-02-06 Intuitive Surgical Operations, Inc. Hard stop protection system and method
JP6737429B1 (ja) * 2018-09-26 2020-08-12 株式会社Ihi 加速度導出装置及び方法
JP7028196B2 (ja) 2019-01-15 2022-03-02 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
GB2588629B (en) 2019-10-29 2024-01-03 Cmr Surgical Ltd Robotic joint control
CN111775148B (zh) * 2020-06-15 2022-03-08 珠海格力电器股份有限公司 一种机器人控制方法、装置、存储介质及机器人
WO2024154249A1 (ja) * 2023-01-18 2024-07-25 株式会社Fuji 軌道生成装置および軌道生成方法
CN116197917B (zh) * 2023-04-28 2023-08-01 苏州艾利特机器人有限公司 自适应最大加速度计算方法、装置、存储介质及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5294873A (en) * 1992-10-27 1994-03-15 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Kinematic functions for redundancy resolution using configuration control
JPH0916241A (ja) 1995-06-29 1997-01-17 Fanuc Ltd ロボットの加減速動作の設定方法
JPH1153021A (ja) 1997-08-05 1999-02-26 Yaskawa Electric Corp 産業用ロボットの加減速パターン生成方法
JP4016305B2 (ja) 1998-09-18 2007-12-05 株式会社安川電機 ロボットの制御装置
US6216058B1 (en) * 1999-05-28 2001-04-10 Brooks Automation, Inc. System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes
JP3681972B2 (ja) 2000-10-18 2005-08-10 ファナック株式会社 加減速制御方法
JP2002321178A (ja) 2001-04-20 2002-11-05 Yaskawa Electric Corp ロボットの加減速時間決定方法
JP3830475B2 (ja) 2003-08-05 2006-10-04 ファナック株式会社 制御装置
JP2006198716A (ja) * 2005-01-20 2006-08-03 Amada Co Ltd 回転制御方法およびその装置並びにそれを用いた板材加工機の板材位置決め方法および装置
JP5076824B2 (ja) * 2007-11-15 2012-11-21 株式会社デンソーウェーブ 吊り型ロボット
JP4942672B2 (ja) * 2008-01-25 2012-05-30 三菱電機株式会社 ロボット軌道制御装置及びロボット軌道制御方法
JP5044011B2 (ja) * 2008-03-06 2012-10-10 パナソニック株式会社 マニピュレータおよびその制御方法
WO2011150534A1 (zh) * 2010-06-04 2011-12-08 中国科学院自动化研究所 加速度连续的机器人轨迹生成系统和方法

Also Published As

Publication number Publication date
DE102014104220A1 (de) 2014-10-02
JP2014193519A (ja) 2014-10-09
US20140297030A1 (en) 2014-10-02
DE102014104220B4 (de) 2015-12-10
DE102014104220B9 (de) 2016-01-28
US9242376B2 (en) 2016-01-26

Similar Documents

Publication Publication Date Title
JP6167770B2 (ja) 多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置
JP6268819B2 (ja) 多軸型ロボットの軌道生成方法
JPH079606B2 (ja) ロボット制御装置
JP5144035B2 (ja) 産業用ロボットのツールの位置・姿勢制御方法及び制御システム
US20110224815A1 (en) Industrial Robot And Path Planning Method For Controlling The Movement Of An Industrial Robot
JP7003220B2 (ja) ロボットを備えるハンドリング装置、方法及びコンピュータプログラム
JPWO2002066210A1 (ja) ロボット制御装置
JP6123595B2 (ja) 2軸ロボットの速度制御方法
JP5921248B2 (ja) ロボットの制御装置、ロボット、そのプログラム及びその制御方法
EP2345512A1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (N>5)
JP4498061B2 (ja) 溶接ロボット制御装置
CN112703090B (zh) 机器人控制装置、机器人控制方法及存储介质
JP6057284B2 (ja) 多関節ロボット及び半導体ウェハ搬送装置
JP2013223895A (ja) ロボット制御方法及びロボット制御装置
JP4970492B2 (ja) 多関節ロボット
US20230191603A1 (en) Input shaping control of a robot arm in different reference spaces
US20230035296A1 (en) Method of suppressing vibrations of a robot arm with external objects
JP4528577B2 (ja) 工業用ロボット
JP5633268B2 (ja) ロボットの制御装置
JP4647919B2 (ja) 制御方法および制御装置
JP6429977B2 (ja) ロボット装置及びロボット制御方法
JP2015058497A (ja) 水平多軸型ロボットの軌道生成方法及び制御装置
JP6057283B2 (ja) 多関節ロボット及び半導体ウェハ搬送装置
JP3194829B2 (ja) ロボットの動作プログラム生成装置
JPH07295615A (ja) 多関節型ロボットの駆動制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170612

R150 Certificate of patent or registration of utility model

Ref document number: 6167770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250