激光SLAM流程_激光打眼

激光SLAM流程_激光打眼基于环境自然导航激光叉车:基于环境自然导航的激光导航叉车AGV中,机器人在运动过程中通过编码器结合IMU计算得到里程计信息,运用机器人的运动模型得到机器人的位姿初估计,然后通过机器人装载的激光传感器获取的激光数据结合观测模型(激光的扫描匹配)对机器人位姿进行精确修正,得到机器人的精确定位,最后在精确定位的基础上,将激光数据添加到栅格地图中,反复如此,机器人在环境中运动,最终完成整个场景地图的构建…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

基于环境自然导航激光叉车:
基于环境自然导航的激光导航叉车AGV中,机器人在运动过程中通过编码器结合IMU计算得到里程计信息,运用机器人的运动模型得到机器人的位姿初估计,然后通过机器人装载的激光传感器获取的激光数据结合观测模型(激光的扫描匹配)对机器人位姿进行精确修正,得到机器人的精确定位,最后在精确定位的基础上,将激光数据添加到栅格地图中,反复如此,机器人在环境中运动,最终完成整个场景地图的构建。
在这里插入图片描述
在这里插入图片描述
在完成场景地图构建后,需要在所构建的地图基础上进行基于地图的位置和路径规划来实现叉车AGV的导航。叉车AGV运动过程中,通过里程计信息结合激光传感器获取的激光数据与地图进行匹配,不断地实时获取AGV在地图中的精确位姿,同时,根据当前位置与任务目的地进行路径规划(动态路线或者固定路线,且每次的路线都略微不同),根据规划得到的轨迹给叉车AGV发送控制指令,使叉车AGV实现自动行驶。
在这里插入图片描述
简单来说,粒子滤波法是指通过寻找一组在状态空间传播的随机样本对概率密度函数进行近似,以样本均值代替积分运算(状态方程),从而获得状态最小方差分布的过程
粒子滤波主要步骤如下:
(1)初始化阶段
规定粒子数量,将粒子平均的分布在规划区域,规划区域需要人为或者通过特征算法计算得出,比如人脸追踪,初始化阶段需要人为标出图片中人脸范围或者使用人脸识别算法识别出人脸区域。对于SLAM来说,规划区域一般为用来进行定位的地图,在初始化时,将需要设置的特定数量粒子均匀的撒满整张地图。
(2)转移阶段
这个阶段所做的任务就是对每个粒子根据状态转移方程进行状态估计,每个粒子将会产生一个与之相对应的预测粒子。这一步同卡尔曼滤波方法相同,只是卡尔曼是对一个状态进行状态估计,粒子滤波是对大量样本(每个粒子即是一个样本)进行状态估计。
(3)决策阶段
决策阶段也称校正阶段。在这一阶段中,算法需要对预测粒子进行评价,越接近于真实状态的粒子,其权重越大,反之,与真实值相差较大的粒子,其权重越小。此步骤是为重采样做准备。在SLAM中权重计算方式有很多,比如机器人行走过程中,激光雷达或者深度摄像头会返回周围位置信息,如果这些信息与期望值相差较大,亦或者在运动中某些粒子本应该没有碰到障碍或者边界,然而在运算中却到达甚至穿过了障碍点或边界,那么这种粒子就是坏点粒子,这样的粒子权重也就比较低一些。
(4)重采样阶段
根据粒子权重对粒子进行筛选,筛选过程中,既要大量保留权重大的粒子,又要有一小部分权重小的粒子;权重小的粒子有些会被淘汰,为了保证粒子总数不变,一般会在权值较高的粒子附近加入一些新的粒子。
(5)滤波
将重采样后的粒子带入状态转移方程得到新的预测粒子,然后将它们继续进行上述转移、决策、重采样过程,经过这种循环迭代,最终绝大部分粒子会聚集在与真实值最接近的区域内,从而得到机器人准确的位置,实现定位。
(6)地图生成
每个粒子都携带一个路径地图,整个过程下来,我们选取最优的粒子,即可获得规划区域的栅格地图。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172353.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos7 网络配置

    centos7 网络配置centos7刚安装,需要做一些配置才能正常上网!1.虚拟网络编辑器配置1)通过VMware菜单栏,依次点击编辑和虚拟网络编辑器2)选中VMnet8,取消勾选使用本地DHCP服务将IP地址分配给虚拟机,查看DHCP确保未启用,点击NAT设置3)查看网关IP,并记住192.168.255.2,用于网络配置文件设置2.修改mac地址如果本虚拟机为克隆机,则需要重新…

    2022年4月28日
    47
  • Java中的Scanner用法解析

    Java中的Scanner用法解析一、Scanner类简介Java5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。简介Scanner类是java.util包中的一个类作用常用于控制台的输入,当需要使用控制台输入时即可调用这个类二、Scanner类的用法使用方法1、首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联…

    2022年7月9日
    19
  • MyBatis-Plus 之逻辑删除

    MyBatis-Plus 之逻辑删除MyBatis-Plus之逻辑删除实现概念逻辑删除:文件没有被真正的删除,只不过是文件名的第一个字节被改成操作系统无法识别的字符,通常这种删除操作是可逆的,就是说用适当的工具或软件可以把删除的文件恢复出来。物理删除:指文件存储所用到的存储区域被真正的擦除或清零,这样删除的文件是不可以恢复的,物理删除是计算机处理数据时的一个概念。逻辑删除就是对要被删除的数据打上一个删除标记,在逻辑上,数据是被删除了,但数据本身依然存在!而物理删除则是把数据从介质上彻底删除掉。正文首先创建一个数据库表,如下图

    2022年5月20日
    48
  • JBPM学习第4篇:10分钟熟悉Eclipse[通俗易懂]

    JBPM学习第4篇:10分钟熟悉Eclipse

    2022年3月12日
    37
  • 302状态码解决方法_常见的状态码有哪些

    302状态码解决方法_常见的状态码有哪些http状态码301和302详解及区别

    2022年8月2日
    22
  • SORT 多目标跟踪算法笔记[通俗易懂]

    SORT 多目标跟踪算法笔记[通俗易懂]sort是一种简单的在线实时多目标跟踪算法。文章要点为:以IoU作为前后帧间目标关系度量指标;利用卡尔曼滤波器预测当前位置;通过匈牙利算法关联检测框到目标;应用试探期甄别虚检;使用FasterR-CNN,证明检测好跟踪可以很简单。技术方案所提方法以检测作为关键组件,传播目标状态到未来帧中,将当前检测与现有目标相关联,并管理跟踪目标的生命周期。Detection为从…

    2025年8月14日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号