一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于条码识别的图书盘点机器人的制作方法

2022-12-09 22:28:59 来源:中国专利 TAG:


1.本发明涉及机器人技术领域,尤其涉及一种基于条码识别的图书盘点机器人。


背景技术:

2.随着图书馆馆藏书籍数量的攀升和读者借阅图书次数的不断提高,图书盘点的频率也在逐步增多。目前图书馆采用的人工盘点模式,需要大量的劳动力与时间消耗,图书馆经常需要闭关一天或半天,专门盘点图书。因此,一些新的方法被用来提升图书盘点的效率:一类是基于人为介入的半自动式盘点方法。在此类方法中,有的是通过在移动终端(智能手机或其他手持设备)上安装盘点应用程序,并由图书管理员手持拍摄图书,应用程序对图像中的图书进行解析以完成盘点;有的是通过手持射频识别(radio frequency identification,rfid)设备对图书进行盘点。虽然这类方法可以减少人工工作量,但是依旧无法摆脱人力限制,且人为手持行为对盘点的效果会产生极大的影响,因此应用范围受到限制;另一类是基于rfid的图书盘点机器人方法。这类方法利用移动机器人搭载射频识别设备,设定机器人固定的运动逻辑,使设备可以无人化且平稳地扫描图书信息。这类设备可以在夜晚等无人时间段工作,大大降低了人力成本。
3.但是,rfid标签的信号强度会随着时间流逝而减弱,使图书盘点查全率骤降,也使得图书盘点的经济成本难以降低;同时,虽然单张rfid标签的成本较低,但是在图书馆中需要进行大量应用,使其成本剧增。此外,额外的rfid发射器,读取机、编码器与天线等设备也进一步提升了机器人的成本。在其他图书盘点解决方案中,采用了条码(包括一维码、二维码以及彩色条码等)作为书籍标识,其成本低廉且容易张贴,因此基于条码识别的图书盘点手持设备在市场上有部分应用。但是,盘点操作员手动采集条码数据时,人体不自主地存在晃动,因此通过视觉传感器观察的条码常会有运动模糊、失焦、阴影、暗光和果冻效应等一系列的视觉现象,这会导致条码的视觉识别精度下降。而目前最为缺乏的是基于条码识别的图书盘点机器人,这类机器人可以通过机械底盘实现稳定的盘点扫描运动,解决视觉条码识别中存在的各项问题,也可以同时避免rfid解决方案的高成本与低时效的问题。这也是本发明所关注的要点。


技术实现要素:

4.发明目的:为了克服现有技术中存在的不足,本发明提供一种基于条码识别的图书盘点机器人并配套基于视觉条码的图书盘点机器人系统及其算法,摆脱了传统基于rfid的盘点机器人所带来的成本提升与信号衰减问题,也解决了人工条码扫描与识别的低效率和低精度问题。
5.技术方案:为实现上述目的,本发明的一种基于条码识别的图书盘点机器人,包括人机交互及自主决策模块、建图与定位模块、通讯模块、条码识别模块、避障模块、盘点数据管理模块、终端数据管理模块、盘点移动模块、移动底盘模块、回充模块和抓取模块,采用导航模式、回充模式、沿边自动盘点模式、绕架模式、遥控模式等多模态切换的工作方式;所述
通讯模块通过网络协议连接于远程终端,所述通讯模块通过通讯协议连接于人机交互模块;所述人机交互及自主决策模块可由人工控制或机器人自主决策,通过存取指令相互连接于终端数据管理模块和盘点数据管理模块,所述人机交互及自主决策模块通过建图定位指令控制于建图与定位模块,所述人机交互及自主决策模块通过条码识别指令控制于条码识别模块,所述人机交互及自主决策模块通过控制指令连接于抓取模块;所述建图与定位模块向终端数据管理模块输出地图数据,所述建图与定位模块向回充模块输出回充指令,所述建图与定位模块向移动底盘模块输出移动指令,所述建图与定位模块包括视觉传感器和雷达传感器;所述条码识别模块向盘点数据管理模块输出识别结果,在识别完成后,检测机器人电量,低电量时切换到回充模式,电量正常状态下,向盘点移动模块输出盘点移动指令,同时向避障模块输出避障检测指令;所述回充模块、盘点移动模块和避障模块向移动底盘模块输出移动指令;所述移动底盘模块向建图与定位模块、回充模块、盘点移动模块和避障模块输出里程计数据;所述抓取模块包括高精度机械手臂和抓取控制算法驱动。
6.进一步地,所述盘点移动模块包括移动底盘模块和相关控制算法驱动;所述移动底盘模块包括高精度移动底盘和传感器,所述传感器包括雷达传感器和视觉传感器;所述相关控制算法驱动包括盘点控制算法和运动控制算法,所述盘点控制算法通过接收视觉传感器和雷达传感器反馈的数据向运动控制算法输出运动控制指令,所述运动控制算法向高精度移动底盘输出底盘移动指令,所述高精度移动底盘根据底盘移动指令控制底盘电机使机器人移动行进;所述高精度移动底盘设有惯性传感器和通讯模块,所述通讯模块连接于控制系统,所述惯性传感器和通讯模块根据高精度移动底盘的运行状态或者控制系统发出的信号,向所述盘点控制算法输出底盘数据,所述盘点控制算法根据底盘数据修正运动控制指令。
7.进一步地,所述盘点控制算法包括沿边自动盘点模式和绕架模式;机器人还包括自动回充模式、导航模式和遥控模式;所述雷达传感器提供书架的二维点云,进行书架形状拟合判断机器人到书架的距离;所述视觉传感器经过相应算法处理得到深度图,并采集高于地面的设定高度平面的深度值进行书架的形状拟合得出书架轮廓结构,并计算机器人到书架的距离。
8.进一步地,所述沿边自动盘点模式的算法如下,设机器人沿边时,线速度恒定,t时刻的角速度为ω
t
,拟合机器人左侧书架的朝向角弧度为αb,机器人的朝向角弧度为αr,机器人到书架的距离为d
t
,将机器人运动控制问题定义为序列指令求解问题,为了保证机器人沿书架以固定距离直线行驶,t 1时刻机器人的角速度可被定义为ω
t 1

[0009][0010]
其中,d

为预设的机器人与书架之间的恒定距离,[-τ
ω
,τ
ω
]为机器人和书架角度差的忍耐区间,当角度差在该区间内时,算法认为机器人朝向与书架平行。
[0011]
进一步地,在机器人获得书架轮廓结构以及到书架的距离后,机器人启动沿边自动盘点模式和绕架模式,具体包括以下步骤,
[0012]
步骤一,机器人自动导航至第一个书架靠近充电桩一端的第一标点后启动沿边自动盘点模式;
[0013]
步骤二,在机器人到达书架尽头时开始沿边盘点,机器人始终沿着书架边缘运动至书架另一端,同时扫描一层或多层书架的图书,通过条码识别获取该层所有的图书信息;
[0014]
步骤三,机器人沿书架边缘来回往复运动,一次扫描一层或多层书架,直到该书架的每一层都被扫描完毕;
[0015]
步骤四,检查书架是否盘点完毕,若已盘点完毕,机器人自动导航至充电桩位置待命,若没有盘点完毕,切换至绕架模式,机器人运动至下一盘点书架中距离当点位置较近的一端;在盘点时,如机器人盘点完当前书架后处于第一标点,则导航至第二标点;若机器人盘点完当前书架后处于第三标点,则导航至第四标点,重复步骤二;
[0016]
步骤五,在整个盘点过程中每完成一次扫描作业,机器人都进行剩余电量检查,若电量不足,则记录当前位置并自动导航至充电桩位置进行充电,充电完毕后继续回到之前记录的位置工作。
[0017]
进一步地,针对所述条码识别模块提出两种识别条码硬件解决方案:
[0018]
方案一,采用所述视觉传感器进行阵列,以覆盖整个书架层级;
[0019]
方案二,采用单个所述视觉传感器或视觉传感器阵列以及配套的升降系统;
[0020]
所述视觉传感器阵列将传感器数据输出至条码识别算法计算得到升降控制并继续输出至升降控制算法,所述升降控制算法计算得出升降指令并发送至升降系统,升降系统进行升降作业后将升降数据反馈至条码识别算法;所述条码识别算法的条码识别兼容多种条码,包括但不限于一维码、二维码和彩色条码;
[0021]
所述条码识别模块对条码识别包括以下步骤:
[0022]
步骤一,使用视觉传感器获取视频流,初始化条码编号列表,用于存储所有识别成功的条码或条码对应的图书编号;
[0023]
步骤二,从视频流中提取图像帧,并对图像进行预处理;
[0024]
步骤三,使用条码检测算法检测条码;
[0025]
步骤四,通过条码区域的灰度特征、角点或边界特征去除误检测;
[0026]
步骤五,对条码图片进行对比度、锐度、曝光度调整及几何矫正;
[0027]
步骤六,利用预设条码识别库对条码依次进行识别;
[0028]
步骤七,若识别结果不在条码编号列表中则执行步骤八,否则执行步骤九;
[0029]
步骤八,将识别成功的条码对应的图书编号字符串加入条码编号列表中;
[0030]
步骤九,判断是否处理完视频流的所有帧,若没有则执行步骤二,若已经处理完所有帧则结束。
[0031]
进一步地,所述避障模块包括视觉传感器和超声波传感器,所述视觉传感器将传感器数据通过障碍物识别算法计算得到障碍物信息,所述障碍物信息通过障碍物规避算法计算得到运动控制指令;所述超声波传感器将传感器数据通过障碍物规避算法计算得到运动控制指令;所述运动控制指令通过运动控制算法计算得到底盘移动指令,所述底盘移动指令输出至高精度移动底盘,所述高精度移动底盘根据自身传感器反馈得到底盘数据,所述底盘数据通过障碍物规避算法计算得到修正后的运动控制指令。
[0032]
进一步地,所述障碍物识别算法包括地面障碍物发现算法,所述地面障碍物发现算法包括以下步骤:
[0033]
步骤一,输入图像数据;
[0034]
步骤二,利用视觉障碍物发现算法在像素平面上定位障碍物的位置;
[0035]
步骤三,通过逆透视变换或深度测距获得障碍物相对于机器人的位置;
[0036]
步骤四,通过坐标变换,计算障碍物在全局栅格地图中的具体坐标,并在栅格地图中标注其位置;
[0037]
步骤五,构造基于障碍物分布的2d代价地图,并输出。
[0038]
进一步地,所述障碍物识别算法还包括三维障碍物发现算法,所述三维障碍物发现算法包括以下步骤:
[0039]
步骤一,输入深度数据;
[0040]
步骤二,利用深度信息重构局部场景;
[0041]
步骤三,将重构的场景信息进行栅格化;
[0042]
步骤四,根据机器人物理模型,计算距离地面不同高度的代价地图;
[0043]
步骤五,将所有高度的代价地图取并集,并输出。
[0044]
进一步地,所述障碍物规避算法包括以下步骤,
[0045]
步骤一,依据机器人当前位姿、线速度、角速度,判断机器人是否可能存在碰撞;
[0046]
步骤二,若机器人不存在碰撞,执行步骤三,否则执行步骤四;
[0047]
步骤三,若机器人运动方向与全局路径一致,则采用上一帧运动控制的指令,并执行步骤,否则执行步骤四;
[0048]
步骤四,根据机器人当前角速度,以机器人前方为中心生成多组候选行走路径及与它们对应的指令;
[0049]
步骤五,根据代价地图,计算每条路径的代价。并选择代价最小的路径作为下一帧的运动指令;
[0050]
步骤六,发送指令给运动控制算法。
[0051]
有益效果:本发明的一种基于条码识别的图书盘点机器人并配套基于视觉条码的图书盘点机器人系统及其算法,摆脱了传统基于rfid的盘点机器人所带来的成本提升与信号衰减问题,也解决了人工条码扫描与识别的低效率和低精度问题,包括但不限于以下技术效果:
[0052]
1)机器人通过在自动回充模式、导航模式、沿边自动盘点模式、绕架模式和遥控模式五种模式中来回切换,可以自动盘点书架,在低电量时自动回到充电桩充电,并且能够记忆最近一次的盘点位置,以便在充电完成后继续盘点;
[0053]
2)条码识别算法可以完成从视觉传感器获取的视频流中检测出图书上的条码或条码,并对这些条码进行解析以完成对图书的识别,可以有效提高条码的识别精度;
[0054]
3)避障模块可以根据视觉图像和雷达图像进行周边环境的探测感知,并且能够准确避让,通过多种探测方式可以有效减小探测死角,提高了机器人运行稳定性和安全性;
[0055]
4)条码采用打印的纸质条码并张贴在图书书脊上,配合视觉传感器对书脊上的条码进行检测、识别与跟踪,并给出所有条码的对应编号,实现图书的盘点工作。
附图说明
[0056]
附图1为本发明的总体结构图;
[0057]
附图2为本发明的工作模式的切换模型图;
[0058]
附图3为本发明的沿边自动盘点模式的工作流程图;
[0059]
附图4为本发明的条码识别模块的结构图;
[0060]
附图5为本发明的避障模块的结构图;
[0061]
附图6为本发明的机器人盘点工作示意图;
[0062]
附图7为本发明的绕架模式的示意图和工作流程图;
[0063]
附图8为本发明的条码识别流程图;
[0064]
附图9为本发明的避障模块的工作流程图;
[0065]
附图10为本发明的障碍物识别算法的工作流程图;
[0066]
附图11为本发明的障碍物规避算法的工作流程图;
[0067]
附图12为本发明的盘点移动模块的结构图。
具体实施方式
[0068]
下面结合附图对本发明作更进一步的说明。
[0069]
如附图1-12:一种基于条码识别的图书盘点机器人,包括人机交互及自主决策模块、建图与定位模块、通讯模块、条码识别模块、避障模块、盘点数据管理模块、终端数据管理模块、盘点移动模块、移动底盘模块、回充模块和抓取模块,采用导航模式、回充模式、沿边自动盘点模式、绕架模式、遥控模式等多模态切换的工作方式;所述通讯模块通过网络协议连接于远程终端,所述通讯模块通过通讯协议连接于人机交互模块;所述人机交互及自主决策模块可由人工控制或机器人自主决策,通过存取指令相互连接于终端数据管理模块和盘点数据管理模块,所述人机交互及自主决策模块通过建图定位指令控制于建图与定位模块,所述人机交互及自主决策模块通过条码识别指令控制于条码识别模块,所述人机交互及自主决策模块通过控制指令连接于抓取模块;所述建图与定位模块向终端数据管理模块输出地图数据,所述建图与定位模块向回充模块输出回充指令,所述建图与定位模块向移动底盘模块输出移动指令,所述建图与定位模块包括视觉传感器和雷达传感器;所述条码识别模块向盘点数据管理模块输出识别结果,在识别完成后,检测机器人电量,低电量时切换到回充模式,电量正常状态下,向盘点移动模块输出盘点移动指令,同时向避障模块输出避障检测指令;所述回充模块、盘点移动模块和避障模块向移动底盘模块输出移动指令;所述移动底盘模块向建图与定位模块、回充模块、盘点移动模块和避障模块输出里程计数据;所述抓取模块包括高精度机械手臂和抓取控制算法驱动;人机交互模块旨在为用户建立一个良好的交互系统,其资源包括触摸屏、音箱设备、按键以及配套的驱动和终端系统管理软件;建图与定位模块利用传感器帮助机器人完成在图书馆环境的建图与自身定位,以获得较为准确的行走路线,其硬件资源包括但不限于视觉传感器与雷达传感器;通讯模块是用于与机器人连接的模块,其硬件资源包括不限于蓝牙、wifi模块、2g/3g/4g/5g无线模块等,以保持稳定的数据传输;盘点数据管理模块负责的内容主要包括盘点数据存储、条码数据管理、以及图书信息数据管理;终端数据管理模块负责的内容主要包括机器人运行日志管理和机器人运行数据管理;回充模块旨在机器人在抵达充电桩时,通过回充算法调整机器人位姿让其进入充电状态;移动底盘模块由高精度移动底盘和相关控制算法驱动所组成,此模块让机器人能够在既定环境中稳定平缓的移动或旋转;所述抓取模块可作为选配模块,可用于完成书籍抓取、摆放、掉落书籍拾取、小障碍物移除等内容。
[0070]
所述盘点移动模块包括移动底盘模块和相关控制算法驱动;所述移动底盘模块包括高精度移动底盘和传感器,所述传感器包括雷达传感器和视觉传感器;所述相关控制算法驱动包括盘点控制算法和运动控制算法,所述盘点控制算法通过接收视觉传感器和雷达传感器反馈的数据向运动控制算法输出运动控制指令,所述运动控制算法向高精度移动底盘输出底盘移动指令,所述高精度移动底盘根据底盘移动指令控制底盘电机使机器人移动行进;所述高精度移动底盘设有惯性传感器和通讯模块,所述通讯模块连接于控制系统,所述惯性传感器和通讯模块根据高精度移动底盘的运行状态或者控制系统发出的信号,向所述盘点控制算法输出底盘数据,所述盘点控制算法根据底盘数据修正运动控制指令。
[0071]
所述盘点控制算法包括沿边自动盘点模式和绕架模式;机器人还包括自动回充模式、导航模式和遥控模式;所述雷达传感器提供书架的二维点云,进行书架形状拟合判断机器人到书架的距离;所述视觉传感器经过相应算法处理得到深度图,并采集高于地面的设定高度平面的深度值进行书架的形状拟合得出书架轮廓结构,并计算机器人到书架的距离。
[0072]
所述沿边自动盘点模式的算法如下,设机器人沿边时,线速度恒定,t时刻的角速度为ω
t
,拟合机器人左侧书架的朝向角弧度为αb,机器人的朝向角弧度为αr,机器人到书架的距离为d
t
,将机器人运动控制问题定义为序列指令求解问题,为了保证机器人沿书架以固定距离直线行驶,t 1时刻机器人的角速度可被定义为ω
t 1

[0073][0074]
其中,d

为预设的机器人与书架之间的恒定距离,[-τ
ω
,τ
ω
]为机器人和书架角度差的忍耐区间,当角度差在该区间内时,算法认为机器人朝向与书架平行。
[0075]
在机器人获得书架轮廓结构以及到书架的距离后,机器人启动沿边自动盘点模式和绕架模式,具体包括以下步骤,
[0076]
步骤一,机器人自动导航至第一个书架靠近充电桩一端的第一标点1后启动沿边自动盘点模式;
[0077]
步骤二,在机器人到达书架尽头时开始沿边盘点,机器人始终沿着书架边缘运动至书架另一端,同时扫描一层或多层书架的图书,通过条码识别获取该层所有的图书信息;
[0078]
步骤三,机器人沿书架边缘来回往复运动,一次扫描一层或多层书架,直到该书架的每一层都被扫描完毕;
[0079]
步骤四,检查书架是否盘点完毕,若已盘点完毕,机器人自动导航至充电桩位置待命,若没有盘点完毕,切换至绕架模式,机器人运动至下一盘点书架中距离当点位置较近的一端;在盘点时,如机器人盘点完当前书架后处于第一标点1,则导航至第二标点2;若机器人盘点完当前书架后处于第三标点3,则导航至第四标点4,重复步骤二;设机器人线速度恒定且已知为v,书架宽lb,书架间隔为lc,则机器人切换书架时移动时,转向半径为l
c-2d

,此时,机器人的角速度设置为:
[0080][0081]
当机器人横跨书架移动时,转向半径为lb 2d

,角速度为:
[0082][0083]
步骤五,在整个盘点过程中完成一次扫描作业,机器人都进行剩余电量检查,若电量不足,则记录当前位置并自动导航至充电桩位置进行充电,充电完毕后继续回到之前记录的位置工作。
[0084]
针对所述条码识别模块提出两种识别条码硬件解决方案:
[0085]
方案一,采用所述视觉传感器进行阵列,以覆盖整个书架层级;
[0086]
方案二,采用单个所述视觉传感器或视觉传感器阵列以及配套的升降系统;
[0087]
所述视觉传感器阵列将传感器数据输出至条码识别算法计算得到升降控制并继续输出至升降控制算法,所述升降控制算法计算得出升降指令并发送至升降系统,升降系统进行升降作业后将升降数据反馈至条码识别算法;视觉传感器阵列主要是通过在面朝书架方向,即机器人的一侧或两侧安装栅格化或环状化的m
×
n排列的多个传感器,例如可以采用5x1、5x3等多种排列方式,机器人移动的同时即可获取多排书架上书籍的条码信息;采用单个或少数视觉传感器,可以辅以升降系统,升降系统由升降装置和升降控制算法所组成,其目的在于提高视觉传感器或视觉传感器阵列扫描的范围,使视觉传感器可扫描到不同层高的图书。
[0088]
在硬件上,条码识别模块中的视觉传感器用于捕捉图书信息,其类型包括但不限于标准单目相机,鱼眼相机,深度相机等;在软件上,条码识别模块的条码识别算法的条码识别兼容多种条码,包括但不限于一维码、二维码以及彩色条码等;此外,条码识别算法运行的硬件平台包括但不限于工控机、嵌入式主机等计算设备。
[0089]
所述条码识别模块对条码识别包括以下步骤,
[0090]
步骤一,使用视觉传感器获取视频流,初始化条码编号列表,用于存储所有识别成功的条码或条码对应的图书编号;
[0091]
步骤二,从视频流中提取图像帧,并对图像进行预处理;
[0092]
步骤三,使用条码检测算法检测条码;
[0093]
步骤四,通过条码区域的灰度特征、角点或边界特征去除误检测;
[0094]
步骤五,对条码图片进行对比度、锐度、曝光度调整及几何矫正;
[0095]
步骤六,利用预设条码识别库对条码依次进行识别;
[0096]
步骤七,若识别结果不在条码编号列表中则执行步骤八,否则执行步骤九;
[0097]
步骤八,将识别成功的条码对应的图书编号字符串加入条码编号列表中;
[0098]
步骤九,判断是否处理完视频流的所有帧,若没有则执行步骤二,若已经处理完所有帧则结束;
[0099]
在上述步骤二中,首先判断当前机器人的位置是否位于书架旁,若是则开始从视频中提取图像帧;在获得图像之后,使用直方图均衡化、对数图像增强、高斯滤波等算法对图像进行预处理以获取更清晰的图像;
[0100]
在上述步骤三中,设计一个条码检测模型,从图像中检测出条码,本步骤的输出为图像中条码的包围框;下面是一个条码检测模型实例:可以基于深度卷积神经网络来设计单阶段轻量级条码检测模型,首先采集大量图像进行标注,并划分训练集和验证集,再使用深度卷积神经网络在训练集上进行训练在验证集上进行验证,保存最好的模型参数,在系
统实际运行时直接使用保存的模型进行实时条码检测。
[0101]
在上述步骤四中,对步骤三得到的条码包围框内部的条码进行筛选,消除误检测,即不存在条码的包围框;具体来说,该算法计算检测出来的包围框内部的灰度特征,并寻找包围框内的角点或边界特征(以dm条码为例,检测其l形边界,其他条码可以采用各条码的独特特征),据此判断包围框内是否存在条码,若存在则进入下一步,否则将该包围框去除。
[0102]
在上述步骤五中,使用步骤四输出的条码包围框内部图片作为输入,对这一区域进行优化以提高识别的准确率;首先对图片进行对的比度、锐度、曝光度调整,另外由于图片中条码存在角度倾斜和几何失真,因此算法利用仿射变换对条码图片进行几何矫正。
[0103]
在上述步骤六中,使用步骤五处理得到的条码图片作为输入,用预设条码图像处理库进行解码,通过使用解码程序可以从条码图片中解析出图书编号字符串,从而完成对书架上图书的识别。
[0104]
所述避障模块包括视觉传感器、超声波传感器以及雷达传感器,所述视觉传感器将传感器数据通过障碍物识别算法计算得到障碍物信息,所述障碍物信息通过障碍物规避算法计算得到运动控制指令;所述超声波传感器将传感器数据通过障碍物规避算法计算得到运动控制指令;所述运动控制指令通过运动控制算法计算得到底盘移动指令,所述底盘移动指令输出至高精度移动底盘,所述高精度移动底盘根据自身传感器反馈得到底盘数据,所述底盘数据通过障碍物规避算法计算得到修正后的运动控制指令;避障模块的作用是利用机器人上安装的传感器对场景中的障碍物进行感知与规避;当机器人处于地图导航状态时,避障模块先执行障碍物识别,针对发现的障碍物执行规避策略,最后控制机器人运动;当机器人处于盘点状态时,避障模块一旦发现障碍物并预测到可能出现的碰撞后,立即停止机器人并发出警报;视觉传感器被用来捕捉地面上的异常小障碍物和三维空间中阻碍障碍物的物体,如未放整齐且阻挡机器人的书本;雷达传感器被用来发现机器人周围的大物体,如行人,书架,墙壁等。超声波传感器被用来解决视线死角的障碍物感知问题;如附图10所示,三个子流程分别用于发现地面的小障碍物,三维空间中的障碍物和较大的障碍物,它们的输出是以机器人为中心的统一格式的代价地图;在获得多个代价地图后,算法将每个代价地图求并集,获得融合代价地图;这三种求解过程可相互兼容搭配,也可以只采用其中一种求解过程。
[0105]
所述障碍物识别算法包括地面障碍物发现算法,所述地面障碍物发现算法包括以下步骤:
[0106]
步骤一,输入图像数据;
[0107]
步骤二,利用视觉障碍物发现算法在像素平面上定位障碍物的位置;
[0108]
步骤三,通过逆透视变换或深度测距获得障碍物相对于机器人的位置;
[0109]
步骤四,通过坐标变换,计算障碍物在全局栅格地图中的具体坐标,并在栅格地图中标注其位置;
[0110]
步骤五,构造基于障碍物分布的2d代价地图,并输出。
[0111]
在上述步骤二中,首先输入机器人前方视觉传感器捕捉的图像,将图像输入到轻量级的障碍物检测算法中,输出障碍物占用概率图,图中的每个像素的值表示该像素是障碍物的概率;
[0112]
在上述步骤三中,首先离线标定相机内参与姿态,姿态主要包含了相机安装的俯
仰角、偏航角和相机高度;接着利用相机内参与姿态,对障碍物占用概率图进行逆透视变换,获得俯视角下的障碍物位置;若采用的是深度相机,则无需逆透视变换,直接利用深度图获得俯视角度场景的障碍物位置。
[0113]
在上述步骤四中,首先匹配机器人的位姿和全局栅格地图,在全局栅格地图标记障碍物位置;障碍物位置是以障碍物占用概率图中障碍物的左右距离为直径,以相机到障碍物的射线和相机与地面相接位置为边界点做圆的区域;若采用的是深度相机,则无需估计,直接利用深度图获得障碍物的区域。
[0114]
在上述步骤五中,以机器人为中心,生成一个面积为m
×
m的正方形区域。在该区域中,所有的障碍物栅格都用1标注,而非障碍物的栅格用0标注;并且,根据全局栅格地图,所有的墙壁的栅格也用1标注。
[0115]
所述障碍物识别算法还包括三维障碍物发现算法,所述三维障碍物发现算法包括以下步骤:
[0116]
步骤一,输入深度数据;
[0117]
步骤二,利用深度信息重构局部场景;
[0118]
步骤三,将重构的场景信息进行栅格化;
[0119]
步骤四,根据机器人物理模型,计算距离地面不同高度的代价地图;
[0120]
步骤五,将所有高度的代价地图取并集,并输出。
[0121]
在上述步骤二中,将单通道的深度图像转化为具有x,y,z坐标的三维场景;
[0122]
在上述步骤三中,利用八叉树将三维场景的每个像素重构到栅格中;
[0123]
在上述步骤四中,由于机器人不是完全规则的形状,因此用于盘点图书的视觉传感器很有可能会遇到摆放不规则的图书,产生碰撞。在该步骤中,需要根据机器人的物理模型,根据垂直栅格的大小,计算不同高度下的代价地图;
[0124]
在上述步骤五中,将所有的代价地图融合成一个代价地图,每个像素的对应多个代价值取并集。
[0125]
所述障碍物规避算法包括以下步骤:
[0126]
步骤一,依据机器人当前位姿、线速度、角速度,判断机器人是否可能存在碰撞;
[0127]
步骤二,若机器人不存在碰撞,执行步骤三,否则执行步骤四;
[0128]
步骤三,若机器人运动方向与全局路径一致,则采用上一帧运动控制的指令,并执行步骤,否则执行步骤四;
[0129]
步骤四,根据机器人当前角速度,以机器人前方为中心生成多组候选行走路径及与它们对应的指令;
[0130]
步骤五,根据代价地图,计算每条路径的代价。并选择代价最小的路径作为下一帧的运动指令;
[0131]
步骤六,发送指令给运动控制算法;
[0132]
在上述步骤一中,根据当前的线速度与角速度计算出机器人未来的路径,再根据机器人的代价地图和机器人面积,计算接下来的时刻机器人是否与代价地图的栅格中为1的栅格发生相交;
[0133]
在上述步骤三中,若机器人运动方向与全局路径当前的朝向之间的角度小于某一阈值,则认为它们方向一致;
[0134]
在上述步骤四中,以机器人当前的位姿,即位置和朝向,为中心随机生成一组机器人的候选运动参数,并对为每一组参数拟合出机器人的运动路线;
[0135]
在上述步骤五中,基于步骤四给出的多组运动路线,基于代价函数,计算每组路线可能发生碰撞的代价;代价函数考虑了候选路径与全局路径之间的吻合程度、与障碍物的最近距离、机器人前进方向与速度变化的程度;通过考虑以上因素,选择与全局路径相似度高,发生碰撞概率较低,且方向与速度变化幅度尽可能小的路径;选择代价最小路径所对应的运动参数作为发送给机器人底盘的指令。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献