object_manager¶
This package allows interaction with the dynamic clusters segmented by
the semantic_map
package.
Parameters¶
log_objects_to_db
- whether the clusters segmented should be logged to mongodb. The default value isTrue
object_folder
- the folder where to look for dynamic clusters. The default path is~/.semanticMap/
min_object_size
- clusters with fewer points than this threshold are discarded. The default value is500
.additional_views_topic
- the topic on which the additional views are published. The default is/object_learning/object_view
additional_views_status_topic
- the topic on which status messages when collecting additional views are published. The default is/object_learning/status
. The topic messages supported arestart_viewing
(only accepted if a cluster has been previously selected) andstop_viewing
DynamicObjectsService¶
Message tpe:
string waypoint_id
---
string[] object_id
sensor_msgs/PointCloud2[] objects
geometry_msgs/Point[] centroids
Given a waypoint id, this service returns all the dynamic clusters segmented at that waypoint, with their ids, point clouds and centroid.
Service topic: ObjectManager/DynamicObjectsService
The point cloud corresponding to all the dynamic clusters is also
published on the topic "/object_manager/objects
##
GetDynamicObjectService
Message type:
string waypoint_id
string object_id
---
sensor_msgs/PointCloud2 object_cloud
int32[] object_mask
geometry_msgs/Transform transform_to_map
int32 pan_angle
int32 tilt_angle
Given a waypoint id and a cluster id (should correspond to the ids
received after calling the DynamicObjectsService
), this service
returns the point cloud corresponding to that dynamic cluster in the
camera frame of reference and a transform to get the point cloud in the
map frame of refence. In addition, a set of angles (pan_angle
, and
tilt_angle
) to which to turn the PTU, and a set of indices
representing image pixels corresponding to the dynamic cluster in the
image obtained after turning the PTU to the specified angles. After
calling this service, the requested dynamic cluster is “selected”, and
after receiving the start_viewing
mesasge on the
object_learning/status
topic, additional views received on the
/object_learning/object_view
topic will be added and logged together
with this cluster.
Service topic: ObjectManager/GetDynamicObjectService
The point cloud corresponding to the requested dynamic cluster is also
published on the topic /object_manager/requested_object
.
The cluster mask is also published as an image on the topic:
/object_manager/requested_object_mask
Note that the clusters are logged to the database when calling the
DynamicObjectsService
or the GetDynamicObjectService
(if the
log_to_db
argument is set to True
). Calling these services
multiple times does not affect (negatively) the logging.
Export logged dynamic clusters from mongodb¶
rosrun object_manager load_objects_from_mongo /path/where/to/export/data/
The data exported is saved according to the sweeps where the clusters
were extracted (i.e. YYYYMMDD/patrol_run_#/room_#/...
)
Original page: https://github.com/strands-project/strands_3d_mapping/blob/hydro-devel/object_manager/README.md