【ROS导航Navigation】二 | 坐标系 | 定位 | 导航约束

目录

致谢:ROS赵虚左老师

一、通过里程计定位

二、通过传感器定位

三、坐标系变换

四、导航约束条件

1.硬件

2.软件


致谢:ROS赵虚左老师

Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

参考赵虚左老师的实战教程

【ROS导航Navigation】二 | 坐标系 | 定位 | 导航约束_第1张图片

一、通过里程计定位

实时收集机器人的速度信息计算并发布机器人坐标系与父级参考系的相对关系(计步数)

  • 优点:里程计定位信息是连续的,没有离散的跳跃。
  • 缺点:里程计存在累计误差,不利于长距离或长期定位。

二、通过传感器定位

通过传感器收集外界环境信息通过匹配计算并发布机器人坐标系与父级参考系的相对关系(看地图)

  • 优点:比里程计定位更精准;
  • 缺点:传感器定位会出现跳变的情况,且传感器定位在标志物较少的环境下,其定位精度会大打折扣。

三、坐标系变换

上述两种定位实现中,机器人坐标系一般使用机器人模型中的

根坐标系(base_link 或 base_footprint)

里程计定位时,父级坐标系一般称之为 odom

如果通过传感器定位,父级参考系一般称之为 map

当二者结合使用时,map 和 odom 都是机器人模型根坐标系的父级,这是不符合坐标变换中"单继承"的原则的,所以,一般会将转换关系设置为: map -> doom -> base_link 或 base_footprint。

【ROS导航Navigation】二 | 坐标系 | 定位 | 导航约束_第2张图片

变为:

【ROS导航Navigation】二 | 坐标系 | 定位 | 导航约束_第3张图片

四、导航约束条件

1.硬件

虽然导航功能包集被设计成尽可能的通用,在使用时仍然有三个主要的硬件限制:

  1. 它是为差速驱动的轮式机器人设计的。它假设底盘受到理想的运动命令的控制并可实现预期的结果,命令的格式为:x速度分量,y速度分量,角速度(theta)分量

  2. 它需要在底盘上安装一个单线激光雷达。这个激光雷达用于构建地图和定位

  3. 导航功能包集是为正方形的机器人开发的,所以方形或圆形的机器人将是性能最好的。 它也可以工作在任意形状和大小的机器人上,但是较大的机器人将很难通过狭窄的空间。

2.软件

导航功能实现之前,需要搭建一些软件环境:

  1. 毋庸置疑的,必须先要安装 ROS

  2. 当前导航基于仿真环境,先保证上一章的机器人系统仿真可以正常执行

    在仿真环境下,机器人可以正常接收 /cmd_vel 消息,并发布里程计消息,传感器消息发布也正常,也即导航模块中的运动控制和环境感知实现完毕

后续导航实现中,我们主要关注于: 使用 SLAM 绘制地图、地图服务、自身定位与路径规划。

2023.11.15

渝北仙桃数据谷

你可能感兴趣的:(Ros,Ubuntu,学习,机器人)