CN111145251B - 一种机器人及其同步定位与建图方法和计算机存储设备 - Google Patents
一种机器人及其同步定位与建图方法和计算机存储设备 Download PDFInfo
- Publication number
- CN111145251B CN111145251B CN201811302773.XA CN201811302773A CN111145251B CN 111145251 B CN111145251 B CN 111145251B CN 201811302773 A CN201811302773 A CN 201811302773A CN 111145251 B CN111145251 B CN 111145251B
- Authority
- CN
- China
- Prior art keywords
- pose data
- feature points
- image
- image frame
- image feature
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013507 mapping Methods 0.000 title claims abstract description 32
- 230000001360 synchronised effect Effects 0.000 title abstract description 13
- 230000003068 static effect Effects 0.000 claims abstract description 65
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000013135 deep learning Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000007499 fusion processing Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请公开了一种机器人及其同步定位与建图方法和计算机存储设备,该方法包括:获取机器人所处环境的图像帧;对图像帧进行特征提取,以获得多个图像特征点;从多个图像特征点中获取静态图像特征点;基于静态图像特征点进行建图或定位。通过上述方式,能够解决现有技术中动态物体影响SLAM的建图/定位结果的准确性,提高机器人对动态物体的鲁棒性。
Description
技术领域
本申请涉及机器人技术领域,特别是涉及一种机器人及其同步定位与建图方法和计算机存储设备。
背景技术
现有视觉SLAM(simultaneous localization and mapping),即同时定位与地图构建,可以很好的解决定位与建图的需求问题。
SLAM的基本框架包括:传感器、视觉里程计(Visual Odometry,VO)、后端优化(Optimization)、建图/定位。传感器是在视觉SLAM中主要为相机图像信息的读取和预处理;视觉里程计是根据相邻图像之间相同物体的位姿变化估计出相机在相邻图像之间的相对运动信息,这个过程中一个重要的假设是相邻图像中的物体是静止不动的;后端优化是后端接受不同时刻视觉里程计的测量结果,以及回环检测的信息,对它们进行优化,建图/定位利用优化后的相机位姿得到地图/相机位姿。
本申请的发明人在长期研发中发现,当环境中存在动态物体时,动态物体的运动会给视觉位姿结算造成干扰,从而影响SLAM的建图/定位结果的准确性。
发明内容
本申请主要解决的技术问题是提供一种机器人及其同步定位与建图方法和计算机存储设备,能够解决现有技术中动态物体影响SLAM的建图/定位结果的准确性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种机器人的同步定位与建图方法,其中,所述方法包括:获取所述机器人所处环境的图像帧;对所述图像帧进行特征提取,以获得多个图像特征点;从所述多个图像特征点中获取静态图像特征点;基于所述静态图像特征点进行建图或定位。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种机器人,其中,所述机器人包括处理器和存储器,所述处理器耦接所述存储器,所述存储器用于存储计算机程序,所述处理器用于:获取所述机器人所处环境的图像帧;对所述图像帧进行特征提取,以获得多个图像特征点;从所述多个图像特征点中获取静态图像特征点;基于所述静态图像特征点进行建图或定位。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种计算机存储设备,其上存储有计算机程序,其中,所述计算机程序能够被执行以实现上述实施方式中任一项所述方法的步骤。
本申请的有益效果是:提供一种机器人及其同步定位与建图方法和计算机存储设备,该方法包括获取机器人所处环境的图像帧,对图像帧进行特征提取,以获得多个图像特征点,从多个图像特征点中获取静态图像特征点,基于静态图像特征点进行建图或定位;通过在机器人所处环境的图像帧中获取多个图像特征点,并基于多个图像特征点中获取的静态图像特征点进行建图或定位,从而计算相机位姿,能够减少机器人所处环境中动态物体影响SLAM的建图/定位结果的准确性,提高基于SLAM框架的机器人对动态物体的鲁棒性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一种机器人的同步定位与建图方法一实施例的流程示意图;
图2是图1所示步骤S23的流程示意图;
图3是图1所示步骤S14在建图模式下的流程示意图;
图4是图1所示步骤S14在定位模式下的流程示意图;
图5是本申请一种机器人的同步定位与建图方法另一实施例的流程示意图;
图6是图5所示步骤S24的流程示意图;
图7是本申请一种机器人一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下各实施例中不冲突的可以相互结合。
请参阅图1,图1是本申请一种机器人的同步定位与建图方法一实施例的流程示意图,本实施例中的方法具体可以包括以下步骤:
S11:获取机器人所处环境的图像帧。
机器人可以通过例如相机等视觉识别装置获取环境中所有物体的多张图像帧。
S12:对图像帧进行特征提取,以获得多个图像特征点。
在机器人的相机视角发生少量变化后,相邻图像帧中均包括的一些点的位置等信息会保持不变,将这些不变的点作为具有代表性的点。因此,当相机视角发生变化并获取多个图像帧时,可以将相邻图像帧中位置保持稳定的点作为图像特征点进行特征提取,从而获取多个具有代表性的点为图像特征点。
S13:从多个图像特征点中获取静态图像特征点。
在SLAM框架中,机器人默认所在环境中不存在动态物体,只是存在一些噪声。实际上图像帧中可能包括动态物体和静态物体,对应的,提取出的图像特征点可能包括动态图像特征点和静态图像特征点。结合多个图像帧的图像特征点找出静态图像特征点,减少动态图像特征点对相机位姿计算结果产生的影响。
如图2所示,图2是图1所示步骤S23的流程示意图。在一具体实施例中,S13可以具体包括:
S131:通过深度学习的方式从图像帧识别出静态图像区域。
S132:将处于静态图像区域内的图像特征点作为静态图像特征点。下面一并对步骤S131~S132进行说明:
在本实施例中,获取静态图像特征点的同时,机器人通过深度学习的方式对图像帧进行处理,以从图像帧识别出静态图像区域。
其中,深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
在本实施例中,机器人可采用深度的监督学习的方式对图像帧进行处理。
在通过深度学习的方式对图像帧进行处理后,找出图像帧中的静态图像区域,从而得出处于静态图像区域内的图像特征点,将处于静态图像区域内的图像特征点作为静态图像特征点。
S14:基于静态图像特征点进行建图或定位。
机器人在获取到静态图像特征点后,基于获取到的静态图像特征点在建图模式下进行建图计算及相机位姿计算,或者在定位模式下进行地图计算相机位姿,从而提高机器人对动态物体的鲁棒性(Robust)。
其中,鲁棒性是指控制***在一定(结构,大小)的参数摄动下,维持其它某些性能的特性,是在异常和危险情况下***生存的关键。在本实施例中,减少环境中动态物体对相机位姿的计算结果产生的影响,从而提高机器人对动态物体的鲁棒性。
如图3所示,图3是图1所示步骤S14在建图模式下的流程示意图。在建图模式下,S14可以具体包括:
S141:将当前图像帧的静态图像特征点与前一图像帧或关键图像帧的静态图像特征点进行特征匹配,并基于匹配结果计算当前图像帧所对应的位姿数据。
机器人的相机获取多张图像帧中包括至少一张关键图像帧。关键图像帧是指相机运动过程当中特殊的帧,用于描述相机轨迹,在获取关键图像帧时,可以设定为每间隔一定时间获取到的图像帧为关键图像帧,例如每隔0.5秒获取到的图像帧为关键图像帧。而位于两个关键图像帧之间的图像帧,则用于在形成地图文件时提供地图点。
图像帧中的静态图像特征点为二维点,将二维点合成三维点作为该图像帧对应的地图文件中的路标点。当相机运动之后,机器人会根据当前图像帧的静态特征图像点,生成相应的新路标点。在前一图像帧或关键图像帧的静态图像特征点已形成的地图文件中,存在已有的路标点,将新路标点与已有的路标点进行匹配,从而可以基于匹配结果,计算出建图模式下当前图像帧所对应的相机的位姿数据。
如图4所示,图4是图1所示步骤S14在定位模式下的流程示意图。在定位模式下,S14可以具体包括:
S142:将当前图像帧的静态图像特征点与地图文件中的真实地图特征点进行匹配,并基于匹配结果计算当前图像帧所对应的位姿数据。
地图文件中的真实地图特征点,即建图模式下已经生成的地图文件中的路标点。已成功匹配的真实地图特征点均为静态的点,此时真实地图特征点可以作为数据源,将当前图像帧的静态图像特征点与真实地图特征点进行匹配,通过匹配图像特征点与已保存的地图特征点,得出一部分静态图像特征点,并根据这部分静态图像特征点的运动状态,在所有图像特征点中选出所有的静态图像特征点,从而可以基于匹配结果,即基于选出所有的静态图像特征点,计算出当前图像帧所对应的相机的位姿数据。
S143:以位姿数据为基准计算临时地图特征点的重投影误差。
临时地图特征点可以是由当前帧图像中获得,因此临时地图特征点是基于相机的视觉坐标系建立的,在计算出当前图像帧所对应的位姿数据后,根据当前图像帧所对应的位姿数据将临时地图特征点转换,或者说投影到世界/地图坐标系,即将视觉坐标系中的位姿数据转换到世界/地图坐标系中,将投影结果与真实地图特征点匹配并计算误差作为重投影误差。
S144:基于重投影误差小于或等于预设阈值的临时地图特征点和已匹配的真实地图特征点重新计算位姿数据。
在本实施例中,设有重投影误差的预设阈值,将重投影误差小于或等于该预设阈值的临时地图特征点视为静态的点,将这些静态的临时地图特征点和已匹配的真实地图特征点重新计算位姿数据,从而能够获得更准确的相机位姿数据。
S143-S144可以循环执行多次,每次循环时,S143中当前图像帧的静态图像特征点的匹配对象,除了真实地图特征点之外,可以进一步包括上一次被认为是静态的临时地图特征点,即重投影误差小于或等于预设阈值的临时地图特征点。
本实施例中提供一种机器人的同步定位与建图方法,包括获取机器人所处环境的图像帧,对图像帧进行特征提取,以获得多个图像特征点,从多个图像特征点中获取静态图像特征点,基于静态图像特征点进行建图或定位;通过在机器人所处环境的图像帧中获取多个图像特征点,并基于多个图像特征点中获取的静态图像特征点进行建图或定位,从而计算相机位姿,能够减少机器人所处环境中动态物体影响SLAM的建图/定位结果的准确性,提高基于SLAM框架的机器人对动态物体的鲁棒性。
在上述实施方式的基础上,本申请进一步提出一种机器人的同步定位与建图方法的另一实施例,本实施例中所揭示的方法与上述实施例中相同的部分此处不做赘述,请参阅图5,图5是本申请一种机器人的同步定位与建图方法另一实施例的流程示意图,本申请所揭示的方法应用于机器人中,具体可以包括以下步骤:
S21:获取机器人所处环境的图像帧。
S22:对图像帧进行特征提取,以获得多个图像特征点。
S23:从多个图像特征点中获取静态图像特征点。
S24:利用扩展卡尔曼滤波将基于静态图像特征点计算获得的第一位姿数据与基于惯性传感器获得的第二位姿数据进行融合处理。
卡尔曼滤波(Kalman filtering)是一种利用线性***状态方程,通过***输入的观测数据,对***状态进行最优估计的算法。由于观测数据中包括***中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。在本实施例中,利用扩展卡尔曼滤波将基于静态图像特征点计算获得的第一位姿数据,可看作观测结果。
惯性传感器(IMU,Inertial measurement unit)是测量物体三轴姿态角(或角速率)以及加速度的装置。陀螺仪及加速度计是IMU的主要元件,其精度直接影响到惯性***的精度。其中,IMU数据可以从元件中直接获取,例如加速度从加速度计直接获取,因此在本实施例中,基于惯性传感器获得的第二位姿数据,可看作预测结果。
IMU得到数据的频率高,SLAM处理得到数据的频率低,因此第一位姿数据的生成频率小于第二位姿数据的生成频率。
在计算相机位姿时,可以将利用扩展卡尔曼滤波将基于静态图像特征点计算获得的第一位姿数据,第一位姿数据可以是在定位模式或者在建图模式下获得的位姿数据,在本实施例中以定位模式下获得的位姿数据为例进行说明。
如图6所示,图6是图5所示步骤S24的流程示意图。在一具体实施例中,S24可以具体包括:
S241:利用前一时刻的位姿数据及从惯性传感器获取的惯性导航数据预测得到第二位姿数据,输出第二位姿数据。
本步骤属于卡尔曼滤波中的预测过程。惯性传感器当前时刻的惯性导航数据可以直接获取,将前一时刻的位姿数据及当前时刻的惯性导航数据进行预测处理,从而输出第二位姿数据。例如,当前时刻为n,前一时刻的位姿数据为Xn-1,当前时刻的惯性导航数据可以是由加速度计获取得到的An,将An积分再积分后可以得到位移数据△X,前一时刻的位姿数据为Xn-1与位移数据△X进行预测处理,可以得到预测的当前时刻的位姿数据Xn,输出第二位置数据Xn。在本实施例中,周期性获取第二位姿数据,例如每隔0.03秒获取一次第二位姿数据,并输出该第二位姿数据作为当前时刻的相机位姿数据。
S242:判断预定时间内是否接收到第一位姿数据。
在获取一次第二位姿数据后或者在获取一次第二位姿数据同时设定一预定时间,判断是否接收到由SLAM定位模式下获得的第一位姿数据。例如,在开始获取第二位姿数据0.05秒后,此时已经0.03秒的时刻获取了第二位姿数据,判断是否接收到第一位姿数据,若是,则执行步骤S243,若否,则执行步骤S244。
S243:利用第一位姿数据对第二位姿数据进行更新以获取当前时刻的位姿数据。
本步骤属于卡尔曼滤波中的更新过程。若接收到第一位姿数据,则利用第一位姿数据对第二位姿数据进行更新,将更新后的数据作为当前时刻的位姿数据。
S244:将第二位姿数据作为当前时刻的位姿数据。
若未收到第一位姿数据,则将第二位姿数据作为当前时刻的位姿数据。
当前时刻的位姿数据用于下一时刻的预测,获取当前时刻的位姿数据后,等待下一时刻从惯性传感器获取的惯性导航数据,利用当前时刻的位姿数据和下一时刻从惯性传感器获取的惯性导航数据预测得到下一时刻的第二位姿数据,如此往复循环。
本实施例中提供一种机器人的同步定位与建图方法,通过利用扩展卡尔曼滤波融合惯性传感器信息的方式输出相机位姿,惯性传感器频率高,能够提高控制的稳定性。
对应上述实施例中机器人的同步定位与建图方法,本申请提出一种机器人,具体请参阅图7,图7是本申请一种机器人一实施例的结构示意图。本申请揭示的机器人100包括相互耦接的存储器12和处理器14,存储器12用于存储计算机程序,处理器14用于执行计算机程序实现上述实施方式中任一项方法的步骤。
具体来说,处理器14用于获取机器人所处环境的图像帧;对图像帧进行特征提取,以获得多个图像特征点;从多个图像特征点中获取静态图像特征点;基于静态图像特征点进行建图或定位。
可选地,处理器14还用于从多个图像特征点中获取静态图像特征点包括,通过深度学习的方式从图像帧识别出静态图像区域;将处于静态图像区域内的图像特征点作为静态图像特征点。
可选地,处理器14进一步用于基于静态图像特征点进行建图或定位的步骤包括,将当前图像帧的静态图像特征点与前一图像帧或关键图像帧的静态图像特征点进行特征匹配,并基于匹配结果计算当前图像帧所对应的位姿数据。
机器人100的处理器14实现机器人的同步定位与建图方法的具体实施方式可参阅上述方法实施例,此处不做赘述。
本实施例中提供一种机器人100,能够减少机器人所处环境中动态物体影响SLAM的建图/定位结果的准确性,提高机器人对动态物体鲁棒性。
在本申请所提供的几个实施方式中,应该理解到本申请所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (7)
1.一种机器人的同步定位与建图方法,其特征在于,所述方法包括:
获取所述机器人所处环境的图像帧;
对所述图像帧进行特征提取,以获得多个图像特征点;
从所述多个图像特征点中获取静态图像特征点;
基于所述静态图像特征点进行建图或定位;
其中,所述基于所述静态图像特征点进行建图或定位的步骤包括:
将当前图像帧的所述静态图像特征点与前一图像帧或关键图像帧的所述静态图像特征点进行特征匹配,并基于匹配结果计算所述当前图像帧所对应的位姿数据;或者,定位时,将当前图像帧的所述静态图像特征点与地图文件中的真实地图特征点进行匹配,并基于匹配结果计算所述当前图像帧所对应的位姿数据;
利用扩展卡尔曼滤波将基于所述静态图像特征点计算获得的第一位姿数据与基于惯性传感器获得的第二位姿数据进行融合处理,所述第一位姿数据的生成频率小于所述第二位姿数据的生成频率;
该融合处理包括:
利用前一时刻的位姿数据及从所述惯性传感器获取的惯性导航数据预测得到所述第二位姿数据;
输出所述第二位姿数据;
判断是否预定时间内接收到所述第一位姿数据;
若接收到所述第一位姿数据,则利用所述第一位姿数据对所述第二位姿数据进行更新以获取当前时刻的位姿数据;
若未收到所述第一位姿数据,则将所述第二位姿数据作为所述当前时刻的位姿数据。
2.根据权利要求1所述的方法,其特征在于,所述从所述多个图像特征点中获取静态图像特征点的步骤包括:
建图时,通过深度学习的方式从所述图像帧识别出静态图像区域;
将处于所述静态图像区域内的所述图像特征点作为所述静态图像特征点。
3.根据权利要求1所述的方法,其特征在于,所述定位时,将当前图像帧的所述静态图像特征点与地图文件中的真实地图特征点进行匹配,并基于匹配结果计算所述当前图像帧所对应的位姿数据的步骤之后,所述方法包括:
以所述位姿数据为基准计算临时地图特征点的重投影误差;
基于所述重投影误差小于或等于预设阈值的所述临时地图特征点和已匹配的所述真实地图特征点重新计算所述位姿数据。
4.一种机器人,其特征在于,所述机器人包括处理器和存储器,所述处理器耦接所述存储器,所述存储器用于存储计算机程序,所述处理器用于:
获取所述机器人所处环境的图像帧;
对所述图像帧进行特征提取,以获得多个图像特征点;
从所述多个图像特征点中获取静态图像特征点;
基于所述静态图像特征点进行建图或定位;
其中,所述基于所述静态图像特征点进行建图或定位包括:将当前图像帧的所述静态图像特征点与前一图像帧或关键图像帧的所述静态图像特征点进行特征匹配,并基于匹配结果计算所述当前图像帧所对应的位姿数据;或者,定位时,将当前图像帧的所述静态图像特征点与地图文件中的真实地图特征点进行匹配,并基于匹配结果计算所述当前图像帧所对应的位姿数据;
利用扩展卡尔曼滤波将基于所述静态图像特征点计算获得的第一位姿数据与基于惯性传感器获得的第二位姿数据进行融合处理,所述第一位姿数据的生成频率小于所述第二位姿数据的生成频率;
该融合处理包括:
利用前一时刻的位姿数据及从所述惯性传感器获取的惯性导航数据预测得到所述第二位姿数据;
输出所述第二位姿数据;
判断是否预定时间内接收到所述第一位姿数据;
若接收到所述第一位姿数据,则利用所述第一位姿数据对所述第二位姿数据进行更新以获取当前时刻的位姿数据;
若未收到所述第一位姿数据,则将所述第二位姿数据作为所述当前时刻的位姿数据。
5.根据权利要求4所述的机器人,其特征在于,所述处理器还用于:
通过深度学习的方式从所述图像帧识别出静态图像区域;
将处于所述静态图像区域内的所述图像特征点作为所述静态图像特征点。
6.根据权利要求4所述的机器人,其特征在于,所述处理器进一步用于:
将当前图像帧的所述静态图像特征点与前一图像帧或关键图像帧的所述静态图像特征点进行特征匹配,并基于匹配结果计算所述当前图像帧所对应的位姿数据。
7.一种计算机存储设备,其上存储有计算机程序,其特征在于,所述计算机程序能够被执行以实现权利要求1-3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811302773.XA CN111145251B (zh) | 2018-11-02 | 2018-11-02 | 一种机器人及其同步定位与建图方法和计算机存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811302773.XA CN111145251B (zh) | 2018-11-02 | 2018-11-02 | 一种机器人及其同步定位与建图方法和计算机存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111145251A CN111145251A (zh) | 2020-05-12 |
CN111145251B true CN111145251B (zh) | 2024-01-02 |
Family
ID=70515103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811302773.XA Active CN111145251B (zh) | 2018-11-02 | 2018-11-02 | 一种机器人及其同步定位与建图方法和计算机存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111145251B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111882611B (zh) * | 2020-07-17 | 2023-11-24 | 北京三快在线科技有限公司 | 一种地图构建方法及装置 |
CN112116656B (zh) * | 2020-08-03 | 2024-05-31 | 歌尔股份有限公司 | 同步定位与地图构建slam中的增量建图方法和装置 |
CN112461230B (zh) * | 2020-12-07 | 2023-05-09 | 优必康(青岛)科技有限公司 | 机器人重定位方法、装置、机器人和可读存储介质 |
CN112435278B (zh) * | 2021-01-26 | 2021-05-04 | 华东交通大学 | 一种基于动态目标检测的视觉slam方法及装置 |
CN113252045B (zh) * | 2021-06-25 | 2021-11-02 | 成都睿沿科技有限公司 | 设备定位方法、装置、电子设备及可读存储介质 |
CN113460558B (zh) * | 2021-06-29 | 2023-05-02 | 上海芭熹机器人有限责任公司 | 一种室外可移动货物搬运机器人 |
CN115700507B (zh) * | 2021-07-30 | 2024-02-13 | 北京小米移动软件有限公司 | 地图更新方法及其装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107741234A (zh) * | 2017-10-11 | 2018-02-27 | 深圳勇艺达机器人有限公司 | 一种基于视觉的离线地图构建及定位方法 |
CN108319976A (zh) * | 2018-01-25 | 2018-07-24 | 北京三快在线科技有限公司 | 建图方法及装置 |
CN108398139A (zh) * | 2018-03-01 | 2018-08-14 | 北京航空航天大学 | 一种融合鱼眼图像与深度图像的动态环境视觉里程计方法 |
CN108596974A (zh) * | 2018-04-04 | 2018-09-28 | 清华大学 | 动态场景机器人定位建图***及方法 |
CN108665540A (zh) * | 2018-03-16 | 2018-10-16 | 浙江工业大学 | 基于双目视觉特征和imu信息的机器人定位与地图构建*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120300020A1 (en) * | 2011-05-27 | 2012-11-29 | Qualcomm Incorporated | Real-time self-localization from panoramic images |
-
2018
- 2018-11-02 CN CN201811302773.XA patent/CN111145251B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107741234A (zh) * | 2017-10-11 | 2018-02-27 | 深圳勇艺达机器人有限公司 | 一种基于视觉的离线地图构建及定位方法 |
CN108319976A (zh) * | 2018-01-25 | 2018-07-24 | 北京三快在线科技有限公司 | 建图方法及装置 |
CN108398139A (zh) * | 2018-03-01 | 2018-08-14 | 北京航空航天大学 | 一种融合鱼眼图像与深度图像的动态环境视觉里程计方法 |
CN108665540A (zh) * | 2018-03-16 | 2018-10-16 | 浙江工业大学 | 基于双目视觉特征和imu信息的机器人定位与地图构建*** |
CN108596974A (zh) * | 2018-04-04 | 2018-09-28 | 清华大学 | 动态场景机器人定位建图***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111145251A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111145251B (zh) | 一种机器人及其同步定位与建图方法和计算机存储设备 | |
US11227398B2 (en) | RGB point clouds based map generation system for autonomous vehicles | |
US11608078B2 (en) | Point clouds registration system for autonomous vehicles | |
US11315317B2 (en) | Point clouds ghosting effects detection system for autonomous driving vehicles | |
CN108139225B (zh) | 确定机动车的布局信息 | |
CN112219087A (zh) | 位姿预测方法、地图构建方法、可移动平台及存储介质 | |
CN106682572B (zh) | 目标跟踪方法、***和第一电子设备 | |
US20210350147A1 (en) | A map partition system for autonomous vehicles | |
US10810442B2 (en) | People flow estimation device, people flow estimation method, and recording medium | |
Scherer et al. | River mapping from a flying robot: state estimation, river detection, and obstacle mapping | |
CN109506642B (zh) | 一种机器人多相机视觉惯性实时定位方法及装置 | |
EP3159125A1 (en) | Device for recognizing position of mobile robot by using direct tracking, and method therefor | |
EP3159121A1 (en) | Device for updating map of mobile robot and method therefor | |
CN112639502A (zh) | 机器人位姿估计 | |
US20220051031A1 (en) | Moving object tracking method and apparatus | |
EP3159126A1 (en) | Device and method for recognizing location of mobile robot by means of edge-based readjustment | |
EP3159122A1 (en) | Device and method for recognizing location of mobile robot by means of search-based correlation matching | |
CN112815939B (zh) | 移动机器人的位姿估计方法及计算机可读存储介质 | |
JP7289470B2 (ja) | 三次元空間に対応するマップを生成する車両、及びその方法 | |
KR20170008505A (ko) | 자유 공간 지도 생성 방법, 자유 공간 지도 생성 시스템, 자유 공간 지도를 이용한 전경/배경 추출 방법 및 전경/배경 추출 시스템 | |
CN114459469A (zh) | 多运动状态导航方法、装置及智能可穿戴设备 | |
US11488391B2 (en) | Method and apparatus for estimating position | |
CN113822996A (zh) | 机器人的位姿估计方法及装置、电子设备、存储介质 | |
KR102130687B1 (ko) | 다중 센서 플랫폼 간 정보 융합을 위한 시스템 | |
CN115235454B (zh) | 行人运动约束的视觉惯性融合定位与建图方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |