CN110633336B - 激光数据搜索范围的确定方法、装置及存储介质 - Google Patents
激光数据搜索范围的确定方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110633336B CN110633336B CN201810569865.8A CN201810569865A CN110633336B CN 110633336 B CN110633336 B CN 110633336B CN 201810569865 A CN201810569865 A CN 201810569865A CN 110633336 B CN110633336 B CN 110633336B
- Authority
- CN
- China
- Prior art keywords
- data
- laser
- robot
- current
- laser data
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C3/00—Measuring distances in line of sight; Optical rangefinders
-
- 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/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种激光数据搜索范围的确定方法、装置及存储介质,属于机器人技术领域。所述方法包括:获取在当前位置采集到的当前视觉图像和当前激光数据;基于所述当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据,所述视觉数据库用于存储机器人采集到的视觉数据,所述闭环关键数据为描述所述机器人当前所处的位置为当前时间之前曾经过的位置的数据;当确定出所述闭环关键数据时,基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围。本发明可以确定进行激光检测的激光数据搜索范围,降低了进行激光闭环检测的计算量和耗费时长,提高了进行激光闭环检测的效率。
Description
技术领域
本发明涉及机器人技术领域,特别涉及一种激光数据搜索范围的确定方法、装置及存储介质。
背景技术
自主机器人是指携带各种必要的传感器和控制器,在运行过程中无外界人为信息输入和控制的条件下,可以独立完成一定任务的机器人。比如,常见的自主机器人有扫地机器人。其中,机器人的自主性主要体现在机器人的自主导航,在未知的环境中,实现机器人的自主导航就要绘制机器人所处环境的地图。
目前,可以通过SLAM(Simultaneous Localization and Mapping,实时定位与地图构建)算法绘制地图。其中,在通过SLAM算法绘制地图时,通过机器人上携带的激光传感器和视觉传感器分别获取激光数据和视觉数据,激光数据为描述机器人与障碍物之间的距离的数据,视觉数据为描述机器人所在场景的数据。之后,通过机器人的车轮上安装的轮式里程计确定机器人是否发生移动,当通过轮式里程计确定机器人偏移当前位置指定阈值时,通过视觉数据和激光数据先后进行视觉闭环检测和激光闭环检测,从而根据激光闭环检测结果进行机器人的定位和地图的构建。
但是,由于机器人通常采集的激光数据较多,在进行激光闭环检测时,终端或机器人的计算量大,从而浪费了终端或机器人的运行资源,导致进行激光闭环检测的效率低。
发明内容
本发明实施例提供了一种激光数据搜索范围的确定方法、装置及存储介质,用于解决相关技术中进行激光闭环检测时检测速度慢效率低的问题。所述技术方案如下:
第一方面,提供了一种激光数据搜索范围的确定方法,所述方法包括:
获取在当前位置采集到的当前视觉图像和当前激光数据;
基于所述当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据,所述视觉数据库用于存储机器人采集到的视觉数据,所述闭环关键数据为描述所述机器人当前所处的位置为当前时间之前曾经过的位置的数据;
当确定出所述闭环关键数据时,基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围。
可选地,所述基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围,包括:
获取采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据;
基于采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据,确定采集所述闭环关键数据时所述机器人所处的位置与所述机器人当前所处的位置之间的位姿距离;
基于所述位姿距离确定所述激光数据搜索范围。
可选地,所述基于所述位姿距离确定所述激光数据搜索范围,包括:
基于所述位姿距离,通过如下公式确定所述激光数据搜索范围的最大值;
dist_adapitve=log(1+a*dist_diff)+b
其中,所述dist_adapitve用于表示所述激光数据搜索范围的最大值,所述dist_diff用于表示所述位姿距离,所述a为常数,所述b为常数;
将0到所述最大值之间的范围确定为所述激光数据搜索范围。
可选地,所述基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围之后,还包括:
基于所述当前激光数据和激光数据库,按照所述激光数据搜索范围进行激光闭环检测,以确定与所述当前激光数据匹配的历史激光数据,所述激光数据库用于存储所述机器人采集到的激光数据;
基于所述历史激光数据,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到地图数据。
可选地,所述基于所述历史激光数据,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到地图数据,包括:
确定采集所述历史激光数据时所述机器人所处位置与当前所处位置之间的位置误差;
当所述位置误差不为0时,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到所述地图数据中。
第二方面,提供了一种激光数据搜索范围的确定装置,所述装置包括:
获取模块,用于获取在当前位置采集到的当前视觉图像和当前激光数据;
第一检测模块,用于基于所述当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据,所述视觉数据库用于存储机器人采集到的视觉数据,所述闭环关键数据为描述所述机器人当前所处的位置为当前时间之前曾经过的位置的数据;
确定模块,用于当确定出所述闭环关键数据时,基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围。
可选地,所述确定模块包括:
获取子模块,用于获取采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据;
第一确定子模块,用于基于采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据,确定采集所述闭环关键数据时所述机器人所处的位置与所述机器人当前所处的位置之间的位姿距离;
第二确定子模块,用于基于所述位姿距离确定所述激光数据搜索范围。
可选地,所述第二确定子模块用于:
基于所述位姿距离,通过如下公式确定所述激光数据搜索范围的最大值;
dist_adapitve=log(1+a*dist_diff)+b
其中,所述dist_adapitve用于表示所述激光数据搜索范围的最大值,所述dist_diff用于表示所述位姿距离,所述a为常数,所述b为常数;
将0到所述最大值之间的范围确定为所述激光数据搜索范围。
可选地,所述装置还包括:
第二检测模块,用于基于所述当前激光数据和激光数据库,按照所述激光数据搜索范围进行激光闭环检测,以确定与所述当前激光数据匹配的历史激光数据,所述激光数据库用于存储所述机器人采集到的激光数据;
写入模块,用于基于所述历史激光数据,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到地图数据。
可选地,所述写入模块包括:
第三确定子模块,用于确定采集所述历史激光数据时所述机器人所处位置与当前所处位置之间的位置误差;
写入子模块,用于当所述位置误差不为0时,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到所述地图数据中。
第三方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法。
第四方面,提供了一种终端,所述终端包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面提供的任一项方法的步骤。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面提供的任一项方法的步骤。
本发明实施例提供的技术方案带来的有益效果至少包括:
在本发明实施例中,可以在获取在当前位置采集到的当前视觉图像和当前激光数据后,进行视觉闭环检测,以确定闭关关键数据,并在确定出闭环关键数据后,根据采集闭环关键数据时采集到的激光数据和当前激光数据,确定激光数据搜索范围。由于激光数据搜索范围可根据每一次确定的闭环关键数据确定,从而保证激光数据搜索范围的动态性。另外,由于激光数据搜索范围内的激光数据的数据量小于采集的所有激光数据的数据量,因此,后续在根据激光数据搜索范围进行激光闭环检测时,可以降低进行激光闭环检测的计算量和耗费时长,提高了进行激光闭环检测的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种激光数据搜索范围的确定方法的流程图;
图2是本发明实施例提供的另一种激光数据搜索范围的确定方法的流程图;
图3是本发明实施例提供的一种确定当前视觉图像中的对象相对于历史视觉图像中的对象是否发生运动的示意图;
图4是本发明实施例提供的一种通过轮式里程计确定的机器人是否移动的示意图;
图5是本发明实施例提供的一种确定激光数据搜索范围的示意图;
图6是本发明实施例提供的一种描述位姿距离与激光数据搜索范围关系的示意图;
图7是本发明实施例提供的一种激光数据搜索范围的确定装置结构示意图;
图8是本发明实施例提供的一种确定模块的结构示意图;
图9是本发明实施例提供的另一种激光数据搜索范围的确定装置结构示意图;
图10是本发明实施例提供的一种写入模块的结构示意图;
图11是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细的解释说明之前,先对本发明实施例中涉及到的应用场景别进行解释说明。
随着自主机器人的发展,机器人自主进行定位及构建地图的技术越来越受关注。目前,通常是通过SLAM算法进行机器人的自主定位和构建地图。其中,在通过SLAM算法进行机器人的自主定位和构建地图时,可以通过机器人上携带的激光传感器和视觉传感器分别获取激光数据和视觉数据,并通过视觉数据和激光数据进行机器人的闭环检测,从而根据闭环检测结果进行机器人的定位和地图的构建。但是,由于机器人长时间移动后,通过激光传感器采集的激光数据较多,在进行激光闭环检测时计算量大,从而不仅造成运行资源的浪费,还导致机器人闭环检测的效率低。
基于这样的场景,本发明实施例提供了一种能够提高机器人闭环检测效率的激光数据搜索范围的确定方法。
在对本发明实施例的应用场景进行介绍之后,接下来将结合附图对本发明实施例提供的激光数据搜索范围的确定方法进行详细介绍。
图1为本发明实施例提供的一种激光数据搜索范围的确定方法的流程图,参见图1,该方法包括如下步骤。
步骤101:终端或机器人获取在当前位置采集到的当前视觉图像和当前激光数据。
其中,机器人上通常安装有视觉传感器和激光传感器,因此,机器人可以通过安装的视觉传感器采集当前所处位置的视觉图像,得到当前视觉图像,并通过激光传感器采集当前所处位置的激光数据,得到当前激光数据。
需要说明的是,该终端为能够与机器人进行通信的终端,在机器人通过安装的视觉传感器采集到当前视觉图像,并通过安装的激光传感器采集到当前激光数据时,该机器人可以将采集到的当前视觉图像和当前激光数据发送给终端,从而终端可以获取到当前视觉图像和当前激光数据。
步骤102:终端或机器人基于该当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据,该视觉数据库用于存储机器人采集到的视觉数据,该闭环关键数据为描述该机器人当前所处的位置为当前时间之前曾经过的位置的数据。
由于通常情况下,完整的机器人闭环检测包括视觉闭环检测和激光闭环检测,且激光闭环检测只有在视觉闭环检测成功的情况下进行。因此,终端或机器人可以基于该当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据。如果成功确定该闭环关键数据,则继续进行下述步骤103的操作,否则结束本次闭环检测操作。
步骤103:当终端或机器人确定出该闭环关键数据时,基于采集该闭环关键数据时采集到的激光数据和该当前激光数据,确定进行激光闭环检测的激光数据搜索范围。
由于通常情况下,机器人的闭环检测离不开视觉图像和激光数据,因此,机器人每一次在采集视觉图像时都会同时采集激光数据,也即是,每一个激光数据都会对应有一个视觉图像。因此,当终端或机器人确定出该闭环关键数据时,终端或机器人可以基于采集闭环关键数据时采集到的激光数据和当前激光数据,确定激光数据搜索范围。
在本发明实施例中,终端或机器人可以在获取在当前位置采集到的当前视觉图像和当前激光数据后,进行视觉闭环检测,以确定闭关关键数据,并在确定出闭环关键数据后,根据采集闭环关键数据时采集到的激光数据和当前激光数据,确定激光数据搜索范围。由于激光数据搜索范围可以根据每一次确定的闭环关键数据确定,从而保证激光数据搜索范围的动态性。另外,由于激光数据搜索范围内的激光数据的数据量小于机器人采集的所有激光数据的数据量,因此,后续在根据激光数据搜索范围进行激光闭环检测时,可以降低进行激光闭环检测的计算量和耗费时长,提高了进行激光闭环检测的效率。
图2是本发明实施例提供的一种激光数据搜索范围的确定方法的流程图,本发明实施例将结合附图2对上述图1所示的实施例进行详细的解释说明,参见图2,该方法具体包括如下步骤。
步骤201:终端或机器人获取在当前位置采集到的当前视觉图像和当前激光数据。
其中,终端或机器人获取在当前位置采集到的当前视觉图像和当前激光数据的操作可以参开上述步骤101的操作,本发明实施例对此不再进行一一赘述。
步骤202:终端或机器人基于该当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据,该视觉数据库用于存储机器人采集到的视觉数据,该闭环关键数据为描述该机器人当前所处的位置为当前时间之前曾经过的位置的数据。
其中,终端或机器人可以将当前视觉图像与视觉数据库中的所有视觉数据进行特征匹配,当视觉数据库中存在与当前视觉图像相匹配的视觉数据时,将与该当前视觉图像相匹配的视觉数据确定为闭环关键数据。
需要说明的是,终端或机器人将当前视觉图像与视觉数据库中的所有视觉数据进行特征匹配的操作可以参考相关技术,本发明实施例对此不再进行一一赘述。
另外,由于机器人当前所在位置可能是之前从未经过的位置,那么终端或机器人进行视觉闭环检测后,可能无法确定闭环关键数据,此时,终端或机器人可以结束本次机器人闭环检测的操作,不再继续进行后续激光闭环检测操作。
需要说明的是,当终端或机器人无法确定闭环关键数据时,说明机器人当前所处的位置为当前时间之前未曾经过的位置,如果继续进行后续的激光闭环检测操作,那么后续机器人定位将不准确,且在进行地图构建后,构建的地图也将非常的不准确。因此,当终端或机器人无法确定闭环关键数据时,可以结束本次机器人闭环检测的操作。
进一步地,由于通常情况下,终端或机器人只有在机器人发生移动时才会进行闭环检测,因此,终端或机器人在基于该当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据之前,需要确定机器人是否发生移动。
在第一种可能的实现方式中,由于当机器人发生移动时,安装在机器人上的视觉传感器在机器人移动前和移动后所采集的视觉图像是不相同的,因此,终端或机器人可以检测当前视觉图像中的对象相对于历史视觉图像中的对象是否发生了运动,该历史视觉图像为采集时间早于当前视觉图像的视觉图像;当检测到当前视觉图像中的对象相对于历史视觉图像中的对象发生了运动时,说明机器人发生了运动,此时终端或机器人可以基于该当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据。
其中,终端或机器人检测当前视觉图像中的对象相对于历史视觉图像中的对象是否发生运动的操作可以包括如下两种方式。
第一种方式,终端或机器人分别对当前视觉图像和历史视觉图像进行特征提取,得到第一视觉特征点和第二视觉特征点;根据第一视觉特征点和第二视觉特征点,确定当前视觉图像与历史视觉图像之间的场景重合度;当该场景重合度小于第一预设阈值时,确定当前视觉图像中的对象相对于历史视觉图像中的对象发生了运动;当该场景重合度大于或等于第一预设阈值时,确定当前视觉图像中的对象相对于历史视觉图像中的对象机会未发生运动。具体流程可参见图3。
需要说明的是,对当前视觉图像和历史视觉图像进行特征提取,可以是对当前视觉图像和历史视觉图像中的对象的轮廓、颜色特征、纹理特征、空间关系等特征点的提取。
其中,终端或机器人可以将该第一视觉特征点和第二视觉特征点一一进行比较,并确定当前视觉图像中特征与第二视觉特征点相同的第一视觉特征点的相同个数,将相同个数除以当前视觉图像中第一数据特征点的总个数,得到当前视觉图像与历史视觉图像之间的场景重合度。
比如,终端或机器人从当前视觉图像中得到10个第一视觉特征点,从历史视觉图像中得到10个第二视觉特征点,将10个第一视觉特征点中每个第一视觉特征点分别与10个第二视觉特征点进行比较,当当前视觉图像中特征与第二视觉特征点相同的第一视觉特征点的相同个数为8个时,将8除以当前视觉图像中第一数据特征点的总个数10,得到当前视觉图像与历史视觉图像之间的场景重合度为80%。
需要说明的是,该终端或机器人可以通过SIFT(Scale-invariant featuretransform,尺度不变特征变换)算法、ORB(Oriented FAST and Rotated BRIEF,快速特征点提取和描述)算法、FAST(Features fromaccelerated segment test,角点检测)算法等进行特征提取。
另外,该第一预设阈值可以事先设置,比如该第一预设阈值可以为90%、95%等等。
另外,终端或机器人还可以事先设置第二预设阈值,该第二预设阈值小于第一预设阈值,当该场景重合度小于第二预设阈值时,说明机器人移动异常,该机器人的视觉传感器可能出现问题,比如,视觉传感器安装在机器人正前方时,由于安装不牢固可能会发生移动,从而在机器人未发生移动时,终端或机器人可能会根据该视觉传感器采集的视觉图像确定当前视觉图像中的对应相对于历史视觉图像中的对象发生了运动。此时,终端或机器人可以进行告警提示,该告警提示,该告警提示用于提示用户视觉传感器的位置发生变化,需要对视觉传感器的位置进行调整。
需要说明的是,该第二预设阈值可以事先设置,比如,该第二预设阈值可以为10%、5%等等。
再者,在本发明实施例中,历史视觉图像为采集时间早于当前视觉图像的视觉图像,因此,该历史视觉图像可以为早于当前时间采集的多张视觉图像中的任一张视觉图像。由于当历史视觉图像为基于当前采集时间最近时间所采集的图像时,如果机器人移动速度非常慢,而视觉图像的采集速度非常快时,那么当前视觉图像与历史视觉图像之间场景重合度大于第一预设阈值的可能性会非常高,从而导致无法进行后续将当前视觉图像和当前激光数据作为优化节点信息写入到地图数据的操作。因此,为了能够顺利进行将当前视觉图像和当前激光数据作为优化节点信息写入到地图数据的操作,终端或机器人可以将采集时间与当前视觉图像的采集时间相距预设时长的视觉图像,或者采集时间与当前视觉图像的采集时间之间的时长大于预设时长的视觉图像确定为历史视觉图像。或者,将上一次写入地图数据的节点信息包括的视觉图像确定为历史视觉图像。
需要说明的是,该预设时长可以事先设置,比如,该预设时长可以为5秒、6秒、7秒等。
第二种方式,当该当前视觉图像中不存在目标对象时,确定当前视觉图像中的对象相对于历史视觉图像中的对象发生了运动,该目标对象为该历史视觉图像中的对象;当该当前视觉图像中存在该目标对象时,确定该目标对象在该历史视觉图像中的位置,以及确定该目标对象在当前视觉图像中的位置;当目标对象在当前视觉图像中的位置与在历史视觉图像中的位置不相同时,确定当前视觉图像中的对象相对于历史视觉图像中的对象发生了运动。
由于当机器人未发生移动时,机器人在未移动期间所拍摄的多张视觉图像的内容应该为相同的,也即是,机器人在未发生移动时,目标对象在当前视觉图像中的位置与在历史视觉图像中的位置是相同的。因此,可以通过确定当前视觉图像中是否存在目标对象,以及在存在目标对象时,通过目标对象在当前视觉图像的位置和在历史视觉图像中的位置是否相同,来确定当前视觉图像中的对象相对于历史视觉图像中的对象是否发生运动。
值得说明的是,由于可以通过当前视觉图像中的对象和历史视觉图像中的对象的变化,即可确定机器人还是否发生移动,无需单独通过轮式里程计确定机器人是否发生运动,避免了出现因对机器人运行分析不当而导致的定位和地图构建不准确,从而提高了机器人定位和地图构建的准确性。
在第二种可能的实现方式中,终端或机器人获取机器人车轮上安装的轮式里程计记录的机器人的里程计数据,并根据该里程计数据确定机器人的移动状态;当通过移动状态确定该机器人已移动时,执行上述步骤202中的操作;当通过移动状态确定该机器人未发生移动时,确定该机器人的视觉传感器位置发生变化,无需进行后续的激光闭环检测的操作。具体流程可参见图4。
其中,当机器人的里程计数据包括X方向的位移变化、Y方向的位移变化和机器人的角度变化时,如果机器人在X方向的位移变化和在Y方向的位移变化中任一方向的位移变化超过预设位移阈值,或者该机器人的角度变化超过预设角度阈值时,则终端或机器人确定该机器人已移动;当机器人在X方向的位移变化和在Y方向的位移变化均未超过预设位移阈值,且该机器人的角度变化未超过预设角度阈值时,则终端或机器人确定该机器人未移动。
需要说明的是,机器人的角度是指机器人在移动过程中旋转的角度,比如,机器人原地旋转180度,那么180度即为机器人的角度。
由于轮式里程计可以记录机器人左右轮旋转的圈数及机器人的旋转角度,因此,终端或机器人可以通过轮式里程计左右轮旋转的圈数和机器人的旋转角度确定机器人的里程计数据。
其中,终端或机器人以上一次进行机器人闭环检测成功后的时间为起点,确定在本次采集到当前视觉图像时轮式里程计记录的左右轮旋转的圈数及机器人的旋转角度,将左右轮旋转的圈数乘以左右轮的周长,得到机器人的位移变化;将机器人前进方向确定为Y方向,当机器人的旋转角度未发生变化时,确定机器人在Y方向上发生位移变化,当机器人的旋转角度为90度或-90度后进行位移变化时,确定机器人在X方向上发生位移变化,并确定机器人的角度为90度或-90度;当机器人未发生X方向或Y方向上的位移变化,但轮式里程计记录有的旋转角度时,将该旋转角度确定为机器人的角度。
需要说明的是,该预设位移阈值可以事先设置,比如,该预设位移阈值可以为15厘米、30厘米等等。该预设角度阈值同样可以事先设置,比如,该预设角度阈值可以为20度、30度等等。
再者,由于当该机器人的视觉传感器位置发生变化后,可能会影响后续进行机器人闭环检测的操作,因此,终端或机器人可以在确定该机器人的视觉传感器位置发生变化后,进行告警提醒。
值得说明的是,由于终端或机器人在确定当前视觉图像中的对象相对于历史视觉图像中的对象发生运动时,可能是机器人因机器人自主移动发生了变化,也可能是因机器人上的视觉传感器发生移动导致发生运动,当终端或机器人因视觉传感器的移动而确定当前视觉图像中的对象相对于历史视觉图像中的对象发生运动时,后续闭环检测的结果可能会不准确。因此,为了提高后续闭环检测结果的准确性,在终端或机器人在通过上述第一种可能的实现方式确定当前视觉图像中的对象相对于历史视觉图像中的对象发生运动后,还可以继续通过第二种可能的实现方式进一步确定机器人是否发生移动。
进一步地,在本发明实施例中,当终端或机器人在确定当前视觉图像中的对象相对于历史视觉图像中的对象发生运动后,继续通过机器人上安装的轮式里程计确定机器人的移动状态时,终端或机器人可以在确定机器人发生移动后将当前视觉图像和当前激光数据对应存储。
由于视觉图像存储于视觉数据库,激光数据存储于激光数据库,因此,终端或机器人可以将当前视觉图像存储于视觉数据库,将当前激光数据存储于激光数据库。通常情况下,由于数据库与数据库之间可进行关联,因此,可以将视觉数据库和激光数据库进行关联,从而实现当前视觉图像与当前激光数据之间的对应存储。
步骤203:当终端或机器人确定出该闭环关键数据时,基于采集该闭环关键数据时采集到的激光数据和该当前激光数据,确定进行激光闭环检测的激光数据搜索范围。
由于进行机器人的闭环检测的目的是后续能够进行机器人定位及地图构建,且机器人定位及地图构建与机器人所处位置相关。因此,机器人每一次在采集视觉图像和激光数据的同时,终端或机器人还会确定机器人当前的位姿数据。因此,终端或机器人基于采集闭环关键数据时采集到的激光数据和当前激光数据,确定激光数据搜索范围的操作可以为:获取采集闭环关键数据时机器人的位姿数据和采集当前激光数据时机器人的位姿数据;基于采集闭环关键数据时机器人的位姿数据和采集当前激光数据时机器人的位姿数据,确定采集该闭环关键数据时该机器人所处的位置与该机器人当前所处的位置之间的位姿距离;基于该位姿距离确定该激光数据搜索范围。具体流程可参见图5。
其中,位姿数据可以描述机器人所在位置以及姿态,该姿态可以为机器人正面的朝向等等。由于位姿距离可以用于描述物体的空间距离,因此,该位姿距离可以是欧式距离也可以是其他类型的距离。
另外,终端或机器人可以基于该位姿距离,通过如下指定公式确定该激光数据搜索范围的最大值,将0到该最大值之间的范围确定为激光数据搜索范围。
dist_adapitve=log(1+a*dist_diff)+b (1)
需要说明的是,在上述指定公式(1)中,dist_adapitve用于表示激光数据搜索范围的最大值;dist_diff用于表示位姿距离,a为常数,b为常数。
进一步地,当常数a和b未知时,终端或机器人在基于该位姿距离,通过指定公式确定该激光数据搜索范围的最大值之前,还需要确定常数a和b,从而确定该指定公式。
其中,终端或机器人可以事先设置带有对数公式未知常数a和b的对数公式、最大位姿距离、最小位姿距离、最大位姿距离对应的激光数据搜索范围的最大值以及最小位姿距离对应的激光数据搜索范围的最大值,将最大位姿距离和最大位姿距离对应的激光数据搜索范围的最大值代入带有未知常数a和b的对数公式,得到第一未知公式,将最小位姿距离和最小位姿距离对应的激光数据搜索范围的最大值代入带有未知常数a和b的对数公式,得到第二未知公式,对该第一未知公式和第二未知公式进行求解,得到未知常数a和b的数值,将常数a和b代入对数公式得到该指定公式。
进一步地,由于确定激光数据搜索范围是为了进行激光闭环检测,因此,终端或机器人在确定激光数据搜索范围之后,可以基于当前激光数据和激光数据库,按照该激光数据搜索范围进行激光闭环检测,以确定与该当前激光数据匹配的历史激光数据,该激光数据库用于存储机器人采集到的激光数据。
其中,由于闭环关键数据为描述该机器人当前所处的位置为当前时间之前曾经过的位置的数据,激光数据库中可能会存在与当前激光数据相同或相似的激光数据。因此,终端或机器人在进行激光闭环检测时,可以根据当前激光数据与激光数据搜索范围内的激光数据,分别确定当前激光数据为激光数据搜索范围内的激光数据的概率,确定概率最大的激光数据为与当前激光数据匹配的历史激光数据。
需要说明的是,在本发明实施例中,终端或机器人可以基于当前激光数据和激光数据库,按照该激光数据搜索范围进行激光闭环检测,也可以在确定出该闭环关键数据后,直接基于当前激光数据和激光数据库,进行激光闭环检测。
值得说明的是,由于激光数据搜索范围是根据当前视觉图像动态确定的,且激光数据搜索范围内的激光数据仅为激光数据库中的部分数据,因此,终端或机器人按照该激光数据搜索范围进行激光闭环检测时,运算量较小,消耗的运行资源也小,从而提高了终端或机器人***的稳定性。
另外,由于指定公式可以为对数公式,因此,可以通过坐标系描述位姿距离与激光数据搜索范围的最大值之间的关系。比如,参见图6,用坐标横轴描述位姿距离,坐标纵轴描述激光数据搜索范围的最大值。其中,从图6中可以很明显的看出来,当位姿距离较小时,为了能够成功确定历史激光数据,仍然需要选择一个相对较大的激光数据搜索范围;而当位姿距离较大时,则只需要一个相对较小的激光数据搜索范围,因此,通过该激光数据搜索范围进行激光闭环检测可以避免搜索时间过长,提高了终端或机器人***的稳定性。
更进一步地,通常情况下,终端或机器人进行进行闭环检测的目的是进行机器人的实时定位及地图构建。因此,终端或机器人在得到历史激光数据后,可以基于历史激光数据,将当前视觉图像和当前激光数据作为优化节点信息写入到地图数据。
其中,终端或机器人确定采集历史激光数据时该机器人所处位置与当前所处位置之间的位置误差;当该位置误差不为0时,将当前视觉图像和当前激光数据作为优化节点信息写入到地图数据中。
由上述可知,位姿数据可以描述机器人所在位置以及姿态,因此,当终端或机器人确定出该历史激光数据后,可以从历史位姿数据中确定机器人采集历史激光数据时机器人所处位置,从当前位姿数据中确定机器人当前所处的位置,并确定机器人采集历史激光数据时机器人所处位置与当前所处位置的位置误差。该历史位姿数据为采集历史激光数据时确定的机器人的位姿数据,当前位姿数据为采集当前激光数据时确定的机器人的位姿数据。
其中,终端或机器人可以确定机器人移动前所处位置为机器人的初始位置,后续机器人每一次采集视觉图像和激光数据时,可以通过安装在机器人上的里程计确定机器人当前所处位置相对初始位置的偏移量,根据机器人初始位置和相对初始位置的偏移量确定机器人当前所处的位置。
需要说明的是,当里程计为轮式里程计时,该轮式里程计可以记录机器人左右轮旋转的圈数和机器人旋转的角度,因此,终端或机器人可以将左右轮旋转的圈数乘以左右轮的周长,得到机器人的位移偏移量,以机器人移动前机器人正面面对的方向为正方向,根据机器人的旋转角度,确定机器人相对于正方向的角度偏移量。
另外,终端或机器人根据机器人初始位置和相对初始位置的偏移量确定机器人当前所处的位置的操作可以为:建立平面直接坐标系,将机器人的初始位置确定为(0,0)点,将机器人移动前正面面对的方向确定为X轴,根据该角度偏移量和位移偏移量确定机器人的坐标,将该坐标描述的位置确定为机器人当前所处的位置。
再者,由于终端或机器人还可以确定机器人每一次采集视觉图像和激光数据时机器人的位姿数据,且将当前视觉图像和当前激光数据作为优化节点信息写入到地图数据的操作与机器人所处的位置相关。因此,终端或机器人还可以将每一次确定的机器人的位姿数据存储至位姿数据库,并将该位姿数据库分别与视觉数据库和激光数据库进行关联,从而实现当前视觉图像、当前激光数据和当前位姿数据之间的对应存储。
值得说明的是,由于通常情况下,终端或机器人会将视觉传感器采集到的视觉图像和激光传感器采集到的激光数据进行存储,因此,当机器人较长时间移动之后,视觉图像和激光数据占用的内存和存储空间将会越来越大,从而导致后需计算复杂,且终端或机器人运行困难。而本发明实施例中,终端或机器人是在确定当前视觉图像中的对象相对于历史视觉图像中的对象发生运动后,或者在当前视觉图像中的对象相对于历史视觉图像中的对象发生运动且根据机器人的里程计数据确定机器人发生移动后,将当前视觉图像和当前激光数据进行对应存储,从而大幅降低了对终端或机器人的内存和存储空间的占用。同时,由于视觉数据库和激光数据库中存储的数据量越少,终端或机器人进行闭环检测、定位及地图构建等算法的运算量就越少,从而降低了终端或机器人的资源消耗。
进一步地,终端或机器人在将优化节点信息写入地图数据之后,还可以根据优化节点信息和地图数据中的其他节点信息生成优化条件,并根据优化条件与位置误差对地图数据中其他节点信息包括的位姿数据进行优化,从而实现对地图的优化。
在本发明实施例中,终端或机器人可以在获取在当前位置采集到的当前视觉图像和当前激光数据后,进行视觉闭环检测,以确定闭关关键数据,并在确定出闭环关键数据后,根据采集闭环关键数据时采集到的激光数据和当前激光数据,确定激光数据搜索范围。由于激光数据搜索范围可以根据每一次确定的闭环关键数据确定,从而保证激光数据搜索范围的动态性。另外,由于激光数据搜索范围内的激光数据仅为激光数据库中的部分数据,那么激光数据搜索范围内的激光数据的数据量小于机器人采集的所有激光数据的数据量。因此,终端或机器人按照该激光数据搜索范围进行激光闭环检测时,运算量较小,消耗的运行资源也小,降低进行激光闭环检测的计算量和耗费时长,从而提高了终端或机器人***的稳定性以及进行闭环检测的效率。
在对本发明实施例提供的激光数据搜索范围的确定方法进行解释说明之后,接下来,对本发明实施例提供的激光数据搜索范围的确定装置进行介绍。
图7是本公开实施例提供的一种激光数据搜索范围的确定装置的框图,参见图7,该激光数据搜索范围的确定装置可以由软件、硬件或者两者的结合实现。该装置包括:获取模块701、第一检测模块702和确定模块703。
获取模块701,用于获取在当前位置采集到的当前视觉图像和当前激光数据;
第一检测模块702,用于基于所述当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据,所述视觉数据库用于存储机器人采集到的视觉数据,所述闭环关键数据为描述所述机器人当前所处的位置为当前时间之前曾经过的位置的数据;
确定模块703,用于当确定出所述闭环关键数据时,基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围。
可选地,参见图8,所述确定模块703包括:
获取子模块7031,用于获取采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据;
第一确定子模块7032,用于基于采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据,确定采集所述闭环关键数据时所述机器人所处的位置与所述机器人当前所处的位置之间的位姿距离;
第二确定子模块7033,用于基于所述位姿距离确定所述激光数据搜索范围。
可选地,所述第二确定子模块7033用于:
基于所述位姿距离,通过如下公式确定所述激光数据搜索范围的最大值;
dist_adapitve=log(1+a*dist_diff)+b
其中,所述dist_adapitve用于表示所述激光数据搜索范围的最大值,所述dist_diff用于表示所述位姿距离,所述a为常数,所述b为常数;
将0到所述最大值之间的范围确定为所述激光数据搜索范围。
可选地,参见图9,所述装置还包括:
第二检测模块704,用于基于所述当前激光数据和激光数据库,按照所述激光数据搜索范围进行激光闭环检测,以确定与所述当前激光数据匹配的历史激光数据,所述激光数据库用于存储所述机器人采集到的激光数据;
写入模块705,用于基于所述历史激光数据,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到地图数据。
可选地,参见图10,所述写入模块705包括:
第三确定子模块7051,用于确定采集所述历史激光数据时所述机器人所处位置与当前所处位置之间的位置误差;
写入子模块7052,用于当所述位置误差不为0时,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到所述地图数据中。
综上所述,在本发明实施例中,终端或机器人可以在获取在当前位置采集到的当前视觉图像和当前激光数据后,进行视觉闭环检测,以确定闭关关键数据,并在确定出闭环关键数据后,根据采集闭环关键数据时采集到的激光数据和当前激光数据,确定激光数据搜索范围。由于激光数据搜索范围可以根据每一次确定的闭环关键数据确定,从而保证激光数据搜索范围的动态性。另外,由于激光数据搜索范围内的激光数据仅为激光数据库中的部分数据,那么激光数据搜索范围内的激光数据的数据量小于机器人采集的所有激光数据的数据量。因此,终端或机器人按照该激光数据搜索范围进行激光闭环检测时,运算量较小,消耗的运行资源也小,降低进行激光闭环检测的计算量和耗费时长,从而提高了终端或机器人***的稳定性以及进行闭环检测的效率。
需要说明的是:上述实施例提供的激光数据搜索范围的确定装置在确定激光数据搜索范围时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的激光数据搜索范围的确定装置与激光数据搜索范围的确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11示出了本发明一个示例性实施例提供的终端1100的结构框图。该终端1100可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中方法实施例提供的激光数据搜索范围的确定方法。
在一些实施例中,终端1100还可选包括有:***设备接口1103和至少一个***设备。处理器1101、存储器1102和***设备接口1103之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1103相连。具体地,***设备包括:射频电路1104、触摸显示屏1105、摄像头1106、音频电路1107、定位组件1108和电源1109中的至少一种。
***设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和***设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和***设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置终端1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1108可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制触摸显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1113可以设置在终端1100的侧边框和/或触摸显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在触摸显示屏1105的下层时,由处理器1101根据用户对触摸显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商Logo时,指纹传感器1114可以与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制触摸显示屏1105的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1105的显示亮度;当环境光强度较低时,调低触摸显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,通常设置在终端1100的前面板。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制触摸显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制触摸显示屏1105从息屏状态切换为亮屏状态。
也即是,本发明实施例不仅提供了一种终端,包括处理器和用于存储处理器可执行指令的存储器,其中,处理器被配置为执行图1和图2所示的实施例中的方法,而且,本发明实施例还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时可以实现图1和图2所示的实施例中的激光数据搜索范围的确定方法。
本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种激光数据搜索范围的确定方法,其特征在于,所述方法包括:
获取在当前位置采集到的当前视觉图像和当前激光数据;
基于所述当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据,所述视觉数据库用于存储机器人采集到的视觉数据,所述闭环关键数据为描述所述机器人当前所处的位置为当前时间之前曾经过的位置的数据;
当确定出所述闭环关键数据时,基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围,所述激光数据搜索范围内的激光数据的数据量小于所述机器人采集的所有激光数据的数据量。
2.如权利要求1所述的方法,其特征在于,所述基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围,包括:
获取采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据;
基于采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据,确定采集所述闭环关键数据时所述机器人所处的位置与所述机器人当前所处的位置之间的位姿距离;
基于所述位姿距离确定所述激光数据搜索范围。
3.如权利要求2所述的方法,其特征在于,所述基于所述位姿距离确定所述激光数据搜索范围,包括:
基于所述位姿距离,通过如下公式确定所述激光数据搜索范围的最大值;
dist_adapitve=log(1+a*dist_diff)+b
其中,所述dist_adapitve用于表示所述激光数据搜索范围的最大值,所述dist_diff用于表示所述位姿距离,所述a为常数,所述b为常数;
将0到所述最大值之间的范围确定为所述激光数据搜索范围。
4.如权利要求1所述的方法,其特征在于,所述基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围之后,还包括:
基于所述当前激光数据和激光数据库,按照所述激光数据搜索范围进行激光闭环检测,以确定与所述当前激光数据匹配的历史激光数据,所述激光数据库用于存储所述机器人采集到的激光数据;
基于所述历史激光数据,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到地图数据。
5.如权利要求4所述的方法,其特征在于,所述基于所述历史激光数据,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到地图数据,包括:
确定采集所述历史激光数据时所述机器人所处位置与当前所处位置之间的位置误差;
当所述位置误差不为0时,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到所述地图数据中。
6.一种激光数据搜索范围的确定装置,其特征在于,所述装置包括:
获取模块,用于获取在当前位置采集到的当前视觉图像和当前激光数据;
第一检测模块,用于基于所述当前视觉图像和视觉数据库进行视觉闭环检测,以确定闭环关键数据,所述视觉数据库用于存储机器人采集到的视觉数据,所述闭环关键数据为描述所述机器人当前所处的位置为当前时间之前曾经过的位置的数据;
确定模块,用于当确定出所述闭环关键数据时,基于采集所述闭环关键数据时采集到的激光数据和所述当前激光数据,确定进行激光闭环检测的激光数据搜索范围,所述激光数据搜索范围内的激光数据的数据量小于所述机器人采集的所有激光数据的数据量。
7.如权利要求6所述的装置,其特征在于,所述确定模块包括:
获取子模块,用于获取采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据;
第一确定子模块,用于基于采集所述闭环关键数据时所述机器人的位姿数据和采集所述当前激光数据时所述机器人的位姿数据,确定采集所述闭环关键数据时所述机器人所处的位置与所述机器人当前所处的位置之间的位姿距离;
第二确定子模块,用于基于所述位姿距离确定所述激光数据搜索范围。
8.如权利要求7所述的装置,其特征在于,所述第二确定子模块用于:
基于所述位姿距离,通过如下公式确定所述激光数据搜索范围的最大值;
dist_adapitve=log(1+a*dist_diff)+b
其中,所述dist_adapitve用于表示所述激光数据搜索范围的最大值,所述dist_diff用于表示所述位姿距离,所述a为常数,所述b为常数;
将0到所述最大值之间的范围确定为所述激光数据搜索范围。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二检测模块,用于基于所述当前激光数据和激光数据库,按照所述激光数据搜索范围进行激光闭环检测,以确定与所述当前激光数据匹配的历史激光数据,所述激光数据库用于存储所述机器人采集到的激光数据;
写入模块,用于基于所述历史激光数据,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到地图数据。
10.如权利要求9所述的装置,其特征在于,所述写入模块包括:
第三确定子模块,用于确定采集所述历史激光数据时所述机器人所处位置与当前所处位置之间的位置误差;
写入子模块,用于当所述位置误差不为0时,将所述当前视觉图像和所述当前激光数据作为优化节点信息写入到所述地图数据中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810569865.8A CN110633336B (zh) | 2018-06-05 | 2018-06-05 | 激光数据搜索范围的确定方法、装置及存储介质 |
PCT/CN2019/088413 WO2019233299A1 (zh) | 2018-06-05 | 2019-05-24 | 地图构建方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810569865.8A CN110633336B (zh) | 2018-06-05 | 2018-06-05 | 激光数据搜索范围的确定方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110633336A CN110633336A (zh) | 2019-12-31 |
CN110633336B true CN110633336B (zh) | 2022-08-05 |
Family
ID=68966154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810569865.8A Active CN110633336B (zh) | 2018-06-05 | 2018-06-05 | 激光数据搜索范围的确定方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110633336B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112102400B (zh) * | 2020-09-15 | 2022-08-02 | 上海云绅智能科技有限公司 | 基于距离的闭环检测方法、装置、电子设备和存储介质 |
CN112595322B (zh) * | 2020-11-27 | 2024-05-07 | 浙江同善人工智能技术有限公司 | 一种融合orb闭环检测的激光slam方法 |
CN113345006A (zh) * | 2021-04-28 | 2021-09-03 | 视辰信息科技(上海)有限公司 | 一种闭环检测方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831446A (zh) * | 2012-08-20 | 2012-12-19 | 南京邮电大学 | 单目视觉slam中基于图像外观的闭环检测方法 |
CN103900583A (zh) * | 2012-12-25 | 2014-07-02 | 联想(北京)有限公司 | 用于即时定位与地图构建的设备和方法 |
CN106030430A (zh) * | 2013-11-27 | 2016-10-12 | 宾夕法尼亚大学理事会 | 用于使用旋翼微型航空载具(mav)在室内和室外环境中的稳健的自主飞行的多传感器融合 |
CN106272423A (zh) * | 2016-08-31 | 2017-01-04 | 哈尔滨工业大学深圳研究生院 | 一种针对大尺度环境的多机器人协同制图与定位的方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5278728B2 (ja) * | 2008-02-28 | 2013-09-04 | アイシン精機株式会社 | 距離画像センサの校正装置及び校正方法 |
CN101537613A (zh) * | 2009-01-21 | 2009-09-23 | 上海广茂达伙伴机器人有限公司 | 开放式移动机器人*** |
CN102135620A (zh) * | 2010-01-21 | 2011-07-27 | 郭瑞 | 一种基于几何统计特征的全局扫描匹配方法 |
DE102012220116A1 (de) * | 2012-06-29 | 2014-01-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Mobil handhabbare Vorrichtung, insbesondere zur Bearbeitung oder Beobachtung eines Körpers, und Verfahren zur Handhabung, insbesondere Kalibrierung, einer Vorrichtung |
CN104280740A (zh) * | 2014-10-11 | 2015-01-14 | 三峡大学 | 一种基于摄像机与激光测距传感器联合定位***孔的装置及定位方法 |
CN105607071B (zh) * | 2015-12-24 | 2018-06-08 | 百度在线网络技术(北京)有限公司 | 一种室内定位方法及装置 |
CN106153048A (zh) * | 2016-08-11 | 2016-11-23 | 广东技术师范学院 | 一种基于多传感器的机器人室内定位及制图*** |
CN107009968B (zh) * | 2017-03-28 | 2020-08-28 | 驭势科技(北京)有限公司 | 车载激光雷达控制方法、装置及车载设备 |
CN107544507A (zh) * | 2017-09-28 | 2018-01-05 | 速感科技(北京)有限公司 | 可移动机器人移动控制方法及装置 |
CN107907124B (zh) * | 2017-09-30 | 2020-05-15 | 杭州迦智科技有限公司 | 基于场景重识的定位方法、电子设备、存储介质、*** |
-
2018
- 2018-06-05 CN CN201810569865.8A patent/CN110633336B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831446A (zh) * | 2012-08-20 | 2012-12-19 | 南京邮电大学 | 单目视觉slam中基于图像外观的闭环检测方法 |
CN103900583A (zh) * | 2012-12-25 | 2014-07-02 | 联想(北京)有限公司 | 用于即时定位与地图构建的设备和方法 |
CN106030430A (zh) * | 2013-11-27 | 2016-10-12 | 宾夕法尼亚大学理事会 | 用于使用旋翼微型航空载具(mav)在室内和室外环境中的稳健的自主飞行的多传感器融合 |
CN106272423A (zh) * | 2016-08-31 | 2017-01-04 | 哈尔滨工业大学深圳研究生院 | 一种针对大尺度环境的多机器人协同制图与定位的方法 |
Non-Patent Citations (2)
Title |
---|
"G2O: a general framework for graph optimization";Kümmerle R, et al.;《Proc of IEEE International Conference on Robotics and Automation》;20110509;第3607-3613页 * |
"一种适用于激光SLAM大尺度地图的闭环检测方法";文国成 等;《计算机应用研究 网络出版》;20171017;第1-7页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110633336A (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11205282B2 (en) | Relocalization method and apparatus in camera pose tracking process and storage medium | |
US11276183B2 (en) | Relocalization method and apparatus in camera pose tracking process, device, and storage medium | |
CN110570465B (zh) | 实时定位与地图构建方法、装置及计算机可读存储介质 | |
CN110148178B (zh) | 相机定位方法、装置、终端及存储介质 | |
CN110967011A (zh) | 一种定位方法、装置、设备及存储介质 | |
CN110986930B (zh) | 设备定位方法、装置、电子设备及存储介质 | |
CN111127509B (zh) | 目标跟踪方法、装置和计算机可读存储介质 | |
CN109886208B (zh) | 物体检测的方法、装置、计算机设备及存储介质 | |
CN110633336B (zh) | 激光数据搜索范围的确定方法、装置及存储介质 | |
CN112749590B (zh) | 目标检测方法、装置、计算机设备和计算机可读存储介质 | |
CN111754386A (zh) | 图像区域屏蔽方法、装置、设备及存储介质 | |
CN111010537B (zh) | 车辆控制方法、装置、终端及存储介质 | |
CN111127541B (zh) | 车辆尺寸的确定方法、装置及存储介质 | |
CN114299468A (zh) | 车道的汇入口的检测方法、装置、终端、存储介质及产品 | |
CN111928861B (zh) | 地图构建方法及装置 | |
EP4040332A1 (en) | Method and apparatus for upgrading an intelligent model and non-transitory computer readable storage medium | |
CN111986227A (zh) | 轨迹生成方法、装置、计算机设备及存储介质 | |
CN110163192B (zh) | 字符识别方法、装置及可读介质 | |
CN113432620B (zh) | 误差估计方法、装置、车载终端及存储介质 | |
WO2021218926A1 (zh) | 图像显示方法、装置和计算机设备 | |
WO2019233299A1 (zh) | 地图构建方法、装置及计算机可读存储介质 | |
CN115545592A (zh) | 显示定位的方法、装置、设备和存储介质 | |
CN114623836A (zh) | 车辆位姿确定方法、装置及车辆 | |
CN112990421A (zh) | 优化深度学习网络的运行过程的方法、装置及存储介质 | |
CN111984755B (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 |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310051 5th floor, building 1, building 2, no.700 Dongliu Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |