A basic grasp generator for objects such as blocks or cylinders for use with the MoveIt pick and place pipeline. Does not consider friction cones or other dynamics. It also has support for suction grippers.
Its current implementation takes as input a pose vector (postition and orientation) and generates a large number of potential grasp approaches and directions. Also includes a grasp filter for removing kinematically infeasible grasps via threaded IK solvers.
This package includes:
- Pose-based grasp generator for a block
- Separate grasp generators for custom objects such as rectanguar or cylindrical objects
- Grasp filter
- Demo code and visualizations
Developed by Dave Coleman, Andy McEvoy, and Mike Lautman at PickNik Consulting with many contributors.
Note: this package has not been released yet
sudo apt-get install ros-melodic-moveit-grasps
Clone this repository into a catkin workspace, then use the rosdep install tool to automatically download its dependencies.
Melodic (Ubuntu 18.04):
-
Re-use or create a catkin workspace:
export CATKIN_WS=~/ws_catkin/ mkdir -p $CATKIN_WS/src cd $CATKIN_WS/src
-
Download the required repositories and install any dependencies:
git clone [email protected]:ros-planning/moveit_grasps.git wstool init . wstool merge moveit_grasps/moveit_grasps.rosinstall wstool update rosdep install --from-paths . --ignore-src --rosdistro melodic
-
Configure and build the workspace:
cd $CATKIN_WS catkin config --extend /opt/ros/melodic --cmake-args -DCMAKE_BUILD_TYPE=Release catkin build
-
Source the workspace.
source devel/setup.bash
For a detailed usage instructions visit the MoveIt Grasps tutorial.
There are four demo scripts in this package. To view the tests, first start Rviz with:
roslaunch moveit_grasps rviz.launch
To see the entire MoveIt Grasps pipeline in actoin:
roslaunch moveit_grasps grasp_pipeline_demo.launch
To visualize gripper specific parameters:
roslaunch moveit_grasps grasp_poses_visualizer_demo.launch
To test just grasp generation for randomly placed blocks:
roslaunch moveit_grasps grasp_generator_demo.launch
To test the grasp filtering:
roslaunch moveit_grasps grasp_filter_demo.launch
To run roslint, use the following command with catkin-tools.
catkin build --no-status --no-deps --this --make-args roslint
To run catkin lint, use the following command with catkin-tools.
catkin lint -W2 --rosdistro melodic
Use the following command with catkin-tools to run tests.
catkin run_tests --no-deps --this -i