ROS(Robot Operating System,机器人操作系统)我相信大家或多或少都听过,在如今机器人领域突飞猛进的时代,ROS也得到飞速发展,下图展示了其各版本的发展历程。ROS的原型源自斯坦福大学人工智能实验室的项目,其首要设计目标是在机器人研发领域提高代码复用率,是用于编写机器人软件程序的一种具有高度灵活性的软件架构,该系统具有硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能。


ROS今年已经将近13个年头了,现已成为世界主流的机器人操作系统,其涵盖了导航定位、3D物体识别、运动规划、多关节机械臂运动控制、机器学习等,甚至可以让机器人协同完成打桌球、人机互动等高难度组合动作。今天我们主要带大家了解一下ROS中的导航功能包——Navigation,该功能包主要作用是实现机器人的定位、导航和避障功能,整个导航功能包的具体架构如图所示。
map_server : 称为地图服务器,用于地图的保存与导入;
costmap_2D:主要用于产生二维代价地图,以及提供各种相关的函数;
robot_pose_ekf:扩展卡尔曼滤波器,输入里程计、IMU、VO中的任意两个或者三个信息后输出一个融合之后的pose;
voxel_grid:三维代价地图;
localization:里面包含两个定位用的功能包,fake_localization一般用于定位仿真,amcl根据机器人自身的里程数值以及地图特征,利用粒子滤波修正机

本文介绍了ROS中的Navigation功能包,主要用于机器人的定位、导航和避障。内容涉及map_server、costmap_2D、robot_pose_ekf等组件的作用,以及导航的关键流程:机器人定位、获取目标点和路径规划。导航功能包依赖传感器信息、里程计和TF变换,输出控制指令以驱动机器人运动。
最低0.47元/天 解锁文章
5580

被折叠的 条评论
为什么被折叠?



