ポーズ反転命令POSEINVとポーズの挂け算命令POSEMULは代表的な高級命令である。この2つの命令の原理は複雑だ。ロボットのキネマティックと数列の説明には、その専門ではない多くのユーザーが頭を痛めています。しかし、実際にこの2つの命令をうまく使うには、その原理を理解する必要はありません。ドライバーを使用している人もドライバーに関する力学的知識を理解する必要はありません。
POSEINVとPOSEMULの2つのコマンドの機能は、端的に言えば、各物体間の相対的なポーズ関係を整理するためのものである(ポーズは位置と回転姿勢を含む、つまりX、Y、Z、Rx、Ry、Rz)。矢印を描くことで、物体間の関係をより明確にすることができ、POSEINVとPOSEMULがポーズ関係にどのような影響を与えるかを直感的に理解することができる。
矢印関係を使用したPOSEINVを理解する:
上図中、ロボットの右側の物体座標がO点であると仮定します。ロボットの原点座標をR点に設定します。
上の矢印はO点の位置ポーズがR点の座標系を基準にして示されていることを示している。理解しやすいように、読者はRとOが主従関係であり、R点が主であり、O点が従であると考えることができる。R基準のO点はポーズOrと書くことができる。
OrにPOSEINVを使用すると、矢印関係が上図のように反転し、R点とO点の主従関係が反転したビットポーズが得られます。つまりO点が主となり、R点が従となり、この新しいポーズはRoと書くことができる。
エリットJBIプログラムでは、P 000が本来Orのビット姿勢数値である場合、POSEINV P000はP000の数値をポーズOrからポーズRoに変更します。
簡単に理解:POSEINVは矢印を反転するために使用されます。
矢印関係を使用したPOSEMULを理解する:
上の図にはロボットR、物体A、物体Bがあります。ArはロボットRに対する物体Aのポーズ関係、Baは物体Aに対する物体Bのポーズ関係である。
ポーズの挂け算ArとBa、すなわちAr*Baされると、上図のようにポーズBrが得られる。
簡単に理解:POSEMULは矢印の最初と最後を接続するために使用されます。
エリットJBIプログラムでは、P000がArのポーズ数値であり、P001がBaのポーズ数値である場合、POSEMUL P000 P001はBrのポーズ数値をP000に保存します。
POSEMULを使用する場合の2つのポーズの配置順序に注意してください。前の矢印は数式の前に置いてあります。
実用例:
実際の運用では、通常、POSEINVとPOSEMULを連続的に使用することで複雑な位置関係を整理する必要があります。
上の図はある視覚応用の例である:Rはロボット、Bは標定板、Oはロボットが把持する物体の基準位置、Cは物体の把持点の上に固定されたスマートカメラである。
Brはロボットが通常、何らかの定格法で取得する必要がある標定板のポーズである。
Bcは、カメラが定位点を介して取得した標定板の姿勢である。
通常、上記の2つの標定板のポーズの取得が完了すると、標定板は取り外すことができます。
Ocはティーチング段階に入った後、カメラが写真を撮ることで得られる物体の基準ポーズである。
まずPOSEINV命令でBcをCbに反転します。標定板に対するカメラのポーズを取得する。
さらにPOSEMUL Cb*Ocを通じて、Ob、つまり物体の標定板に対するポーズを得る。
最後に、POSEMUL Br*ObはOrを獲得する。つまり、ロボットに対する物体のポーズです。
通常、このポーズはグリップ位置の教示基準となる。プログラムが実際に実行されると、1ラウンド当たりの搬送物のポーズ偏差はカメラによって計算され、ポーズOc’に即位する。この偏差値も、一連のポーズ関係変換によってロボットにロボットに対する物体のポーズの偏差、すなわちOr’を取得させる。Or’とOrを比較することで、ロボットは現在の物体に必要な把持位置を更新し、搬送タスクを完了する。
まとめ:
初期関係図を描き、ポーズ反転命令とポーズの挂け算命令で関係を整理します。使い方は3つの言葉だけです。
POSEINVは矢印を反転。
POSEMULは矢印に接続。
POSEMULを使用する場合、矢印の前にいるポーズは数式の中で前になります。