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.yaml under the default_planner_config param
  • Octomap, defined in sensores_rgbd.yaml, parameters such as octomap_resolution are set in the launch file sensor_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:

  1. Planning frame: base_link or head_camera_rgb_optical_frame

  2. 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
  3. 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: run rostopic 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'"