liosam复现

写在前面:


本机系统ubuntu22.04+docker+nvidia docker的环境
本机系统已经安装好nvidia驱动和cuda

使用liosam提供的镜像在22.04下实在是无法兼容。
所以在rosnoetic(ubuntu20.04)下进行配置,本教程中rosnoetic:v3.2是在docker hub(https://hub.docker.com/)上pull的ros noetic的官方镜像,增加了换源,安装了pcl库,opencv库等操作。


核心步骤


docker run --init -it -d --gpus all --runtime=nvidia -v /home:/home -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY --name envlio rosnoetic:v3.2 /bin/bash

apt-get install -y ros-noetic-robot-state-publisher ros-noetic-robot-localization ros-noetic-rviz

apt-get install -y ros-noetic-xacro

add-apt-repository ppa:borglab/gtsam-release-4.2

apt-get install libgtsam-dev libgtsam-unstable-dev

修改代码:

Step 1: Configure the utility.h to use

#include <opencv2/opencv.hpp> instead of #include <opencv/cv.h>

Step 2: Configure the utility.h to use

#include <opencv2/opencv.hpp> 移动到所有pcl库的后方

Step 3: Configure CMakeLists.txt to use

set(CMAKE_CXX_FLAGS "-std=c++14") instead of set(CMAKE_CXX_FLAGS "-std=c++11")

With these 3 modifications, LIO-SAM is able to be installed on Ubuntu 20.04 and ROS Noetic. You may try it out.

然后就可以catkin_make通过了

apt-get install -y x11-xserver-utils x11-apps

验证x11:xclock

apt-get install -y mesa-utils

验证:glxinfo | grep "OpenGL"

error: ‘class std::unordered_map’ has no member named ‘serialize’

原因:PCl库依赖的flann与Opencv冲突。opencv头文件中的一些宏定义和flann库中的冲突

解决:保证pcl库中依赖的flann在opencv头文件之前先包含进去。我这里是把opencv的头文件放在PCL库之后就解决 了
 

prework

dockerhub的镜像不好拉取,可以配置dockerhub的阿里云镜像:

登录阿里云控制台的步骤如下:

1. 访问阿里云官网

打开浏览器并访问阿里云官网:https://www.aliyun.com

2. 点击“登录”

在官网主页的右上角,点击“登录”按钮。

3. 输入账号信息

您可以使用阿里云账号、邮箱、手机号或淘宝账号登录。如果没有账号,可以点击“免费注册”进行注册。

4. 访问控制台

成功登录后,页面右上角的用户名,用户名附近有个“控制台”,点击“控制台”

5. 进入容器镜像服务

在阿里云控制台中,按照以下步骤操作:

在搜索框中输入“容器镜像服务”,并点击搜索结果中的“容器镜像服务”。

6. 获取镜像加速器地址

在“容器镜像服务”页面,找到并选择左侧菜单中的“镜像加速器”。在此页面,您将看到分配给您的镜像加速器地址。

1. 安装/升级Docker客户端

推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce

2. 配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://ye9piga6.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker
 

gitclone拉取大的仓库
git clone依旧报错,如何最大限度的减少git clone的下载量

4. 仅克隆仓库的部分内容

如果只需要仓库中的特定目录或文件,可以使用 sparse-checkout。以下是步骤:

  1. 克隆仓库,但不检出文件:

sh

git clone --no-checkout https://github.com/TixiaoShan/LIO-SAM.git

cd LIO-SAM

初始化 sparse-checkout 并设置需要的目录或文件:

sh

git sparse-checkout init --cone

git sparse-checkout set <path/to/directory_or_file>

更新工作树以检出指定的目录或文件:

sh

git checkout master

更新 sparse-checkout 配置以包括所有文件:

要拉取 master 分支的全部文件,可以修改 sparse-checkout 配置以包含所有内容:

sh

git sparse-checkout set --no-cone

echo "/*" > .git/info/sparse-checkout

更新工作树以检出所有文件:

sh

git read-tree -mu HEAD

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

飞凌全志T527开发板modbus移植使用教程

交叉编译 进入到源码目录&#xff0c;执行 ./configure ac_cv_func_malloc_0_nonnullyes --hostaarch64-none-linux-gnu --enable-static --prefix/home/feng/文档/development/Linux/application/OK527N/libmodbus-3.1.10/install/其中–host为交叉编译器的前缀&#xff1b;…

javascript闭包的理解

什么事闭包&#xff1f;个人理解 函数作为返回值或参数传递即为闭包 this: 在js中&#xff0c;this在定义时是无法确认的&#xff0c;只有在执行时才能确定值。 在js中是没有块级作用域的&#xff0c;js和C#、Java等语言不通&#xff0c;是一门解释性语言&#xff0c;这点需要…

layui 监听弹窗关闭并刷新父级table

记录&#xff1a;easyadmin 监听弹窗关闭并刷新父级table 场景一&#xff1a;在二级页面的table中点击编辑&#xff0c;保存后刷新二级页面的table edit: function () {ea.listen(function (data) {return data;}, function (res) {ea.msg.success(res.msg, function () {var …

巧用通义灵码助力护网面试

前言 前几年护网还算是一个比较敏感的话题&#xff0c;但是随着近段时间的常态化开始&#xff0c;护网行动也是逐渐走进了大众的视野&#xff0c;成为了社会各界共同关注的安全盛事。本篇也是受通义灵码备战求职季活动的启发&#xff0c;结合近期要开始的护网行动&#xff0c…

前端面试题(JS篇五)

一、同步与异步的区别 同步指的是当一个进程在执行某一个请求的时候&#xff0c;如果这个请求需要等待一段时间才能返回&#xff0c;那么这个进程会一直等待下去&#xff0c;直到这个消息返回之后才会继续执行。 指的是当一个进程在执行某一个请求的时候&#xff0c;如果这个请…

AWS Redshift 类型升级后物化视图丢失?

问题描述 及 错误信息&#xff1a; 我们将AWS Redshift集群从dc2升级到了ra3类型&#xff0c;而后居然发现所有的物化视图都消失了??? 这是道德的沦丧还是人性的扭曲&#xff1f; 当然都不是&#xff0c;下面来看我们应该怎样排查吧~~ 分析过程 及 解决方案&#xff1a;…

SSCOM串口调试工具安装和使用方法--V5.13.1版本

安装 链接&#xff1a;下载 解压后直接双击打开使用 使用 1、选择端口 2、点击【打开串口】 3、输入内容点击发送 4、上方就会展示发送或接收数据

Vue进阶之Vue无代码可视化项目(六)

Vue无代码可视化项目 渲染引擎(渲染器)初版TextBlock.vueChartBlock.vueImageBlock.vueLayoutView.vue渲染器BlockRenderer.vueLayoutView.vue进一步typestypes/block.tsmock/blocks.tsstores/editor.tsblocks/BlockRenderer.vueviews/LayoutView.vueblocks/internal/Fallbac…

Ubuntu 20 安装 uwsgi 失败解决办法

环境&#xff1a;Ubuntu 20.04 LTS Python 版本&#xff1a;python3.8.10 虚拟环境路径&#xff1a;/home/venv 激活虚拟环境后&#xff0c;安装 uswgi pip install uwsgi报错如下&#xff1a; ERROR: Command errored out with exit status 1:command: /home/venv/bin/pytho…

如何建设和维护数据仓库:深入指南

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; V: LAF20151116 进行更多交流学习 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&#xff…

js数组与字符串方法

拼接方法 字符串拼接用 就行了&#xff0c;如 str1 str2。数组则用 join() 方法把元素连起来&#xff0c;比如 arr.join(‘,’)。数组不能直接用 拼接&#xff0c;但两个数组相加会被转成字符串再拼接&#xff0c;这不是数组的拼接&#xff0c;而是字符串拼接行为。 let s…

Chapter12 屏幕后处理效果——Shader入门精要学习笔记

Chapter12 屏幕后处理效果 一、屏幕后处理概述以及基本脚本系统1.OnRenderImage 函数 —— 获取屏幕图像2.Graphics.Blit 函数 —— 使用特定的Shader处理3.在Unity中实现屏幕后处理的基本流程4.屏幕后处理基类 二、调整亮度、饱和度和对比度1.BrightnessSaturationAndContrast…

GESP CCF C++ 三级认证真题 2024年6月

第 1 题 小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级&#xff0c;那他可以选择的认证语言有&#xff08;&#xff09;种。 A. 1 B. 2 C. 3 D. 4 第 2 题 下面流程图在yr输入2024时&#xff0c;可以判定yr代表闰年&#xff0c;并输出 2月是29天 &#x…

深度学习,人工智能

人工智能&#xff0c;代跑通&#xff0c;预测模型&#xff0c;模型优化&#xff0c;增加模块&#xff0c;文章复现&#xff0c;python代做&#xff0c;预测&#xff0c;微调&#xff0c;融合&#xff0c;深度学习&#xff0c;机器学习程序代写&#xff0c;环境调试&#xff0c;…

20240718 每日AI必读资讯

大模型集体失智&#xff01;9.11和9.9哪个大&#xff0c;几乎全翻车了 - AI处理常识性问题能力受限&#xff0c;9.11&#xff1e;9.8数学难题暴露了AI短板。 - 训练数据偏差、浮点精度问题和上下文理解不足是AI在数值比较任务上可能遇到的困难。 - 改进AI需优化训练数据、Pr…

Tailwind CSS指南

使用和配置 Tailwind CSS 的完整指南 Tailwind CSS 是一个功能类优先的 CSS 框架&#xff0c;允许你快速构建现代的网站。它提供了一组预定义的实用工具类&#xff0c;可以直接在 HTML 中使用&#xff0c;以实现各种样式效果。本文将详细讲解如何使用和配置 Tailwind CSS&…

spark的相关知识点

2024.6.19 1.scala&#xff1a;语言 2.spark&#xff1a;框架&#xff08;jar包&#xff09; 3.spark streaming&#xff1a;kafka 4.spark mlib&#xff1a;机器学习 算法 5.解释 Class&#xff1a;类Case Class&#xff1a;样例类Object&#xff1a;对象User&#xff1a;类Ne…

阿里云国际站:海外视频安全的DRM加密

随着科技的进步&#xff0c;视频以直播或录播的形式陆续开展海外市场&#xff0c;从而也衍生出内容安全的问题&#xff0c;阿里云在这方面提供了完善的内容安全保护机制&#xff0c;适用于不同的场景&#xff0c;如在视频安全提供DRM加密。 由图可以了解到阿里云保护直播安全的…

Electron 应用关闭突出程序坞

在Electron应用中,处理窗口关闭并使其最小化到Mac系统的程序坞(Dock)而不是完全退出应用,通常涉及到监听窗口的关闭事件(close事件)并在适当时机阻止其默认行为。以下是一些步骤和关键点,帮助实现这一功能: 1. 监听窗口关闭事件 在Electron的主进程(main process)中…

请求通过Spring Cloud Gateway 503

最近想处理一个通用的网关服务。 但是我在处理好所有配置的时候发现&#xff0c;网络请求过网关的时候&#xff0c;一直503&#xff0c;我所有的配置都没问题。 环境&#xff1a; JDK&#xff1a; 17 Spring Cloud: 2023.0.2 在 Spring Cloud Gateway 的早期版本中&#xff…