System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于特征点法视觉SLAM的场景理解导航方法及系统技术方案_技高网

基于特征点法视觉SLAM的场景理解导航方法及系统技术方案

技术编号:41077127 阅读:4 留言:0更新日期:2024-04-24 11:35
本发明专利技术公开了一种基于特征点法视觉SLAM的场景理解导航方法及系统,包括:获取相机的实时位姿信息并通过ROS发布;将获取的RGB图和深度图合成3D点云;根据语义和深度信息,获取机器人与物体的相对位置关系;根据位姿信息将3D点云中每一帧点云拼接成全局点云地图,并发布到ROS中;获取地图点信息,并转换为点云,得到点云地图,将点云地图数据发布到ROS中,将点云地图转换为三维八叉树地图和二维栅格地图;将ORB‑SLAM3模块和实例分割网络的结果通过ROS系统以话题的形式发布订阅进行通讯传输,使用ROS导航包实施导航操作。将ORB‑SLAM3与实时实例分割方法结合建立了稠密的语义地图,能够进行场景理解。

【技术实现步骤摘要】

本专利技术属于机器视觉与机器人,本专利技术涉及一种基于特征点法视觉slam的场景理解导航方法及系统。


技术介绍

1、同时定位与地图构建技术(simultaneous localization and mapping,slam)是机器人领域的热门问题,也是实现机器人在复杂场景自主运动的关键技术,在移动机器人、自动驾驶、无人机和增强现实(augmented reality,ar)与虚拟现实(virtual reality,vr)等领域有广泛的应用。

2、然而,传统的基于特征点法的视觉slam(如orb-slam3)只能建立稀疏的点云地图用来定位,无法像激光slam那样建立二维占据栅格地图和三维八叉树地图,因此无法利用建立好的地图进行导航和避障等操作。另一方面,在传统视觉slam中,视觉slam所需要的视觉传感器可以获取大量的环境信息,如颜色、纹理和形状等,一些特殊的视觉传感器(例如深度相机)还可以获取相机与环境中物体的相对距离等,而稀疏点云地图浪费了这些丰富且有用的信息。

3、近年来深度学习技术取得了巨大进展,在计算机视觉领域取得了很多突破,可以结合深度学习方法来获取包括物体等场景元素的识别和标注的语义信息,并将其融合到slam系统中,使得机器人能够以人类的视角更好地理解环境结构、语义含义以及机器人与周围物体的度量信息。另外,机器人操作系统(robot operating system, ros)提供了丰富的功能和接口。目前虽然有将深度学习方法融合到slam系统中,但是两者之间的通讯并不高效,实时性较差。p>

4、如公告号为cn115393538 a的专利技术公开了一种基于深度学习的室内动态场景的视觉slam方法及系统,在orb-slam2框架的基础上,利用gcnv2特征提取算法代替orb-slam2的相应模块,添加动态点去除模块和点云建图线程,有效减少动态特征点对视觉里程计的干扰。该gcnv2特征提取算法对图像信息进行特征提取,无法建立语义地图,不能够帮助机器人以人类的角度去理解所处的环境。


技术实现思路

1、本专利技术的目的在于提供一种基于特征点法视觉slam的场景理解导航方法及系统,将orb-slam3建立的稀疏点云拓展为可进行导航的地图和可进行场景理解的语义度量地图,模块之间的结果通过ros系统以话题的形式发布订阅进行通讯传输,这种架构使得系统运行更加高效、实时,并且方便扩展其他功能模块。

2、实现本专利技术目的的技术解决方案为:

3、一种基于特征点法视觉slam的场景理解导航方法,包括以下步骤:

4、s01:从orb-slam3获取相机的实时位姿信息并通过ros发布;

5、s02:将深度相机获取的rgb图和深度图合成3d点云;

6、s03:通过实例分割网络获取的语义和深度信息,获取机器人与物体的相对位置关系;

7、s04:根据实时位姿信息将3d点云中每一帧点云拼接成全局点云地图,将全局点云地图发布到ros中;

8、s05:获取orb-slam3的地图点信息,并转换为点云,得到点云地图,将点云地图数据发布到ros中,将点云地图转换为三维八叉树地图和二维栅格地图;

9、s06:将orb-slam3模块和实例分割网络的结果通过ros系统以话题的形式发布订阅进行通讯传输,使用ros导航包实施导航操作。

10、优选的技术方案中,所述步骤s01中从orb-slam3获取相机的实时位姿信息并通过ros发布的方法包括:

11、s11:从orb-slam3的trackrgbd接口获取sophus::se3f格式的相机位姿;

12、s12:将sophus::se3f格式的位姿转换为cv::mat格式tcw,,为旋转矩阵,,t为平移向量,;为相机位姿的旋转矩阵函数,为相机位姿的平移矩阵函数;

13、s13:将相机逆位姿tcw转换为正位姿twc,并从中提取旋转矩阵rwc和平移向量twc;

14、s14:将旋转矩阵rwc构建为一个四元数q;

15、s15:将相机的平移向量twc和旋转四元数q分别复制给一个ros消息类型的变量,用于发布相机位姿信息。

16、优选的技术方案中,所述步骤s02中合成3d点云的方法包括:

17、s21:读取深度图像的像素点,获取深度值d;

18、s22:根据相机内参和深度值d,计算当前像素点的三维坐标;

19、计算方法为:

20、

21、其中:为像素坐标系下的像素点坐标,为像素点p的三维坐标值,,,,为相机内参,为缩放因子;

22、s23:获取彩色图像对应像素点的rgb颜色值,将rgb颜色值存储在点p的b、g、r成员变量中;

23、s24:对每一帧图像进行上述处理生成3d点云,对生成的点云进行旋转和缝合操作,将其转换到指定的坐标系中;

24、s25:对点云进行体素滤波。

25、优选的技术方案中,所述步骤s03中获取机器人与物体的相对位置关系的方法包括:

26、s31:将yolov8-seg实例分割网络使用c++版本opencv-dnn模块进行部署;

27、s32:将部署后的yolov8-seg写成ros节点,并发布检测和分割结果;

28、s33:将rgb图送入到yolov8-seg实例分割网络获取每个类别的目标检测结果;

29、s34:从结果中读取每个类别的矩形框在像素坐标系下的坐标,并求出矩形框中心点坐标;

30、s35:根据像素坐标系下的每个类别的中心点坐标对点云坐标系进行索引,获取图像像素坐标系下的中心点坐标对应的点云坐标;

31、s36:通过ros下tf坐标变换计算相机位姿与点云中每一类物体中心点位置的坐标变换关系;

32、s37:将坐标变换关系通过ros发布,然后在rviz中订阅。

33、优选的技术方案中,所述步骤s04中拼接成全局点云地图的方法包括:

34、s41:将获取的相机的实时位姿转换为相机到世界坐标系的变换矩阵;

35、s42:根据变换矩阵计算相邻两帧点云之间的相对变换;

36、s43:将当前帧中的点云与相应的位姿进行配准,并将配准后的点云添加到全局点云地图中。

37、优选的技术方案中,所述步骤s05中得到点云地图的方法包括:

38、s51:读取orb-slam3中的地图点信息;

39、s52:创建sensor_msgs::pointcloud2类型的点云数据,并对其进行初始化;

40、s53:遍历地图点,将其转换为eigen::vector3d类型,并将转换后的坐标储存在数组中,使用memcpy函数将数组中的数据复制到sensor_msgs::pointcloud2类型的点云数据的具体位置,将点云数据发布到ro本文档来自技高网...

【技术保护点】

1.一种基于特征点法视觉SLAM的场景理解导航方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于特征点法视觉SLAM的场景理解导航方法,其特征在于,所述步骤S01中从ORB-SLAM3获取相机的实时位姿信息并通过ROS发布的方法包括:

3.根据权利要求1所述的基于特征点法视觉SLAM的场景理解导航方法,其特征在于,所述步骤S02中合成3D点云的方法包括:

4.根据权利要求1所述的基于特征点法视觉SLAM的场景理解导航方法,其特征在于,所述步骤S03中获取机器人与物体的相对位置关系的方法包括:

5.根据权利要求1所述的基于特征点法视觉SLAM的场景理解导航方法,其特征在于,所述步骤S04中拼接成全局点云地图的方法包括:

6.根据权利要求1所述的基于特征点法视觉SLAM的场景理解导航方法,其特征在于,所述步骤S05中得到点云地图的方法包括:

7.根据权利要求1所述的基于特征点法视觉SLAM的场景理解导航方法,其特征在于,所述步骤S05中将点云地图转换为三维八叉树地图和二维栅格地图的方法包括:

<p>8.根据权利要求1所述的基于特征点法视觉SLAM的场景理解导航方法,其特征在于,所述步骤S06中使用ROS导航包实施导航操作的方法包括:

9.一种基于特征点法视觉SLAM的场景理解导航系统,其特征在于,包括:

10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现权利要求1-8任一项所述的基于特征点法视觉SLAM的场景理解导航方法。

...

【技术特征摘要】

1.一种基于特征点法视觉slam的场景理解导航方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于特征点法视觉slam的场景理解导航方法,其特征在于,所述步骤s01中从orb-slam3获取相机的实时位姿信息并通过ros发布的方法包括:

3.根据权利要求1所述的基于特征点法视觉slam的场景理解导航方法,其特征在于,所述步骤s02中合成3d点云的方法包括:

4.根据权利要求1所述的基于特征点法视觉slam的场景理解导航方法,其特征在于,所述步骤s03中获取机器人与物体的相对位置关系的方法包括:

5.根据权利要求1所述的基于特征点法视觉slam的场景理解导航方法,其特征在于,所述步骤s04中拼接成全局点云地图的方法包括:

<...

【专利技术属性】
技术研发人员:鲁明丽周理想徐本连从金亮施健周旭顾苏杭朱培逸
申请(专利权)人:常熟理工学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1