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

一种基于多目标跟踪的移动机器人预见性导航方法与流程

2021-11-22 13:58:00 来源:中国专利 TAG:


1.本发明涉及移动机器人导航和多目标跟踪的技术领域,尤其是指一种基于多目标跟踪的移动机器人预见性导航方法。


背景技术:

2.近年来,随着人工智能技术的兴起,对于智能机器人的研究也逐渐深入,对机器人在动态环境下的导航智能化也有了更高的要求。
3.按照传统的机器人导航方法,移动机器人会根据当前传感器所感知到的信息,例如感知到前方出现障碍物,则立即改变导航规划。在动态环境下,如机器人前方有行人穿行,传统方法需要根据当前的行人位置信息不断改变导航轨迹。然而,变化后的新路径仍存在不可通行的可能,导致导航线变化频繁。如果机器人能够预判到行人未来的行动趋向,则可以提前作导航线规划,避免不必要的导航轨迹变化,降低由于变换轨迹带来的阻塞和碰撞风险,增强导航稳定性。由此,随着现在人工智能技术的不断发展,引出了对于机器人预见性导航方法的研究。
4.目前,研究者们已经提出了许多移动机器人的预见性导航方法,但仍面临着如下问题:
5.1)基于多智能体的强化学习方法对具体环境要求高,难以实际落地。
6.2)基于纯lstm网络的方法无法解释两个时刻目标间的对应关系,降低了交互性能。
7.3)基于激光点云的方法缺乏具体认知层面的信息,可解释性较差。
8.多目标跟踪(multiple object tracking,mot)是目标跟踪技术的一个分支,主要任务是划分检测定位到的多个目标,保持目标身份id的连续性,旨在对多个目标进行跟踪并产出其行动轨迹。基于深度学习的多目标跟踪网络表现出了强大的精度和鲁棒性。利用多目标跟踪进行行人轨迹预测,相比于使用激光点云的方法,拥有着更好的准确性,符合解决机器人导航中认知预判问题的实际需求。


技术实现要素:

9.本发明的目的在于克服移动机器人在动态场景下导航规划变化频繁的缺点,使用多目标跟踪进行行人轨迹预测的思路,利用基于深度学习的在线多目标跟踪网络和基于时序的自回归移动平均模型(auto

regression moving average,arma),提出了一种基于多目标跟踪的移动机器人预见性导航方法,将多目标跟踪应用于行人轨迹预测问题上,结合arma模型,实现未来行人轨迹预测,再通过更新局部代价地图的方式提前影响导航规划。本方法提高了机器人的认知预判能力,进而解决移动机器人在导航过程中导航线频繁变化的问题,有着较好的研究意义和应用价值。
10.为实现上述目的,本发明所提供的技术方案为:一种基于多目标跟踪的移动机器人预见性导航方法,包括以下步骤:
11.1)输入相机实时视频流,对图像帧作预处理;
12.2)将步骤1)预处理后得到的图像帧输入开源的在线多目标跟踪jde模型,采集历史轨迹点,得到多目标的历史轨迹数据集合;
13.3)对步骤2)得到的多目标的历史轨迹数据集合进行合规平稳性检验,得到检验通过的多组数据;
14.4)收集步骤3)中检验通过的多组数据,得到有效历史轨迹数据集合,通过有效历史轨迹数据集合,预测得到未来轨迹点集合;
15.5)通过ros服务端节点,对步骤4)中预测得到的未来轨迹点进行坐标系转换,创建局部代价地图,将创建好的局部代价地图发布到ros话题\local_costmap上;
16.6)订阅ros话题\local_costmap,通过move_base导航节点,提前影响导航规划。
17.进一步,所述步骤1)包括以下步骤:
18.1.1)利用opencv

python库中的cv2.videocapture函数启动相机驱动并获取cmos相机视频流;
19.1.2)获取视频流数据中的图像帧,对图像帧作预处理操作:利用opencv

python中的letterbox函数,在保持图像纵横比的前提下对图像做尺度重调,剩余空白区用灰度值为0像素进行填充,根据车载相机分辨率参数,预处理后得到尺寸为864*480的图像帧。
20.进一步,所述步骤2)包括以下步骤:
21.2.1)将步骤1)中预处理后得到的图像帧输入开源的在线多目标跟踪jde模型,该在线多目标跟踪jde模型通过特征金字塔网络fpn,从多尺度进行预测;
22.2.2)在训练过程中,在线多目标跟踪jde模型以1/32、1/16和1/8的尺度对特征图分别进行降采样,建立多任务学习目标建模,作加权线性损失和l
total

[0023][0024]
其中,m是预测头数,是i=1,...,m且j=α,β,γ下的损失权重,是i=1,...,m且j=α,β,γ下的损失值,α,β,γ是不同尺度分支的权重值;
[0025]
2.3)对于采样得到的特征,在线多目标跟踪jde模型根据每个目标的边界框和外观特征,通过匈牙利算法计算当前帧检测目标和已存在的目标轨迹之间的关联矩阵,再通过如下公式对轨迹进行更新:
[0026]
f
t
=ηf
t
‑1 (1

η)f'
[0027]
其中,f'是被关联目标的外观特征,f
t
是当前时刻检测目标的外观特征,f
t
‑1是前一时刻检测目标的外观特征,η是自设的加权移动平均系数;
[0028]
2.4)在线多目标跟踪jde模型输出的单个目标的单点轨迹数据p为:
[0029]
p(fid,oid,x,y)
[0030]
其中,fid表示图像帧id,oid表示目标id,x表示目标边界框下底边中心点横坐标,y表示目标边界框下底边中心点纵坐标;
[0031]
目标v的轨迹数据集合k
v
为:
[0032]
k
v
={p1,p2,p3,...,p
t
}
[0033]
其中,t表示在采样周期内采集到的目标v轨迹点的最大数量;
[0034]
2.5)以设定帧数图像为一采样周期,整理得到该周期内捕获到的包含多个目标信息的历史轨迹数据集合m:
[0035]
m={k1,k2,k3,...,k
n
}
[0036]
其中,集合k1表示目标id为1的目标的轨迹数据集合,n为该采样周期内捕获到的最大目标数。
[0037]
进一步,所述步骤3)包括以下步骤:
[0038]
3.1)对步骤2)中得到多目标的历史轨迹数据集合m中不同目标的轨迹数据集合k
v
逐一进行合规平稳性检验;首先是进行合规性检验,实质是集合数据量检查;由于时序预测需要足够的数据作为基准,在此设定数量阈值为4,得到判断式如下:
[0039][0040]
其中,n
v
表示目标id为v的目标的轨迹数据集合k
v
中的轨迹点数量;设定阈值为4,根据阈值作判断轨迹点数据量是否足够进行预测,若数量足够,则检验通过,进入下一步;若数量不足,则检验不通过,并清除该数据;
[0041]
3.2)经过合规性检验的数据集合需要再进行平稳性检验,用单位根检验adf方法,其实质是判断数据序列是否存在单位根:
[0042][0043]
其中,b是回归函数中的自回归系数,若b为1,则表示存在单位根,检验不通过,进入步骤3.3);若b不为1,则表示不存在单位根,检验通过,则进入步骤4);
[0044]
3.3)对于adf检验不通过的数据,利用差分法进行平稳化处理;然后,对数据再次进行adf平稳性检验,若检验不通过,则彻底清除该数据;若检验通过,则进入步骤4)。
[0045]
进一步,所述步骤4)包括以下步骤:
[0046]
4.1)收集步骤3)中检验通过的多组数据,得到有效历史轨迹数据集合m


[0047]
m

={k
′1,k
′2,k
′3,...,k

n'
}
[0048]
其中,n'是轨迹有效的目标数,k

v
表示通过检验的目标id为v的目标的轨迹数据集合;
[0049]
4.2)将m'中的数据集合k

v
不同目标的横坐标序列和纵坐标序列逐一输入arma模型中进行预测,arma模型公式为:
[0050]
x
t
=β1u
t
‑1 β2u
t
‑2
···
β
q
u
t

q
u
t
α1x
t
‑1 α2x
t
‑2
···
α
p
x
t

p
[0051]
其中,x
t
是预测的坐标数值,x
t
‑1是前一个坐标数值,u
t
表示当前状态下的白噪声,u
t
‑1表示前一状态下的白噪声,β是噪声权重,α是回归系数,p是自回归阶数,q是移动平均阶数;
[0052]
4.3)整理得到未来轨迹点集合,通过信息包远程方法调用mprpc将数据传给对应的底层ros服务端节点。
[0053]
进一步,所述步骤5)包括以下步骤:
[0054]
5.1)ros系统是一个常用的机器人软件平台,在这一系统中,程序以节点形式运行,数据通信以ros话题订阅和发布的方式进行;在ros服务端节点中,首先对步骤4)中预测获得的未来轨迹点进行坐标系转换,分为两步,一是从像素坐标系转换到机器人坐标系,二是结合机器人当前位姿,从机器人坐标系转换到世界坐标系;
[0055]
5.2)根据轨迹点的坐标,判断轨迹点是否处于预设地图的范围内,若判断通过,则世界坐标系下的轨迹点添加到构建的局部代价地图中;
[0056]
5.3)以一个采样周期为数据更新频次,将创建好的局部代价地图发布到ros话题\local_costmap上。
[0057]
进一步,所述步骤6)的具体情况如下:
[0058]
在move_base导航节点中订阅ros话题\local_costmap,得到步骤5)中添加的局部代价地图,根据预设的障碍物半径和膨胀系数,将轨迹点数据以障碍物的形式更新到障碍地图层和膨胀层;move_base导航节点中的本地规划器local planner能够根据周期中的预判障碍物信息进行规避路线规划,故此,移动机器人能够对未来的行人状态进行预判,提前做好避让的导航线规划,达到预见性导航的目标。
[0059]
本发明与现有技术相比,具有如下优点与有益效果:
[0060]
1、本发明创新性地应用了多目标跟踪进行行人轨迹预测的方法,缓解了机器人在行人穿行的动态场景下导航线变化频繁的问题。
[0061]
2、本发明基于深度学习的在线多目标跟踪模型,对于不同目标能够准确认知并保持实时跟踪,具有更好的交互性和鲁棒性。
[0062]
3、本发明所需的环境条件较为简单,有利于应用实际落地。
附图说明
[0063]
图1为本发明方法逻辑流程示意图。
[0064]
图2为本发明使用的移动机器人实物图。
具体实施方式
[0065]
下面结合具体实施例对本发明作进一步说明。
[0066]
如图1和图2所示,本实施例所提供的基于多目标跟踪的移动机器人预见性导航方法,使用了服务器训练平台,移动机器人、华硕a456u笔记本电脑、logit c270 cmos相机等辅助设备,其包括以下步骤:
[0067]
1)输入相机实时视频流,对图像帧作预处理。
[0068]
1.1)利用opencv

python库中的cv2.videocapture函数启动相机驱动并获取cmos相机视频流;
[0069]
1.2)获取视频流数据中的图像帧,对图像帧作预处理操作:利用opencv

python中的letterbox函数,在保持图像纵横比的前提下对图像做尺度重调,剩余空白区用灰度值为0像素进行填充,根据车载相机分辨率参数,预处理后得到尺寸为864*480的图像帧。
[0070]
2)通过在线多目标跟踪模型,采集历史轨迹点。
[0071]
2.1)将步骤1)中预处理后得到的图像帧输入开源的在线多目标跟踪jde模型,该
在线多目标跟踪jde模型通过特征金字塔网络fpn,从多尺度进行预测;
[0072]
2.2)在训练过程中,在线多目标跟踪jde模型以1/32、1/16和1/8的尺度对特征图分别进行降采样,建立多任务学习目标建模,作加权线性损失和l
total

[0073][0074]
其中,m是预测头数,是i=1,...,m且j=α,β,γ下的损失权重,是i=1,...,m且j=α,β,γ下的损失值,α,β,γ是不同尺度分支的权重值;
[0075]
2.3)对于采样得到的特征,在线多目标跟踪jde模型根据每个目标的边界框和外观特征,通过匈牙利算法计算当前帧检测目标和已存在的目标轨迹之间的关联矩阵,再通过如下公式对轨迹进行更新:
[0076]
f
t
=ηf
t
‑1 (1

η)f'
[0077]
其中,f'是被关联目标的外观特征,f
t
是当前时刻检测目标的外观特征,f
t
‑1是前一时刻检测目标的外观特征,η是自设的加权移动平均系数;
[0078]
2.4)在线多目标跟踪jde模型输出的单个目标的单点轨迹数据p为:
[0079]
p(fid,oid,x,y)
[0080]
其中,fid表示图像帧id,oid表示目标id,x表示目标边界框下底边中心点横坐标,y表示目标边界框下底边中心点纵坐标;
[0081]
目标v的轨迹数据集合k
v
为:
[0082]
k
v
={p1,p2,p3,...,p
t
}
[0083]
其中,t表示在采样周期内采集到的目标v轨迹点的最大数量;
[0084]
2.5)以设定帧数图像为一采样周期,整理得到该周期内捕获到的包含多个目标信息的历史轨迹数据集合m:
[0085]
m={k1,k2,k3,...,k
n
}
[0086]
其中,集合k1表示目标id为1的目标的轨迹数据集合,n为该采样周期内捕获到的最大目标数。
[0087]
3)轨迹数据合规平稳性检验。
[0088]
3.1)对步骤2)中得到多目标的历史轨迹数据集合m中不同目标的轨迹数据集合k
v
逐一进行合规平稳性检验;首先是进行合规性检验,实质是集合数据量检查;由于时序预测需要足够的数据作为基准,在此设定数量阈值为4,得到判断式如下:
[0089][0090]
其中,n
v
表示目标id为v的目标的轨迹数据集合k
v
中的轨迹点数量;设定阈值为4,根据阈值作判断轨迹点数据量是否足够进行预测,若数量足够,则检验通过,进入下一步;若数量不足,则检验不通过,并清除该数据;
[0091]
3.2)经过合规性检验的数据集合需要再进行平稳性检验,用单位根检验adf方法,
其实质是判断数据序列是否存在单位根:
[0092][0093]
其中,b是回归函数中的自回归系数,若b为1,则表示存在单位根,检验不通过,进入步骤3.3);若b不为1,则表示不存在单位根,检验通过,则进入步骤4);
[0094]
3.3)对于adf检验不通过的数据,利用差分法进行平稳化处理;然后,对数据再次进行adf平稳性检验,若检验不通过,则彻底清除该数据;若检验通过,则进入步骤4)。
[0095]
4)通过历史轨迹点,预测得到未来轨迹点。
[0096]
4.1)收集步骤3)中检验通过的多组数据,得到有效历史轨迹数据集合m


[0097]
m

={k
′1,k
′2,k
′3,...,k

n'
}
[0098]
其中,n'是轨迹有效的目标数,k

v
表示通过检验的目标id为v的目标的轨迹数据集合;
[0099]
4.2)将m'中的数据集合k

v
不同目标的横坐标序列和纵坐标序列逐一输入arma模型中进行预测,arma模型公式为:
[0100]
x
t
=β1u
t
‑1 β2u
t
‑2
···
β
q
u
t

q
u
t
α1x
t
‑1 α2x
t
‑2
···
α
p
x
t

p
[0101]
其中,x
t
是预测的坐标数值,x
t
‑1是前一个坐标数值,u
t
表示当前状态下的白噪声,u
t
‑1表示前一状态下的白噪声,β是噪声权重,α是回归系数,p是自回归阶数,q是移动平均阶数;
[0102]
4.3)整理得到未来轨迹点集合,通过信息包远程方法调用mprpc将数据传给对应的底层ros服务端节点。
[0103]
5)通过ros服务端节点,创建局部代价地图。
[0104]
5.1)ros系统是一个常用的机器人软件平台,在这一系统中,程序以节点形式运行,数据通信以ros话题订阅和发布的方式进行;在ros服务端节点中,首先对步骤4)中预测获得的未来轨迹点进行坐标系转换,分为两步,一是从像素坐标系转换到机器人坐标系,二是结合机器人当前位姿,从机器人坐标系转换到世界坐标系;
[0105]
5.2)根据轨迹点的坐标,判断轨迹点是否处于预设地图的范围内,若判断通过,则世界坐标系下的轨迹点添加到构建的局部代价地图中;
[0106]
5.3)以一个采样周期为数据更新频次,将创建好的局部代价地图发布到ros话题\local_costmap上。
[0107]
6)通过move_base导航节点,提前影响导航规划。
[0108]
在move_base导航节点中订阅ros话题\local_costmap,得到步骤5)中添加的局部代价地图,根据预设的障碍物半径和膨胀系数,将轨迹点数据以障碍物的形式更新到障碍地图层和膨胀层;move_base导航节点中的本地规划器local planner能够根据周期中的预判障碍物信息进行规避路线规划,故此,移动机器人能够对未来的行人状态进行预判,提前做好避让的导航线规划,达到预见性导航的目标。
[0109]
综上所述,本发明为动态环境下移动机器人导航路径频繁规划问题提供了新的方法,通过相机捕获的实时视频流数据,利用基于深度学习的在线多目标跟踪模块产出行人的历史轨迹,结合时序预测模型进行行人轨迹预测,以周期更新局部代价地图的方式实现
移动机器人预见性导航目标。该方法有效解决了移动机器人导航线频繁规划问题,让机器人能够提前预判并规避行人,保证导航路径的相对稳定,相比于基于多智能体的强化学习等方法,对于具体环境也有着较低的要求。在动态环境下,该方法表现出不错的鲁棒性和适应性,具有较好的研究意义和实际应用价值,值得推广。
[0110]
上述实施例中,所包括的各个模块只是按照本发明的功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可,并不用于限制本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献