ubuntu20.04中实现lego-loam

1. gtsam安装

        1.1 在安装之前如果没有安装过gtsam,可以跳过此步;如果安装过gtsam建议先清理一下gtsam(否则会造成版本混乱的问题,可能会在后续编译的时候一直出现问题),清理的步骤如下所示:

目录:其他位置/计算机//usr/local/lib,在该目录下搜索框中输入gtsam,将这些文件全部删除,如果是高版本的还需要删除libmetis-gtsam.so文件。

        1.2 这里选择安装gtsam-4.0.0-alpha2版本

                在终端中输入 wget https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip  命令下载gtsam,下载好之后将将文件解压提取到主目录就好,在gtsam-4.0.0-alpha2目录下(即下图所示目录下打开终端)

                 在终端中输入如下指令:

                        1. mkdir build

                        2. cd build

                        3.cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..

                                (cmake --- 是一个跨平台的开源构建系统,用于管理软件的构建过程)

                                (-DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF --- 是向cmake传递一                                         个选项变量,通常用于控制构建配置)

                                (.. --- 指定了cmake的构建目录,表示cmake将读取上一级目录(即刚刚切                                       换到的 build 目录的上一级目录)中的 CMakeLists.txt 文件进行配                                         置。)

                        在这一步中有推荐使用cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -                          DGTSAM_USE_SYSTEM_EIGEN=ON ..这个命令的,但是笔者没有用,没有对后                          续步骤产生影响。

                        4. sudo make install -j8

                                (make --- 是一个用于构建软件的工具,根据Makefile中的规则来决定如何编                                    译源代码) 

                                (-j8 --- 同时使用8个线程进行编译,加快编译速度,但要根据个人电脑的CPU                                   核心数量进行调整)

2. 安装lego-loam算法

        2.1 mkdir -p ~/lego_loam_ws/src

        2.2 cd ~/lego_loam_ws/src

        2.3 git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git

        2.4 cd ..

        2.5 catkin_make

        在这一步中经常会出一些报错:
                1. opencv/cv.h --- 将 utility.h 中#include<opencv/cv.h>注释,添加#include                                          <opencv2/opencv.hpp>  

                2. pcl报错 --- 将c++11改为c++14,如下图所示:

                        

         3.  error: ‘class std::unordered_map<unsigned int, std::vector<unsigned int> >’ has no                        member named ‘serialize’ --- 将第一个报错中修改之后的内容放到最后。

         4.  找不到lboost --- 找不到什么就添加什么。

         5. index --- 目录:其他位置/计算机/usr/include/pcl-1.10/pcl/filters,在该目录下打开终端                     并在终端下输入sudo gedit voxel_grid.h打开这个文件,在该文件的第340行和第669行                   处的for (Eigen::Index ni = 0; ni < relative_coordinates.cols (); ni++)中的Eigen::Index替                   换成int保存之后就好了。

         解决完上述报错后,就可以编译成功了。

3. 算法实现

        3.1 cd lego_loam_ws

        3.2 source devel/setup.bash

        3.3 roslaunch lego_loam run.launch

                在这一步中可能还会出现报错情况,是因为系统中没有安装libmetis库在终端中输                            入sudo apt-get install libmetis-dev指令安装完成后,使用sudo ldconfig指令更新                              动态链接库缓存。再次运行文件之后终端中就不会有报错了。打开的rviz界面左侧

                菜单栏中会有红色小错号的提示,这个并不用在意,这个不是错误,在运行了数                              据集之后就没事了。

              

        3.4 下载数据集并运行 --- rosbag play *.bag --clock --topic /velodyne_points /imu/data

                数据集下载地址:                     https://drive.google.com/drive/folders/1_t5fX5yIqY-y6sAifY8pVWX4O9LCK5R2

                  

                     如上图所示,选择 same_start_end_position 右击下载即可,下载之后解压

                     将.bag文件放到主目录下,打开终端,在终端中输入上述给定指令即可(其中)

                       * 可以用自己要运行的文件名替换,运行之后,应该就可以在rviz中看到实时

                     变化,如果没有看到任何变化,可以在rviz中将话题名称修改成任意一个试一下,

                      直到看到有变化为止。                                       

 

 

 

 

    

         

 

  • 26
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要在Ubuntu 20.04上安装lego-loam,您可以按照以下步骤进行操作: 1. 首先,您需要安装ROS(机器人操作系统)。您可以按照ROS官方网站上的指南进行安装。 2. 接下来,您需要下载lego-loam的源代码。您可以在GitHub上找到lego-loam的源代码。 3. 将lego-loam源代码放在ROS工作空间的src目录下。 4. 打开终端并进入ROS工作空间。 5. 运行catkin_make命令来编译lego-loam。 6. 运行source命令来激活ROS环境。 7. 运行roslaunch命令来启动lego-loam。 以上就是在Ubuntu 20.04上安装lego-loam的步骤。希望对您有所帮助。 ### 回答2: Lego-LOAM是一种激光SLAM算法,因其较高的定位精度和较快的运算速度而受到研究人员和爱好者的喜爱。在使用Lego-LOAM前,需要先在计算机上安装ROS(机器人操作系统)。 安装ROS 在安装Lego-LOAM前,需要先在Ubuntu20.04上安装ROS。 1. 新建ROS工作空间 在终端输入以下命令: ``` $ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/ $ catkin_make ``` 2. 下载ROS 在终端输入以下命令: ``` $ sudo apt-get update $ sudo apt-get install ros-foxy-desktop-full ``` 3. 配置ROS环境变量 在终端输入以下命令: ``` $ echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc $ source ~/.bashrc ``` 安装Lego-LOAM 1. 下载Lego-LOAM源码 将Lego-LOAM的源码下载到ROS工作空间(~/catkin_ws/src): ``` $ cd ~/catkin_ws/src $ git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git ``` 2. 编译源码 在终端输入以下命令: ``` $ cd ~/catkin_ws $ catkin_make -j1 ``` 3. 运行Lego-LOAM 在新的终端输入以下命令: ``` $ cd ~/catkin_ws $ source ./devel/setup.bash $ roslaunch lego_loam run.launch ``` 现在,Lego-LOAM就已经成功安装和运行了。在运行过程,你可以通过rviz(ROS可视化工具)来查看激光点云数据和轨迹。 ### 回答3: 在安装Ubuntu20.04系统之后,您可以使用以下步骤来安装LEGO-LOAM,这是一个自动驾驶的三维点云建图以及定位的算法包。 第一步:安装依赖库 要安装Legoloam,需要安装以下依赖库: sudo apt-get install ros-<distro>-pcl-ros ros-<distro>-velodyne ros-<distro>-grid-map ros-<distro>-grid-map-ros libyaml-cpp-dev libopencv-dev libeigen3-dev libboost-all-dev libsuitesparse-dev libpcl-dev 请将“<distro>”替换为ROS版本,例如: 在ROS Melodic下使用命令sudo apt-get install ros-melodic-pcl-ros, 在ROS Kinetic下使用sudo apt-get install ros-kinetic-pcl-ros, 第二步:克隆lego-loam的代码 使用以下命令来下载Lego-loam的源代码: cd ~/catkin_ws/src git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git 第三步:编译和安装代码 使用以下命令来编译代码: cd ~/catkin_ws/ catkin_make -j1 请注意,使用-j1可以确保编译成功。 最后,使用以下命令可以将其添加到您的环境变量: echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc 现在,您已经成功安装并编译了Lego-loam,可以使用roslaunch命令运行LEGO-LOAM节点: roslaunch lego_loam run.launch 总之,在您安装Lego-loam之前,强烈建议您拥有ROS相关知识和ROS系统的基本理解。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值