关于ROS2高频发送图像(Image)频繁丢帧的解决办法

一、遇到的问题

 使用ROS2高频发送分辨率比较大的图像时候,接收端有可能出现频发丢帧的现象

二、解决办法:

1、更换DDS

系统默认DDS一般为: rmw_fastrtps_cpp

需要更换为:rmw_cyclonedds_cpp

更换方法参考:http://dev.ros2.fishros.com/doc/Installation/DDS-Implementations/Working-with-Eclipse-CycloneDDS.html

   1.1 从ROS 2 apt仓库安装:

  sudo apt install ros-foxy-rmw-cyclonedds-cpp

   1.2切换到rmw_cyclonedds

   通过指定环境变量,从其他rmw切换到rmw_cyclonedds。

   export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

2、扩大接受缓存

  DDS tuning information — ROS 2 Documentation: Foxy documentation

sudo sysctl -w net.core.rmem_max=2147483647

三、其他说明

1、扩大接受缓存,能够有效减少图像数据丢帧频率,但是图像是否会有更大延时,需要进一步验证

2、切换dds,能够进一步减少丢帧现象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值