ROS联合Webots实现3d建图(一)Ubuntu20.04 A_LOAM环境搭建(完美运行)

注意:

  • 再学习本系列教程时,应该已经安装过ROS了并且需要有一些ROS的基本知识

ubuntu版本:20.04
webots版本:2021a
ros版本:noetic

1. A_LOAM建图算法介绍

A_LOAM是由港科大沈老师组的Shaozu Cao根据LOAM源码改写的A-LOAM版本。相比于原始的LOAM开源代码,A-LOAM中坐标系定义较为清晰,利用Ceres开源优化库,简化了后端优化求解过程,较容易理解。与LOAM类似,A-LOAM可分为三部分:scanRegistration, odometry, mapping。其中,scanRegistration部分主要负责实时从原始激光雷达点云中提取线和面特征点,odometry部分负责利用scanRegistration部分提取出的特征点,关联特征并计算估计帧间的相对运,mapping部分负责以1Hz的频率更新维护特征地图,同时利用帧到地图的配准,提高里程计轨迹精度。

LOAM论文地址

LOAM论文解析地址

2. 安装 A_LOAM

Github开源地址:https://github.com/HKUST-Aerial-Robotics/A-LOAM

$ cd ~/catkin_ws/src
$ git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git

下载完源码后直接编译是不能通过的,需要进行一些修改才行。

可以看到在A_LOAM/src文件夹下有四个.cpp文件,分别为kittiHelper.cpp;laserMapping.cpp;laserOdometry.cpp;scanRegistration.cpp

2.1 修改方法:

  • 将四个.cpp文件中的/camera_init修改为camera_init
  • scanRegistration.cpp中的 #include <opencv/cv.h> 修改为#include <opencv2/imgproc.hpp>
  • 修改kittiHelper.cppCV_LOAD_IMAGE_GRAYSCALEcv::IMREAD_GRAYSCALE

2.2 修改完成后进入工作空间根目录,过程如下所示:

$ cd ~/catkin_ws/
$ catkin_make

编译如果出现以下错误:

error: #error PCL requires C++14 or above

解决办法
在CMakeLists.txt中添加,如下指令即可成功编译

set( CMAKE_CXX_STANDARD 14)

2.测试

下载nsh_indoor_outdoor.bag 测试数据到你的YOUR_DATASET_FOLDER

$ roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
$ rosbag play YOUR_DATASET_FOLDER/nsh_indoor_outdoor.bag

效果如下所示:

结语

本文也是基于笔者的学习和使用经验总结的,主观性较强,如果有哪些不对的地方或者不明白的地方,欢迎评论区留言交流~

为了能和读者进一步讨论问题,建立了一个微信群,方便给大家解答问题,也可以一起讨论问题。

加群链接

✌Bye

ROS联合Webots实现3d建图(一)Ubuntu20.04 A_LOAM环境搭建(完美运行)相关推荐

  1. ROS联合webots实战案例目录

    注意: 在学习本系列教程时,应该已经安装过ROS了并且需要有一些ROS的基本知识 这个教程能手把手带领大家解决webots和ROS联合仿真的问题,我也是摸爬滚打完成的,希望能帮助到大家. 后续依旧会发 ...

  2. ROS联合Webots之舵轮篇-搭建舵轮底盘

    Webots搭建麦克纳姆轮底盘教程 ubuntu版本:20.04 webots版本:2021a ros版本:noetic 0.前言 之前笔者出过ROS联合webots开发教程,在教程中使用的是双轮差动 ...

  3. 开源自主导航小车MickX4(八)LeGo-LOAM 室外3D建图

    开源自主导航小车MickX4(八)LeGo-LOAM 室外3D建图 1 安装 LeGO-LOAM 1.1安装依赖项 2 运行 LeGO-LOAM 2.1 运行论文demo 2.2 修改配置文件 2.3 ...

  4. 使用ros3d.js实现web 端3D建图

    使用ros3d.js实现web 端3D建图 使用ros3d.js实现web 端3D建图 前端资源下载: ros3d地图与小车模型显示-机器学习文档类资源-CSDN下载

  5. 基于禾赛32线雷达和Xsens MTi-G-710 组合导航模块,松灵Scout mini 底盘实现 Cartographer 3D 建图过程

    序言:由于Cartographer 有很多的安装教程,所以这里就不再赘述.本人申明,本文中所用图片均为自己实验所得,仅供大家科研交流所用,不得用于其他任何商业用途! 首先展示一下在地下车库的建图效果. ...

  6. 关于机器人状态估计(10)-VSLAM与VIO的3D建图,重定位与世界观综述

    近期我国迎来了cov海啸,其实我也不知道我羊了没有,但并没有什么不舒服同时因为我没有测,那自然是没有羊,或者是薛定谔的羊. 近年另外一块工作的综述,这篇科普的同时,也会包含部分有价值的信息. 一. 摘 ...

  7. VSLAM与VIO的3D建图,重定位与世界观综述

    作者 | 紫川Purple River  编辑 | 汽车人 原文链接:zhuanlan.zhihu.com/p/592225457 点击下方卡片,关注"自动驾驶之心"公众号 ADA ...

  8. 开源自主导航小车MickX4(七)cartographer 室外3D建图

    开源自主导航小车MickX4(七)cartographer 室外3D建图 1 cartographer 3D建图demo 1.1 cartographer 安装 1.2 3D数据集建图 1.3 3D定 ...

  9. ROS 教程2 机器人雷达建图 蒙特卡洛定位 导航 路径规划 仿真

    ros 机器人雷达建图 蒙特卡洛定位 导航 路径规划 仿真 move_base gmapping acml 博文github 一.安装 turtlebot 移动机器人底座 进行导航 1.安装系统依赖 ...

最新文章

  1. 厦门大学和福州大学计算机专业哪个好,福州大学和厦门大学的土木工程哪个好...
  2. Hbase Memstore刷新方式与Region的数目上限
  3. LeetCode 551. Student Attendance Record I
  4. java quartz mybatisplus_Springboot+redis+SpringMVC+Mybatis Plus分布式开发系统源码
  5. docker镜像分层原理
  6. 【韦东山嵌入式Linux】Linux命令入门笔记
  7. 开源GIS(八)——开源GIS简史
  8. Excel利用宏进行VBA编程
  9. iOS开发常用网址(最全)
  10. Ubuntu18中调用cv2.imshow及PIL库遇到的bug “: cannot connect to X server”及display-im6.q16: unable to open X。。。
  11. 【OI备忘录】dalao博文收藏夹
  12. 分词并去停用词自定义函数:seg_word(sentence)
  13. 字体的报警 Font shape `TU/ptm/m/n‘ undefined(Font) using `TU/lmr/m/n‘ instead
  14. ZBrush自定义笔刷
  15. 韩剧你是我的命运分集大结局
  16. 计算机组成原理笔记——随机存取存储器
  17. 机器学习已迫在眉睫——李烨
  18. 实现nginx的https 功能报错:
  19. 2020年甘肃省土地利用数据(矢量)
  20. Codevs 3111 CYD啃骨头

热门文章

  1. PowerDesigner模型与数据类型
  2. 基于Java毕业设计高校毕业生就业满意度调查统计系统源码+系统+mysql+lw文档+部署软件
  3. 什么是JavaScript;JS的基本语法
  4. AD设计产品,手工贴片样机你不知道的小妙招
  5. java中的scanner是什么_Java中的Scanner类是什么?何时引入?
  6. 计算1900-2012年的所有天数
  7. 机房精密空调低压报警与故障维修方法
  8. 2020年中国西瓜种植面积、产量、进出口及消费现状分析「图」
  9. android备忘录怎么设置闹钟,荣耀备忘录的提醒闹钟怎么设置?
  10. 对Java新员工培训练习的评价:玩具