鱼和熊掌我要兼得:ROS2适合量产吗
PUBLIC之前在学校的时候用ROS,在DJI的时候用一整套DJI自研的中间件。
大家都认可ROS的易用性,但同时觉得它几乎成了“低效”和“实验室原型”的代名词。
所以在产品上,DJI毫不犹豫地选择了高效路线,搭建了一整套自研中间件。
我长期关注C++的zero-overhead principle信条,所以始终觉得很不服气:为什么中间件就不能既好用,又高效?
很有趣,最近用了一些时间做了一些实验,感觉整个过程是一个很值得讨论的技巧分享。
所以记录下来。
先说结论:在一个接近真实场景的case里面,从第一个版本的144% CPU占用,优化到了3.8%,提高了接近40倍的效率。
