Closed sagardhatrak closed 1 year ago
Timing/Total/ms
is the total time of rtabmap internal processing loop (Rtabmap::process()) (excluding odometry, just the back-end: node creation, loop closure detection, graph optimization)RtabmapROS/TimeTotal/ms
includes the rtabmap internal processing loop + map management (updating occupancy grid) + ros publishing stuff, see here.Thank you,
Timing/Total/ms > 1000
and Rtabmap/DetectionRate = 1
, the output rate won't be 1 Hz anymore, but less.Timing/Total/ms
will increase accordingly to map size. The impact is that with higher rate, you had more data to the map, thus Timing/Total/ms
will increase faster over time.
rostopic hz /rtabmap/info
Yes, you can use rostopic hz /rtabmap/mapData
as well.
It means rtabmap cannot run in real-time at this rate. I rarely increase rate over 2 hz.
Are you comparing results in the same message? As shown here:
https://github.com/introlab/rtabmap_ros/blob/1a87f1598df2a40d01b230808074b45c9a26039e/rtabmap_slam/src/CoreWrapper.cpp#L2248
The ROS total includes internal total processing time. If it is smaller than Timing/Total/ms
, there is something wrong (bug?). Well, we don't use exactly Timing/Total/ms
in the cumulative time, but I would assume that the timeRtabmap
below estimates the same time than Timing/Total/ms
:
https://github.com/introlab/rtabmap_ros/blob/1a87f1598df2a40d01b230808074b45c9a26039e/rtabmap_slam/src/CoreWrapper.cpp#L2025-L2028
I am not sure why you want to estimate the FPS of the mapping node. The best way is rostopic hz
or you drive it from inverse of RtabmapROS/TimeTotal/ms
. For odometry, I would suggest to check the outputs of the odometry node, this one is always trying to process frames as fast as possible.
Thank you for guidance.
for question 5:
As per your suggestion, we are going with rostopic hz.
Hi...
What is interpretation of two stats_values 1. - RtabmapROS/TimeTotal/ms and 2. Timing/Total/ms?? Please explain details about these.