CN112450820B - 位姿优化方法、移动机器人及存储介质 - Google Patents
位姿优化方法、移动机器人及存储介质 Download PDFInfo
- Publication number
- CN112450820B CN112450820B CN202011322841.6A CN202011322841A CN112450820B CN 112450820 B CN112450820 B CN 112450820B CN 202011322841 A CN202011322841 A CN 202011322841A CN 112450820 B CN112450820 B CN 112450820B
- Authority
- CN
- China
- Prior art keywords
- pose
- mobile robot
- visual
- actual
- 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.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及机器人领域,公开了一种位姿优化方法、移动机器人及存储介质,通过控制移动机器人采集其移动到待清扫区域中的关键位置时的实际视觉里程计信息和实际轮式里程计信息,根据实际视觉里程计信息和实际轮式里程计信息,计算出移动机器人的视觉位姿和轮式位姿,基于视觉位姿和轮式位姿,利用位姿优化算法结合预先确定的标准位姿来进行融合计算,得到最终位姿,这样的实现方式是基于视觉位姿、轮式位姿和标准位姿三者的结合,实现了移动机器人在每次定位时,通过实时计算,不需要根据历史的定位数据来计算,从而减少了误差,同时也避免了由于历史的定位数据而导致误差会累计的现象,提高了定位的精准度,同时也降低了定位计算的复杂度。
Description
技术领域
本发明涉及机器人领域,尤其涉及一种位姿优化方法、移动机器人及存储介质。
背景技术
随着科学技术的发展,定位导航是机器人实现智能化的前提之一,是赋予机器人感知和行动能力的关键因素。
目前,传统的机器人定位方法常采依靠轮式里程计进行计算,轮式里程计的优点是短时间短距离的定位精度很高,但是这种航迹推算的定位方法会存在累积误差,尤其是对于扫地机器人来说,在清扫过程中会存在累计误差,这不可避免的导致地图倾斜和位姿误差累计,而这些误差就目前的技术实现来说,难以够根据自身的信息进行误差消除,从而导致定位不精准,影响了机器人的移动控制。
发明内容
本发明的主要目的在于解决现有的定位方法中存在位姿误差累计,而导致机器人定位不精准的技术问题。
本发明第一方面提供了一种位姿优化方法,应用于移动机器人,所述位姿优化方法包括:
接收到清扫指令并启动所述移动机器人,采集所述移动机器人移动到待清扫区域的关键位置时的实际里程计信息,其中,所述实际里程计信息包括实际视觉里程计信息和实际轮式里程计信息;
根据所述实际视觉里程计信息和所述实际轮式里程计信息,分别计算出所述移动机器人的视觉位姿和轮式位姿;
利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿。
可选的,在本发明第一方面的第一种实现方式中,所述接收到清扫指令并启动所述移动机器人,采集所述移动机器人移动到待清扫区域的关键位置时的实际里程计信息包括:
根据所述清扫指令启动所述移动机器人,并控制其进行移动,对所述待清扫区域进行清扫操作;
检测所述移动机器人在移动到关键位置时是否碰到障碍物;
若是,则通过所述移动机器人上的相机采集所述关键位置的关键帧,并基于所述关键帧计算出所述关键位置的实际视觉里程计信息;
通过运动传感器,采集所述关键位置的实际轮式里程计信息。
可选的,在本发明第一方面的第二种实现方式中,所述通过所述移动机器人上的相机采集所述关键位置的关键帧,并基于所述关键帧计算出所述关键位置的实际视觉里程计信息包括:
启动所述移动机器人的回环检测线程,并确定是否检测到回环;
若是,则利用所述相机拍摄所述关键位置上的图像帧,并基于所述图像帧计算出所述移动机器人在当前时刻位于所述关键位置的实际视觉里程计信息。
可选的,在本发明第一方面的第三种实现方式中,所述启动所述移动机器人的回环检测线程,并确定是否检测到回环包括:
开启所述回环检测线程,检测所述关键位置是否为所述移动机器人开机沿墙时已遍历的关键位置;
若是,则确定所述移动机器人碰撞到的障碍物为所述移动机器人开机沿墙时路过的墙体,确定检测到回环;
若否,则确定所述移动机器人碰撞到的障碍物不是所述移动机器人开机沿墙时路过的墙体,确定未检测到回环。
可选的,在本发明第一方面的第四种实现方式中,在所述利用所述相机拍摄所述关键位置上的图像帧,并基于所述图像帧计算出所述移动机器人在当前时刻位置所述关键位置的实际视觉里程计信息之后,还包括:
查询所述回环是否存在标准位姿;
若存在所述标准位姿,则比较所述实际视觉里程计信息对应的视觉位姿与所述标准位姿是否重合;
若不重合,则获取所述标准位姿对应的图像帧,并与当前时刻采集到的图像帧计算变换矩阵,得到标准位姿。
可选的,在本发明第一方面的第五种实现方式中,所述利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿包括:
确定所述视觉位姿、所述轮式位姿和所述标准位姿三者的均方根误差权值的比重;
根据所述均方根误差权值的比重,利用卡尔曼滤波算法,对所述视觉位姿、所述轮式位姿和所述标准位姿进行加权融合计算,得到所述移动机器人的最终位姿。
可选的,在本发明第一方面的第六种实现方式中,若确定未检测到回环,或者确定检测到回环且所述回环不存在标准位姿时,所述利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿包括:
利用卡尔曼滤波算法,对所述实际视觉里程信息和实际轮式里程信息进行松耦合计算,得到所述移动机器人的最终位姿。
可选的,在本发明第一方面的第七种实现方式中,所述位姿优化方法还包括:
若确定检测到回环且所述回环不存在标准位姿时,利用所述移动机器人上的相机采集所述关键位置的新关键帧;
检测所述新关键帧中的特征点是否满足预设条件;
若所述特征点不满足预设条件,则通过运动传感器,采集所述移动机器人在所述关键位置的实际轮式里程计信息;
计算所述扫地机与所述墙体之间的角度信息;
判断所述角度信息与所述轮式里程计信息中的输出角度是否小于预设角度;
若是,则将所述角度信息与所述输出角度进行融合计算,并基于计算的结果调整所述实际轮式里程计信息;
若否,则不改变所述实际轮式里程计信息;
将所述实际轮式里程计信息作为所述实际视觉里程计信息;
若所述特征点满足预设条件,则获取所述新关键帧中的视觉描述子,并基于所述描述子计算出所述关键位置的实际视觉里程计信息。
可选的,在本发明第一方面的第八种实现方式中,在所述接收到清扫指令并启动所述移动机器人,并采集所述移动机器人移动到待清扫区域的关键位置时的实际里程计信息之前,所述方法还包括:
控制所述移动机器人沿着所述待清洁区域的墙体移动,并获取其移动过程中的关键帧和运动数据;
根据所述运动数据,计算轮式里程计的第一位姿;
根据所述关键帧,计算视觉里程计的第二位姿;
通过卡尔曼滤波算法,对所述第一位姿和第二位姿进行松耦合处理,得到标准位姿。
可选的,在本发明第一方面的第九种实现方式中,所述根据所述关键帧,计算视觉里程计的第二位姿包括:
识别所述关键帧中的特征点,并判断所述特征点的总数量是否达到预设条件;
若否,则将所述第一位姿作为所述第二位姿;
若是,则获取所述关键帧中的视觉描述子,并控制所述移动机器人沿着所述墙体移动,搜索与所述视觉描述子相似的相似关键帧,基于所述相似关键帧计算出所述关键位置的第二位姿。
本发明第二方面提供了一种移动机器人,其特征在于,所述移动机器人包括:
采集模块,用于接收到清扫指令并启动所述移动机器人,采集所述移动机器人移动到待清扫区域的关键位置时的实际里程计信息,其中,所述实际里程计信息包括实际视觉里程计信息和实际轮式里程计信息;
计算模块,用于根据所述实际视觉里程计信息和所述实际轮式里程计信息,分别计算出所述移动机器人的视觉位姿和轮式位姿;
优化模块,用于利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿。
可选的,在本发明第二方面的第一种实现方式中,所述采集模块包括:
清扫单元,用于根据所述清扫指令启动所述移动机器人,并控制其进行移动,对所述待清扫区域进行清扫操作;
第一检测单元,用于检测所述移动机器人在移动到关键位置时是否碰到障碍物;
第一计算单元,用于在所述第一检测单元检测所述移动机器人在移动到关键位置时碰到障碍物时,通过所述移动机器人上的相机采集所述关键位置的关键帧,并基于所述关键帧计算出所述关键位置的实际视觉里程计信息;
第二计算单元,用于通过运动传感器,采集所述关键位置的实际轮式里程计信息。
可选的,在本发明第二方面的第二种实现方式中,所述第一计算单元具体用于:
启动所述移动机器人的回环检测线程,并确定是否检测到回环;
若是,则利用所述相机拍摄所述关键位置上的图像帧,并基于所述图像帧计算出所述移动机器人在当前时刻位于所述关键位置的实际视觉里程计信息。
可选的,在本发明第二方面的第三种实现方式中,所述第一计算单元具体用于:
开启所述回环检测线程,检测所述关键位置是否为所述移动机器人开机沿墙时已遍历的关键位置;
若是,则确定所述移动机器人碰撞到的障碍物为所述移动机器人开机沿墙时路过的墙体,确定检测到回环;
若否,则确定所述移动机器人碰撞到的障碍物不是所述移动机器人开机沿墙时路过的墙体,确定未检测到回环。
可选的,在本发明第二方面的第四种实现方式中,所述移动机器人还包括标准位姿计算模块,其具体用于:
查询所述回环是否存在标准位姿;
若存在所述标准位姿,则比较所述实际视觉里程计信息对应的视觉位姿与所述标准位姿是否重合;
若不重合,则获取所述标准位姿对应的图像帧,并与当前时刻采集到的图像帧计算变换矩阵,得到标准位姿。
可选的,在本发明第二方面的第五种实现方式中,所述优化模块包括:
确定单元,用于确定所述视觉位姿、所述轮式位姿和所述标准位姿三者的均方根误差权值的比重;
第一优化单元,用于根据所述均方根误差权值的比重,利用卡尔曼滤波算法,对所述视觉位姿、所述轮式位姿和所述标准位姿进行加权融合计算,得到所述移动机器人的最终位姿。
可选的,在本发明第二方面的第六种实现方式中,若确定未检测到回环,或者确定检测到回环且所述回环不存在标准位姿时,所述优化模块还包括第二优化单元,其具体用于:
利用卡尔曼滤波算法,对所述实际视觉里程信息和实际轮式里程信息进行松耦合计算,得到所述移动机器人的最终位姿。
可选的,在本发明第二方面的第七种实现方式中,所述第一计算单元具体还用于:
若确定检测到回环且所述回环不存在标准位姿时,利用所述移动机器人上的相机采集所述关键位置的新关键帧;
检测所述新关键帧中的特征点是否满足预设条件;
若所述特征点不满足预设条件,则通过运动传感器,采集所述移动机器人在所述关键位置的实际轮式里程计信息;
计算所述扫地机与所述墙体之间的角度信息;
判断所述角度信息与所述轮式里程计信息中的输出角度是否小于预设角度;
若是,则将所述角度信息与所述输出角度进行融合计算,并基于计算的结果调整所述实际轮式里程计信息;
若否,则不改变所述实际轮式里程计信息;
将所述实际轮式里程计信息作为所述实际视觉里程计信息;
若所述特征点满足预设条件,则获取所述新关键帧中的视觉描述子,并基于所述描述子计算出所述关键位置的实际视觉里程计信息。
可选的,在本发明第二方面的第八种实现方式中,所述标准位姿计算模块具体还用于:
控制所述移动机器人沿着所述待清洁区域的墙体移动,并获取其移动过程中的关键帧和运动数据;
根据所述运动数据,计算轮式里程计的第一位姿;
根据所述关键帧,计算视觉里程计的第二位姿;
通过卡尔曼滤波算法,对所述第一位姿和第二位姿进行松耦合处理,得到标准位姿。
可选的,在本发明第二方面的第九种实现方式中,所述标准位姿计算模块具体用于:
识别所述关键帧中的特征点,并判断所述特征点的总数量是否达到预设条件;
若否,则将所述第一位姿作为所述第二位姿;
若是,则获取所述关键帧中的视觉描述子,并控制所述移动机器人沿着所述墙体移动,搜索与所述视觉描述子相似的相似关键帧,基于所述相似关键帧计算出所述关键位置的第二位姿。
本发明第三方面提供了一种移动机器人,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述移动机器人执行上述的位姿优化方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的位姿优化方法。
本发明提供的技术方案中,通过控制移动机器人采集其移动到待清扫区域中的关键位置时的实际视觉里程计信息和实际轮式里程计信息,根据实际视觉里程计信息和实际轮式里程计信息,计算出移动机器人的视觉位姿和轮式位姿,基于视觉位姿和轮式位姿,利用位姿优化算法结合预先确定的标准位姿来进行融合计算,得到最终位姿,这样的实现方式是基于视觉位姿、轮式位姿和标准位姿来进行定位,三个位姿的结合,可以实现了移动机器人在每次定位时,都可以实时计算,不需要根据历史的定位数据来计算,从而减少了误差,同时也避免了由于历史的定位数据而导致误差会累计的现象,提高了定位的精准度,同时也降低了定位计算的复杂度。
附图说明
图1为本发明第一个实施例提供的位姿优化方法的流程图;
图2为本发明第二个实施例提供的位姿优化方法的流程图;
图3为本发明第三个实施例提供的位姿优化方法的流程图;
图4为本发明实施例提供的标准位姿的计算流程图;
图5为本发明实施例提供的碰撞到墙体或者障碍物时的标准位姿确定流程图;
图6为本发明实施例中移动机器人的一个结构示意图;
图7为本发明实施例中移动机器人的另一个结构示意图;
图8为本发明实施例中移动机器人的一个实施例示意图。
具体实施方式
本发明实施例提供了一种位姿优化方法、移动机器人及存储介质,具体先确定世界坐标系,再对房间进行预清扫,控制扫地机沿墙行走一圈,对闭合的区域先进行回环检测和回环优化,确定标准位姿。再让扫地机进行非沿墙清扫,当扫地机每次行走到墙体时,其获得的位姿、标准位姿、轮式里程计获得的位姿进行融合,在融合的过程中加入置信度,最终获得比较准确的位姿输出,通过回环的检测和优化,实现了移动机器人在每次定位时,都可以实时计算,不需要根据历史的定位数据来计算,从而减少了误差,同时也避免了由于历史的定位数据而导致误差会累计的现象,提高了定位的精准度,同时也降低了定位计算的复杂度。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中位姿优化方法的一个实施例包括:
101、接收到清扫指令并启动移动机器人,采集移动机器人移动到待清扫区域的关键位置时的实际里程计信息,其中,所述实际里程计信息包括实际视觉里程计信息和实际轮式里程计信息;
可以理解的是,本发明的执行主体可以为移动机器人,具体是哪种类型的机器人此处不做限定。本发明实施例以扫地机器人为执行主体为例进行说明。
在本实施例中,其清扫指令可以是用户通过APP或者是在移动机器人上触发按键产生的控制指令,移动机器人在接收到控制指令后,判断其是否为清扫指令,若是,则启动移动机器人中的移动控制程序,控制所述移动机器人在待清扫区域进行移动。
在实际应用中,其移动可以是根据预设的移动路径进行移动,也可以是通过实时采集环境数据来自由控制移动,在移动过程中,还包括通过移动机器人的传感器判断其移动到每个位置时,是否属于关键位置,若是,则通过该传感器采集移动机器人在当前位置上的实际里程计信息,该实际里程计信息包括视觉里程计信息和轮式里程计信息,这里的视觉里程计信息指的是当前位置上的环境图像数据,轮式里程计信息指的是当前位置上移动机器人的运动数据,例如轮子从起始位置到当前位置所运转的圈数、当前位置上轮子的角速度等等。
在本实施例中,该步骤具体实现可以为:根据所述清扫指令启动所述移动机器人,并控制其进行移动,对所述待清扫区域进行清扫操作;
检测所述移动机器人在移动到关键位置时是否碰到障碍物;
若是,则通过所述移动机器人上的相机采集所述关键位置的关键帧,并基于所述关键帧计算出所述关键位置的实际视觉里程计信息;
通过运动传感器,采集所述关键位置的实际轮式里程计信息,其中所述运动传感器采集的是轮子的编码器与惯性测量单元(interial measurement unit,IMU),从而计算轮式里程计的信息。
在实际应用中,该关键位置的设置,具体是通过移动机器人的自动扫描学***均设置检测点,以设定关键位置。
每当在移动机器人在正常清扫时,在移动到该关键位置时,会自动触发位姿的定位操作。从而启动数据的采集流程。
102、根据实际视觉里程计信息和实际轮式里程计信息,分别计算出移动机器人的视觉位姿和轮式位姿;
在本实施例中,对于所述视觉位姿的计算,主要是基于所述实际视觉里程计信息进行计算,具体的通过移动机器人上的拍摄设备来拍摄其当前位置的环境图像,基于环境图像识别出所述移动机器人的位姿,从而得到实时的视觉位姿。
在实际应用中,对于视觉位姿的计算,在获取到环境图像之后,还包括对环境图像的像素进行识别,若像素满足清晰度的要求,则将环境图像作为实际视觉里程计信息,并基于环境图像计算视觉位姿;
当环境图像的像素不满足清晰度的要求,则确定移动机器人在当前位置上没有实际视觉里程计信息,将移动机器人的实际视觉里程计信息对应的参数设置为空,然后执行轮式里程计信息计算流程。
在本实施例中,所述轮式位姿的计算为,利用运动传感器对移动机器人的轮子的运动参数的采集,将采集的运动参数作为实际轮式里程计信息,然后基于运动参数计算出对应的轮式位姿。
具体的,通过根据编码器采集到移动机器人的车轮的转速数据和陀螺仪采集到的移动机器人的角度数据,基于转速数据和角度数据计算出当前的车轮的轮式位姿,然后将轮式位姿替换视觉位姿,得到视觉位姿和轮式位姿。
103、利用预设的位姿优化算法,将视觉位姿、轮式位姿和预配置的标准位姿进行融合计算,得到移动机器人的最终位姿。
在本实施例中,所述位姿优化算法可以理解为是融合算法,而该标准位姿是移动机器人在开机时沿着待清扫区域进行清扫时计算得到的位姿,并对该位姿所在的位置标记一个关键位置,而在正常清扫时,每当移动到关键位置时,会进行回环的检测,当检测到该关键位置在之前的清扫中有记录,则确定为检测到回环,并获取该关键位置上的标准位姿,然后定位该移动机器人的实时位姿,具体是根据当前时刻的视觉位姿和轮式位姿,结合标准位姿,计算得到实时位姿,即是最终位姿。
在实际应用中,通过在融合计算之前,还需要确定视觉位姿、轮式位姿和标准位姿之间的比重,即是权重系数,基于权重系数将三者进行融合计算,得到最终位姿。
具体可以将位姿优化算法转换为计算公式,如下:
在获得较为平稳的数据后,再通过位置均方根误差权值的比重进行加权融合。
其中,w1、w2、w3分别为视觉里程计、轮式里程计和标准位姿的均方根误差,X为融合后位姿。Xa、Xb、Xc分别为视觉位姿、轮式位姿和标准位姿。
本发明实施例中,通过控制移动机器人采集其移动到待清扫区域中的关键位置时的实际视觉里程计信息和实际轮式里程计信息,根据实际视觉里程计信息和实际轮式里程计信息,计算出移动机器人的视觉位姿和轮式位姿,基于视觉位姿和轮式位姿,利用位姿优化算法结合预先确定的标准位姿来进行融合计算,得到最终位姿,这样的实现方式是基于视觉位姿、轮式位姿和标准位姿来进行定位,三个位姿的结合获得的位姿进行融合,在融合的过程中加入置信度,最终获得比较准确的位姿输出,不需要根据历史的定位数据来计算,从而减少了误差,同时也避免了由于历史的定位数据而导致误差会累计的现象,提高了定位的精准度。
请参阅图2,本发明实施例中位姿优化方法的第二个实施例,该位姿优化方法实际上是实现对移动机器人的定位方法,主要是基于现有的扫地机器人的定位方法的改进,具体是基于现有的轮式里程计定位的同时还增加了视觉里程计和标准位姿相结合进行对位姿优化,从而得到更加精准的位姿,该方法具体包括以下步骤:
201、根据清扫指令启动移动机器人,并控制其进行移动,对待清扫区域进行清扫操作;
该步骤中,该清扫指令包括预清扫指令和正常清扫指令,根据两种指令进行预清扫控制和正常清扫控制,具体的:
首先,根据预清扫指令控制移动机器人开启,并将该移动机器人所在的位置作为起始位置,并结合待清扫区域的地图中的墙体构建世界坐标系,其中所述墙体可以理解为是地图中的边界线,在实际应用中,该边界线会被设置为是墙体的障碍物概念,当移动机器人移动过程中检测到用边界线时,就会被认定为是障碍物;
控制所述移动机器人沿着墙体进行预清扫处理,并设置关键位置和记录关键位置中的位姿,这时记录的位姿包括视觉里程计信息和轮式里程计信息,基于该视觉里程计信息和轮式里程计信息进行融合计算,得到标准位姿,在一些实施例中,该标准位姿也叫做参考位姿。
进一步的,在根据预清扫指令完整标准位姿的计算后,根据正常清扫指令控制移动机器人进行移动,这里的移动是在待清扫区域中的每个位置进行移动,以实现清扫操作。
202、检测移动机器人在移动到关键位置时是否碰到障碍物;
该步骤,该障碍物可以理解为是实体物体,也可以理解为是预先设置的某些标志,移动机器人在移动过程中,开始识别传感器,如红外、摄像头、光敏电阻传感器等等,通过这些传感器来识别移动机器人在移动到每个位置时的位置情况,检测在该位置上是否存在障碍物,或者是在移动机器人在移动是碰到物体后,判断其是否为障碍物。
203、若是,则通过移动机器人上的相机采集关键位置的关键帧,并基于关键帧计算出关键位置的实际视觉里程计信息;
该步骤中,在采集关键位置的关键帧过程中,具体实现为:
启动所述移动机器人的回环检测线程,并确定是否检测到回环;
若是,则利用所述相机拍摄所述关键位置上的图像帧,并基于所述图像帧计算出所述移动机器人在当前时刻位于所述关键位置的实际视觉里程计信息。
其中,所述启动所述移动机器人的回环检测线程,并确定是否检测到回环包括:
开启所述回环检测线程,检测所述关键位置是否为所述移动机器人开机沿墙时已遍历的关键位置;
若是,则确定所述移动机器人碰撞到的障碍物为所述移动机器人开机沿墙时路过的墙体,确定检测到回环;
若否,则确定所述移动机器人碰撞到的障碍物不是所述移动机器人非开机沿墙时路过的墙体,确定未检测到回环。
根据检测的结果选择不同的方案确定标准位姿,在实际应用中,当移动机器人在检测到回环时,则说明该关键位置或者是该障碍物是墙体,并且还是移动机器人在预清扫时经过的位置,但是并不一定就会计算出对应的标准位姿,对此,在检测到回环之后,还包括:
查询所述回环是否存在标准位姿;
若存在所述标准位姿,则比较所述实际视觉里程计信息对应的视觉位姿与所述标准位姿是否重合;
若不重合,则获取标准位姿对应的图像帧,并与当前时刻采集到的图像帧计算变换矩阵,得到标准位姿。
204、通过运动传感器,采集关键位置的实际轮式里程计信息;
205、根据实际视觉里程计信息和实际轮式里程计信息,分别计算出移动机器人的视觉位姿和轮式位姿;
206、确定视觉位姿、轮式位姿和标准位姿三者的均方根误差权值的比重;
207、根据均方根误差权值的比重,利用卡尔曼滤波算法,对视觉位姿、轮式位姿和标准位姿进行加权融合计算,得到移动机器人的最终位姿。
本发明实施例中,控制扫地机沿墙行走一圈,对闭合的区域先进行回环检测和回环优化,确定标准位姿。再让扫地机进行非沿墙清扫,当扫地机每次行走到墙体时,其获得的位姿、标准位姿、轮式里程计获得的位姿进行融合,在融合的过程中加入置信度,最终获得比较准确的位姿输出,实现了实时定位计算,不需要根据历史的定位数据来计算,从而减少了误差,同时也避免了由于历史的定位数据而导致误差会累计的现象。
在本实施例中,如图3所示,还可以通过以下方法实现移动机器人的定位,该方法具体包括预清扫(沿墙清扫)和正常清扫(即非沿墙清扫)。正常清扫包括碰撞到障碍物的清扫和没有碰撞到障碍物的清扫,碰撞到障碍物的清扫又包括碰撞到墙体和碰撞到非墙体,其实现步骤如下:
301、启动移动机器人进行清扫操作;
302、接收预清扫指令,控制移动机器人移动并确定标准位姿;
该步骤中,具体通过确定世界坐标系和确定参考位姿的步骤实现;
其中,确定世界坐标系:具体以扫地机器人所在的位置为世界坐标系所在的位置,扫地机的中心作为世界坐标系的原点,朝前为x轴,朝左为y轴,朝上为z轴;
确定参考位姿:在移动机器人开机后,控制扫地机进行沿墙一圈,进行预清扫,从而确定参考位姿,具体实现流程如图4所示:
401、获取移动机器人当前位置的图像帧;
402、获取移动机器人的车轮参数,计算轮式里程计信息;
403、根据图像帧进行视觉里程计的计算,得到视觉里程计信息;
在该步骤中,在获取到图像帧时,还包括判断图像帧是否为关键帧,若是,则对图像帧进行分析提取,提取其中的视觉描述子,并进行描述子的相似性查询,基于查询结果和描述子计算出所述视觉里程计信息。
404、判断视觉里程计信息是否存在;
该步骤中,这的是否存在指的是基于图像帧是否能计算出视觉里程计信息,若不可以,则确定为不存在,反之则存在。具体的,在图像模糊或者低纹理下,采集的图像帧的特征点少于50个特征点时,关键帧无法获得,这样视觉里程计则无法计算出。
405、若是,则将视觉里程计信息和轮式里程计信息进行融合计算,得到位姿;
406、控制移动机器人进行回环检测,得到检测结果;
407、基于位姿和检测结果计算出标准位姿。
该步骤中,标准位姿的计算具体通过控制所述移动机器人沿着所述待清洁区域的墙体移动,并获取其移动过程中的关键帧和运动数据;
根据所述运动数据,计算轮式里程计的第一位姿;
根据所述关键帧,计算视觉里程计的第二位姿;
通过卡尔曼滤波算法,对所述第一位姿和第二位姿进行松耦合处理,得到标准位姿。
进一步的,所述根据所述关键帧,计算视觉里程计的第二位姿包括:
识别所述关键帧中的特征点,并判断所述特征点的总数量是否达到预设条件;
若否,则将所述第一位姿作为所述第二位姿;
若是,则获取所述关键帧中的视觉描述子,并控制所述移动机器人沿着所述墙体移动,搜索与所述视觉描述子相似的相似关键帧,基于所述相似关键帧计算出所述关键位置的第二位姿。
在实际应用中,对于计算视觉里程计信息和轮式里程计信息具体实现如下:
控制扫地机器人在沿墙的过程中,采集关键帧,获得视觉里程计的位姿与轮式里程计(利用编码器确定位姿大小,陀螺仪确定位姿方向)进行融合获得暂时位姿;
将视觉里程计信息和轮式里程计信息利用卡尔曼滤波进行松耦合,构建目标函数模型、运动模型和观测模型;
其中,运动模型:Xk=AXk-1+uk
观测模型:Zk=CXk+wk
在获得较为平稳的数据后,再通过位置均方根误差权值的比重进行加权融合,具体通过以下公式计算:
其中w1、w2分别为视觉里程计和轮式里程计的均方根误差,X为融合后位姿。
Xa、Xb分别为视觉里程计、轮式里程计的位姿。
在预清扫和正常清扫遇到图像模糊或者低纹理下,采集的图像帧的特征点少于50个特征点时,关键帧无法获得,这样视觉里程计则无法计算出,此时只会存在轮式里程计,则轮式里程计就为暂时位姿;
在预清扫过程中,能够获得特征点满足关键帧提取的情况下,获得视觉描述子,同时进行相似性查找,当墙体沿墙一圈后,进行回环检测与回环优化,回环优化修正了暂时位姿,修正后的暂时位姿即为标准位姿。
在本实施例中,若确定检测到回环且所述回环不存在标准位姿时,其标准位姿可以通过以下方式计算得到:
利用所述移动机器人上的相机采集所述关键位置的新关键帧;
检测所述新关键帧中的特征点是否满足预设条件;
若所述特征点不满足预设条件,则通过运动传感器,采集所述移动机器人在所述关键位置的实际轮式里程计信息;
计算所述扫地机与所述墙体之间的角度信息;
判断所述角度信息与所述轮式里程计信息中的输出角度是否小于预设角度;
若是,则将所述角度信息与所述输出角度进行融合计算,并基于计算的结果调整所述实际轮式里程计信息;
若否,则不改变所述实际轮式里程计信息;
将所述实际轮式里程计信息作为所述实际视觉里程计信息;
若所述特征点满足预设条件,则获取所述新关键帧中的视觉描述子,并基于所述描述子计算出所述关键位置的实际视觉里程计信息。
在实际应用中,检测移动机器人在移动到关键位置时没有碰到障碍物的情形下,不再加入回环检测与回环优化策略,其实现如下:
清扫开始,利用新的图像帧,计算视觉里程计,在纹理弱或者图像模糊等情况下没有特征计算不出视觉里程计的情况下,运用轮式里程计和扫地机与墙体角度提取算法融合获得新的轮式里程计进行位姿的输出,主要是当扫地机与墙体的角度与轮式里程计的输出角度小于2度以内则更相信扫地机与墙体的角度,此角度的权重设置就比较大,与轮式里程计的角度融合,否则不改变轮式里程计的角度值;
在视觉里程计可计算获得的情况下,利用新获得轮式里程计与视觉里程计进行卡尔曼滤波算法进行融合输出位姿。
在本实施例中,在回环优化前,先要确定关键帧的位姿:(1)如果前后图像能够跟踪上,则利用3D到2D的一一对应关系,我们就可以计算相机位姿;(2)如果前后图像跟踪不上,则检索关键帧数据库用于重定位,如果几个地方的图像对于当前帧相似,将会有几个候选帧用于重定位。对于每个候选关键帧都要计算ORB特征匹配一致性,即当然帧和ORB特征点关联的地图点的关键帧。这样我们就有了每个候选关键帧的一组2D到3D的一一对应关系。现在对每个候选帧执行RANSAC迭代算法,计算出相机的位姿;对于重定位无法确定当下位姿,则考虑将轮式里程计的位姿,定义为相机位姿;
回环确定后,利用相机的位姿即视觉里程计的位姿和轮式里程计的融合获得的暂时位姿,使用列文伯格-马夸尔特非线性最小二乘算法优化全局优化(优化变量包括关键帧的三维点集合以及暂时位姿)---确认标准位姿。
303、根据正常清扫指令,控制移动机器人在待清扫区中进行清扫操作;
304、检测移动机器人在移动到关键位置时是否碰到障碍物;
305、若是碰撞到障碍物时,回环检测线程开启,确定是否检测到回环,得到回环检测结果;
306、根据回环检测结果,确定标准位姿;
该步骤中,该检测结果包括检测到回环和检测不到回环,不同的检测结果对于标准位姿的确定是不同的,具体实现流程如下:
而对于检测到回环时,其计算标准位姿的流程如图5所示,具体步骤包括:
501、识别回环检测结果;
502、若为检测到回环,则查询对应的标准位姿;
503、确定是否查询到标准位姿;
504、若检测不到回环或者查询不到标准位姿,则获取移动机器人当前的视觉里程计信息和轮式里程计信息;
505、若查询到标准位姿,则利用移动机器人上的相机采集视觉里程计信息,与查询到的标准位姿进行计算,得到新的标准位姿;
307、通过移动机器人上的相机采集关键位置的关键帧,并基于关键帧计算出关键位置的实际视觉里程计信息;
308、通过运动传感器,采集关键位置的实际轮式里程计信息;
309、根据实际视觉里程计信息和实际轮式里程计信息,分别计算出移动机器人的视觉位姿和轮式位姿;
310、确定视觉位姿、轮式位姿和标准位姿三者的均方根误差权值的比重;
311、根据均方根误差权值的比重,利用卡尔曼滤波算法,对视觉位姿、轮式位姿和标准位姿进行加权融合计算,得到移动机器人的最终位姿。
在本实施例中,碰撞到墙体或者障碍物时,回环检测线程开启,确定是否检测到回环,如下两种方式,第一种为碰撞到墙体检测到回环,另一种是碰撞到障碍物检测不到回环(在实际是碰撞的是墙体但没有检测到回环,这种情形理论应该完善回环检测算法,如遇到实在检测不到回环则会按照没有检测到回环的情况处理):
检测到回环(一般认为为扫地机碰撞到开机沿墙时的路过的墙体),开启查找检测标准位姿线程,有,利用标准位姿和相机的位姿计算实际的标准位姿(主要是标准位姿与相机位姿存在不完全重合的情况,需要利用标准位姿所从属的关键帧与相机位姿关键帧计算变换矩阵T1,再在标准位姿(T0)的基础上计算相机在当前位姿下的标准位姿
再利用标准位姿、视觉里程计和轮式里程计进行融合算法输出位姿;一般能够利用标准位姿和相机的位姿计算实际的标准位姿的情况下,此时的标准位姿的置信度都会被设置的比较大,在与视觉里程计和轮式里程计融合时,更相信标准位姿,设置一定大小的协方差,进行卡尔曼滤波计算融合后的位姿。
在获得较为平稳的数据后,再通过位置均方根误差权值的比重进行加权融合。
其中w1、w2、w3分别为视觉里程计、轮式里程计和标准位姿的均方根误差,X为融合后位姿。Xa Xb Xc分别为视觉里程计、轮式里程计和标准的位姿。
检测回环,如果没有查找到标准位姿则可能同下方法输出位姿即用视觉里程计和轮式里程计利用卡尔曼滤波算法进行松耦合输出融合后位姿。
检测不到回环(一般认为为扫地机碰撞到障碍物而非开机沿墙时的路过的墙体),视觉里程计和轮式里程计利用卡尔曼滤波算法进行松耦合输出融合后位姿。
综上,通过视觉位姿、轮式位姿和标准位姿三者的结合,可以实现了移动机器人在每次定位时,都可以实时计算,不需要根据历史的定位数据来计算,从而减少了误差,同时也避免了由于历史的定位数据而导致误差会累计的现象,提高了定位的精准度。
上面对本发明实施例中位姿优化方法进行了描述,下面对本发明实施例中移动机器人进行描述,请参阅图6,本发明实施例中移动机器人一个实施例包括:
采集模块601,用于接收到清扫指令并启动所述移动机器人,采集所述移动机器人移动到待清扫区域的关键位置时的实际里程计信息,其中,所述实际里程计信息包括实际视觉里程计信息和实际轮式里程计信息;
计算模块602,用于根据所述实际视觉里程计信息和所述实际轮式里程计信息,分别计算出所述移动机器人的视觉位姿和轮式位姿;
优化模块603,用于利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿。
本发明实施例中,控制移动机器人沿墙行走一圈,对闭合的区域先进行回环检测和回环优化,确定标准位姿。再让移动机器人进行非沿墙清扫,当移动机器人每次行走到墙体时,其获得的位姿、标准位姿、轮式里程计获得的位姿进行融合,在融合的过程中加入置信度,最终获得比较准确的位姿输出,通过回环的检测和优化,实现了移动机器人在每次定位时,都可以实时计算,不需要根据历史的定位数据来计算,从而减少了误差,同时也避免了由于历史的定位数据而导致误差会累计的现象,提高了定位的精准度。
请参阅图7,本发明实施例中移动机器人的另一个实施例包括:
采集模块601,用于接收到清扫指令并启动所述移动机器人,采集所述移动机器人移动到待清扫区域的关键位置时的实际里程计信息,其中,所述实际里程计信息包括实际视觉里程计信息和实际轮式里程计信息;
计算模块602,用于根据所述实际视觉里程计信息和所述实际轮式里程计信息,分别计算出所述移动机器人的视觉位姿和轮式位姿;
优化模块603,用于利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿。。
其中,所述采集模块601包括:
清扫单元6011,用于根据所述清扫指令启动所述移动机器人,并控制其进行移动,对所述待清扫区域进行清扫操作;
第一检测单元6012,用于检测所述移动机器人在移动到关键位置时是否碰到障碍物;
第一计算单元6013,用于在所述第一检测单元检测所述移动机器人在移动到关键位置时碰到障碍物时,通过所述移动机器人上的相机采集所述关键位置的关键帧,并基于所述关键帧计算出所述关键位置的实际视觉里程计信息;
第二计算单元6014,用于通过运动传感器,采集所述关键位置的实际轮式里程计信息。
可选的,所述第一计算单元6013具体用于:
启动所述移动机器人的回环检测线程,并确定是否检测到回环;
若是,则利用所述相机拍摄所述关键位置上的图像帧,并基于所述图像帧计算出所述移动机器人在当前时刻位于所述关键位置的实际视觉里程计信息。
可选的,所述第一计算单元6013具体用于:
开启所述回环检测线程,检测所述关键位置是否为所述移动机器人开机沿墙时已遍历的关键位置;
若是,则确定所述移动机器人碰撞到的障碍物为所述移动机器人开机沿墙时路过的墙体,确定检测到回环;
若否,则确定所述移动机器人碰撞到的障碍物不是所述移动机器人开机沿墙时路过的墙体,确定未检测到回环。
可选的,所述移动机器人还包括标准位姿计算模块704,其具体用于:
查询所述回环是否存在标准位姿;
若存在所述标准位姿,则比较所述实际视觉里程计信息对应的视觉位姿与所述标准位姿是否重合;
若不重合,则获取所述标准位姿对应的图像帧,并与当前时刻采集到的图像帧计算变换矩阵,得到标准位姿。
在本实施例汇总,所述优化模块603包括:
确定单元6031,用于确定所述视觉位姿、所述轮式位姿和所述标准位姿三者的均方根误差权值的比重;
第一优化单元6032,用于根据所述均方根误差权值的比重,利用卡尔曼滤波算法,对所述视觉位姿、所述轮式位姿和所述标准位姿进行加权融合计算,得到所述移动机器人的最终位姿。
在本实施例中,若确定未检测到回环,或者确定检测到回环且所述回环不存在标准位姿时,所述优化模块603还包括第二优化单元6033,其具体用于:
利用卡尔曼滤波算法,对所述实际视觉里程信息和实际轮式里程信息进行松耦合计算,得到所述移动机器人的最终位姿。
可选的,所述第一计算单元6013具体还用于:
若确定检测到回环且所述回环不存在标准位姿时,利用所述移动机器人上的相机采集所述关键位置的新关键帧;
检测所述新关键帧中的特征点是否满足预设条件;
若所述特征点不满足预设条件,则通过运动传感器,采集所述移动机器人在所述关键位置的实际轮式里程计信息;
计算所述扫地机与所述墙体之间的角度信息;
判断所述角度信息与所述轮式里程计信息中的输出角度是否小于预设角度;
若是,则将所述角度信息与所述输出角度进行融合计算,并基于计算的结果调整所述实际轮式里程计信息;
若否,则不改变所述实际轮式里程计信息;
将所述实际轮式里程计信息作为所述实际视觉里程计信息;
若所述特征点满足预设条件,则获取所述新关键帧中的视觉描述子,并基于所述描述子计算出所述关键位置的实际视觉里程计信息。
可选的,所述标准位姿计算模块604具体还用于:
控制所述移动机器人沿着所述待清洁区域的墙体移动,并获取其移动过程中的关键帧和运动数据;
根据所述运动数据,计算轮式里程计的第一位姿;
根据所述关键帧,计算视觉里程计的第二位姿;
通过卡尔曼滤波算法,对所述第一位姿和第二位姿进行松耦合处理,得到标准位姿。
可选的,所述标准位姿计算模块604具体用于:
识别所述关键帧中的特征点,并判断所述特征点的总数量是否达到预设条件;
若否,则将所述第一位姿作为所述第二位姿;
若是,则获取所述关键帧中的视觉描述子,并控制所述移动机器人沿着所述墙体移动,搜索与所述视觉描述子相似的相似关键帧,基于所述相似关键帧计算出所述关键位置的第二位姿。
上面图6和图7从模块化功能实体的角度对本发明实施例中的移动机器人进行详细描述,下面从硬件处理的角度对本发明实施例中移动机器人进行详细描述。
图8是本发明实施例提供的一种移动机器人的结构示意图,该移动机器人900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)910(例如,一个或一个以上处理器)和存储器920,一个或一个以上存储应用程序933或数据932的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器920和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对移动机器人900中的一系列指令操作。更进一步地,处理器910可以设置为与存储介质930通信,在移动机器人900上执行存储介质930中的一系列指令操作。
移动机器人900还可以包括一个或一个以上电源940,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口960,和/或,一个或一个以上操作***931,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出移动机器人结构并不构成对移动机器人的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种移动机器人,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述位姿优化方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述位姿优化方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种位姿优化方法,应用于移动机器人,其特征在于,所述位姿优化方法包括:
接收到清扫指令并启动所述移动机器人,采集所述移动机器人移动到待清扫区域的关键位置时的实际里程计信息,其中,所述实际里程计信息包括实际视觉里程计信息和实际轮式里程计信息;
根据所述实际视觉里程计信息和所述实际轮式里程计信息,分别计算出所述移动机器人的视觉位姿和轮式位姿;
利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿;
其中,所述标准位姿基于以下步骤处理得到:通过控制所述移动机器人沿着待清洁区域的墙体移动,并获取其移动过程中的关键帧和运动数据;根据所述运动数据,计算轮式里程计的第一位姿;根据所述关键帧,计算视觉里程计的第二位姿;通过卡尔曼滤波算法,对所述第一位姿和第二位姿进行松耦合处理得到标准位姿。
2.根据权利要求1所述的位姿优化方法,其特征在于,所述接收到清扫指令并启动所述移动机器人,采集所述移动机器人移动到待清扫区域的关键位置时的实际里程计信息包括:
根据所述清扫指令启动所述移动机器人,并控制其进行移动,对所述待清扫区域进行清扫操作;
检测所述移动机器人在移动到关键位置时是否碰到障碍物;
若是,则通过所述移动机器人上的相机采集所述关键位置的关键帧,并基于所述关键帧计算出所述关键位置的实际视觉里程计信息;
通过运动传感器,采集所述关键位置的实际轮式里程计信息。
3.根据权利要求2所述的位姿优化方法,其特征在于,所述通过所述移动机器人上的相机采集所述关键位置的关键帧,并基于所述关键帧计算出所述关键位置的实际视觉里程计信息包括:
启动所述移动机器人的回环检测线程,并确定是否检测到回环;
若是,则利用所述相机拍摄所述关键位置上的图像帧,并基于所述图像帧计算出所述移动机器人在当前时刻位于所述关键位置的实际视觉里程计信息。
4.根据权利要求3所述的位姿优化方法,其特征在于,所述启动所述移动机器人的回环检测线程,并确定是否检测到回环包括:
开启所述回环检测线程,检测所述关键位置是否为所述移动机器人开机沿墙时已遍历的关键位置;
若是,则确定所述移动机器人碰撞到的障碍物为所述移动机器人开机沿墙时路过的墙体,确定检测到回环;
若否,则确定所述移动机器人碰撞到的障碍物不是所述移动机器人开机沿墙时路过的墙体,确定未检测到回环。
5.根据权利要求3所述的位姿优化方法,其特征在于,在所述利用所述相机拍摄所述关键位置上的图像帧,并基于所述图像帧计算出所述移动机器人在当前时刻位置所述关键位置的实际视觉里程计信息之后,还包括:
查询所述回环是否存在标准位姿;
若存在所述标准位姿,则比较所述实际视觉里程计信息对应的视觉位姿与所述标准位姿是否重合;
若不重合,则获取所述标准位姿对应的图像帧,并与当前时刻采集到的图像帧计算变换矩阵,得到标准位姿。
6.根据权利要求5所述的位姿优化方法,其特征在于,所述利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿包括:
确定所述视觉位姿、所述轮式位姿和所述标准位姿三者的均方根误差权值的比重;
根据所述均方根误差权值的比重,利用卡尔曼滤波算法,对所述视觉位姿、所述轮式位姿和所述标准位姿进行加权融合计算,得到所述移动机器人的最终位姿。
7.根据权利要求5所述的位姿优化方法,其特征在于,若确定未检测到回环,或者确定检测到回环且所述回环不存在标准位姿时,所述利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿包括:
利用卡尔曼滤波算法,对所述实际视觉里程信息和实际轮式里程信息进行松耦合计算,得到所述移动机器人的最终位姿。
8.根据权利要求5所述的位姿优化方法,其特征在于,所述位姿优化方法还包括:
若确定检测到回环且所述回环不存在标准位姿时,利用所述移动机器人上的相机采集所述关键位置的新关键帧;
检测所述新关键帧中的特征点是否满足预设条件;
若所述特征点不满足预设条件,则通过运动传感器,采集所述移动机器人在所述关键位置的实际轮式里程计信息;
计算所述移动机器人与所述墙体之间的角度信息;
判断所述角度信息与所述轮式里程计信息中的输出角度是否小于预设角度;
若是,则将所述角度信息与所述输出角度进行融合计算,并基于计算的结果调整所述实际轮式里程计信息;
若否,则不改变所述实际轮式里程计信息;
将所述实际轮式里程计信息作为所述实际视觉里程计信息;
若所述特征点满足预设条件,则获取所述新关键帧中的视觉描述子,并基于所述描述子计算出所述关键位置的实际视觉里程计信息。
9.根据权利要求1所述的位姿优化方法,其特征在于,所述根据所述关键帧,计算视觉里程计的第二位姿包括:
识别所述关键帧中的特征点,并判断所述特征点的总数量是否达到预设条件;
若否,则将所述第一位姿作为所述第二位姿;
若是,则获取所述关键帧中的视觉描述子,并控制所述移动机器人沿着所述墙体移动,搜索与所述视觉描述子相似的相似关键帧,基于所述相似关键帧计算出所述关键位置的第二位姿。
10.一种移动机器人,其特征在于,所述移动机器人包括:
采集模块,用于接收到清扫指令并启动所述移动机器人,采集所述移动机器人移动到待清扫区域的关键位置时的实际里程计信息,其中,所述实际里程计信息包括实际视觉里程计信息和实际轮式里程计信息;
计算模块,用于根据所述实际视觉里程计信息和所述实际轮式里程计信息,分别计算出所述移动机器人的视觉位姿和轮式位姿;
优化模块,用于利用预设的位姿优化算法,将所述视觉位姿、所述轮式位姿和预配置的标准位姿进行融合计算,得到所述移动机器人的最终位姿;其中,所述标准位姿基于以下步骤处理得到:通过控制所述移动机器人沿着待清洁区域的墙体移动,并获取其移动过程中的关键帧和运动数据;根据所述运动数据,计算轮式里程计的第一位姿;根据所述关键帧,计算视觉里程计的第二位姿;通过卡尔曼滤波算法,对所述第一位姿和第二位姿进行松耦合处理得到标准位姿。
11.一种移动机器人,其特征在于,所述移动机器人包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述移动机器人执行如权利要求1-9中任一项所述的位姿优化方法的步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-9中任一项所述位姿优化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011322841.6A CN112450820B (zh) | 2020-11-23 | 2020-11-23 | 位姿优化方法、移动机器人及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011322841.6A CN112450820B (zh) | 2020-11-23 | 2020-11-23 | 位姿优化方法、移动机器人及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112450820A CN112450820A (zh) | 2021-03-09 |
CN112450820B true CN112450820B (zh) | 2022-01-21 |
Family
ID=74798581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011322841.6A Active CN112450820B (zh) | 2020-11-23 | 2020-11-23 | 位姿优化方法、移动机器人及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112450820B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113063441B (zh) * | 2021-03-16 | 2022-11-18 | 李金波 | 里程计累计推算误差的数据源纠正方法及装置 |
CN113203419B (zh) * | 2021-04-25 | 2023-11-10 | 重庆大学 | 基于神经网络的室内巡检机器人校正定位方法 |
CN114485653A (zh) * | 2022-02-23 | 2022-05-13 | 广州高新兴机器人有限公司 | 基于视觉与轮式里程计融合的定位方法、装置、介质及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109506641A (zh) * | 2017-09-14 | 2019-03-22 | 深圳乐动机器人有限公司 | 移动机器人的位姿丢失检测与重定位***及机器人 |
CN110261870A (zh) * | 2019-04-15 | 2019-09-20 | 浙江工业大学 | 一种用于视觉-惯性-激光融合的同步定位与建图方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016211805A1 (de) * | 2015-10-09 | 2017-04-13 | Volkswagen Aktiengesellschaft | Fusion von Positionsdaten mittels Posen-Graph |
CN107356252B (zh) * | 2017-06-02 | 2020-06-16 | 青岛克路德机器人有限公司 | 一种融合视觉里程计与物理里程计的室内机器人定位方法 |
CN107160395B (zh) * | 2017-06-07 | 2020-10-16 | 中国人民解放军装甲兵工程学院 | 地图构建方法及机器人控制*** |
CN107869989B (zh) * | 2017-11-06 | 2020-02-07 | 东北大学 | 一种基于视觉惯导信息融合的定位方法及*** |
CN109579844B (zh) * | 2018-12-04 | 2023-11-21 | 电子科技大学 | 定位方法及*** |
CN109974721A (zh) * | 2019-01-08 | 2019-07-05 | 武汉中海庭数据技术有限公司 | 一种基于高精度地图的视觉回环检测方法和装置 |
CN111739063B (zh) * | 2020-06-23 | 2023-08-18 | 郑州大学 | 一种基于多传感器融合的电力巡检机器人定位方法 |
-
2020
- 2020-11-23 CN CN202011322841.6A patent/CN112450820B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109506641A (zh) * | 2017-09-14 | 2019-03-22 | 深圳乐动机器人有限公司 | 移动机器人的位姿丢失检测与重定位***及机器人 |
CN110261870A (zh) * | 2019-04-15 | 2019-09-20 | 浙江工业大学 | 一种用于视觉-惯性-激光融合的同步定位与建图方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112450820A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112450820B (zh) | 位姿优化方法、移动机器人及存储介质 | |
EP3886048B1 (en) | Slam map joining method and system | |
JP6445995B2 (ja) | センサデータの空間的集約を用いる適応マッピング | |
CN109084732B (zh) | 定位与导航方法、装置及处理设备 | |
US10102429B2 (en) | Systems and methods for capturing images and annotating the captured images with information | |
CN107907131B (zh) | 定位***、方法及所适用的机器人 | |
US9329598B2 (en) | Simultaneous localization and mapping for a mobile robot | |
CN111210477B (zh) | 一种运动目标的定位方法及*** | |
CN112219087A (zh) | 位姿预测方法、地图构建方法、可移动平台及存储介质 | |
CN112734852A (zh) | 一种机器人建图方法、装置及计算设备 | |
CN108481327A (zh) | 一种增强视觉的定位装置、定位方法及机器人 | |
KR20150144731A (ko) | 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
Michot et al. | Bi-objective bundle adjustment with application to multi-sensor slam | |
CN208323361U (zh) | 一种基于深度视觉的定位装置及机器人 | |
Maier et al. | Vision-based humanoid navigation using self-supervised obstacle detection | |
CN208289901U (zh) | 一种增强视觉的定位装置及机器人 | |
CN108544494A (zh) | 一种基于惯性和视觉特征的定位装置、方法及机器人 | |
CN113379850A (zh) | 移动机器人控制方法、装置、移动机器人及存储介质 | |
Berrabah et al. | SLAM for robotic assistance to fire-fighting services | |
JP7354528B2 (ja) | 自律移動装置、自律移動装置のレンズの汚れ検出方法及びプログラム | |
CN112528728B (zh) | 一种用于视觉导航的图像处理方法、装置和移动机器人 | |
CN115700507B (zh) | 地图更新方法及其装置 | |
JP7273696B2 (ja) | 位置推定装置及びシステム | |
CN118247313B (zh) | 一种融合动平台里程信息的被动传感器多目标跟踪方法 | |
CN117784125A (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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 518110 1701, building 2, Yinxing Zhijie, No. 1301-72, sightseeing Road, Xinlan community, Guanlan street, Longhua District, Shenzhen, Guangdong Province Patentee after: Shenzhen Yinxing Intelligent Group Co.,Ltd. Address before: 518110 Building A1, Yinxing Hi-tech Industrial Park, Guanlan Street Sightseeing Road, Longhua District, Shenzhen City, Guangdong Province Patentee before: Shenzhen Silver Star Intelligent Technology Co.,Ltd. |