gtsam的安装过程及lego-loam问题总结

注意:
不用卸载旧版本的gtsam,只需要下载想要的版本,重新源码编译安装一遍即可,这样会把之前的版本直接覆盖掉。

https://codechina.csdn.net/mirrors/borglab/gtsam/-/tree/4.0.0

mkdir build
cd build
cmake ..

sudo make 
sudo make install  

编译lego-loam可能报错

CMake Error at /usr/share/cmake-3.5/Modules/CMakeFindDependencyMacro.cmake:45 (message):
Invalid arguments to find_dependency
Call Stack (most recent call first):
/usr/local/lib/cmake/GTSAM/GTSAMConfig.cmake:17 (find_dependency)
LeGO-LOAM/LeGO-LOAM/CMakeLists.txt:23 (find_package)

– Configuring incomplete, errors occurred!
See also “/home/fish/catkin_legoLOAM/build/CMakeFiles/CMakeOutput.log”.
See also “/home/fish/catkin_legoLOAM/build/CMakeFiles/CMakeError.log”.
Invoking “cmake” failed

解决方法:
将/usr/local/lib/cmake/GTSAM/GTSAMConfig.cmake:17 行的find_dependency改成find_package。改完后重新catkin_make -j1即可。

编译lego-loam报错

LEGO-LOAM编译出错 :fatal error: cloud_msgs/cloud_info.h: No such file or directory。
![[Pasted image 20211102154552.png]]
解决方案:

catkin_make -j1

# 或者
catkin_make -DCATKIN_WHITELIST_PACKAGES="cloud_msgs"

运行lego-loam报错

运行“ roslaunch lego_loam run.launch” 出现了如下图所示的错误:
![[Pasted image 20211102152920.png]]
下载官网的gtsam4.0.0版本,重新编译安装gtsam即可。问题解决。。。

经过多次测试,我遇到的这种问题用以下方法可以解决。修改…
/gtsam-4.0.0/cmake/GtsamBuildTypes.cmake

# Clang uses a template depth that is less than standard and is too small
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
    # Apple Clang before 5.0 does not support -ftemplate-depth.
    if(NOT (APPLE AND "${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "5.0"))
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth=1024")
    endif()
endif()

# 添加以下内容
option(GTSAM_BUILD_WITH_MARCH_NATIVE  "Enable/Disable building with all instructions supported by native architecture (binary may not be portable!)" ON)
if(GTSAM_BUILD_WITH_MARCH_NATIVE)
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
endif()

/gtsam-4.0.0/CMakeLists.txt

if(GTSAM_UNSTABLE_AVAILABLE)
    print_config_flag(${GTSAM_BUILD_UNSTABLE}          "Build libgtsam_unstable        ")
endif()
string(TOUPPER "${CMAKE_BUILD_TYPE}" cmake_build_type_toupper)

# 添加以下内容
print_config_flag(${GTSAM_BUILD_WITH_MARCH_NATIVE}     "Build for native architecture  ")

此修改仅适用lego-loam,如果编译运行lio-sam,则不需要修改,否则会报错。

参考链接:
[1] Lego-LOAM 运行时出现错误
[2] LeGO-LOAM编译、运行及其错误记录
[3] 试LOAM以及LEGO-LOAM过程中遇到的坑

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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系统的基本理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值