Navigation
Navigation摘要
2D导航堆栈从里程表,传感器流和目标姿势中获取信息,并输出安全安全的速度指令,这些指令将发送到移动机器人上
navigation概述
navigation从里程计和传感器数据流获取信息,转换速度命令发送给移动机器人.但是,想要在任意机器人上使用导航功能包集有点复杂.使用导航包集的先决条件是:
1.机器人必须运行ROS
2.有一个tf变换树
3.使用正确的ROS消息类型发布传感器数据
硬件需求
导航功能包集虽然被设计成尽可能的通用,在使用时仍然有三个主要的硬件限制:
1.navigation是为差分驱动的完全约束的轮式机器人设计的,它假设移动机器人受到理想的运动指令的控制并可实现预期的结果,指令格式为:X速度分量,y速度分量,角速度(theta)分量
2.它需要在移动机器人上安装一个平面激光雷达.这个激光雷达用于构建地图和定位.
3.导航功能包集是为正方形的机器人开发的,所以方形或圆形的机器人是性能最好的.它也可以工作在任意形状和大小的机器人上,但是较大的矩形机器人将很难通过狭窄的空间,例如门道.
假定我们已经以特定方式配置机器人,导航功能包集将使其可以运动。上图概述了这种配置方式。白色的部分是必须且已实现的组件,灰色的部分是可选且已实现的组件,蓝色的部分是必须为每一个机器人平台创建的组件。以下章节将介绍使用导航功能包集的先决条件以及如何满足不同平台。