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

SLAM 十四讲(第一版)疑难排查

SLAM 十四讲(第一版)疑难排查

记录《SLAM 十四讲(第一版)》学习过程遇到的疑难杂症和排查结果,包括数学上的和编程环境上的,欢迎补充。

0. 使用软件环境

  • WSL:windows 下的 linux 子系统,使用 WSL2 的 Ubuntu-18.04 版本
  • MobaXterm:用来连接 ssh 命令行,带显示功能,可以显示各种可视化结果
  • ROS:使用 melodic 版本
  • 教材:视觉SLAM十四讲_第1版(视觉SLAM十四讲:从理论到实践 两版 PDF和源码:https://www.cnblogs.com/zhjblogs/p/14734064.html)

1. WSL、ROS 等环境配置

  • 旧版 WSL 的手动安装步骤:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
    • 执行步骤 1-5 然后 “下载发行版” Ubuntu 18.04 更方便
  • 在 Ubuntu 中安装 ROS Melodic:http://wiki.ros.org/cn/melodic/Installation/Ubuntu
  • Ubuntu 换源:https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.21cb1b11dmiB5Z
  • ROS 换源:https://developer.aliyun.com/mirror/ros?spm=a2c6h.13651102.0.0.49d41b11qOAUq3
  • windows 10 下利用WSL的Linux环境实现vscode C/C++环境的配置:https://blog.csdn.net/jasneik/article/details/124157155

ch3. 三维空间刚体运动

  • 矩阵的运算及其运算规则:http://www2.edu-edu.com.cn/lesson_crs78/self/j_0022/soft/ch0605.html
  • 矩阵运算与常用矩阵:https://zhuanlan.zhihu.com/p/362082020
  • SLAM 反对称矩阵:https://blog.csdn.net/CSSDCC/article/details/121653596
  • 特征值与特征向量:http://www2.edu-edu.com.cn/lesson_crs78/self/j_4184/soft/ch0501.html

ch4. 李群与李代数

  • 什么是「齐次」「非齐次」「线性」「非线性」?:https://www.zhihu.com/question/19816504/answer/436003494
  • 到底什么是非线性优化?:https://blog.51cto.com/u_14355665/6099228
  • 李群和李代数 —— 名字听起来很猛其实也没那么复杂:https://zhuanlan.zhihu.com/p/358455662
  • 为啥需要李群与李代数?:https://zhuanlan.zhihu.com/p/166399333
  • 如何理解最小二乘法?:https://matongxue.blog.csdn.net/article/details/81127117
  • 机器人中的李群和李代数(一)——基础知识:https://zhuanlan.zhihu.com/p/435445206
  • 视觉SLAM学习之李群李代数:https://zhuanlan.zhihu.com/p/388778282

ch5. 相机与图像

  • 安装 OpenCV 依赖项:sudo apt install build-essential libgtk2.0-dev libvtk6-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev
  • opencv 出错 E: Unable to locate package libjasper-dev:https://blog.csdn.net/qq_41663800/article/details/103411697
  • Installation in Linux:https://docs.opencv.org/4.7.0/d7/d9f/tutorial_linux_install.html

ch6. 非线性优化

  • ubantu18.04安装ceres库,出现E: Unable to locate package libcxsparse3.1.2解决方案:https://blog.csdn.net/qq_41667348/article/details/115306914

  • error: no type named ‘Literal’ in ‘struct Eigen::NumTraits<ceres::Jet<double, 2> >:slambook 第一版代码自带的 ceres 库版本过低和 eigens 不匹配,从 github 下载 ceres 2.1.0 源码进行编译安装即可解决,eigens 是 apt install 的 3.3.4

  • 使用 g2o 时遇到报错 libg2o_core.so: cannot open shared object file: No such file or directory:https://blog.csdn.net/qq_39779233/article/details/128335576

ch8. 视觉里程计 2

  • 第八讲错误2 ‘dict_keys’ object has no attribute ‘remove’:https://blog.csdn.net/weixin_44694952/article/details/104429905

ch9. 实践章:设计前端

  • 高翔slam project0.3出现double free or corruption (out)问题解决:https://blog.csdn.net/coc1996/article/details/99702034

ch11. 后端 2

  • ubuntu18.04 安装g2o_viewer,遇到的所有坑和解决方法:https://blog.csdn.net/qq_42257666/article/details/124809484

参考链接

《视觉SLAM十四讲》第一版源码slambook编译调试(和本文互补参考,排版较混乱):https://blog.csdn.net/Bonaventure/article/details/122835848

相关文章:

SLAM 十四讲(第一版)疑难排查

SLAM 十四讲&#xff08;第一版&#xff09;疑难排查 记录《SLAM 十四讲&#xff08;第一版&#xff09;》学习过程遇到的疑难杂症和排查结果&#xff0c;包括数学上的和编程环境上的&#xff0c;欢迎补充。 0. 使用软件环境 WSL&#xff1a;windows 下的 linux 子系统&…...

JavaScript的基础语法学习

文章目录 一、JavaScript let 和 const二、JavaScript JSON三、javascript:void(0) 含义四、JavaScript 异步编程总结 一、JavaScript let 和 const let 声明的变量只在 let 命令所在的代码块内有效。 const 声明一个只读的常量&#xff0c;一旦声明&#xff0c;常量的值就不…...

大语言模型Prompt工程之使用GPT4生成图数据库Cypher

大语言模型Prompt工程之使用GPT4生成图数据库Cypher 大语言模型Prompt工程之使用GPT4生成图数据库Cypher Here’s the table of contents: 大语言模型Prompt工程之使用GPT4生成图数据库Cypher 使用GPT4测试了生成Cypher的能力&#xff0c;没想到大型语言模型&#xff08;LLM,La…...

ChatGPT已死?AutoGPT太强?

今天聊聊 AutoGPT。 OpenAI 的 Andrej Karpathy 都大力宣传&#xff0c;认为 AutoGPT 是 prompt 工程的下一个前沿。 近日&#xff0c;AI 界貌似出现了一种新的趋势&#xff1a;自主人工智能。 这不是空穴来风&#xff0c;最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉…...

Java基础总结(二)

文章目录 一、ObjectObject中的成员方法&#xff08;11个&#xff09;toStringequalsclone 二、Objects三、BigInteger和BigDecimaBigIntegerBigDecima 四、正则表达式五、DateJDK7前时间相关类SimpleDateFormat类Calendar类 JDK8新增时间相关类 六、包装类异常 一、Object 没…...

大数据-玩转数据-oracle创建dblink及应用

一、创建DBLINK的应用场景 oracle在进行跨库访问时&#xff0c;可以通过创建dblink实现。 二、创建DBLINK应用场景 在tnsnames.ora中配置两个数据库别名&#xff1a;orcl(用户名&#xff1a;wangyong 密码&#xff1a;1988)、orcl2(用户名&#xff1a;wangyong 密码&#xf…...

冯诺依曼体系结构

冯诺依曼体系结构 目录 冯诺依曼体系结构引入1、冯诺依曼体系结构1.1 内存1.2 操作系统预加载 2、操作系统2.1 理解管理2.2 系统调用接口2.3 操作系统四大基本功能 引入 冯诺依曼体系结构&#xff08;von Neumann architecture&#xff09;是现代计算机体系结构的基础&#xf…...

Axios请求(对ajax的二次封装)——Axios API、Axios实例、请求配置、Axios响应结构

axios起步——介绍和使用基本用例post请求 场景复现核心干货axios APIaxios(config)axios(url[,config])请求方式别名 axios实例创建一个axios实例axios.create([config])实例方法 axios请求配置axios响应结构 场景复现 最近学习与前端相关的小程序时&#xff0c;接触了异步请…...

Scrum of Scrums规模化敏捷开发管理全流程

Scrum of Scrums是轻量化的规模化敏捷管理模式&#xff0c;Leangoo领歌可以完美支持Scrum of Scrums多团队敏捷管理。 Scrum of Scrums的场景 Scrum of Scrums是指多个敏捷团队共同开发一个大型产品、项目或解决方案。Leangoo提供了多团队场景下的产品路线图规划、需求管理、…...

BP神经网络原来就是曲线拟合

本站原创文章&#xff0c;转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com 在初学BP神经网络的时候&#xff0c;总是非常抽象和难理解 但是&#xff0c;学久了会发现&#xff0c;BP神经网络原来就是曲线拟合&#xff01; 一下子才具体、深入的理解到BP神经网络是什么 本文…...

Oracle数据库查看与修改内存配置

Oracle数据库查看与修改内存配置 Oracle内存管理模式查看Oracle内存分配修改Oracle内存分配 Oracle内存管理模式 Oracle数据库的内存管理模式从自动管理化程度由高到低依次可以分为&#xff1a; 自动内存管理&#xff1a;完全由Oracle自动管理内存分配。DBA只需设置MEMORY_TA…...

Jenkins自动拉取SVN源代码构建打包vue前端项目

目录 1.功能需求 2.安装插件 2.1 安装NodeJS插件 2.2 安装SVN插件 3.配置环境 3.1 NodeJS环境 4.新建任务配置部署信息 4.1 源代码管理 4.2 构建触发器 4.3 构建环境 4.4 构建步骤 5.构建项目 5.1 点击查看控制台日志 1.功能需求 使用Jenkins从SVN上拉取Vue项…...

MySQL表的操作

文章目录&#xff1a; 创建表查看表结构修改表删除表 在使用 MySQL 数据库时&#xff0c;操作表是最基本和最重要的任务之一。表是 MySQL 数据库的核心对象&#xff0c;用于存储数据&#xff0c;并且可以通过 SQL 语句进行查询、插入、更新和删除等操作。因此&#xff0c;熟练掌…...

MySQL索引数据结构入门

之前松哥写过一个 MySQL 系列&#xff0c;但是当时是基于 MySQL5.7 的&#xff0c;最近有空在看 MySQL8 的文档&#xff0c;发现和 MySQL5.7 相比还是有不少变化&#xff0c;同时 MySQL 又是小伙伴们在面试时一个非常重要的知识点&#xff0c;因此松哥打算最近再抽空和小伙伴们…...

《低代码PaaS驱动集团企业数字化创新白皮书》-低代码PaaS应对行业集团企业数字化应用的需求(制造)

低代码PaaS应对行业集团企业数字化应用的需求 制造 制造业是我国重要的经济支柱之一&#xff0c;随着经济结构的调整&#xff0c;产业链的转移&#xff0c;劳动密集型制造业的利润已大不如前。在数字经济的大环境下&#xff0c;诸多制造业企业选择数字化转型&#xff0c;通过…...

深度学习实战26-(Pytorch)搭建TextCNN实现多标签文本分类的任务

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下深度学习实战26-(Pytorch)搭建TextCNN实现多标签文本分类的任务&#xff0c;TextCNN是一种用于文本分类的深度学习模型&#xff0c;它基于卷积神经网络(Convolutional Neural Networks, CNN)实现。TextCNN的主要思想…...

还在精神内耗?还在焦虑?可以看看这个

作为一个即将毕业的本科生&#xff0c;总是会不由自主的焦虑。因为不考研&#xff0c;所以显得和同学们格格不入&#xff0c;每天都在进行精神内耗&#xff0c;但是我不经意间看到了一个东西-《邓宁克鲁格效应》 上述的四个阶段刻画出了一条典型的“大师养成之路”。但大师毕竟…...

Event Camera (事件相机)

1.传统相机的缺点 1.随着计算机视觉领域的不断发展&#xff0c;目标检测的算法也越来越多样化&#xff0c;特别是近些年深度学习在计算机视觉领域的进步&#xff0c;已经产生了很多优秀的目标检测方法&#xff0c;这些基于帧的方法对于图片的质量有一定的要求&#xff0c;比如合…...

藏经阁(七)有源蜂鸣器和无源蜂鸣器 解析

文章目录 特征区别场景选型实战应用 特征 有源蜂鸣器特征&#xff1a; 又被称为直流蜂鸣器包含了一个多谐振荡器只要额定直流电压可以在两端发出声音具有驱动控制简单价格略高 无源蜂鸣器特征&#xff1a; 又被称为交流蜂鸣器内部没有振荡器需要在两端施加特定频率的方波电…...

配置FTP/TFTP协议的ASPF

在多通道协议和NAT的应用中&#xff0c;ASPF是重要的辅助功能。通过配置ASPF功能&#xff0c;实现内网正常对外提供FTP和TFTP服务&#xff0c;同时还可避免内网用户在访问外网Web服务器时下载危险控件。 组网需求 如图1所示&#xff0c;FW部署在某公司的出口&#xff0c;公司提…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...

Pydantic + Function Calling的结合

1、Pydantic Pydantic 是一个 Python 库&#xff0c;用于数据验证和设置管理&#xff0c;通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发&#xff08;如 FastAPI&#xff09;、配置管理和数据解析&#xff0c;核心功能包括&#xff1a; 数据验证&#xff1a;通过…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...