美文网首页
slam小结

slam小结

作者: 月巴大叔 | 来源:发表于2019-03-14 11:28 被阅读0次

对于差分式机器人的slam问题,我们可以按步骤分开讲。为了去实现这个问题,我们首先需要知道我们在环境中的位置,即机器人实现定位;其次,我们还需要知道我们周围的环境,是否有障碍物在我们周围,哪条道路可以行走。对于这个的研究,可以总结归纳为三个点:地图的精确建模,机器人的准确定位,路径实时规划。

在turtlebot上使用相机进行定位建图,我使用的是华硕的相机,xtion相机是深度相机,携带多个摄像头,能读出每个像素离相机的距离,是比较好的选择之一。具体的流程按照创客网上的配置是没有任何的问题的,根据Turtlebot入门-目录 - 创客智造。但是相机局限性有时会比较大,我们也可以采用激光雷达进行turtlebot的slam操作。我采用的是hokuyo的北洋激光雷达,雷达的基本配置启动文件和地图建立gmapping文件的配置在上面链接的教程里是有提到的,但是对于定位的amcl.launch文件我们需要自己去写。

        对于操作的基本流程,我们首先要启动turtlebot的基本驱动(因为我们需要待会用到turtlebot的里程计数据,在rviz上显示实时位置。),再启动gmapping的定位建图,将周围环境的障碍物以地图形式建立并保存。这是重要的步骤,只有有了正确的地图,在接下来定位导航时机器人才能准确的进行实时的路径规划,成功避开障碍物。最后,我们就可以采用先前建立的地图,使用amcl.launch来进行定位导航了,amcl还调用了move_base.yaml文件,他能够为机器人计算发送速度。local_planning.yaml文件可以为机器人实时规划出路径。

        这是turtlebot采用gmapping slam的基本步骤。

        对于navigation的配置,我们需要使用到tf。因为我们需要自己去放置相机或者激光雷达,所以在不同地方我们的设备和机器人的中心之间的坐标是不同的。我们将机器人的坐标设为base_laser,将机器人的移动基座标设为base_link,

假设我们知道激光器在移动基座的中心点之上10厘米和向前20厘米处安装。这给了我们一个将“base_link”坐标系与“base_laser”坐标系相关联的平移值和偏移值。我们可以实现转换,从“base_link”坐标系到“base_laser”坐标系的数据,我们必须应用(x:0.1m,y:0.0m,z:0.2m)的转换,并从“ base_laser“坐标系到”base_link“坐标系,我们必须应用相反的变换(x:-0.1m,y:0.0m,z:-0.20m)。在转换好坐标后,对于后面的机器人判断障碍物信息是必须的。

       navigation中 move_base 的配置,将全局路径和局部路径规划程序连接在一起,以完成全局导航任务。还维护两个costmap,一个用于全局路径规划,一个用于局部路径规划。

        对于机器人的运动,我们将要配置base_local_planner(本地规划配置),它将根据规划的全局路径计算发布给机器人的速度控制指令。我们有三个通用配置文件:

1        costmap_commn_params.yaml(代价地图):用来存储周围环境的障碍物信息。里面有几个参数我们将能在运行终端看到。如obstacle_range(检测到的最大范围值),raytace_range(检测到的自由空间的最大范围)。

2        global_costmap_params.yanl(全局规划配置文件):用来存储配置全局代价地图的参数。

3        local_costmap_params.yaml(本地规划配置文件):存储本地代价地图的配置参数。

        在turtlebot中,还有dwa_local_planner的文件,也用来局部规划,这个路径规划文件对于具有合理加速度机器人是较好的。总体的流程图我们可认为是:

  导航包使用TF来确定机器人在地图中的位置,并将传感器数据与静态地图相关联。然而,TF不提供关于机器人的速度的任何信息。因此,导航包要求任何里程源都通过ROS发布TF变换和nav_msgs/Odometry消息。

        关于global_planner和local_planner的关系图,如下:

相关文章

  • slam小结

    对于差分式机器人的slam问题,我们可以按步骤分开讲。为了去实现这个问题,我们首先需要知道我们在环境中的位置,即机...

  • SLAM学习 未完小结

    从第4章开始,遇到许多公式,就学不太动了。较难细究其中的原理推导过程,前后章节之间的联系,只好先大致浏览一遍了。个...

  • SLAM--优秀文集

    1、SLAM技术概述 1)激光SLAM与视觉SLAM的现状与趋势 2) SLAM的前世今生 终于有人说清楚了 | ...

  • SLAM for dummies

    About SLAM DEFINITION: SLAM is concerned with the problem...

  • 基于ROS的SLAM学习笔记1

    基于ROS的SLAM开源库学习笔记 一直听说SLAM, SLAM。 但是实际上,除了SLAM是持续定位和生成地图的...

  • SLAM 0 初识

    0 初步认知 知乎Live:畅谈 SLAM 即时定位建图技术视觉SLAM漫淡 SLAM:simultaneous ...

  • ORB_SLAM2功能包的构建和在ROS中的应用

    ORB_SLAM2简介 ORB_SLAM2官方给出的简介是Real-Time SLAM for Monocular...

  • SLAM论文相关

    1. SLAM论文 1.1 SOFT-SLAM:Computationally efficient stereo ...

  • Simultaneous localization and Ma

    Graph SLAM Graph SLAM 是众多SLAM方法中的一种 约束:对于6个姿势: 一初始位置约束 5个...

  • 基于Deep Learning SLAM算法 ICRA 2019

    我们总结了ICRA 2019 SLAM相关论文,分为四个部分: 深度学习+传统SLAM 传统的SLAM / 3D视...

网友评论

      本文标题:slam小结

      本文链接:https://www.haomeiwen.com/subject/oykqmqtx.html