特許第6268819号(P6268819)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーウェーブの特許一覧

<>
  • 特許6268819-多軸型ロボットの軌道生成方法 図000006
  • 特許6268819-多軸型ロボットの軌道生成方法 図000007
  • 特許6268819-多軸型ロボットの軌道生成方法 図000008
  • 特許6268819-多軸型ロボットの軌道生成方法 図000009
  • 特許6268819-多軸型ロボットの軌道生成方法 図000010
  • 特許6268819-多軸型ロボットの軌道生成方法 図000011
  • 特許6268819-多軸型ロボットの軌道生成方法 図000012
  • 特許6268819-多軸型ロボットの軌道生成方法 図000013
  • 特許6268819-多軸型ロボットの軌道生成方法 図000014
  • 特許6268819-多軸型ロボットの軌道生成方法 図000015
  • 特許6268819-多軸型ロボットの軌道生成方法 図000016
  • 特許6268819-多軸型ロボットの軌道生成方法 図000017
  • 特許6268819-多軸型ロボットの軌道生成方法 図000018
  • 特許6268819-多軸型ロボットの軌道生成方法 図000019
  • 特許6268819-多軸型ロボットの軌道生成方法 図000020
  • 特許6268819-多軸型ロボットの軌道生成方法 図000021
  • 特許6268819-多軸型ロボットの軌道生成方法 図000022
  • 特許6268819-多軸型ロボットの軌道生成方法 図000023
  • 特許6268819-多軸型ロボットの軌道生成方法 図000024
  • 特許6268819-多軸型ロボットの軌道生成方法 図000025
  • 特許6268819-多軸型ロボットの軌道生成方法 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6268819
(24)【登録日】2018年1月12日
(45)【発行日】2018年1月31日
(54)【発明の名称】多軸型ロボットの軌道生成方法
(51)【国際特許分類】
   B25J 9/10 20060101AFI20180122BHJP
【FI】
   B25J9/10 A
【請求項の数】1
【全頁数】23
(21)【出願番号】特願2013-181243(P2013-181243)
(22)【出願日】2013年9月2日
(65)【公開番号】特開2014-193520(P2014-193520A)
(43)【公開日】2014年10月9日
【審査請求日】2016年2月10日
(31)【優先権主張番号】13/852,417
(32)【優先日】2013年3月28日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】110000567
【氏名又は名称】特許業務法人 サトー国際特許事務所
(72)【発明者】
【氏名】岩崎 吉朗
【審査官】 永冨 宏之
(56)【参考文献】
【文献】 特開2012−045641(JP,A)
【文献】 特開平07−200030(JP,A)
【文献】 特開2008−052749(JP,A)
【文献】 特開2009−172721(JP,A)
【文献】 国際公開第2009/110242(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10
(57)【特許請求の範囲】
【請求項1】
複数のリンク及び複数のジョイントからなる複数の可動軸を有する多軸型ロボットについて、前記複数のリンクの先端に位置する手先を始点から終点まで移動させるための当該手先の軌道を生成する方法において、
前記始点及び前記終点の位置を指定するステップと、
前記指定された始点及び終点の間に初期経由点を作成するステップと、
前記指定された始点及び終点並びに前記作成された初期経由点の座標位置を、前記複数のジョイントの各軸の角度に変換するステップと、
前記角度に変換された前記始点、終点及び初期経由点に基づいて、当該初期経由点を変化させながら、前記始点から前記終点に向けて前記手先の移動を開始させるときに、前記複数のリンクのうちの相対的に基部側に位置している第1のリンクに、当該複数のリンクのうちの当該第1のリンクよりも手先側に位置している第2のリンクの動作によって、前記第1のリンクを駆動する第1のジョイントが発生する加速力を増加させる反作用を生じさせると共に、
前記手先を前記終点に停止させるときには、前記第2のリンクの動作によって、前記第1のリンクに、前記第1のジョイントが発生する減速力を増加させる反作用を生じさせるように、前記第1のジョイントの速度パターン及び前記第2のリンクを駆動する第2のジョイントの速度パターンを生成することで、前記手先を前記始点から前記終点まで移動させる時間が最短となる軌道を生成するステップとを有することを特徴とする多軸型ロボットの軌道生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多軸型ロボットの動作速度を向上させる軌道生成方法に関する。
【背景技術】
【0002】
現在、生産設備等の現場において、多種多様な産業用ロボットが使用されている。この産業用ロボットとして、関節(軸)を複数有する所謂多軸型ロボットがある。この多軸型ロボットは、溶接、塗装、部品組立、部品搬送などの作業に使用され、それが担う作業の性質上、作業の始点から終点までの動作時間の短縮化、即ち、動作速度の高速化が求められている。
【0003】
従来、多軸型ロボットにおける動作速度の高速化を図るために、動作の加減速を制御する方法が知られている。この方法には、例えば、基本的な動作速度パターンを台形にして、ロボットの姿勢に応じた最大加速度を計算し速度パターンを修正する方法や、バンバン(Bang-Bang)制御のように最大原理に基づく最大トルクパターンを用いて動作させる方法などがある。
【0004】
しかし、前者については、台形状の動作速度パターンの上辺部分に相当する動作期間では制約で加速度がゼロになり、その動作速度パターンの肩部分(左右の両斜辺)に相当する加減速を行う期間において加減速を最大にできないという問題がある。この台形速度パターンでは、その肩の部分に相当する期間で加速度が一定になるが、実際のロボットの姿勢は時々刻々と変化しているので、最大加速度は非線形に変化している。すなわち、本来非線形で最大まで加速できるにもかかわらず線形で加速しているため、モータの性能を使い切れていないことになる。
【0005】
また、後者については、実際には動作速度の上限(拘束条件)による制約があるにも関わらず、これを無視することになる。上述した加減速制御に関連する従来技術として、例えば特許文献1〜3に記載されたものが知られている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2000−94371号公報
【特許文献2】特開2002−132349号公報
【特許文献3】特開2002−321178号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した特許文献1〜3に記載された制御法の概略及びその問題点を説明する。特許文献1には、台形速度パターンにおける加速度を、ワークの重量,イナーシャに応じて変化させる制御が示されている。しかしながら、この制御の場合、ワークの着脱時に計算した加速度で一定加速させるため、台形速度パターンの属性である上述した限界を超えることができない。
特許文献2に記載された制御も、台形速度パターンの加減速を行う期間について、実際の加速度曲線が予め設定しておいた制限加速度曲線に極力一致するように調整し、より大きな加速度を出力可能としたものである。
【0008】
しかしながら、予め設定する制限加速度曲線をどのようにして求めるかが不明であり、さらにその曲線は軸毎、移動方向毎、及び加減速毎にパラメータとして設けられている。したがって、この手法では、(1)パラメータが複数できてしまい管理が煩雑となり、また(2)パラメータは離散値なので厳密に加速度曲線に沿うことはできない。さらに、(3)最大加速度はロボットの姿勢によって変化するが、この点が考慮されていない。よって、この制御法方法は汎用的とは言えない。
【0009】
特許文献3には、動作の始点,加速度終了点,減速開始点,終点のそれぞれにおいて、ロボットの各軸に関するダイナミクスを考慮して動力学方程式を解くことで、加速時間,減速時間を最短にする制御法が示されている。しかしながら、この制御法の場合、上記の始点、終了点、開始点、及び終点以外の動作点については、加減速時間を最短にすることができない。
【0010】
本発明は上記事情に鑑みてなされたもので、その目的は、軌道生成のための処理を簡単化でき、かつ、動作時間をより短縮化できる多軸型ロボットの軌道生成方法を提供することにある。
【課題を解決するための手段】
【0011】
請求項1記載の多軸型ロボットの軌道生成方法によれば、最初に手先の始点と終点の位置を指定すると、次に指定された始点及び終点の間に初期経由点を作成する。それから、指定された始点及び終点並びに作成された初期経由点の座標位置を複数のジョイントの各軸の角度に変換し、角度に変換された始点、終点及び初期経由点に基づいて、当該初期経由点を変化させながら、手先を始点から終点まで移動させる時間が最短となる軌道を生成する。すなわち、上述した軌道は、多軸型ロボットの動力学に基づいて計算された結果として生成されるので、ロボットの拘束条件を満たす範囲内で速度を最大化する軌道が求められる。したがって、現実的に使用できる最適化された軌道が得られる。
【0012】
ここで、上記の計算を手先の座標位置を用いて行い、軌道の途中でアームの形態を変化させることを想定すると、形態が変化したところで逆運動学式が変化し、結果として加速度や速度に関するロボットの拘束条件が変化することになり、始点−終点間で統一的に最速の動作を求められなくなる。そのため、手先座標を用いて計算を行う場合はアームの形態を変化させないで行う必要があり、それが移動時間を最短にする軌道を求める際に制限を加えることになる。これに対して、予め手先の座標位置を各軸角度に変換してから計算を行うようにすれば、軌道の途中で形態が変化しても拘束条件が不連続とならずに計算結果を得ることができる。したがって、アーム形態の制約することなしに最速となる速度パターンを求めることができる。
【0014】
そして、軌道を生成するステップは、角度に変換された始点,終点及び初期経由点に基づいて、当該初期経由点を変化させながら、始点から終点に向けて手先の移動を開始させるときに、複数のリンクのうちの相対的に基部側に位置している第1のリンクに、当該複数のリンクのうちの当該第1のリンクよりも手先側に位置している第2のリンクの動作によって、第1のリンクを駆動する第1のジョイントが発生する加速力を増加させる反作用を生じさせる。また、手先を終点に停止させるときには、第2のリンクの動作によって、第1のリンクに、第1のジョイントが発生する減速力を増加させる反作用を生じさせるように、第1のジョイントの速度パターン及び第2のリンクを駆動する第2のジョイントの速度パターンを生成することで軌道を生成する。
【0015】
従来の多軸型ロボットの制御では、例えばピック・アンド・プレイスのような単純な作業を行わせる場合、始点、終点間で動作量に変化がない軸は動かない。この状態では、手先側アーム(第2のリンク)は基部側アーム(第1のリンク)の負荷となっているだけであり、基部側アームの負担が大きく、また、動作速度の上昇を図るためには障害となっている。
【0016】
これに対して、上述したように軌道を生成すると、基部側アームの先端側で、手先側アームが基部側アームに対し反作用を生じるように動作する。したがって、手先の起動時に必要な加速力と、停止時に必要な減速力とをそれぞれ増加させて、手先を始点から終点まで移動させる速度を向上させ、移動時間を短縮することができる。ここで、
(最大関節加速度)=(最大関節トルク+干渉トルク+重力トルク+摩擦トルク)
/イナーシャ …(A)’
(最大関節加速度)=(最大関節トルク+干渉トルク)/イナーシャ …(A)
(最大関節速度)=(モータ最大速度)/(減速比) …(B)
である。ただし、ここでは説明簡略化のため水平方向の動作のみを考えることとし、(A)’式において重力トルク及び摩擦トルクを無視したものを(A)式とする。例えばバンバン(Bang-Bang)制御のように、常に何れかの軸が最大トルクを出力することのみ考慮し、速度の上限を考慮しない場合は、(A)式に基づきアームを折り畳みイナーシャを小さくすることで、加速度を向上させることによる動作短縮が期待できる。
【0017】
しかしながら、現在多く普及しているロボットの大半は減速比が高く、(B)式より最大関節速度が低いため直ぐに上限に達してしまう。このため、動作時間を短縮するには加減速を急峻に立ち上げるしかない。加減速度を向上させるには、(A)式よりイナーシャを小さくすること、干渉トルク項の符号を関節トルク符号と同じ(アシストする方向)にすることが有効であると判る。つまり動作としては、加減速時は手先側アームを基部側アームの動作方向と逆向きに振ることに対応する。
【0018】
このとき、干渉される基部側アームの軸は、その軸を回転させるモータを前述した台形の速度パターンの上限を超えて加速できる。つまり、そのモータが有している性能をフルに発揮でき、従来以上の加速を出すことができるので、動作時間を短縮できる。逆に言えば、従来の手法と同じ移動時間で動作させるのであれば、従来と同じ加速度を出力するのに少ないモータトルクで済むため、モータ容量を下げることができ、ロボットの小型、低コスト化に貢献できる。そして、上述した軌道は、多軸型ロボットの動力学に基づいて計算された結果として生成されるので、ロボットの拘束条件を満たす範囲内で速度を最大化する軌道が求められる。したがって、現実的に使用できる軌道が得られる。
【図面の簡単な説明】
【0019】
図1】各実施例において実行されるロボットの最短時間の動作軌跡を求めるための処理手順を概略的に示す図
図2】各実施例に係る、ロボットのアームの移動を制御する方法の原理を従来例と比較して説明する図
図3】第1の実施例にて示すロボットの全体構成を概略的に示す斜視図
図4】第1の実施例にて示すロボットの制御系統を示す電気的な機能ブロック図
図5図1に示す処理に対応して制御部が実行する、速度パターンを作成するためのフローチャート
図6図5の処理の一部として実行される、拘束条件を加味したボブロー法による速度パターンの作成の詳細を示すフローチャート
図7】ロボットアームの右手系,左手系を説明する図
図8】手先の座標位置を各軸の角度に変換して速度パターンの計算を行う理由を説明する図
図9】加速度の拘束条件を説明する説明図
図10】XY平面上で第1軸,第2軸及び手先の座標が変化する軌跡を示す図
図11】(a)は図10(a)〜(e)に示す5つの手先位置を同時にプロットした図、(b)は始点から終点まで移動する間の、第1軸,第2軸それぞれの角度,角速度,角加速度,トルクの変化を示す図
図12】第2の実施例において制御部が実行する、速度パターンの準備処理説明するフローチャート
図13図12に示す準備処理の一部として、拘束条件を加味して実行されるボブロー法に従う速度パターンの準備処理を詳細に説明するフローチャート
図14】変形例に係る3軸のアームロボットを模式的に説明する図
図15】3軸のアームロボットに本願の軌道生成法を実施した時のシミュレーションの図
図16】別の変形例に係る多軸ロボットに採用されるモータのTN曲線を説明する図
図17】別の変形例に係る2軸のXRロボットを概略的に示す平面図
図18】XRロボットにおける本願の軌道生成方法の効果を説明する模式図
図19】第3の実施例として、XRロボットの機構的数値パラメータを説明する図
図20】シミュレーション結果を示す図
図21】XRロボットの各軸動作を同期させる場合を説明する図
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明に係る多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置の様々な実施例を説明する。
[第1の実施例]
図1図11を参照して、第1の実施例に係る多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置を説明する。先ず、本実施例の多軸型ロボットの制御法の概要を、図1,2を参照して説明する。最初に図2を参照して、本実施例に係る制御法を従来の制御法と比較しながら説明する。
【0021】
図2(a)に示すように、第1及び第2アーム(リンク)AM1,AM2を2つのジョイントJT1,JT2で可動可能に結合した簡単な2軸(J1,J2)ロボットを想定する。このロボットのアーム手先EFを、X−Y平面上において(J1,J2)=(0°,0°)の角度位置から(J1,J2)=(90°,0°)の角度位置まで移動させることを想定する。
【0022】
この場合の最も単純な手法は、図2(b)に示すように、第2のアームAM2(即ち第2軸J2)は動作させず、第1のアームAM1(即ち第1軸J1)のみを90度回転させるものである。この手法では、第1のアームAM1のみを動作させるため、負荷が偏り、第1のアームAM1の負担が大きく、また、アーム全体の動作半径が常に最大でイナーシャが大きくなる。このため、動作速度が遅くなるという問題がある。
【0023】
図2(c)は前述したバンバン(Bang-Bang)制御による動作である。この場合、第1のアームAM1と共に第2のアームAM2も動作させてアームを折り畳む。これにより、イナーシャが小さくなるため高速で動作させることができる。しかしながら、ロボットに課されている速度の制約等の拘束条件を全く考慮していないので、実際にこの様に動作させて動作時間の短縮を図ることは不可能である。
【0024】
本実施例では、概略的に図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´参照)。このとき、アームの形態は所謂右手系となる。
【0025】
すなわち、図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のモータに掛かる負荷を分散させることができる。また、アームが若干折り畳まれるのでイナーシャがより小さくなり、モータに掛かる負荷そのものが減少する。
【0026】
加えて、第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)を抑制しようとする向きに働く。
【0027】
このように、手先EFが回転を開始するとき及び回転を終了させるときのそれぞれにおいて、第2のアームAM2の一時的な動作により生じる反作用の力、即ち付勢力及び抑制力が、第1のアームAM1の回転の加速及び減速を積極的にアシストする。このため、手先EFを(J1,J2)=(0°,0°)の角度位置から(J1,J2)=(90°,0°)の角度位置まで移動させるのに要する時間は、上述したアシストが無い制御と比べて、格段に短縮される。
【0028】
また、この様にアーム動作をさせるには、予めアーム、すなわち、各軸のモータを回転させるための速度パターンを生成しておく必要がある。この速度パターンを生成するに当たっては、後述する具体的な手法により、ロボットの拘束条件を満たすことを前提として、最も効率の良い動作軌道を選択する。
【0029】
図1は、図2(d)に示すような動作軌跡を実現させるための処理手順を概略的に示したものである。先ず、ロボットの手先を、始点から終点まで移動させる間に、複数の経由点を仮に設定する(図1(a))。そして、手先の軌道を計算するためにボブロー(Bobrow)法を用いることで、各経由点を通過しながら手先を移動させるのに最速となる速度パターンを演算する(同図(b))。このボブロー法を用いた演算を行うに当たっては、実際のロボットの運動方程式が考慮されるため、各軸の動作速度やトルクの制限など、ロボットの拘束条件を満たした上で最速となる速度パターンが求められる。
【0030】
速度パターンを求めると、その速度パターンに従ってロボットを所定の始点から終点まで動作させた場合の動作時間を算出する(同図(c))。そして、経由点の位置を更新しながら(同図(d))上述したプロセスを繰り返し実行し、動作時間が最短に収束したと判断した時点で処理を終了する。この一連の処理は、多軸ロボットの各軸に対して実行される。その結果として得られた軌道が、ロボットの拘束条件(速度<速度制限値、且つ、トルク<トルク制限値)を満たした上で、手先を始点から終点まで最短時間で移動できる軌道となる。このようにして求めた手先の経由点及び各軸の速度パターンの情報(軌道情報)は、ロボットコントローラに格納されて実際の多軸ロボットの制御に使用される。
【0031】
次に、図3ないし図11を参照して、上述した多軸ロボットの軌道情報を生成方法及びその軌道情報を使用した多軸ロボットの制御装置の一例を詳述する。図3(a)は、4軸ロボット1(多軸型ロボット)の全体構成を概略的に示している。直線移動レール2には、その下面側に移動体2a(基部側アーム)が第1のリンクとして、第1軸(X軸)であるX方向に沿って直線移動可能に支持されている。また、この移動レール2には、その移動体2aを自在に移動させるための駆動機構が設けられている。詳しく図示はしないが、前記駆動機構は、直線移動レール2の一端部に配設された直線移動用モータ3や図示しないボールねじ機構などから構成されている。ここで、第1のジョイントは、直線移動レール2と移動体2aとが連携する構成部分が対応する。
【0032】
前記移動体2aの下面部にはアーム支持ベース4が連結される。前記アーム支持ベース4の下面に水平方向に延びる水平旋回アーム5(手先側アーム)が第2のリンクとして、その一端部である基端側が第2軸(垂直軸,R軸,第2のジョイント)を中心にR方向に旋回可能に取付けられている。この水平旋回アーム5の前記垂直軸とは反対側の端部である先端部(先端面)に、昇降体6が第3のリンクとして上下動可能(第3軸,Z軸)に取付けられている。この昇降体6の下面側に、手首部7が第4のリンクとして垂直軸(第4軸,T軸)を中心に同軸回転可能に取付けられている。また、手首部7には、ワークを把持するためのチャック(ハンド)等の作業用ツールが着脱可能に取付けられるようになっている。
【0033】
この場合、前記水平旋回アーム5は、アーム支持ベース4内に設けられた駆動源であるアーム回転用モータ8(図4参照)及び回転伝達機構により水平方向に無限回転(旋回)可能であり、前記昇降体6は、水平旋回アーム4に内蔵されたモータ及びラック−ピニオン機構によって水平旋回アーム5の先端にて上下移動され、前記手首部7は、昇降体6に内蔵されたモータによって同軸回転される。
【0034】
上記各ロボット1の動作(直線移動モータ3を含む各軸のモータ)は、それぞれ図4に示すように、ロボットコントローラRCの制御部9により作業工程プログラム等に基づいて制御されるようになっている。この制御部9(制御装置,制御手段)は、CPU,ROM,RAMなどを備えて構成され、ティーチングペンダント10が接続されており、このティーチングペンダント10には、スイッチ群11が設けられていると共に、表示手段たる表示部12が設けられている。
【0035】
また、図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軸の関節角度である。
【0036】
上述した多軸ロボット1は4軸であり、本実施例に係る軌道生成方法及び制御法は、これらの4軸のうち、何れかの2軸及び3軸以上の複数軸について実施できる。しかしながら、以下の説明では、軌道生成及び制御の原理を判り易く説明するため、第1及び第2軸のみを計算対象として説明する。その説明を元に、3軸以上の軌道生成及び制御の例を後述する。
【0037】
ここで、以下の説明で使用する物理量θ,λに関して、以下のような定義を与えておくことにする。
θ : ロボットの位置を示す、各軸の関節角[rad]である。
θ´: ロボットの速度を示す、各軸の関節角速度[rad/s]である。
θ″: ロボットの加速度を示す、各軸の関節角加速度[rad/s]である。
λ :軌道上の各位置を示す軌道パラメータである。
λ´: 軌道上の各位置における傾きであり、軌道の速度を示す。
λ″: 駆動上の各位置における曲率を示す、軌道の加速度を示す。
【0038】
上述した多軸ロボット1の運動方程式の一般表記は(1)式となる。
【数1】
但し、τはトルクベクトルである。そして、(1)式における慣性行列Hと、遠心力・コリオリ力を表す行列hとに、ロボット1の物理的パラメータが反映されている。ここで、
【0039】
【数2】
また、(1)式におけるBは摩擦,gは重力であるが、以下ではこれらを無視して説明する。
【0040】
尚、ロボットの運動方程式の詳細については、以下の文献(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)とする。
【0041】
次に、制御部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
【0042】
次いで、制御部9は、ロボット1の手先(今の例では第2軸、すなわち第2アームの先端)を、補間した軌道について作成した速度パターンに従い移動させた場合の動作時間を計算し(ステップS5)、その動作時間と前回に計算した動作時間との差を求める。そして、制御部9は、両者の差が所定の閾値(例えば0.001s)未満に収まっているか否かを判断し(ステップS6)、収まっていなければ(NO)ステップS2で求めた経由点を、例えば滑降シンプレックス法等を用いて更新する(ステップS7)。勿論ここでは他の手法,例えば勾配法や遺伝アルゴリズム等を用いても良い。
【0043】
経由点を更新すると、制御部9の処理はステップS3に戻り、ステップS7までの処理を繰り返す。そして、ステップS6において、今回と前回の動作時間の差が所定の閾値未満に収まれば(YES)処理を終了する。尚、ステップS3〜S7が軌道生成ステップ(生成手段)に対応する。
【0044】
次に、ステップS5で行うボブロー法を用いた計算処理について、図6を参照して説明する。先ず、ステップS3で決定した手先の軌道を示す(3)式
x=f(λ) …(3)
より、軌道パラメータλを手先位置x(ベクトル)に変換する(ステップS11)。尚、式に付している番号は、文献(1)に記載されているものについては文献(1)の番号に合わせている。軌道f(λ)は、例えば3次スプラインで補間した場合は次式となる。
f(λ)=aλ+bλ+cλ+d …(3a)
但しλは、始点から終点までの座標の増分変数である。
【0045】
続いて、逆運動学より、手先位置xを各軸(アーム)の角度qに変換する(ステップS12,変換手段)。
q=p−1(f(λ)) …(4)
但しpは、順運動学を示す関数である。ここで手先位置xを角度qに変換するのは、手先の軌道を求める際に、図7に示すように、ロボット1のアームの形態である手系(図7(a)は左手系,図7(b)は右手系)を限定することなく求められるからである。
【0046】
すなわち、図8において説明するように、座標位置を用いて図6に示す計算を行うとした場合、軌道の途中でアームの形態を変化させることを想定すると(図8(a),(b)参照)、形態が変化したところで拘束条件が不連続となり、計算結果が得られなくなってしまう。そのため、座標位置を用いて計算を行う場合には、アームの形態を変化させないで行う必要がある(因みに文献(2),(3)においても、ロボットのアーム形態を、最初に決定された形態から変更することなしに最速となる速度パターンを求めている)。
【0047】
これに対して、本実施例のように、予め手先の座標位置を各軸角度に変換してから計算を行うようにすれば、軌道の途中で形態が変化しても拘束条件が不連続とならず、計算結果を得ることができる。したがって、アーム形態に制約されることなく最速となる速度パターンが求められる。
そして、(1)式に(4)式を代入すると、(5)式が得られる(ステップS13)。
【数3】
尚、Jはヤコビアンである。また、(5)式において摩擦B,重力gを夫々含むパラメータa3,a4の項は「ゼロ」となる。
【0048】
次に、ステップS14において、制御部9は、(5)式より求められる最大加速度λ″max,最大減速度λ″minを計算する(これらについては、文献(1)の(8)〜(10)式を参照)。尚、「λ」に付した「2」の記号は文献(1)において加速度を示すためのダブルドットに替わるものである。ここで求められる最大加速度λ″max,最大減速度λ″minが、ロボット1の動作の加速度に関する拘束条件となる。
【0049】
次いで、制御部9は、軌道上の次の位置λ及び速度λ´を、最大加速度λ″max(又は最大減速度λ″min)を用いて(11)式,(12)式により計算する(ステップS15)。ここで、時間tはサンプリングタイム(例えば1ms)であり、λ0,λ´0は現在の位置及び速度である。また「λ」に付した「´」は一階微分を表し、文献(1)において速度を示すためのドットに替わるものである。
λ=0.5λ″maxt+λ´t …(11)
λ´=λ″maxt …(12)
【0050】
次に、制御部9は、軌道パラメータλの速度λ´と加速度(減速度)λ″がそれぞれの拘束条件を満足するか否かを判定する(ステップS16)。つまり、制御部9は、
λ´min≦λ´≦λ´max …(13)
λ″min(λ,λ´)≦λ″≦λ″max(λ,λ´) …(14)
の両条件を同時に満足するか否かを判定する。なお、加速時か減速時かに応じて、λ´min又はλ´max、及び、λ″min又はλ″maxが使用される。
【0051】
図9は、上記文献(2)のFig.2を基に模式的に表すもので、2軸ロボットについて、軌道パラメータλの加速度(減速度)λ″に関する拘束条件を満たす範囲を示している。すなわち、各軸(各関節に配置されるモータ)について規定されている最大加速度〜最大減速度の範囲でAND条件を採った許容範囲λ″min〜λ″maxが設定されている。
【0052】
また、軌道パラメータλの速度λ´に関する拘束条件の限界値λ´min、λ´maxは、
λ´min=max(q´min/f´(λ)) …(15)
λ´max=min(q´max/f´(λ)) …(16)
である。ここで、f(λ)は軌道を示し、q´min、q´maxはロボット1の仕様より決まる最小及び最大の関節速度である。これらの速度条件及び加速度(トルク)条件は、拘束条件として必要な最小限の条件であり、状況に応じてこれ以外の条件を追加してもよい。
【0053】
上述のステップS16において、軌道パラメータλの速度λ´と加速度(減速度)λ″が式(13)、(14)の拘束条件を共に満足していれば(ステップS16、YES)、制御部9は、位置λをステップS15で計算した値に更新する(ステップS17)。次いで、制御部9は、位置λが終点λendに到達したか否かを判断し(ステップS18)、到達していなければ(NO)、処理をステップS14に戻し、到達していれば(YES)処理を終了する。
【0054】
一方、ステップS16において、速度λ´と加速度(減速度)λ″が式(13),(14)の少なくも一方の拘束条件を満足していない場合(ステップS16,NO)、制御部9は、ステップS19の処理を行う。すなわち、制御部9は、加速時であれば最大加速度λ″maxより任意の定数aを減じたものを新たな最大加速度λ″maxとし、減速時であれば最大減速度λ″minより任意の定数aを減じたものを新たな最大減速度λ″minとする。その後、ステップS15に戻り、軌道パラメータである位置λ及び速度λ´を再計算する。
【0055】
以上の図6に示す処理を完了すると、図5に示すステップS3で補間されて求められた軌道上を、ロボット1の手先が速度及び加速度(=トルク)についての拘束条件を満たしつつ移動した場合に、移動速度が最も速くなる速度パターンが得られる。すなわち、ボブロー法を用いた計算処理はロボット1の運動力学に基づいて行われているので、ロボット1についての拘束条件を満たすことができる。
【0056】
なお、特に図示していないが、実際には、ステップS4及びS5に係る動作時間は、始点から終点までの往復の速度パターンに基づいて演算される。つまり、ステップS4にて説明したアルゴリズムに基づいて、最初に始点から終点への行きの速度パターンが演算される。次いで、終点から始点までの帰りの速度パターンが演算される。それから、行き速度パターンと帰り速度パターンとが合成され、その合成された速度パターンについて、ステップS5にて動作時間が演算される。
【0057】
次に、図10及び図11は、以上のようにしてロボット1の手先の移動速度が最短となる軌道を求めた一例を示す。図10(a)は、XY平面上における第1軸,第2軸及び手先の座標が変化する軌跡を実線で示すもので、始点座標は(−0.3,0.3)であり、終点座標は(0.3,0.3)である。図11(b)には、始点から終点まで移動する間の、第1軸,第2軸それぞれの角度,角速度,角加速度,トルクの変化を示している。
【0058】
第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のアーム形態としては左手系となる。
【0059】
上記の動きに応じて、第2軸の角速度は始点(V1)から移動した直後に正側のピーク(10[rad/s],ピーク点V2)に達し、そこから中間点における負側のピーク(−10[rad/s],ピーク点V3)に向けて直線的に変化する。また、その中間点から終点の直前における正側のピーク(10[rad/s],ピークV4)に向けて直線的に変化する。すなわち、図11(b)に示すように、中間点を中心として対称な速度パターンとなる。
【0060】
また、上記の角速度パターンに対応する角加速度は、始点V1において0から正側のピーク400[rad/s]に達し、その後、ピーク点V2で負の値約−50[rad/s]に切り替わって、中間点のピーク点V3までその負の値約−50[rad/s]をキープする。さらに、中間点のピーク点V3で正の値50[rad/s]に切り替わると、ピーク点V4までその値をキープする。ピーク点V4で負側のピークである−400[rad/s]に達し終点V5で0に戻る、というパターンとなる。
【0061】
第2軸が上述のように動作することで、以下のような作用が発生する。第2軸は、始点より移動を開始してからX軸上の中間点に達するまでの間に、0[rad]→0.6[rad]→0[rad]と角度θ2を変化させる。これにより、ロボット1の手先が一旦、正回転方向に振られた状態から負回転方向に振り戻されるように動く。これに応答して、その動きに伴う反作用が移動体2aに生じて、移動を開始した際の第1アームの運動を加速する加速力が発生し、この付勢力が第1、第2のアームの終点方向の運動をアシスト(付勢)する。
【0062】
一方、X軸上の中間点から終点に達するまでの間に、第2軸は0[rad]→−0.6[rad]→0[rad]と角度θ2を変化させるが、これにより、ロボット1の手先が一旦、負回転方向に振られた状態から正回転方向に振り戻されるように動く。この場合も、その動きに伴う反作用が移動体2a側に生じて減速力として作用する。この減速力は、終点に到達して停止するまでの減速運動をアシスト(抑制)する。
【0063】
以上のように第2軸が動作する結果、ロボット1の手先が始点から終点まで移動する時間は、従来のように単純な動作をさせた場合に比較して短縮される。図10には、第2軸を全く回転させずに第1軸のみを動作させた場合の軌道を破線で示すが、この軌道についてシミュレートした移動時間は536[ms]であるのに対し、実線で示す軌道についてシミュレートした移動時間は514[ms]であり、4%強の短縮効果があった。したがって、移動時間を従来と同じ時間にすれば、ロボット1をより少ないエネルギーで動作させることが可能になり、省エネルギー化にも貢献できる。更に、例えば出力を低下させることでモータのワット数を低下させることも可能になり、ロボットの小型化,低コスト化を図ることもできる。
【0064】
また、図11(a)は、図10(a)〜(e)に示す5つの手先位置を同時にプロットしたものである。また、これらの5点は、図11(b)に示す第2軸の角速度パターン上にプロットした5点(V1〜V5),すなわち角速度又は角加速度の変極点に対応している。図5に示すステップS2において、始点と終点との間に3点の初期経由点を設定したが、初期経由点を3点にすることは、図11に示す角速度又は角加速度の変極点に対応するものを選択するのが、計算効率を向上させるために有利であるとの判断に基づいている。
【0065】
例えば、文献(3)のFig.4に示されていると共に関連する記載からは、ボブロー法では、軌道を探索するための経由点数を増やすほど動作時間を短縮する効果がある。しかしながら、経由点数を増やせば、それは直接的に計算時間を増大させることに繋がるため、無制限に増やすのは実用的ではない。
【0066】
そこで、本実施例では、動作時間の短縮を図ることと計算時間の増大を抑制することとのバランスを考慮して、初期経由点を3点にしている。初期経由点の選択は厳密に行う必要はなく、前述したように始点と終点との間の直線距離を単純に4等分するなどして決定すれば良い。図1又は図5に示す処理を繰り返し実行する過程で、経由点が変更されつつ新たな軌道が求められ、最適化される。
【0067】
その結果、ピック・アンド・プレイスのような動作パターンにおいて動作時間が最短になる軌道を選択することは、3点の経由点が、図11(a)に示すような第2軸の角速度又は角加速度の3つの変極点として、どの座標位置となるかにより決まると言える。したがって、初期経由点を3点とすれば、動作時間が最短となる軌道を、計算時間の増大を抑制しつつ求めることが可能となるのである。
【0068】
以上のように本実施例によれば、基部側に位置する移動体2aと、その手先側に連結されている水平旋回アーム5とを有する多軸型のロボット1を対象とする。そして、制御部9は、手先を始点から移動させる際には、水平旋回アーム5の動作によって移動体2a側に生じる反作用が、移動体2aの基軸である直線移動レール2に沿って動作させて発生する加速力を増加させるように軌道を生成し、手先を終点に停止させる際には、水平旋回アーム5の動作によって移動体2aに生じる反作用が、移動体2aを動作させて発生する減速力を増加させるように軌道を生成する。
【0069】
より具体的には、始点から終点に向けて手先の移動を開始させるときに、移動体2aに、水平旋回アーム5の動作によって、移動体2aが発生する加速力を増加させる反作用を生じさせ、手先を終点に停止させるときには、水平旋回アーム5の動作によって、移動体2aが発生する減速力を増加させる反作用を生じさせるように、移動体2a及び第2軸の
速度パターンを生成することで手先の軌道を生成する。
【0070】
従来の多軸型ロボットの制御では、例えばピック・アンド・プレイスのような単純な作業を行わせる場合、始点、終点間で動作量に変化がない軸は動かない。すなわち、図10に破線で示した動作パターンとなる。このようにアームが伸びきった状態では、第1軸(走行軸)の高加速による慣性トルクで手先側アームが動かないように第2軸は無駄な保持トルクを出力し続けており、基部側アームの負荷となっているだけである。
【0071】
これに対して、上述したように軌道を生成すると、水平旋回アーム5が、移動体2aに対し反作用を生じるように動作するようになり、手先の起動時に必要な加速力と、停止時に必要な減速力とをそれぞれ増加させ、手先を始点から終点まで移動させる速度を向上させて移動時間を短縮できる。すなわち、手先を移動させる途中で水平旋回アーム5を若干回転させることで、移動体2aが直線移動する際のイナーシャが小さくなり、手先をより少ないエネルギーで移動させることができる。よって、従来の手法で決定された軌道と同じ移動時間で動作させるのであれば、ロボット1を従来よりも少ない消費エネルギーで動作させることができる。
【0072】
また、上述した軌道は、多軸型ロボット1の動力学に基づいて計算された結果として生成されるので、ロボットの拘束条件を満たす範囲内で速度を最大化する軌道が求められる。したがって、現実的に使用できる最適化された軌道が得られる。加えて、ボブロー法を用いて速度パターンを演算する際に、軌道上の位置を角度に変換して演算を行うようにしたので、ロボット1のアーム形態を左手系,右手系の何れか一方に限定することなく、左右両方の手系を用いて最速となる速度パターンを求めることができる。
【0073】
また、手先を始点から移動させる際には、移動体2aを終点方向に移動させると共に、水平旋回アーム5を、その先端が終点方向とは逆方向に移動するように回転させる。その後、水平旋回アーム5の先端を終点方向に回転させる。この時、水平旋回アーム5の動作によって生じる反作用が起動時の加速力をアシストするようになる。
【0074】
また、手先を終点に停止させる際には、水平旋回アーム5を、その先端である手先が終点を超えている位置から、先端を始点方向に移動させるように軌道を生成する。すなわち、水平旋回アーム5の先端,手先を始点方向に振り返すように軌道を生成して停止させる。この時、水平旋回アーム5の動作によって生じる反作用が停止時の減速力をアシストするようになる。すなわち、この様に軌道を生成することで、水平旋回アーム5が、移動体2aに対し反作用を生じるように動作させることができる。
【0075】
そして、始点と終点との間に3点の経由点を設定し、3点の位置を変更しながら各点に対応した移動時間を演算するようにした。すなわち、手先の移動時間を最短にする軌道を生成するには、軌道を最適化する必要がある。そして、最適化を行うには、始点と終点との間に1点以上の経由点を設定し、その経由点の位置を変更した場合に求められる移動速度を比較する必要がある。
【0076】
ここで、上述したように水平旋回アーム5を動作させることを想定すると、水平旋回アーム5の基部側軸である移動体2aにおいて、起動直後に加速度を付与する時点と、動作途中で加速度の方向が反転する時点と、停止直前に加速度をゼロにする時点とがある。そして、軌道の最適化を図る過程では、少なくとも上記3つの時点に対応する経由点を最適化することが重要になると考えられる(図1(a)参照)。したがって、上記3つの時点に対応する経由点を設定すれば、演算量を抑制しつつ効率的に、移動時間を最短にする軌道を生成することが可能となる。これにより、従来の方法では、方法自体の限界によって引き出すことができなかったモータ,アクチュエータのポテンシャルを最大限引き出しつつ、現実的に使用できる最適化された軌道が得られるようになる。
【0077】
[第2の実施例]
図12及び図13は、多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置に係る第2の実施例を示す。なお、第2の実施例及びそれ以降の実施例において、前述した第1の実施例で説明した構成要素と同一又は同等のものには、同一の符号を付してその説明を省略又は簡略化する。
【0078】
第2の実施例に係る多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置では、手先の位置xを各軸の角度qへ変換するステップの実行タイミングが変更されている。つまり、前述した第1の実施例では、逆運動学を解いて手先の位置xを各軸の角度qへ変換していた(ステップS12参照)。これに対し、第2の実施例では、最短の速度パターンの作成前の段階、すなわち経由点の補間処理の段階で、その角度qへの変換処理を行うようにした。これにより、逆運動学の演算を回避することができ、演算負荷が格段に減少する。
【0079】
図12及び図13に、制御部9が実行する、速度パターンを作成する処理を説明する。制御部9は、例えばオペレータによって与えられた開始点及び終点を示す情報を読み出し(図12:ステップS1)、3つの初期経由点を生成する(ステップS2)。次いで、制御部9は、手先空間におけるそれらの開始点、終点及び初期経由点を、関節空間における相当する角度に変換する(ステップS2A)。この変換の後、制御部9はステップS3に移行し、それらの開始点、終点及び3つの初期経由点を補間して軌道x=f(λ)を生成する。次いで、ステップS4Aでは、図13に示すように、ステップS13A、S14〜S19の処理が行われる。このうち、ステップS13Aでは、角度qをロボットの運動方程式に代入する。
【0080】
このとき、補間された角度qは、
q=f(λ),q´=f´λ´,q″=f´λ″+f″λ´ …(17)
で表されるので、ロボットの運動方程式は関節空間において
【数4】
と表される。上記以外の処理は前述した第1の実施例のものと同様である。
【0081】
したがって、この第2の実施例によれば、軌道x=f(λ)を補間する前に、軌道xを関節角度qに変換する。これにより、前述した逆運動学の方程式を解く処理、即ち、前述した図6のステップS11,S12の処理が不要になる。つまり、関節角度空間においてそのままダイナミクス(順運動学)を解けばよく、その分だけ演算負荷が軽くなる。その他の作用効果は、前述した第1の実施例と同様のものが得られる。
【0082】
[変形例]
本発明は上記した、または図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
初期経由点を4点以上設定しても良い。
多軸型ロボットの動力学に基づいて速度を最大化する軌跡を求める計算手法は、ボブロー法以外の手法を用いても良い。
基部側アームと手先側アームとは、各アームの相対的な位置関係で決まる。例えば第2アームの先に第3アームが連結されている場合、第1アームを「基部側アーム」とすれば第2及び第3アームが「手先側アーム」となり、第2アームを「基部側アーム」とすれば第3アームが「手先側アーム」となる。
【0083】
この一例として、図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次元ベクトルとして処理すればよい。
【0084】
この結果、この3軸のロボットアームを、一例として図15に示したように動作させた。これによれば、3軸(J1,J2,J3)の位置を始点(0,0,0)度から終点(90,45,90)度まで移動させる際に、手先側アームの反作用による加速力及び減速力の助長効果が得られことが確認できた。つまり、従来の軌道軌跡(図15中の二点鎖線)に比較して、動作時間の短縮を確認できた。
【0085】
また、走行軸と回転軸との組み合わせから成るロボットに限らず、他の軸数が多いロボットに適用しても良い。
さらに、前述した実施例では拘束条件の速度の上限値λ´min,λ´maxを一定値として扱っていたが、これを可変値として扱うこともできる。この例を2つ挙げる。
【0086】
第1の例は、本願のロボットのモータの速度とトルクの関係に着目した、トルク、すなわち、拘束条件の一つとしての加速度の上限値を可変させる機能に関する。図16に、一般的に知られるモータのTN曲線を示す。モータは高速になるほど、出力する最大トルクが減少することが知られている。そこでこの例では、モータのトルクに関する拘束条件を前述した関係から、
λ″min(λ,q´/f)≦λ″(λ,q´/f)≦λ″max(λ,q´/f)
…(20)
とおく。
図16に示すTN曲線を使って現在の速度q´に対応する最大トルクを演算して式(20)に基づく判定を行う。これにより、速度に応じて最大トルクを可変できる。
【0087】
第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の軌道生成に、本願の加速度及び減速度を助長する構成が実施されている。
【0088】
ボールねじなどの単軸は、その上限速度(限界速度、危険速度と呼ばれる)が定められているが、この速度の値はその軸の固定端からの位置によって変化する。従来の台形速度パターンで駆動させる場合、台形を成す上辺(上限速度)は一定値であり、安全率を考慮した値に設定していた。
【0089】
そこでこの例では、本願の軌道生成手法をXRロボットに適用することで、その上限速度を直動軸J1に沿った移動ステージ23の位置Pに応じて変化させることができる。前述した式(13)から判るように、速度の拘束条件λ´min≦λ´≦λ´maxは位置λ(すなわち角度)と最大速度q´によって決まるので、J1軸上の位置Pに応じて限界速度を可変にできる。これにより、図18においてハッチングした領域で模式的に示すように、従来では使いきれていない速度領域を有効に使用できる。つまり、より最短の軌道で手先を移動させることができると共に、省エネルギーにもなる。
【0090】
[第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値によって規定されている。
【0091】
また、図18に示す上限速度に従い、XRロボットの動作をシミュレーションした結果を図20(a),(c)に示す。図20(b)は図18相当図であり、(c)は(a)を拡大して示したものである。図20(c)には、4つの結果が示されている。
【0092】
第1(一点鎖線)は、XRロボットの移動ステージ23(移動体)を移動(0[mm]〜1200[mm])させる際に、従来と同様にボールねじ軸20のみを回転駆動させた場合で(上限速度は固定)、移動時間は約907msである。第2(二点鎖線)は、上述した第1又は第2実施例のように、ボブロー法を用いて計算を行い、移動の際に回転軸J2を回転させることでアーム25(回動アーム)が生じる反力によるアシストを加えると移動時間は約894msに短縮される。
【0093】
第3(破線)は、移動ステージ23の移動はボールねじ軸20の回転駆動だけで行うが、(21)式に基づいて上限速度を可変させると、移動時間は約596msまで大幅に短縮される。更に第4(実線)として、移動の際にアーム25が生じる反力によるアシストを加えると移動時間は約574msに短縮される。これは、第1の結果からの比較では、移動時間を約37%短縮したことになる。
【0094】
また、(21)式に基づいて上限速度を可変させる制御と、ボブロー法とを組み合わせることで、以下のような作用効果も得られる。例えば図21(a)に示すように、図17に示すXRロボットについて、第1軸を0[mm]から1000[mm]に移動させると共に、第2軸を120°から90°まで−30°移動させることを想定する。このような多軸ロボットを協調動作させる場合、位置決めは全ての軸を同時発着させることが前提となる。図21(b)に示すように、上限速度が位置に応じて変化する第1軸の速度パターン(1点鎖線)を、実線で示すように、図21(c)に示す第2軸に合わせて修正変更することは、一般に困難である。
しかし、本実施例のように、ボブロー法を用いれば、軌道空間において速度パターンを決定することになり、その結果として、各軸の発着は自動的に同期するようになる。したがって、ユーザは、各軸の動作を同期させることを特段意識する必要がなくなる。
【0095】
以上のように第3実施例によれば、ボールねじ軸20からなる直動軸と、この直動軸に沿って移動可能に配置される移動ステージ23と、移動ステージ23に搭載される回転軸を基点として回動可能に配置されるアーム25とを備える2軸ロボットについて、移動ステージ23の最大速度についての拘束条件を、少なくとも一部の範囲について、直動軸上における移動ステージ23の位置に応じて可変設定するように、具体的には(21)式に基づいて設定するようにした。これにより、前記位置によっては上限速度を従来よりも高く設定し、移動時間を短縮させて作業効率を向上させることができる。
【符号の説明】
【0096】
1はロボット(多軸型ロボット)、2aは移動体(基部側アーム,第1のリンク)、5は水平旋回アーム(手先側アーム,第のリンク)、9は制御部(制御装置,位置指定手段,作成手段,変換手段,生成手段,制御手段)を示す。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21