ROS Topics and Services
Find all topics and services of the nvblox_node
and the
nvblox_human_node
below.
Note
The various tutorials offered by isaac_ros_nvblox
(RealSense /
HAWK /
Isaac Sim
) describe mapping for static scenes and scenes with people elements.
The tutorials for static scenes launch the nvblox_node
while the people mapping sections
launch the nvblox_human_node
. The nvblox_human_node
inherits from the nvblox_node
and adds additional topic subscriptions for the mask
image containing the people semantic segmentation.
ROS Topics Subscribed
The nvblox_node
subscribes to 4 depth and color topics.
The i
in the subscription list below can be replaced with 0-3, for example camera_0/color/image
.
ROS Topic |
Interface |
Description |
---|---|---|
|
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. |
|
|
Input 3D LIDAR pointcloud. You must set the Lidar intrinsic parameters, if using this input, as it uses those to convert the pointcloud into a depth image. |
|
|
Odometry as stamped transform messages. Not required if |
|
|
Odometry as stamped pose messages. Not required if |
The nvblox_human_node
, which is used for mapping in the presence of people, subscribes
additionally to a mask image and corresponding camera info.
Note
Masking on the first camera (camera_0
) is supported.
ROS Topic |
Interface |
Description |
---|---|---|
|
In our people reconstruction tutorials, this mask 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. |
|
|
Pointcloud visualizing TSDF voxels. |
|
|
Pointcloud visualizing color voxels. |
|
|
Pointcloud visualizing all non high confidence freespace voxels inside a 5x5x1 m box around the depth camera. |
|
|
A pointcloud of the static occupancy map (only voxels with occupation |
|
|
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 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 people/dynamic occupancy map (only voxels with occupation |
|
|
A pointcloud of the people/dynamic 2D ESDF (Euclidean Signed Distance Field), with intensity as the metric distance to the nearest person. Set |
|
|
A 2D slice of the people/dynamic ESDF, to be consumed by |
|
|
Pointcloud visualizing the back-projected pixels of the latest people/dynamic masked depth frame (without temporal fusion). |
|
|
Debug image showing the dynamic/people mask overlaid on the depth image. Note: The overlay is showing the mask before postprocessing. |
|
|
A pointcloud of the combined static and people/dynamic 2D ESDF (minimal distance of both), with intensity as the metric distance to the nearest obstacle or person. Set |
|
|
A 2D slice of the combined static and people/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 people 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. |
|
|
Will save a table of processing rates to disk, at the given location. |
|
|
Will save a table of processing times to disk, at the given location. |
|
|
Accepts an Axis-aligned bounding box and replies with a dense ESDF grid and its gradient. |
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'}"