ROS(Robot Operating System,机器人操作系统)我相信大家或多或少都听过,在如今机器人领域突飞猛进的时代,ROS也得到飞速发展,下图展示了其各版本的发展历程。ROS的原型源自斯坦福大学人工智能实验室的项目,其首要设计目标是在机器人研发领域提高代码复用率,是用于编写机器人软件程序的一种具有高度灵活性的软件架构,该系统具有硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能。
ROS今年已经将近13个年头了,现已成为世界主流的机器人操作系统,其涵盖了导航定位、3D物体识别、运动规划、多关节机械臂运动控制、机器学习等,甚至可以让机器人协同完成打桌球、人机互动等高难度组合动作。今天我们主要带大家了解一下ROS中的导航功能包——Navigation,该功能包主要作用是实现机器人的定位、导航和避障功能,整个导航功能包的具体架构如图所示。
map_server : 称为地图服务器,用于地图的保存与导入;
costmap_2D:主要用于产生二维代价地图,以及提供各种相关的函数;
robot_pose_ekf:扩展卡尔曼