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

slam学习笔记9---ubuntu2004部署interactive_slam踩坑记录

背景:interactive_slam是一款可用于离线优化点云地图算法。部署安装容易出问题,这里记录一下。

一、安装基本流程

绝大部分跟着readme走,g2o安装使用apt安装

interactive_slam depends on the following libraries:GL3W
GLFW
Dear ImGui
portable-file-dialog
OpenMP
PCL
g2o
# for ROS noetic
sudo apt-get install libglm-dev libglfw3-dev
sudo apt-get install libsuitesparse-dev libeigen3-dev
sudo apt-get install ros-noetic-geodesy ros-noetic-pcl-ros ros-noetic-nmea-msgs 
# Install g2o from original source code 本人使用的是apt安装g2o,在踩坑记录中会说到
git clone https://github.com/RainerKuemmerle/g2o.git
cd g2o
mkdir build 
cd build
cmake ../
make
sudo make install
# Install Ceres Library
git clone https://ceres-solver.googlesource.com/ceres-solver
# Install all dependencies
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# Use ATLAS for BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
cd ~/catkin_ws/src
git clone https://github.com/koide3/ndt_omp
git clone https://github.com/koide3/hdl_graph_slam
git clone https://github.com/koide3/odometry_saver
git clone https://github.com/SMRT-AIST/fast_gicp --recursive
git clone https://github.com/SMRT-AIST/interactive_slam --recursivecd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE=Release

二、踩坑记录

1、编译出现g2o报错

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
G2O_CORE_LIBRARYlinked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_SOLVER_CHOLMODlinked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_SOLVER_CSPARSElinked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_SOLVER_PCGlinked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_STUFF_LIBRARYlinked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_TYPES_DATAlinked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_TYPES_SLAM3Dlinked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_TYPES_SLAM3D_ADDONSlinked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam

原因:没有找到对应的g2o版本
解决方式

sudo apt install ros-noetic-libg2o

参考

2、提示第三方依赖找不到

interactive_slam/thirdparty/imgui 等找不到
原因:子库没有正常拉取
在interactive_slam目录下运行

git submodule update --init --recursive

若出现错误,多运行几次

3、工作空间一次性编译混乱报错

原来方式

catkin_make -DCMAKE_BUILD_TYPE=Release

使用编译方式,单个包编译

catkin_make -DCATKIN_WHITELIST_PACKAGES="odometry_saver"
catkin_make -DCATKIN_WHITELIST_PACKAGES="ndt_omp"
catkin_make -DCATKIN_WHITELIST_PACKAGES="fast_gicp"
catkin_make -DCATKIN_WHITELIST_PACKAGES="hdl_graph_slam"
catkin_make -DCATKIN_WHITELIST_PACKAGES="interactive_slam"

###################
好记性不如烂笔头
积跬步期千里
觉得不错的话,记得点赞收藏

相关文章:

slam学习笔记9---ubuntu2004部署interactive_slam踩坑记录

背景:interactive_slam是一款可用于离线优化点云地图算法。部署安装容易出问题,这里记录一下。 一、安装基本流程 绝大部分跟着readme走,g2o安装使用apt安装 interactive_slam depends on the following libraries:GL3W GLFW Dear ImGui p…...

MVC模式全解析

MVC 模式:概念与架构基石 在软件开发的广袤宇宙中,MVC 模式宛如一颗璀璨的恒星,照亮了无数开发者前行的道路。它是一种经典的软件架构模式,全称为 Model - View - Controller,即模型 - 视图 - 控制器 ,将应…...

游戏引擎学习第140天

回顾并为今天的内容做准备 目前代码的进展到了声音混音的部分。昨天我详细解释了声音的处理方式,声音在技术上是一个非常特别的存在,但在游戏中进行声音混音的需求其实相对简单明了,所以今天的任务应该不会太具挑战性。 今天我们会编写一个…...

LeetCode热题100JS(44/100)第八天|二叉树的直径|二叉树的层序遍历|将有序数组转换为二叉搜索树|验证二叉树搜索树|二叉搜索树中第K小的元素

543. 二叉树的直径 题目链接:543. 二叉树的直径 难度:简单 刷题状态:1刷 新知识: 解题过程 思考 示例 1: 输入:root [1,2,3,4,5] 输出:3 解释:3 ,取路径 [4,2,1,3] 或…...

【虚拟化】Hyper-V 与 WSL 2

关于 Hyper-V 与 WSL 2 的简介 Hyper-V 是微软出的 Type-I 型 Hypervisor,根据微软官方说 WSL 2 用了 Hyper-V 架构的子集,称为虚拟机平台(Virtual Machine Platform),是 Windows 中的一个可选组件,所以你…...

力扣刷题DAY6(滑动窗口/中等+栈/简单、中等)

一、滑动窗口 找到字符串中所有字母异位词 方法一&#xff1a;哈希表 class Solution { public:vector<int> findAnagrams(string s, string p) {vector<int> ans;unordered_map<char, int> target;for (int i 0; i < p.size(); i) {target[p[i]];}in…...

MySQL中的共享锁和排他锁

MySQL 中的锁可以从多个维度进行分类&#xff0c;其中从模式上可以分为共享锁&#xff08;Shared Lock&#xff0c;S Lock&#xff09;和 排他锁&#xff08;Exclusive Lock&#xff0c;X Lock&#xff09;。 共享锁&#xff08;Shared Lock&#xff0c;S Lock&#xff09; 共…...

HarmonyOS ArkTS声明式UI开发实战教程

引言&#xff1a;为何选择ArkTS&#xff1f; 在HarmonyOS生态快速发展的当下&#xff0c;ArkTS作为新一代声明式UI开发框架&#xff0c;正在引发移动应用开发范式的变革。笔者曾在多个跨平台框架开发中经历过"命令式编程之痛"&#xff0c;直到接触ArkTS后才发现&…...

【AI】【Unity】关于Unity接入DeepseekAPI遇到的坑

前言 由于deepseek网页端在白天日常抽风&#xff0c;无法正常的使用&#xff0c;所以调用API就成了目前最好的选择&#xff0c;尤其是Deepseek的API价格低得可怕&#xff0c;这不是和白送的一样吗&#xff01;然后使用过很多本地部署接入API的方式&#xff0c;例如Chatbox、Pa…...

虚拟机 | Ubuntu图形化系统: open-vm-tools安装失败以及实现文件拖放

系列文章目录 虚拟机 | Ubuntu 安装流程以及界面太小问题解决 文章目录 系列文章目录虚拟机 | Ubuntu 安装流程以及界面太小问题解决 前言一、VMware Tools 和 open-vm-tools 是什么1、VMware Tools2、open-vm-tools 二、推荐使用open-vm-tools&#xff08;简单&#xff09;1、…...

zabbix 监控的内存溢出问题 out of memory

zabbix 由于是docker 建置 zabbix-server-server 在web端出现异常情况 经过检查发现docker status 显示Restarting (0) 4 seconds ago 频繁在重起 经过docker logs 分析查看到 __zbx_shmem_malloc(): out of memory (requested 256 bytes) 问题 191:20250306:023902.993 m…...

【DeepSeek】Ubuntu快速部署DeepSeek(Ollama方式)

文章目录 人人都该学习的DeepSeekDeepSeek不同版本功能差异DeepSeek与硬件直接的关系DeepSeek系统兼容性部署方式选择部署步骤&#xff08;Ollama方式&#xff09;1.选定适合的deepseek版本2.环境准备3.安装Ollama4.部署deepseek5.测试使用 人人都该学习的DeepSeek DeepSeek 作…...

升级到Android Studio 2024.2.2 版本遇到的坑

一、上来就编译报错&#xff0c;大概率是因为选择了替换安装&#xff0c;本地配置文件出错 找到本地当前版本的配置文件&#xff0c;删掉&#xff0c;重启studio就好了&#xff1a; 1、打开终端 2、“cd /Users/用户名/Library/Application\ Support/Google” //到Google目录 …...

2025最新Transformer模型及深度学习前沿技术应用

第一章、注意力&#xff08;Attention&#xff09;机制 1、注意力机制的背景和动机&#xff08;为什么需要注意力机制&#xff1f;注意力机制的起源和发展里程碑&#xff09;。 2、注意力机制的基本原理&#xff08;什么是注意力机制&#xff1f;注意力机制的数学表达与基本公…...

深入解析 Umi-OCR:高效的免费开源 OCR 文字识别工具

1. Umi-OCR 简介 1.1 什么是 Umi-OCR&#xff1f; Umi-OCR 是一款开源、免费、支持离线使用的光学字符识别&#xff08;OCR&#xff09;工具&#xff0c;基于 PaddleOCR 和 Tesseract-OCR&#xff0c;能够高效识别图片中的文字&#xff0c;尤其适用于批量截图文字提取、PDF 文…...

WebAssembly技术及应用了解

WebAssembly&#xff08;Wasm&#xff09;是一种为Web设计的高效、低级的二进制指令格式&#xff0c;旨在提升Web应用的性能并支持多种编程语言。以下是对其核心概念、优势、应用场景及开发流程的系统介绍&#xff1a; 1. 核心概念 二进制格式&#xff1a;Wasm采用紧凑的二进制…...

【ESP-ADF】在 VSCode 安装 ESP-ADF 注意事项

1.检查网络 如果您在中国大陆安装&#xff0c;请使用魔法上网&#xff0c;避免无法 clone ESP-ADF 仓库。 2.VSCode 安装 ESP-ADF 在 VSCode 左侧活动栏选择 ESP-IDF:explorer&#xff0c;展开 advanced 并点击 Install ESP-ADF 然后会出现选择 ESP-ADF 安装目录。 如果出现…...

我的两个医学数据分析技术思路

我的两个医学数据分析技术思路 从临床上获得的或者公共数据库数据这种属于观察性研究&#xff0c;是对临床诊疗过程中自然产生的数据进行分析而获得疾病发生发展的规律等研究成果。再细分&#xff0c;可以分为独立危险因素鉴定和预测模型构建两种。 独立危险因素鉴定是一直以…...

MySQL 架构、索引优化、DDL解析、死锁排查

私人博客传送门 MySQL 认识索引 | 魔筝炼药师 MySQL 索引优化 | 魔筝炼药师 OnlineDDL&#xff08;在 MySQL 5.7 数据库里&#xff0c;InnoDB引擎&#xff0c;执行一条DDL会发生什么事情&#xff09; | 魔筝炼药师 MySQL 死锁排查 | 魔筝炼药师...

Ubuntu搭建最简单WEB服务器

安装apache2 sudo apt install apache2 检查状态 $ sudo systemctl status apache2 ● apache2.service - The Apache HTTP ServerLoaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>Active: active (running) since Thu 2025-03-06 09:51:10…...

VSCode 配置优化指南:打造极致高效的前端开发环境

VSCode 配置优化指南&#xff1a;打造极致高效的前端开发环境 一、基础环境配置&#xff1a;让开发更流畅 1. 性能优化设置 // settings.json {"files.autoSave": "afterDelay", // 自动保存&#xff08;延迟1秒&#xff09;"files.exclud…...

FPGA-DE2115开发板实现4位全加器、3-8译码器。

文章目录 一、安装quartus二、4位全加器三、3-8译码器&#xff08;8段数码管&#xff09;四、参考文章 一、安装quartus 安装quartus参考文章&#xff1a;Quartus Prime 18.0与ModelSim的安装 Quartus II 18.0安装教程&#xff08;非常详细&#xff09;从零基础入门到精通&…...

宇树科技嵌入式面试题及参考答案(春晚机器人的公司)

目录 设计一个带看门狗(Watchdog)的嵌入式系统,描述故障恢复流程 在资源受限的 MCU 上实现 OTA 升级功能,描述关键设计点 如何实现 OTA(空中升级)功能?描述固件校验和回滚机制的设计要点 推挽输出与开漏输出的区别?举例说明其在 GPIO 控制中的应用 UART、SPI、I2C …...

Spring提供的SPEL表达式

SPEL 1. 概述 SpEL是Spring框架中用于表达式语言的一种方式。它类似于其他编程语言中的表达式语言&#xff0c;用于在运行时计算值或执行特定任务。 SpEL提供了一种简单且强大的方式来访问和操作对象的属性、调用对象的方法&#xff0c;以及实现运算、条件判断等操作。它可以…...

Pytorch xpu环境配置 Pytorch使用Intel集成显卡

1、硬件集显要为Intel ARC并安装正确驱动 2、安装Intel oneAPI Base Toolkit &#xff08;https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/base-toolkit-download.html&#xff09;安装后大约20G左右&#xff0c;注意安装路径 3、安装Visual Studio Build To…...

uploadlabs通关思路

目录 靶场准备 复现 pass-01 代码审计 执行逻辑 文件上传 方法一&#xff1a;直接修改或删除js脚本 方法二&#xff1a;修改文件后缀 pass-02 代码审计 文件上传 1. 思路 2. 实操 pass-03 代码审计 过程&#xff1a; 文件上传 pass-04 代码审计 文件上传 p…...

优选算法的智慧之光:滑动窗口专题(二)

专栏&#xff1a;算法的魔法世界​​​​​​ 个人主页&#xff1a;手握风云 目录 一、例题讲解 1.1. 最大连续1的个数 III 1.2. 找到字符串中所有字母异位词 1.3. 串联所有单词的子串 1.4. 最小覆盖子串 一、例题讲解 1.1. 最大连续1的个数 III 题目要求是二进制数组&am…...

【蓝桥杯单片机】第十二届省赛

一、真题 二、模块构建 1.编写初始化函数(init.c) void Cls_Peripheral(void); 关闭led led对应的锁存器由Y4C控制关闭蜂鸣器和继电器 由Y5C控制 2.编写LED函数&#xff08;led.c&#xff09; void Led_Disp(unsigned char ucLed); 将ucLed取反的值赋给P0 开启锁存器…...

剑指 Offer II 047. 二叉树剪枝

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20047.%20%E4%BA%8C%E5%8F%89%E6%A0%91%E5%89%AA%E6%9E%9D/README.md 剑指 Offer II 047. 二叉树剪枝 题目描述 给定一个二叉树 根节点 root &#xff0c;树的每…...

【自学笔记】OpenStack基础知识点总览-持续更新

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 OpenStack基础知识点总览一、OpenStack概述1.1 OpenStack起源1.2 OpenStack的目标与优势1.3 OpenStack的常见核心项目 二、OpenStack的节点类型2.1 控制节点2.2 网络…...