一. 起源
ROS 全称 Robot Operating
System,即机器人操作系统. 2010年3月由Willow Garage公司发布第一个版本Box TurtleBox
Turtle,公司中文名翻译为柳树车库公司,为啥是车库公司呢,因为和Apple一样,也是诞生于一个车库.顾名思义,ROS创建之初,主要是为机器人软件设计提供一套设计框架,以实现更高效的机器人软件设计.
二. 发展.
自2010年起,ROS每年会发布一个版本,命名方式参考Ubuntu,即按照字母表顺序命名,例如第一个版本为Box TurtleBox
Turtle,以B开头,第二个版本为C Turtle,以C开头,以此类推,目前最先版本为Melodic Morenia.
经过10年发展,ROS系统的应用范围已经从最初的服务机器人领域扩大到工业机器人,无人机,自动驾驶等领域.在机器人领域,不论是服务型机器人还是工业机器人,ROS系统占主流部分,近年来随着智能驾驶,无人驾驶的兴起,ROS系统在此领域也得到越来越多的应用,例如针对L4,L5级别的自动驾驶平台Autoware和百度的Apollo都是以ROS中间件开发的.因为ROS系统在自动驾驶领域存在缺陷,目前Apollo已经使用自己开发的中间件.
Autoware是一个较早基于ROS系统的实现的自动驾驶系统,源于名古屋大学,经过几年发展,目前由Apex.AI、Tier IV
和开源协作组织 Linaro 96Boards 共同宣布成立 Autoware
基金会,致力于发展与推广Autoware,目前其成员包含Arm、 Autocore,、AutonomouStuff、华为、Linaro
96Boards、LG、Parkopedia、StreetDrone、Tier
IV、Velodyne、丰田研究院高级研发公司(TRI-AD),英特尔、速腾聚创和赛灵思等重量级科技公司.
经过10年发展,ROS系统的应用范围已经从最初的服务机器人领域扩大到工业机器人,无人机,自动驾驶等领域.在机器人领域,不论是服务型机器人还是工业机器人,ROS系统占主流部分,近年来随着智能驾驶,无人驾驶的兴起,ROS系统在此领域也得到越来越多的应用,例如针对L4,L5级别的自动驾驶平台Autoware和百度的Apollo都是以ROS中间件开发的.因为ROS系统在自动驾驶领域存在缺陷,目前Apollo已经使用自己开发的中间件.
三. 如何学习:
ROS有不同的版本,每个版本其依赖的平台也有差异,目前ROS系统也在快速迭代发展中.学习ROS系统需要有C++,Linux
shell,Python等基础,对于刚学习者,可能会有比较多的坑要踩.本文后面会由浅入深,学习ROS编程.
因为ROS2.0目前还在开发之中,还不稳定.所以后续介绍会以ROS1.0为主.ROS1.0目前较新两个LTS版本分别是Kinetic Kame和Melodic Morenia,前者支持到2021年4月,后者支持到2023年5月.后面介绍会以Kinetic为主,因为Melodic是2018年3月份发布,目前市面上还是以Kinetic为主的.
因为ROS2.0目前还在开发之中,还不稳定.所以后续介绍会以ROS1.0为主.ROS1.0目前较新两个LTS版本分别是Kinetic Kame和Melodic Morenia,前者支持到2021年4月,后者支持到2023年5月.后面介绍会以Kinetic为主,因为Melodic是2018年3月份发布,目前市面上还是以Kinetic为主的.