Automatic Grasp Success/Failure Checker based on Gazebo (ROS1). Depending on user's inputs (e.g., list of planned grasps), the program spawns an object and a gripper (Gripkit-CR-Plus-L) models to check if each planned grasp succeeds or fails.
The project was done while Hojun Lee was working for Barton Research Group (BRG) at the University of Michigan.
├── auto_grasp
│ └── src # Python source codes
├── gripkit_cr_plus_l_bb_description
│ ├── launch
│ ├── meshes # STL files
| └── urdf # URDF description
├── gripkit_cr_plus_l_bb_moveit
│ ├── config # config files
│ └── launch # ROS-launch files
└── models
├── dict # grasp dictionaries
└── obj_05 # object folder
Note
This repository has been tested on ROS Noetic and Ubuntu 20.04. It also depends on numpy, scipy, and tqdm:
cd ~/catkin_ws/src
git clone https://github.com/kidpaul94/grasp-factory.git
cd grasp-factory/
pip3 install -r requirements.txt
cd ~/catkin_ws
catkin_make
source devel/setup.bash
Note
This launch file is only for model visualization purpose. No ROS controllers will get initialized.
roslaunch gripkit_cr_plus_l_bb_description gazebo.launch
roslaunch gripkit_cr_plus_l_bb_moveit_config demo.launch
roslaunch gripkit_cr_plus_l_bb_moveit_config demo_gazebo.launch
Note
simulation.py
receives several different arguments. Run the --help
command to see everything it receives.
cd auto_grasp/src
python3 simulation.py --help
Note
The representation is defined based on a coordinate system of each object 3D model.
The image above shows the grasping center & direction & approach vector format that we use to spawn an object at specific poses. In simulation.py
, we utilize a list of this representation as a grasp dictionary associated with a specific object model and check success/failure of each planned grasp.
Model & Controller parameters tuning | |
---|---|
Documentation |