ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

cpu requirement to run Autoware

asked 2021-01-10 17:30:39 -0500

runtao gravatar image

I am trying to run 3D perception demo on Autoware.auto. The demo runs properly. Then I inserted the code into each node to count the latency and the number of how many times the callback functions are called during the demo.

While the point_cloud_filter_transform_node and ray_ground_classifier_cloud_node are both called 4716 times totally, the euclidean_cluster_node are only called 815 times, which should be as many as the other two nodes actually.

After the investigation I found out, the reason behind that is the very high-latency of euclidean_cluster_node, varing from 50ms to 2s. The high-latency delays the processing of next upcoming messages, and the node discards the expired messages (QoS queue=10). It means nearly 4000 messages are discarded because outdated.

I'm aware of there's no least CPU requirement for running Autoware, but what is the recommeded CPU requirement? My CPU is i7-6700HQ @ 2.60GHz, is this enough for running Autoware along? If not, does runing the node on GPU CUDA can solve the high-latency problem?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-04-03 14:30:57 -0500

ltbj gravatar image

The demo runs properly.

Nice. Did you notice any performance issues before you modified the code? I'm quite familiar with the Autoware.Auto project and know that with a capable machine the last node in the stack (euclidean_clustering) nominally has around 2-5ms processing time. You can also follow this GitLab issue where we are looking at where to optimize the stack.

Then I inserted the code into each node to count the latency and the number of how many times the callback functions are called during the demo.

What type of code did you use? Are you using the ROS 2 logging system, or writing to the console directly? Both will have some impact on performance since blocking calls are used under the hood.

I'm aware of there's no least CPU requirement for running Autoware, but what is the recommended CPU requirement? My CPU is i7-6700HQ @ 2.60GHz

Performance needs will depend on how you're running the demo (your URL to the Autoware.Auto docs doesn't work). If you're using udpreplay with a PCAP file, your machine is probably sufficient or on the cusp of being performant enough. If you're using the simulator to generate the LIDAR data then it may depend on number of cores and memory. And of course, unless you're running on a real-time OS performance will be less deterministic and generally highly variable.


If not, does runing the node on GPU CUDA can solve the high-latency problem?

The object detection stack in Autoware.Auto is specifically designed to run only using the CPU. I encourage you to read the design documentation if you want to know more.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2021-01-10 17:30:39 -0500

Seen: 273 times

Last updated: Jan 10 '21