output¶
What Pelorus publishes and where it publishes it. This covers the topics and their QoS, the frames poses are expressed in, the terminal interface and the Rerun visualization.
| Option | Default | Starter |
|---|---|---|
odometry_rate |
Lidar |
yes |
publisher_mode |
PointCloud2 |
|
global_frame |
"lio_init" |
yes |
rerun |
false |
|
lio_odometry_msg_qos |
Reliable |
|
lio_path_msg_qos |
SystemDefault |
|
imu_odometry_msg_qos |
SystemDefault |
|
imu_path_msg_qos |
SystemDefault |
|
imu_ahrs_filtered_msg_qos |
Reliable |
|
imu_ahrs_filtered_topic |
"imu/filtered" |
|
logger_prefix |
"pelorus" |
|
trajectory |
"" |
|
latency |
"" |
|
processing_time |
"" |
|
terminal |
||
ui |
true |
yes |
debug |
false |
|
debug_fps |
1 |
|
warning_debounce |
1s |
|
log_level |
Warn |
yes |
base_link |
||
frame_id |
"" |
|
from_lidar_transform |
||
use_tf_tree |
false |
|
translation |
[0.0mm, 0.0mm, 0.0mm] |
|
rotation |
see below | |
rerun |
||
server_addr |
"127.0.0.1:9876" |
|
map |
false |
|
map |
||
publish_interval |
1s |
|
visual_scale |
3.0 |
|
mcap |
||
file |
"" |
|
rosbag_dir |
"" |
|
rosbag_metadata |
"" |
|
cloud_topic |
"/registered" |
|
odom_topic |
"/odom" |
|
path_topic |
"/path" |
|
tf_topic |
"/tf" |
output.odometry_rate¶
How often odometry is published. ImuAndLidar adds low-latency IMU predictions between the LiDAR corrections, published at the IMU rate.
Accepted values: lidar, imuandlidar, imu_and_lidar
Accepted values are case-insensitive.
Part of the starter configuration.
output.publisher_mode¶
Selects the registered-cloud message type when using mt_pubsub. Compressed requires the default-enabled compressed-pointcloud Cargo feature. The topic name stays "registered" in either mode.
Accepted values: compressed, pointcloud2
Accepted values are case-insensitive.
output.global_frame¶
Frame the estimated poses and the TF messages are expressed in. It is placed wherever the sensor was at start-up, so it is a local frame and carries no relation to any map or world frame that already exists in your TF tree.
Part of the starter configuration.
output.rerun¶
Live visualization. Pelorus sends to a Rerun viewer that is already running. It never starts one itself. Requires a build with the rerun Cargo feature.
Type: boolean.
output.lio_odometry_msg_qos¶
QoS of the LiDAR-rate odometry topic.
Accepted values: besteffort, reliable, systemdefault
Accepted values are case-insensitive.
output.lio_path_msg_qos¶
QoS of the LiDAR-rate path topic. The path is a visualization aid, so dropping messages under load is usually acceptable.
Accepted values: besteffort, reliable, systemdefault
Accepted values are case-insensitive.
output.imu_odometry_msg_qos¶
QoS of the IMU-rate odometry topic, published when output.odometry_rate is ImuAndLidar.
Accepted values: besteffort, reliable, systemdefault
Accepted values are case-insensitive.
output.imu_path_msg_qos¶
QoS of the IMU-rate path topic.
Accepted values: besteffort, reliable, systemdefault
Accepted values are case-insensitive.
output.imu_ahrs_filtered_msg_qos¶
QoS of the AHRS-filtered IMU topic, published when imu.ahrs_filtering.method is anything but Disable.
Accepted values: besteffort, reliable, systemdefault
Accepted values are case-insensitive.
output.imu_ahrs_filtered_topic¶
Topic the AHRS-filtered IMU output is published on, relative to logger_prefix. Only used when imu.ahrs_filtering.method is not Disable.
output.logger_prefix¶
Namespace every published topic and every log line is prefixed with.
output.trajectory¶
Text files written while Pelorus runs. Empty writes nothing; "auto" names the file after the current time, in the working directory. TUM trajectory of the base link, one pose per scan (and per IMU sample with odometry_rate = ImuAndLidar).
output.latency¶
Builds with the processing-time-export feature only. End-to-end latency per scan, wall clock from its arrival until its registered cloud is ready, as sensor timestamp and nanoseconds.
output.processing_time¶
Builds with the processing-time-export feature only. Time actually spent computing each scan, without queueing and waiting.
output.terminal¶
What Pelorus prints while it runs.
output.terminal.ui¶
Show the interactive TUI with position, velocity, and performance metrics. Set to false for non-interactive sessions.
Type: boolean.
Part of the starter configuration.
output.terminal.debug¶
Print timing metrics for each pipeline stage. This is what to turn on when Pelorus is not keeping up with the sensor.
Type: boolean.
output.terminal.debug_fps¶
Refresh rate of the debug output, in frames per second.
Type: integer.
Minimum: 0 (inclusive).
output.terminal.warning_debounce¶
Shortest interval at which a repeating warning is printed again, so that a condition holding for a whole run does not fill the terminal.
Type: time.
output.terminal.log_level¶
Everything at this level and above is logged.
Accepted values: Trace, Debug, Info, Warn, Error
Part of the starter configuration.
output.base_link¶
output.base_link.frame_id¶
Frame the odometry and TF are published for. Empty publishes the pose of the LiDAR itself. Set it to your robot's body frame to have Pelorus apply the transform below and publish that pose. The registered scans are published in the same frame, so odometry and scans alone build a consistent map. /tf_static carries the transform back to the LiDAR.
output.base_link.from_lidar_transform¶
output.base_link.from_lidar_transform.use_tf_tree¶
Look the transform up in the TF tree instead of using the values below. The lookup happens once, when the first sensor message arrives.
Type: boolean.
output.base_link.from_lidar_transform.translation¶
Pose of the Lidar in the base_link frame.
Type: array<length>.
output.base_link.from_lidar_transform.rotation¶
Pose of the Lidar in the base_link frame.
Type: array<array<number>>.
output.rerun¶
output.rerun.server_addr¶
Address of the already running Rerun server to stream visualizations to.
output.rerun.map¶
Periodic snapshot of the whole registration map, colored by relevance score. Off by default. Large maps can be expensive to render.
Type: boolean.
output.rerun.map¶
output.rerun.map.publish_interval¶
Shortest interval between two snapshots.
Type: time.
Minimum: 0s (inclusive).
output.rerun.map.visual_scale¶
Size of the ellipsoid drawn per voxel, scaled by that voxel's covariance.
Type: number.
Minimum: 0 (exclusive).
output.mcap¶
Optional MCAP/ROS 2 bag recording of Pelorus output, unrelated to the live pub/sub topics above. Off by default (both file and rosbag_dir empty).
output.mcap.file¶
Write a bare MCAP file at this path. Empty disables it. Mutually exclusive with rosbag_dir.
output.mcap.rosbag_dir¶
Write a ROS 2 bag directory at this path instead of a bare MCAP file. Always writes its own
output.mcap.rosbag_metadata¶
Also write a ROS 2 bag metadata.yaml next to file. Only valid together with file (rosbag_dir already writes its own). Empty disables it.
output.mcap.cloud_topic¶
Topic names used inside the MCAP/ROS 2 bag. Unrelated to the live pub/sub topics above.
output.mcap.odom_topic¶
Topic names used inside the MCAP/ROS 2 bag. Unrelated to the live pub/sub topics above.
output.mcap.path_topic¶
Topic names used inside the MCAP/ROS 2 bag. Unrelated to the live pub/sub topics above.
output.mcap.tf_topic¶
Topic names used inside the MCAP/ROS 2 bag. Unrelated to the live pub/sub topics above.