====== pybulletの6関節アーム ====== 図のような6関節アームをpybullet上で作成した. 関節構造は[[articles:forward_kinematics#6自由度アームの順運動学]]のものと同じである. ハンドについているグレーの直方体はハンドに付けられたシミュレータ上のカメラの位置を表している. 形状はrealsenseのd435などを模しており,視線は手先方向になっている. [{{works:pb_arm6dof01.png?500|図1 6関節アーム}}] ===== 速度台形則動作 ===== ==== 関節角空間での速度台形則動作 ==== 動画のように関節角空間での速度台形則動作をさせた. 空間軌道は,第1軸の旋回動作による円弧形状がよくわかるものとなっている. |{{works:pb_move_joints.mp4?300x300|動画1 関節角動作}}|[{{works:pb_move_joints_3d.png?300|図2.3 空間軌道}}]| | 動画1 関節各動作 || 各関節が最大速度を超えず,また同時に停止するように時間軌道をデザインしている. | [{{works:pb_move_joints_pos.png?300|図2.1 関節角度}}] | [{{works:pb_move_joints_vel.png?300|図2.2 関節角速度}}]| ==== 3次元座標系(並進,回転)での速度台形則動作 ==== 3次元座標系で手先座標系に対して速度台形則を適用した動作をさせている. 空間軌道を見ても手先位置が直線的に変化していることがわかる. 図の視点を変えると1点に見えており,精度の良い直線になっていることがわかる. 座標の回転に関しては1軸回りの回転を行っているので回転角度のみをグラフに表示している. |{{works:pb_move_hand.mp4?300x300|動画2 手先座標動作}}|[{{works:pb_move_hand_3d_1.png?300|図3.5 空間軌道}}]|[{{works:pb_move_hand_3d_2a.png?300|図3.6 空間軌道}}]| | 動画2 手先座標動作 | | | 手先の速度および回転速度がきれいな台形になっていない. この原因は,関節角速度の上限になる関節が発生したので,安全のため速度に制限がかかったからである. そのような場合でも,先に示したように空間軌道は定めたとおりに動作している. | [{{works:pb_move_hand_pos.png?300|図3.1 手先速度}}] | [{{works:pb_move_hand_vel.png?300|図3.2 手先速度 }}]| | [{{works:pb_move_hand_j_pos.png?300|図3.3 関節角速度}}] | [{{works:pb_move_hand_j_ vel.png?300|図3.4 関節角速度 }}]| === ゆっくり動かす === 手先の最大速度の設定を低くしてやればきれいな速度台形則で動作する. 最大速度を70%にした場合の例を示す. |{{works:pb_move_hand_70.mp4?300x300|動画3 手先座標動作}}| | 動画3 手先座標動作 | | [{{works:pb_move_hand_pos_70.png?300|図4.1 手先速度}}] | [{{works:pb_move_hand_vel_70.png?300|図4.2 手先速度 }}]| | [{{works:pb_move_hand_j_pos_70.png?300|図4.3 関節角速度}}] | [{{works:pb_move_hand_j_vel_70.png?300|図4.4 関節角速度 }}]| ===== 簡単な作業例 ===== 簡単なと言っているのは物体認識を行わずシミュレータの物体情報を使っているから ==== 直方体のpick&place ==== |{{works:pick_place_box.mp4?300x300|動画4 直方体のpick&place}}| | 動画4 直方体のpick&place | ==== カップからカップへの注ぎ動作 ==== クローズアップをみるとカップが注ぎ口を中心に回転していることがわかる. |{{works:pour01.mp4?300x300|動画5.1 注ぎ動作}}|{{works:pour02.mp4?300x300|動画5.2 クローズアップ}}| | 動画5.1 注ぎ動作 | 動画5.2 クローズアップ | ===== 干渉チェック ===== 干渉チェックを行えば衝突前に安全に停止させることができる. |{{works:collision01.mp4?300x300|動画6.1 干渉チェックあり}}|{{works:collision02.mp4?300x300|動画6.2 干渉チェックなし}}| |動画6.1 干渉チェックあり|6.2 干渉チェックなし|