当前位置: 首页 > news >正文

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

相关文章:

liosam复现

写在前面&#xff1a; 本机系统ubuntu22.04dockernvidia docker的环境 本机系统已经安装好nvidia驱动和cuda 使用liosam提供的镜像在22.04下实在是无法兼容。 所以在rosnoetic&#xff08;ubuntu20.04&#xff09;下进行配置&#xff0c;本教程中rosnoetic:v3.2是在docker hub&…...

Flutter实战小案例

(实战)点不到的按钮 // 主要实现效果类 class _MyHomePageState extends State<MyHomePage> {// 1.定义要使用的变量double btnLeft 0;double btnTop 0;int timeDuration 500;String textButton "点我呀";// 2.获得当前设备屏幕尺⼨&#xff0c;需要impor…...

uniapp转小程序,小程序转uniapp方法

&#x1f935; 作者&#xff1a;coderYYY &#x1f9d1; 个人简介&#xff1a;前端程序媛&#xff0c;目前主攻web前端&#xff0c;后端辅助&#xff0c;其他技术知识也会偶尔分享&#x1f340;欢迎和我一起交流&#xff01;&#x1f680;&#xff08;评论和私信一般会回&#…...

WPF中Frame

在Windows Presentation Foundation (WPF) 中&#xff0c;Frame 控件是一个非常重要的元素&#xff0c;主要用于实现页面导航和内容的动态加载。Frame 类似于网页开发中的iframe&#xff0c;但它是WPF应用程序中的一个容器&#xff0c;能够显示不同的页面或控件内容。 以下是F…...

大数据基础:Doris重点架构原理

文章目录 Doris重点架构原理 一、Apache Doris介绍 二、Apache Doris使用场景 三、Apache Doris架构原理 四、Apache Doris 特点 Doris重点架构原理 一、Apache Doris介绍 基于 MPP 架构的高性能、实时的分析型数据库&#xff0c;以极速易用的特点被人们所熟知&#xff…...

.NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别

简述 在软件开发的宇宙中&#xff0c;.NET是一个不断扩展的星系&#xff0c;每个版本都像是一颗独特的星球&#xff0c;拥有自己的特性和环境。作为技术经理&#xff0c;站在选择的十字路口&#xff0c;您需要一张详尽的星图来导航。本文将作为您的向导&#xff0c;带您穿越从.…...

k8s核心操作_存储抽象_K8S中使用ConfigMap抽取配置_实现配置热更新---分布式云原生部署架构搭建032

现在有个问题,是上面我们利用pv和pvc 就是持久卷 以及 持久卷申请,实现了对存储的,pod删除以后,对其使用的存储空间也进行了删除,那么还有个问题,对于redis这种我们希望,他的配置也管理起来. 比如这个redis的配置文件. 以后其他的配置文件也是这样. 使用配置文件的存储在k8s中…...

【前端】SpringBootWeb 篇-入门了解 Spring Cache、Spring Task与WebSocket 框架

在SpringBootWeb开发中&#xff0c;Spring Cache、Spring Task与WebSocket框架是三个非常重要的组件&#xff0c;它们分别用于缓存管理、任务调度和实时通信。以下是对这三个框架的入门了解&#xff1a; 一、Spring Cache 1. 简介 Spring Cache是Spring框架提供的缓存抽象&a…...

应用最优化方法及MATLAB实现——第4章代码实现

一、概述 之前对这本书的第三章进行了代码实现&#xff0c;这篇博客是对这本书第4章相关代码进行实现&#xff0c;部分内容安装书中代码无法实现相应功能&#xff0c;MATLAB会报错&#xff0c;对其进行一定程度的更改后&#xff0c;可以正常运行&#xff0c;与书中所给示例运行…...

搜维尔科技:Riablo提供一种创新的康复解决方案,通过激活本体感觉,并通过视听反馈促进神经肌肉的训练。

Riablo提供一种创新的康复解决方案&#xff0c;通过激活本体感觉&#xff0c;并通过视听反馈促进神经肌肉的训练。 搜维尔科技&#xff1a;Riablo提供一种创新的康复解决方案&#xff0c;通过激活本体感觉&#xff0c;并通过视听反馈促进神经肌肉的训练。...

NodeJS技巧:在循环中管理异步函数的执行次数

背景介绍 在现代Web开发中&#xff0c;NodeJS因其高效的异步处理能力而备受青睐。尤其在数据抓取、网络爬虫等应用场景中&#xff0c;NodeJS的非阻塞I/O特性使其成为不二之选。然而&#xff0c;在实际编程过程中&#xff0c;我们经常会遇到一个棘手的问题——如何在循环中控制…...

debian 实现离线批量安装软件包

前言 实现在线缓冲需要的软件和对应依赖的包&#xff0c;离线进行安装 &#xff0c;用于软件封装。 测试下载一个gcc和依赖环境&#xff0c;关闭默认在线源&#xff0c;测试离线安装gcc和依赖环境 兼容 debian ubuntu/test 测试下载安装包到目录 vim /repo_download.sh #!…...

远程开机准备工作

本文章以华硕主板B460M为样板&#xff0c;进行远程开机的前提设置 第一步主板设置 开机按del进入bios主界面&#xff0c;进入高级模式 找到高级-----高级电源管理 进去以后选择由pci_e设备唤醒点击开启 设置完成以后保存并退出 第二步网卡设置 打开设备管理器找到网络适配器…...

PGCCC|【PostgreSQL】PCA+PCP+PCM等IT类认证申报个税退税指南

小编特将PostgreSQL证书申报个税退税流程&#xff0c;编辑成文&#xff0c;供大家申报参考哦~ 1.申报专项附加扣除 第一步&#xff1a;打开个人所得税APP&#xff0c;选择“专项附加扣除填报”&#xff1a; 第二步&#xff1a;“扣除年度”选择您要申报的年度&#xff0c;并…...

让AI语言模型自由飞翔:LangChain框架的奇妙世界

今天&#xff0c;我将为大家揭开一项令人激动的技术——LangChain。想象一下&#xff0c;如果能将人工智能的强大能力与我们日常使用的数据和工具无缝连接&#xff0c;那将开启怎样崭新且无限的可能&#xff01; LangChain&#xff0c;一个专为大型语言模型设计的框架&#xf…...

solidity基础语法(以太坊solidity合约)

solidity基础语法&#xff08;以太坊solidity合约&#xff09; 1-值类型和取值范围2-引用类型3-引用类型高阶4-固定数组和动态数组 1-值类型和取值范围 https://learnblockchain.cn/docs/solidity/introduction-to-smart-contracts.html#subcurrency https://learnblockchain…...

【机器学习实战】电力需求预测挑战赛 Datawhale AI 夏令营 task2

【机器学习实战】电力需求预测挑战赛 Datawhale AI 夏令营 task2 一、赛题背景二、赛题任务三、评审规则四、具体实践4.1 实现的思路4.2 理论介绍GBDTLightGBM 4.3 代码的实现与运行4.3.1 导入模块4.3.2 探索性数据分析&#xff08;EDA&#xff09;4.3.3 特征工程4.3.4 模型训练…...

【设计模式】【创建型模式】【02工厂模式】

系列文章 可跳转到下面链接查看下表所有内容https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501文章浏览阅读2次。系列文章大全https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501 目录 系…...

FPGA设计中的流水线 -分割大的计算电路可以更快的处理数据。

FPGA&#xff08;现场可编程门阵列&#xff09;设计中的流水线优化是一种提高设计性能的技术&#xff0c;它通过将设计分解为多个阶段或步骤来实现。每个阶段可以并行执行&#xff0c;从而提高整体的吞吐量和效率。以下是流水线优化的一些关键概念和作用&#xff1a; 意思&…...

GNU/Linux - U-BOOT的GPIO command

在嵌入式Linux开发中&#xff0c;先运行的是u-boot&#xff0c;然后再加载Linux内核。 启动时如果设置了u-boot等待时间&#xff0c;在等待时间内&#xff0c;按任意键就会进入u-boot命令行环境。 在u-boot命令行环境下&#xff0c;可以使用gpio命令来操作GPIO。 Synopsis gpi…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析

1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器&#xff08;TI&#xff09;推出的一款 汽车级同步降压转换器&#xff08;DC-DC开关稳压器&#xff09;&#xff0c;属于高性能电源管理芯片。核心特性包括&#xff1a; 输入电压范围&#xff1a;2.95V–6V&#xff0c;输…...

深入理解 React 样式方案

React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...

Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用

Linux 内存管理调试分析&#xff1a;ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础&#xff0c;但这一子系统结构复杂&#xff0c;常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题&#xff0c;需要一套工具化、…...

免费批量Markdown转Word工具

免费批量Markdown转Word工具 一款简单易用的批量Markdown文档转换工具&#xff0c;支持将多个Markdown文件一键转换为Word文档。完全免费&#xff0c;无需安装&#xff0c;解压即用&#xff01; 官方网站 访问官方展示页面了解更多信息&#xff1a;http://mutou888.com/pro…...

[10-1]I2C通信协议 江协科技学习笔记(17个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17...