MoveItチュートリアル[5]:MoveIt!Commander Scripting


moveit_commander PythonパッケージはMoveItで提供される機能にパッケージを提供しています.簡単なインタフェースは、モーションプランニング、デカルトパスの計算、選択、配置に使用できます.moveit_commanderパッケージには、コマンドラインインタフェースmoveit_も含まれています.commander_cmdline.py. 一.Starting RViz and the Command Line Toolは2つのsehllを開きます.RVizを起動し、すべてのロードが最初のshellに完了するまで待機します.
roslaunch panda_moveit_config demo.launch

別のshellでmoveitを起動します.commanderインタフェース:
rosrun moveit_commander moveit_commander_cmdline.py

二.Using the MoveIt! Commander Command Line Toolの次のコマンドは、move_に接続できるコマンドラインインタフェースツールを起動します.groupノードの実行例.入力する最初のコマンドは次のとおりです.
use 

指定したグループ名のmove_に接続されます.groupノード[例えばPandaではpanda_armに接続することができる].このグループでコマンドを実行できるようになりました.このcurrentというコマンドは、グループの現在のステータスを表示します.
current

特定の名前の状態を記録するには、次のように入力します.
rec c

これにより、名前cの下のrobotグループの現在のジョイント値が記憶されます.Matlabと同様の構文を使用して、ジョイントの値を変更できます.上記のコードは、cのジョイント値をgoalという新しい変数にコピーします.次にgoalの最初の関節を0.2に変更します.0.2ではなく異なる値を使用する必要がある場合があります(衝突を起こさずに許容範囲内である必要があります).goコマンドは、アクションを計画して実行します.ロボットを移動させるには、次のように入力します.
goal = c
goal[0] = 0.2
go goal

goコマンドを呼び出すのではなく、次のように入力できます.
goal[0] = 0.2
goal[1] = 0.2
plan goal
execute

これは少し非効率ですが、実際にexecuteコマンドを発行する前にplanコマンドがRVizで計算されたモーションプランを可視化できるという利点があります.サポートされているコマンドのリストにhelpを入力します.moveit_を終了するにはcommanderインタフェースで、quitを入力できます.
参考文献:[1]MoveIt!Commander Scripting:http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/moveit_commander_scripting/moveit_commander_scripting_tutorial.html