行李车收集方法及行李车收集设备
技术领域
本申请属于机器人技术领域,特别是涉及一种行李车收集方法及行李车收集设备。
背景技术
近年来,机器人感知、定位和规划等技术取得了突飞猛进的发展。随着各类技术的日趋成熟,无人车也越来越多地应用到生活中的方方面面,如仓储自主移动机器人、自动送餐机器人、医疗物资运送机器人等。通过使用机器人来代替人类完成繁重的工作,成为当前机器人领域研究的重要课题。
以香港国际机场为例,香港国际机场每天有100多家航空公司提供超过1100架次航班,连接220多个目的地,每年接待超过7050万人次的旅客。为了应对巨大的客流,机场内分布了约1.3万辆行李车。旅客使用完的行李车散布在机场的各个角落,需要机场收集使用过的行李车,并将其部署在乘客需要的地方。
为了解决这个问题,机场需要雇佣大量的人手来收集分散的行李车,并把它们送回需要的地方,以备其他旅客使用。因此,如何方便地收集分散的行李车是亟需本领域技术人员解决的一大难题。
发明内容
有鉴于此,本申请实施例提供了一种行李车收集方法及行李车收集设备,可以实现对行李车的自动收集,显著减少行李车收集过程中需使用的人手,降低行李车运营机构的运营成本。
本申请实施例的第一方面提供了一种行李车收集方法,应用于行李车收集设备,所述行李车收集方法包括:
采集周围环境图像,根据所述周围环境图像对周围环境进行检测;
当检测到所述周围环境中存在待收集的行李车时,对所述行李车进行位姿估计,获得所述行李车的位姿;
根据所述行李车的位姿,移动至所述行李车的预设方位;
从所述预设方位对所述行李车与所述行李车收集设备进行接驳固定;
将已接驳固定的所述行李车运送至行李车收集点。
本申请实施例的第二方面提供了一种行李车收集设备,包括至少两个驱动轮、至少两个全向移动轮、通过所述驱动轮和所述全向移动轮支撑的设备底盘、固定于所述设备底盘上的抬升机构、接驳机构和机载电脑、与所述抬升机构活动连接的夹持机构,以及与所述机载电脑通信连接的深度摄像机;其中:
所述深度摄像机,用于采集周围环境图像;
所述机载电脑,用于根据所述周围环境图像对周围环境进行检测,当检测到所述周围环境中存在待收集的行李车时,对所述行李车进行位姿估计,获得所述行李车的位姿,根据所述行李车的位姿,驱动所述行李车收集设备的驱动轮,移动至所述行李车的预设方位;
所述夹持机构,用于从所述预设方位夹持所述行李车;
所述抬升机构,用于抬升已夹持的所述行李车,将所述行李车固定于所述行李车收集设备的接驳机构上;
所述驱动轮,用于在所述机载电脑的指令下,驱动所述行李车收集设备将已接驳固定的所述行李车运送至行李车收集点。
本申请实施例的第三方面提供了一种行李车收集装置,应用于行李车收集设备,所述行李车收集装置包括:
图像采集模块,用于采集周围环境图像,根据所述周围环境图像对周围环境进行检测;
位姿估计模块,用于在检测到所述周围环境中存在待收集的行李车时,对所述行李车进行位姿估计,获得所述行李车的位姿;
移动模块,用于根据所述行李车的位姿,移动至所述行李车的预设方位;
接驳模块,用于从所述预设方位对所述行李车与所述行李车收集设备进行接驳固定;
运送模块,用于将已接驳固定的所述行李车运送至行李车收集点。
本申请实施例的第四方面提供了一种行李车收集设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的行李车收集方法。
本申请实施例的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的行李车收集方法。
本申请实施例的第六方面提供了一种计算机程序产品,当所述计算机程序产品在行李车收集设备上运行时,使得所述行李车收集设备执行上述第一方面所述的行李车收集方法。
与现有技术相比,本申请实施例包括以下优点:
(1)针对机器人应用场景及续航等要求,设计了完备的机器人软硬件体系:针对机场等环境存在斜坡等非平坦地形,提出了基于差分驱动方式的双轮驱动机器人底盘的设计方案。该方案包含了以使机器人能够在不同地形中稳定运行的悬架结构。因机场环境中存在不同类型的行李车,机器人的执行机构需要具有一定泛化能力。所以根据所有待收集行李车的共性特征,提出了一种具备磁吸附能力的机器人执行机构,用于叉起并接驳行李车。通过对硬件体系的综合分析,设计了高效率多线程的机器人软件***,使机器人各模块之间能够实现高效通信,进而确保了机器人能够稳定高效地在机场等环境中完成行李车收集任务。
(2)针对机器人在动态和稠密人群环境中,定位不准确或完全失效的问题,采用基于相机检测信息以及多传感器融合的定位方法:为提高机器人定位算法在机场和商场等人群密集区域的鲁棒性,本实施例提出了通过三维相机检测动态物体,根据相机与激光的标定结果,在激光扫描信息中去除相对应动态物体的点云信息;在此基础上,本实施例提出了多传感器融合的定位方法,将相机与激光的定位结果,与基于视觉的自然标志物定位方法、基于里程计的定位方法进行融合,使得机器人拥有了在大尺度环境中进行精确定位的能力。
(3)针对机场等环境复杂背景噪声较多的特点,提出了基于深度学***面上尺度变化大,行李车不同状态易混淆,行人遮挡干扰等问题,本实施例利用深度学习技术设计了一种行李车状态检测方法,能够准确区分空闲与占用状态。同时,为了保证机器人工作的流畅性,提出了基于多线程的多任务处理方法,提高了行李车状态的识别速度。
(4)针对车载传感器的识别范围及识别能力限制,本实施例提出了基于距离信息的稳定高精度的行李车位姿估计方法:对已识别的空闲行李车进行位姿估计结果,能够为机器人抵近和叉起行李车过程中的运动控制部分提供行李车相对于机器人的位置信息。根据行李车距离机器人的距离远近,本实施例提出了针对不同距离范围的行李车的两种不同位姿估计方法,以达到快速稳定且高精度地进行行李车位姿估计的目标。当机器人离行李车距离较远时,提出了基于像素信息的行李车位置判断策略。当机器人和行李车距离小于某个阈值时,提出了基于点云的行李车位姿检测策略。
(5)针对差分驱动机器人所具有的非完整约束特性,提出了使用分级多段视觉伺服***实现机器人与行李车的接驳:因为本实施例所设计的机器人为非完整约束***,约束了机器人的横向运动。在此类***上直接应用视觉伺服算法可能会导致目标在视野内丢失。通过分析不同行李车定位方法的定位范围与定位误差,本实施例提出了使用分段多级视觉伺服算法,根据机器人和行李车的相对位置远近不同,采取不同的伺服策略,实现机器人与行李车的接驳。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例的一种行李车收集方法的步骤流程示意图;
图2是本申请一个实施例的行李车收集设备的轴侧图;
图3是本申请一个实施例的行李车收集设备的仰视图;
图4是本申请一个实施例的另一种行李车收集方法的步骤流程示意图;
图5是本申请一个实施例的行李车检测识别过程示意图;
图6是本申请一个实施例的又一种行李车收集方法的步骤流程示意图;
图7是本申请一个实施例的行李车收集方法所应用于的***的架构示意图;
图8是本申请一个实施例的行李车收集方法的操作过程示意图
图9是本申请一个实施例的一种行李车收集装置的示意图;
图10是本申请一个实施例的一种行李车收集设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
目前,为了减少人力成本,很多机场采用电动助力车,帮助远距离运输行李车队列。该方法在一定程度上减轻了人力负担,提高了行李车回收速度。但是,该方法只是负责运输行李车,减轻了工作人员远距离运输行李车队列时的负担,但收集行李车的过程仍然需要工作人员的参与。该方法并没有显著减少人工的使用。
与此同时,世界上很多机场出现了具有自主导航功能的行李车,能够帮助旅客将行李运送到指定位置,完成后再回到特定位置继续为其他旅客提供服务。该方法避免了繁重的行李车收集工作,但单台自动行李车价格高昂,限制了此类行李车大规模的推广应用。
因此,针对上述问题,本申请实现了一套全自动的机场行李车收集方法,能够实时检测行李车的分布情况,自动收集散落在各处的行李车,并将这些行李车批量转移至指定区域,供旅客使用。
下面通过具体实施例来说明本申请的技术方案。
参照图1,示出了本申请一个实施例的一种行李车收集方法的步骤流程示意图,具体可以包括如下步骤:
S101、采集周围环境图像,根据所述周围环境图像对周围环境进行检测;
需要说明的是,本方法可以应用于行李车收集设备,该行李车收集设备可以是一种用于收集行李车的运输设备,如行李车收集车、行李车收集机器人等等,本实施例对行李车收集设备的具体形式不作限定。
另外,本实施例中的行李车收集设备可以应用于车站候车厅、机场候机楼等环境中,也可以应用于其他需要对行李车或类似设备进行回收的场景中,本实施例对行李车收集设备的应用环境或应用场景均不作限定。
通常,为了实现对行李车的自动收集,行李车收集设备需要具备一定的结构才能支撑对行李车的吸附、抬升、接驳和固定等操作。因此,为了便于理解,本实施例首先对行李车收集设备的硬件结构作一介绍。
如图2所示,是本实施例的行李车收集设备的轴侧图。在图2所示的轴侧图中,该行李车收集设备可以看作是一种行李车收集机器人,其硬件结构主要包括能够在多种地形下稳定移动的机器人底盘和一个能够稳定夹持行李车的夹持机构。该机器人可以通过两个差分驱动轮驱动,具有良好的地形适应能力和稳定性。除了上述两个差分驱动轮外,机器人后端还具有两个全向移动轮(万向轮),通过两个全向移动轮和两个差分驱动轮共同支撑机器人底盘。当然,上述对全向移动轮和差分驱动轮数量的介绍仅仅是一种示例,根据实际需要可以为机器人配置其他数量的全向移动轮和差分驱动轮,本实施例对全向移动轮和差分驱动轮的数量不作限定。
在机器人的车体前部,包含一个固定于机器人底盘上的抬升机构和接驳机构,上述抬升机构可以与一夹持机构活动连接。在通过夹持机构的叉头夹持住待收集的行李车后,可以通过抬升机构抬起已夹持的行李车,并将其固定于接驳机构上,实现机器人与行李车之间的固定连接。
在抬升机构前方,还可以配置有超声波测距传感器,用于检测叉头与行李车的距离与角度。同时,在叉头上还可以加装有磁吸附装置,用于在机器人靠近行李车时对行李车进行吸附,以避免操作过程中行李车被外力推走。
如图2所示,机器人上还配置有深度摄像机,通过深度摄像机可以采集机器人在行进过程中的周围环境图像,以及在检测到待收集的行李车后,可以采集行李车的点云图像,这些图像均可以被传输至机载电脑,由机载电脑作进一步的处理。
如图3所示,是本实施例的行李车收集设备的仰视图。从图3所示的仰视图中可知,该机器人还配置有伺服电机(Servo Motor),用于配合机载电脑的指令,在机器人的行进和收集行李车等过程中,实现***的自动控制。
基于上述硬件结构的机器人,可以实现对行李车的自动收集。下面对采用具有上述硬件结构的机器人来收集行李车的过程作详细介绍。为了便于理解,后续的介绍过程中,均以行李车收集设备为图3所示的行李车收集机器人为例来进行。
在本实施例中,初始时,行李车收集机器人可以按照一定的路线进行巡航。例如,对于放置于机场候机楼的机器人而言,可以首先为其规划相应的巡航路线,控制其按照该路线在候机楼内进行巡航。
在巡航过程中,机器人可以通过配置的深度摄像机拍摄周围的环境图像,然后根据拍摄得到的图像对周围环境进行检测,确认是否存在待收集的行李车。或者,机器人也可以通过激光雷达自动检测周围环境中是否存在待收集的行李车。
S102、当检测到所述周围环境中存在待收集的行李车时,对所述行李车进行位姿估计,获得所述行李车的位姿;
在机器人检测到待收集的行李车后,可以根据行李车距离机器人的距离远近,使用不同的位姿估计模型进行行李车的位姿估计。
需要说明的是,本实施例中的待收集行李车可以是指未被使用的行李车。例如,某辆行李车中未放置有任何行李,同时也没有其他用户扶着或推着,可以认为该行李车是需要运送至指定回收点的待收集行李车。
行李车的位姿包括检测到的待收集行李车的位置和姿态,通过估计行李车的位置和姿态,可以设计出机器人如何收集该行李车的具体方案。例如,需要移动至行李车的什么方位,怎样吸附行李车,等等。
S103、根据所述行李车的位姿,移动至所述行李车的预设方位;
在本实施例中,行李车的预设方位可以是指行李车的正后方,即在用户推着行李车时,面对着用户本人的那个方向。
在估计出行李车的位姿后,可以确定出行李车所处的位置以及当前的姿态,从而可以控制机器人移动至行李车正后方,为收集该行李车做准备。
S104、从所述预设方位对所述行李车与所述行李车收集设备进行接驳固定;
在本实施例中,当机器人移动至行李车正后方后,可以控制机器人继续向前行进,并在距离行李车一定距离时,机器人上的磁吸附装置可以对行李车进行吸附,然后将夹持机构的叉头叉进行李车的空隙中,并将其抬升起来,实现机器人与行李车之间的接驳固定。
需要说明的是,在对行李车和机器人进行接驳固定时,可以通过相应的算法来进行控制,该算法可以根据行李车与机器人之间实时变动的距离,确定在该距离下应当如何对行李车进行操作。
S105、将已接驳固定的所述行李车运送至行李车收集点。
行李车收集点可以是指用于集中放置行李车的区域。例如,在机场候机楼,行李车收集点可以是在旅客入口处,通过在入口放置行李车,可以方便旅客在进入候机楼时即可使用行李车。本实施例行李车收集点的具***置不作限定。
在具体实现中,当机器人接驳固定一辆行李车后,可以首先确定其与行李车收集点之间的相对位置关系,然后规划出相应的路线,并按照该路线行进,从而将行李车运送至收集点。
在本申请实施例中,在检测到周围环境中待收集的行李车时,通过对该行李车进行位姿估计,获取行李车具体的位置及姿态信息,然后根据这些信息移动至行李车的某一方位,并从该方位对行李车与行李车收集设备进行接驳固定,从而可以将已接驳固定的行李车运送至行李车收集点,实现对分散在各处的行李车的自动收集,显著减少行李车收集过程中需要使用的人手,降低行李车运营机构的运营成本。
参照图4,示出了本申请一个实施例的另一种行李车收集方法的步骤流程示意图,具体可以包括如下步骤:
S401、获取定位信息,根据所述定位信息确定所述行李车收集设备的位置;
本方法可以应用于行李车收集设备,如用于回收空闲行李车的行李车收集机器人等等。本实施例的执行主体为行李车收集设备,通过控制行李车收集设备在车站候车厅、机场候机楼等处进行巡航,检测需要回收的空闲行李车,可以将空闲行李车运送至指定的行李车收集点。本实施例以行李车收集机器人为例进行后续介绍。
在本实施例中,行李车收集机器人在工作过程中,需要实时获取定位信息,用于确定自身当前所处的位置,以便在收集到空闲行李车后,可以根据当前所处的位置,确定如何将空闲行李车运送至行李车收集点。
通常,在商场,医院或机场等人群稠密的大面积室内环境,由于环境干扰较大,如果采用普通的定位方式容易导致机器人定位失效,需要对机器人定位***进行重新设计,保证在所有情况下机器人的定位***都能够稳定运行。
作为本申请的一种示例,本实施例中的行李车收集机器人的定位***可以包括惯性导航传感器,多线激光雷达,深度摄像机,轮式里程计,超声波测距传感器等等,通过多个设备或模块的配合,实现一个多传感器融合的定位***。其中,深度摄像机在机器人定位***中的功能可以是检测周围环境中的特征标志物,辅助定位;多线激光雷达可以用于地图的绘制与更新;通过雷达与特征标志物及其他传感器协同,共同获取准确的机器人位置信息。
在具体实现中,为了实现在稠密人群下机器人的稳定定位,可以首先统计机器人行进过程中的轮式里程和视觉里程。上述轮式里程可以是指行李车收集机器人的驱动轮行进的距离;而视觉里程则可以采用配置于机器人上的深度摄像机采集行进过程中的路面纹理信息,然后根据路面纹理信息统计得到。即,在机器人行进过程中,可以控制深度摄像机的摄像头俯视路面,然后通过路面纹理信息制作出视觉里程。
然后,可以根据轮式里程和视觉里程,计算行进过程中的实际里程。
由于无论是采用轮式里程计还是视觉里程计都会存在一定的误差,本实施例可以通过对上述两种里程计进行融合,从而减少里程计误差。在具体实现中,可以采用扩展卡尔曼滤波器对轮式里程和视觉里程进行数据融合,获得行进过程中的实际里程。当然,在轮式里程和视觉里程的基础上,还可以结合惯性传感器的数据或其他数据,进一步提高里程计的精确度。
在获得机器人的实际里程后,便可以基于实际里程、预设的环境标志物信息和起点位置信息,确定出机器人当前所处的位置。上述环境标志物信息可以是预先采集的机器人行进路线上的固定物体的信息,例如,在机场候机楼的一些固定的问询台、值机岛等等。
本实施例在计算出机器人行进的实际里程基础上,将应用环境中已存在的特征标志物与定位算法进行融合,可以增强定位算法的鲁棒性,保证在稠密人群下机器人能够稳定地确定自己的位置。
S402、采集所述行李车收集设备行进过程中的周围环境图像,采用预设的行李车检测模型对所述周围环境图像进行检测;
在本实施例中,可以通过采集机器人行进过程中的周围环境图像,然后检测图像中是否包括待收集的空闲行李车的图像,来确定是否检测到待收集的行李车。
在具体实现中,可以通过预先训练得到的行李车检测模型对周围环境图像进行检测,以识别出待收集的行李车。
在本实施例中,行李车检测模型可以通过采集多个行李车的图像,并在多个行李车的图像中对各个行李车进行标注,获得各个行李车在对应的图像中的图像位置信息及像素信息的基础上,采用深度传感器对未被使用的行李车进行扫描,获得未被使用的行李车的三维影像,然后再采用未被使用的行李车的三维影像、多个行李车的图像位置信息及像素信息,对深度学习模型进行模型训练,获得行李车检测模型。即,本实施例中的行李车检测模型是基于对深度学习模型的改进,将行李车分类部分网络改为行李车及其状态识别网络,使检测网络输出行李车的位置和状态类别。
以为了收集机场候机楼中的空闲行李车为例,上述行李车检测模型可以通过如下步骤获得:
(1)通过拍摄机场行李车的深度图像及彩色图像,构建出算法训练和测试数据库;
(2)标注彩色图像中的行李车位置和行李车像素;
(3)使用深度传感器扫描空闲行李车的三维影像;
(4)使用前述步骤获得的信息,对深度学习模型进行训练,获得行李车检测模型。
通过在上述行李车检测模型上测试行李车图像,可以输出空闲行李车的位置。
S403、当检测到所述周围环境图像中包含行李车图像时,识别所述行李车图像中是否包含物体图像或人体肢体图像;
在本实施例中,待收集的行李车即是未被使用的空闲行李车,空闲行李车指既没有行李放置,也没有人扶着或者推着的行李车。
因此,在检测出图像中包含行李车图像时,可以进一步识别行李车图像中是否包含物体图像或人体肢体图像。
如果行李车图像中并未包含任何物体图像或人体肢体图像,则可以判定该图像对应的行李车为待收集的空闲行李车。此时,可以继续执行步骤S404,对行李车进行位姿估计。
S404、判定所述行李车图像对应的行李车为待收集的行李车,对所述行李车进行位姿估计,获得所述行李车的位姿;
如图5所示,是本实施例的一种行李车检测识别过程示意图。按照图5所示的过程,机器人可以通过使用行李车检测模型检测出待收集的空闲行李车,并基于语义分割算法对行李车进行分隔,然后采用相应的位姿估计模型完成行李车的位姿估计。
S405、根据所述行李车的位姿,移动至所述行李车的预设方位;
S406、从所述预设方位对所述行李车与所述行李车收集设备进行接驳固定;
S407、将已接驳固定的所述行李车运送至行李车收集点。
在完成对行李车的位姿估计后,机器人可以根据估计得到的位姿,移动至行李车的正后方,然后从正后方夹持起行李车,并将行李车与机器人接驳固定,从而将行李车运送至行李车收集点。
由于本实施例步骤S405-S407与前述实施例中步骤S103-S105类似,可以参阅,本实施例对此不再赘述。
在本申请实施例中,通过将行李车收集设备行进过程中的轮式里程和视觉里程等数据进行融合,再结合应用环境中的特征标志物进行行李车收集设备的定位,可以增强定位算法的鲁棒性,提高了稠密人群下行李车收集设备定位的稳定性。
参照图6,示出了本申请一个实施例的又一种行李车收集方法的步骤流程示意图,具体可以包括如下步骤:
S601、采集周围环境图像,根据所述周围环境图像对周围环境进行检测;
由于本实施例中步骤S601与前述实施例中步骤S101、步骤S402类似,本实施例对此不再赘述。
S602、当检测到所述周围环境中存在待收集的行李车时,统计行李车图像中行李车外边框的像素个数,根据所述行李车外边框的像素个数计算所述行李车外边框的周长;
在本实施例中,在检测到待收集的空闲行李车后,可以根据行李车离机器人的距离远近使用不同的位姿估计模型。
在具体实现中,可以通过计算外边框像素的个数得到外边框的周长,用外边周长大小表示空闲行李车离机器人的距离。当周长小于等于预设阈值时,说明该空闲行李车离机器人比较远;反之,则说明行李车离机器人比较近。
S603、若所述行李车外边框的周长小于等于预设阈值,则采用预设的第一位姿估计模型对所述行李车进行位姿估计,获得所述行李车的位姿;
在本实施例中,当行李车外边框的周长小于等于预设阈值时,说明行李车离机器人较远,此时可以采用精确度相对较低的第一位姿估计模型即粗略位姿估计策略进行位姿估计。
粗略位姿估计策略的思想是将6维位姿参数[x,y,z,roll,pitch,yaw]中的z、roll和pitch值设置为零,将旋转角度yaw视作一个方向分类问题,然后结合深度信息估计空闲行李车在地面上的位移x和y,通过运动控制,走近待收集的行李车。
在本申请实施例中,可以首先获取未被使用的行李车图像,对上述未被使用的行李车图像进行分块,构建行李车图像数据集,并对行李车图像数据集中的各个图像块进行多个类别的旋转角度标注,使得任一类别分别对应一个旋转角度值,然后将已标注的各个图像块作为训练数据,训练深度卷积分类网络模型,获得第一位姿估计模型。其具体步骤可以包括:
(1)利用行李车检测模型输出的空闲行李车外边框,截取得到空闲行李车图像块和对应的空闲行李车深度图像块,构建行李车图像数据集;
(2)对上述行李车图像数据集,做yaw方向的旋转角度标注,将yaw方向旋转角度分为8个类别,类别0~7分别表示0度,向右45度,向右90度,向右135度,向右180度,向左135度,向左90度,向左45度。上述数据集可以被分为训练集和测试集;
(3)使用训练集训练一个深度卷积分类网络,微调模型参数以得到最优分类精度的模型,得到第一位姿估计模型。
在此基础上,将已训练模型用于远距离空闲行李车的yaw方向旋转角度分类,通过使用行李车分割对应的深度信息计算平移x和y的大小后,可以向机器人运动控制***发送一个移动指令,指令机器人按照粗略估计的位姿向行李车移动。
S604、若所述行李车外边框的周长大于所述预设阈值,则采用预设的第二位姿估计模型对所述行李车进行位姿估计,获得所述行李车的位姿;
在本实施例中,当行李车外边框的周长大于预设阈值时,说明行李车离机器人较近,此时可以采用精确度相对更高的第二位姿估计模型即精细位姿估计策略进行位姿估计。也就是说,上述第一位姿估计模型的估计精度小于第二位姿估计模型的估计精度。精细位姿估计策略是使用深度学习方法学习估计行李车的位姿。
在本申请实施例中,可以采用深度摄像机分别采集贴有标记图的第一行李车图像和未贴有标记图的第二行李车图像,上述第一行李车图像和第二行李车图像均为未被使用的行李车的图像,然后以第一行李车图像和第二行李车图像作为训练数据,训练位姿估计网络模型,获得第二位姿估计模型。其具体步骤可以包括:
(1)构建行李车位姿数据集。在行李车上张贴标记图,用深度相机拍摄有贴标记图和没有贴标记图的空闲行李车图像,张贴标记图是为了通过使用深度相机获取标记图特征的方式得到行李车的位姿信息,以此位姿作为行李车位姿训练的实际标注数据;
(2)将空闲行李车图像、相应的位姿信息和行李车三维影像输入一个位姿估计网络poseCNN,训练poseCNN得到行李车的第二位姿估计模型。
S605、根据所述行李车的位姿,驱动所述行李车收集设备的驱动轮,移动至所述行李车的正后方;
在本实施例中,在估计出待收集的行李车的位姿后,可以向机器人运动控制***发送一个移动指令,指令机器人按照估计得到的位姿向行李车移动。
S606、采用配置于所述行李车收集设备上的深度摄像机采集所述行李车的点云图像,根据所述点云图像实时计算所述行李车收集设备与所述行李车之间的距离;
当机器人到达行李车后方后,可以通过伺服电机引导行李车收集机器人从行李车后方与行李车进行接驳。
为了实现误差补偿,本实施例可以根据行李车的姿态调整控制策略与行李车进行接驳,需要机器人以较高的频率实时获得行李车的姿态。由于非完整***在机器人的速度方向上设置了限制,直接在此类***上应用视觉伺服算法会导致目标在视野中丢失等问题。考虑到以上限制以及需求,本实施例可以针对行李车收集机器人设计了分级多阶段视觉伺服算法,通过融合多种行李车定位方式与机器人控制方式实现机器人与行李车的接驳。
在本实施例中,多阶段视觉伺服算法可以通过对预设的视觉伺服算法进行监督学习得到,上述监督学习的监督信号即是行李车收集机器人与行李车之间的距离。不同的距离区间分别对应多阶段视觉伺服算法中的一个阶段。
因此,在具体实现中,当驱动机器人运行到离行李车较近的位置时,此时深度摄像机能够采集到行李车的点云图像,根据点云图像可以实时的计算出机器人与行李车之间的距离。
S607、确定与所述距离所属的距离区间对应的目标阶段视觉伺服算法,采用所述目标阶段视觉伺服算法,对所述行李车与所述行李车收集设备进行接驳固定;
根据机器人与行李车之间的距离,可以确定具体的目标阶段视觉伺服算法,然后采用该阶段视觉伺服算法对行李车与机器人进行接驳。
在具体实现中,可以采用目标阶段视觉伺服算法控制行李车收集机器人的夹持机构夹持住该行李车,并抬升已夹持的行李车,将行李车固定于行李车收集机器人的接驳机构上。
本实施例通过引入加速度约束,实现切换过程的速度柔顺化,减少机器人的急停与急加速现象,提高接驳效率,增加了机器人行为的可预测性。
S608、将已接驳固定的所述行李车运送至行李车收集点。
接驳固定的行李车将由行李车收集机器人运送至行李车收集点。
在本申请实施例中,通过计算待收集的行李车与行李车收集设备之间的距离远近,从而可以选择粗略位姿估计或精细位姿估计,提高了位姿估计的速度;另外,本实施例针对不同距离分别设计了多级多阶段的视觉伺服算法用于接驳过程的控制,可以实现接驳过程的速度柔顺化,减少行李车收集设备在此过程中的急停与急加速现象,提高了接驳效率。
需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了便于理解,下面结合一个完整的示例,对本实施例的行李车收集方法作一介绍。
如图7所示,是本实施例的行李车收集方法所应用于的***的架构示意图。按照图7所示的架构,整个***包括硬件架构及软件架构两部分。即,行李车收集设备自身的机械结构及配置情况,以及在使用该行李车收集设备收集行李车时的软件控制过程。
参照图8,示出了本实施例的行李车收集方法的操作过程示意图。以行李车收集机器人为例,首先,可以控制机器人按照一定的路线巡航,并持续检测行李车。在此过程中,机器人同时会完成定位,避障等功能。当检测到行李车时,机器人会进入行李车状态估计状态。若行李车确定需要被收集,机器人将进入行李车位姿估计状态以及视觉伺服状态,以移动到行李车后方。当机器人与行李车的相对距离达到预设值时,机器人将进入行李车抬升过程,把行李车抬起。抬升过后,机器人进入导航状态,将行李车运送至行李车收集点。机器人抵达行李车收集点后把行李车放下,完成把一辆空闲行李车回收至收集点的任务。任务完成之后,机器人会再次回到巡航状态,主动寻找空闲行李车。此状态形成一个循环,让机器人能不断重复执行回收空闲行李车至收集点的任务。
基于本实施例提供的机器人软硬件***,能够自动收集机场等环境中散乱分布的行李车,减少人力收集行李车和使用自动行李车的成本;同时,针对上述软硬件***,本实施例提出的定位方法、行李车识别方法以及位姿估计方法等,能够适用于机场,医院,商场等环境中的机器人定位,并能够准确的在稠密人群环境中确定行李车的状态及位姿;此外,本实施例的分级多阶段视觉伺服***,能够驱动机器人移动至正确的操作位置操作行李车,并将行李车运送到指定收集点。
本申请实施例还公开了一种行李车收集设备,行李车收集设备包括至少两个驱动轮、至少两个全向移动轮、通过所述驱动轮和所述全向移动轮支撑的设备底盘、固定于所述设备底盘上的抬升机构、接驳机构和机载电脑、与所述抬升机构活动连接的夹持机构,以及与所述机载电脑通信连接的深度摄像机;其中:
所述深度摄像机,用于采集周围环境图像;
所述机载电脑,用于根据所述周围环境图像对周围环境进行检测,当检测到所述周围环境中存在待收集的行李车时,对所述行李车进行位姿估计,获得所述行李车的位姿,根据所述行李车的位姿,驱动所述行李车收集设备的驱动轮,移动至所述行李车的预设方位;
所述夹持机构,用于从所述预设方位夹持所述行李车;
所述抬升机构,用于抬升已夹持的所述行李车,将所述行李车固定于所述行李车收集设备的接驳机构上;
所述驱动轮,用于在所述机载电脑的指令下,驱动所述行李车收集设备将已接驳固定的所述行李车运送至行李车收集点。
本实施例中的行李车收集设备的具体结构可以参见图2所示的行李车收集设备的轴侧图,本实施例对此不再赘述。
参照图9,示出了本申请一个实施例的一种行李车收集装置的示意图,上述行李车收集装置可以应用于行李车收集设备,具体可以包括如下模块:
图像采集模块901,用于采集周围环境图像,根据所述周围环境图像对周围环境进行检测;
位姿估计模块902,用于在检测到所述周围环境中存在待收集的行李车时,对所述行李车进行位姿估计,获得所述行李车的位姿;
移动模块903,用于根据所述行李车的位姿,移动至所述行李车的预设方位;
接驳模块904,用于从所述预设方位对所述行李车与所述行李车收集设备进行接驳固定;
运送模块905,用于将已接驳固定的所述行李车运送至行李车收集点。
在本申请实施例中,所述行李车收集装置还可以包括如下模块:
定位模块,用于获取定位信息,根据所述定位信息确定所述行李车收集设备的位置。
在本申请实施例中,所述定位模块具体可以包括如下子模块:
轮式里程统计子模块,用于统计所述行李车收集设备行进过程中的轮式里程,所述轮式里程为所述行李车收集设备的驱动轮行进的距离;
视觉里程统计子模块,用于采用配置于所述行李车收集设备上的深度摄像机采集行进过程中的路面纹理信息,根据所述路面纹理信息统计视觉里程;
实际里程计算子模块,用于根据所述轮式里程和所述视觉里程,计算行进过程中的实际里程;
位置确定子模块,用于基于所述实际里程、预设的环境标志物信息和起点位置信息,确定所述行李车收集设备所处的位置,所述环境标志物信息为预先采集的所述行李车收集设备行进路线上的固定物体的信息。
在本申请实施例中,所述实际里程计算子模块具体可以包括如下单元:
实际里程计算单元,用于采用扩展卡尔曼滤波器对所述轮式里程和所述视觉里程进行数据融合,获得所述行进过程中的实际里程。
在本申请实施例中,所述图像采集模块901具体可以包括如下子模块:
图像采集子模块,用于采集所述行李车收集设备行进过程中的周围环境图像;
图像检测子模块,用于采用预设的行李车检测模型对所述周围环境图像进行检测;
物体识别子模块,用于在检测到所述周围环境图像中包含行李车图像时,识别所述行李车图像中是否包含物体图像或人体肢体图像;
行李车判定子模块,用于若所述行李车图像中未包含物体图像或人体肢体图像,则判定所述行李车图像对应的行李车为待收集的行李车。
在本申请实施例中,所述行李车检测模型通过调用如下模块生成:
图像标注模块,用于采集多个行李车的图像,在所述多个行李车的图像中对各个行李车进行标注,获得所述各个行李车在对应的图像中的图像位置信息及像素信息;
三维影像扫描模块,用于采用深度传感器对未被使用的行李车进行扫描,获得所述未被使用的行李车的三维影像;
行李车检测模型训练模块,用于采用所述未被使用的行李车的三维影像、所述多个行李车的图像位置信息及像素信息,对深度学习模型进行模型训练,获得所述行李车检测模型。
在本申请实施例中,所述周围环境图像中包含行李车图像,所述位姿估计模块902具体可以包括如下子模块:
外边框周长计算子模块,用于统计所述行李车图像中行李车外边框的像素个数,根据所述行李车外边框的像素个数计算所述行李车外边框的周长;
第一位姿估计子模块,用于若所述行李车外边框的周长小于等于预设阈值,则采用预设的第一位姿估计模型对所述行李车进行位姿估计,获得所述行李车的位姿;
第二位姿估计子模块,用于若所述行李车外边框的周长大于所述预设阈值,则采用预设的第二位姿估计模型对所述行李车进行位姿估计,获得所述行李车的位姿,所述第一位姿估计模型的估计精度小于所述第二位姿估计模型的估计精度。
在本申请实施例中,所述第一位姿估计模型通过调用如下模块生成:
图像分块模块,用于获取未被使用的行李车图像,对所述未被使用的行李车图像进行分块,构建行李车图像数据集;
图像旋转模块,用于对所述行李车图像数据集中的各个图像块进行多个类别的旋转角度标注,任一类别分别对应一个旋转角度值;
第一位姿估计模型训练模块,用于将已标注的各个图像块作为训练数据,训练深度卷积分类网络模型,获得所述第一位姿估计模型。
在本申请实施例中,所述第二位姿估计模型通过调用如下模块生成:
行李车图像采集模块,用于采用深度摄像机分别采集贴有标记图的第一行李车图像和未贴有标记图的第二行李车图像,所述第一行李车图像和所述第二行李车图像均为未被使用的行李车的图像;
第二位姿估计模型训练模块,用于以所述第一行李车图像和所述第二行李车图像作为训练数据,训练位姿估计网络模型,获得所述第二位姿估计模型。
在本申请实施例中,所述预设方位为所述行李车的正后方,所述移动模块903具体可以包括如下子模块:
移动子模块,用于根据所述行李车的位姿,驱动所述行李车收集设备的驱动轮,移动至所述行李车的正后方。
在本申请实施例中,所述接驳模块904具体可以包括如下子模块:
点云图像采集子模块,用于采用配置于所述行李车收集设备上的深度摄像机采集所述行李车的点云图像,根据所述点云图像实时计算所述行李车收集设备与所述行李车之间的距离;
目标阶段视觉伺服算法确定子模块,用于确定与所述距离所属的距离区间对应的目标阶段视觉伺服算法;其中,不同的距离区间分别对应多阶段视觉伺服算法中的一个阶段,所述多阶段视觉伺服算法通过对预设的视觉伺服算法进行监督学习得到,所述监督学习的监督信号为所述行李车收集设备与所述行李车之间的距离;
接驳固定子模块,用于采用所述目标阶段视觉伺服算法,对所述行李车与所述行李车收集设备进行接驳固定。
在本申请实施例中,所述接驳固定子模块具体可以包括如下单元:
接驳固定单元,用于采用所述目标阶段视觉伺服算法控制所述行李车收集设备的夹持机构夹持所述行李车,并抬升已夹持的所述行李车,将所述行李车固定于所述行李车收集设备的接驳机构上。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。
参照图10,示出了本申请一个实施例的一种行李车收集设备的示意图。如图10所示,本实施例的行李车收集设备1000包括:处理器1010、存储器1020以及存储在所述存储器1020中并可在所述处理器1010上运行的计算机程序1021。所述处理器1010执行所述计算机程序1021时实现上述行李车收集方法各个实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器1010执行所述计算机程序1021时实现上述各装置实施例中各模块/单元的功能,例如图9所示模块901至905的功能。
示例性的,所述计算机程序1021可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1020中,并由所述处理器1010执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序1021在所述行李车收集设备1000中的执行过程。例如,所述计算机程序1021可以被分割成图像采集模块、位姿估计模块、移动模块、接驳模块和运送模块,各模块具体功能如下:
图像采集模块,用于采集周围环境图像,根据所述周围环境图像对周围环境进行检测;
位姿估计模块,用于在检测到所述周围环境中存在待收集的行李车时,对所述行李车进行位姿估计,获得所述行李车的位姿;
移动模块,用于根据所述行李车的位姿,移动至所述行李车的预设方位;
接驳模块,用于从所述预设方位对所述行李车与所述行李车收集设备进行接驳固定;
运送模块,用于将已接驳固定的所述行李车运送至行李车收集点。
所述行李车收集设备1000可包括,但不仅限于,处理器1010、存储器1020。本领域技术人员可以理解,图10仅仅是行李车收集设备1000的一种示例,并不构成对行李车收集设备1000的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述行李车收集设备1000还可以包括输入输出设备、网络接入设备、总线等。
所述处理器1010可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1020可以是所述行李车收集设备1000的内部存储单元,例如行李车收集设备1000的硬盘或内存。所述存储器1020也可以是所述行李车收集设备1000的外部存储设备,例如所述行李车收集设备1000上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等等。进一步地,所述存储器1020还可以既包括所述行李车收集设备1000的内部存储单元也包括外部存储设备。所述存储器1020用于存储所述计算机程序1021以及所述行李车收集设备1000所需的其他程序和数据。所述存储器1020还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。