一种基于动态实时视觉SLAM方法的移动机器人

文档序号:31536480发布日期:2022-09-16 22:40阅读:来源:国知局

技术特征:
1.一种基于动态实时视觉slam方法的移动机器人,其包括:图像采集模块、动态视觉slam模块和控制器,其特征在于:所述动态视觉slam模块包括:视觉slam模块和图像分割模块;所述视觉slam模块、所述图像分割模块分别与图像采集模块通信连接;所述控制器通过串口通信连接所述动态视觉slam模块;所述图像采集模块获取环境的rgb图像信息和深度信息后,将rgb图像信息和深度信息以rgb图像序列和深度图像序列的方式进行传输,记作待处理数据;所述图像采集模块将所述待处理数据分别发送到所述视觉slam模块和所述图像分割模块中;所述待处理数据送入所述视觉slam模块中进行识别操作;所述视觉slam模块中对待处理数据的处理操作流程与所述图像分割模块中对所述待处理数据的操作流程并行进行;所述视觉slam模块包括:顺序连接的lucas-kanade稀疏光流模块、二次剔除模块、特征匹配位姿估计模块;所述图像分割模块中对所述待处理数据中的rgb图像帧通过语义分割网络进行目标检测,得到动态对象的语义分割图像后,再进行阈值分割处理,最终得到得到只有动态对象的动态图像帧,并将所述动态图像帧送入到所述视觉slam模块中的所述二次剔除操作中;所述lucas-kanade稀疏光流模块模接收所述图像采集模块输入的当前rgb图像帧提取orb特征点后,基于lucas-kanade稀疏光流法进行异常特征点的剔除后,将所述待处理数据的orb特征点送入所述二次剔除模块中,进行二次剔除操作;所述二次剔除模块中设置动态特征点容器,在进行所述二次剔除操作前,先确认是否接收到了所述图像分割模块发出的新的动态图像帧;如果接收到了,则将新接收的动态图像帧记作:newimg,使用newimg对所述动态特征点容器进行更新,再使用所述动态特征点容器对所述待处理的orb特征点进行二次剔除操作;如果没有接收到动态图像帧更新,则直接利用所述动态特征点容器中已有的特征点,对所述待处理数据的orb特征点进行所述二次剔除操作;所述二次剔除模块将进行所述二次剔除操作之后的所述待处理数据的orb特征点送入到所述特征匹配位姿估计模块中;在所述特征匹配位姿估计模块中,对所述待处理数据的orb特征点进行特征匹配,进行机器人的位姿估计得到位姿估计,并构建出环境的三维点云地图;将所述位姿估计结果、所述三维点云地图发送给所述控制器,所述控制器基于所述位姿估计结果、所述三维点云地图,进行二维占据栅格地图的构建,根据期望目标位置,完成机器人的轨迹规划,并控制机器人运动。2.根据权利要求1所述一种基于动态实时视觉slam方法的移动机器人,其特征在于:所述lucas-kanade稀疏光流模块中进行的异常特征点的剔除流程,具体包括以下步骤:a1:所述lucas-kanade稀疏光流模块接收所述图像采集模块输入的当前rgb图像帧,记作previmg;a2:所述lucas-kanade稀疏光流模块对待处理的图像帧previmg进行orb特征点的检测,提取得到orb特征点,完成稀疏光流点的初始化,并将previmg的图像帧与特征点的坐标数据进行保存;a3:接收previmg的下一组所述rgb图像帧,记作:nextimg;
a4:基于lucas-kanade稀疏光流法,对previmg和nextimg计算光流,进行orb特征点跟踪,得到每个orb特征点的跟踪状态status;a5:计算每个所述orb特征点的误差值errors;将每一个误差值errors与预设的误差值阈值errors_value进行比较;如果所述orb特征点跟踪成功,且误差值errors大于误差值阈值errors_value,则所述orb特征点为设置异常特征点;删除所述异常特征点;直至nextimg的orb特征点都参与过计算,执行步骤a6;a6:比较nextimg剩余的所述orb特征点的数量和预设的特征点数量阈值,所述特征点数量阈值表示在进行orb特征点跟踪时必须满足的特征点数量;当nextimg剩余的所述orb特征点的数量小于所述特征点数量阈值时,对nextimg进行orb特征点检测,将得到的orb特征点放入nextimg的特征点集合中;a7:将nextimg对应的orb特征点送入所述二次剔除模块中;a8:将nextimg定义为previmg,循环执行步骤a3~a7。3.根据权利要求1所述一种基于动态实时视觉slam方法的移动机器人,其特征在于:所述二次剔除模块中进行的二次剔除操作,具包括以下步骤:b1:接收所述lucas-kanade稀疏光流模块送入的所述待处理数据的orb特征点;b2:确认是否接收到了所述图像分割模块发出的新的动态图像帧;如果接收到了,则将新接收的动态图像帧newimg,对动态图像帧newimg进行orb特征提取,将提取到的特征点记作:neworb,执行步骤b3;否则,直接执行步骤b6;b3:读取所述二次剔除模块中现存的动态特征点,记作:curorb;计算neworb和curorb之间的汉明距离d:其中,d(a,b)表示a和b两特征点之间的汉明距离;a
i
和b
i
分别为a和b两特征点第i对点对的二进制描述符;b4:将neworb中每个特征点对应的汉明距离d与预设的距离阈值d_value进行比较;当d<d_value时,判定对应的特征点与现存动态特征点重复,从neworb中删除;b5:将剩余的neworb放入curorb中;b6:利用动态特征点容器对所述待处理数据的orb特征点进行二次剔除;所述二次剔除的过程中,计算动态特征点容器中特征点与所述待处理数据的orb特征点的汉明距离,记作d_c,将d_c与预设的距离阈值d_cvalue进行比较;其中,距离阈值d_cvalue,设置为二次剔除操作中剔除掉20%的所述待处理数据的orb特征点的值;b7:将二次剔除后的待处理数据的orb特征点,送入所述特征匹配位姿估计模块中。4.根据权利要求1所述一种基于动态实时视觉slam方法的移动机器人,其特征在于:所述图像分割模块中对所述待处理数据中的rgb图像帧进行分割的过程,包括以下步骤:c1:基于mask r-cnn模型构建语义分割网络模型;c2:接收所述图像采集模块发送的对所述待处理数据中的rgb图像帧,记作:待处理图
像帧;c3:将所述待处理图像帧送入所述语义分割网络模型中进行目标检测,得到动态对象的语义分割图像;c4:获取所述语义分割图像的阈值分割图;c5:将所述阈值分割图与对应的所述待处理图像帧进行图像的与运算,对非动态区域进行掩膜遮盖,即得到仅存动态对象的所述动态图像帧。

技术总结
本发明提供的一种基于动态实时视觉SLAM方法的移动机器人,其通过设置图像分割模块和视觉SLAM模块,将图像采集模块获取的环境图像数据分别输入到图像分割模块和视觉SLAM模块中,将图像分割处理和位姿估计操作并行处理,通过在Lucas-Kanade稀疏光流模块、二次剔除模块中分别进行异常点的剔除,图像分割模块输出的动态图像帧在二次剔除模块中参与第二次异常点剔除的操作,不但提高识别准确率,而在确保位姿估计精度的基础上,极大地提高了处理效率,确保本发明技术方案能够在动态环境下进行实时位姿估计,使移动机器人能够更灵活的适用于不同的应用场景。于不同的应用场景。于不同的应用场景。


技术研发人员:曹毅 张小勇 许天旗 高清源 夏宇
受保护的技术使用者:江南大学
技术研发日:2022.06.22
技术公布日:2022/9/15
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1