1.本发明属于基于深度学习的移动机器人导航领域,具体涉及一种室内移动机器人的动态避障装置。
背景技术:2.移动机器人在室内环境中的自主导航一直是自动化和机器人学领域的重要研究主题。在许多应用中,例如自主清洁、物流运输、个人辅助等,移动机器人需要在复杂的室内环境中,面对各种动态障碍物例如人员、其他机器人或移动物体进行有效的避障。这需要机器人有能力预测这些障碍物的未来运动轨迹,并据此作出决策,以实现安全、高效的导航。
3.动态障碍物的运动轨迹预测是移动机器人导航问题中的一项重要挑战。流程上是要先预测动态障碍物的运动轨迹,并把运动轨迹添加到地图中,最后使用局部路径规划算法进行避障。
4.针对动态障碍物的运动轨迹预测问题,已经有许多的研究工作给出了各种不同的j9九游会真人的解决方案。
5.基于运动模型的方法:如卡尔曼滤波和粒子滤波等。这些方法主要是基于统计学习和概率模型来预测动态障碍物的运动状态和未来的运动轨迹。例如,卡尔曼滤波器被广泛用于目标跟踪和状态估计的任务中。粒子滤波也是一种非常有效的方法,它通过生成多个可能的未来状态,然后根据实际观测来更新和修正这些状态。
6.基于深度学习的方法:如使用递归神经网络rnn、长短期记忆lstm、多模态方法等进行预测。这些方法通常是基于数据驱动的方式,直接从大量的运动轨迹数据中学习和预测未来的运动轨迹。例如,rnn和lstm在处理时序数据和预测未来状态方面有很好的表现。多模态方法则是为了处理实际环境中的不确定性和多样性,它们试图预测多个可能的未来轨迹,并给出对应的概率分布。
7.基于社会力模型的方法:这种方法主要是考虑到动态障碍物(如行人或者其他机器人)的社会行为和相互作用,通过模拟这些社会力来预测未来的运动轨迹。
8.基于强化学习的方法:这是一种全新的方法,通过让机器人在模拟环境中与环境进行交互,自主学习如何避免碰撞和安全导航。
9.为了将预测的运动轨迹集成到地图中,并进行避障决策,研究者们通常会使用各种局部路径规划算法。例如,用于动态环境的人工势场方法以及基于深度学习的避障策略分类方法。
10.尽管已有的动态障碍物运动轨迹预测和避障决策方法在一些方面取得了显著的进步,但它们仍存在一些关键的不足:基于运动模型的方法如卡尔曼滤波器和粒子滤波器,在非线性或突变运动中可能失效;基于深度学习的方法虽能从大量数据中预测轨迹,但在实际环境中,若遇到与训练数据差距大的情况,其泛化能力受挑战;多模态方法的预测不确定性可能影响移动机器人的精准控制;社会力模型在复杂环境中的建模也具挑战性;基于强化学习的方法需要大量训练时间和资源,且训练过程可能不稳定;避障决策方法如人工
势场方法可能陷入局部最优。
11.综上,现有的对动态障碍物的避障方法还存在预测准确度较低和泛化能力不足的问题。
技术实现要素:12.本发明是为了解决上述问题而进行的,目的在于提供一种室内移动机器人的动态避障装置。
13.本发明提供了一种室内移动机器人的动态避障装置,设置在移动机器人上,用于基于动态障碍物控制移动机器人进行动态避障,具有这样的特征,包括:数据采集模块,用于分别采集动态障碍物和移动机器人的运动轨迹;运动轨迹预测模块,包含时间序列相似性搜索模型,基于预先存储的哈希表字典和多个历史运动轨迹,采用时间序列相似性搜索模型对动态障碍物的运动轨迹进行预测得到动态障碍物的预测运动轨迹;避障策略生成模块,包含避障策略分类模型,用于通过避障策略分类模型对预测运动轨迹和移动机器人的运动轨迹进行策略生成得到避障策略;路径规划模块,存储有预设的全局地图,用于根据预测运动轨迹和全局地图更新移动机器人的局部地图,再根据teb规划和局部地图得到规划路径;避障执行模块,用于根据规划路径控制移动机器人进行动态避障,其中,运动轨迹预测模块至少包括数据存储单元和第一预处理单元,数据存储单元用于存储哈希表字典和历史运动轨迹的数据,第一预处理单元用于对动态障碍物的运动轨迹进行预处理,得到预处理数据,时间序列相似性搜索模型对预处理数据进行处理得到预测运动轨迹具体包括以下步骤:步骤s1,对预处理数据进行特征提取,得到特征向量;步骤s2,对特征向量进行二进制散列编码,得到特征二进制编码;步骤s3,在哈希表字典中检索得到与特征二进制编码最相近的二进制编码对应的键-值对;步骤s4,根据键-值对的值对所有历史运动轨迹进行id检索,得到对应的历史运动轨迹;步骤s5,在历史运动轨迹中,提取键-值对对应的时间窗口的下一个时间窗口作为预测运动轨迹。
14.在本发明提供的室内移动机器人的动态避障装置中,还可以具有这样的特征:其中,在时间序列相似性搜索模型的训练过程中,根据特征二进制编码对应的预处理数据和对应的重构运动轨迹计算散列损失函数,并根据计算结果对时间序列相似性搜索模型的参数进行优化,重构运动轨迹通过对特征二进制编码进行解码得到。
15.在本发明提供的室内移动机器人的动态避障装置中,还可以具有这样的特征:其中,避障策略生成模块至少包括第二预处理单元和避障策略生成单元,第二预处理单元用于分别对预测运动轨迹和移动机器人的运动轨迹进行预处理,分别得到第一预处理数据和第二预处理数据作为避障策略分类模型的输入,避障策略生成单元用于从避障策略分类模型输出的各个避障策略类别的最终概率中选取最大的最终概率对应的避障策略类别作为避障策略。
16.在本发明提供的室内移动机器人的动态避障装置中,还可以具有这样的特征:其中,第二预处理单元的预处理包括:min-max归一化处理操作和对缺失数据使用时间序列的差值方法进行填充。
17.在本发明提供的室内移动机器人的动态避障装置中,还可以具有这样的特征:其中,避障策略分类模型包括lstm层、transformer层、全连接层和softmax层,lstm层用于对
第一预处理数据和第二预处理数据提取特征,得到避障特征,transformer层用于对避障特征进行处理,得到每个时间点的避障策略特征向量,全连接层用于根据避障策略特征向量得到每个时间点的各个避障策略类别的概率;softmax层用于根据所有时间点的概率,得到各个避障策略类别的最终概率。
18.在本发明提供的室内移动机器人的动态避障装置中,还可以具有这样的特征:其中,避障策略类别包括避障、停止和后退。
19.在本发明提供的室内移动机器人的动态避障装置中,还可以具有这样的特征:其中,在路径规划模块中得到规划路径的过程为:避障策略为避障时,持续更新局部地图,并在局部地图上根据teb规划得到规划路径,避障策略为停止时,规划路径为移动机器人停止在原地,避障策略为后退时,对teb规划的后退权重赋予一个较大的值,再根据局部地图进行teb规划,得到后退路径作为规划路径。
20.在本发明提供的室内移动机器人的动态避障装置中,还可以具有这样的特征:其中,路径规划模块在每个控制周期内生成一次规划路径,控制周期为200毫秒。
21.发明的作用与效果
22.根据本发明所涉及的室内移动机器人的动态避障装置,因为通过运动轨迹预测模块存储历史运动轨迹并构建对应的哈希表字典,再通过时间序列相似性搜索模型从哈希表字典中计算得到与动态障碍物的运动轨迹最相近的历史运动轨迹的时间窗口,再将该历史运动轨迹中下一时间窗口对应的运动轨迹作为预测运动轨迹,实现了对动态障碍物后续运动轨迹的快速且准确的预测。所以,本发明的室内移动机器人的动态避障装置能够使移动机器人在室内环境中实现更加精准且高效的动态避障。
附图说明
23.图1是本发明的实施例中动态避障装置的框架示意图;
24.图2是本发明的实施例中运动轨迹预测模块的框架示意图;
25.图3是本发明的实施例中时间序列相似性搜索模型的数据处理流程示意图;
26.图4是本发明的实施例中构建哈希表字典的流程示意图;
27.图5是本发明的实施例中避障策略生成模块的框架示意图。
具体实施方式
28.为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明室内移动机器人的动态避障装置作具体阐述。
29.本实施例中本发明的动态避障装置设置在移动机器人上,用于基于动态障碍物控制移动机器人进行动态避障。
30.图1是本发明的实施例中动态避障装置的框架示意图。
31.如图1所示,动态避障装置100包括数据采集模块10、运动轨迹预测模块20、避障策略生成模块30、路径规划模块40和避障执行模块50。
32.数据采集模块10用于分别采集动态障碍物和移动机器人的运动轨迹。
33.图2是本发明的实施例中运动轨迹预测模块的框架示意图。
34.如图2所示,运动轨迹预测模块20包括数据存储单元201、时间序列相似性搜索模
型存储单元202、第一预处理单元203、预测生成单元204以及控制上述各单元的运动轨迹预测控制单元205,运动轨迹预测模块20基于预先存储的哈希表字典和多个历史运动轨迹,采用时间序列相似性搜索模型对动态障碍物的运动轨迹进行预测得到动态障碍物的预测运动轨迹。
35.数据存储单元201用于存储哈希表字典和历史运动轨迹的数据。
36.本实施例中历史运动轨迹通过如下方式获得:
37.通过人工分别控制模拟移动机器人视角的模拟小车和作为动态障碍物的多个动态小车在室内场景中移动,采集每个小车在同一全局坐标系下的各自坐标和时间作为该小车的总运动轨迹,如小车b的总运动轨迹为{[x1,y1,time1,idb],[x2,y2,time2,idb],
······
},式中idb为该小车的id,x1和y1为小车b在time1时的坐标位置,x2和y2为小车b在time2时的坐标位置,按照时间窗口长度将动态小车的总运动轨迹分为多个1*n维的矩阵作为历史运动轨迹,如小车b当前时间窗口的历史运动轨迹为[bx1,by1,bt1,...,bxn,byn,btn],式中n为时间窗口的长度,bx1和by1为小车b在该时间窗口下bt1时的位置坐标,bxn和byn为小车b在该时间窗口下btn时的位置坐标,本实施例中时间窗口长度为3秒,即n=3。
[0038]
时间序列相似性搜索模型存储单元202存储有训练好的时间序列相似性搜索模型。
[0039]
第一预处理单元203用于对动态障碍物的运动轨迹进行预处理,得到预处理数据,本实施例中预处理的操作包括归一化,对于缺失数据均用0进行代替。
[0040]
预测生成单元204用于将预处理数据输入时间序列相似性搜索模型,并结合哈希表字典和历史运动轨迹得到动态障碍物的预测运动轨迹。
[0041]
图3是本发明的实施例中时间序列相似性搜索模型的数据处理流程示意图。
[0042]
如图3所示,时间序列相似性搜索模型对预处理数据进行处理得到预测运动轨迹具体包括以下步骤:
[0043]
步骤s1,对预处理数据进行特征提取,得到特征向量。
[0044]
步骤s2,对特征向量进行二进制散列编码,得到特征二进制编码。
[0045]
步骤s3,在哈希表字典中检索得到与特征二进制编码最相近的二进制编码对应的键-值对,本实施例中在哈希字典中通过汉明距离查找到与特征二进制编码相同或最相近的二进制编码。
[0046]
图4是本发明的实施例中构建哈希表字典的流程示意图。
[0047]
如图4所示,哈希表字典的构建过程包括如下步骤t1~t4:
[0048]
步骤t1,构建并初始化python字典。
[0049]
步骤t2,将各个预处理后的历史运动轨迹输入时间序列相似性搜索模型进行二进制散列编码,得到对应的二进制编码。
[0050]
步骤t3,将二进制编码作为字典的键,并将该二进制编码对应的历史运动轨迹的id作为字典的值,再由键和值构成一对键-值对。
[0051]
步骤t4,将所有历史运动轨迹对应的键-值对添加至python字典,则得到哈希表字典。
[0052]
步骤s4,根据键-值对的值对所有历史运动轨迹进行id检索,得到对应的历史运动
轨迹。
[0053]
步骤s5,在历史运动轨迹中,提取键-值对对应的时间窗口的下一个时间窗口作为预测运动轨迹。
[0054]
本实施例中通过现有的历史运动轨迹对时间序列相似性搜索模型进行训练,该时间序列相似性搜索模型的超参数设置包括:transformer的层数为4,学习率为2e-4,批次大小为128,使用self-attention,k=v=q=当前时间窗口下的历史运动轨迹。
[0055]
本实施例中通过散列损失函数对时间序列相似性搜索模型的二进制散列编码性能进行训练,具体过程如下:
[0056]
将历史运动轨迹经由第一预处理单元203处理后的预处理数据输入时间序列相似性搜索模型,得到对应的特征二进制编码,对该特征二进制编码进行解码得到重构运动轨迹,根据该预处理数据和对应的重构运动轨迹根据计算散列损失函数,并根据计算结果对时间序列相似性搜索模型的参数进行优化,从而提升时间序列相似性搜索模型的二进制散列编码性能。
[0057]
运动轨迹预测控制单元205存储有用于对运动轨迹预测模块20的各个构成单元进行控制的计算机程序。
[0058]
图5是本发明的实施例中避障策略生成模块的框架示意图。
[0059]
如图5所示,避障策略生成模块30包括第二预处理单元301、避障策略分类模型存储单元302、避障概率生成单元303、避障策略生成单元304和避障策略生成控制单元305,用于通过避障策略分类模型对预测运动轨迹和移动机器人的运动轨迹进行策略生成得到避障策略。
[0060]
第二预处理单元301用于分别对预测运动轨迹和移动机器人的运动轨迹进行预处理,分别得到第一预处理数据和第二预处理数据作为避障策略分类模型的输入。
[0061]
其中,第二预处理单元的预处理包括:min-max归一化处理操作和对缺失数据使用时间序列的差值方法进行填充。
[0062]
避障策略分类模型存储单元302存储有训练好的避障策略分类模型。
[0063]
避障概率生成单元303用于将第一预处理数据和第二预处理数据一同输入避障策略分类模型,得到各个避障策略类别的最终概率。
[0064]
其中,避障策略分类模型包括lstm层、transformer层、全连接层和softmax层。
[0065]
lstm层用于对第一预处理数据和第二预处理数据提取特征,得到避障特征。
[0066]
transformer层用于对避障特征进行处理,得到每个时间点的避障策略特征向量。
[0067]
全连接层用于根据避障策略特征向量得到每个时间点的各个避障策略类别的概率,本实施例中全连接层的节点数等于避障策略类别的总数,并使用self-attention,其中k=v=q=矩阵[第一预处理数据;第二预处理数据],该矩阵维度为2*m,m代表当前时间窗口的长度。
[0068]
softmax层用于根据所有时间点的概率,得到各个避障策略类别的最终概率。
[0069]
本实施例中将现有的动态小车的历史运动轨迹和对应的人工避障标签以及模拟小车的运动轨迹作为训练数据集,对避障策略分类模型进行训练,通过交叉熵损失函数进行模型优化,得到训练好的避障策略分类模型,设置的参数包括:lstm的层数为4层,隐藏单元数为1024,序列长度为3秒,transformer的层数为4,学习率为2e-4,批次大小为128。
[0070]
避障策略生成单元304用于从所有避障策略类别的最终概率中选取最大的最终概率对应的避障策略类别作为避障策略。
[0071]
其中,避障策略类别包括避障、停止和后退。
[0072]
避障策略生成控制单元305存储有用于对避障策略生成模块30的各个构成单元进行控制的计算机程序。
[0073]
路径规划模块40存储有预设的全局地图,用于根据预测运动轨迹和全局地图更新移动机器人的局部地图,再根据teb规划和局部地图得到规划路径,本实施例中将预测运动轨迹从全局地图映射到移动机器人局部地图的障碍物层,得到更新后的局部地图。
[0074]
其中,在路径规划模块40中得到规划路径的过程为:
[0075]
避障策略为避障时,持续更新局部地图,并在局部地图上根据teb规划得到规划路径;
[0076]
避障策略为停止时,规划路径为移动机器人停止在原地;
[0077]
避障策略为后退时,对teb规划的后退权重赋予一个较大的值,再根据局部地图进行teb规划,得到后退路径作为规划路径。
[0078]
路径规划模块40在每个控制周期内生成一次规划路径,控制周期为200毫秒。
[0079]
避障执行模块50用于根据规划路径控制移动机器人进行动态避障。
[0080]
实施例的作用与效果
[0081]
根据本实施例所涉及的室内移动机器人的动态避障装置,通过运动轨迹预测模块存储历史运动轨迹并构建对应的哈希表字典,再通过时间序列相似性搜索模型从哈希表字典中计算得到与动态障碍物的运动轨迹最相近的历史运动轨迹的时间窗口,再将该历史运动轨迹中下一时间窗口对应的运动轨迹作为预测运动轨迹,实现了对动态障碍物后续运动轨迹的快速且准确的预测。
[0082]
根据预处理后的历史运动轨迹和对应的重构运动轨迹,计算散列损失函数从而对时间序列相似性搜索模型的二进制散列编码性能进行优化,扩大不同运动轨迹对应的二进制编码的区别,使二进制编码更能体现运动轨迹之间的区别。
[0083]
避障策略为后退时赋予teb规划的后退权重一个较大的值,使生成的规划路径更倾向于后退路径,从而实现对动态障碍物执行后退的避障策略。
[0084]
总之,本方法能够使移动机器人在室内环境中实现更加精准且高效的动态避障。
[0085]
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。