ロボットモデルパラメータの検証方法
ソフトウェア内の仮想ロボットの位置姿勢やツール位置姿勢がロボット実機と一致しない場合は、以下の説明を参照して、ロボットモデルパラメータの検証を行ってください。
「一致しない」とは
Kawasaki RS007Nロボットを例として説明します。
以下の例では、メーカーが提供するシミュレーションソフトウェアを使用してロボット実機をシミュレーションしています。 |
-
ティーチペンダントを使用してロボット実機を任意の位置姿勢に移動させ、その関節角度とツール位置姿勢の値を記録します。
-
ロボットモデルライブラリからKawasaki RS007Nを検索し、選択します。
-
ロボット実機の関節角度の数値をソフトウェアに入力すると、仮想ロボットの位置姿勢は下図のようになります。
上記2つの画像で確認できるように、ロボットの位置姿勢に大きな違いがあります。
検証手順
以下の順序で1つずつ確認してください。
-
ロボット座標系の各軸の方向。
-
ロボットの各関節の回転方向。
-
ロボットの各関節の位置姿勢。
-
ロボット座標系の原点位置。
これらの4つの項目は、[robot]_algo.jsonファイルのパラメータで定義されています。
|
ロボットの座標系の各軸の方向
この例では、下図で確認できるように、ロボット実機は自身のロボット座標系のY軸正方向を向いていますが、仮想ロボットは自身の座標系のX軸正方向を向いています。
ロボット実機 |
仮想ロボット |
もし、現在検証しているロボットの座標系の各軸の方向が一致している場合は、この部分をスキップしてください。 |
この場合、仮想ロボットの座標系をZ軸を中心に-90°回転させる必要があります。詳細な手順は以下の通りです。
-
kawasaki_RS007N_algoファイル内の robot_frame_in_robot_base_frame パラメータ値を[0,0,0,0,0,-90]に変更して保存します。
-
リソースツリーのロボット名を右クリックし、表示されるメニューから ロボットを再度読み込む をクリックします。
-
ロボット実機の関節角度の数値を再度ソフトウェアに入力し、ロボットの位置姿勢を比較します。
ロボット実機
仮想ロボット
ロボットの各関節の回転方向
ティーチペンダントとソフトウェアで各関節角度の数値を調整し、ロボット実機と仮想ロボットの関節の回転方向を比較します。
ロボット実機 |
仮想ロボット |
もし、現在検証しているロボットの各関節の回転方向が一致している場合は、この部分をスキップしてください。 |
この例では、J3の回転方向が逆であるため、修正する必要があります。詳細な手順は以下の通りです。
-
kawasaki_RS007N_algoファイル内の axis_flip パラメータ値を「100010」から「101010」に変更して保存します。
0を1に、または1を0に変更すると、対応する関節の回転方向が反転されます。 -
リソースツリーのロボット名を右クリックし、表示されるメニューから ロボットを再度読み込む をクリックします。
-
ロボットの各関節をそれぞれ回転して、ロボット実機と仮想ロボットの回転方向を比較します。
ロボットの各関節の位置姿勢
ロボットの各関節の回転方向が正しく調整されたら、再びロボット実機の関節角度の数値をソフトウェアに入力し、両者の差を比較します。
ロボット実機 |
仮想ロボット |
もし、現在検証しているロボットの各関節の位置姿勢が一致している場合は、この部分をスキップしてください。 |
ロボットの位置姿勢からJ6は180°異なるので、修正する必要があります。詳細な手順は以下の通りです。
-
kawasaki_RS007N_algoファイル内の mastering_joints パラメータ値を[ 0, 0, 90, 0, 0, -90 ]から[ 0, 0, 90, 0, 0, 90 ]に変更して保存します。
-
リソースツリーのロボット名を右クリックし、表示されるメニューから ロボットを再度読み込む をクリックします。
ロボット実機の関節角度の数値を再度ソフトウェアに入力し、ロボットの位置姿勢を比較します。
ロボット実機 |
仮想ロボット |
ロボット座標系の原点位置
ロボット座標系の原点位置を検証する前に、ソフトウェアとロボット実機のすべてのロボットハンドの設定をクリアしていることを確認してください。
同じ関節角度の状態でのツールの位置姿勢を比較します。
ロボット実機のツール位置姿勢 |
仮想ロボットのツール位置姿勢 |
もし、現在検証しているロボット座標系の原点位置が一致している場合は、この部分をスキップしてください。 |
上記の画像とdhパラメータ図で確認できるように、ツールの位置姿勢のZ値が360mm異なり、dh1の値が360であり、ロボット実機の座標系はその底部ではなく、2軸の回転軸の位置にあります。
そのため、修正する必要があります。詳細な手順は以下の通りです。
-
kawasaki_RS007N_algoファイル内の robot_frame_in_robot_base_frame パラメータ値を[0,0,0.36,0,0,-90]に変更して保存します。
-
リソースツリーのロボット名を右クリックし、表示されるメニューから ロボットを再度読み込む をクリックします。
-
ロボット実機の関節角度の数値を再度ソフトウェアに入力し、ロボットの位置姿勢を比較します。
ロボット実機 |
仮想ロボット |