小豆包的学习之旅:传感器观测模型
1.个人资源索引2.SLAM学习笔记(1)基本概念3.SLAM学习笔记(2)SLAM算法4.[ROS]2 尝试编译OrbSLAM5.[ROS]1 小乌龟6.SLAM最近的工作7.SLAM学习笔记(3)相关概念8.[SLAM]2D激光线特征提取9.[SLAM] GMapping SLAM源码阅读(草稿)10.[QGLViewer]First Demo11.SLAM数据集12.[SLAM]2D激光扫描匹配方法13.[g2o]一个备忘14.[ROS] slam_gmapping15.[ROS]3 Linux编程练习16.Linux学习和ROS安装(1)17.小豆包的学习之旅:机器人定位
18.小豆包的学习之旅:传感器观测模型
19.Kinect2.0相机标定20.小豆包的学习之旅:里程计运动模型21.小豆包的学习之旅:入门篇22.Kinect2.0点云数据获取23.[硬件]Robot运动控制24.[硬件]Urg_viewer数据读取25.[硬件]三维点云数据获取26.Kinect2.0获取数据27.ndt histogram_direction28.rplidar & hector slam without odometry29.rplidar测试30.[原创]NDT方法在SLAM中的应用31.[SLAM]Karto SLAM算法学习(草稿)32.ROS学习备忘33.[ROS]激光驱动安装34.OrbSLAM2采集点云数据35.Cartographer源码阅读(8):imu_tracker36.[硬件]点云数据采集237.Cartographer源码阅读(9):图优化的前端——闭环检测38.Cartographer源码阅读(7):轨迹推算和位姿推算的原理39.Ethzasl MSF源码阅读(3):MSF_Core和PoseMeasurement40.Ethzasl MSF源码阅读(2):百川汇海41.Ethzasl MSF源码阅读(1):程序入口和主题订阅42.Cartographer源码阅读(6):LocalTrajectoryBuilder和PoseExtrapolator43.Cartographer源码阅读(5):PoseGraph位姿图44.Cartographer源码阅读(4):Node和MapBuilder对象245.Cartographer源码阅读(3):程序逻辑结构46.Cartographer源码阅读(2):Node和MapBuilder对象47.Cartographer源码阅读(1):程序入口48.实时Cartographer测试(1) - rplidar49.Cartographer安装50.ROS安装(2)51.[ROS]一些传感器数据读取融合问题的思考52.小豆包的学习之旅:占用概率栅格地图和cost-map53.小豆包的学习之旅:开发记录54.[概述]移动机器人自主探索55.MRPT编译传感器观测模型,主要针对激光测距传感器进行说明。
1.Beam Model 测量光束模型
激光测量光束模型是对激光测量过程的近似物理描述,激光测距仪沿激光发出的光束测量周围物体的距离。该模型将一条沿光束进行的测量表达为四种概率密度的混合。认为存在四种类型的测量误差。
2.Likehood Field 似然场模型
主要思想是将激光传感器扫描的端点投影到地图的全局坐标系下。机器人时刻的位姿为,传感器的安装位置相对于机器人的中心坐标,激光光束相对于机器人的朝向(Heading direction)的角度为。激光测量端点的坐标为,相对于激光器中心。激光扫描到的点投影到地图的全局坐标系坐标为.
该模型认为存在三种类型的噪声和不确定性。即:测量误差,最大测量距离,背景噪声
(1)测量误差,描述的是测量点到对应地图上物体之间存在的误差。
(2)最大测量距离,激光的最大观测会产生很大的似然值。
(3)用一个均匀分布描述观测中的随机噪声
已知t时刻位姿和地图m的情况下,则观测到的概率
其中,,为权重。
总结:
机器人的运动模型主要是对机器人的运动过程进行建模,利用的是传感器对机器人运动的观测数据(如里程计)。
激光传感器的作用主要是感知周围环境,获取的扫描数据在SLAM过程中有两个作用:一是构建地图(占用概率栅格地图);另外一个是扫描匹配,优化里程计获取的机器人位姿,扫描匹配是建立局部子图和全局地图位置关系的过程,常用到的就是传感器观测模型。[SLAM]2D激光扫描匹配方法
地图的更新时一个增量过程,每个时刻扫描的新的观测数据都要融合到现有的地图中,占用概率栅格地图介绍了一种增量更新地图的方法。
作者:太一吾鱼水
文章未经说明均属原创,学习笔记可能有大段的引用,一般会注明参考文献。
欢迎大家留言交流,转载请注明出处。
合集:
SLAM
分类:
Robot & SLAM
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
2016-04-21 [g2o]一个备忘
2015-04-21 [HDF]hdf-4.2.6类库的使用
2014-04-21 [ArcEngine]IFeatureBuffer使用