Tool for time analysis inside ROS 2

asked 2023-05-08 11:42:45 -0500

vico gravatar image

updated 2023-05-10 13:56:00 -0500

Hey, I am currently working on a small autonomous car with a LIDAR and a depth camera. One of my exercises is it to determine if the onboard Intel NUC or the Raspberry Pi are limiting the performance of the car and should be upgraded. Therefore, I wanted to analyze the time aspect of the system more deeply. For example, how long does the system take to process a message which was published by a lidar-node until it can use this information to locate itself (wiht amcl) in the room.
For now I used

ros2 topic delay <topic_name>

but this only provided me with the time it takes from one node to another. I tried to use ros2_tracing but failed with the implementation

I would be thankful for any tools you know or for any approach how I could measure the time between the nodes with.

PS: I also used rqt and its Topic Monitor. And i always check the capacity of the CPU and GPU of the NUC.

edit retag flag offensive close merge delete

Comments

What didn't work with ros2_tracing exactly? Between which exact points in your system do you want to extract latencies? If this is application-dependent (e.g., if the end point is somewhere in AMCL), then yeah you might need to adapt the instrumentation provided by ros2_tracingand write your own trace data processing code. For system/application latency, you might also want to take a look at this: https://arxiv.org/abs/2204.10208.

christophebedard gravatar image christophebedard  ( 2023-05-10 13:55:27 -0500 )edit