(58)【調査した分野】(Int.Cl.,DB名)
前記ロボットアーム(4)の各運動制御軸は、前記ロボットアームの端部を動かす直交座標軸(X,Y,Z)又は対応する回転(Rx,Ry,Rz)に対応することを特徴とする請求項1に記載の制御する方法。
【発明の概要】
【発明が解決しようとする課題】
【0006】
自動化作業セルを制御し、コントロールセンタのプログラミングを簡略化し、種々の軸制御装置との通信速度を改善し、ロボットの制御の精度を改善する新規な方法を提案することによって本発明が是正しようとするのは、これらの欠点である。
【課題を解決するための手段】
【0007】
そのために、本発明は、自動化作業セルを制御する方法に関し、自動化作業セルは、いくつかの制御軸にしたがって制御される少なくとも3自由度を有する少なくとも1つのロボットアームと、コントロールセンタと、ロボットアームを制御するデバイスであって、ロボットアームの少なくとも一部を操縦することができるモータの機能をそれぞれが制御するいくつかのモータ制御器を含む、デバイスと、コントロールセンタとロボットアームの制御装置との間で通信するためのバスとを含む。本方法は
:
自動化作業セル(2)を制御する方法であって、当該制御する方法が:
幾つかの運動制御軸(A1〜A6;X,Y,Z,Rx,Ry,Rz)にしたがって制御される、少なくとも3自由度を有する少なくとも1つのロボットアーム(4)と、
プログラムに基づいて前記運動制御軸に応じて前記ロボットアームを制御するための命令(C1i)を生成して送信するために適合されたコントロールセンタ(8)と、
前記コントロールセンタ(8)によって送信された前記命令に基づいて、それぞれのモータ制御器(61〜66)が、前記ロボットアーム(4)の少なくとも一部を操縦できるモータ(M1〜M6)の機能を制御し、当該幾つかのモータ制御器(61〜66)を有する、前記ロボットアーム(4)を制御する制御装置(6)と、
前記コントロールセンタ(8)と前記ロボットアーム(4)の前記制御装置との間で通信するためのバス(14)とを有する当該制御する方法において、
a)命令を受信し、当該命令にしたがって少なくとも1つのモータを制御すると仮定される仮想軸制御装置を、前記ロボットアーム(4)の各運動制御軸(A1〜A6;X,Y,Z,Rx,Ry,Rz)に関連付けることから成るステップと、
b)前記コントロールセンタ(8)で、前記ロボットアーム(4)の各運動制御軸(A1〜A6;X,Y,Z,Rx,Ry,Rz)に対して、これらの軸の各々に対応する前記仮想軸制御装置のために意図された前記命令(C1i)を決定することから成るステップと、
c)ステップb)で決定された前記命令(C1i)を、前記ロボットアーム(4)を制御する前記制御装置(6)に属する単一の演算器(10)に送信することから成るステップとを有することを特徴とする。
【0008】
ロボットアームの制御は、運動制御軸、すなわち、ロボットアームの端部の運動を表すことを可能にする長さ又は角度などの幾何学的量の特定に基づく。
【0009】
本発明によれば、コントロールセンタのプログラマは、ロボットアームの運動を制御する軸のそれぞれを、ロボットアームの一部を形成しない別のモータの軸制御装置の場合と同様な方法でコントロールセンタが通信する独立した軸として考えうる。ロボットの制御装置内に演算器が存在することは、コントロールセンタのプログラミングを簡略化する。その理由は、コントロールセンタが、各ロボットに特有のデータを組込む必要がなく、また、モータ制御器のそれぞれとの通信を管理する必要がないからである。
【0010】
第1の可能性によれば、ロボットアームの各運動制御軸は、ロボットアームの自由度に対応する。そして、演算器のプログラマは、トランスミッションの運動力学的モデルの知識を持つ必要がない。
【0011】
第2の可能性によれば、ロボットアームの各運動制御軸は、ロボットアームの端部を動かす直交座標軸又は対応する回転に対応する。そして、コントロールセンタのプログラマは、ロボットアームの逆幾何学的モデルの知識を必要としない。このモデルは、ロボットアーム制御装置に属する演算器において適用される。プログラマは、コントロールセンタによって使用される逆運動力学的モデルを更新する必要なく、ロボットアームタイプを変更することを予想しうる。
【0012】
本発明の必須ではないが有利な特徴によれば、こうした制御方法は、技術的に許容可能な任意の組合せで考えられる以下の特徴の1つ又は複数を組込むことができる。すなわち、
−方法は、d)演算器において、かつ、コントロールセンタから受信される命令から、各モータ制御器によって制御されるモータに対しての命令を決定する補助ステップと、c)このモータ制御器によって制御されるモータに対して、ステップd)にて決定された指令を各モータ制御器に送信する補助ステップとを含む。
【0013】
ロボットのモータのそれぞれに対しての運動指令の計算を含む命令の決定が、コントロールセンタによって送出される全ての命令を考慮して、ロボットの制御装置に属する演算器において行われるため、ロボット及びロボット作業セルの機能を最適化することが可能である。さらに、演算器は、ロボットアームの特異性によって課される処理オペレーションを使用する。したがって、演算器は、ロボットエンジニアのノウハウの一部を形成する精巧な停止又は開始プロシージャを組込む必要性を、コントロールセンタのプログラマに省かせる。
−方法は、f)各モータ制御器から演算器へ、各モータ制御器が制御するモータの位置を送信する補助ステップと、g)演算器において、かつ、モータの全ての位置に基づいて、ロボットアームの運動制御軸のそれぞれの位置を計算する補助ステップと、h)ステップg)にて計算された制御軸のそれぞれの位置をコントロールセンタに送信する補助ステップとを含む。
−方法は、i)演算器において、かつ、モータの全ての位置に基づいて、特徴点の直交座標系速度を計算する補助ステップと、j)計算された直交座標系速度を閾値と比較する補助ステップと、k)直交座標系速度が閾値より大きい場合、警報信号を演算器からコントロールセンタへ送信する補助ステップとを含む。
−有利には、演算器は、ロボットアームの予想される運動に応じてロボットアームの運動制御軸の位置を補正するために、モータの位置の測定時間及びロボットアームの制御軸のそれぞれの位置のコントロールセンタへの送信時間を、ステップg)の計算において考慮する。
−ステップd)にて、コントロールセンタによって送出される命令に応じるために、各モータに対しての達成される位置を含む運動指令が計算される。
−ステップd)にて、各モータに対しての運動指令の計算は、コントロールセンタによって送出される命令に基づいて、各モータに対して供給されるトルクの予測を伴う。
−コントロールセンタによって送出される命令は、少なくとも1つの運動制御軸に対して移送される負荷に関する情報を含む。
−コントロールセンタによって送出される命令に応じるために、各モータに対しての達成される位置は、トルク予測の少なくとも一部から計算されるロボットアームの変形に対しての補償を含む。
−方法は、l)ロボットのパワーアップ状態を表す信号をコントロールセンタに送信するステップを含み、パワーアップ状態において、ロボットは、全てのモータがパワーアップされるか、又は、パワーダウンされかつ制動される場合にだけ、いつでも機能できる、又は、パワーダウンされる、とそれぞれ宣言される。
−方法は、m)ロボットの全ての部分が機能する状態を表す信号を、演算器からコントロールセンタへ送信するステップを含み、機能する状態において、ロボットの全ての部分は、これらの部分の少なくとも1つが機能していないとして検出される場合、不良であると宣言される。
−バスは、同期通信モードをサポートする。
−バスは、SERCOSタイプのインタフェースモデル上で機能する。
−コントロールセンタは、「プロファイルドライブ」ハードウェアプロファイルのコマンドを使用して、ロボットアームの運動制御軸に関連付けられた仮想軸制御装置と通信する。「プロファイルドライブ」ハードウェアプロファイルに関連付けられるこれらの標準的なコマンドは、孤立した軸制御装置をプログラムするために広く使用される。プログラマは、自動化作業セルのロボットアームを使用するための特定のコマンドを開発又は使用する必要がない。
【0014】
実施例によって与えられるだけであり、かつ、添付図面を参照して行われる、本発明の原理にしたがって自動化作業セルを制御する方法の以下の説明を考慮して、本発明がよりよく理解され、また、本発明の他の利点がより明確に現れるであろう。
【発明を実施するための形態】
【0016】
図1に示すように、自動化作業セル2は、ロボットアーム4と、ロボットアーム4を制御するデバイス6と、コントロールセンタ8と、部分的に示される2つの電気アクチュエータとを備える。ロボットアーム4は、本明細書では、A1〜A6と呼ばれる6軸を有するロボットアームからなる。用語「軸(axis)」は、本明細書では、ロボットの意味で使用される、すなわち、自由度に関する。本事例では、自由度又は軸A1〜A6は回転である。
【0017】
ロボットを制御するデバイス6は、ロボットアーム4の近くに設置され、6個のモータ制御器61〜66を備える。これらのモータ制御器61〜66はそれぞれ、ロボットアーム4の一部を操縦することができるモータM1〜M6の機能を制御することができる。
【0018】
モータM1の作動は、他のいずれの軸もそれ自体に関して転回することなく、軸A1とロボットアーム4の可動端との間に位置するロボットアーム4の部分の全体的な回転を可能にする。同様に、モータM2、M3、M4、及びM6の作動は、軸A2、A3、A4、及びA6の孤立した回転をそれぞれ可能にする。一方、モータM5の作動は、軸A5及びA6の回転をもたらす。軸A5とA6との間の結合が存在し、軸A5の孤立した回転は、モータM5及びM6の作動を必要とする。モータM1〜M6はそれぞれ、モータシャフトの角度位置を測定し、この位置に関する情報を含む電気信号S
12i(iは1と6との間の整数)を送出するための、モータシャフト上に設置されたコーダ12を装備する。2つの電気アクチュエータはそれぞれ、モータM21及びM22によって操縦され、これらのモータはそれぞれ、軸制御装置121及び122によってそれぞれ制御され、かつ、位置信号S
1221又はS
1222を送出するコーダ12に関連付けられる。
【0019】
図2に概略的に示すように、コントロールセンタ8は、たとえばロボットアーム4の運動を必要とする物体の組立てなどの精密なアクション、及び、モータM21及びM22によって操縦される電気アクチュエータを備えるグリッパ又はコンベアのオプションのアクションを実施するために、ユーザによって生成されるプログラム30によって自動化作業セル2の機能を制御する。たとえば、こうしたプログラムは、ロボットアーム4の端部によって到達される一連の直交座標を含むことができる。
【0020】
変形形態では、アクションは、ユーザ又は自動化作業セル2のプログラマにとってアクセス可能な固定の又は可搬型の制御パネル32からユーザによってリアルタイムに決定されうる。
【0021】
コントロールセンタ8は、好ましくはSERCOSIIIシリーズ・リアルタイム・インタフェース上で機能するフィールドバス14によって制御装置6と通信する。コントロールセンタ8は「マスタ(master)」であり、一方、制御装置6は「スレーブ(slave)」である。
【0022】
制御装置6は、フィールドバス14によってコントロールセンタ8と通信するのに専用である通信カード60を備える。
【0023】
制御装置6はまた、演算器10を備え、演算器10の機能は、運動又はパワーアップ指令などの命令を生成し、モータ制御器61〜66に送信することである。演算器10は、特にこの目的のために、マイクロプロセッサ及びメモリを備える。演算器10は、モータ制御器61〜66のそれぞれと通信することができる。こうして、モータ制御器61〜66とコントロールセンタ8との間の各データ伝送は、モータ制御器からコントロールセンタへとコントロールセンタからモータ制御器への両方で、演算器10によって管理される。
【0024】
ロボットアーム4の制御軸は、ロボットアーム4の自由度に対応する軸A1〜A6であるように選択される。
【0025】
SERCOSIIIインタフェーシングモデルに特有の初期化フェーズ中に、ロボットアーム4の各軸A1〜A6が仮想軸制御装置に関連付けされるように、通信が規定される。これらの仮想軸制御装置は、汎用軸制御装置と同様な方法でコントロールセンタ8から命令を受信し、これらの命令に基づいて少なくとも1つのモータを制御するとみなされる。これらの仮想軸制御装置は、構成、制御、状態及び位置の問い掛け、診断及び監督(supervision)用のコマンドのセットを規定する「プロファイルドライブ(profile drive)」ハードウェアプロファイルに従うと宣言される。「プロファイルドライブ」ハードウェアプロファイルに関連するコマンドに基づいてコントロールセンタ8によって生成され、仮想軸制御装置によって使用可能な命令は、演算器10によって受信される。各仮想軸制御装置は、ロボットアーム4の外部のアクチュエータを制御し、かつ、自動化作業セル2内に存在する2つの軸制御装置121及び122と同じ方法でアドレスを割当てられる。
【0026】
本発明による制御方法は、自動化作業セル2のロボットアームが動作する前に、ロボットアーム4の全てのモータのパワーアップフェーズに適用される。このパワーアップは、コントロールセンタ8によって始動され、コントロールセンタ8は、軸A1〜A6のそれぞれをパワーアップするための、命令C
0i(iは1と6との間である)を含む1つ又は複数のマスタデータテレグラムを、バス14を通じて送出する。制御装置6の通信カード60は、これらのテレグラムを取込む。通信カード60は、その後、演算器10に割り込み要求を送出し、割り込み要求は、これらのテレグラムを回復させ、ロボットアーム4の軸A1〜A6のそれぞれに対してテレグラムから命令C
0iを抽出し、命令の処理を続行する。SERCOSIIIインタフェーシングプロトコルは、バス14に接続されるデバイスのそれぞれが、マスタデータテレグラム内でそれぞれに関するデータのロケーションで命令されることを可能にする。演算器10は、パワーアップ命令を記録し、応答テレグラムをコントロールセンタ8に送出し、応答テレグラムにおいて、命令が関連する軸がパワーアップされる、と宣言される。コントロールセンタ8によって送出される最後のパワーアップ命令が受信されるまで、モータは、実際にはパワーアップされず、制動が解除される。各モータM1〜M6に対してのパワーアップ命令O
2i(iは1と6との間である)は、演算器10によって各モータ制御器61〜66に送出される。全てのモータがパワーアップされ、モータM1〜M6のそれぞれがパワーアップされているという情報を、演算器10がモータ制御器61〜66から受信したとき、最後の軸がいつでも機能できることをコントロールセンタ8に示すテレグラムT
0は、カード60を通して演算器10によって送出される。
【0027】
コントロールセンタ8のプログラマの場合、ロボットアーム4の軸A1〜A6のモータM1〜M6に対してのパワーアップ指令は、自動化作業セル2で使用される他のモータM21及びM22に対してのパワーアップ指令と同様である。その理由は、ロボットアーム4の軸及び他の2つの軸は、「プロファイルドライブ」ハードウェアプロファイルに従うものとしてコントロールセンタ8が知っているからである。種々のモータのパワーアップを管理するために、演算器10が、ロボットアーム4の軸A1〜A6のそれぞれに対して意図される全ての命令を考慮するため、コントロールセンタ8のプログラミングが簡略化される。
【0028】
自動化作業セル2が、自動化するプロセスを実装すると、コントロールセンタ8は、ロボットが実行しなければならない運動指令を含むオペレーティングプログラム30を実行する。各通信サイクルにおいて、ロボットアーム4の仮想軸制御装置に関連付けされる各軸A1〜A6に対しての運動命令C
1i(iは1と6と間である)は、経路発生器34によって計算され、経路発生器34は、ロボットアーム4の運動指令が、ロボットアーム4の端部の運動の直交座標を表すとき、逆幾何学的モデル36を使用する。SERCOSIIIインタフェーシングプロトコルによれば、規定される各通信サイクルに対して、全ての軸運動命令C
1iは、マスタデータテレグラムT
1(C
1i)の形態でバスを通じて送出される。通信カード60は、このテレグラムを受信する。通信カード60は、その後、演算器10に割り込み要求を送出し、割り込み要求は、テレグラムを回復させ、テレグラムから軸運動命令C
1iを抽出し、命令の処理を続行する。
【0029】
この処理中に、演算器10は、モータ制御器61〜66によって制御されるモータM1〜M6のそれぞれに対して運動指令O
1i(iは1と6と間である)を計算する。モータのそれぞれに対しての運動指令O
1iは、トランスミッションの運動力学的モデル38を適用することによって、コントロールセンタ8からやって来る受信される全ての命令C
1iから計算される。これらの指令は、モータによって達成される位置を含む。計算は、その後、軸A5と軸A6との間に存在する結合を考慮し、軸A5の運動は、モータM5及びM6の使用を必要とする。各モータに対しての運動指令O
1iの計算は、モータとロボット回転軸との間の低減比(reduction ratio)を考慮する。
【0030】
各モータM1〜M6に対しての運動指令O
1iは、モータフェーズに対する供給電流を決定し調節することに関与する、モータのそれぞれのモータ制御器61〜66に送信される。
【0031】
各モータのシャフトの角度位置は、各モータのシャフト上に設置されたコーダ12によって検出される。信号S
121〜S
126の形態で各モータ制御器に送信されるこの情報は、モータフェーズの供給電流をスレービングする48ことを可能にする。
【0032】
演算器10はまた、モータ制御器61〜66との接続を通して、ロボットアーム4の各モータのシャフトの角度位置を有し、トランスミッションの逆運動力学的モデル40を適用することによって、ロボットアーム4の軸A1〜A6の周りに回転可能な部分の角度位置P
i(iは1と6と間である)を計算する。軸A5とA6との結合のために、モータM5及びM6のシャフトの角度位置は、軸A6の角度位置P
6を決定するときに作用する。演算器10はまた、測定から、ロボットの軸の周りで可動の部分の回転速度、これらの運動によって供給されるトルク、又は任意の他の有用なデータを計算する。
【0033】
その結果、また、SERCOSIII通信プロトコルにしたがって、各同期通信サイクルにおいて、ロボットの演算器10は、ロボットアーム4の軸の角度位置P
iを含むデータテレグラムT’
1を生成し、データテレグラムT’
1を、通信カード60を通してコントロールセンタ8に送信する。この情報は、その後、自動化作業セル2の機能を左右するプログラム30によって使用されうる。コントロールセンタ8は、直接幾何学的モデル42を適用して、たとえばロボットアーム4の端部の直交座標系位置P
cを得、直交座標系位置P
cが、その後、制御パネル32上に表示されうる。
【0034】
演算器10は、ロボットアーム4の軸A1〜A6の周りに回転可能な部分の角度位置P
i(iは1と6と間である)から、たとえばロボットアーム4の端部のツールクランプ400上にある少なくとも1つの特徴点Bの直交座標系位置を計算し、その直交座標系位置から、この特徴点の直交座標系速度V(B)を導出しうる。予め規定された閾値との比較が演算器10にて行われる。この特徴点Bの直交座標系速度V(B)がこの閾値より大きい場合、演算器10は、停止コマンドを全てのモータ制御器61〜66に送出し、エラーを示すテレグラムをコントロールセンタ8に送出する。
【0035】
変形形態では、演算器10は、ロボットアーム4の仮想軸制御装置に関連付けされる各軸A1〜A6に対して、運動命令C
1i(iは1と6と間である)から、特徴点の直交座標系速度V(B)を計算する。
【0036】
ロボットアーム4の挙動は、重力又は慣性力によって関節に加えられるトルクF
i(iは1と6と間である)の予測を、各モータのスレービング(slaving)が考慮する場合、実質的に改善される。動的モデル44を使用するこのトルク予測F
iは、演算器10においてロボットアーム4の各モータに対して確立される。動的モデルは、各軸の運動命令C
1iの知識に基づいており、ロボットアーム4の各部分において必要とされる加速度を評価することを可能にする。ロボットアーム4の構造のせいで、ロボットアーム4の各モータのシャフトにかかるトルクF
iの予測は、全ての軸A1〜A6の運動命令C
1iを考慮しなければならない。トルク予測F
iは、確立されると、モータのデータ又は「定数(constant)」46を適用することによって電流命令に変換され、モータフェーズ供給電流のための制御ループ50への入力として組込まれるために、モータ制御器61〜66に送信される。
【0037】
変形形態によれば、各関節において供給されるトルクF
iの予測の計算もまた、ロボットアーム4の軸の角度位置P
iを使用しうる。
【0038】
関節に加えられるトルクF
i(iは1と6と間である)の予測は、ロボットアーム4によって移送される負荷を考慮するため、なお一層精密になる。各負荷は、質量、その重心の位置、及びその慣性行列を特徴とするが、同様に負荷がアタッチ(attach)される自由度も特徴とする。コントロールセンタ8のプログラマは、ロボットアーム4の各運動制御軸に関して移送される負荷を宣言しうる。たとえば、ツールクランプ400にて移送される負荷の場合、プログラマは、制御軸A6に専用のコマンドを通して負荷を宣言することになる。フロントアーム402にて移送される負荷の場合、プログラマは、制御軸A4に専用のコマンドを通して負荷を宣言することになる。移送される負荷のこれらの宣言は、非同期的に、すなわち、コントロールセンタ8と演算器10との間のサイクリック通信の外で行われうる。これらの宣言はまた、同期的に行われることができ、そのことが、コントロールセンタ8によって送出される各コマンドで移送される負荷を変更し、負荷を解除し別の運動に取りかかる前に、ロボットアームがその間に負荷を把持し移送することになる運動のシーケンスにロボットアーム4の制御を適合させることを可能にする。
【0039】
本発明による方法は、コントロールセンタ8の形成を簡略化するために、移送される負荷が、演算器10において考慮されることを可能にする。
【0040】
本発明による方法はまた、負荷の影響下でのロボットアームの変形を考慮して、ロボットアーム4の端部に設置される、図示しないツールの経路の精度の改善をもたらす。これらの変形は、アームなどの構造要素あるいはベルト又はギアなどのトランスミッション要素の可撓性から生じる可能性がある。各軸の運動命令から、動的モデル44は、重力及び慣性力によって関節に加えられる各トルクF
i(iは1と6と間である)を予測する。これらのトルクF
iは、ロボットアーム4に特有の可撓性行列を適用することによって、変形による関節偏差Δi(iは1と6と間である)を得ることを可能にする。関節偏差Δiは、ロボットアーム4の変形の補償を提供することを可能にし、その後、各軸の運動命令に付加され、したがって、モータ制御器61〜66によって制御されるモータM1〜M6のそれぞれに対しての運動命令O
1i(iは1と6と間である)の計算において考慮される。
【0041】
これらの関節偏差Δiはまた、ロボットアーム4の軸A1〜A6の周りで可動の部分の角度位置P
i(iは1と6と間である)から減算される。関節偏差Δiは、ロボットアーム4の各モータのシャフトの角度位置に逆運動力学的トランスミッションモデル40を適用することから生じる。
【0042】
変形形態では、関節偏差Δiの計算は、重力、すなわち静的力に対応するトルクF
iの一部だけを考慮しながら、確立されうる。
【0043】
本発明による方法はまた、ロボットの部分のそれぞれの機能の欠陥を考慮する。ロボットアーム4の制御装置6の演算器10は、全てのモータ制御器61〜66の機能を監督する。演算器10は、モータ制御器61〜66、モータM1〜M6、又はコーダ12における機能の欠陥を検出するソフトウェアを使用する。モータの故障が起こる場合、演算器10は、ロボットアーム4の全ての他のモータを停止し、問題のモータによってその回転が通常許可される軸が故障していると宣言されるだけでなく、ロボットアーム4の全ての軸が故障していると宣言されるデータテレグラムT
2の送出を、コントロールセンタ8に要求する。換言すれば、ロボットアーム4の軸のうちの1つの軸上の運転中の欠陥は、ロボットアーム全体が機能することが不可能であるという宣言をもたらす。この情報は、コントロールセンタ8に送出される。
【0044】
コントロールセンタ8は、ロボットの全ての軸のデコミッショニング(decommissioning)を管理する必要がないため、そのプログラミングが簡略化される。これは、各モータコントロール61〜66とコントロールセンタ8との間の通信を回避し、欠陥の処理を加速させ、ロボットアーム4のセキュリティを改善する。
【0045】
たった今述べたように、演算器10は、軸A1〜A6のうちの1つの軸に関して故障が起こる場合、ロボットアーム4の挙動のコヒーレンスを提供する。同じことは、ロボットアーム4の軸のうちの1つの軸がパワーダウンするとき当てはまる。モータM1〜M6のそれぞれが、その時、必ずパワーダウンされなければならない。さらに、安全性のために、モータのパワーダウンは、モータの回転を停止させる制動の適用が先行しなければならない。コントロールセンタ8からやって来るロボットアーム4をパワーダウンさせる命令は、演算器10によってモータ制御器のそれぞれに適用される。ロボットアーム4の軸A
i(iは1と6と間である)のうちの1つの軸をパワーダウンさせる命令が、演算器10によって検出されるとすぐに、この命令は、ロボットアーム4の全てのモータM1〜M6に一般化される。演算器10は、その後、モータM1〜M6をパワーダウンさせる命令O’
i(iは1と6と間である)を各モータ制御器61〜66に送出する。電流が実際に遮断されると、演算器10は、ロボットアーム4のモータのそれぞれのシャフトが、事故を防止するために実際に制動されていることをチェックする。全てのチェックが行われると、演算器10は、ロボットアーム4の全ての軸A
i(iは1と6と間である)がパワーダウンされたことを指定するテレグラムT
3をコントロールセンタ8に送出する。
【0046】
本発明の方法は、コントロールセンタ8によって管理される運動の同期を改善する。本発明の方法は、コントロールセンタ8がサーバであるクライアント−サーバ通信モデルによる。バス14は、同期通信モードをもたらす。コントロールセンタ8とロボットアーム4の制御装置6との間のバス14による通信は、制御されるモータ制御器などのデバイスの数に適応する、通信周波数と呼ばれる周波数で起こる。
【0047】
演算器10は、通信周波数より高い制御周波数と呼ばれる周波数で機能する。
【0048】
モータ制御器61〜66で実施されるスレービングは、制御周波数より高いスレービング周波数と呼ばれる周波数で行われる。したがって、補間の計算が、演算器10のモータに対しての運動指令O
1iのモータ制御器への各送信の間に必要である。これらの計算は、各モータ制御器61〜66において行われる。
【0049】
コントロールセンタ8によって使用される自動化作業セル2のオペレーティングプログラムは、命令C
1iを生成し、ロボットアーム4の軸の角度位置P
iの知識を必要とする。命令C
1iの各送信において、コントロールセンタ8は、ロボットアーム4の軸のそれぞれの角度位置を要求する。演算器10は、コーダ12によって各モータのシャフトの位置が利用可能である。シャフトの位置は、モータ制御器61〜66から演算器10にやって来て、演算器10が、トランスミッションの逆運動力学的モデル40を適用することによってロボットアーム4の軸の角度位置P
iを計算することを可能にする。これらのオペレーション及びデータ伝送は、演算器10とコントロールセンタ8を脱同期化させ易い遅延を生成する。こうした脱同期化を回避するために、演算器10は、モータ制御器61〜66からやって来る角度位置情報のタイミングをとる。したがって、コーダ12によって検出されるモータシャフトの角度位置の各測定は、測定時間に関連付けられる。バス14による通信が同期タイプであるため、演算器10は、コントロールセンタ8の要求に応じてロボットアーム4の軸の角度位置の値P
iをいつ送出しなければならないかをわかっている。それらの値は、その後、測定時間に応じて、測定の瞬間におけるロボットアーム4の予想される運動、及び測定時間とコントロールセンタ8への送信時間とを分離する時間間隔にしたがって補正される。演算器10は同期化を実施する。
【0050】
変形形態では、本発明による制御方法は、非同期通信モードを保持するバスを使用しうる。
【0051】
別の変形形態では、本発明による方法は、CANopenアプリケーション層を統合するCAN(コントローラ・エリア・ネットワーク(controller area network))バスを実装されうる。CANバスはまた、Powerlink及びEtherCAT通信プロトコルに適合する。
【0052】
別の変形形態によれば、ロボットアーム4の運動制御軸は、ロボットアーム4の軸A1〜A6の代わりに、直交座標系軸X、Y、Z及び対応する回転Rx、Ry、Rzであるとして選択される。コントロールセンタ8のプログラマは、その後、ロボットアーム4の端部の必要とされる運動を、3つの方向X、Y、及びZ、ならびに、軸X、Y、及びZの周りの回転Rx、Ry、及びRzによるロボットアーム4の端部の配向で表す。この場合、コントロールセンタ8は、到達される直交座標系位置をロボットアーム4の制御装置6に送信する。これは、制御されるロボットに特有の特徴をコントロールセンタ8に含む必要がないため、コントロールセンタ8のプログラミングを簡略化する。演算器10は、ロボットアーム4の逆幾何学的モデルを組込み、そのモデルを使用して、モータ制御器61〜66のために意図される運動命令を決定する。同様に、演算器10は、直接幾何学的モデルを組込み使用する。直接幾何学的モデルは、コントロールセンタ8に送信する前に、ロボットアーム4の各モータのシャフトの角度位置から、運動制御軸X、Y、Zの位置及び対応する回転Rx、Ry、Rzを計算することを可能にする。
【0053】
本発明は、6自由度を有するロボットの使用に限定されず、たとえば7自由度を有するロボットに適用できる。この場合、プログラマは、有利には、運動制御軸として、ロボットアームの端部の運動の直交座標軸X、Y、Z及び対応する回転Rx、Ry、Rzを選択しうる。ロボットアームの制御装置の演算器は、冗長性を解決するために精巧な逆幾何学的モデルを使用することになる。
【0054】
本発明は、通信カード60、演算器10、及びモータ制御器61〜66を備えるロボット用の制御装置6に関して述べた。演算器10は、コントロールセンタ8からやって来る情報を処理することができ、モータ制御器61〜66のために意図される運動命令を生成する。これらのモータ制御器61〜66は、軸制御装置121及び122などの通常の軸制御装置と機能的に同じである。モータ制御器61〜66は、位置命令を受信し、電気アクチュエータのフェーズに供給する電流のスレービング制御(slaved control)を提供する。しかし、本発明はまた、図示しない電力カードのために意図される電流命令を直接生成することが可能な演算器を使用する構造に適用できる。これらの電力カードは、1つ又は複数の電気アクチュエータのフェーズに流れる電流を制御することができる。本発明は、ロボットアーム4の制御装置6の構造によって制限されない。
【0055】
本発明の変形形態によれば、モータ制御器によって制御されるモータM1〜M6のそれぞれに対しての指令は、コントロールセンタ8から受信される、全てではなくいくつかの命令C
1i(iは1と6との間である)から決定される。