硬件技术的飞速发展在促进机器人领域快速发展和复杂化的同时,也对机器人系统的软件开发提出了巨大挑战。机器人平台与硬件设备越来越丰富,致使软件代码的复用性和模块化需求越发强烈,而已有的机器人系统又不能很好地适应需求。相比硬件开发,软件开发明显力不从心。为迎接机器人软件开发面临的巨大挑战,全球各地的开发者与研究机构纷纷投入机器人通用软件框架的研发工作当中。在近几年里,产生了多种优秀的机器人软件框架,为软件开发工作提供了极大的便利,其中最为优秀的软件框架之一就是机器人操作系统(Robot Operating System,ROS)。
ROS包括一个类似于操作系统的硬件抽象,但它不是一个传统的操作系统,它具有可用于异构硬件的特性。此外,它是一个机器人软件平台,提供了专门为机器人开发应用程序的各种开发环境。
ROS是一个用于编写机器人软件的灵活框架,它集成了大量的工具、库、协议,提供了类似操作系统所提供的功能,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,可以极大简化繁杂多样的机器人平台下的复杂任务创建与稳定行为控制。
过去我们要用一样东西,必需要自己会制作。而现在,我们只需要会用,甚至我们可以继续开发出新的用法。ROS就是向我们传达这样一个理念,关于机器人的许多算法,我们只需主要理解其优点与用法而不用再死扣算法,就可以设计出一个功能十分丰富且智能的机器人。