一、说明
如何建立ROS2的导航地图?在ROS2的服务器中,其中有一个地图服务器,该服务器与参数服务器类同,当外界节点请求的时候,将新的地图导入导航系统中。注意,这里新的地图就是因为场景足够大时,一张地图覆盖不了物理场景,于是让不同地图的拼接辗转导入。
在本教程中,我将向您展示如何使用命令行在运行时加载新地图。我们将使用 ROS 2。本教程的用例是一个需要在多层建筑的楼层之间导航的机器人。
更新:有一种新方法可以在运行时加载新地图进行导航。您可以使用 Nav 2 Simple Commander API 提供的changeMap() 方法。
二、导航系统简介
ROS 2的Navigation是一种导航系统,能够让机器人在未知环境中自主导航。Navigation系统由一组相关的节点和工具组成,包括:
-
AMCL (Adaptive Monte Carlo Localization):用于机器人在已知地图上进行自我定位,以便机器人能够知道自己在环境中的位置。
-
Costmap2D:用于构建环境地图并计算机器人的移动代价。Costmap2D将感应器数据聚合为高分辨率地图,并将不同类型的代价与不同类型的障碍物关联起来。
-
Move Base:用于规划机器人的运动轨迹以达到目标位置。Move Base使用AMCL的定位信息和Costmap2D的代价信息来规划机器人的运动轨迹。
-
RViz: