Isaac GEMS 导航堆栈简介
ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html
导航堆栈必须执行以下高级功能:
-
Mapping 映射用于自动创建操作环境的地图。 该地图既用于定位,又用于路径规划。 它可以由具有附加功能的人进行注释,例如禁止机器人导航到某些区域.
-
定位以估计机器人在预建地图中的当前姿势。 定位需要全局工作,即当机器人的当前姿势完全未知时,例如在机器人打开后,只需要根据当前测量值进行计算,以及局部,即当机器人的姿势已经确定时 近似已知的和当前的测量用于改进估计。
-
避障机器人周围的局部地图是用机器人不应该撞到的障碍物创建的。 该本地地图使用最新测量值不断更新,并用于安全地导航机器人绕过意想不到的障碍物。 障碍物也可以组合成集群,这些集群可以随着时间的推移进行跟踪,使用语义标签进行分类,并预测未来。
-
规划 给定预期目标、环境地图和机器人周围的直接障碍物,创建一个计划,安全地将机器人导航到预期目标。 这在全局发生,即使用基于图的搜索算法计算从当前位姿到目标的最短路径,在局部发生,即使用优化算法计算最佳控制命令的轨迹以遵循所需路径。
导航堆栈应高度重视安全性:机器人不应因撞到障碍物而造成任何碰撞。 当存在有效的、无碰撞的路径时,机器人应该能够找到它并安全地通过它; 然而,出于安全和实际原因,机器人可能无法在狭窄的空间内导航。 Local Planner 和 Global Planner 都具有允许您调整导航余量的参数(即机器人在绕过障碍物时与障碍物的距离)。 此边距必须大于或等于地图的像元大小。 有关详细信息,请参阅调整导航堆栈部分。
入门
按照安装文档的说明进行操作,以确保您的系统设置正确。 确保您知道您正在使用哪个版本的 Isaac,并且最好始终使用最新的可用版本。
熟悉导航堆栈的最佳方法是在模拟中运行它。 最简单的方法是通过 flatsim。 flatsim 应用程序使用简单的范围扫描模拟和完整的导航堆栈。 使用以下命令运行 flatsim 应用程序:
bob@desktop:~/isaac/sdk$ bazel run //packages/flatsim/apps:flatsim
默认情况下,机器人会四处漫游,从一个随机点行驶到下一个随机点。
要查看发生了什么,请在 Chrome 中打开位于 http://localhost:3000 的可视化前端。 (此版本未正式支持其他浏览器。)尝试加载该页面时,请确保 flatsim 应用程序正在运行。
提示
有关在 Jetson 上运行应用程序的信息,请参阅在 Jetson 上部署和运行部分。 在将 flatsim 部署到设备时,确保 Jetson 设备的电源模式设置为 0 (MAXN)。