栅格地图建立-Grid-Mapping
栅格地图建立-Grid-Mapping
- 0.引言
- 1.建图前提假设
- 2.建图推导
- 3.逆观测模型
- 4.Occupancy Mapping Algorithm
- 5.demo
0.引言
本文只是根据资料自己学习的过程记录。主要参考的资料有:
波恩大学PPT
曾书格大佬PPT
代码参考
问题:给定机器人的位姿和传感器的观测数据(主要指激光雷达)。data ={x1,z1,x2,z2,⋯xn,zn}\text { data }=\left\{x_{1}, z_{1}, x_{2}, z_{2}, \cdots x_{n}, z_{n}\right\} data ={x1,z1,x2,z2,⋯xn,zn}
求解:最可能的地图。m∗=argmaxmP(m∣x1:t,z1:t)m^{*}=\arg \max _{m} P\left(m \mid x_{1: t}, z_{1: t}\right) m∗=argmmaxP(m∣x1:t,z1:t)
// 初始位置
int size_x_, size_y_, init_x_, init_y_;
// 地图分辨率
double cell_size_;
// 整个地图, 初始化概率全为 0.5 (unknown)
Eigen::MatrixXd bel_data_;
- nav_msgs/OccupancyGrid
void GridMap::toRosOccGridMap( const std::string& frame_id, nav_msgs::OccupancyGrid& occ_grid)
{occ_grid.header.frame_id = frame_id;occ_grid.header.stamp = ros::Time::now();occ_grid.info.width = size_x_;occ_grid.info.height = size_y_;occ_grid.info.resolution = cell_size_;occ_grid.info.origin.position.x = -init_x_*cell_size_;occ_grid.info.origin.position.y = -init_y_*cell_size_;// 没有赋值旋转// # The map data, in row-major order, starting with (0,0). Occupancy// # probabilities are in the range [0,100]. Unknown is -1.const int N = size_x_ * size_y_;for(size_t i= 0; i < N; i ++){double& value = bel_data_.data()[i];if(value == 0.5)occ_grid.data.push_back( -1);elseocc_grid.data.push_back( value * 100);}
}
1.建图前提假设
(1)栅格地图中的栅格是一个二元随机变量,只能取两个值:占用(Occupied)或者空闲(Free)。
栅格地图建立-Grid-Mapping相关推荐
- 9 概率机器人 Probabilistic Robotics 二值贝叶斯滤波 占据栅格地图 occupancy grid mapping
文章目录 1 前言 2 二值贝叶斯滤波 2.1 理论基础 2.2 算法流程 2.3 重要公式推导 3 实例:占据栅格地图(occupancy grid mapping) 4 参考文献 1 前言 如果通 ...
- 占用栅格地图(occupancy grid map)
机器人地图分类 尺度地图(metric map):每一个地点都可以用坐标来表示,比如经纬度. 拓扑地图(topological map):每一个地点用一个点来表示,用边来连接相邻的点,即图论中的图. ...
- 二维占用栅格地图Occupancy grid maps
机器人的地图表示方式有多种,如拓扑地图.特征地图.直接表征法.栅格地图等.其中,栅格地图应用广泛,方便用于机器人的导航规划中.下面就是一个占用栅格地图的例子: 一般有一个地图和一个.yaml文件. m ...
- 机器人的地图——占据栅格地图
1. 机器人地图的分类 地图有很多种表示方式,例如,用经纬度标识地方的世界地图,城市的地铁图,校园指引图. 第一种我们称为尺度地图(Metric Map),每一个地点都可以用坐标来表示,比如北京在东经 ...
- 占据栅格地图(Occupancy Grid Map)
转载自:https://zhuanlan.zhihu.com/p/21738718 写在前面:这篇文章是Coursera上的课程(Robotics: Estimation and Learning), ...
- Motion planning for self-driving cars课程笔记1:应用雷达数据生成占用栅格地图(Occupancy Grid Map)
此文章为Motion planning for self-driving cars上第二课的笔记,主要讲述占据栅格地图的生成.由于课程中算法也是参考<probability robot>这 ...
- Occupancy Grid Map(OGM:占用栅格地图)
参考:占用栅格地图原理分析:https://blog.csdn.net/weixin_40863346/article/details/92575794 基本概率 TSDF: Truncated Si ...
- 机器人学习--栅格地图(occupancy grid map)构建(部分代码解析)
转自: 占据栅格地图构建(Occupancy Grid Map) - 知乎 占据栅格地图构建(Occupancy Grid Map)_「小白学移动机器人」一个专注分享移动机器人相关知识的公众号!-CS ...
- SLAM 建立局部二维栅格地图的一种方法
转载请说明出处:http://blog.csdn.net/zhubaohua_bupt/article/details/72923373 二维占据栅格地图(栅格地图)广泛应用于移动机器人导航领域中,比 ...
最新文章
- 计算机视觉 | YOLO开源项目汇总
- 友盟分享和cocos2dx符合重复duplicate symbol 解决方案
- mysql数据类型总结
- vertica导出导入数据
- windows下git命令的使用
- 机器学习基石作业一中的PLA和POCKET_PLA实现
- 算法 - 斐波那契数列问题(转自微信公众号码农翻身)
- zabbix监控jmx
- yoga710怎么进入bios_重装系统看不懂bios?超详细中英文翻译,教你1分钟识别bios各项...
- 【优化算法】磷虾群算法(KH)【含matlab源码 133期】
- java点名程序界面设计_用Java语言编写一个班级点名的程序
- SiamFC 学习(论文、总结与分析)
- matlab 矩阵逻辑与,MATLAB矩阵的寻访与赋值
- DevComponents.DotNetBar2 美化包使用以及验证教程
- android+action +actionform上传文件,ActionForm之文件上传
- 办公用品管理系统服务器版,恒达办公用品管理系统
- python简单实现爬取小说《天龙八部》,并在页面本地访问
- lpx寒假作业案例1
- windows2012运行linux,在 Windows Server 2012 R2 Hyper-V 上提供 Linux 支持
- CentOS7 DM-Multipath+HUAWEI OceanStor存储多路径配置
热门文章
- 9 概率机器人 Probabilistic Robotics 二值贝叶斯滤波 占据栅格地图 occupancy grid mapping