IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本電産サンキョー株式会社の特許一覧

特開2024-108419ロボットの制御方法及びロボット制御装置
<>
  • 特開-ロボットの制御方法及びロボット制御装置 図1
  • 特開-ロボットの制御方法及びロボット制御装置 図2
  • 特開-ロボットの制御方法及びロボット制御装置 図3
  • 特開-ロボットの制御方法及びロボット制御装置 図4
  • 特開-ロボットの制御方法及びロボット制御装置 図5
  • 特開-ロボットの制御方法及びロボット制御装置 図6
  • 特開-ロボットの制御方法及びロボット制御装置 図7
  • 特開-ロボットの制御方法及びロボット制御装置 図8
  • 特開-ロボットの制御方法及びロボット制御装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108419
(43)【公開日】2024-08-13
(54)【発明の名称】ロボットの制御方法及びロボット制御装置
(51)【国際特許分類】
   B25J 13/00 20060101AFI20240805BHJP
   H01L 21/677 20060101ALI20240805BHJP
【FI】
B25J13/00 Z
H01L21/68 A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023012774
(22)【出願日】2023-01-31
(71)【出願人】
【識別番号】000002233
【氏名又は名称】ニデックインスツルメンツ株式会社
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】奥村 宏克
(72)【発明者】
【氏名】白木 隆裕
【テーマコード(参考)】
3C707
5F131
【Fターム(参考)】
3C707AS24
3C707BS15
3C707HS27
3C707LU01
3C707MT05
3C707NS13
5F131CA09
5F131CA19
5F131CA70
5F131DA32
5F131DA33
5F131DA42
5F131DB02
5F131DB52
5F131DB62
5F131DB76
5F131DD03
5F131DD29
5F131DD33
5F131DD67
5F131DD79
(57)【要約】
【課題】水平多関節型ロボットにおいて、各軸のモータによってロボットを駆動するときにロボットにおける共振の発生を抑制する。
【解決手段】ロボットの軸ごとに、ロボットの固有振動数などに基づいて共振回避速度範囲をあらかじめ定める。動作指令に基づいてロボットの動作計画を作成したら(ステップ101)、動作計画におけるモータの最大速度を取得し(ステップ102)、最大速度が共振回避速度範囲に含まれているかを判定し(ステップ103)、含まれている場合には、最大速度が共振回避速度範囲の下限速度以下となるように動作計画の再作成を行う(ステップ104)。
【選択図】図2
【特許請求の範囲】
【請求項1】
水平多関節型ロボットであるロボットに対する動作指令に基づいて前記ロボットの動作計画を作成して前記ロボットの各軸のモータを制御する制御方法であって、
前記ロボットにおいて前記モータによって駆動される少なくとも1つの軸に関し、前記動作計画での当該軸の最大速度が当該軸に関してあらかじめ求められている共振回避速度範囲に含まれる場合に前記最大速度が前記共振回避速度範囲の下限速度以下となるように前記動作計画の再作成を行う共振回避処理を実行する、制御方法。
【請求項2】
前記ロボットは、複数のアームが直列に連結された連結体と、前記連結体の一端において前記連結体が接続する基台と、前記連結体の他端に取り付けられたハンドとを有し、前記基台と前記連結体が接続する位置の前記軸に関して前記共振回避処理を実行する、請求項1に記載の制御方法。
【請求項3】
水平面内における前記連結体の自由度が2であり、前記動作計画の再作成を行うときに前記各軸の最高速度を低下させる、請求項2に記載の制御方法。
【請求項4】
前記動作計画は、前記ロボットの全ての前記軸において加速開始、加速終了、減速開始及び減速終了のタイミングが一致するポイント・ツー・ポイント動作による動作計画である、請求項2または3に記載の制御方法。
【請求項5】
水平面内における前記連結体の自由度が3以上であって、前記動作計画は直線補間動作による制御計画であり、前記動作計画を再作成するときに全体速度を維持した動作計画を作成する、請求項2に記載の制御方法。
【請求項6】
前記複数のアームは、前記基台に回転可能に接続する第1アームと、前記第1アームに回転自在に接続する第2アームと、前記第2アームに回転自在に接続するともに回転自在に前記ハンドを保持する第3アームとからなり、
前記第1アームが前記基台に接続する位置を原点とし、前記第2アームが前記第1アームに接続する位置を第1ジョイント点とし、前記第3アームが前記第2アームに接続する位置を第2ジョイント点とし、前記ハンドが前記第3アームに接続する位置を第3ジョイント点として、
水平面内において前記原点を通る仮想走行軸の上に前記第2ジョイント点が存在すると設定し、前記原点を通って水平に延びる基準方向と前記仮想走行軸とがなす角を仮想走行軸角として、
前記動作計画を再生成するときに、移動中に前記仮想走行軸角を変化させる動作計画を作成する、請求項5に記載の制御方法。
【請求項7】
水平多関節型ロボットであるロボットに対する動作指令に基づいて前記ロボットの動作計画を作成して前記ロボットの各軸のモータを制御するロボット制御装置であって、
前記ロボットにおいて前記モータによって駆動される少なくとも1つの軸に関し、前記動作計画での当該軸の最大速度が当該軸に関してあらかじめ求められている共振回避速度範囲に含まれる場合に前記最大速度が前記共振回避速度範囲の下限速度以下となるように前記動作計画の再作成を行う、ロボット制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの動作を制御する制御方法と、そのような制御方法を実行するロボット制御装置とに関する。
【背景技術】
【0002】
ワークの搬送や加工に用いられるロボットは、一般に、基台に対して複数のアーム(リンクとも呼ぶ)を直列に連結し、先端にハンドなどのエンドエフェクタを備えた構成を有し、指定した位置にそのエンドエフェクタを移動させるように制御される。エンドエフェクタの目標位置を指定してロボットを動作させるときには、ロボットの各軸を駆動するモータの定格速度などの範囲内でできるだけ短時間に目標位置に到達できることが好ましい。しかしながら複数のアームを直列に連結してその一端が基台に接続されているという構造上、ロボットの動作に伴ってロボットでは共振が発生することがある。共振が発生するとロボットの先端すなわちエンドエフェクタの位置も振動することとなるから、エンドエフェクタの正確な位置決めを行うことが難しくなる。すなわちロボットを正確に制御することが難しくなる。
【0003】
例えばワークを格納するカセットとワークに対して処理を行うワーク処理装置との間で半導体ウエハなどのワークを搬送するために、搬送用のロボットが使用される。以下の説明において、ロボットによるワークの取り出し(すなわちロード)と荷降ろし(すなわちアンロード)の対象となるものをステージと総称する。半導体製造工程においてウエハの格納に用いられるカセットと、ウエハに対して何らかの処理を行うワーク処理装置とは、いずれもステージである。半導体製造工程では、壁面によって画定された作業領域内に搬送用のロボットを配置するとともに作業領域を囲む壁面に複数のステージを配置し、ワークである半導体ウエハをロボットによりステージ間で搬送する。搬送用のロボットは、複数のステージに対してワークをロード/アンロードできることが求められるから、ロボットとして、複数のアームを互いに回転可能に連結するとともに、モータなどの回転力をアームに伝達して回転や伸縮等の動作をさせるようにした水平多関節型のロボットが用いられる。最先端のアームには、エンドエフェクタとして搬送時に実際にワークが搭載されるハンドが回転可能に取付けられる。このような搬送用の水平多関節型ロボットにおいて共振が発生するとハンドがふらつき、ステージ上の適切な位置にワークをアンロードすることができなくなったり、ワークのロードに失敗したり、移動中にワークを振り落としてしまったり、さらにはハンド上のワークがステージの壁面やロボットを囲む空間の壁面に衝突したりするなどの不具合が発生する。
【0004】
ロボットを動作させるときに共振の発生を抑制する技術として特許文献1は、ロボットに対する指令に基づいて各関節の目標位置情報を導出し、さらにロボットの動特性モデルとロボットに対する制御と各関節の目標位置情報とからロボット先端の振動を数値計算により求め、求めた振動が許容値を超えるときはロボットの速度を低下させることを開示している。また特許文献2は、ロボットに力覚センサを取り付けてロボットの動作中に力覚センサによって検出された振動から共振の発生の有無を判定し、共振を検出したときにロボットの固有振動数を求めるとともに、各軸のエンコーダの出力から各関節の振動周波数を求め、固有振動数と各関節の振動周波数とを比較して共振を発生させた関節を特定し、その関節に対応する軸のモータの回転数を変化させることを開示している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2017/175340号公報
【特許文献2】特開2015-199149号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載された技術には、動特性モデルを用いて振動の大きさを算出するので、ロボットでの振動の発生を抑制するために必要な演算量が大きい、という課題がある。また特許文献2に記載された技術には、ロボットに力覚センサを設ける必要があり、力覚センサを備えないロボットには適用が難しい、という課題がある。また、特許文献1,2に記載された技術は、いずれも、垂直多関節型ロボットにおける共振の発生を抑制するものであるが、水平多関節型ロボットでは仰角方向でのリンクの動きがないので共振の振動形態(振動モード)も異なり、そのため、垂直多関節型ロボットにおける共振の抑制方法を適用して水平多関節型ロボットの制御を行なったとしても。必ずしも最適な制御とはならない。
【0007】
本発明の目的は、水平多関節型ロボットにおいて共振の発生を少ない演算量で抑制できるロボットの制御方法と、そのような制御方法を実行するロボット制御装置とを提供することにある。
【課題を解決するための手段】
【0008】
本発明の一態様によれば、制御方法は、水平多関節型ロボットであるロボットに対する動作指令に基づいてロボットの動作計画を作成してロボットの各軸のモータを制御する制御方法であって、ロボットにおいてモータによって駆動される少なくとも1つの軸に関し、動作計画でのその軸の最大速度がその軸に関してあらかじめ求められている共振回避速度範囲に含まれる場合に最大速度が共振回避速度範囲の下限速度以下となるように動作計画の再作成を行う共振回避処理を実行する。
【0009】
ロボットにおける共振は、モータが軸を駆動するときに発生する振動がロボットの固有振動数に近いときに発生する。モータが軸を駆動するときの振動の周波数はモータの回転速度に比例する。一態様の制御方法では、ロボットの固有振動数を含むような共振回避速度範囲を軸ごとにあらかじめ設定しておき、動作計画における軸の最高速度が共振回避速度範囲内にあるときに最高速度が共振回避速度範囲外となるように動作計画を再作成することによって、ロボットにおける共振の発生を少ない演算量で抑制することができる。
【0010】
一態様の制御方法において、ロボットは、複数のアームが直列に連結された連結体と、連結体の一端において連結体が接続する基台と、連結体の他端に取り付けられたハンドとを有し、基台と連結体が接続する位置の軸に関して共振回避処理を実行する。基台と連結体が接続する位置の軸に起因する共振は、一般に、他の軸に起因する共振よりも振幅が大きいから、基台と連結体が接続する位置の軸に関して共振回避処理を行うことにより、ロボットにおける共振の発生を効果的に抑制することができる。
【0011】
一態様の制御方法では、ロボットにおいて水平面内における連結体の自由度が例えば2であり、その場合、動作計画の再作成を行うときに各軸の最高速度を低下させるようにすることができる。このように動作計画の再作成を行うことによって、動作計画の再作成に要する演算量を小さくすることできる。またこの場合、動作計画は、ロボットの全ての軸において加速開始、加速終了、減速開始及び減速終了のタイミングが一致するポイント・ツー・ポイント動作による動作計画であってもよい。このような動作計画を用いることにより、共振の発生を抑制しつつポイント・ツー・ポイント動作によるロボットの制御を容易に行うことができるようになる。
【0012】
一態様の制御方法では、ロボットにおいて水平面内における連結体の自由度が例えば3以上であって、動作計画は直線補間動作による制御計画であり、動作計画を再作成するときに全体速度を維持した動作計画を作成することができる。水平面内で位置を特定するために必要な自由度は2であるので、自由度が3以上であることによる冗長な自由度を活用することによって、移動完了までの時間を延ばすことなく共振の発生を抑制することができる。一例として、複数のアームは、基台に回転可能に接続する第1アームと、第1アームに回転自在に接続する第2アームと、第2アームに回転自在に接続するともに回転自在にハンドを保持する第3アームとからなる。このとき、第1アームが基台に接続する位置を原点とし、第2アームが第1アームに接続する位置を第1ジョイント点とし、第3アームが第2アームに接続する位置を第2ジョイント点とし、ハンドが第3アームに接続する位置を第3ジョイント点として、水平面内において原点を通る仮想走行軸の上に第2ジョイント点が存在すると設定し、原点を通って水平に延びる基準方向と仮想走行軸とがなす角を仮想走行軸角とすることにより、動作計画を再生成するときに、移動中に仮想走行軸角を変化させる動作計画を作成することができる。仮想走行軸角の概念を導入することによって、ロボットの姿勢を制御するときの処理を簡素化でき、それにより、共振の発生をより少ない演算量で抑制することが可能になる。
【0013】
本発明の別の態様においてロボット制御装置は、水平多関節型ロボットであるロボットに対する動作指令に基づいてロボットの動作計画を作成してロボットの各軸のモータを制御するロボット制御装置であって、ロボットにおいてモータによって駆動される少なくとも1つの軸に関し、動作計画でのその軸の最大速度がその軸に関してあらかじめ求められている共振回避速度範囲に含まれる場合に最大速度が共振回避速度範囲の下限速度以下となるように動作計画の再作成を行う。
【0014】
このようなロボット制御装置では、動作計画における軸の最高速度が、ロボットの固有振動数に対応してあらかじめその軸に関して求められている共振回避速度範囲内にあるときに、最高速度が共振回避速度範囲外となるように動作計画が再作成されるので、ロボットにおける共振の発生を少ない演算量で抑制することができる。
【発明の効果】
【0015】
本発明によれば、水平多関節型ロボットにおいて共振の発生を容易に抑制できるようになる。
【図面の簡単な説明】
【0016】
図1】(a),(b)は、それぞれロボットを示す平面図及び概略断面図である。
図2】ロボットの制御方法を説明するフローチャートである。
図3】PTP動作における動作計画の再作成を説明する図である。
図4】最大速度が共振回避速度範囲の外側にあるときの動作を説明する図である。
図5】別の実施形態で用いるロボットを示す概略断面図である。
図6】XY座標系における図5に示すロボットの姿勢を説明する図である。
図7】仮想走行軸角TWと最大速度との関係の一例を示すグラフである。
図8】仮想走行軸角TWを変化させることによる動作計画の再作成を説明する図である。
図9】直線補間動作でのロボットの動きを示す概略平面図である。
【発明を実施するための形態】
【0017】
次に、本発明の実施の形態について、図面を参照して説明する。図1は本発明の実施の一形態の制御方法が適用されるロボットを示しており、(a)は平面図、(b)は図1(a)のB-B線での断面図である。図に示されるロボット1は、水平多関節型のロボットであって作業領域5内に配置され、作業領域5を囲む壁面に設けられたステージの相互間で、例えば円板形状のワーク50を搬送するために用いられる。以下の説明では、ワーク50は半導体ウエハであるものとするが、ワーク50は半導体ウエハに限定されるものではなく、また本発明が適用される水平多関節型ロボットは搬送用のロボットに限定されるものではない。
【0018】
作業領域5は、細長い長方形状の空間であり、その一方の長辺に沿う壁面には、ワーク50であるウエハを収容する複数のカセット51が、作業領域5の長手方向に沿って配置している。作業領域5の他方の長辺にはワーク50に対する処理を実行するワーク処理装置52が設けられ、ワーク処理装置52には、ロボット1との間でワーク50を受け渡すための複数のロードロック室53が設けられている。これらのロードロック室53も作業領域5を画定する壁面において、作業領域5の長手方向に沿って配置している。カセット51もロードロック室53も、ロボット1によるワーク50のロード及びアンロードが行われる場所であり、上述したようにステージと総称される。作業領域5は、ワーク50をステージ間で搬送する際にロボット1が壁面などと干渉することなくそのハンドやアームなどを動かすことができる空間である。
【0019】
次に、ロボット1の詳細な構成について説明する。ロボット1は、作業領域5の床面上に配置されて固定される基台10と、基台10に対して直列に連結された3本のアームすなわち第1アーム11、第2アーム12及び第3アーム13と、第3アーム13に取り付けられたハンド14とを備えている。連結された3本のアーム11~13は連結体を構成する。基台10は、昇降モータ(図示せず)によって駆動されて上下方向に昇降する昇降筒15を備えている。各アーム11~13及びハンド14はいずれも基端部と先端部とを有し、第1アーム11の基端部が昇降筒15に対して回転可能に連結することにより第1アーム11は基台10によって保持される。第1アーム11は、昇降筒15の昇降に伴って基台10に対して昇降可能である。昇降筒15の昇降によりアーム11~13及びハンド14が一体的に昇降するが、本実施形態は水平多関節型のロボット1の水平面内での動きの制御を説明するものであり、昇降筒15による高さ方向の動きは水平面内でのアーム11~13やハンド14の動きに比べて小さいので、以下では、昇降筒15による高さ方向でのロボット1の移動は無視できるものとしている。
【0020】
第1アーム11は、昇降筒15に内蔵されたモータ21によって駆動されて水平面内を回転し、第1アーム11の先端部には第2アーム12の基端部が回転可能に連結されている。第1アーム11には、モータ21に接続した第1プーリ21aと、第2アーム12に連結された第2プーリ21bと、第1プーリ21aと第2プーリ21bとの間で架け渡されたベルト21cとが内蔵されている。第1プーリ21aと第2プーリ21bとの径の比は2:1となっており、第1アーム11が第1プーリ21aの回転中心を中心として回転したとき、第1プーリ21aと第2プーリ21bとの回転角度比、すなわち第1アーム11と第2アーム12との回転角度比は1:2となるように構成されている。また、第1アーム11と第2アーム12の長さは等しい。このようにして図1に示すロボット1では、第1アーム11の回転に伴って第2アーム12も動くリンク機構16が構成されたことになる。ここで基台10に対する第1アーム11の回転中心(すなわち第1プーリ21aの回転中心)の位置をジョイント点J0とし、第1アーム11に対する第2アーム12の回転中心の位置をジョイント点J1とする。
【0021】
第3アーム13は、その基端部が第2アーム12の先端部に回転可能に保持されており、第2アーム12に内蔵されたモータ23によって駆動されて水平面内を回転する。ハンド14は、その基端部が第3アーム13の先端部に回転可能に保持されており、第3アーム13に内蔵されたモータ24によって駆動されて水平面内を回転する。ハンド14は、その上にワーク50を載置することができるように、先端部側がフォーク状に分岐している。第2アーム12に対する第3アーム13の回転中心の位置をジョイント点J2とし、第3アーム13に対するハンド14の回転中心の位置をジョイント点J3とする。
【0022】
図1に示すロボット1では、リンク機構16が設けられていることによって、第2アーム12と第3アーム13とを回転可能に連結する連結軸の中心点すなわちジョイント点J2の移動軌跡は、所定の直線上に規制されることになる。図では、この所定の直線を直線Qで示している。ロボット1は、細長い長方形である作業領域5の長手方向に沿って直線Qが延びるように、作業領域5内に配置される。またこのロボット1では、モータ21,23,24を駆動することによって、アーム11~13及びハンド14は水平面内を回転する。そこで、ロボット1の動作を説明するために、水平面内にXY座標を設定する。X軸方向は、ロボット1の動作の基準となる方向であり、Y軸方向はX軸方向に直交する。図示した例では、X軸方向は、作業領域5の長手方向であり、作業領域5を囲む壁面に配置されたステージが並んでいる方向と一致する。したがって直線QはX方向に延びている。また図示するようにロボット1にはロボット1の制御を行なうロボット制御装置30が接続しており、ロボット制御装置30には、ロボット1のティーチングのために、ケーブル31を介してペンダント32を接続することができる。ロボット制御装置30は、外部から入力する動作指令やペンダント32を用いたティーチングによる指令に基づいて、ロボット1内の各モータ(例えばモータ21,23,24及び昇降用モータ(不図示))を駆動し制御することができる。
【0023】
次に、本実施形態におけるロボット1の制御について説明する。ロボット1はステージ間でワーク50を搬送するものであるから、ロボット1を動作させるためにロボット制御装置30に入力する動作指令は、ロボット1の位置、特にハンド14の位置(あるいは後述するようにジョイント点J3の位置)を指定してロボット1を動作させる指令である。ロボット制御装置30は、動作指令に基づいて移動前と移動後のロボット1の位置から、ロボット1を動作させるときにロボット軌道を含む動作計画を作成し、この動作計画に基づいてロボット1のモータ21,23,24を駆動する。このとき、目標位置を指定してロボット1を動作させるときに動作形態として、よく知られているように、PTP(ポイント-ツー-ポイント;point-to-point))動作とCP(連続経路;continuous path)動作とがある。PTP動作は、一般に、ロボットに取り付けたツールやハンドの先端がとるべき軌道の始点と終点のみを指定してツールやハンドを移動させる動作であり、CP動作は、一般的には3次元空間での直線(場合によっては曲線)である経路を指定してその経路に沿ってツールやハンドの先端を動かす動作である。PTP動作では、始点と終点とは指定されるが始点と終点との間でのロボットの経路は指定されず、特に2以上の軸を有するロボットでは、軸ごとに始点と終点との間でその軸がどれだけ動くべきかを決定した後は、軸ごとの移動量によって各軸が独立に動かされる。これに対しCP動作は、指定された経路からずれないように各瞬間ごとに各軸の制御を行うものであり、例えば、教示データで示される教示点間の動きを直線で補間する際に使用される。PTP動作の方がCP動作よりも高速でロボットを移動させることができるが、ロボットの経路が指定されないので、PTP動作ではロボット周囲の壁面などの干渉が起こりやすい。これに対してCP動作では、ロボットの経路を指定できるので、PTP動作に比べて低速ではあるが、壁面などとの干渉を確実に防ぐことができる。
【0024】
カセット51あるいはロードロック室53であるステージごとに作業領域5においてそのステージに正対してそのステージの内部に対してロボット1がそのハンド14によりアクセスする位置(待機位置と呼ぶ)が定められているとする。そして、ロボット1によりステージ間でワーク50を搬送するときは、ステージ内部とそのステージに対応する待機位置との間の移動にはCP動作の1つである直線補間動作を使用し、作業領域5内で待機位置間で移動するときにはPTP動作を用いることによって、壁面などへの衝突を防ぎつつより短時間でワーク50を搬送することが可能になる。
【0025】
ロボット1を高速で動作させたとき、各軸のモータを駆動することによってロボット1に発生する振動の周波数がロボット1の固有振動数に近いときにロボット1が共振して大きく振動することがある。例えば、ある軸のモータを駆動することによって発生する振動の周波数が、その軸を振動の節とするロボット1の固有振動数に近ければロボット1が共振する。したがって、振動の節となる軸ごとにロボット1の固有振動数が存在することになる。厳密にはロボット1の姿勢によっても固有振動数は変化し得るが、本実施形態ではロボット1は水平多関節型のロボットであり、姿勢の変化による固有振動数の変化は小さいと考えてよい。モータを駆動することによって発生する振動は、例えばモータに付属する減速機における角度伝達誤差に起因するものであって、その周波数はモータの回転速度に比例する。
【0026】
そこで本実施形態では、ロボット1の軸ごとにモータの速度に関し、その軸において共振が発生しやすいと考えられる速度範囲をあらかじめ求めてそれを共振回避速度範囲とする。共振回避速度範囲の上限となる速度(上限速度)をULと表し、下限となる速度(下限速度)をLLと表す。そして、ロボット1に対する動作指令に基づいて作成された当初の動作計画においてある軸のモータの最大速度がその軸の共振回避速度範囲内にあるときは、その最大速度が共振回避速度範囲の下限速度LL以下となるように動作計画の再作成を行う。すなわち当初の動作計画における最大速度をV0とし、再作成された動作計画での最大速度をV1とすれば、LL≦V0≦ULであるときに、V1≦LLとなるように動作計画の再作成を行う。実際には当初の動作計画においてV0=LLであるときは最大速度をそのままとすることができるから、動作計画における最大速度V0が共振回避速度範囲内にあるかどうかの判定を行うときは、LL<V0≦ULを満たすかどうかを判定すればよい。また、上限速度ULに関しても、V0=ULのときは共振回避速度範囲外と判定してもよい。共振回避速度範囲は、実際にモータの速度を変えながらロボット1を動作させてロボット1に発生する振動の振幅を求め、振幅が大きいときのモータの速度に基づいて定めてもよいし、ロボット1の慣性モーメントと各軸におけるばね成分の値とに基づいてシミュレーションにより固有振動数を求めてこの固有振動数に基づいて定めてもよい。なおロボット1における共振はモータの回転方向とは無関係に発生すると考えられるから、共振回避速度範囲を規定する速度(上限速度UL及び下限速度LL)は、モータの回転方向によらずに絶対値での速度として表されており、したがって、動作計画における最高速度も絶対値での速度として表される。
【0027】
図2は、動作指令に基づいてロボット1を駆動するときにロボット1における共振の発生を抑制するためにロボット制御装置30が実行する制御を説明するフローチャートである。まず、ステップ101においてロボット制御装置30は、入力した動作指令に基づいて、ロボットの軌道などを規定した動作指令を作成する。特に動作指令は、移動前の位置から目標位置に移動するときに各軸のモータの速度をどのように変化させるのかについての情報を含んでいる。動作指令の作成後、ロボット制御装置30は、ステップ102において、動作計画におけるモータ速度の最大速度V0を取得し、ステップ103において、最大速度V0が共振回避速度範囲内にあるかどうかを判定する。最大速度V0が共振回避速度範囲内にあるときは、ロボット制御装置30は、ステップ104において、最大速度V1が共振回避速度範囲の下限速度LL以下となるように動作計画を再作成し、ステップ105において、再作成された動作計画に基づいてロボット1を駆動する。一方、ステップ103において最大速度V0が共振回避速度範囲の外側にあると判定したときは、ロボット制御装置30は、そのままステップ105を実行して、ステップ101で作成したままの動作計画に基づいてロボット1を駆動する。
【0028】
共振回避処理すなわち図2に示されるステップ102~104の処理は、ロボット1においてモータによって駆動される軸の少なくとも1つに対して行われる。複数の軸を有するロボットに対して共振回避処理を実行した場合、動作計画の再作成前は動作計画での最大速度が共振回避速度範囲外であったにも関わらず再作成後の動作計画において最大速度が共振回避速度範囲内となる軸が出てくる可能性がある。動作計画の再作成では各軸の最大速度を低くする方向で動作計画が再作成され、その分、ロボット1での共振による悪影響が出にくくなっているので、動作計画の再作成の結果、最大速度が振回避速度範囲内となる軸が新たに出てきた場合においては、重ねて動作計画を再作成しなくてもよい。
【0029】
ロボット1の複数の軸のうちの一部の軸にしか共振回避処理を実行しない場合は、ハンド14の先端すなわち手先の振動の振幅を小さくするという観点から、基台10に相対的に近い方の軸に関して共振回避処理を実行することが好ましい。特にジョイント点J0で表される軸、すなわちモータ21によって駆動される軸では、ロボット1におけるその軸の周りでの慣性モーメントが大きく、比較的低い振動周波数において振幅の大きな共振が発生しがちであるから、ロボット1の複数の軸のうちの1つの軸だけで共振回避処理を実行するのであれば、モータ21によって駆動される軸、すなわちジョイント点J0に軸について共振回避処理を実行することが好ましい。
【0030】
以下、本実施形態の制御方法に基づく共振回避処理の実例を説明する。ここではロボット1をPTP動作で動作させるものとし、このとき動作計画もPTP動作のものとして作成される。上述したようにPTP動作では、軸ごとに始点と終点との間でその軸がどれだけ動くべきかを決定した後は、軸ごとの移動量によって各軸が独立に動かされる。したがって、最も速く移動を完了させさせるためには、許容される最大加速度でモータを加速し、許容される最大速度に達した後、その速度を維持し(すなわち等速区間)、許容される最大減速度でモータを減速して停止すればよいことになる。このとき、時間に対して速度は台形状に変化する。必要な移動量によっては許容される最大速度まで到達する前に減速を開始することもあり、この場合は、時間に対して速度は三角形状に変化する。実際には複数の軸を有するロボット1ではPTP動作を行なう場合、全ての軸が同時に動き出して加速を開始し、加速の終了と減速の開始も全ての軸で同時に起こり、全ての軸が同時に停止(すなわち減速終了)するような動作計画が作成される。このように作成された動作計画において、注目する軸の最大速度がその軸の共振回避速度範囲内にある場合には動作計画が再作成されるが、再作成された動作計画においても、加速の開始及び終了が全ての軸で同時に起こり、減速の開始及び終了も全ての軸で同時に起こるようにされる。
【0031】
図3は、PTP動作における動作計画の再作成を説明するための図であって、PTP動作を行なうときに作成された動作計画におけるある軸のモータ速度の時間変化の例を示している。図3において(a)は等速区間がある場合を示しており、上段のグラフは動作指令に基づいて生成された動作計画を表している。グラフにおいて平坦となっている部分は等速区間であり、この等速区間においてモータ速度は動作計画における最大速度V0となっている。この例では、V0は共振回避速度範囲内にあるので、共振回避処理が実行されて動作計画が再作成される。再作成された動作計画におけるモータ速度の時間変化は下段のグラフに示されている。再作成された動作計画では、最大速度V1は共振回避速度範囲の下限速度LLとされている。最大速度が低下した分、移動完了までに要する時間が長くなる。具体的には、当初の動作計画における最大速度V0が共振回避速度範囲内にあるときには、当初の動作計画における全ての軸における最大速度をLL/V0倍した上で、加減速や停止のタイミングが全ての軸で一致するように、動作計画は再生成される。図3において(b)は等速区間がない場合を示している。ここでも上段のグラフに示すように動作計画でのモータの最大速度V0が共振回避速度範囲内にある場合、最大速度V1が共振回避速度範囲の下限速度LL以下となるように動作計画の再作成が行われている。
【0032】
図4は、当初の動作計画におけるモータ速度の時間変化を示すことによって、動作計画の再生成が行われない場合を示している。図4において(a)は、動作計画におけるモータ速度の最大速度V0が共振回避速度範囲の上限速度ULよりも大きくて共振回避速度範囲の外側となっている場合を示している。この場合には動作計画の再作成は行われない。図4において(b)は。動作計画におけるモータ速度の最大速度V0が共振回避速度範囲の下限速度LLよりも小さくて共振回避速度範囲の外側となっている場合を示している。この場合も動作計画の再作成は行われない。
【0033】
以上、ロボット1をPTP動作によって制御する場合の共振回避処理を説明したが、ロボット1をCP動作、特に直線補間動作で動作させる場合においても、同様に共振回避処理を行うことができる。PTP動作の場合には各軸のモータの速度の変化の形状は加減速期間を含めるといずれも台形状となるが、直線補間動作の場合には、各軸のモータの速度の変化の形状は必ずしも台形になるわけでなく、軸ごとに異なり、軸によっては複雑な形状となることがある。直線補間動作においても、ひとたび動作計画が作成されば、動作計画における最大速度V0を軸ごとに求めることができ、求められた最大速度V0と当該軸の共振回避速度範囲とを比較することによって、共振の発生を抑制するような動作計画を再作成することができる。例えば単純に、V0≧LLであるときに動作計画における全ての軸の速度をLL/V0倍とし、その代わりに速度曲線を時間軸に沿ってV0/LL倍するような動作計画を再作成することができる。ただし直線補間動作では、最大速度V1を共振回避速度範囲の下限速度LLに一致させるように動作計画の再作成を行うときに、再作成のやり方によっては動作計画の作成とその最大速度の取得とを反復する必要がある場合がある。
【0034】
以上説明した実施形態によれば、ロボット1の少なくとも1つの軸に関して動作計画でのその軸の最大速度がその軸に関してあらかじめ求められている共振回避速度範囲に含まれる場合に、最大速度が共振回避速度範囲の下限速度以下となるように動作計画の再作成を行うことにより、複雑な演算などを行うことなく、ロボット1における共振の発生を容易に抑制できるようになる。
【0035】
ところでステージにアクセスする搬送用ロボットとしてロボット1を使用する場合、ハンド14の向きはステージへのアクセス方向によって決まってしまうから、図1に示したロボット1は、実質的にはXY座標系でのジョイント点J3の位置が制御されるロボットということになり、ジョイント点J3の位置は2つのモータ21,23の回転位置によって決まるから、冗長な自由度を有しないことになる。冗長な自由度がない場合は、軸ごとの回転可能な角度範囲の制約などのために、作業領域5内にアクセスできない領域すなわちデッドエリアが生じたり、作業領域5を囲む壁面との干渉を避けようとするとステージ間での移動経路が複雑なものになったりすることがある。そこで、自由度を1つ追加した水平多関節型ロボットを考えることができ、そのようなロボットに対しても本発明の一態様の制御方法を適用することができる。以下、本発明の別の実施形態として、追加の自由度すなわち冗長な自由度を有するロボットに対して本発明の一態様の制御方法を適用した場合を説明する。
【0036】
図5に示すロボット2は、追加の自由度を1つ有する水平多関節型ロボットである。ロボット2は、図1に示すロボット1において第1アーム11内に設けられる第1プーリ21a、第2プーリ21b及びベルト21cを取り除き、その代わり、第2アーム12を水平面内で回転させるためのモータ22を第1アーム11内に設けたものである。当然のことながら、モータ22も他のモータ21,23,24と同様にロボット制御装置30によって駆動され制御される。ロボット2では、モータ22を駆動することによって第1アーム11に対する第2アーム12の回転角を任意に制御できるので、ジョイント点J2の移動軌跡は、X方向に延びる直線Qに規制されない。
【0037】
図6は、XY座標系におけるロボット2の姿勢を説明する図である。ジョイント点J0(すなわち基台10に対する第1アーム11の回転中心)をXY座標系の原点とする。図6(a)はロボット2の原点位置を示す平面図である。ロボット2では、その動作の基準となる姿勢である原点位置が定められている。原点位置では、各アーム11~13及びハンド14が折り畳まれており、この折り畳まれたものがY軸方向に延びている。したがって、ジョイント点J2はXY座標系の原点であるジョイント点J0と重なっている。
【0038】
図6(b)は、ステージへのアクセスのためにアーム11~13及びハンド14が開いた状態を示している。ジョイント点J0の周りでの原点姿勢からの第1アーム11の回転角をTH1とする。すなわち角度TH1は、Y軸と第1アーム11とがなすジョイント角である。同様にジョイント点J1の周りでの第1アーム11と第2アーム12とがなすジョイント角をTH2とし、ジョイント点J2の周りでの第2アーム12と第3アーム13とがなすジョイント角をTH3とし、ジョイント点J3の周りでの第3アーム13とハンド14とがなすジョイント角をSjとする。原点位置では角度TH1~TH3,Sjはいずれも0である。ここでXY座標系内でのハンド14の向きは、一般に、ハンド14がアクセスしようとするステージに対するアクセス方向(すなわち、ロード及びアンロードを行う方向)に一致するように制御される。そのため、ワーク50の搬送のために作業領域5内でロボット2を移動させるときは、ジョイント点J3の位置のXY座標値が制御目標となり、移動完了時のジョイント点J3の位置が目標位置となる。なお図6(b)では第3アーム13とハンド14とがなす角度をハンド14の角度Sjとしているが、角度Sjは、ジョイント座標で表されたジョイント角である。
【0039】
ロボット2では、モータ21~23がそれぞれアーム11~13を駆動することによってジョイント点J3の位置すなわちXY座標値を変えることができるが、XY座標値は2次元の値にあるのに対し、モータ21~23によりジョイント角である角度TH1~TH3をそれぞれ独立に変化させることができるから、ロボット2は冗長な自由度を1だけ有することになる。目標位置としてジョイント点J3の位置を与えたとしてそれを実現するためのアーム11~13の姿勢は無数に存在し、どの姿勢に移動するかによって移動時間に大きな差が生じたり、移動中にアーム11~13やハンド14が周囲の物体と干渉したりすることがある。目標位置を与えてそのときの最適な姿勢を拘束条件なしで求めることは、多大な演算量を必要とする。そこでここでは、ジョイント点J3の位置を目標位置としてロボット2を移動させるときに冗長な自由度のために演算量が大きくなることを防ぐために、原点を通る直線である仮想走行軸Pを考え、第2アーム12と第3アーム13との連結点であるジョイント点J2が仮想走行軸P上にある、という条件を付加し、ロボット2の移動の制御を行なう。ロボット2の基準方向であるX軸に対して仮想走行軸Pがなす角度を仮想走行軸角TWとする。仮想走行軸Pとジョイント点J3の位置とが与えられれば、言い換えれば仮想走行軸角TWとジョイント点J3の位置とが与えられれば、以下に説明する左手系及び右手系の違いを除けばロボット2のアーム11~13の姿勢は一意に決まる。すなわち、目標位置であるジョイント点J3のXY座標系での位置と移動終了時の仮想走行軸角TWとを与えることによって、ロボット2の移動を1通りに制御できることになる。ロボットの取り得る姿勢という観点で言えば図1に示したロボット1は、ロボット2において仮想走行軸Pが基準方向であるX軸と常に一致している場合、すなわち仮想走行軸角TWが0°に固定されている場合に相当する。
【0040】
図6(c)及び図6(d)は左手系と右手系の違いを示す図であって、ジョイント点J3の位置(x,y)が同じであるとして、図6(c)は左手系、図6(c)は右手系を示している。左手系と右手系が生じるのは、ジョイント点J3を中心とし、第3アーム13の有効長L3を半径とする円が仮想走行軸Pと交わる点は一般に2つあるからである。ジョイント点J3から仮想走行軸Pに垂線を下し、ジョイント点J3の周りでのこの垂線と第3アーム13とがなす角の角度Hを垂線側から測ったとき、H<0であれば(すなわち垂線の足よりもジョイント点J2の方が右側にあれば)左手系であり、逆に、H≧0であれば右手系である。XY座標系でのハンド14の向きは、第3アーム13の向きによらずにステージに対するアクセス方向によって決まるので、図6(c)及び図6(d)では、ジョイント点J3の周りでX軸の正方向とハンド14とがなす角をハンド14の角度Sとしている。角度Sは、XY座標系で表されたジョイント角である。
【0041】
図6(c)に示される姿勢において第1アーム11及び第2アーム12をそれぞれ仮想走行軸Pに関して対称となる位置に配置した姿勢が図6(e)に示されている。図6(e)に示す姿勢でもジョイント点J2が仮想走行軸P上にあるが、原点からジョイント点J3に向かって見たときにジョイント点J1が仮想走行軸Pの右側にあるか左側にあるかが相違する。このような相違は、左手系及び右手系の相違に分類されるのではなく、X軸方向と仮想走行軸Pとがなす仮想走行軸角TWが図6(c)に示すものと180°異なっていることによる相違として取り扱われる。このような相違を表現するために、仮想走行軸角TWは、-180°<TW≦180°の範囲内で定義される。同様に、図6(d)に示される姿勢において第1アーム11及び第2アーム12をそれぞれ仮想走行軸Pに関して対称となる位置に配置した姿勢が図6(f)に示されており、図6(d)と図6(f)とは仮想走行軸角TWが180°だけ異なっているものとして扱われる。
【0042】
結局、ロボット2を移動前の位置から目標位置にロボット2を移動させるときに、ロボット2の位置としてジョイント点J3の位置(x,y)を使用し、移動前の仮想走行軸角TWと移動後の仮想走行軸角TWとを指定して、ロボット2の各軸のモータ21~24の制御を行なうことができる。なお移動前の仮想走行軸角TWと移動終了後の仮想走行軸角TWとは異なっていてもよく、移動前後で仮想走行軸角TWが異なるときは、移動中に仮想走行軸角TWは変化する。なお実際にロボット2によって一連の搬送操作を行うときは、初期位置として図6(a)に示した原点位置が与えられ、この初期位置からロボット2を順次動かしていく。原点位置ではジョイント点J0とジョイント点J2が重なるので仮想走行軸Pを一意に定めることができないが、原点位置の場合は、仮想走行軸角TWは0°であると定義する。
【0043】
ロボット2をPTP動作で移動させる場合、移動前の位置と目標位置(x,y)と移動前及び移動後の仮想走行軸角TWとが与えられば、モータ21~24にそれぞれ要求される回転量(移動量)が算出され、各軸のモータ21~24が同時に回転を始めて同時に回転を停止するものとして動作計画が作成される。そして少なくとも1つの軸に対して上述した共振回避処理を行い上述と同様に動作計画の再作成を行うことにより、ロボット2における共振の発生を抑制することができる。
【0044】
ロボット2を直線補間動作で移動させる場合も、ある軸に関し動作計画における最大速度V0を求めてその軸の共振回避速度範囲内にあるかどうかを判定し、V0が共振回避速度範囲内にあるときは最大速度V1が共振回避速度範囲の下限速度LL以下となるように動作計画を再生成する。ロボット2では冗長な自由度があるので、注目している軸において当初の動作計画における最大速度V0が共振回避速度範囲内にあったとしても、他の軸を動かすことによって、全軸の速度を一括して低下させなくても注目している軸の最大速度を共振回避速度範囲の下限速度LL以下とするような動作計画を生成することができる。以下、共振の発生を抑制するためのこのような制御について説明する。
【0045】
図7は、ジョイント点J3を移動させるときの始点と終点とを固定し、また所定の加速時間及び減速時間と伴ってハンド14の先端を所定の速度で動かすようにロボット2を駆動したときに、ジョイント点J0の軸を駆動するモータ21の最大速度(角度TH1の変化の速度)が仮想走行軸角TWによってどのように変化するかを示している。速度は、ロボット制御装置30の内部で使用される単位で示されている。ここで共振回避速度範囲の下限速度LLが1000であるとする。すると、2.4°≦TW≦28.9°とすることによって、全体速度を落とすことなくジョイント点J0の軸での最大速度を共振回避速度範囲の下限速度LL以下とすることができることが分かる。全体速度とは、動作計画に基づいて目標位置に到達するときのロボット全体としての速度のことである。通常、ロボット制御装置30では、与えられた動作計画での全体速度を100%として、ティーチングなどに際してロボット全体を低速で動かすために、ロボットの全体速度を0~100%の間で任意に設定する機能が設けられている。ロボットが冗長な自由度を有する場合には、同じ目標位置に達するときに軸の相互間で速度の分配を行うことができるから、全体速度を維持したまま軸相互間での速度の分配率を変えることによって、同じ目標位置に到達するときに特定の軸の速度を低下させることができる。
【0046】
図8は、図7と同じ条件でロボット2を駆動したときの、ジョイント点J0の軸の速度の時間変化を示している。仮想走行軸角TWが0°のときは、全体速度を100%としたときに、移動完了までの時間は5秒であるが、回転の正方向(すなわち速度に正負があるとして正の速度領域)において経過時間が3.4秒付近から4.0秒付近にかけて軸の速度が共振回避速度範囲の下限速度LL以上となっている。仮想走行軸角TWを0°としたまま共振の発生を回避するためには、全体速度を74%まで下げる必要があり、その場合、移動完了までの時間は6秒となって、全体速度が100%のときよりも1秒長くなる。一方、仮想走行軸角TWを2.4°とした場合には、全体速度を100%としたままで、最大速度を共振回避速度範囲の下限速度LL以下とすることができ、移動完了までの時間も5秒のままである。
【0047】
仮想走行軸角TWはロボット2の姿勢に依存するから、移動の開始時の仮想走行軸角TWが全体速度を落とすことなく共振の発生を抑制するのに適した角度でないこともある(例えば図8に示す例でのTW=0°)が、そのような場合であってもロボット2の移動中に仮想走行軸角TWを変化させるような制御を行なうことによって、全体速度を低下させることなく共振の発生を抑制することができるようになる。図9は、直線補間動作による移動中に仮想走行軸角TWを変化させたときのロボット2の姿勢を説明する図である。図9では、移動前においてジョイント点J2がX軸上にあり(すなわちTW=0°)、ジョイント点J3もX軸上にある姿勢から、直線補間動作によってジョイント点J3の位置がある距離だけ-Y方向に移動するようにロボット2を移動させたときのアーム11~13やハンド14の動きを平面図として表している。移動に際し、ハンド14のXY座標系でのジョイント角である角度Sは-90°のままで一定としている。図9において(a)は、仮想走行軸角TWを0°とした場合(図1に示すロボット1と同等の動きをさせた場合)の直線補間動作での動きを順を追って示し、(b)は、図6に示すロボット2において移動後の仮想走行軸角TWを-17°とした場合の直線補間動作での動きを順を追って示している。共振の発生の回避を行わない場合においても、(a)に示すように仮想走行軸角TWを0°に固定した場合に比べ、(b)に示すように移動中に仮想走行軸角TWを0°から変化させた方が移動完了までの時間が短い。共振回避処理を行うことを考えると、仮想走行軸角を固定した場合には全体速度を低下させることによって共振の発生を抑制する必要があって移動完了までの時間が増加するが、仮想走行軸角TWを変化させることができる場合には、移動中に仮想走行軸角を変化させることによって、移動完了までの時間の増加を抑制しつつ共振の発生の抑制を行うことができる。したがって、仮想走行軸角TWを変化させる制御を行なうことにより、仮想走行軸角TWを固定した場合に比べ、共振の発生を抑制しつつ移動完了までの時間を短縮することも可能になる。
【0048】
このように実施形態では、ロボット2が有する冗長な自由度を利用することによって、移動完了までの時間の増加を抑制しつつ共振の発生の抑制を行うことができる。
【符号の説明】
【0049】
1,2…ロボット;5…作業領域;10…基台;11…第1アーム;12…第2アーム;13…第3アーム;14…ハンド;15…昇降筒;16…リンク機構;21~24…モータ;21A…第1プーリ;21B…第2プーリ;21C…ベルト;30…ロボット制御装置;31…ケーブル;32…ペンダント;50…ワーク;51…カセット;52…ワーク処理装置;53…ロードロック室。
図1
図2
図3
図4
図5
図6
図7
図8
図9