待解决
ros2 dds共享内存这块到底怎么榨性能啊兄弟们
1132705544
2026/07/25 09:12
项目上现在跑ros2 humble,机器人本体里4个节点全是同一进程组起来的,话题频率高的有几个,一个200hz的力矩指令,一个1khz的关节状态,还有几个100hz的传感器融合结果。用的cyclonedds,iceoryx共享内存那个zerocopy transport也开了,按理说走共享内存应该很快对吧,但我用rt测试从发布回调到订阅回调算出来单向延迟还要80us左右,cpu还吃挺高,i7-12700的单核已经跑到40%多了。
想问下做过ros2 dds调优的兄弟们,共享内存路径下还有啥参数能继续榨?我现在transport_mode用的是intra-process那个,感觉应该还能再压一压。另外domain id、共享内存队列深度那些参数实际影响大不大,有没有量化过的兄弟分享下数据。还有就是消息定义里那种嵌套的std_msgs和sensor_msgs类型,pou走共享内存的时候是不是其实没完全共享底层数据?这个我看官方文档没写明白。
81 4