在规划中,我们主要使用哪种类型的地图?
摘要:博客地址:https:www.cnblogs.comzylyehuo Occupancy Grid Map 【占据栅格地图】 移动机器人运动规划-第一章(运动规划介绍与地图构建)-第三节(地图构建方法-Occupancy Grid
博客地址:https://www.cnblogs.com/zylyehuo/
Occupancy Grid Map
【占据栅格地图】
移动机器人运动规划-第一章(运动规划介绍与地图构建)-第三节(地图构建方法-Occupancy Grid Map)
自动驾驶中的Occupancy Grid占用栅格算法
基于贝叶斯公式
基于马尔科夫假设(当前的概率与之前的概率是独立的)
发现存在相同项
将两个概率进行相除,约去相同项
利用 log 函数,分离出先验状态
还剩下“逆传感器模型”部分【不直观】
再利用贝叶斯公式,将“逆传感器模型”转换为“传感器模型”【基于当前栅格地图的状态,得到的这一次观测值应该是0还是1的概率】,发现又出现相同项
假设“传感器模型”是个定值【基于观测的更新方式】
利用滚动的 Occupancy Grid Map,解决“大地图”问题
TSDF
(Truncated Signed Distance Field)【截断符号距离场】
An open-source version of the Chisel chunked TSDF library.
运动规划之 TSDF map
障碍物外面的值为正值,障碍物外面的值为负值
ESDF
(Euclidean Signed Distance Field)【欧几里得符号距离场】
移动机器人运动规划-第一章(运动规划介绍与地图构建)-第三节(地图构建方法-ESDF)
“一层”的是 ESDF,上面的小栅格是 Occupancy Grid Map
仅针对一维的伪代码
对于二维的情况,就是固定 x,根据不同的 y 求解到达障碍物的最小距离
以第一列为例
以第二列为例(没有障碍物的情况,则每个位置的值都为 ∞)
接着固定 y,根据不同的 x 求解到达障碍物的最小距离
以下面三行为例
对于第一个格子,x=1,选取【这个格子到别的格子的距离 + 别的格子里面的“值”】最小的结果
对于第二个格子,x=2
利用两次“一维”的求解,获得二维的结果【三维类似】
障碍物里面存放的值的意义:到最近的 free 的栅格的距离,同时这个值放的是负值
先将障碍物和 free 栅格进行翻转,然后进行计算
将计算后的值添加上负号
再和原来的场进行叠加
先沿着 z 轴算,再沿着 y 轴算,最后沿着 x 轴算
进行翻转操作【反向 ESDF】,计算障碍物内部的值【先沿着 z 轴算,再沿着 y 轴算,最后沿着 x 轴算】
最后进行叠加
对于当前位置不在栅格中心的情况,利用插值进行解决
ESDF 地图梯度的计算
Gaussian Map
3DGS
(3D Gaussian Splatting)【3D 高斯溅射地图 / 前沿视觉地图】
3D Gaussian Splatting算法及其实现细节
论文:3D Gaussian Splatting for Real-Time Radiance Field Rendering
代码
GP Map
(Gaussian Process Map)【高斯过程地图 / 概率连续地图】
什么是高斯过程(Gaussian Processes, GP)
论文:Gaussian process occupancy maps for dynamic environments
GMM
(Gaussian Mixture Models)【高斯混合模型地图】
如何通俗的理解高斯混合模型(Gaussian Mixture Models))
论文:Gaussian Mixture Models
NeRF
(Neural Radiance Fields)【神经辐射场】
论文:Representing Scenes as Neural Radiance Fields for View Synthesis
代码
官网
NeRF 首篇经典论文介绍(ECCV2020)
【较真系列】讲人话-NeRF全解(原理+代码+公式)
