Package Summary
Released Continuous integration Documented
Segmentation Functionality from the RAIL Lab
- Maintainer status: maintained
- Maintainer: Russell Toris <rctoris AT wpi DOT edu>, David Kent <davidkent AT wpi DOT edu>
- Author: Russell Toris <rctoris AT wpi DOT edu>, David Kent <davidkent AT wpi DOT edu>
- License: BSD
- Bug / feature tracker: https://github.com/WPI-RAIL/rail_segmentation/issues
- Source: git https://github.com/WPI-RAIL/rail_segmentation.git (branch: master)
Package Summary
Released Continuous integration Documented
Segmentation Functionality from the RAIL Lab
- Maintainer status: maintained
- Maintainer: Russell Toris <russell.toris AT gmail DOT com>, David Kent <davidkent AT wpi DOT edu>
- Author: Russell Toris <russell.toris AT gmail DOT com>, David Kent <davidkent AT wpi DOT edu>
- License: BSD
- Bug / feature tracker: https://github.com/GT-RAIL/rail_segmentation/issues
- Source: git https://github.com/GT-RAIL/rail_segmentation.git (branch: master)
Package Summary
Released Continuous integration Documented
Segmentation Functionality from the RAIL Lab
- Maintainer status: maintained
- Maintainer: Russell Toris <russell.toris AT gmail DOT com>, David Kent <davidkent AT wpi DOT edu>
- Author: Russell Toris <russell.toris AT gmail DOT com>, David Kent <davidkent AT wpi DOT edu>
- License: BSD
- Bug / feature tracker: https://github.com/GT-RAIL/rail_segmentation/issues
- Source: git https://github.com/GT-RAIL/rail_segmentation.git (branch: master)
Contents
About
The rail_segmentation package provides tabletop segmentation functionality given a point cloud. It also allows for segmentation within a robot's coordinate frame, so that objects stored on a robot's platform can be segmented.
Newly proposed, mistyped, or obsolete package. Could not find package "rail_segmentation" in rosdoc: /home/rosbot/docs/api/rail_segmentation/manifest.yaml
Nodes
rail_segmentation
'rail_segmentation' provides tabletop object segmentation for handheld objects, as well as segmentation within a robot's coordinate frame for detecting objects stored on a robot itself.Subscribed Topics
point_cloud_topic parameter (sensor_msgs/PointCloud2)- Incoming point cloud data.
Published Topics
rail_segmentation/segmented_objects (rail_manipulation_msgs/SegmentedObjectList)- Segmented point clouds for handheld objects.
- Visualization markers corresponding to the segmented objects.
- Point cloud publisher for debugging, only used if the debug parameter is set to true.
- Image publisher for debugging, only used if the debug parameter is set to true.
Services
rail_segmentation/segment (std_srvs/Empty)- Segmentation that will automatically determine a segmentation zone (coordinate frame and bounding volume) as defined by the zones.yaml config file.
- Clear all segmented objects from the segmented object list.
- Remove an object from the segmented object list at a given index.
Parameters
debug (bool, default: false)- Flag to publish debugging information.
- ROS topic name for incoming point cloud data.
- Location of the config file defining segmentation zones.
Installation
To install the rail_segmentation package, you can install from source with the following commands:
Defining Segmentation Zones
Segmentation zones can be defined in yaml config files, an example of which can be found in the config directory. The zones.yaml file defines a segmentation zone that will segment objects on horizontal surfaces anywhere above the level of the floor.
The fields for defining a zone are as follows:
Required fields:
- name - (string) the name of the zone
- parent_frame_id - (string) parent frame for calculating the roll, pitch, and yaw of the camera
- child_frame_id - (string) child frame for calculating the roll, pitch, and yaw of the camera
- bounding_frame_id - (string) the coordinate frame in which the segmentation bounding volume is defined
- segmentation_frame_id - (string) the coordinate frame in which objects should be segmented
Optional fields:
- remove_surface - (bool) flag for surface removal, set to true if segmentation surfaces should be detected and removed, false if segmentation should be bounded only by the bounding volume.
- roll_min - (double) lower bound on camera roll for this zone to be used, calculated ass the roll from the parent_frame_id to the child_frame_id
- roll_max - (double) upper bound on camera roll
- pitch_min - (double) lower bound on camera pitch
- pitch_max - (double) upper bound on camera pitch
- yaw_min - (double) lower bound on camera yaw
- yaw_max - (double) upper bound on camera yaw
- x_min - lower x bound defining the bounding volume
- x_max - upper x bound defining the bounding volume
- y_min - lower y bound defining the bounding volume
- y_max - upper y bound defining the bounding volume
- z_min - lower z bound defining the bounding volume
- z_max - upper z bound defining the bounding volume
Startup
The rail_segmentation package can be launched by running the rail_segmentation node:
rosrun rail_segmentation rail_segmentation







