ROS的代价地图与AMCL定位原理

2023-05-16

地图服务与AMCL定位

  • costmap(代价地图)
  • AMCL定位(自适应蒙特卡罗定位)

costmap(代价地图)

1.地图文件格式:除了pgm(便携式灰度图)外,还支持jpg、png等常用图片格式,还可以用画图工具修改或重画地图:

2.地图参数文件

在这里插入图片描述3.地图膨胀
地图膨胀,为了保护小车以免遭受碰撞。红色是障碍物,蓝色是按照一定的半径膨胀出来的。代价地图就是要保证小车与障碍物不发生碰撞。

官方提供了三种碰撞情况:最严重的是小车中心与红色相交,一定会发生碰撞。第二是障碍物以小车的内切圆为半径膨胀,小车的中心也不能蓝色部分相交,否则也一定会发生碰撞。第三是障碍物以小车的外接圆为半径膨胀,这时小车中心与蓝色部分相交,有可能发生碰撞。

在这里插入图片描述

三层地图来组成代价地图,代价地图又分为全局代价地图和局部代价地图
在这里插入图片描述4.恢复行为
当物体运动的导航路线受阻的时候,会触发这个插件的功能,来对导航路线进行调整,如果调整失败,会结束导航。
在这里插入图片描述

AMCL定位(自适应蒙特卡罗定位)

解决的问题是目前自己所处地图的位置,利用的是粒子滤波算法。

粒子滤波:初始化.计算权重.重采样.状态转移.
1.初始化
产生N个位置假设。(采样)随机分布,我们叫它们为粒子。
在这里插入图片描述2.计算权重
通过传感器收集到的数据(一般是激光雷达),来估算每个粒子位置的可能性。对可能性较大的粒子位置赋比较大的权重
3.重采样
重新撒点,跟初始化不同的是每个位置撒点的可能性是不一样的,依照的是上一步权重。权重越大,可能性越高,重采样中的粒子也集中在这些地方。所以重采样的新粒子会出现在旧粒子权重大的地方。现在由于所有的粒子是新采样得到的,所以每个粒子又都是相同的权重了。
在这里插入图片描述4.状态转移阶段
物体继续运动,粒子也跟着一起运动,再进行计算权重,重采样…
不断循环这个过程。
在这里插入图片描述

移动1
开始移动
在这里插入图片描述

移动2
开始集中
在这里插入图片描述

移动3
越来越集中

在这里插入图片描述

移动4
粒子集中在一团,然后就能估算出物体的实际位置。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS的代价地图与AMCL定位原理 的相关文章

  • Arduino基础入门篇23—串口通讯

    在很多时候 xff0c Arduino需要和其他设备相互通讯 xff0c 而最常见最简单的方式就是串口通讯 本篇介绍Arduino硬件串口通讯 xff0c 了解相关函数的使用 1 硬件串口 在PC机上最常见的串行通讯协议是RS 232串行协
  • 基于Qt的车载GPS监控系统(7)数据记录

    基于Qt的车载GPS监控系统 xff08 7 xff09 数据记录 数据日志显示界面 系统数据记录功能实现说明 1 通过一个线程定时记录系统当前的温度数据 2 通过数据日志界面显示保存的日志数据 数据记录线程代码 span class hl
  • 嵌入式系统重定向printf的三种方法

    对printf 进行重定向的三种方法 方法1 使用MircoLib并重定义fputc方法2 停用半主机模式 xff0c 在MDK中使用标准库重定向printf 方法3 在Gcc中使用标准库重定向printf 1 MDK使用MircoLib并
  • Windows API程序入门学习(1)

    导航 Windows API程序入门学习 xff08 1 xff09 学习目的作业要求实现步骤参考书籍实现代码运行结果 Windows API程序入门学习 xff08 1 xff09 学习目的 了解 windows操作系统应用程序开发的基本
  • 嵌入式系统基础学习笔记(四)

    目录 一 GDB调试简例1 1 例11 2 例2 二 OpenCV入门2 1 在Windows下使用OpenCV 3 4 82 1 1 OpenCV的安装与配置2 1 2 一个简单的OpenCV对图片特效显示例子 2 2 在Ubuntu18
  • 计算机网络实验报告(二):Wireshark 实验

    文章目录 一 数据链路层二 网络层三 传输层四 应用层 本部分按照数据链路层 网络层 传输层以及应用层进行分类 xff0c 共有 10 个实验 需要使用协议分析软件 Wireshark 进行 xff0c 请根据简介部分自行下载安装 准备 请
  • 计算机网络实验报告(三):Cisco Packet Tracer 实验

    文章目录 一 CPT 软件使用简介二 直接连接两台 PC 构建 LAN三 用交换机构建 LAN四 交换机接口地址列表五 生成树协议 xff08 Spanning Tree Protocol xff09 六 路由器配置初步说明一说明二说明三说
  • 嵌入式系统应用开发实验(一)

    文章目录 一 设计半加器二 半加器组成全加器三 烧录进硬件 实验目的 xff1a 通过1位全加器的详细设计 xff0c 掌握原理图输入以及Verilog的两种设计方法 软件基于quartusII 13 0版本 xff0c 开发板基于Inte
  • 关于浏览器以及各种内置浏览器造成黑屏的解决办法

    楼主在使用Chrome Edge浏览器甚至Steam时经常会发生网页还没打开就会发生 浏览器黑屏 电脑黑屏 自动重启 的过程 xff0c 困扰许久 网上的大部分教程是在浏览器设置里面关闭 硬件加速 功能 甚至于重装系统 但是经过实测 xff
  • 【FFTW库】编译生成 x86、arm 环境下的FFTW库

    FFTW是一个快速计算离散傅里叶变换的标准C语言程序集 xff0c 可计算一维或多维实和复数据以及任意规模的DFT 下面主要介绍的是 x86 环境下 FFTW库的编译过程 xff0c arm环境下的编译过程和FFTW类似 xff0c 不同之
  • C语言学习笔记w2d4

    文章目录 流程控制二循环语句gotowhile练习 do whilefor breakcontinue 作业 流程控制二 循环语句 循环的开始条件 循环的控制条件 循环的结束条件 goto 无条件跳转 xff0c 跳转到指定位置执行 xff
  • C语言学习笔记w2d5

    文章目录 数组一维数组练习字符数组字符串输入与输出 练习 多维数组 作业 数组 一维数组 用一个变量来存储具有一定关系的数据 xff0c 的数据集合叫数组 其中存储的变量是数组元素 a span class token punctuatio
  • Linux基础与C高级w3d4:linux的文件管理(续)、了解shell编程

    管道 作用 xff1a 把一个命令的结果作为另一个命令的输入参数 符号 xff1a 用法 xff1a ls grep test 用户管理 切换用户 xff1a su 用户名 修改用户密码 xff1a sudo passwd 用户 注册用户
  • ARM:day4

    ARM 的接口技术 裸机编程 例 xff1a LED灯 根据电路图找到 LED 找到控制的管脚 GPX2 7根据芯片手册 找到需要配置的地址空间地址 和使能值写汇编代码 编译工具 arm gcc 安装方式 把 bin 添加到PATH bas
  • ARM:day5

    ARM 的接口技术 串口 UART 工作模式 全双工发送二进制 ASCII码 两个设备通过各自的定时器来接收数据 空闲时拉高电平 要开始发数据时起始位拉低 0 发数据 一般是 8 位带一位校验位 结束发送 拉高电平回到空闲状态 缺点 特点
  • Ubuntu上igraph的安装教程

    暑假终于到了 xff0c 距离上一篇博客应该有3个月的时间了 xff0c 没有学期末的忙忙碌碌 xff0c 接下来会陆陆续续地回顾自己学过的和将学的东西一并整理成博客 关于igraph 因为课程需要 xff0c 在信息资源管理的课程上曾学过
  • 还在按鼠标调试?键盘F1-F10取消Fn快速调试

    传统功能键 xff1a F1 F12媒体功能键 xff1a 音量 xff0c 亮度 xff0c 锁屏 xff0c 飞行模式等 多数电脑 xff0c 或者有些升级为win10的电脑 xff0c 传统功能键变为了媒体功能键 xff0c 开发人员
  • Jupyter Notebook+VSCode环境搭建及原理讲解

    版权所有 xff0c 转载注明原地址 时间 xff1a 2020年1月17日17 33 15 created by xff1a Hpbbs 使用JupyterNotebook编辑 文章目录 0x00 前言 Python命令行模式的单一与Ju
  • Rust 安装,卸载,nightly/stable版本切换(全局或工作空间),提高下载速度

    版权所有 xff0c 转载前注明原址 时间 xff1a 2020年1月26日20 10 44 created by xff1a Hpbbs 文章目录 1 1 安装1 2 卸载1 3 更新1 4 Rust镜像源切换1 5 Rust night
  • Sql to Object VS Sql of Object

    文章目录 Java Object 中的 setter 与 getterLINQ 的定位 xff1a sql to objectSql of Object 的思维提出SQL of object 43 er实现SQLer Java Object

随机推荐