b-it-bots / mas_domestic_robotics

Robot-independent ROS packages for domestic applications
GNU General Public License v3.0
28 stars 45 forks source link

Feature/cloud object detection #248

Closed Sushant-Chavan closed 3 years ago

Sushant-Chavan commented 3 years ago

This PR adds a new ROS package mdr_cloud_object_detection that can be used to detect object clusters in a point cloud. This feature is needed to detect small objects lying on the ground that are otherwise not detected by the HSR's base laser scanner. This component was also enhanced to suit the needs of the wrs-2020-challenge.

The component has the following features:

  1. Passthrough and voxel-grid filtering of input point clouds to remove plane (such as the ground or a table surface) on which the objects lie.
  2. Euclidean clustering of the filtered points into individual objects.
  3. Detecting similarity between static objects detected in consecutive frames
  4. Maintaining a cache of the previously detected objects with a timeout on max time for which an object remains in the cache after going out of view.
  5. Filtering of new object detections based on:
    • Maximum size of the bounding box of the cluster
    • Proximity of the cluster to the nearest occupied cell in the occupancy grid map
  6. Publish debug information such as the filtered cloud, the detected object point clouds, and the object bounding boxes for easy visualization in RViz.

Related PRs

Related to https://github.com/b-it-bots/mas_navigation_tools/pull/9

Checklist: