机器人是一个系统工程,它涉及机械、电子、控制、通信、软件等诸多学科。 以前,开发一个机器人需要花很大的功夫,你需要设计机械、画电路板、写驱动程序、设计通信架构、组装集成、调试、以及编写各种感知决策和控制算法,每一个任务都需要花费大量的时间。因此像电影《钢铁侠》中那样,仅靠一个人的力量造出一个动力超强的人形机器人机甲是不可能的。
然而随着技术进步,机器人产业分工开始走向细致化、多层次化,如今的电
机、底盘、激光雷达、摄像头、机械臂等等元器件都有不同厂家专门生产。社会
分工加速了机器人行业的发展。而各个部件的集成就需要一个统一的软件平台,在机器人领域,这个平台就是机器人操作系统 ROS。
ROS 是一个适用于机器人编程的框架,这个框架把原本松散的零部件耦合在了一起,为他们提供了通信架构。ROS 虽然叫做操作系统,但并非 Windows、Mac那样通常意义的操作系统,它只是连接了操作系统和你开发的 ROS 应用程序,所以它也算是一个中间件,基于 ROS 的应用程序之间建立起了沟通的桥梁,所以也是运行在 Linux 上的运行环境,在这个环境上,机器人的感知、决策、控制算法可以更好的组织和运行。