grasping planning - socrob/mbot_documentation GitHub Wiki
Run moveit. This will launch move_group.launch and enable the following services:
- IK solver, defined in moveit config file
kinematics.yaml - Motion planner, defined in
ompl_planning.yamlunder the default_planner_config param - Octomap, defined in
sensores_rgbd.yaml, parameters such as octomap_resolution are set in the launch filesensor_manager.launch - Self collisions disability function, defined in
mbot.srdf. These collisions are generated automatically by the Moveit setup_assistant, additional disabled collisions should be set manually in the srdf file if needed
Run roslaunch mbot_pregrasp_planning pregrasp_planner.launch, in the launch file the following params may be adjusted:
-
Planning frame: base_link or head_camera_rgb_optical_frame
-
Sampling parameters (the closer the values are to zero, the less tolerance is given)
- min_azimuth: choose from -15 to 0
- max_azimuth: choose from 0 to 15
- min_zenith: choose from -40 to -10
- max_zenith: choose from 10 to 40
- min_roll: choose from -5 to 0
- max_roll: choose from 0 to 5
-
linear_offset: 3 values for x, y and z respectively, defining the distance the virtual_endeffector is from the grasp position (these values depend on the Planning frame chosen). In case the robot is performing a side grasp and the Planning frame is base_link, it is suggested to define a -0.1 to -0.15 offset value for y too so that the end_effector is off 10 to 15 cm from the goal and the wrist-camera is still seeing the object
To execute the pipeline:
- To publish synthetic obstacles defined arbitrarily in the file
mbot_moveit_scene_node.py: runrostopic pub --once /mbot_moveit_scene_node/event_in std_msgs/String "data: 'e_start'" - To compute the IK solution (feasible pose):
rostopic pub --once /mir_manipulation/pregrasp_planner_pipeline/event_in std_msgs/String "data: 'e_start'" - To execute the motion after finding the IK solution:
rostopic pub --once /mcr_arm_motions/move_arm_planned_motion/event_in std_msgs/String "data: 'e_start'"