Ubuntu20.04运行ALOAM程序

学习目标:

Ubuntu20.04运行ALOAM程序

学习内容:

一、运行前准备
1.安装Ceres Solver
https://github.com/ceres-solver/ceres-solver
*安装依赖环境
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
*安装Ceres Solver,我的版本是ceres-solver-2.0.0
2.安装PCL库
sudo apt install libpcl-dev
3.安装Eigen3,我的版本是eigen-3.3.7
https://gitlab.com/libeigen/eigen/-/releases
4.下载数据包(nsh_indoor_outdoor.bag)
链接: https://pan.baidu.com/s/1UzQYkkY3HocQ7iOe0SEIqA 提取码: vjpq
【库安装包的安装操作:在对应存储文件夹下打开终端
mkdir build
cd build
cmake …
make
sudo make install】

二、代码修改部分
*将四个.cpp文件中"/camera_init"的反斜杠"/"删掉,否则在运行时只有轨迹绿线
*将scanRegistration.cpp中的 #include 修改为#include
*将kittiHelper.cpp中 CV_LOAD_IMAGE_GRAYSCALE修改为 cv::IMREAD_GRAYSCALE

三、开启
这里我曾经运行的时候总提示不存在nav_msgs,所以下载了common_msgs-noetic-devel,擅自其移动到了ROS的路径下(计算机/opt/ROS),结果导致创建ROS工作空间的时候出现如图问题。后来改回去就对了。
Ubuntu20.04运行ALOAM程序_第1张图片1.构建ROS工作空间
工作空间(src代码空间,build编译空间,devel开发空间,install安装空间)
//工作空间 catkin_ws
mkdir catkin_ws------cd catkin_ws/------mkdir src------cd src------catkin_init_workspace
~/catkin_ws$ catkin_make------catkin_make install
//创建功能包
~/catkin_ws$ cd src------catkin_create_pkg test_pkg
//编译功能包
~/catkin_ws$ catkin_make------source devel/setup.bash(环境变量的设置,通过此输入echo $ROS_PACKAGE_PATH就可以找到功能包路径)
如果容易忘记source devel/setup.bash, 主目录-----Ctrl+h(打开隐藏的目录)----- .bashrc(最后一行加source /home/hl/catkin_ws/devel/setup.bash)

2.将下载好的ALOAM源放在src中,同时新建一个DATA文件夹,存放nsh_indoor_outdoor.bag
catkin_ws文件下打开终端
命令:catkin_make
遇到问题:
error: #error PCL requires C++14 or above
解决办法
在CMakeLists.txt中添加,如下指令即可成功编译
set( CMAKE_CXX_STANDARD 14)

3.重新打开一个终端 ,执行launch文件,启动roscore、rviz和A-LOAM节点

命令:roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

命令:rosbag play nsh_indoor_outdoor.bag

阿,第一次跑通代码,激动了
Ubuntu20.04运行ALOAM程序_第2张图片

学习链接:

https://www.guyuehome.com/34328
https://blog.csdn.net/abanchao/article/details/123558717

你可能感兴趣的:(激光SLAM,自动驾驶,ubuntu,c++)