This package implements a centroid detector for mobile manipulation. It works by doing the following actions:
- Croping out all points outside of a axis aligned bounding box in the robots
/base_link
- Clustering points together with euclidean clustering
- Then the most center cluster's centroid is returned
The source code is released under a TODO license.
Author(s): Kevin French Maintainer: Kevin French kdfrench@umich.edu Affiliation: Laboratory for Progress University of Michigan
TODO
- Robot Operating System (ROS) (middleware for robotics)
- pcl (a standalone, large scale, open project for 2D/3D image and point cloud processing)
- tf (a package that lets the user keep track of multiple coordinate frames over time)
To build from source, clone the latest version from this repository into your catkin workspace and compile the package using
cd catkin_workspace/src
git clone git@progress-gitlab.eecs.umich.edu:4progress/centroid_detector.git
cd ../
catkin_make
TODO
Run the main node with
rosrun centroid_detector centroid_detector
Runs the centroid detector.
-
/head_camera/depth/points
([sensor_msgs/PointCloud2])The point cloud produced by the robot
None
-
/centroid_detector
([centroid_detector_msgs/DetectCentroid])Returns the center most centroid of the clustered points in a crop box
None
-
~/min_pc_x
(float, default 0)The minimum x for the crop box
-
~/max_pc_x
(float, default 1)The maximum x for the crop box
-
~/min_pc_y
(float, default -0.3)The minimum y for the crop box
-
~/max_pc_y
(float, default 0.5)The maximum y for the crop box
-
~/min_pc_z
(float, default 0.85)The minimum z for the crop box
-
~/max_pc_z
(float, default 1.016)The maximum z for the crop box
-
~/nearest_neighbor_radius
(float, default 0.03)The radius for nearest neighbor search in the euclidean clustering
-
~/min_centroid_seperation
(float, default 0.05)The clossest two centroid y values can be before they are considered the same cluster
Please report bugs and request features using the Issue Tracker.