Random Pick (OpenVINO Grasp Detection)¶
Overview¶
A simple application demonstrating how to pick up objects from clutter scenarios with an industrial robot arm. The application interact with Grasp Planner and Robot Interface from this Grasp Library.
The Grasp Planner takes grasp detection results from OpenVINO GPD, transforms the grasp pose from camera view to the robot view with the Hand-Eye Calibration, translates the Grasp Pose into moveit_msgs Grasp.
The Robot Interface takes the grasp poses and place poses, to pick and place the object.
Watch this demo_video to see the output of this application.
Requirement¶
Before running the code, make sure you have followed the instructions below to setup the environment.
- Hardware
- Host running ROS2
- RGBD sensor
- Robot Arm
- `Robot Gripper`_
- Software
- ROS2
- Grasp Planner
- Robot Interface
- Hand-Eye Calibration
- RGBD Sensor
Download and Build the Application¶
Within your catkin workspace, download and compile the example code
cd <path_of_your_ros2_workspace>/src
git clone https://github.com/intel/ros2_grasp_library.git
cd ..
colcon build --symlink-install
- Build Options
- BUILD_RANDOM_PICK (ON | OFF) Switch on/off building of this application
Launch the Application with Real Robot and Camera¶
- Publish handeye transform, refer to Hand-Eye Calibration
- Launch UR description
ros2 launch ur_description view_ur5_ros2.launch.py
#load rviz2 configure file "src/ros2_grasp_library/grasp_apps/random_pick/rviz2/random_pick.rviz"
- Launch RGBD sensor
ros2 run realsense_node realsense_node
- Launch random pick app
ros2 run random_pick random_pick
- Launch grasp planner
ros2 run grasp_ros2 grasp_ros2 __params:=src/ros2_grasp_library/grasp_apps/random_pick/cfg/random_pick.yaml