vectornav
vectornav copied to clipboard
use composable containers to avoid message passing overhead
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
Sorry lost track of this...
Does it affect the behavior of the node for users that are already using the node as is?
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!