CN117570977A - 机器人的定位方法、定位装置、机器人及存储介质 - Google Patents
机器人的定位方法、定位装置、机器人及存储介质 Download PDFInfo
- Publication number
- CN117570977A CN117570977A CN202210946175.6A CN202210946175A CN117570977A CN 117570977 A CN117570977 A CN 117570977A CN 202210946175 A CN202210946175 A CN 202210946175A CN 117570977 A CN117570977 A CN 117570977A
- Authority
- CN
- China
- Prior art keywords
- pose
- robot
- target
- map
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000001514 detection method Methods 0.000 claims abstract description 53
- 238000004590 computer program Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 13
- 230000004927 fusion Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 7
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000001914 filtration Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000035508 accumulation Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
Abstract
本申请实施例提供了一种机器人的定位方法、定位装置、机器人、计算机可读存储介质及计算机程序产品,能够在机器人未检测到用于辅助机器人进行自身定位的目标特征时,基于机器人的位姿检测设备获得的位姿信息、以及机器人活动的目标环境中的障碍物信息确定的第一地图获得机器人在当前时刻的位姿,实现对机器人的定位。所以不再对机器人活动的目标环境进行限制,实现了不仅能够在检测到目标特征的情况下对机器人进行定位,还能够在未检测到目标特征的情况下对机器人进行定位的目的,换句话说,既可以在布设有目标特征的区域对机器人进行定位,也可以在未布设目标特征的区域对机器人进行定位,从而拓宽了机器人在目标环境中的移动范围。
Description
技术领域
本申请实施例涉及机器人技术领域,尤其涉及一种机器人的定位方法、定位装置、机器人、计算机可读存储介质及计算机程序产品。
背景技术
近年来,随着科学技术的飞速发展,越来越多的场景开始使用机器人代替人工操作,例如在餐饮服务行业,通过机器人完成送餐任务,不仅可以成为企业招揽顾客的特色和亮度,还节省了用工成本,提高了送餐的效率。再例如在仓储搬运行业,通过机器人在仓库里进行货物运输、搬运等工作,不仅能够节约人力成本,还可以提高搬运的效率。
那么机器人在移动的过程中需要进行定位,以确定是否到达指定位置或者进行避障等。目前,常见的定位方法是机器人在移动过程中拍摄移动范围内具有位置信息的特征,然后对特征图像进行处理分析获得特征的位置信息,并基于机器人与特征之间的位置关系以及特征的位置信息对机器人的位置信息进行推算,从而实现自身定位。
但是,当机器人的移动范围内未布设具有位置信息的特征时,通过上述定位方法无法实现机器人的自身定位,使得机器人的移动范围受限。
发明内容
本申请实施例提供了一种机器人的定位方法、定位装置、机器人、计算机可读存储介质及计算机程序产品,能够使机器人以在未布设目标特征的区域也可实现定位,从而拓宽了机器人的移动范围。
第一方面,本申请实施例提供了一种机器人的定位方法,所述方法包括:
在当前时刻未检测到目标特征时,基于预存的第一地图,确定所述机器人在所述当前时刻的目标位姿;
所述目标特征布设在所述机器人活动的目标环境中的部分区域,所述第一地图是基于机器人的位姿检测设备获得的位姿信息以及所述目标环境中的障碍物信息确定的。
结合第一方面,在第一方面的一种可能的实现方式中,所述基于预存的第一地图,确定所述机器人在所述当前时刻的目标位姿,包括:
获取所述机器人在所述当前时刻的第一位姿,所述第一位姿是通过所述位姿检测设备获得的;
基于所述机器人探测到的至少一个目标障碍物的信息,确定第二位姿;所述目标障碍物的信息是基于第一地图确定;
基于所述第一位姿和所述第二位姿,得到所述目标位姿。
结合第一方面,在第一方面的一种可能的实现方式中,所述目标障碍物信息包括目标距离信息、目标角度信息以及目标位置信息,所述基于所述机器人探测到的至少一个目标障碍物的信息,确定第二位姿,包括:
基于所述机器人对所述目标环境的探测结果,确定所述目标障碍物;
获取所述目标障碍物与所述机器人的目标距离信息,以及所述机器人探测所述目标障碍物的目标角度信息;
根据所述第一地图,确定所述目标障碍物的目标位置信息;
基于所述目标距离信息、所述目标角度信息以及所述目标位置信息,确定所述第二位姿。
结合第一方面,在第一方面的一种可能的实现方式中,所述基于所述第一位姿和所述第二位姿,得到所述目标位姿,包括:
将所述第一位姿与所述第二位姿进行融合,得到所述目标位姿。
结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括构建所述第一地图的步骤:
获取所述机器人在预设轨迹中每一时刻的第三位姿,所述第三位姿是通过所述机器人的所述位姿检测设备获得的;
基于所述机器人对所述目标环境的探测结果,确定所述机器人在所述每一个时刻对应的第一障碍物;
获取所述第一障碍物与所述机器人的第一距离信息,以及所述机器人探测所述第一障碍物的第一角度信息;
基于所述第一距离信息、所述第一角度信息以及所述第一障碍物在世界坐标系下的第一位置信息,确定所述机器人的第四位姿;
将所述第三位姿和所述第四位姿进行融合,得到所述机器人在所述每一时刻的终极位姿;
基于所述机器人在所述每一时刻的终极位姿和所述每一个时刻对应的第一障碍物的第一位置信息,构建所述第一地图。
结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:
在所述当前时刻检测到所述目标特征时,获取所述机器人在所述当前时刻的第五位姿,所述第五位姿是基于所述当前时刻的上一时刻的位姿获得的;
基于所述目标特征以及预存的第二地图,得到所述机器人在所述当前时刻的第六位姿,所述第二地图是基于所述第一地图以及所述目标环境中的所有目标特征构建的;
基于所述第五位姿和所述第六位姿,确定所述目标位姿。
结合第一方面,在第一方面的一种可能的实现方式中,所述基于所述第五位姿与所述第六位姿的差值,确定所述目标位姿,包括:
将所述第五位姿和所述第六位姿的差值与差值阈值进行比较,得到比较结果;
若比较结果为所述差值大于差值阈值,则将所述第六位姿作为所述目标位姿;
若比较结果为所述差值小于等于所述差值阈值,则将所述第五位姿和所述第六位姿进行融合,基于融合结果得到所述目标位姿。
结合第一方面,在第一方面的一种可能的实现方式中,所述在所述当前时刻检测到所述目标特征时,获取所述机器人在所述当前时刻的第五位姿,包括:
获取所述机器人在所述当前时刻的速度数据;
确定所述当前时刻与所述上一时刻的时间差数据;
基于所述机器人在所述上一时刻的位姿、所述速度数据以及所述时间差数据确定所述第五位姿。
结合第一方面,在第一方面的一种可能的实现方式中,所述基于所述目标特征以及预存的第二地图,得到所述机器人在所述当前时刻的第六位姿,包括:
根据所述第二地图,确定所述目标特征的特征位姿;
基于所述特征位姿和所述机器人与所述目标特征之间的目标位姿关系,确定所述第六位姿。
结合第一方面,在第一方面的一种可能的实现方式中,所述机器人与所述目标特征之间的目标位姿关系的确定方法包括:
获取包含所述目标特征的目标图像;
从所述目标图像中提取所述目标特征的目标角点信息;
基于所述目标角点信息,确定所述目标位姿关系。
结合第一方面,在第一方面的一种可能的实现方式中,所述第二地图的构建过程包括:
采集所述机器人在预设轨迹中每一时刻获取到的第一图像,所述第一图像至少包括一个完整的目标特征;
从所述第一图像中提取所述目标特征的第一角点信息;
基于所述第一角点信息,确定所述机器人与所述目标特征之间的第一位姿关系;
基于所述第一地图确定所述机器人的第七位姿;
基于所述机器人的第七位姿以及所述第一位姿关系,确定所述目标特征的位姿;
基于各所述目标特征的位姿以及各所述目标特征的唯一标识,构建所述第二地图。
结合第一方面,在第一方面的一种可能的实现方式中,所述第二地图的构建过程包括:
采集所述机器人在预设轨迹中每一时刻获取到的初始图像;
对各所述初始图像进行筛选,得到多个中间图像,各所述中间图像中包含至少一个完整的所述目标特征;
根据所述第一地图确定所述中间图像中所有目标特征的位姿;
基于各所述目标特征的位姿以及各所述目标特征的唯一标识构建所述第二地图。
第二方面,本申请实施例提供了一种机器人的定位装置,所述定位装置包括:
检测确定模块,用于在当前时刻未检测到目标特征时,基于预存的第一地图,确定所述机器人在所述当前时刻的目标位姿;
所述目标特征布设在所述机器人活动的目标环境中的部分区域,所述第一地图是基于机器人的位姿检测设备获得的位姿信息以及所述目标环境中的障碍物信息确定的。
第三方面,本申请实施例提供了一种机器人,其特征在于,所述机器人包括存储器和处理器,所述存储器中存储有可执行程序代码,所述处理器用于执行所述可执行程序代码时实现第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现第一方面所述的方法的步骤。
本申请实施例提供的机器人的定位方法、定位装置、机器人、计算机可读存储介质及计算机程序产品,能够在机器人未检测到用于辅助机器人进行自身定位的目标特征时,基于机器人的位姿检测设备获得的位姿信息、以及机器人活动的目标环境中的障碍物信息确定的第一地图获得机器人在当前时刻的位姿,实现对机器人的定位。所以不再对机器人活动的目标环境进行限制,实现了不仅能够在检测到目标特征的情况下对机器人进行定位,还能够在未检测到目标特征的情况下对机器人进行定位的目的,换句话说,既可以在布设有目标特征的区域对机器人进行定位,也可以在未布设目标特征的区域对机器人进行定位,从而拓宽了机器人在目标环境中的移动范围。
附图说明
图1是本申请一示例性实施例示出的一种机器人的定位方法的应用场景图;
图2是本申请一示例性实施例示出的一种构建第一地图的流程示意图;
图3是本申请一示例性实施例示出的又一种构建第一地图的流程示意图;
图4是本申请一示例性实施例示出的再一种构建第一地图的流程示意图;
图5是本申请一示例性实施例示出的一种确定目标位姿的流程示意图;
图6是本申请一示例性实施例示出的一种确定第二位姿的流程示意图;
图7是本申请一示例性实施例示出的另一种确定目标位姿的流程示意图;
图8是本申请一示例性实施例示出的一种确定第五位姿的流程示意图;
图9是本申请一示例性实施例示出的一种确定第六位姿的流程示意图;
图10是本申请一示例性实施例示出的一种构建第二地图的流程示意图;
图11是本申请一示例性实施例示出的再一种构建第二地图的流程示意图;
图12是本申请一示例性实施例示出的一种确定目标位姿关系的流程示意图;
图13是本申请一示例性实施例示出的再一种确定目标位姿关系的流程示意图;
图14是本申请一示例性实施例示出的一种机器人定位方法的流程示意图;
图15是本申请一示例性实施例示出的一种机器人的定位装置的结构示意图;
图16是本申请一示例性实施例示出的一种机器人的内部结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。除非另作定义,本申请实施例使用的技术术语或者科学术语应当为本申请实施例所属领域内具有一般技能的人士所理解的通常意义。本申请实施例说明书以及权利要求书中使用的“第一”“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“多个”或者“若干”表示两个及两个以上。
“包括”或者“包含”等类似词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的元件或者物件及其等同,并不排除其他元件或者物件。“通信连接”或者“相连”等类似的词语并非限定于物理的或者机械的通信连接,而且可以包括电性的通信连接,不管是直接的还是间接的。
在对本申请实施例的技术方案说明之前,首先结合附图对本申请实施例的应用场景进行说明。
参见图1,图1为本申请实施例提供的一种机器人的定位方法的应用场景图。机器人在目标环境中活动。其中,目标环境的一部分区域布设有目标特征,目标环境的另一部分区域未布设目标特征。
其中,本申请实施例中的机器人包括但不限于是物流智能车、家用机器人、智能服务机器人等。目标环境是机器人活动的环境,例如餐馆、仓库、小区楼、商场、售票厅、银行大厅等。机器人可以是在目标环境中执行送餐、搬运货物、送快递、清扫等工作。
目标特征例如可以是顶视二维码(布设在目标环境顶部)、设置在目标环境中具有固定位置的目标物(灯、墙角、烟感报警器、插座、柱子、门、窗等)、人为设置的标记(预设位置的贴画、数字、字母等)等。机器人预知目标特征的位姿,所以可以是当机器人获得了包含目标特征的图像后,能够确定目标特征的位姿。每一个目标特征可以是具有唯一标识,例如1号、2号、3号等,便于机器人区分不同的目标特征,以更准确的获得与该目标特征对应的位姿。
当机器人在目标环境中布设有目标特征的区域活动时,其可以通过现有技术的方法实现自身定位,该方法为:实时拍摄包含目标特征的图像,基于图像以及预先构建好的地图获得目标特征的位姿,然后根据目标特征的位姿以及与目标特征之间的位姿关系,得到每一时刻的位姿,以实现对自身的定位。
那么,存在一种情况,机器人在目标环境中没有目标特征的区域活动,无法获得包含目标特征的图像,则无法对机器人实现定位,从而限制了机器人在目标环境中的移动范围。
基于上述现有技术存在的问题,本申请一示例性实施例提供的一种机器人的定位方法,该方法适用于机器人在目标环境中没有目标特征的区域活动时,对该机器人进行定位。具体地,该定位方法包括:
在当前时刻未检测到目标特征时,基于预存的第一地图,确定机器人在当前时刻的目标位姿;
目标特征布设在机器人活动的目标环境中的部分区域。其中,目标环境的一部分区域内布设有目标特征,另一部分区域未布设目标特征。第一地图是基于机器人的位姿检测设备获得的位姿信息以及目标环境中的障碍物信息确定的。
其中,位姿检测设备例如可以是设置在机器人上的视觉传感器、激光雷达、摄像头、里程计、加速度计、陀螺仪等用于辅助机器人进行自主定位的一个或者多个设备的统称。
第一地图是机器人预先构建的地图,第一地图例如可以是通过同步定位和地图构建(Simultaneous localization and mapping,SLAM)技术构建的地图;该地图可以是栅格地图、特征地图、拓扑地图、点云地图、语义地图等中的任意一种,本申请对此不加以限定。
本申请实施例中,构建第一地图可以有以下几种实现方式:
第一种实现方式:如图2所示,图2为本申请一示例性实施例提供的一种构建第一地图的可选的方法实施例,该方法实施例包括如下步骤:
步骤201:通过例如可以为里程计、视觉传感器、陀螺仪等的内部传感器采集机器人在目标环境中移动过程中的多帧关键帧;并通过其它内部传感器获得与多帧关键帧对应的位姿;
其中,多帧关键帧也即机器人在移动过程中获得的基于目标环境的图像,多帧关键帧中可以是包括目标环境中的多个目标物,每一帧关键帧中包含的目标物可以有相同的,也可以有不同的。多帧关键帧可以按照预定的时间间隔、位移间隔等采集策略采集获得。机器人在采集每一帧关键帧的同时,还可以通过内部传感器获得机器人采集关键帧时的位置以及姿态信息。
步骤202:计算相邻关键帧的位姿之差得到帧间约束关系,以及多帧关键帧中的第一帧和最后一帧之间的位姿之差得到回环约束关系;
其中,帧间约束关系以及回环约束关系用于约束多帧关键帧,以获得更加准确的地图点;帧间约束关系是将相邻关键帧的位姿作差获得的,回环约束关系是将多帧关键帧与具有回环关系的最后一帧关键帧的位姿作差获得的。
步骤202:通过具有观测关系的多帧关键帧确定多个地图点;
其中,具有观测关系的多帧关键帧,是指多帧关键帧中均包含同一目标物;例如第一关键帧中包含A树,第二关键帧中包含A树,第三关键帧中也包含A树,第四关键帧中也包含A树,那么第一关键帧、第二关键帧、第三关键帧以及第四关键帧就是具有观测关系的关键帧,通过第一关键帧、第二关键帧、第三关键帧以及第四关键帧的位姿可以确定A树的位姿,也即获得了构建地图的一个地图点。
步骤204:根据多帧关键帧、多帧关键帧对应的位姿、多个地图点、帧间约束关系以及回环约束关系构建第一地图。
其中,所谓地图就是所有路标点的集合,所以基于上述方法确定了多个地图点,将地图点的位姿标注在指定坐标系下,即完成对第一地图的构建。
第二种实现方式:如图3所示,图3为本申请一示例性实施例提供的又一种构建第一地图的可选的方法实施例,该方法实施例包括如下步骤:
步骤301:通过机器人上设置的激光雷达对机器人在目标环境中移动过程中的每一位置进行扫描,获得每一位置对应的障碍物信息,障碍物信息包括障碍物与机器人之间的距离信息以及机器人检测到障碍物的角度信息;
其中,机器人每到达一个位置,则通过设置的激光雷达扫描机器人周围的环境,得到障碍物信息。障碍物可以是机器人周围环境中的一个或者多个目标物,目标物例如可以是(灯、墙角、烟感报警器、插座、柱子、门、窗等)、人为设置的标记(预设位置的贴画、数字、字母等)等。机器人可以根据激光雷达发射激光以及接收基于发射激光获得的反馈信息获得障碍物与机器人之间的距离信息,机器人还可以根据其上设置的用于测量机器人探测目标物相对于基坐标系的转动角度。
步骤302:基于距离信息、角度信息以及障碍物在世界坐标系下的位置信息,确定机器人的位姿;
其中,机器人可以获得障碍物在世界坐标系下的位置信息(也即x坐标数据和y坐标数据),然后基于机器人与障碍物之间的距离信息以及障碍物在世界坐标系下的位置信息可以计算获得机器人的位置信息(也即x坐标数据和y坐标数据),将角度信息作为机器人的姿态信息,结合机器人的位置信息以及姿态信息,得到机器人的位姿。
步骤303:基于机器人在每一位置的位姿和每一个位置对应的障碍物的位置信息,构建第一地图。
最后,将各障碍物的位置以及机器人的位姿标注在指定坐标系下,即完成对第一地图的构建。
第三种实现方式:如图4所示,图4为本申请一示例性实施例提供的再一种构建第一地图的可选的方法实施例,该方法实施例包括如下步骤:
步骤401:获取机器人在预设轨迹中每一时刻的第三位姿,第三位姿是通过机器人的位姿检测设备获得的。
其中,机器人根据目标环境中的预设轨迹移动的过程中,可以通过机器人上设置的位姿检测设备获得机器人在每一时刻的第三位姿。该第三位姿可包括位置信息和姿态信息,其中,位置信息例如可以是通过位姿检测设备中的轮式里程计获得,姿态信息例如可以是通过位姿检测设备中的惯性测量单元获得。
需要说明的是,本申请实施例具体是以机器人在预设轨迹活动中每一时刻的位置信息均不同为例进行的说明。
步骤402:基于机器人对目标环境的探测结果,确定机器人在每一个时刻对应的第一障碍物。
机器人可以通过位姿检测设备中的激光雷达对机器人所处的目标环境进行探测,得到探测结果。探测结果包括机器人探测到的第一障碍物,第一障碍物可以是探测结果中的一个目标物,也可以是探测结果中的多个目标物,目标物例如可以是目标环境中的桌子、椅子、灯、花瓶、墙角、开关、预设标记物等,本申请对此不加以限定。
步骤403:获取第一障碍物与机器人的第一距离信息,以及机器人探测第一障碍物的第一角度信息。
本申请实施例可基于上述激光雷达的探测结果获取每一时刻机器人与第一障碍物之间的第一距离信息、以及机器人探测到第一障碍物的第一角度信息。其中,第一角度信息是指机器人探测第一障碍物时相对于基坐标系的转动角度。
步骤404:基于第一距离信息、第一角度信息以及第一障碍物在世界坐标系下的第一位置信息,确定机器人的第四位姿;
本申请实施例可以基于第一障碍物与机器人之间的距离以及第一障碍物在世界坐标系下的第一位置信息(也即第一障碍物的x坐标数据和y坐标数据)计算出机器人的位置信息(也即机器人的x坐标数据和y坐标数据),根据第一角度信息确定机器人的姿态信息;基于位置信息和姿态信息即可得到机器人的第四位姿。
步骤405:将第三位姿和第四位姿进行融合,得到机器人在每一时刻的终极位姿。
为了进一步获得更加准确的机器人在每一时刻的终极位姿,本申请可以通过卡尔曼滤波算法、贝叶斯滤波算法、最小二乘法等方法将第三位姿和第四位姿进行融合,得到机器人在每一时刻的终极位姿。此处不对第三位姿和第四位姿进行融合的具体算法进行详细说明,具体可参照现有技术的相关内容。
步骤404:基于机器人在每一时刻的终极位姿和第一障碍物的第一位置信息,构建第一地图。
最后,根据机器人在每一时刻的终极位姿以及每一时刻对应的第一障碍物的第一位置信息,进行第一地图的构建。
其中,所谓地图(例如第一地图)就是所有路标点的集合,所以基于上述方法确定了机器人在每一时刻的终极位姿以及每一时刻对应的第一障碍物的第一位置信息,将机器人的位姿以及第一障碍物的第一位置信息标注在指定坐标系下,即完成对第一地图的构建。
上面提供了多种构建第一地图的方法,构建第一地图还可以有其它的方法,本申请在此不再一一列举。
下面,针对本申请实施例提供的基于预存的第一地图,确定机器人在当前时刻的目标位姿这一步骤,可以有下述的实现方式:
如图5所示,图5位本申请一示例性实施例提供的确定机器人当前时刻的目标位姿的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤501:获取机器人在当前时刻的第一位姿,第一位姿是通过位姿检测设备获得的。
其中,机器人在当前时刻的第一位姿包括机器人在当前时刻的位置信息以及姿态信息,其中位置信息例如可以是通过位姿检测设备中的轮式里程计获得,姿态信息例如可以是通过位姿检测设备中的惯性测量单元获得。本申请对此不加以限定。
步骤502:基于机器人探测到的至少一个目标障碍物的信息,确定第二位姿;目标障碍物的信息是基于第一地图确定。
机器人可以通过位姿检测设备中的激光雷达对机器人当前时刻在目标环境中到达的位置周围的环境进行探测,获取到至少一个目标障碍物。可以理解的是,该目标障碍物可以是当前时刻距离机器人最近的其中一个目标障碍物,也可以是当前时刻距离机器人预设距离范围内的多个目标障碍物,此处不对目标障碍物的数量进行限制。
继而,可通过第一地图确定至少一个目标障碍物的信息。其中,目标障碍物的信息例如可以是目标障碍物的目标位置信息、目标障碍物与机器人之间的距离信息、机器人探测目标障碍物的角度信息等。接着可根据目标障碍物的信息得到机器人在当前时刻的第二位姿。
本申请实施例中,步骤502的具体实现方式,如下:
如图6所示,图6为本申请一示例性实施例提供的一种确定第二位姿的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤601:基于机器人对目标环境的探测结果,确定目标障碍物;
其中,基于上述描述,机器人可以是通过位姿检测设备中的激光雷达探测每一时刻所处的环境,得到探测结果,其中探测结果可以是包括激光雷达探测到的至少一个目标障碍物。激光雷达可以是根据预设的激光发射角度发射激光信号,然后根据发射的激光信号是否会有返回信号来确定是否存在目标障碍物。那么,可以是在激光雷达接收到了基于发射的激光返回的信号,则表示激光雷达探测到了目标障碍物。目标障碍物例如可以是目标环境中的桌子、椅子、灯、花瓶、墙角、开关、预设标记物等,本申请对此不加以限定。
步骤602:获取目标障碍物与机器人的目标距离信息,以及机器人探测目标障碍物的目标角度信息;
其中,机器人可以是基于上述激光雷达发射说我信号以及接收的信号之间的时间差,信号的传播速度计算机器人与目标障碍物之间的目标距离信息。另外,激光雷达还可以获得机器人发射激光的目标角度信息,该目标角度信息就可以作为机器人的姿态数据。
步骤603:根据第一地图,确定目标障碍物的目标位置信息;
其中,因为机器人在移动之前预先构建有用于进行路径规划、避障、确定目标物位置等的第一地图,并存储在对应的存储器地址中,所以当机器人通过激光雷达探测到目标障碍物后,可以基于目标障碍物的唯一标识(例如为数字、字母、图案等)等从第一地图中查找与目标障碍物的唯一标识对应的目标障碍物的目标位置信息。
步骤604:基于目标距离信息、目标角度信息以及目标位置信息,确定第二位姿。
其中,在已知目标障碍物的目标位置信息以及目标障碍物与机器人之间的目标距离信息后,可以计算得到机器人的位置信息,机器人的位置信息结合上述得到的机器人的姿态信息就可以获得机器人的第二位姿。
步骤503:基于第一位姿和第二位姿,得到目标位姿。
本申请实施例可通过下述几种方式,得到机器人在当前时刻的目标位姿:
第一种实现方式:将第一位姿与第二位姿作差,若差值较大,则将第一位姿或者第二位姿作为机器人当前时刻的目标位姿。(对于是将第一位姿还是第二位姿作为目标位姿,可以根据预设的判断规则确定)。示例性的,例如预设的判断规则是若第一位姿和第二位姿的差值大于第一阈值,则将第一位姿作为目标位姿。
第二种实现方式:将第一位姿以及第二位姿分别与预设位姿进行比对,将与预设位姿最接近的位姿作为目标位姿。
第三种实现方式:将第一位姿和第二位姿通过卡尔曼滤波算法、贝叶斯滤波算法、最小二乘法等方法进行融合,并将融合后的结果作为目标位姿。
在这里需要说明的是,基于第一位姿和第二位姿得到机器人在当前时刻的目标位姿,还可以有其它的实现方式,本申请对此不加以限定,只要能获得更加准确的目标位姿即可。
本申请实施例提供的机器人的定位方法、定位装置、机器人、计算机可读存储介质及计算机程序产品,能够在机器人未检测到用于辅助机器人进行自身定位的目标特征时,基于机器人的位姿检测设备获得的位姿信息以及机器人活动的目标环境中的障碍物信息确定的第一地图获得机器人在当前时刻的位姿,实现对机器人的定位。所以不再对机器人活动的目标环境进行限制,实现了不仅能够在检测到目标特征的情况下对机器人进行定位,还能够在未检测到目标特征的情况下对机器人进行定位的目的,换句话说,本申请实施例既可以在目标环境中布设有目标特征的区域对机器人进行定位,也可以在未布设目标特征的区域对机器人进行定位,从而拓宽了机器人在目标环境中的移动范围。
到此,对于机器人在没有探测到目标特征的情况下如何确定当前时刻的目标位姿,也即为自己定位的技术方案已做了详细的介绍,下面,本申请实施例继续对机器人在检测到目标特征的情况下,如何进行自身定位的技术方案进行说明,具体地:
如图7所示,图7为本申请一示例性实施例提供的另一种确定机器人在当前时刻的目标位姿的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤701:在当前时刻检测到目标特征时,获取机器人在当前时刻的第五位姿,第五位姿是基于当前时刻的上一时刻的位姿获得的;
其中,机器人例如可以是基于设置在其上的视觉传感器、摄像头等图像采集设备实时的采集图像,当采集到的图像中包含目标特征时,则确定检测到了目标特征。
当机器人在目标环境中开始移动时,可以是将初始时刻的位姿定义为0,下一个时刻的位姿可以通过上一个时刻的位姿以及机器人的移动轨迹确定,例如,机器人在第一时刻(与初始时刻相邻的时刻)的位姿可以基于初始时刻的位姿、以及机器人在初始时刻与第一时刻之间的移动轨迹确定,机器人在第二时刻(与第一时刻相邻的时刻)的位姿可以基于第一时刻的位姿、以及机器人在第一时刻与第二时刻之间的移动轨迹确定,以此类推,机器人在当前时刻的第五位姿可基于上一时刻、以及机器人在上一时刻与当前时刻之间的移动轨迹确定的。可以理解,当前时刻为第一时刻时,则第五位姿可以是基于初始时刻的位姿、以及机器人在初始时刻与当前时刻之间的移动轨迹确定的。
本申请实施例中的步骤701,可以有如下实现方式:
如图8所示,图8为本申请一示例性实施例提供的一种计算第五位姿的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤801:获取机器人在当前时刻的速度数据。
其中,机器人当前时刻的速度数据可以是根据机器人上设置的速度传感器等设备获得的。速度数据用于反应机器人在目标环境中行驶时当前时刻的速度。
步骤802:确定当前时刻与上一时刻的时间差数据。
其中,机器人运动的当前时刻与上一时刻之间的时间差数据可以是根据机器人上设置的计时器获得的。
步骤803:基于机器人在上一时刻的位姿、速度数据以及时间差数据确定第五位姿。
其中,例如可以是将机器人在上一时刻的位姿、速度数据以及时间差数据进行加、减、乘、除等一种运算或者多种运算得到第五位姿;还可以是将机器人在上一时刻的位姿、速度数据以及时间差数据进行乘累加、积分、微分等一种运算或者多种运算得到第五位姿等。
示例性的,本申请实施例可以是通过下述方式计算获得第五位姿:
通过x=a cosθ+a sinθ+x1,y=a cosθ-a sinθ+y1计算获得第五位姿中的位置信息,其中,x和y分别是机器人的第五位姿中的位置信息(x为机器人的横坐标数据,y为机器人的纵坐标数据),x1和y1分别是机器人上一时刻位姿中的位置信息(x1为机器人的横坐标数据,y1为机器人的纵坐标数据),a为机器人上一时刻至当前时刻的位移(也即速度数据和时间差数据的乘积),θ是机器人在上一时刻位姿中的姿态信息;然后通过θ1=θ+a计算得到第五位姿中的姿态信息,最终,根据位置信息和姿态信息得到第五位姿。
步骤702:基于目标特征以及预存的第二地图,得到机器人在当前时刻的第六位姿,第二地图是基于第一地图以及目标环境中的所有目标特征构建的;
本申请实施例在基于根据当前时刻的上一时刻的位姿来确定机器人当前时刻的第五位姿的基础上,还可以通过机器人上设置的摄像头等图像采集设备采集到的包含目标特征的图像以及预存的第二地图,得到机器人当前时刻的第六位姿。
本申请实施例中的步骤702,可以有如下实现方式:
如图9所示,图9为本申请一示例性实施例提供的一种计算第六位姿的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤901:根据第二地图,确定目标特征的特征位姿。
其中,第二地图可以是基于第一地图以及目标特征构建的。第二地图中包括目标环境中所有目标特征的标记、目标特征的位置数据以及姿态数据,所以,当机器人通过视觉传感器、摄像头等图像采集设备获得了包含目标特征的图像后,获得了目标特征的标记,基于存储的构建好的第二地图查找与该标记对应的位置数据以及姿态数据,就可以获得目标特征的特征位姿。
示例性地,第二地图的第一种构建方式:如图10所示,图10是本申请一示例性实施例提供了一种构建第二地图的可选的方法实施例,该方法实施例包括如下步骤:
步骤1001:采集机器人在预设轨迹中每一时刻获取到的第一图像,第一图像至少包括一个完整的目标特征;
其中,这种构建第二地图的方法是基于机器人在构建第一地图的过程中,并未将目标特征的位姿呈现在第一地图中的情况。
那么,本申请实施例可以是通过机器人上设置的视觉传感器、深度相机、摄像头等图像采集装置采集的包含目标特征的多个第一图像,多个第一图像与机器人在目标环境中的预设轨迹中每一时刻对应。
在机器人获得多个第一图像后,还可以是先对第一图像进行筛选处理,筛选处理的目的是将不包含完整目标特征的图像删除,以为更好的确定目标特征的位姿,构建更加准确的第二地图。
步骤1002:从第一图像中提取目标特征的第一角点信息;
其中,第一角点信息可以是包括各角点的位置信息(x坐标数据和y坐标数据)以及姿态信息,第一角点信息可以是通过特征提取方法提取获得,特征提取可以通过多种方式实现,具体的特征提取的步骤均为现有技术,在此不做赘述。
步骤1003:基于第一角点信息,确定机器人与目标特征之间的第一位姿关系;
其中,第一位姿关系用于表征机器人与目标特征之间的位置关系以及姿态关系,本申请实施例可以是基于上述获得的第一角点信息,根据第一角点信息中各角点的位置信息以及姿态信息通过pnp算法计算得到第一位姿关系。计算得到的第一位姿关系例如为机器人的位置信息与目标特征的位置信息相差第一数值(也即机器人的x坐标数据与目标特征的x坐标数据相差第一数值,机器人的y坐标数据与目标特征的y坐标数据相差第一数值),机器人的姿态信息与目标特征的姿态信息相差第三角度数值也即(将机器人姿态信息与第三角度数值相加,即可获得目标特征的姿态信息)。最终,通过将机器人的位置信息与第一数值进行差值运算,将机器人的姿态信息与第三角度数值进行差值运算获得目标特征的位姿;第一位姿关系例如还可以是机器人的位置信息与目标特征的位置信息满足第一预设关系,机器人的姿态信息和目标特征的姿态信息满足第二预设关系,第一预设关系可以是包含机器人的x坐标数据、y坐标数据以及目标特征的x坐标数据、y坐标数据的关系式,该关系式可以是根据历史数据获得;第二预设关系可以是包含机器人的姿态信息和目标特征的姿态信息的关系形式,该关系式也可以是根据历史数据获得的,在此不做赘述;第一位姿关系还可以有其它的关系形式,在此不做限定。
示例性的,第一预设关系例如可以是x=a cosθ+a sinθ+x1,y=a cosθ-a sinθ+y1,其中,x和y分别是机器人的位置信息(x为机器人的横坐标数据,y为机器人的纵坐标数据),x1和y1分别是第一角点信息中的位置信息(x1为目标特征的横坐标数据,y1为目标特征的纵坐标数据),θ为第一角点信息中的姿态信息;第二预设关系例如可以是θ=θ1+θ2,其中,θ1为机器人的姿态信息、θ2为通过pnp算法计算得到姿态信息差值,θ为第一角点信息中的姿态信息。
步骤1004:基于第一地图确定机器人的第七位姿;
其中,在构建第二地图之前,机器人已构建第一地图,第一地图包括机器人移动到目标环境中每一个位置的位姿,所以机器人可以根据构建好的第一地图获得当前时刻自身在目标环境中所处位置的位姿,从而可以获得与机器人采集每一个第一图像对应的第七位姿。
步骤1005:基于机器人的第七位姿以及第一位姿关系,确定目标特征的位姿;
其中,基于机器人的第七位姿以及机器人与目标特征之间的第一位姿关系,得到目标特征的位姿,
示例性的,本申请实施例可以是通过下述方式计算获得目标特征的位姿:
通过x=a cosθ+a sinθ+x1,y=a cosθ-a sinθ+y1计算获得目标特征的位置信息,其中,x和y分别是目标特征的位置数据,x1和y1分别是机器人第七位姿中的位置信息,a为常数(可以是根据历史数据获得,例如为2、4、5、6等),θ是机器人第七位姿中的姿态信息;通过θ=θ1+θ2计算得到目标特征的姿态信息,其中,θ1为目标特征的姿态信息、θ2为通过pnp算法计算得到姿态信息差值。
步骤1006:基于各目标特征的位姿以及各目标特征的唯一标识,构建第二地图。
最后,根据目标特征的位姿以及目标特征的唯一标识(例如编号、字母、文字等)构建第二地图。具体地,可以是将所有目标特征的位姿以及目标特征的唯一标识标注在指定坐标系下,即完成对第二地图的构建。
下述构建第二地图的方法与上述机器人构建第二地图的方法不同的是:在构建第二地图之前,机器人在构建第一地图时已将各目标特征的位姿展现在第一地图中,所以,当机器人需要构建第二地图时,可以是直接根据第一地图确定目标特征的位姿,从而更加快速的获得第二地图,具体地:如图11所示,图11是本申请一示例性实施例提供了另一种构建第二地图的可选的方法实施例,该方法实施例包括如下步骤:
步骤1101:采集机器人在预设轨迹中每一时刻获取到的第二图像,第二图像至少包括一个完整的目标特征;
其中,这种构建第二地图的方法是基于机器人在构建第一地图的过程中,已将目标特征的位姿呈现在第一地图中的情况。
那么,本申请实施例可以是通过机器人上设置的视觉传感器、深度相机、摄像头等图像采集装置采集的包含目标特征的多个第二图像,多个第二图像与机器人在目标环境中的预设轨迹中每一时刻对应。
在机器人获得多个第二图像后,还可以是先对第二图像进行筛选处理,筛选处理的目的是将不包含完整目标特征的图像删除,以为更好的确定目标特征的位姿,构建更加准确的第二地图。
步骤1102:根据第一地图确定第二图像中所有目标特征的位姿;
其中,由于第一地图中已包括目标特征的位姿,所以当机器人获得了包括目标特征的第二图像,对第二图像解析后获得目标特征的标记,再从第一地图中查找与目标特征的标记对应的目标特征的位姿。通过该方法能够快速的获得所有目标特征的位姿。
步骤1103:基于各目标特征的位姿以及各目标特征的唯一标识构建第二地图。
最后可以是将所有目标特征的位姿以及目标特征的唯一标识标注在指定坐标系下,即完成对第二地图的构建。
通过上述方法获得了目标特征的特征位姿之后,本申请实施例继续执行以下步骤:
步骤902:基于特征位姿和机器人与目标特征之间的目标位姿关系,确定第六位姿。
其中,目标位姿关系表征了在当前时刻机器人与目标特征之间的一种位置以及姿态关系,那么,若已知机器人当前时刻的位姿以及机器人与目标特征之间的位姿关系,可以计算得到目标特征当前时刻的位姿;同理,若已知目标特征当前时刻的位姿以及机器人与目标特征之间的位姿关系,可以计算得到机器人当前时刻的位姿。所以基于上述根据第二地图获得的目标特征的特征位姿以及机器人与目标特征之间的目标位姿关系,既可以得到机器人在当前时刻的第六位姿。
可选地,如图12所示,目标位姿关系可以通过下述步骤确定:
步骤1201:获取包含目标特征的目标图像。
其中,本申请实施例可以是通过机器人上设置的摄像头、视觉传感器、深度相机等图像采集装置采集包含目标特征的图像。
步骤1202:从目标图像中提取目标特征的目标角点信息;
其中,当机器人获得的包含目标特征的图像后,可以是基于特征提取技术对目标特征的角点(边缘点、中心点等)进行角点信息提取,获得目标特征的角点信息。该角点信息可以是目标特征的边缘点信息,还可以是自定义的位置的信息,本申请对此不加以限定。角点信息可以是各角点的位置信息、姿态信息等。
步骤1203:基于目标角点信息,确定目标位姿关系。
其中,机器人可以基于各目标角点信息确定的平面与参考平面的夹角确定机器人与目标特征之间的目标位姿关系。且机器人可以根据预先构建的第二地图确定目标特征的位置信息以及姿态信息,最终基于目标特征的特征位姿以及目标特征与机器人之间的目标位姿关系确定机器人的第六位姿。
步骤703:基于第五位姿和第六位姿,确定目标位姿。
基于对上述问题的考虑,本申请在基于根据当前时刻的上一时刻的位姿来确定机器人当前时刻的第五位姿的基础上,还可以是通过机器人上设置的摄像头等图像采集设备采集到的包含目标特征的图像以及预存的第二地图,得到机器人当前时刻的第六位姿,并基于第五位姿和第六位姿共同确定机器人在当前时刻的目标位姿,能够避免仅通过单一的方式确定机器人的位姿,以提高机器人定位的准确性。
本申请实施例中的步骤703,可以有如下几种实现方式:第一种实现方式:将第五位姿以及第六位姿分别与预设位姿进行比对,将与预设位姿最接近的位姿作为目标位姿;
第二种实现方式:将第五位姿和第六位姿通过卡尔曼滤波算法、贝叶斯滤波算法、最小二乘法等方法进行融合,并将融合后的结果作为目标位姿。
第三种实现方式:如图13所示,图13为本申请一示例性实施例提供的再一种确定目标位姿的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤1301:将第五位姿和第六位姿的差值与差值阈值进行比较,得到比较结果;
其中,差值阈值可以是根据历史数据确定的。第五位姿是基于机器人在上一时刻的位姿确定的,第六位姿是基于目标特征以及预存的第二地图确定的。在基于上述方法获得第五位姿和第六位姿,可以是将第五位姿和第六位姿作差,得到差值。将该差值与差值阈值进行比较,得到比较结果。
步骤1302:若比较结果为差值大于差值阈值,则将第六位姿作为目标位姿;
其中,差值大于差值阈值,说明第五位姿与第六位姿的差别较大。由于第五位姿是通过上一时刻的位姿来确定,若上一时刻的位姿确定存在误差,那么在计算后续的位姿时,累计误差会越来越大。所以将第五位姿作为机器人当前时刻的目标位姿会存在不准确的情况,相对于第五位姿,第六位姿是基于当前时刻采集的包含目标特征的图像以及第二地图确定的,会更加准确,所以将第六位姿确定为机器人当前时刻的目标位姿。
步骤1303:若比较结果为差值小于等于差值阈值,则将第五位姿和第六位姿进行融合,基于融合结果得到目标位姿。
其中,第五位姿与第六位姿的融合方法,可以是通过上述卡尔曼滤波算法、贝叶斯滤波算法、最小二乘法等任一种方法进行融合,得到目标位姿。
接下来,对本申请实施例的技术方案进行举例整体说明,如图14所示:
步骤1401:机器人按照预定的轨迹在目标环境中进行移动,在移动的过程中基于设置的轮式里程计以及惯性测量单元获得机器人在每一时刻的第一位姿;
步骤1402:机器人基于设置的激光雷达探测在移动过程中的障碍物,并获得与障碍物之间的距离信息以及角度信息;
步骤1403:根据距离信息、角度信息以及障碍物在世界坐标系下的位置信息,得到机器人在每一时刻的第二位姿;
步骤1404:通过卡尔曼滤波算法将第一位姿和第二位姿进行融合,得到机器人在每一时刻的第三位姿;
步骤1405:基于机器人在每一时刻的第三位姿以及障碍物的位置信息,构建第一地图,并将第一地图存储在对应的存储器地址中;
步骤1406:采集机器人在预设轨迹中每一时刻获取到的图像,图像中至少包括一个完整的目标特征;
步骤1407:根据第一地图确定图像中所有目标特征的位姿;
步骤1408:基于各目标特征的位姿以及各目标特征的唯一标识构建第二地图,并将第二地图存储在对应的存储器地址中;
步骤1409:机器人根据构建好的第一地图和第二地图,需要从A点移动到B点,在从A点移动到B点的过程中实时通过图像采集装置检测是否采集到包含目标特征的图像;
步骤1410:若机器人在当前时刻检测到目标特征,则通过机器人在上一时刻得到的位姿确定机器人在当前时刻的第三位姿;
步骤1411:根据第二地图,确定该目标特征的特征位姿;
步骤1412:提取目标特征的目标角点信息,基于目标角点信息,确定机器人与目标特征之间的位姿关系;基于特征位姿和机器人与目标特征之间的位姿关系,确定第四位姿;
步骤1413:将第三位姿和第四位姿的差值与差值阈值进行比较,得到比较结果;
步骤1414:若比较结果为差值大于差值阈值,则将第四位姿作为机器人在当前时刻的目标位姿;
步骤1415:若比较结果为差值小于等于差值阈值,则将第三位姿和第四位姿进行融合,基于融合结果得到机器人在当前时刻的目标位姿;
步骤1416:若机器人在当前时刻未检测到目标特征,则基于机器人设置的轮式里程计、惯性测量单元等装置获得机器人在当前时刻的第五位姿;以及基于机器人设置的激光雷达获得机器人在当前时刻的第六位姿;
步骤1417:根据卡尔曼滤波算法将第五位姿和第六位姿进行融合,得到机器人当前时刻的目标位姿。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的机器人的定位方法的机器人的定位装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机器人的定位装置实施例中的具体限定可以参见上文中对于机器人的定位方法的限定,在此不再赘述。
在一个实施例中,如图15所示,提供了一种机器人的定位装置1500,该装置包括:检测确定模块1501,
检测确定模块1501,用于在当前时刻未检测到目标特征时,基于预存的第一地图,确定机器人在当前时刻的目标位姿;
目标特征布设在机器人活动的目标环境中的部分区域,第一地图是基于机器人的位姿检测设备获得的位姿信息以及目标环境中的障碍物信息确定的。
可选的,在本实施例的一种具体的实施方式中,
检测确定模块1501,具体用于获取机器人在当前时刻的第一位姿,第一位姿是通过位姿检测设备获得的;
基于机器人探测到的至少一个目标障碍物的信息,确定第二位姿;目标障碍物的信息是基于第一地图确定;
基于第一位姿和第二位姿,得到目标位姿。
可选的,在本实施例的另一种具体的实施方式中,
检测确定模块1501,具体还用于基于机器人对目标环境的探测结果,确定目标障碍物;
获取目标障碍物与机器人的目标距离信息,以及机器人探测目标障碍物的目标角度信息;
根据第一地图,确定目标障碍物的目标位置信息;
基于目标距离信息、目标角度信息以及目标位置信息,确定第二位姿。
可选的,在本实施例的另一种具体的实施方式中,
检测确定模块1501,具体还用于将第一位姿与第二位姿进行融合,得到目标位姿。
另外,本申请的定位装置还包括:构建模块(图中未示出),
构建模块,用于获取机器人在预设轨迹中每一时刻的第三位姿,第三位姿是通过机器人的位姿检测设备获得的;
基于机器人对目标环境的探测结果,确定机器人在每一个时刻对应的第一障碍物;
获取第一障碍物与机器人的第一距离信息,以及机器人探测第一障碍物的第一角度信息;
基于第一距离信息、第一角度信息以及第一障碍物在世界坐标系下的第一位置信息,确定机器人的第四位姿;
将第三位姿和第四位姿进行融合,得到机器人在每一时刻的终极位姿;
基于机器人在每一时刻的终极位姿和每一个时刻对应的第一障碍物的第一位置信息,构建第一地图。
可选的,在本实施例的另一种具体的实施方式中,
检测确定模块1501,还用于在当前时刻检测到目标特征时,获取机器人在当前时刻的第五位姿,第五位姿是基于当前时刻的上一时刻的位姿获得的;
基于目标特征以及预存的第二地图,得到机器人在当前时刻的第六位姿,第二地图是基于第一地图以及目标环境中的所有目标特征构建的;
基于第五位姿和第六位姿,确定目标位姿。
可选的,在本实施例的另一种具体的实施方式中,
检测确定模块1501,还具体用于将第五位姿和第六位姿的差值与差值阈值进行比较,得到比较结果;
若比较结果为差值大于差值阈值,则将第六位姿作为目标位姿;
若比较结果为差值小于等于差值阈值,则将第五位姿和第六位姿进行融合,基于融合结果得到目标位姿。
可选的,在本实施例的另一种具体的实施方式中,
检测确定模块1501,还具体用于获取机器人在当前时刻的速度数据;
确定当前时刻与上一时刻的时间差数据;
基于机器人在上一时刻的位姿、速度数据以及时间差数据确定第五位姿。
可选的,在本实施例的另一种具体的实施方式中,
检测确定模块1501,还具体用于根据第二地图,确定目标特征的特征位姿;
基于特征位姿和机器人与目标特征之间的目标位姿关系,确定第六位姿。
可选的,在本实施例的另一种具体的实施方式中,
检测确定模块1501,还具体用于获取包含目标特征的目标图像;
从目标图像中提取目标特征的目标角点信息;
基于目标角点信息,确定目标位姿关系。
可选的,在本实施例的另一种具体的实施方式中,
构建模块,还用于采集机器人在预设轨迹中每一时刻获取到的第一图像,第一图像至少包括一个完整的目标特征;
从第一图像中提取目标特征的第一角点信息;
基于第一角点信息,确定机器人与目标特征之间的第一位姿关系;
基于第一地图确定机器人的第七位姿;
基于机器人的第七位姿以及第一位姿关系,确定目标特征的位姿;
基于各目标特征的位姿以及各目标特征的唯一标识,构建第二地图。
可选的,在本实施例的另一种具体的实施方式中,
构建模块,还用于采集机器人在预设轨迹中每一时刻获取到的第二图像,第二图像至少包括一个完整的目标特征;
根据第一地图确定第二图像中所有目标特征的位姿;
基于各目标特征的位姿以及各目标特征的唯一标识构建第二地图。
上述机器人的定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图16所示,图16为一种机器人的内部结构示意图,该机器人包括通过系统总线连接的处理器、存储器和网络接口。其中,该机器人的处理器用于提供计算和控制能力。该机器人的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该机器人的数据库用于存储机器人的位姿数据。该机器人的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现上述机器人的定位方法。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
此外,本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例的机器人的定位方法。
另,本实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求上述任一实施例的机器人的定位方法。
容易理解的是,本领域技术人员在本申请实施例提供的几个实施例的基础上,可以对本申请实施例的实施例进行结合、拆分、重组等得到其他实施例,这些实施例均没有超出本申请实施例的保护范围。
以上的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。
Claims (16)
1.一种机器人的定位方法,其特征在于,所述方法包括:
在当前时刻未检测到目标特征时,基于预存的第一地图,确定所述机器人在所述当前时刻的目标位姿;
所述目标特征布设在所述机器人活动的目标环境中的部分区域,所述第一地图是基于机器人的位姿检测设备获得的位姿信息以及所述目标环境中的障碍物信息确定的。
2.根据权利要求1所述的方法,其特征在于,所述基于预存的第一地图,确定所述机器人在所述当前时刻的目标位姿,包括:
获取所述机器人在所述当前时刻的第一位姿,所述第一位姿是通过所述位姿检测设备获得的;
基于所述机器人探测到的至少一个目标障碍物的信息,确定第二位姿;所述目标障碍物的信息是基于第一地图确定;
基于所述第一位姿和所述第二位姿,得到所述目标位姿。
3.根据权利要求2所述的方法,其特征在于,所述目标障碍物信息包括目标距离信息、目标角度信息以及目标位置信息,所述基于所述机器人探测到的至少一个目标障碍物的信息,确定第二位姿,包括:
基于所述机器人对所述目标环境的探测结果,确定所述目标障碍物;
获取所述目标障碍物与所述机器人的目标距离信息,以及所述机器人探测所述目标障碍物的目标角度信息;
根据所述第一地图,确定所述目标障碍物的目标位置信息;
基于所述目标距离信息、所述目标角度信息以及所述目标位置信息,确定所述第二位姿。
4.根据权利要求2所述的方法,其特征在于,所述基于所述第一位姿和所述第二位姿,得到所述目标位姿,包括:
将所述第一位姿与所述第二位姿进行融合,得到所述目标位姿。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括构建所述第一地图的步骤:
获取所述机器人在预设轨迹中每一时刻的第三位姿,所述第三位姿是通过所述机器人的所述位姿检测设备获得的;
基于所述机器人对所述目标环境的探测结果,确定所述机器人在所述每一个时刻对应的第一障碍物;
获取所述第一障碍物与所述机器人的第一距离信息,以及所述机器人探测所述第一障碍物的第一角度信息;
基于所述第一距离信息、所述第一角度信息以及所述第一障碍物在世界坐标系下的第一位置信息,确定所述机器人的第四位姿;
将所述第三位姿和所述第四位姿进行融合,得到所述机器人在所述每一时刻的终极位姿;
基于所述机器人在所述每一时刻的终极位姿和所述每一个时刻对应的第一障碍物的第一位置信息,构建所述第一地图。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
在所述当前时刻检测到所述目标特征时,获取所述机器人在所述当前时刻的第五位姿,所述第五位姿是基于所述当前时刻的上一时刻的位姿获得的;
基于所述目标特征以及预存的第二地图,得到所述机器人在所述当前时刻的第六位姿,所述第二地图是基于所述第一地图以及所述目标环境中的所有目标特征构建的;
基于所述第五位姿和所述第六位姿,确定所述目标位姿。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第五位姿与所述第六位姿的差值,确定所述目标位姿,包括:
将所述第五位姿和所述第六位姿的差值与差值阈值进行比较,得到比较结果;
若比较结果为所述差值大于差值阈值,则将所述第六位姿作为所述目标位姿;
若比较结果为所述差值小于等于所述差值阈值,则将所述第五位姿和所述第六位姿进行融合,基于融合结果得到所述目标位姿。
8.根据权利要求6所述的方法,其特征在于,所述在所述当前时刻检测到所述目标特征时,获取所述机器人在所述当前时刻的第五位姿,包括:
获取所述机器人在所述当前时刻的速度数据;
确定所述当前时刻与所述上一时刻的时间差数据;
基于所述机器人在所述上一时刻的位姿、所述速度数据以及所述时间差数据确定所述第五位姿。
9.根据权利要求6所述的方法,其特征在于,所述基于所述目标特征以及预存的第二地图,得到所述机器人在所述当前时刻的第六位姿,包括:
根据所述第二地图,确定所述目标特征的特征位姿;
基于所述特征位姿和所述机器人与所述目标特征之间的目标位姿关系,确定所述第六位姿。
10.根据权利要求9所述的方法,其特征在于,所述机器人与所述目标特征之间的目标位姿关系的确定方法包括:
获取包含所述目标特征的目标图像;
从所述目标图像中提取所述目标特征的目标角点信息;
基于所述目标角点信息,确定所述目标位姿关系。
11.根据权利要求6所述的方法,其特征在于,所述第二地图的构建过程包括:
采集所述机器人在预设轨迹中每一时刻获取到的第一图像,所述第一图像至少包括一个完整的目标特征;
从所述第一图像中提取所述目标特征的第一角点信息;
基于所述第一角点信息,确定所述机器人与所述目标特征之间的第一位姿关系;
基于所述第一地图确定所述机器人的第七位姿;
基于所述机器人的第七位姿以及所述第一位姿关系,确定所述目标特征的位姿;
基于各所述目标特征的位姿以及各所述目标特征的唯一标识,构建所述第二地图。
12.根据权利要求6所述的方法,其特征在于,所述第二地图的构建过程包括:
采集所述机器人在预设轨迹中每一时刻获取到的第二图像,所述第二图像至少包括一个完整的目标特征;
根据所述第一地图确定所述第二图像中所有目标特征的位姿;
基于各所述目标特征的位姿以及各所述目标特征的唯一标识构建所述第二地图。
13.一种机器人的定位装置,其特征在于,所述定位装置包括:
检测确定模块,用于在当前时刻未检测到目标特征时,基于预存的第一地图,确定所述机器人在所述当前时刻的目标位姿;
所述目标特征布设在所述机器人活动的目标环境中的部分区域,所述第一地图是基于机器人的位姿检测设备获得的位姿信息以及所述目标环境中的障碍物信息确定的。
14.一种机器人,其特征在于,所述机器人包括存储器和处理器,所述存储器中存储有可执行程序代码,所述处理器用于执行所述可执行程序代码时实现权利要求1-12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-12中任一项所述的方法的步骤。
16.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210946175.6A CN117570977A (zh) | 2022-08-08 | 2022-08-08 | 机器人的定位方法、定位装置、机器人及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210946175.6A CN117570977A (zh) | 2022-08-08 | 2022-08-08 | 机器人的定位方法、定位装置、机器人及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117570977A true CN117570977A (zh) | 2024-02-20 |
Family
ID=89886826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210946175.6A Pending CN117570977A (zh) | 2022-08-08 | 2022-08-08 | 机器人的定位方法、定位装置、机器人及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117570977A (zh) |
-
2022
- 2022-08-08 CN CN202210946175.6A patent/CN117570977A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102347015B1 (ko) | 창고 환경에서의 차량 추적 | |
JP6842519B2 (ja) | データ収集方法及びそのシステム | |
CN107981790B (zh) | 室内区域划分方法及扫地机器人 | |
US11204247B2 (en) | Method for updating a map and mobile robot | |
CN107272710B (zh) | 一种基于视觉定位的医用物流机器人系统及其控制方法 | |
CN106227212B (zh) | 基于栅格地图和动态校准的精度可控室内导航系统及方法 | |
CN104536445B (zh) | 移动导航方法和系统 | |
AU2024201606A1 (en) | Systems and methods for optical target based indoor vehicle navigation | |
US8807428B2 (en) | Navigation of mobile devices | |
US20120287280A1 (en) | Method and system for sensing the position of a vehicle | |
US11500391B2 (en) | Method for positioning on basis of vision information and robot implementing same | |
CA2918552A1 (en) | Survey data processing device, survey data processing method, and program therefor | |
Chatterjee et al. | Mobile robot navigation | |
CN106541404A (zh) | 一种机器人视觉定位导航方法 | |
CN112033390B (zh) | 机器人导航纠偏方法、装置、设备和计算机可读存储介质 | |
Rasmussen et al. | Robot navigation using image sequences | |
CN113158779A (zh) | 一种行走方法、装置和计算机存储介质 | |
Lee et al. | Robust self-localization of ground vehicles using artificial landmark | |
CN117570977A (zh) | 机器人的定位方法、定位装置、机器人及存储介质 | |
Glas et al. | Simultaneous people tracking and robot localization in dynamic social spaces | |
Xia et al. | Enabling a mobile robot for autonomous RFID-based inventory by multilayer mapping and ACO-enhanced path planning | |
Noaman et al. | Landmarks exploration algorithm for mobile robot indoor localization using VISION sensor | |
CN114995459A (zh) | 机器人的控制方法、装置、设备及存储介质 | |
Ozkil et al. | Practical indoor mobile robot navigation using hybrid maps | |
Kim et al. | Indoor localization using laser scanner and vision marker for intelligent robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |