vectornav icon indicating copy to clipboard operation
vectornav copied to clipboard

use composable containers to avoid message passing overhead

Open berndpfrommer opened this issue 2 years ago • 1 comments

Composable containers (nodelets in ROS1) avoid the overhead for message conversion which reduces CPU consumption by close to 50%.

Incredibly, in ROS2 the parameter file format changes when running as a composable nodes (https://github.com/ros2/launch_ros/issues/156). This necessitates new config files, sorry.

Performance comparison for VN 100 running at 800Hz on Xavier AGX, subscribed to /vectornav/imu_uncompensated

  • composable container: 22% CPU load (combined nodes)
  • two separate nodes (status quo): 16% vector nav node + 26% vn_sensor_msgs = 42% CPU

berndpfrommer avatar Jan 26 '23 22:01 berndpfrommer

Sorry lost track of this...

Does it affect the behavior of the node for users that are already using the node as is?

dawonn avatar Apr 19 '23 12:04 dawonn

There is no difference. It's just that now the user has an option to launch as a composable node. Please have a look at it again. I merged in the changes that happened over the last 1.5 years. Thanks!

berndpfrommer avatar Jun 14 '24 17:06 berndpfrommer