适合初学者的机器人SLAM理论与编程实践
适合初学者、机器人、实时三维重建SLAM、讲人话、有理论有实践
司南牧
立志让初学者跨界学编程/算法/AI机器人无障碍专注零基础教程,知乎@司南牧
展开
-
[易懂]如何真正理解SLAM中的BA中的扰动法求导泰勒展开
∂(Rp)∂ξ=limΔξ→0exp(Δξ^)exp(ξ^)p−exp(ξ^p)Δξ≈limΔξ→0(1+Δξ^)exp(ξ^)p−exp(ξ^p)Δξ=limΔξ→0exp(ξ^p)+Δξ^exp(ξ^)p−exp(ξ^p)Δξ=limΔξ→0Δξ^exp(ξ^)pΔξ=limΔξ→0Δξ^RpΔξ=limΔξ→0−(Rp)^ΔξΔξ=−(Rp)^>利用叉乘的性质交换\fra...原创 2020-02-19 16:40:53 · 858 阅读 · 2 评论 -
如何理解PnP问题的DLT解法以及Python编程实践
PnP问题的DLT解法欢迎关注知乎@司南牧已知:上一帧相机坐标系下的点的三维齐次坐标QQQ,和,那nnn个点在当前帧中的二维齐次坐标qqq, 和相机内参矩阵KKK。待求解变量 :当前帧相对上一帧的位姿变换矩阵[R∣t][R|t][R∣t] 。约束方程:K[R∣t]Q=λqK[R|t]Q = \lambda qK[R∣t]Q=λq我们记[R∣t]=[a11a12a13a14a21a...原创 2020-02-19 16:37:59 · 3914 阅读 · 2 评论 -
[最新有效]高翔RGB-D SLAM中最新版本g2o报错解决方案
报错一共有两个原因:初始化g2o的接口已经发生变动需要修改解决方案:以下是最新的初始化g2o的代码(2019年11月15日14:17:40)// 初始化g2o typedef g2o::BlockSolver< g2o::BlockSolverTraits<6,3> > Block; // pose维度为 6, landmark 维度为 3 std::un...原创 2019-11-15 14:18:56 · 523 阅读 · 0 评论 -
如何理解视觉SLAM视觉里程计VO:如何从图片中还原计算出相机的三维位姿算法教程Python代码实践
视觉里程计是什么?视觉里程计有什么用?需要我们求解什么?视觉里程计(Visual Odometry,VO) 算法是什么?视觉SLAM中的视觉里程计算法就是指的是通过某个算法根据前后两张图片求出当前时刻内相机位置和姿态相对上个时刻相机位置和姿态的变化的那种算法。这个就和出租车的里程计一样记录每个时刻的车轮速度及其滚动距离类似。只不过视觉里程计算法是求相机在各个时刻的位置姿态,所以才叫做视觉里程计算...原创 2019-11-08 19:36:37 · 1710 阅读 · 0 评论 -
[易懂实例讲解]离散型贝叶斯滤波python编程代码实践
本文是从例子的角度来讲解贝叶斯滤波。如果你想看贝叶斯滤波的理论推导的话可以看这篇文章《我是如何十分钟理解与推导贝叶斯滤波(Bayes Filter)算法?》。不懂贝叶斯滤波理论也凭直觉可以看懂本文的例子和Python代码实践。例子的背景介绍假设有一个机器人它在困在一个管子里面了,只能前进或后退。管子的长度是20cm。机器人收到"前进"命令后有三种可能“有25%概率不执行,有50%概率前进1cm...原创 2019-08-27 16:25:53 · 4766 阅读 · 4 评论 -
如何直观理解粒子滤波并进行Python编程实践
疯言疯语:如果你对一个算法有什么用都一无所知,那么学这个算法的难度那就增加了100倍。——知乎@Ai酱首先我们看看粒子滤波怎么用的。我以粒子滤波可以用来机器人自主定位为例。现在已知机器人脑子里面有某个商场的地图,然后它想知道自己到底在哪。注意:现在机器人已知商场地图,并且能看到周围长啥样,需要求机器人位于地图哪个位置(就像我们人自己在商场都经常迷路不知道自己在哪)。那么根据粒子滤波算法机器...原创 2019-08-28 17:17:20 · 3897 阅读 · 1 评论 -
一文看懂机器人与自动驾驶与机器人的“眼睛”[即时定位与地图重建SLAM]到底是什么?有哪几个关键环节?他们之间的联系是什么?
即时定位与地图重建(SLAM)到底是什么?为什么需要它?在哪需要它?如何使用它?SLAM技术是什么?它就是通过摄像头和雷达等传感器来对周围环境进行实时地图重建并且还能计算出传感器位于所重建的地图的哪个地方。SLAM技术有什么用?在哪需要它?如何使用它?自动驾驶需用用SLAM技术来建图和定位自己在哪。通过建图后才能决策到底前面有没有车,以及前面是否有路口,到底改怎么转。机器人需要对周围环境进行建...原创 2019-09-02 15:16:48 · 390 阅读 · 0 评论 -
史上最易懂的最小二乘法实践:线性最小二乘法推导与Python求解编程教程
最小二乘法有什么用?一般用它做什么事?我们最早接触最小二乘法是在高中的时候学的。最小二乘法一般被用来拟合数据。什么叫做拟合数据?就是给定你一堆数据,然后你假设这些数据是满足某种函数的,比如你假设这些数据是一条直线。现在问题来了到底这些数据所对应的那条直线斜率是多少截距是多少?这就得用最小二乘法来求解。总结:最小二乘法拟合数据的步骤有两步。1.首先,假设这些数据符合某种函数。而这种函数往往有几...原创 2019-09-26 19:16:59 · 1132 阅读 · 0 评论 -
通俗易懂最小二乘法与牛顿法总结:线性与非线性,文末有Python和c++代码编程实践教程
今日疯言疯语:很多算法看不懂大概率是这些算法做出的一些假设你不知道——@Ai酱线性最小二乘法||Ax-y||可以直接求解问题:已知A和y,需要求x。并且需要最小化||Ax-y||。下面是求解x的方法:Ax=yATAx=ATyx=(ATA)−1ATyAx=y \\A^TAx = A^Ty\\x = (A^TA)^{-1}A^TyAx=yATAx=ATyx=(ATA)−1ATy之所...原创 2019-09-28 20:50:07 · 1067 阅读 · 1 评论