0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Cortex-A53嵌入式处理器平台上实现激光雷达SLAM的方法

SwM2_ChinaAET 来源:未知 作者:李倩 2018-03-13 09:15 次阅读

自主移动机器人]是近几年的研究热点,要实现机器人的自主移动,关键是要实现SLAM[4-7](Simultaneous Localization and Mapping),也就是同时定位与地图构建。

在移动机器人上实现SLAM目前有两种主流的方法,一是基于相机的SLAM;二是基于激光雷达[8]的SLAM。在SLAM的实现中最常用的硬件处理器平台是Intel x86平台,如TurtleBot移动机器人上的硬件处理器平台就是一台笔记本。在移动机器人上实现SLAM的硬件成本比较高,这是自主移动机器人难以进入服务市场的主要原因之一。为了解决这个问题,本文在基于Cortex-A53的处理器平台上配以激光雷达实现了室内环境下的SLAM。

1关于用低成本实现SLAM的思考

在移动机器人中用嵌入式处理器实现SLAM是一种趋势,一是由于嵌入式处理器平台对工业现场环境有较好的适应性,二是成本相对较低。但是嵌入式处理器相对于SLAM问题来说,其性能不够高,所以在这种相对低性能的处理器上实现SLAM要解决的主要问题就是要降低计算量,并且需要对算法进行优化,使得所实现的SLAM能满足实际使用要求。基于激光雷达的SLAM相对于基于相机的SLAM来说,它的算法相对简单,计算量相对较小,对处理器的性能要求相对较低,所以才可以在性能较低的ARM平台上实现,所以选择用激光雷达作为SLAM的测量输入。

2扩展卡尔曼滤波与粒子滤波

2.1 扩展卡尔曼滤波与粒子滤波

目前实现SLAM的两种最主要的方法是扩展卡尔曼滤波和粒子滤波。基于扩展卡尔曼滤波(EKF)的SLAM算法[8]对非线性的运动模型和观测模型采用线性化来解决,其线性化的方法是在目标点附近做泰勒展开并去除其高阶部分,如果模型的非线性程度很大,就很容易使算法产生较大误差,因此非线性就成了这种SLAM算法中的一个很严重的问题[9],且EKF还是基于高斯假设的,运动模型和观测模型中的噪声都要满足高斯分布,这样使得算法的使用受到限制。粒子滤波中用一定大小的采样样本的频率分布来表示概率分布,当样本数量趋于无穷时,粒子集的概率密度函数可以近似于任意形式的概率密度分布,因此粒子滤波可以处理任意形式的状态空间模型,而不局限于高斯噪声模型。

在粒子滤波中,把从后验分布中获得的采样称作粒子,粒子是对真实世界中待确定的状态的一种假设。采样后的粒子集St表示为:

2.2 基于粒子滤波的SLAM的实现步骤

SLAM是这样的一个过程:当机器人处于一个未知环境中且自身位置未知时,移动机器人在向前运动过程中可以构建环境地图,并同时利用构建的地图来估计自身的位置。本文中的SLAM是基于粒子滤波算法来实现的。

在一个陌生的环境中,机器人位置的初始信度未知,所以认为机器人可能位于当前环境中的任何一个位置。从表示当前环境的状态空间的均匀分布中随机采样N个粒子来表示机器人的初始信度分布。本文中用于地图构建的SLAM算法描述如下:

3在Cortex-A53平台上实现SLAM的方法

整个系统的构建过程如下:

(1)软件平台中使用的操作系统是支持ARM架构处理器的Ubuntu mate16.04 LTS系统;

(2)使用的ROS(Robot Operating System)机器人操作系统是kinetic版本;

(3)进行网络配置,把处理器平台上的WiFi模块配置成Access Point(AP)模式,让上位机可以接入AP与Cortex-A53处理器平台通信,这样就可以在个人计算机上通过远程登录来操控机器人;

(4)把上位机配置成时间服务器,让Cortex-A53平台每次上电后能与上位机的时间保持同步;

(5)构建地图使用了粒子滤波方法。在未知环境中是通过粒子滤波来实现机器人定位的,并在定位的基础上根据激光雷达的观测数据来构建地图;

(6)在已知地图的基础上定位是通过粒子滤波实现的,机器人可以根据当前的激光雷达扫描数据和里程计数据实现对自身的定位;

(7)有了环境地图,并且机器人可以对自身定位,再通过路径规划就可以实现机器人导航。全局路径规划使用Dijkstra算法,在成本地图上寻找从起点到终点的最低成本路径。局部路径规划的算法思想为:在机器人可以运动的速度和旋转角度范围内对速度和角度进行离散采样;根据机器人的当前状态对每一个采样速度进行向前的运动模拟,根据模拟过程中机器人与障碍物的接近程度、与目标的接近程度以及与全局路径的接近程度等来给每条模拟轨迹打分,并放弃不合理的路线;最后选择得分最高的路线并给底座发送相应的速度指令来让机器人运动。此种算法在局部路径规划过程中会在整个向前运动模拟过程中持续对速度采样;

(8)对程序进行优化,减小Cortex-A53处理器平台的计算压力。

系统构建完成后就可以在上位机上实时观察构建的地图,并可以在上位机上用软件来给机器人指定目标,实现机器人自主导航。

移动底座和激光雷达与Cortex-A53平台都是通过串口来通信的。在基于Cortex-A53处理器的平台上处理激光雷达的扫描数据以及底座中采集的里程计数据,结合激光雷达的数据和里程计数据实现机器人的定位,并在定位的基础上利用雷达扫描数据实现二维地图构建。在对应的人机接口上可以通过软件在扫描地图的基础上给机器人指定目的地来进行导航。

系统的架构如图1所示。

4算法优化

4.1 构图算法的优化

Cortex-A53处理器平台结合激光雷达实现地图构建。图2为未优化的地图。

从前文可知,地图构建是通过匹配得分最高的最优粒子结合激光雷达的扫描数据来实现的。构图算法的优化方法为:通过给扫描匹配得分设定一个阈值minimumScore来提高所得地图的精度。

这个阈值表示在粒子滤波过程中进行扫描匹配时要求的最小匹配得分,这个值设置的越大,就表示对扫描匹配的要求越高。如果阈值设置过高,很容易导致匹配失败,机器人会选择使用里程计的数据,这样就会使得对机器人姿态估计的准确度降低,从而导致构图精度降低;如果阈值设置过低,扫描匹配很容易成功,会导致地图中出现大量噪声。设置合理的阈值可以加快机器人定位过程的收敛,得到精度更高的地图。本次实验过程中测得的阈值范围约为60~80,阈值范围取决于激光雷达的测量范围、角度分辨率、测量精度以及环境特征。图3为优化后的地图。

4.2 路径规划算法的优化

在系统构建过程中发现在Cortex-A53处理器平台上使用的局部路径规划算法无法实现局部路径规划,因为这种算法的计算量太大,在路径规划过程中处理器CPU占用率达到100%,但路径规划依然无法执行,此平台无法满足该算法的要求。

使用改进后的局部路径规划算法机器人可以正常执行导航功能。改进后的路径规划算法只对一步向前运动模拟进行速度采样。这就使得速度采样的样本空间大大减小,因而改进后的局部路径规划算法更高效,对计算能力的要求会相对较低。但是当对机器人的加速度限制较小时,改进后的算法性能可能会不如改进前的算法性能好。不过在室内环境下,机器人运动的加速度会相对比较小,所以改进后的算法适合在室内条件下进行局部路径规划。

5总结

本文提出了在Cortex-A53嵌入式处理器平台上实现激光雷达SLAM的方法,实现了地图构建和地图优化,以及移动机器人室内环境下的导航、实时避障等功能。实践证明,该方法效果较好,对处理器性能要求较低。后续的研究将集中在如何使用消费级的激光雷达来实现SLAM上,从而更有效地降低移动机器人实现SLAM的成本。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式处理器

    关注

    0

    文章

    246

    浏览量

    30401
  • 激光雷达
    +关注

    关注

    958

    文章

    3627

    浏览量

    186501

原文标题:【学术论文】基于Cortex-A53平台的激光雷达SLAM实现

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式云计算与视频大数据——基于TI嵌入式处理器

    ,KeystoneI/II 等)主要研究:2、研究适合于嵌入式多核处理器嵌入式云计算平台的轻量级并行编程模型3、云计算平台下,利用
    发表于 07-19 14:27

    消费级激光雷达的起航

    自动导航车(Automatic Guided Vehicle,即AGV)领域的固态激光雷达CE30。对比传统的机械激光雷达激光雷达是通过机械转轴的高速旋转来完成四周环境的扫描。固态
    发表于 12-07 14:47

    固态设计激光雷达

    围绕LR30进行感知环境,精确建图和定位导航的功能研发,以实现低速自动驾驶辅助和封闭园区自动驾驶。二、已量产的固态激光雷达CE30-D当其他公司展位摆放着《样品预约测试表》的时候,北醒的展台上已经
    发表于 01-25 09:41

    5 款激光雷达:iDAR、高清3D LiDARInnovizPro、S3、SLAM on Chip、VLS-128

    LiDARInnovizPro、S3、SLAM on Chip、VLS-128。激光雷达是自动驾驶系统中一个非常重要的组件。在许多传统供应商和新创公司看来,未来自动驾驶汽车在障碍探测和 SLAM(实时定位和地图构建
    发表于 07-26 20:45

    AGV激光雷达SLAM定位导航技术

    实现多AGV小车的协调控制。  ■激光雷达在AGV小车中的使用  SLAM中可以进行环境信息感知的主要传感激光雷达、摄像头等。其中,基
    发表于 11-09 15:59

    嵌入式平台上怎么实现μC/GUI的移植?

    。为了使便携心电监护仪实现友好的人机交互和更加方便的显示,这里提出一种GUI界面系统设计,就是在基于NiosⅡ处理器嵌入式平台上
    发表于 11-05 07:00

    基于深度神经网络的激光雷达物体识别系统及其嵌入式平台部署

    基于深度神经网络的激光雷达物体识别系统及其嵌入式平台部署
    发表于 01-04 06:26

    当“思岚”激光雷达邂逅盲人拐杖

    ,感知到障碍物的存在。自主导航与寻路利用激光SLAM可以在感知到障碍物的存在下避开障碍物,自主寻路和导航,实现智能移动。RPLIDAR A1 作为思岚科技第一款低成本
    发表于 11-12 14:12

    基于深度神经网络的激光雷达物体识别系统

    激光雷达物体识别技术一直难以在嵌入式平台上实时运行。经纬恒润经过潜心研发,攻克了深度神经网络在嵌入式平台部署所面临的算子定制与加速、量化策
    发表于 12-21 07:59

    激光雷达点云数据分割算法的嵌入式平台上的部署实现

    点击上方“AI算法修炼营”,选择“星标”公众号精选作品,第一时间送达这篇文章是激光雷达点云数据分割算法的嵌入式平台上的部署实现。主要的创新点有两点:一是利用多路分支采用不同分辨率输入后
    发表于 12-21 08:28

    基于Cortex-A53架构的低功耗高性能处理器RK3328有哪些功能呢

    基于Cortex-A53架构的低功耗高性能处理器RK3328有哪些功能呢?
    发表于 03-09 06:27

    如何使用BLDC电机助力机械扫描激光雷达实现360度视场

    机械扫描激光雷达的自动驾驶汽车典型的激光雷达模块由光源和传感组成,可实现120度FOV。遗憾的是120度的视场对于自动驾驶环境来说远远不够。要实现
    发表于 11-03 07:12

    Cortex-A53循环模型9.6.0版用户指南

    在多处理器配置中,在监听控制单元(SCU)的控制下,高速缓存关联群集中最多有四个Cortex-A53处理器可用,该监听控制单元维护L1和L2数据高速缓存一致性。 Cortex-A53
    发表于 08-12 06:44

    ARM Cortex-A53 MPCore技术参考手册

    Cortex-A53处理器是一款实现ARMv8-A架构的中端低功耗处理器Cortex-A53
    发表于 08-18 07:16

    Cortex-A53处理器的性能分析及特点概述

    关于处理器技术的发展,一直是我们都在讨论的话题,现在电子产品广泛普及,无论是智能手机还是平板电脑,处理器就是这些电子产品的运行核心。ARM Cortex系列的处理一直都是应用较为广泛的
    发表于 10-31 11:20 13.8w次阅读