基于rosbag的时间戳分析#

功能说明#

一种基于rosbag的时间戳分析方法

运行方法#

cd /mnt/autoware/src/vendor/miivii/autoware_misc/analyse/

#使用ros2 bag录制一段样本
ros2 bag record /lidar_points

#获取时间戳序列并生成配置文件
python3 extract_bag.py <path_to_bag_file> <path_to_config_file>
#例如:
#python3 extract_bag.py rosbag2_xxxx_xx_xx-xx_xx_xx_x.db3 test.ini

#得到配置文件后,修改其中每个topic的freq字段,填入预期频率
#例如:
#[topic0]
#topic_name = /lidar_points
#type = sensor_msgs/msg/PointCloud2
#freq = 10
#first_offset = -0.1
#
#[Time]
#start = 1728718351
#end = 1728718404

#运行分析程序
python3 analyse_csv.py <path_to_config_file> <csv_dir>
#例如:
#python3 analyse_csv.py  test.ini csv_xxxxxxxx_xxxxxx/

期望结果#

=============================================================================================
Topic: /lidar_points

##################################  Summary  ##################################
Topic:
/lidar_points

Overall Offset:
Time offset: No offset detected

Message Statistics:
Expected messages: 530, Actual messages: 530, Lost messages: 0
Expected frequency: 10 Hz, Actual frequency: 10.00 Hz, Lost rate: 0.00%

Timestamp Alignment:
Ideal interval:                 0.100 s
Standard deviation:             0.00
Mean Deviation:                 0.00 ns
Mean Deviation Percentage:      0.23%
################################################################################