当前位置: 首页 > news >正文

XTDrone配置ALOAM三维激光SLAM环境

参考链接:

https://www.yuque.com/xtdrone/manual_cn/3d_laserslam

https://blog.csdn.net/cotex_A9/article/details/135931951

前提是已经配置到了 XTDrone 的基础环境,可以编译 px4,以及运行 ros

安装编译 ALOAM

安装 ALOAM 按照官网链接即可,注意需要安装 ros ,ceres,PCL 第三方库:

安装 ceres

sudo apt-get install cmake
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libsuitesparse-dev

之后下载压缩包,压缩包官网链接:http://ceres-solver.org/ceres-solver-2.2.0.tar.gz

在根目录下创建一个文件夹来存放 ceres 源码以及编译:

tar zxf ceres-solver-2.2.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.2.0
make -j3
make test
make install

我的是这样:

PCL 库安装

因为我的系统本来就已经有 PCL 库,因此直接就编译过了

重编译 catkin_ws

在安装完 aloam 依赖的库后,将 aloam 复制到 catkin_ws 的 src 目录下,用于重新编译:

cp -r ~/XTDrone/sensing/slam/laser_slam/A-LOAM ~/catkin_ws/src/
cp -r ~/XTDrone/sitl_config/gazebo_plugin/velodyne/* ~/catkin_ws/src/ #这里是3D激光雷达插件
cd ~/catkin_ws
catkin_make

我这边按照上述官网的步骤来重编的话,是有报错的,找不到一些库,因此需要修改 ALOAM 的代码:

报错:

根据这些报错提示,修改对应文件中的代码:

报错:

报错:

注意这个报错有多处,上面只是示例了一处,根据报错信息的文件,一个个修改即可。

非报错的修改

需要将 A-LOAM 中所有cpp文件中的主题类的 /camera_init 修改为 camera_init。这个涉及到后续运行 rviz 中的坐标系转换问题,没有修改的话,后续的 rviz 会报错很多坐标系无法转换

这个有很多,注意一个个修改。

修改完上述后,返回 catkin_ws 目录编译。

编译完成后,检查 ~/.bashrc 文件中是否有添加 source ~/catkin_ws/devel/setup.bash

运行仿真

运行 px4 的仿真文件,由于我的电脑直接运行 outdoor1 模型的话,主题不对,因此需要按官网的说明,修改 outdoor1.launch 文件中的飞机模型:

roslaunch px4 outdoor1.launch

再运行雷达slam的仿真:

roslaunch aloam_velodyne aloam_velodyne_HDL_32.launch

如果遇到这种报错,就是没有 source devel目录下的 setup.bash,source一下即可:

http://www.xdnf.cn/news/541441.html

相关文章:

  • GitLab部署
  • std::chrono类的简单使用实例及分析
  • 传输层协议:UDP和TCP
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 如何获取目录大小?
  • 从Cookie到Token:Web开发认证机制演进史(保姆级拆解)
  • 深入解析MATLAB codegen生成MEX文件的原理与优势
  • PostgreSQL初体验
  • 深入解析 HTTP 中的 GET 请求与 POST 请求​
  • LinkedList源码分析
  • Kotlin与物联网(IoT):Android Things开发探索
  • Ubuntu 22.04安装zabbix7.0.0图形中文乱码
  • ubuntu chrome无法使用搜狗拼音输入法,无法输入中文
  • python打卡训练营打卡记录day31
  • 使用 LibreOffice 实现各种文档格式转换(支持任何开发语言调用 和 Linux + Windows 环境)[全网首发,保姆级教程,建议收藏]
  • 微软开放代理网络愿景
  • JVM 性能问题排查实战10连击
  • 微软宣布的五大重要事项|AI日报0520
  • mac上安装 Rust 开发环境
  • macOS 效率工具对比分析:Raycast、Alfred、uTools、Spotlight
  • 日志根因分析:Elastic Observability 的异常检测与日志分类功能
  • 游戏引擎学习第298天:改进排序键 - 第1部分
  • 从零开始创建React项目及制作页面
  • Android 绘制折线图
  • Java期末总复习 编程题(偏基础)
  • OSI 网络七层模型中的物理层、数据链路层、网络层
  • 利用basee64特性 -- BYUCTF 2025 JWTF
  • 数据库(二):ORM技术
  • 大模型(3)——RAG(Retrieval-Augmented Generation,检索增强生成)
  • 【SPIN】PROMELA数据与程序结构详解(SPIN学习系列--7)
  • 【大模型】SpringBoot 整合Spring AI 对接主流大模型平台实战详解