APP下载

基于计算机视觉的机场智能电动代步车原型系统

2021-08-21邓迎忠张海夏园盟张斌曹文博李金键

工程技术与管理 2021年12期
关键词:移动机器人激光雷达行人

邓迎忠 张海 夏园盟 张斌 曹文博 李金键

中国民航大学机器人研究所,中国·天津 300300

1 引言

近些年来,随着机器人的研究应用领域的不断深入,载人机器人成为当前服务型机器人的研究热点。机器人运动控制依赖当前现有机器人系统的数学模型以及相应的控制理论,轮式机器人广泛应用于人们的生活之中和室内公众环境中,情况复杂,要求机器人尽可能保证运行路径可靠、安全,并保证局部轨迹的可通行性。课题重点研究机器人扰动情况下的稳定控制方法,对研究、设计与实现轮式机器人的全局路径规划及局部轨迹规划具有重要意义。

一方面,人群中自主通行方法研究是为了解决航站楼载运机器人在人机共存的公共环境下能够安全顺畅地将旅客送达目的地的问题,通行过程中遇到的问题主要包括人群中的行人检测跟踪、行人运动状态预估、行人建模、可通行区域检测、机器人控制器的设计等问题;另一方面,为了响应民航局提出的提高民航的运行效率、服务品质,节省旅客在航站楼的行走时间和减轻旅客的负重等号召。

对航站楼服务机器人适应性导航系统进行了设计。针对航站楼环境广阔、场景复杂、旅客流动性大等情况,采用双轮差速与多传感器融合设计机器人硬件系统;针对机器人运行中需与旅客进行交互,采用ROS 系统搭建可以实现运载旅客与行李、符合航站楼安全运行的机器人软件系统。

通过对激光雷达识别的目标图像进行处理并进行分类,提取重要的特征在海量数据中排除多余的信息;通过A*算法对路径进行规划;通过自抗扰控制(ADRC)算法对双轮差速式移动机器人进行运动控制。

项目设计是一种应用于机场航站楼的智能电动代步车原型系统。实现智能电动代步车的旅客自动识别与行程判断、航班状态推测和旅客运送等功能,解决自主导航与运动控制问题。本项目的主要研究内容为面部识别和航班信息确认、旅客的运送与自主导航、代步车的运行控制。

通过对人群中的行人跟踪检测、行人运动状态预估、行人动力学建模、可通行区域检测、拓展可通行路径和驾驶动作生成等问题的研究,解决人群中的自主路径拓展的问题。人群中的自主路径拓展不同于局部路径规划所给定的路径,而且局部规划的路径在相邻时间段内是不变的,而对于人群中的自主路径拓展所开辟的路径是实时更新的,它更类似于给机器人指定运动的大致方向,机器人在已经规划好的路径方向上,沿着路径一直走下去,即便中途遇到行人阻挡,仍然沿着给定的方向一直探索、前进,以此来达到在人群中通行,最终行至目的地的目的。

旅客面部识别和航班信息确认,是基于面部识别技术对乘客的面部特征进行身份认证,通过摄像进行人脸采集,当用户在摄像头范围内时,设备会自动搜索并拍摄用户的人脸图像,确定图像之后,对人脸中的眼、鼻器官进行特征提取,特征数据提取完毕后,通过与数据库中储存的数据特征进行搜索匹配,进行身份确认。

2 基于激光雷达数据的行人检测

激光雷达的基本原理就是利用传感器发射的激光束反射的时间差来实现对周围物体的精准测距,但激光打在某些反射率较低的物体时,激光束无法返回传感器,就造成该扫描线在那一时刻变成无效值,从整体点云看就是有该物体有部分点云缺失,比较典型的情况就是激光打在玻璃上或是打在黑色车辆上。这种情况会造成一个物体在聚类时会被分成多个小物体,因此为了改善这种情况需要对这些缺失的点进行补偿。

激光雷达数据识别行人需要解决的问题是在复杂的背景中找到行人,并用矩形或立方体框标记他们的位置。因此,行人检测属于目标检测的范畴,检测行人的任务一直是有趣而艰巨的。计算机视觉被广泛用于各种项目中,这在自动驾驶领域中尤为重要。自动驾驶技术能够通过传感器感应周围的环境并确定重要的环境目标,访问重要信息,如行人和车辆的位置、深度、速度和移动距离,并帮助中央控制系统做出明智的决策。深度代表从目标到传感器的距离,也是访问信息的基础,如三维位置和速度。自动驾驶中的行人检测研究可以帮助脚本系统做出更明智的决策,避免交通事故和死亡,因此这一点的意义显而易见。

激光雷达的广泛使用,可以精确地获得准确的室外环境的深度信息以及从环境到传感器的距离,对天气和光照条件的影响较小。激光雷达获取数据的形式为点云数据,它的特征是无序性、稀疏性。

3 机器人的路径规划

3.1 路径规划

移动机器人依据某个或某些性能指标(如工作代价最小、行走路线最短、行走时间最短等),在运动空间中找到一条从起始状态到目标状态可以避开障碍物的最优或者接近最优的路径。路径规划分为全局路径规划和局部路径规划。

全局路径规划:是宏观的规划,主要为机器人在运动中提供核心运动点,保证机器人安全到达目的地,但全局路径规划生成的可能不是一条轨迹,而是一些离散的点。

局部路径规划:为了使机器人的路线更加合理,还需要进行局部路径规划,对机器人的速度、加速度等进行约束。

论文局部规划采用DWA 算法,全局规划采用A*算法。

3.2 对路径规划的需求

首先要做的就是对外部环境的实时获取及车辆的动态路径规划。传统机器人路径规划大致可分三种:

①静态结构化环境下的路径规划。

②动态已知环境下的路径规划。

③动态不确定环境下的路径规划。

将其与自动驾驶对应起来,静态的规划就是根据地理信息以及交通规则在已知的全局地图上进行道路循迹,但这个技术对于目前自动驾驶实现来说并没有什么实际应用价值。

自动驾驶需要的是对预先已选择好的最优路径,甚至在未知的环境下,基于实时不确定的场景,进行动态调整的路径规划技术,而地图的需求、外部信息采集等就还是要依赖摄像头、激光雷达、传感器等硬件的支持。现有传统机器人路径规划技术已经发展得较为成熟,将该技术如何更为符合场景地应用到自动驾驶技术上还有很长的探索阶段,但现已存在的包括A*算法在内的一系列最优路径算法将会在人工智能、机器人技术、自动驾驶等多学科的融合下得到更大的发展。

3.3 DWA 算法

3.3.1 DWA 算法的原理

机器人的运动状态包括其不停变换的位置及运动方向,实际上是由其当前的运动速度及角速度(转向速度)决定的。那么,动态窗口法核心的动态窗口,其实就是根据机器人当前状态(即当前速度、航向角)及机器人运动模型(机器人所能达到的最大速度、最大角速度、加速度、旋转加速度)计算出当前机器人的最大最小速度及角速度,以此作为一个限定范围,这个范围就是窗口。在此范围中计算每个速度及角速度下所能到达到的位置,再对每个位置进行测评(测评内容包括据障碍物的距离、朝向终点的角度等),由此选出当前的最佳位置,然后再由这个最佳位置继续重复以上过程建立新的窗口,这样窗口就动起来了,即所谓的动态窗口。

3.3.2 DWA 算法的实现

在当前的状态下对本状态周围进行采样,获得下一时刻的合理的动作变化,这个动作仅包括角速度和线速度。在这个方法中,我们把轨迹认为是一系列不同动作组合而产生的在窗口内生成的轨迹。设定一个评价标准,选出最合理的轨迹。

首先将轨迹当成轨迹曲线,然后选取合理的速度组合生成动态窗口。选取速度有三个限制:

第一:按这个速度行驶,最大减速度停车都不能撞到最近的障碍物。

第二:加速度限制。当前状态下,加减速变化都是有上下限的,因此下一时刻的状态也是有上下限的。

第三:任何情况下都要遵守车辆本身的动力学限制。

动态窗口就是这三个限制的交集。

3.4 A*算法

A*算法的原理:A*算法是将地图虚化,并将其划分为一个个小方块,这样可以用二维数组来表示地图。划分完成后在周围不停的找点选出一个新的点作为起点后再循环的找点。

在计算机科学中,A*算法作为Dijkstra 算法的扩展,因其高效性而被广泛应用于寻路和图的遍历。在理解算法前,我们需要知道几个概念:

①搜索区域(The Search Area):图中的搜索区域被划分为简单的二维数组,数组每个元素对应一个小方格,当然我们也可以将区域等分成是五角星、矩形等,通常将一个单位的中心点称之为搜索区域节点(Node),而非方格(Squares)。

②开放列表(Open List):我们将路径规划过程中待检测的节点存放于Open List 中,而已检测过的格子则存放于Close List 中。

③父节点(Parent):在路径规划中用于回溯的节点,开发时可考虑为双向链表结构中的父结点指针。

④路径排序(Path Sorting):具体往哪个节点移动由以下公式确定:

F(n)=G(n)+H(n)

式中,G 代表的是从初始位置A 沿着已生成的路径到指定待检测格子的移动开销;H 代表的是待测格子到目标节点B 的估计移动开销。

⑤启发函数(Heuristics Function):H 为启发函数,也被认为是一种试探,由于在找到唯一路径前,我们不确定在前面会出现什么障碍物,因此用了一种计算H 的算法,具体根据实际场景决定。在我们简化的模型中,H 采用的是传统的曼哈顿距离(Manhattan Distance),也就是横纵向走的距离之和。

4 机器人的运动控制

4.1 双轮差速式移动机器人模型

移动式两轮差动驱动机器人结构简单、控制方便,是最常用的移动机器人,其运动模型是移动机器人研究的重要内容。当前,对两轮差速传动移动机器人的研究经常被忽视,它包含相关的动态因素,包括移动机器人下面的驱动电机的动态性能。但是,在实际的机器人系统中,当机器人负载发生变化时,驱动系统负载也会发生变化,这会影响驱动系统的动态响应过程并导致机器人运动。具有差动驱动的两轮移动机器人是多输入多输出控制系统,其运动学模型具有典型的非完整约束,每个驱动电路通常使用内部非线性连接的双闭环控制系统。它是具有多个非线性结的非线性系统,需要使用非线性建模技术来构建模型。因此,我们创建了一个考虑了移动机器人动态行为的两轮差速变速器移动机器人的运动模型,其中,控制具有非常重要的理论和实践意义。

4.2 自抗扰控制器的设计

自动控制发展经历了经典控制理论、现代控制理论到智能控制等几个阶段。伴随着自动控制理论的不断发展,控制算法越来越复杂,并且越来越多地体现出对控制系统模型依赖的特性。但是从总体上来看,方法的研究基本上都是基于理论和数值研究。单纯的现代控制方法,对控制系统的分析和设计主要是通过对系统的状态变量的描述来进行的,都是基于系统精确的数学模型而得出相应的控制系统,因此不可避免地存在鲁棒性较差的问题。

而经典的PID 控制不需要控制对象的机理或动态的数学模型,只需目标设定值与被控输出量之间的误差,通过适当对这个误差进行加工产生的控制力来消除误差。因而在当前的过程控制及运动控制两大领域中,使用最广泛的依旧是传统的PID 控制。但是随着一些高品质控制设备的需求,传统的PID 控制由于形式所限也遇到了很大的瓶颈,如何跳出现代控制论的模型框架,并且有效地克服PID 控制的缺点,发扬它的精髓,一直是控制理论研究工作者的一个努力方向。

在这样思想的指导下,历经了近30年的发展,一种最大程度保持PID 控制形式,同时借助于现代控制理论中观测器思想而不依赖于被控对象模型的自抗扰控制(Active Disturbance Rejection Control, ADRC)思想,成为面向工程从事现代理论思想应用的典范。

①安排“过渡过程”。直接根据给定指令计算误差可能会导致控制效果变差,如有些指令里包含了我们不希望的高频信号,这类信号的例子有阶跃指令、方波指令。为了将高频信号解决掉,ADRC 提出了安排“过渡过程”的方法,类似于把给定指令进行低通滤波,得到一个更容易实现的指令,从而在牺牲一点快速性的同时大大降低超调。

②由误差提取误差微分的方法“跟踪微分器”的设计。

③确定合适的“非线性组合”。传统的线性反馈方式(就是误差直接乘上一个增益)在收敛速度以及抗扰动能力上存在不足,ADRC 的方案是用非线性函数代替传统的增益,用非线性反馈代替线性反馈。

④扩张状态观测器的设计。积分的主要作用之一就是消除扰动(可以认为它是简单的扰动观测器),但是积分起作用比较慢,而且还会引起超调。所以,ADRC 直接把积分舍弃了,使用扩张状态观测器来观测总扰动,将系统补偿成纯积分链的形式。

5 实验环境与结果分析

5.1 实验环境

论文的仿真环境为开源机器人仿真软件Vrep,Ubuntu16.04 ROS kinetic,使用的研华工控机未搭载NVIDIA GPU 设备,采用Intel 推出的开放式视觉推理和神经网络优化工具套件Open VINO。

仿真实验和实际场景实验均使用Gmapping 激光SLAM方法构建的环境栅格地图,实际场景通过载运机器人单线激光雷达、Intel D435 深度相机进行行人检测与跟踪。其中深度相机行人检测采用现有的基于SSD 目标检测算法,部署环境为Intel OpenVino 2019R3,单线激光雷达行人检测采用Unet算法,上述行人检测结果通过坐标系变换至世界坐标系,并通过K 近邻算法基于世界坐标系位置进行融合。

5.2 结果分析

在人与机器都有的复杂环境中,安装在运输机器人上的单线激光雷达的探测高度为行人膝盖的高度,因此当前提供的有关行人特征的信息受到限制,并且行人的检测和位置也受到限制。机器人操作系统(ROS)提供的leg_detector 行人腿部检测程序包,使用机器学习技术来检测和匹配行人小腿信息以及行走时的行人小腿特征。这得益于用于深度学习的卷积神经网络的发展,使用拉格朗日插值算法对单独的单线激光雷达数据点进行了插值,从而获得了具有结构化属性的二值图像。根据行人小腿的特征,使用SSD 神经网络进行特征处理提取,最终实现行人的定位。

如图1是自抗扰运动控制仿真结果;图2是双轮差速模型自抗扰控制仿真结果图;图3是智能代步车;图4是程序流程图。

图1 双轮差速机器人自抗扰控制simulink 仿真图

图2 双轮差速模型自抗扰控制仿真结果图

图3 智能代步车正面图

图4 程序流程图

猜你喜欢

移动机器人激光雷达行人
手持激光雷达应用解决方案
移动机器人自主动态避障方法
法雷奥第二代SCALA?激光雷达
毒舌出没,行人避让
基于激光雷达通信的地面特征识别技术
路不为寻找者而设
基于激光雷达的多旋翼无人机室内定位与避障研究
基于Twincat的移动机器人制孔系统
我是行人
曝光闯红灯行人值得借鉴