机器人的视觉识别定位方法、装置、设备及存储介质
文献发布时间:2024-04-18 20:01:23
技术领域
本申请涉及定位技术领域,尤其涉及一种机器人的视觉识别定位方法、装置、设备及存储介质。
背景技术
服务机器人在工作的过程中,机器人对自身在所处环境的定位和感知是保证机器人能按需求完成工作指令的前提。服务机器人可装载单线激光雷达,通过SLAM(Simultaneous Local izat ion and Mapping)算法对环境建图以及融合如IMU(Inert ialMeasurement Uni t,惯性测量单元)和里程计的数据对机器人在建好的图中进行精准定位。获得地图和定位信息后,根据路径规划算法能有效检索出一条到达指定地点的路径,机器人将按照指定的路径进行导航任务。导航的过程中,由于环境的复杂性和不可预测性,如环境变动和环境中的人员流通性等,机器人行进过程中需要对周围环境进行实时的感知并及时地进行有效规避,如避让行人等。
摄像头模组的引用能给机器人提供视觉感知,相对于单线激光雷达,视觉的感知更为立体且感知的信息也更为的丰富。摄像头的信息捕获都秉承着同一个原理:近大远小。同一个物体,距离摄像头更近,摄像头能捕获更多的信息;而远距离的物体在摄像头中成像就只有图片中很小的一部分信息。保证机器人自身位置和识别物体的精确定位是机器人路径规划和回避路径选择的有效方式。利用摄像头提供的图片数据,通过物体检测算法能有效识别出图片中的物体,高分辨率的摄像头可以对远处物体进行检测,但是对于检测出的目标物体无法做到精确地定位并记录在地图中。
发明内容
针对上述技术问题,本申请的目的在于提供一种机器人的视觉识别定位方法、装置、设备及存储介质,旨在解决摄像头能识别到远距离的物体但无法进行精确定位的技术问题。
第一方面,本申请实施例提供一种机器人的视觉识别定位方法,包括:
控制设置在机器人上的高清摄像头对距离所述机器人N米处的物体进行捕捉,得到图像;
获取同一时间戳下SLAM算法返回的机器人的第一位姿;
利用所述图像、所述机器人的第一位姿以及所述高清摄像头的参数确定世界坐标系下所述物体对于所述机器人的当前方向;
根据所述物体对于所述机器人的当前方向确定检测范围;
判断所述检测范围内是否有激光数据返回,若有,则利用所述激光数据对所述物体进行初定位,得到初定位结果;
基于所述初定位结果以及所述物体对于所述机器人的当前方向,利用路径规划算法规划出一条让所述机器人靠近所述物体的路径;
控制所述机器人沿着所述路径靠近所述物体,当检测到所述机器人与所述物体相距M米时,通过深度摄像头采集所述物体的点云信息并获取同一时间戳下SLAM算法返回的机器人的第二位姿;其中,N大于M;
根据所述机器人的第二位姿,将所述物体的点云信息映射到激光地图中。
进一步的,所述高清摄像头的参数包括分辨率和横向视角,所述利用所述图像、所述机器人的第一位姿以及所述高清摄像头的参数确定世界坐标系下所述物体对于所述机器人的当前方向,包括:
通过目标检测算法对所述物体进行识别,得到所述物体在所述图像中的坐标;
根据所述物体在所述图像中的坐标、所述分辨率以及横向视角计算摄像头坐标系下所述物体相对所述高清摄像头朝向角;
利用所述第一位姿将所述物体相对所述高清摄像头朝向角转换到世界坐标系下,将世界坐标系下所述物体相对所述摄像头朝向角作为世界坐标系下所述物体对于所述机器人的当前方向。
进一步的,在根据所述机器人的第二位姿,将所述物体的点云信息映射到激光地图中之前,还包括:
对所述物体的点云信息进行去噪滤波处理。
进一步的,所述高清摄像头与所述深度摄像头设置在一个模组上,所述高清摄像头和所述深度摄像头的水平位置以及角度一致,所述模组和所述机器人上的激光雷达在同一竖轴线上,所述激光雷达安装的位置低于所述模组在所述机器人的位置。
进一步的,所述N的取值范围为8米~10米。
进一步的,所述M的取值范围为2米~3米。
进一步的,所述高清摄像头的图像清晰度为1080P,深度摄像头的图像清晰度为640*480,帧率同为20fps。
第二方面,本发明实施例提供一种机器人的视觉识别定位装置,包括:
第一控制模块,用于控制设置在机器人上的高清摄像头对距离所述机器人N米处的物体进行捕捉,得到图像;
识别模块,用于通过目标检测算法对所述物体进行识别,得到所述物体在所述图像中的坐标,并获取同一时间戳下SLAM算法返回的机器人的第一位姿;
计算模块,用于基于所述机器人的第一位姿以及所述物体在所述图像中的坐标,通过坐标转换计算所述物体对于所述机器人的方向;
确定模块,用于根据所述物体对于所述机器人的方向确定检测范围;
判断模块,用于判断所述检测范围内是否有激光数据返回,若有,则利用所述激光数据对所述物体进行初定位,得到初定位结果;
规划模块,用于基于所述初定位结果以及所述物体对于所述机器人的方向,利用路径规划算法规划出一条让所述机器人靠近所述物体的路径;
第二控制模块,用于控制所述机器人沿着所述路径靠近所述物体,当检测到所述机器人与所述物体相距M米时,通过深度摄像头采集所述物体的点云信息并获取同一时间戳下SLAM算法返回的机器人的第二位姿;
映射模块,用于根据所述机器人的第二位姿,将所述物体的点云信息映射到激光地图中。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述方法的步骤。
本发明实施例对远距离的物体不仅通过依靠激光雷达数据进行初定位,还利用视觉信息对物体定位进行优化,如此,提高了对远距离物体定位的精度,实现了对远距离物体的精确定位。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的机器人的视觉识别定位方法的流程示意图;
图2是本申请提供的平面激光雷达和摄像头模组的结构安装图;
图3是本申请提供的摄像头模组结构示意图;
图4是本申请提供的物体结构类型示意图;
图5是本申请提供的识别物体朝向角示意图;
图6是本申请实施例提供的机器人的视觉识别定位装置的结构示意图;
图7是本申请实施例提供的计算机设备的结构示意框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“上述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件、模块、和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、模块、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一模块和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
实施例一:
请参阅图1,本发明实施例提供一种机器人的视觉识别定位方法,包括步骤S1-步骤S8:
S1、控制设置在机器人上的高清摄像头对距离所述机器人N米处的物体进行捕捉,得到图像。
在本发明实施例中,所述机器人优选为服务机器人,所述机器人包括摄像模组1、平面激光雷达2、万向轮3、机器面板4、机器支柱5、处理器6、控制器7以及驱动轮8,如图2所示,所述激光雷达的有效测距半径为30米。所述摄像模组,如图3所示,包括高清摄像头和深度摄像头。
S2、获取同一时间戳下SLAM算法返回的机器人的第一位姿。
在本发明实施例中,SLAM算法(Simultaneous Localization and Mapping,即时定位与地图构建)是实现机器人定位、建图、路径规划的一种算法。所述同一时间戳是指对距离所述机器人N米处的物体进行捕捉,得到图像的同一时间戳。
S3、利用所述图像、所述机器人的第一位姿以及所述高清摄像头的参数确定世界坐标系下所述物体对于所述机器人的当前方向。
S4、根据所述物体对于所述机器人的方向确定检测范围。
在发明实施例中,具体的,将所述物体对于所述机器人的方向的一定范围作为所述检测范围。范围的大小根据实际的情况设定。
S5、判断所述检测范围内是否有激光数据返回,若有,则利用所述激光数据对所述物体进行初定位,得到初定位结果。
在本发明实施例中,通过检测是否有激光数据,可以判断是否有激光数据返回,若有激光数据返回,则可以利用激光数据对物体进行初定位,但是定位精度不能保证,如一些凹凸不平的物体,如图4所示。
S6、基于所述初定位结果以及所述物体对于所述机器人的方向,利用路径规划算法规划出一条让所述机器人靠近所述物体的路径。
在本发明实施例中,依赖于激光数据和SLAM在世界坐标系下对机器人的定位,以及根据初定位结果以及物体对于机器人的方向,利用路径规划算法可以规划出一条让机器人靠近该物体的路径,如此,可以沿着这条路径靠近物体,对物体进行定位优化。
S7、控制所述机器人沿着所述路径靠近所述物体,当检测到所述机器人与所述物体相距M米时,通过深度摄像头采集所述物体的点云信息并获取同一时间戳下SLAM算法返回的机器人的第二位姿;其中,N大于M;
在本发明实施例中,在机器人底盘沿着规划的路径向物体靠近的过程中,摄像头模组对物体进行实时的跟踪,待检测到所述机器人与所述物体相距M米(安全距离)时,通过深度摄像头采集所述物体的点云信息。
S8、根据所述机器人的第二位姿,将所述物体的点云信息映射到激光地图中。
在本发明实施例中,根据SLAM算法返回的机器人的第二位姿,将检测到的物体的点云信息映射到激光(SLAM)地图中,使物体的位置能得到一个闭环的优化处理,优化后的物体位置标记不再单单依赖于激光雷达数据,而是结合了视觉信息,使得标记的物体位置信息融入了物体实际的立体信息。
本发明实施例对远距离的物体不仅通过依靠激光雷达数据进行初定位,还利用视觉信息对物体定位进行优化,如此,提高了对远距离物体定位的精度,实现了对远距离物体的精确定位。
在一个实施例中,所述高清摄像头的参数包括分辨率和横向视角,所述利用所述图像、所述机器人的第一位姿以及所述高清摄像头的参数确定世界坐标系下所述物体对于所述机器人的当前方向,包括S31-S33:
S31、通过目标检测算法对所述物体进行识别,得到所述物体在所述图像中的坐标.
在本发明实施例中,所述物体检测算法能够识别到捕捉到的物体是什么物体,例如,能够识别到目标物体是人、狗还是猫。所述目标检测算法可以是YOLO V5算法。
S32、根据所述物体在所述图像中的坐标、所述分辨率以及横向视角计算摄像头坐标系下所述物体相对所述高清摄像头朝向角。
在本发明实施例中,如图5所示,已知高清摄像头的分辨率为920X1080=[U,V],设识别得到物体A并得到物体A中心位置在图像中的UV坐标[UA,VA],已知高清摄像头的HFOV(Horizontal Field of View,横向视角)为θ,则物体相对高清摄像头的朝向角为
S33、利用所述第一位姿将所述物体相对所述高清摄像头朝向角转换到世界坐标系下,将世界坐标系下所述物体相对所述摄像头朝向角作为世界坐标系下所述物体对于所述机器人的当前方向。
在本发明实施例中,由于导航是通过世界坐标系来执行的,因此,需要将摄像头坐标系下的坐标转换为世界坐标系下。
在一个实施例中,在根据所述机器人的第二位姿,将所述物体的点云信息映射到激光地图中之前,还包括:
对所述物体的点云信息进行去噪滤波处理。
在本发明实施例中,通过对物体的点云信息进行去噪滤波处理,能够降低数据量,从而降低数据处理压力。
在一个实施例中,所述高清摄像头与所述深度摄像头设置在一个模组上,所述高清摄像头和所述深度摄像头的水平位置以及角度一致,所述模组和所述机器人上的激光雷达在同一竖轴线上,所述激光雷达安装的位置低于所述模组在所述机器人的位置。
在一个实施例中,所述N的取值范围为8米~10米。
在一个实施例中,所述M的取值范围为2米~3米。
在一个实施例中,所述高清摄像头的图像清晰度为1080P,深度摄像头的图像清晰度为640*480,帧率同为20fps。
实施例二:
请参阅图6,本发明实施例提供一种机器人的视觉识别定位装置,包括:
第一控制模块101,用于控制设置在机器人上的高清摄像头对距离所述机器人N米处的物体进行捕捉,得到图像;
识别模块102,用于通过目标检测算法对所述物体进行识别,得到所述物体在所述图像中的坐标,并获取同一时间戳下SLAM算法返回的机器人的第一位姿;
计算模块103,用于基于所述机器人的第一位姿以及所述所述物体在所述图像中的坐标,通过坐标转换计算所述物体对于所述机器人的方向;
确定模块104,用于根据所述物体对于所述机器人的方向确定检测范围;
判断模块105,用于判断所述检测范围内是否有激光数据返回,若有,则利用所述激光数据对所述物体进行初定位,得到初定位结果;
规划模块106,用于基于所述初定位结果以及所述物体对于所述机器人的方向,利用路径规划算法规划出一条让所述机器人靠近所述物体的路径;
第二控制模块107,用于控制所述机器人沿着所述路径靠近所述物体,当检测到所述机器人与所述物体相距M米时,通过深度摄像头采集所述物体的点云信息并获取同一时间戳下SLAM算法返回的机器人的第二位姿;
映射模块108,用于根据所述机器人的第二位姿,将所述物体的点云信息映射到激光地图中。
实施例三:
参照图7,本申请实施例还提供一种计算机设备,该计算机设备的内部结构可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储一种机器人的视觉识别定位方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。进一步地,上述计算机设备还可以设置有输入装置和显示屏等。上述计算机程序被处理器执行时以实现一种机器人的视觉识别定位方法,一种机器人的视觉识别定位方法包括如下步骤:控制设置在机器人上的高清摄像头对距离所述机器人N米处的物体进行捕捉,得到图像;获取同一时间戳下SLAM算法返回的机器人的第一位姿;利用所述图像、所述机器人的第一位姿以及所述高清摄像头的参数确定世界坐标系下所述物体对于所述机器人的当前方向;根据所述物体对于所述机器人的当前方向确定检测范围;判断所述检测范围内是否有激光数据返回,若有,则利用所述激光数据对所述物体进行初定位,得到初定位结果;基于所述初定位结果以及所述物体对于所述机器人的当前方向,利用路径规划算法规划出一条让所述机器人靠近所述物体的路径;控制所述机器人沿着所述路径靠近所述物体,当检测到所述机器人与所述物体相距M米时,通过深度摄像头采集所述物体的点云信息并获取同一时间戳下SLAM算法返回的机器人的第二位姿;其中,N大于M;根据所述机器人的第二位姿,将所述物体的点云信息映射到激光地图中。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本发明实施例对远距离的物体不仅通过依靠激光雷达数据进行初定位,还利用视觉信息对物体定位进行优化,如此,提高了对远距离物体定位的精度,实现了对远距离物体的精确定位。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种机器人的视觉识别定位方法,一种机器人的视觉识别定位方法包括如下步骤:控制设置在机器人上的高清摄像头对距离所述机器人N米处的物体进行捕捉,得到图像;获取同一时间戳下SLAM算法返回的机器人的第一位姿;利用所述图像、所述机器人的第一位姿以及所述高清摄像头的参数确定世界坐标系下所述物体对于所述机器人的当前方向;根据所述物体对于所述机器人的当前方向确定检测范围;判断所述检测范围内是否有激光数据返回,若有,则利用所述激光数据对所述物体进行初定位,得到初定位结果;基于所述初定位结果以及所述物体对于所述机器人的当前方向,利用路径规划算法规划出一条让所述机器人靠近所述物体的路径;控制所述机器人沿着所述路径靠近所述物体,当检测到所述机器人与所述物体相距M米时,通过深度摄像头采集所述物体的点云信息并获取同一时间戳下SLAM算法返回的机器人的第二位姿;其中,N大于M;根据所述机器人的第二位姿,将所述物体的点云信息映射到激光地图中。
本发明实施例对远距离的物体不仅通过依靠激光雷达数据进行初定位,还利用视觉信息对物体定位进行优化,如此,提高了对远距离物体定位的精度,实现了对远距离物体的精确定位。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchl ink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
- 一种中心化展示节点监控管理系统及方法
- 分布式文件系统集群节点的数据恢复方法、装置及介质
- 一种文件管理方法、系统及区块链节点设备和存储介质
- 针对中心节点分发监控节点下载的方法、系统和介质
- 针对中心节点分发监控节点下载的方法、系统和介质