最近终于把毕业的事情搞得七七八八了,准备开启ROS2的新坑。
ROS2已经推出有好几年了,遥记得18年底团队调研要将自动驾驶系统从Windows平台转到别的平台的时候,就有老师说要转这个。尽管当时就看出了这东西是个趋势,然而不经意间有同学说出“别人论文里面给的开源程序大多是ROS1的”这个鬼故事之后,ROS2被当场枪毙。
时光飞逝,转眼间三年过去了,我也终于要脱离苦海。回头一看,ROS2的普及率还是那个死样子。现在在网上搜ROS的资料,绝大部分还是ROS1的。唯一一点小水花,恐怕是前段时间小米在发布会上搞出了个不知道有什么用的机器狗“铁蛋”用到ROS2。
那问题就来了,为什么这种情况下还要学ROS2?ROS1不香吗?
要回答这个问题,我觉得得分情况讨论。如果你的开发或者科研需求只是在单体机器人上就可以完成的话(也就是只会用到一个电脑或者一块板子),那么ROS1可能就OK了。
换成ROS2的好处只有两个小点:
- 不用每次在启动自己的程序之前,开个终端打一句:
roscore
- ROS2的体积比较小,安装起来比较快。