Git Product home page Git Product logo

ros2_grasp_library's Introduction

ROS2 Grasp Library

A ROS2 intelligent visual grasp solution for advanced industrial usages, with OpenVINO™ grasp detection and MoveIt Grasp Planning.

Overview

ROS2 Grasp Library enables state-of-the-art CNN based deep learning grasp detection algorithms on ROS2 for intelligent visual grasp in industrial robot usage scenarios. This package provides ROS2 interfaces compliant with the open source MoveIt motion planning framework 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), translating grasp detection results into MoveIt Interfaces (moveit_msgs::msg::Grasp)
  • A ROS2 Grasp Detctor abstracting interfaces for grasp detection results
  • A ROS2 hand-eye calibration module generating transformation from camera frame to robot frame
  • ROS2 example applications demonstrating how to use this ROS2 Grasp Library in advanced industrial usages for intelligent visual grasp

Grasp Detection Algorithms

Grasp detection back-end algorithms enabled by this ROS2 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

Tutorials

Refer to ROS2 Grasp Library Tutorials for how to

  • Install, build, and launch the ROS2 Grasp Planner and Detector
  • Use launch options to customize in a new workspace
  • Bring up the intelligent visual grasp solution on a new robot
  • Do hand-eye calibration for a new camera setup
  • Launch the example applications

Example Applications

Random Picking (OpenVINO Grasp Detection)

Random Pick with OpenVINO Grasp Detection - Link to Youtube video demo

Recognition Picking (OpenVINO Grasp Detection + OpenVINO Mask-rcnn Object Segmentation)

Recognition Pick with OpenVINO Grasp Detection - Link to Youtube video demo

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
    colcon test --packages-select <names_of_affected_packages>
  • Before submitting a patch, it's recommended to pass all existing tests to avoid regression
    colcon test --packages-select <names_of_existing_packages>
Any security issue should be reported using process at https://01.org/security

ros2_grasp_library's People

Contributors

congliu0913 avatar rafaelhuang-intel avatar roboticsyy avatar sharronliu avatar yechun1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.