ROS(Robot Operating System,机器人操作系统)我相信大家或多或少都听过,在如今机器人领域突飞猛进的时代,ROS也得到飞速发展,下图展示了其各版本的发展历程。ROS的原型源自斯坦福大学人工智能实验室的项目,其首要设计目标是在机器人研发领域提高代码复用率,是用于编写机器人软件程序的一种具有高度灵活性的软件架构,该系统具有硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能。
![图一](https://img-blog.csdnimg.cn/20201103194824315.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h3cDIwMDk=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201103194937445.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h3cDIwMDk=,size_16,color_FFFFFF,t_70#pic_center)
ROS今年已经将近13个年头了,现已成为世界主流的机器人操作系统,其涵盖了导航定位、3D物体识别、运动规划、多关节机械臂运动控制、机器学习等,甚至可以让机器人协同完成打桌球、人机互动等高难度组合动作。今天我们主要带大家了解一下ROS中的导航功能包——Navigation,该功能包主要作用是实现机器人的定位、导航和避障功能,整个导航功能包的具体架构如图所示。