-
Notifications
You must be signed in to change notification settings - Fork 32
Motion planning for Real robot and Gazebo simulation robot [Japanese]
プランニングで使用するためのurdfが何種類かあります。
- sia5 だけ
- sia5 + 台
- sia5 + kinectv2
- sia5 + 台 + ジャミンググリッパ
- sia5 + 台 + ジャミンググリッパ + kinectv2
西田研究室では、一番最後の全部のせurdfをlaunchすることにしています。
現状ではモーションプランニングを行うためのモデルの切り替えが容易ではありません。 変更すべき記述は、
-
motoman_project/motoman_sia5_moveit_config/launch/sia5_moveit_sensor_manager.launch.xml
Kinectに関する記述があるので使わない場合は内容をコメントアウト -
motoman_project/motoman_sia5_moveit_config/launch/move_group.launch
これの50行目
<!-- MoveGroup capabilities to load -->
<param name="capabilities" value="move_group/MoveGroupCartesianPathService
move_group/MoveGroupExecuteService
move_group/MoveGroupKinematicsService
move_group/MoveGroupMoveAction
move_group/MoveGroupPickPlaceAction
move_group/MoveGroupPlanService
move_group/MoveGroupQueryPlannersService
move_group/MoveGroupStateValidationService
<!-- move_group/MoveGroupGetPlanningSceneService Kinectを使わない場合ここがいらない -->
move_group/ClearOctomapService
" />
-
motoman_project/motoman_sia5_moveit_config/launch/planning_context.launch
これの9行目
<!-- Load universal robot description format (URDF) -->
<param if="$(arg load_robot_description)" name="$(arg robot_description)" textfile="$(find motoman_description)/robots/sia5/urdf/sia5_nishida_lab.urdf"/>
-
motoman_project/motoman_sia5_moveit_config/config/sia5.srdf
これに関してはMoveIt! Setup Assistantで目的のモデルで作成しなおしたほうが簡単な気がします。
ただし保存は上書きしないこと。 モデルの変更についてはもっと簡単に変えられるように改善を行います。
モデルはlaunchファイルを分けることによって、変えられるようになりました。
Moveitのmoveit_planning_execution
についてモデル別に作成されています。
roslaunch motoman_moveit sia5_
sia5_moveit_planning_execution.launch
sia5_nishida_lab_moveit_planning_execution.launch
sia5_with_jamming_moveit_planning_execution.launch
sia5_with_kinectv2_moveit_planning_execution.launch
sia5_with_table_moveit_planning_execution.launch
これだけあります。motoman本体だけの基本的なモデルでモーションプランニングを行いたい場合は
roslaunch motoman_moveit sia5_moveit_planning_execution.launch
です。
Issue #46にて詳しい議論があります。
1。motomanを動かしているコントロールPCと通信を開始するためのlaunch
roslaunch motoman_control sia5_nishida_lab_streaming.launch
2。FollowJointTrajectory
のactionメッセージをJointTrajectory
のtopicメッセージにrepublishしてくれるlaunch
roslaunch motoman_control sia5_real_control.launch
3。Moveitの立ち上げ
roslaunch motoman_moveit sia5_nishida_lab_moveit_planning_execution.launch
使うモデルは、そのときに装着している装備によって変えること。
以上で実機を使ったプランニングで遊べるようになります。
rosrun motoman_control move_to_joint_real.py init
各関節角度を指定する場合は
rosrun motoman_control move_to_joint_real.py [0.1,0.2,0.3,0.4,0.5,0.6,0.7]
gazeboで実行する場合は、下のコマンドに読み替えて実行してください。
rosrun motoman_control move_to_joint_sim.py init
Gazeboモデルでは、いくつかの重要なnodeをlaunchしている。
1。 gzserver + gzclient 所謂Gazebo
2。 ros_controller
motomanでは、JointPositionController
とJointTrajectoryController
を用意しているが、実機を動かすときにJointTrajectory
メッセージを使っているので、Gazeboモデルでも後者のコントローラを使用している。
1。 Gazeboの立ち上げ
roslaunch motoman_gazebo sia5_sia5_empty_world.launch
他のモデルは...
roslaunch motoman_gazebo sia5_
sia5_empty_world.launch sia5_with_kinectv2.launch
sia5_nishida_lab.launch sia5_with_table.launch
sia5_with_jamming.launch
2。 MoveItの立ち上げ
roslaunch motoman_moveit sia5_moveit_planning_execution.launch
実機と同様、MoveitのプラグインもlaunchするファイルをGazeboで出現させるモデルによって変えてください。