【工程记录】利用ORB-SLAM2实现导航包重定位

【开发背景】

想必对 Movebase 导航包熟悉的同学都知道,Movebase需要一个模块给他提供机器人的定位信息,通常我们用 AMCL 包来提供定位,所以 AMCL + Movebase是比较古老而经典的一套定位导航控制方案。针对环境简单的小型室内场景来说,这套方案足以达到我们的使用需求。然而,AMCL定位有个不好的毛病,就是需要人为给定一个机器人初始的大概位置,这对于用户来说是很不友好的。用户肯定是希望,不管何时,他将机器人扔到一个已建好地图的环境中,机器人就能进行自定位,从而开始完成导航目标。那有没有办法实现这种自定位呢?答案是肯定的。

【开发环境】

硬件:

小幂双目相机(其实只要是个双目相机既可以)

单线激光雷达

因特尔NUC

软件:

Ubuntu 18.04

ROS Melodic

ORB-SLAM2

Gmapping

AMCL + Movebase

【源码获取】

1、下载ORB-SLAM2

GitHub - appliedAI-Initiative/orb_slam_2_ros: A ROS implementation of ORB_SLAM2A ROS implementation of ORB_SLAM2. Contribute to appliedAI-Initiative/orb_slam_2_ros development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/appliedAI-Initiative/orb_slam_2_ros2、下载Gmapping

GitHub - ros-perception/slam_gmapping: http://www.ros.org/wiki/slam_gmappinghttp://www.ros.org/wiki/slam_gmapping. Contribute to ros-perception/slam_gmapping development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/ros-perception/slam_gmapping3、下载导航包

GitHub - ros-planning/navigation: ROS Navigation stack. Code for finding where the robot is and how it can get somewhere else.ROS Navigation stack. Code for finding where the robot is and how it can get somewhere else. - GitHub - ros-planning/navigation: ROS Navigation stack. Code for finding where the robot is and how it can get somewhere else.icon-default.png?t=N7T8https://github.com/ros-planning/navigation4、至于双目相机的ROS驱动,以及单线激光雷达的ROS驱动就自行寻找下载吧,毕竟每个人手头的设备都不一样,按照自己的工具来。

【方案设计】

1、用ORB-SLAM2建图

2、用Gmapping建图

3、求取 ORB地图 和 激光扫描地图 间的坐标转换关系(对齐两个坐标系的方法有很多,可以采用三对点求解,也可以基于优化的方法用一系列点去逼近,或者最简单的方法就是直接按照10厘米一对点的粒度把两个坐标系下的点保存下来,之后使用的时候直接查表即可)

4、实际应用时,先利用 ORB-SLAM2 进行重定位,获得机器人在ORB地图中的位姿,然后通过坐标转换关系算得二维栅格地图下的对应位置,将该位置发布给AMCL模块;AMCL模块以此作为初始位姿开始工作,同时ORB那边就可以结束了。

【后言】

上面的方案描述比较粗,因为时间有限,大家可以照着这个思路先做,然后我后面也会慢慢抽时间补齐的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值