A-LOAM工程笔记(一):工程编译及运行(ubuntu20.04 + ros_noetic)

1.编译前准备

需要提前安装Ceres solver和opencv和PCL,如果你安装的是完整版ROS那么PCL已经自动安装好了。安装好后将工程克隆到工作目录然后编译:

cd ~/catkin_ws/src/
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git aloam_velodyne 
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash

2.编译报错修复

(1) pcl需要c++14。这是c++编译器版本不对应引起的

解决方法:改A-LOAM下的CMakeLists.txt里的c++11为c++14

(2) fatal error: opencv/cv.h: No such file or directory。opencv版本不匹配

解决方法:改 A-LOAM/src/scanRegistration.cpp里的#include <opencv/cv.h>为#include <opencv2/imgproc.hpp>

(3) error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope。opencv版本不匹配

解决方法:改A-LOAM/src/kittiHelper.cpp里的CV_LOAD_IMAGE_GRAYCALE为cv::IMAGE_GRAYCALE

然后执行catkin_make,编译成功。

3.数据集下载

KITTI数据集下载参考:

KITTI全套数据百度云下载连接(免费永久有效)_kitti数据集下载-优快云博客
indoor_outdoor数据集下载:

https://drive.google.com/file/d/1s05tBQOLNEDDurlg48KiUWxCp-YqYyGH/view

参考该博主提供的免费全部数据集,开个网盘加速下载很快。

4.运行demo

(1)启动ROS

roscore

  (2)   启动loam launch文件

roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

(3)播放rosbag

cd $DATASET_DIR # 切换至存放 bag 目录
rosbag play nsh_indoor_outdoor.bag

(4)运行结果

       

<think>好的,我需要帮助用户在Ubuntu 20.04上配置和运行A-LOAM激光雷达SLAM算法。首先,我应该回顾下用户提供的引用内容,看看里面有没有有用的信息。引用[1]提到了Ubuntu20.04ros-noetic运行A-LOAM,还有相关的博客和代码资源。引用[2]则涉及在Ubuntu20.04编译运行其他SLAM算法,可能有些共同的依赖或配置步骤。 接下来,我需要整理出配置A-LOAM的步骤。通常来说,运行这类算法需要安装ROS、相关依赖库,然后下载源码编译。用户可能已经安装了ROS Noetic,但需要确认。如果没有安装,应该指导他们安装ROS。然后,安装必要的依赖,比如PCL、Eigen、Ceres Solver等。这些依赖在A-LOAM中可能用到。 然后,用户需要下载A-LOAM的源代码,可能来自GitHub。需要给出具体的git clone命令。之后,编译工作区,使用catkin_make或者catkin build。编译过程中可能会遇到问题,比如依赖缺失,这时候需要提示用户安装相应的包。 配置完成后,运行A-LOAM需要准备数据集或者实时激光雷达数据。可能需要下载示例bag文件,并给出运行launch文件的命令。同时,提醒用户检查话题名称是否匹配,可能需要修改launch文件中的设置。 另外,根据引用[1]中的信息,博客里可能有更详细的原理讲解和代码注释,可以建议用户参考。编译问题可能会遇到,比如PCL版本问题或Ceres的安装,需要给出具体的解决步骤,比如安装指定版本的Ceres或者调整CMakeLists.txt中的依赖路径。 最后,常见问题部分需要包括依赖冲突、话题不匹配和轨迹评估方法。用户可能遇到这些问题,需要提前给出解决方案,比如使用Docker容器隔离环境,或者使用evo工具评估轨迹精度。 整个过程中需要确保步骤清晰,命令准确,避免用户操作时出错。同时,参考引用中的资源,确保提供的信息可靠。如果有不确定的地方,比如某些依赖的具体版本,可能需要进步确认或者建议用户查看官方文档。</think>### 在 Ubuntu 20.04 上配置和运行 A-LOAM 的步骤 #### **1. 系统环境准备** - **安装 ROS Noetic** A-LOAM 依赖 ROS机器人操作系统),需先安装 ROS Noetic(对应 Ubuntu 20.04): ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install ros-noetic-desktop-full echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` - **安装依赖库** A-LOAM 需要以下依赖: ```bash sudo apt install git cmake libeigen3-dev libpcl-dev ros-noetic-catkin ros-noetic-pcl-ros # Ceres Solver(优化库) sudo apt install libceres-dev ``` --- #### **2. 下载并编译 A-LOAM** - **创建工作空间并克隆代码** ```bash mkdir -p ~/aloam_ws/src cd ~/aloam_ws/src git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git ``` - **编译源码** ```bash cd ~/aloam_ws catkin_make echo "source ~/aloam_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 若编译报错,检查 `CMakeLists.txt` 中依赖项路径是否正确(如 PCL、Eigen3)[^1]。 --- #### **3. 运行 A-LOAM** - **准备数据集** 下载包含激光雷达数据的 ROS bag 文件(如 KITTI 或 NTU VIRAL 数据集),例如: ```bash wget [数据集链接] ``` - **启动 A-LOAM** ```bash roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch rosbag play [你的bag文件路径] --clock ``` 若激光雷达话题不匹配,需修改 `launch` 文件中的 `lidar_topic` 参数[^1]。 --- #### **4. 验证与可视化** - **使用 RViz 查看结果** 在 RViz 中添加以下显示项: - `PointCloud2`(原始点云) - `Path`(轨迹) - `TF`(坐标系变换) --- #### **常见问题解决** 1. **依赖冲突** - 若出现 `libpcl` 版本问题,尝试安装指定版本: ```bash sudo apt install libpcl-dev=1.10.0+dfsg-5ubuntu1 ``` - 或使用 Docker 容器隔离环境[^2]。 2. **话题不匹配** 检查 bag 文件中的激光雷达话题名称,并在 `aloam_velodyne_XXX.launch` 中修改 `lidar_topic`。 3. **轨迹精度评估** 使用 `evo` 工具对比 A-LOAM 输出轨迹与真值: ```bash evo_ape kitti ground_truth.txt estimated.txt -va --plot ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值