bygreencn / ros2_grasp_library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ROS2 Grasp Library

Overview

ROS2 Grasp Library enables state-of-the-art CNN based deep learning grasp detection algorithms on ROS2 for visual based industrial robot manipulation. This package provide ROS2 interfaces compliant with the MoveIt motion planning framework which is supported by most of the robot models in ROS industrial. This package delivers

  • A ROS2 Grasp Planner providing grasp planning service, as an extensible capability of MoveIt (moveit_msgs::srv::GraspPlanning)
  • A ROS2 Grasp Detector generic interface, collaborating with Grasp Planner for grasp detection. Also a specific back-end algorithm enabled under this interface: Grasp Pose Detection with Intel® OpenVINO™ technology
  • Grasp transformation from camera frame to a specified target frame expected in the visual manipulation; Grasp translation to the MoveIt Interfaces (moveit_msgs::msg::Grasp)
  • A 'service-driven' grasp detection mechanism (via configure auto_mode) to optimize CPU load for real-time processing

Grasp Detection Algorithms

Grasp detection back-end algorithms enabled by this Grasp Library:

  • Grasp Pose Detection detects 6-DOF grasp poses for a 2-finger grasp (e.g. a parallel jaw gripper) in 3D point clouds from RGBD sensor or PCD file. The grasp detection was enabled with Intel® DLDT toolkit and Intel® OpenVINO™ toolkit.

    ROS2 Grasp Library

ROS2 Interfaces

Subscribed Topics

Published Topics

ROS2 topic conveys grasp detection results, used by non-MoveIt manipulation applications

Delivered Services

ROS2 grasp planning service as MoveIt plugin, used by MoveIt manipulation applications

ROS2 interfaces can be bridged back to ROS via ros1_bridge

Known Issues

  • Cloud camera failed at "Invalid sizes when resizing a matrix or array" when dealing with XYZRGBA pointcloud from ROS2 Realsenes, tracked as #6 of gpg, patch under review.
  • 'colcon test' sometimes failed with test suite "tgrasp_ros2", due to ROS2 service request failure issue (reported ros2 examples issue #228 and detailed discussed in ros2 demo issue #304)
  • Rviz2 failed to receive Static TF from camera due to transient_local QoS (expected in the coming ROS2 Eloquent, discussed in geometry2 issue #183), workaround patch available till the adaption to Eloquent

Contribute to This Project

It's welcomed to contribute to this project. Here're some recommended practices:

  • When adding a new feature it's expected to add tests covering the new functionalities.
  • Before submitting a patch, it's recommended to pass all existing tests to avoid regression. See Grasp Library Test
Any security issue should be reported using process at https://01.org/security

About

License:Apache License 2.0


Languages

Language:C++ 68.6%Language:CMake 16.2%Language:Python 15.2%