当前位置: 首页 > 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;公司提…...

HttpOnly Cookie 深度解析

一、什么是 HttpOnly Cookie HttpOnly 是一个可以附加在 Set-Cookie 响应头上的标志位&#xff08;flag&#xff09;。当一个 Cookie 被标记为 HttpOnly 后&#xff0c;客户端脚本&#xff08;如 JavaScript&#xff09;将无法通过 document.cookie 等 API 访问该 Cookie&…...

STM32F407移植QP状态机踩坑实录:从编译报错到成功运行,我解决了这三个关键问题

STM32F407移植QP状态机踩坑实录&#xff1a;从编译报错到成功运行&#xff0c;我解决了这三个关键问题 在嵌入式开发中&#xff0c;状态机是一种极其重要的编程范式&#xff0c;它能有效管理复杂系统的行为逻辑。QP&#xff08;Quantum Platform&#xff09;作为一款轻量级的状…...

Netgear路由器终极救援指南:用nmrpflash免费快速修复变砖设备

Netgear路由器终极救援指南&#xff1a;用nmrpflash免费快速修复变砖设备 【免费下载链接】nmrpflash Netgear Unbrick Utility 项目地址: https://gitcode.com/gh_mirrors/nmr/nmrpflash 当你的Netgear路由器在固件升级过程中意外断电&#xff0c;或者刷入错误固件导致…...

开源自动驾驶系统终极指南:从入门到精通

开源自动驾驶系统终极指南&#xff1a;从入门到精通 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Trending/op/openpilo…...

碳排放混合时间窗集装箱运输调度【附算法】

✨ 长期致力于集装箱运输VRP、混合时间窗、碳排放、多目标优化、NSGA-Ⅱ、蚁群算法研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;经济性与紧急性双目…...

从理论到实践:三维形状上下文(3DSC)如何构建鲁棒的点云局部描述符

1. 为什么我们需要三维形状上下文(3DSC) 想象一下你正在玩一个拼图游戏&#xff0c;但所有碎片都被随机撒上了胡椒粉&#xff0c;有些碎片还被书本盖住了一角。这就是计算机处理含噪声、遮挡的点云数据时的真实处境。在机器人导航、自动驾驶或者工业质检中&#xff0c;我们经常…...

基于RP2040的客制化宏键盘:从硬件设计到KMK固件开发全攻略

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目&#xff0c;叫clawdpad&#xff0c;作者是kudretyilmazz。乍一看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但如果你对机械键盘、客制化输入设备或者桌面自动化感兴趣&#xff0c;那这个项目绝对值得你花时间…...

动态提示词工程:让AI提示词具备上下文学习能力的实践指南

1. 项目概述&#xff1a;当提示词遇上上下文学习最近在折腾大语言模型应用时&#xff0c;我反复遇到一个痛点&#xff1a;精心设计的提示词&#xff08;Prompt&#xff09;在特定任务上效果拔群&#xff0c;但换个场景或数据&#xff0c;效果就大打折扣。每次都得重新调整、测试…...

5分钟掌握浏览器串口调试:提升嵌入式开发效率300%的终极指南

5分钟掌握浏览器串口调试&#xff1a;提升嵌入式开发效率300%的终极指南 【免费下载链接】SerialAssistant A serial port assistant that can be used directly in the browser. 项目地址: https://gitcode.com/gh_mirrors/se/SerialAssistant 你是否还在为串口调试工具…...

基于强化学习的机器人抓取:从PPO/SAC算法到仿真部署全解析

1. 项目概述&#xff1a;一个基于强化学习的机器人抓取开源项目最近在机器人控制领域&#xff0c;强化学习&#xff08;Reinforcement Learning, RL&#xff09;的应用越来越火&#xff0c;尤其是在需要高精度、高适应性的任务上&#xff0c;比如机器人抓取。传统的抓取规划方法…...