栅格地图建立-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 二维占据栅格地图(栅格地图)广泛应用于移动机器人导航领域中,比 ...
最新文章
- css位置布局,CSS定位布局相关
- WS-Addressing 了解
- 【ABAP系列】SAP ABAP模块-任意report作为附件以邮件形式发送
- 亿佰特物联网通信专家:蓝牙模块和 Zigbee协议模块的区别
- 梦如果实现以后。。。。。。
- Java集合---面试题
- TIOBE 年度榜单揭晓:C 语言夺冠,Python 紧随其后
- 用GDB调试程序(11)──查看运行时数据(2)-转
- 何川L3管理课_模块3_追进展(执行)
- Object类的wait和notify详解
- 】oracle em配置常用命令
- 朱嘉明:区块链将为再全球化提供基础结构和技术性制度(全文)
- 依托智慧警务 打造城市公共安全防控新模式
- VS2019中Git源代码管理总结
- PHP GD库文字生成图片及图片拼接
- 2G、3G要退出历史舞台了?为何3G比2G淘汰更快?
- 【Go】Map 的空间利用率统计
- 使用socket.io实现强制踢出其他在线账号
- 风暴控制(storm control)
- matlab利用magnify作图
热门文章
- ASP.NET Calendar 控件在中文服务器上显示为英文星期的处理
- 9、乐趣国学—践行《弟子规》的“谨”懂得从容之道(上篇)
- 计算机数学课程标准,最新《义务教育数学课程标准版》
- 魔兽美服服务器维护,魔兽世界怀旧服:美服TAQ开门失败!服务器承受不了如今的热度!...
- Window安装Prometheus
- prometheus变量_Prometheus配置文件
- vanilla-tilt.js: 一个平滑的3D倾斜javascript库。
- SAP 销售订单中的成本中心
- NEUQ-acm 预备队训练Week11——复习
- PyQt5 designer 布局中组件尺大小、 位置设定
- 9 概率机器人 Probabilistic Robotics 二值贝叶斯滤波 占据栅格地图 occupancy grid mapping