目录
前言
在学习ROS2之前,你也许听说或使用过ROS1,ROS2从名称上来看,不就是在第二代ROS么,变化能有多大?
我们就ROS1和ROS2做一个对比,看看这其中的变化到底有多大。
ROS1的局限性
首先来看第一个问题:为什么会有ROS2?Why ROS2?
当然是因为ROS1有一些问题了,具体是什么问题呢?从ROS发展的历史中,我们似乎可以找到答案。
ROS最早的设计目标就是开发这样一款PR2家庭服务机器人,这款机器人绝大部分时间都是独立工作,为了让他具备充足的能力:
- 它搭载了工作站级别的计算平台和各种先进的通信设备,不用担忧算力不够,有足够的实力支持各种复杂的实时运算和处理;
- 由于是单兵作战,通信绝大部分都自己内部完成,那就可以用有线连接,保证了良好的网络连接,没有丢数据或者黑客入侵的风险;
- 这台机器人最终虽然小批量生产,但是由于高昂的成本和售价,也只能用于学术研究。
随着ROS的普及,应用ROS的机器人类型已经和PR2机器人有了天翻地覆的问题,也并不具备PR2这样的条件,那原本针对PR2设计的软件框架,就会出现一些问题,比如:
- 要在资源有限的嵌入式系统中运行;
- 要在有干扰的地方保证通信的可靠性;
- 要做成产品走向市场,甚至用在自动驾驶汽车和航天机器人上。
类似的问题不断涌现,致使更加适合各种机器人应用的新一代ROS诞生了,也就是我们课程的主角——ROS2。
全新的ROS2
ROS2怀揣变革智能机器人时代的历史使命,在设计之初,就考虑到要满足各种各样机器人应用的需求。<