ROS Topics and Services
Find all topics and services of the nvblox_node
and the
nvblox_human_node
below.
Note
The human reconstruction tutorials
(Isaac Sim /
realsense)
launch the nvblox_human_node
, while the static reconstruction tutorials
(Isaac Sim /
realsense)
as well as the dynamic reconstruction tutorials
(Isaac Sim /
realsense)
launch the nvblox_node
. The nvblox_human_node
inherits from the nvblox_node
and is adding additional topic subscriptions for the mask
image containing the human semantic segmentation.
ROS Topics Subscribed
ROS Topic |
Interface |
Description |
---|---|---|
|
Input 3D LIDAR pointcloud. Make sure to set the lidar intrinsic parameters if using this input, as it uses those to convert the pointcloud into a depth image. |
|
|
Optional input color image to be integrated. Must be paired with a |
|
|
Optional topic along with the color image above. Contains intrinsics of the color camera. |
|
|
The input depth image to be integrated. Must be paired with a |
|
|
Required topic along with the depth image. Contains intrinsic calibration parameters of the depth camera. |
|
|
Odometry as stamped transform messages. Not required if |
|
|
Odometry as stamped pose messages. Not required if |
Additionally subscribed topics by the nvblox_human_node
:
ROS Topic |
Interface |
Description |
---|---|---|
|
The mask image with the human segmentation (non-human pixels = 0 and human pixels = 1). In the Human Reconstruction with RealSense tutorial this is published by Isaac ROS Image Segmentation. |
|
|
Required topic along with the mask image. Contains intrinsic calibration parameters of the mask camera. |
ROS Topics Published
ROS Topic |
Interface |
Description |
---|---|---|
|
A visualization topic showing the mesh produced from the TSDF in a form that can be seen in RViz using |
|
|
A visualization topic showing the mesh using a marker message. |
|
|
A pointcloud of the static 2D ESDF (Euclidean Signed Distance Field), with intensity as the metric distance to the nearest obstacle. Set |
|
|
A 2D slice of the static ESDF, to be consumed by |
|
|
A pointcloud of the static occupancy map (only voxels with occupation |
|
|
A visualization topic showing the mesh slice bounds that can be set with the parameters |
|
|
A pointcloud of the back projected latest depth image in the global frame. |
|
|
A pointcloud of the human/dynamic occupancy map (only voxels with occupation |
|
|
A pointcloud of the human/dynamic 2D ESDF (Euclidean Signed Distance Field), with intensity as the metric distance to the nearest human. Set |
|
|
A 2D slice of the human/dynamic ESDF, to be consumed by |
|
|
Pointcloud visualizing the back-projected pixels of the latest human/dynamic masked depth frame (without temporal fusion). |
|
|
Debug image showing the dynamic/human mask overlaid on the depth image. Note: The overlay is showing the mask before postprocessing. |
|
|
Pointcloud visualizing all non high confidence freespace voxels inside a 5x5x1 m box around the depth camera. |
|
|
A pointcloud of the combined static and human/dynamic 2D ESDF (minimal distance of both), with intensity as the metric distance to the nearest obstacle or human. Set |
|
|
A 2D slice of the combined static and human/dynamic ESDF (minimal distance of both), to be consumed by |
Additionally published topics by the nvblox_human_node
:
ROS Topic |
Interface |
Description |
---|---|---|
|
The pointcloud published at |
|
|
Debug image showing the human mask overlaid on the color image. |
ROS Services Advertised
ROS Service |
Interface |
Description |
---|---|---|
|
Will save the mesh as the PLY (standard polygon file format, which can be viewed with MeshLab or CloudCompare) at the specified location. |
|
|
Will serialize the entire map, including TSDF, ESDF, etc., at the given location. |
|
|
Will overwrite the current map in the node with a map loaded from the given path. |
Example service calls from the command line:
ros2 service call /nvblox_node/save_ply nvblox_msgs/srv/FilePath "{file_path: '/home/USERNAME/super_cool_map.ply'}"
ros2 service call /nvblox_node/save_map nvblox_msgs/srv/FilePath "{file_path: '/home/USERNAME/super_cool_map.nvblx'}"
ros2 service call /nvblox_node/load_map nvblox_msgs/srv/FilePath "{file_path: '/home/USERNAME/super_cool_map.nvblx'}"