ROS学习 进程通信 nodelet
背景
最近在学习源码时,发现了一些以前不知道的ROS(Robot Operating System)用法:nodelet
。这
是一种在ROS中用于优化节点间通信的工具,主要用于减少跨进程通信的开销,特别是在处理大容量数据(如图像和点云)时,能够显著提高数据传输的效率,减少延迟和阻塞。
例如,某个相机/雷达的感知驱动节点通过A、B两个节点发挥作用,其中A节点负责发布点云/图片,B节点负责订阅并附加生成感知数据。AB之间通信非常频繁就产生了延迟问题,为了优化此现象,Nodelet将多个节点集成到一个进程中,通过传递指向数据的指针来实现零拷贝通信,从而减少数据传输的时间和开销。这种设计使得Nodelets能够在同一进程中运行多个算法,通过共享内存进行快速的数据交换
安装
sudo apt install ros-<<ROS_DISTRO>>-nodelet-tutorial-math
基本使用
TODO
阅读参考文献
参考文献
ROS理论与实践-10.4 nodelet
nodelet - ROS Wiki
nodelet/Tutorials/Running a nodelet - ROS Wiki
ROS nodelet的使用_ros nodelet 怎么使用-CSDN博客
ROS学习 | ROS1 Nodelets 与 ROS2 rclcpp_components 多节点运行以及功能插件