CN117452464A - 定位方法、装置、机器人以及存储介质 - Google Patents
定位方法、装置、机器人以及存储介质 Download PDFInfo
- Publication number
- CN117452464A CN117452464A CN202311398825.9A CN202311398825A CN117452464A CN 117452464 A CN117452464 A CN 117452464A CN 202311398825 A CN202311398825 A CN 202311398825A CN 117452464 A CN117452464 A CN 117452464A
- Authority
- CN
- China
- Prior art keywords
- feature vector
- sampling point
- robot
- included angle
- vector
- 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 62
- 239000013598 vector Substances 0.000 claims abstract description 417
- 238000005070 sampling Methods 0.000 claims abstract description 387
- 230000007613 environmental effect Effects 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 4
- 230000005021 gait Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002572 peristaltic effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
Classifications
-
- 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
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/45—Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/08—Programme-controlled manipulators characterised by modular constructions
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
-
- 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
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
- G01S13/867—Combination of radar systems with cameras
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/87—Combinations of radar systems, e.g. primary radar and secondary radar
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种定位方法、装置、机器人以及存储介质。该方法通过获取机器人所在当前环境对应的多个第一采样点,第一采样点基于当前环境中的环境对象得到;确定第一采样点对应的第一特征向量;获取全局地图中的第二采样点对应的第二特征向量,全局地图与当前环境相对应,第二采样点包括全局地图中地图边沿线的采样点;将第一特征向量与第二特征向量进行匹配,基于得到的匹配结果确定机器人在全局地图中的目标位置。通过获取当前环境中的第一采样点及其对应的第一特征向量,以及全局地图中的第二采样点对应的第二特征向量,基于第一特征向量与第二特征向量的匹配结果确定机器人在全局地图中的目标位置,使机器人在全局地图中的定位更加准确。
Description
技术领域
本申请涉及机器人控制领域,更具体地,涉及一种定位方法、装置、机器人以及存储介质。
背景技术
机器人在室外环境进行定位是十分基础且重要的操作,机器人需要通过视野中看到的局部语义物体来确定自身在全局地图中的位置和朝向,以进行后续行进过程中的连续定位。但通常情况下,机器人多数都是以当前环境中的3D语义物体作为描述对象,例如路灯等,构建拓扑关系图,进而通过图匹配的方式进行定位。但这种方法所使用的3D语义物体在实际环境中数量有限,而且重复性较高,由此导致机器人定位不够快速准确。
发明内容
鉴于上述问题,本申请提出了一种定位方法、装置、机器人以及存储介质,以提高机器人在全局地图中定位的准确性。
第一方面,本申请实施例提供了一种定位方法,应用于机器人,所述方法包括:获取所述机器人所在当前环境对应的多个第一采样点,所述第一采样点基于所述当前环境中的环境对象得到,所述环境对象包括环境边沿线;根据所述当前环境确定所述第一采样点对应的第一特征向量;获取全局地图中的第二采样点对应的第二特征向量,所述全局地图与所述当前环境相对应,所述第二采样点包括所述全局地图中地图边沿线的采样点;将所述第一特征向量与所述第二特征向量进行匹配,基于得到的匹配结果确定所述机器人在所述全局地图中的目标位置。
第二方面,本申请实施例提供一种定位装置,应用于机器人,所述装置包括:采样点获取模块,用于获取所述机器人所在当前环境对应的多个第一采样点,所述第一采样点基于所述当前环境中的环境对象得到,所述环境对象包括环境边沿线;第一向量获取模块,用于根据所述当前环境确定所述第一采样点对应的第一特征向量;第二向量获取模块,获取全局地图中的第二采样点对应的第二特征向量,所述全局地图与所述当前环境相对应,所述第二采样点包括所述全局地图中地图边沿线的采样点;位置确定模块,用于将所述第一特征向量与所述第二特征向量进行匹配,基于得到的匹配结果确定所述机器人在所述全局地图中的目标位置。
第三方面,本申请实施例提供了一种机器人,包括机身;与所述机身通信的控制系统,所述控制系统包括处理器和与所述处理器通信的存储单元,所述存储单元存储指令,所述指令在所述处理器上被运行时使所述处理器执行操作,所述操作包括:获取所述机器人所在当前环境对应的多个第一采样点,所述第一采样点基于所述当前环境中的环境对象得到,所述环境对象包括环境边沿线;根据所述当前环境确定所述第一采样点对应的第一特征向量;获取全局地图中的第二采样点对应的第二特征向量,所述全局地图与所述当前环境相对应,所述第二采样点包括所述全局地图中地图边沿线的采样点;将所述第一特征向量与所述第二特征向量进行匹配,基于得到的匹配结果确定所述机器人在所述全局地图中的目标位置。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的定位方法。
本申请提供的方案,应用于机器人,通过获取机器人所在当前环境对应的多个第一采样点,第一采样点基于当前环境中的环境对象得到;确定第一采样点对应的第一特征向量;获取全局地图中的第二采样点对应的第二特征向量,全局地图与当前环境相对应,第二采样点包括全局地图中地图边沿线的采样点;将第一特征向量与第二特征向量进行匹配,基于得到的匹配结果确定机器人在全局地图中的目标位置。通过获取当前环境中的第一采样点及其对应的第一特征向量,以及全局地图中的第二采样点对应的第二特征向量,基于第一特征向量与第二特征向量的匹配结果确定机器人在全局地图中的目标位置,使机器人在全局地图中的定位更加准确。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的机器人的硬件结构示意图。
图2示出了本申请实施例提供的机器人的机械结构示意图。
图3示出了本申请一个实施例提供的定位方法的流程示意图。
图4示出了本申请实施例中机器人获取的局部地图的示意图。
图5示出了本申请实施例中机器人通过特征向量进行定位的示意图。
图6示出了本申请另一个实施例提供的定位方法的流程示意图。
图7示出了本申请另一个实施例中步骤S260的一种具体流程示意图。
图8示出了本申请另一个实施例中步骤S270的另一种具体流程示意图。
图9示出了本申请另一个实施例中确定候选位置的示意图。
图10示出了本申请实施例提供的定位装置的结构框图。
图11示出了本申请实施例提供的计算机可读取存储介质的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
发明人提出了本申请实施例提供的定位方法以及机器人,通过获取当前环境中的第一采样点及其对应的第一特征向量,以及全局地图中的第二采样点对应的第二特征向量,基于第一特征向量与第二特征向量的匹配结果确定机器人在全局地图中的目标位置,使机器人在全局地图中的定位更加准确。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示部件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
请参阅图1,图1为本申请其中一个实施例提供的机器人100的硬件结构示意图。机器人100可以是多种形态机器人中的任何一种,具体包括但不限于轮式机器人、足式机器人、履带式机器人、爬行机器人、蠕动式机器人或者游动式机器人等中的至少一种,例如机器人100具体可以是足式机器人,也可以是足式与轮式相结合的机器人。其中,足式机器人包括单足机器人、双足机器人或者多足机器人。多足机器人是指具有三个足或者三个以上的足式机器人,例如多足机器人具体可以是四足机器人。机器人是指一种能够半自主或全自主执行工作的机器,机器人并不限定于人形的机器装置,还可以包括例如狗、马、蛇、鱼、猿或猴等构型的机器人,例如机器人具体可以是一种四足的机器马。在图1所示的实施方式中,机器人100包括机械单元101、通讯单元102、传感单元103、接口单元104、存储单元105、显示单元106、输入单元107、处理器110、电源111。机器人100的各种部件可以以任何方式连接,包括有线或无线连接等。本领域技术人员可以理解,图1中示出的机器人100的具体结构并不构成对机器人100的限定,机器人100可以包括比图示更多或更少的部件,某些部件也并不属于机器人100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略,或者组合某些部件。
图2是根据本申请一个实施例提供的机器人的机械结构示意图。下面结合图1和图2对机器人100的各个部件进行具体的介绍:
机械单元101为机器人100的硬件。如图1所示,机械单元101可包括驱动板1011、电机1012、机械结构1013,如图2所示,机械结构1013可包括机身主体1014、可伸展的腿部1015、足部1016,在其他实施方式中,机械结构1013还可包括可伸展的机械臂(图未示)、可转动的头部结构1017、可摇动的尾巴结构1018、载物结构1019、鞍座结构1020、摄像头结构1021等。需要说明的是,机械单元101的各个部件模块可以为一个也可以为多个,可根据具体情况设置,比如腿部1015可为4个,每个腿部1015可配置3个电机1012,对应的电机1012为12个。
通讯单元102可用于信号的接收和发送,还可以通过与网络和其他设备通信,比如,接收遥控器或其他机器人100发送的按照特定步态以特定速度值向特定方向移动的指令信息后,传输给处理器110处理。通讯单元102包括如WiFi模块、4G模块、5G模块、蓝牙模块、红外模块等。
传感单元103用于获取机器人100周围环境的信息数据以及监控机器人100内部各部件的参数数据,并发送给处理器110。传感单元103包括多种传感器,如获取周围环境信息的传感器:激光雷达(用于远程物体检测、距离确定和/或速度值确定)、毫米波雷达(用于短程物体检测、距离确定和/或速度值确定)、摄像头、红外摄像头、全球导航卫星系统(GNSS,Global Navigation Satellite System)等。如监控机器人100内部各部件的传感器:惯性测量单元(IMU,Inertial Measurement Unit)(用于测量速度值、加速度值和角速度值的值),足底传感器(用于监测足底着力点位置、足底姿态、触地力大小和方向)、温度传感器(用于检测部件温度)。至于机器人100还可配置的载荷传感器、触摸传感器、电机角度传感器、扭矩传感器等其他传感器,在此不再赘述。
接口单元104可以用于接收来自外部装置的输入(例如,数据信息、电力等)并且将接收到的输入传输到机器人100内的一个或多个部件,或者可以用于向外部装置输出(例如,数据信息、电力等)。接口单元104可包括电源端口、数据端口(如USB端口)、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口等。
存储单元105用于存储软件程序以及各种数据。存储单元105可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统程序、运动控制程序、应用程序(比如文本编辑器)等;数据存储区可存储机器人100在使用中所生成的数据(比如传感单元103获取的各种传感数据,日志文件数据)等。此外,存储单元105可以包括高速随机存取存储器,还可以包括非易失性存储器,例如磁盘存储器、闪存器、或其他易失性固态存储器。
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1061。
输入单元107可用于接收输入的数字或字符信息。具体地,输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户的触摸操作(比如用户使用手掌、手指或适合的附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置1073和触摸控制器1074两个部分。其中,触摸检测装置1073检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器1074;触摸控制器1074从触摸检测装置1073上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。除了触控面板1071,输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于遥控操作手柄等中的一种或多种,具体此处不做限定。
进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来分别实现输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现输入和输出功能,具体此处不做限定。
处理器110是机器人100的控制中心,利用各种接口和线路连接整个机器人100的各个部件,通过运行或执行存储在存储单元105内的软件程序,以及调用存储在存储单元105内的数据,从而对机器人100进行整体控制。
电源111用于给各个部件供电,电源111可包括电池和电源控制板,电源控制板用于控制电池充电、放电、以及功耗管理等功能。在图1所示的实施方式中,电源111电连接处理器110,在其它的实施方式中,电源111还可以分别与传感单元103(比如摄像头、雷达、音箱等)、电机1012电性连接。需要说明的是,各个部件可以各自连接到不同的电源111,或者由相同的电源111供电。
在上述实施方式的基础上,具体地,在一些实施方式中,可以通过终端设备来与机器人100进行通信连接,在终端设备与机器人100进行通信时,可以通过终端设备来向机器人100发送指令信息,机器人100可通过通讯单元102来接收指令信息,并可在接收到指令信息的情况下,将指令信息传输至处理器110,使得处理器110可根据指令信息来处理得到目标速度值。终端设备包括但不限于:具备图像拍摄功能的手机、平板电脑、服务器、个人计算机、可穿戴智能设备、其它电器设备。
指令信息可以根据预设条件来确定。在一个实施方式中,机器人100可以包括传感单元103,传感单元103可根据机器人100所在的当前环境可生成指令信息。处理器110可根据指令信息来判断机器人100的当前速度值是否满足对应的预设条件。若满足,则会保持机器人100的当前速度值和当前步态移动;若不满足,则会根据对应的预设条件来确定目标速度值和相应的目标步态,从而可控制机器人100以目标速度值和相应的目标步态移动。环境传感器可以包括温度传感器、气压传感器、视觉传感器、声音传感器。指令信息可以包括温度信息、气压信息、图像信息、声音信息。环境传感器与处理器110之间的通信方式可以为有线通信,也可以为无线通信。无线通信的方式包括但不限于:无线网络、移动通信网络(3G、4G、5G等)、蓝牙、红外。
下面将结合附图具体描述本申请实施例提供的定位方法。
请参阅图3,图3示出了本申请一个实施例提供的定位方法的流程示意图,应用于机器人,下面将针对图3所示流程进行详细阐述,所述定位方法具体可以包括以下步骤:
步骤S110:获取机器人所在当前环境对应的多个第一采样点,第一采样点基于当前环境中的环境对象得到,环境对象包括环境边沿线。
在本申请实施例中,机器人在开机之后,可以通过摄像头、激光雷达等设备对机器人所在的当前环境进行扫描,得到当前环境对应的多个第一采样点。其中机器人可以先获取当前环境对应的局部地图,再通过对局部地图进行采样处理得到多个第一采样点,也可以直接基于扫描得到的当前环境中的环境对象,采样得到多个第一采样点。其中,机器人扫描得到的当前环境中的环境对象可以包括不同类型和形状的环境边沿线(如车行道边沿线、人行道边沿线等),还可以包括当前环境中的三维物体(如井盖、灯杆、树干、立柱等),可以理解的,通常大部分环境中都包括环境边沿线,部分区域也会包括三维物体。机器人可以通过对当前环境中的环境边沿线或者三维物体进行采样,得到环境边沿线或者三维物体分别对应的第一采样点,由此机器人后续可以基于局部地图中的多个不同的第一采样点,在全局地图中确定机器人的位姿,实现机器人定位。
其中,机器人在扫描当前环境之后,可以对当前环境中包括的环境边沿线或者三维物体进行采样,获取多个第一采样点。具体来说,对当前环境中的环境边沿线进行采样,机器人可以每间隔固定长度,如1米,获取一个第一采样点,其中相邻两个第一采样点之间间隔的固定长度可以预先设置。对当前环境中的三维物体进行采样,机器人可以将其抽象为一个二维的第一采样点,也就是将该第一采样点的高度设置为0。
步骤S120:根据当前环境确定第一采样点对应的第一特征向量。
在本申请实施例中,机器人在获取当前环境对应的多个第一采样点后,为了便于与全局地图进行匹配以确定机器人在全局地图中的目标位置,可以进一步对当前环境中的所有第一采样点进行处理,也就是得到每个第一采样点对应的第一特征向量。其中,第一采样点对应的第一特征向量可以表征该第一采样点与周围相邻的其他第一采样点之间在距离、角度、类型等方面的关系。也就是说,第一采样点对应的第一特征向量需要基于第一采样点自身及其相邻的其他第一采样点共同确定。
具体来说,机器人可以从当前环境中获取多个第一采样点,假设其中第一采样点A与第一采样点B为同一条环境边沿线上相邻的两个第一采样点,那么机器人在确定第一采样点A对应的第一特征向量中各个元素的值时,需要同时基于第一采样点A以及第一采样点B确定,同理,机器人在确定第一采样点B对应的第一特征向量中各个元素的值时,也需要同时基于第一采样点B和第一采样点A共同确定。也就是说,第一采样点对应的第一特征向量,实际上是根据两个第一采样点确定的,记录的也是这两个第一采样点之间的距离、角度、类型等方面的关系。值得注意的是,基于第一采样点A和第一采样点B确定的第一特征向量A1,是与第一采样点A关联对应的,而基于第一采样点B和第一采样点A还可以确定另一个第一特征向量B1,B1向量则是与第一采样点B关联对应的。而且,第一采样点A可以包括多个不同的第一特征向量,例如,基于第一采样点B以及第一采样点A可以得到第一采样点A对应的第一特征向量A1,基于第一采样点C以及第一采样点A可以得到第一采样点A对应的第一特征向量A2等。同理,基于第一采样点A和第一采样点B也可以得到第一采样点B对应的第一特征向量B1,基于第一采样点D和第一采样点B也可以得到第一采样点B对应的第一特征向量B2。
示例性的,请参阅图4,其示出了机器人所在当前环境对应的局部地图,以及机器人在局部地图中对环境边沿线和三维物体采样得到的多个第一采样点P1、P2、P3以及P4。机器人在基于其中的第一采样点P1获取对应的第一特征向量时,可以基于处于P1附近固定范围内的除P1以外的所有第一采样点,获取P1对应的多个第一特征向量。例如,图4中的第一采样点P2与P1之间的距离处于固定范围内,那么机器人就可以基于P2和P1的相关数据,获取P1对应的一个第一特征向量,该第一特征向量中可以包括P1的语义类型、P2的语义类型,以及P1和P2之间的距离、夹角等信息;同时机器人获取P2对应的多个第一特征向量时,第一采样点P1同样处于P2的固定范围内,那么就可以基于P1和P2的相关数据,获取第一采样点P2对应的一个第一特征向量。
步骤S130:获取全局地图中的第二采样点对应的第二特征向量,全局地图与当前环境相对应,第二采样点包括全局地图中地图边沿线的采样点。
在本申请实施例中,机器人在开机之后,还可以获取当前环境对应的全局地图,其中,全局地图不仅包括机器人通过摄像头等设备获取的当前环境对应的地图,还包括当前机器人通过摄像头等设备无法获取到的被遮挡视线的其他部分地图。可以理解的,机器人获取的全局地图是预先绘制好的地图,但机器人并不能根据全局地图准确的判断自身在全局地图中所处的准确的目标位置,而是需要通过将当前环境中的环境对象与全局地图中记录的环境对象进行匹配,由此才能根据匹配结果确定机器人的目标位置。其中,由于环境对象可以包括曲折的环境边沿线以及立体的三维物体等,难以直接进行匹配,因此,机器人可以通过将不同类型的环境对象处理为相同类型的采样点,以便于将相同类型的当前环境中的多个第一采样点与全局地图中的多个第二采样点进行匹配,进而确定机器人在全局地图中的目标位置。也就是说,为了便于匹配,机器人在获取全局地图之后,可以根据前述步骤中对当前环境中的环境对象的处理方法,对全局地图进行相同的处理,也就是得到全局地图中的多个第二采样点,以及第二采样点对应的第二特征向量。也就是说,机器人可以在全局地图中的地图边沿线上每间隔固定长度获取一个第二采样点,或者将全局地图中三维物体抽象为一个二维的第二采样点,将其高度设置为0。值得注意的是,机器人对于全局地图中地图边沿线上的相邻两个第二采样点之间的采样距离应当与在局部地图中的环境边沿线上的采样距离相同。
步骤S140:将第一特征向量与第二特征向量进行匹配,基于得到的匹配结果确定机器人在全局地图中的目标位置。
在本申请实施例中,机器人在获取当前环境中每个第一采样点对应的第一特征向量,以及全局地图中每个第二采样点对应的第二特征向量后,可以将第一特征向量与第二特征向量进行匹配,以便于基于匹配结果确定机器人在全局地图中的目标位置。可以理解的,如果当前环境中某个第一特征向量与全局地图中的某个第二特征向量相匹配,也就是说,确定第一特征向量的两个第一采样点与确定第二特征向量的两个第二采样点重合。同时,由于机器人在扫描当前环境的时候可以同步获取其中所有第一采样点的坐标数据,在获取全局地图的时候也可以获取全局地图中所有第二采样点对应的坐标数据,因此,基于上述重合关系以及各个第一采样点和第二采样点的坐标数据,机器人可以确定其在全局地图中的目标位置。请参阅图5,其示出了机器人获取的全局地图和当前环境对应的局部地图的示意图,其中局部地图如5中右下角所示。机器人在全局地图和局部地图中分别获取多个第二采样点和第一采样点,进而基于各个采样点得到多个特征向量,通过将局部地图中的第一特征向量与全局地图中的第二特征向量进行匹配,确定机器人在全局地图中可能的候选位置,进而对所有候选位置进行筛选得到最终的目标位置。在一些实施方式中,机器人确定的在全局地图中的候选位置和目标位置,不仅可以包括机器人所处的位置坐标数据,还可以包括机器人在该位置上的朝向角度等姿态数据,例如可以包括机器人在三维空间中的六自由度位姿,即俯仰角(pitch)、偏航角(yaw)、翻滚角(roll)以及机器人在三维坐标系下的坐标数据。
本申请实施例提供的定位方法,应用于机器人,通过获取机器人所在当前环境对应的多个第一采样点,第一采样点基于当前环境中的环境对象得到;确定第一采样点对应的第一特征向量;获取全局地图中的第二采样点对应的第二特征向量,全局地图与当前环境相对应,第二采样点包括全局地图中地图边沿线的采样点;将第一特征向量与第二特征向量进行匹配,基于得到的匹配结果确定机器人在全局地图中的目标位置。通过获取当前环境中的第一采样点及其对应的第一特征向量,以及全局地图中的第二采样点对应的第二特征向量,基于第一特征向量与第二特征向量的匹配结果确定机器人在全局地图中的目标位置,使机器人在全局地图中的定位更加准确。
请参阅图6,图6示出了本申请另一个实施例提供的定位方法的流程示意图,应用于机器人,下面将针对图6所示流程进行详细阐述,所述定位方法具体可以包括以下步骤:
步骤S210:获取机器人所在当前环境对应的多个第一采样点,第一采样点基于当前环境中的环境对象得到,环境对象包括环境边沿线。
在本申请实施例中,步骤S210可以参阅其他实施例的描述,在此不做赘述。
步骤S220:针对每个第一采样点,确定当前环境对应的多个第一采样点对,第一采样点对包括第一采样点,以及与第一采样点配对的参考采样点,参考采样点与第一采样点之间的距离小于目标距离阈值。
在本申请实施例中,由于机器人可以从当前环境中扫描得到多个不同的第一采样点,而每个第一采样点可以对应多个不同的第一特征向量。为了便于确定当前环境中的每个第一特征向量,机器人可以先针对每个第一采样点,从剩余的所有第一采样点中确定出能够与该第一采样点配对的参考采样点,也就是确定出能够与该第一采样点生成一个第一特征向量的所有采样点,并分别形成多个第一采样点对。具体来说,机器人可以将与第一采样点A之间的距离小于目标距离阈值的第一采样点B,作为第一采样点A对应的参考采样点B,后续机器人可以基于第一采样点A及其对应的参考采样点B,生成一个第一特征向量。
值得注意的是,针对第一采样点A而言,其与第一采样点B之间的距离小于目标距离阈值,第一采样点B可以作为第一采样点A的参考采样点,第一采样点对(A,B)可以生成一个第一特征向量A1,该第一采样点对(A,B)以及第一特征向量A1则与第一采样点A相关联。同理,针对第一采样点B而言,其与第一采样点A之间的距离同样小于目标距离阈值,第一采样点A可以作为第一采样点B的参考采样点,第一采样点对(B,A)也可以生成一个第一特征向量B1,第一采样点对(B,A)以及第一特征向量B1则与第一采样点B相关联。其中,第一特征向量A1与第一特征向量B1并不相同。
步骤S230:根据当前环境,确定第一采样点对对应的第一特征向量,第一特征向量包括第一采样点对应的第一语义类型、参考采样点对应的第二语义类型、第一采样点与参考采样点之间的第一距离、第一采样点对应的第一夹角以及参考采样点对应的第二夹角。
在本申请实施例中,第一夹角为第一采样点对应的法向量与第一采样点对应的第一匹配向量之间的夹角,第一匹配向量为从第一采样点指向参考采样点的向量;第二夹角为参考采样点对应的法向量与参考采样点对应的第二匹配向量之间的夹角,第二匹配向量为从参考采样点指向第一采样点的向量。
在本申请实施例中,机器人在针对每个第一采样点,确定多个第一采样点对之后,可以基于每个第一采样点对,确定该采样点对对应的第一特征向量。例如,第一采样点A及其对应的参考采样点B之间可以构成一个第一采样点对(A,B),进而确定一个第一特征向量A1,该向量A1包括第一采样点A对应的第一语义类型、参考采样点B对应的第二语义类型、第一采样点A与参考采样点B之间的第一距离、第一采样点A的法向量与其对应的第一匹配向量之间的第一夹角、以及参考采样点B的法向量与其对应的第二匹配向量之间的第二夹角。
其中,每个第一采样点对应的法向量可以在机器人扫描当前环境,获取多个第一采样点的时候得到,而第一匹配向量以及第二匹配向量可以在第一采样点对确定是得到。
另外,语义类型是用于表征第一采样点是环境边沿线上的二维采样点,或者是三维物体上抽象出来的采样点,机器人可以根据第一特征向量中记录的第一采样点对应的第一语义类型和参考采样点对应的第二语义类型,判断第一特征向量与全局地图中的第二特征向量之间是否匹配。可以理解的,若第一特征向量中第一采样点为环境边沿线上的采样点,而第二特征向量中第二采样点却为三维物体上的采样点,那么此时第一特征向量与第二特征向量不匹配,机器人也不必再进一步判断特征向量对应的两个采样点之间的距离和角度等关系是否匹配。能够减少后续特征向量匹配的过程,降低匹配的计算量。
值得注意的是,若第一采样点不是环境边沿线上的采样点,那么第一采样点不存在对应的法向量,此时机器人可以将第一采样点对应的第一特征向量中的第一夹角设置为一个远大于正常角度值的固定数值如10π。
可以理解的,上述步骤S220和步骤S230具体扩展了机器人如何获取当前环境中的第一采样点及其对应的第一特征向量,而机器人在获取第一采样点及其对应的第一特征向量后,需要能够通过第一特征向量确定机器人在全局地图中的目标位置,因此机器人可以按照相同的处理方式,对获取的全局地图进行处理,也就是确定全局地图中的多个第二采样点,并针对每个第二采样点,确定多个第二采样点对,以及每个第二采样点对对应的第二特征向量。
值得注意的是,为了便于机器人将当前环境中的第一特征向量与全局地图中的第二特征向量进行匹配,在确定第一特征向量中每个元素的阈值应当与确定第二特征向量中每个元素的阈值相同。例如,在确定第一采样点对的时候,机器人可以将与第一采样点A距离20米内的所有第一采样点作为对应的参考采样点,那么机器人在确定第二采样点对的时候,也应当将与第二采样点B距离20米内的所有第二采样点作为对应的参考采样点。
步骤S240:对第一特征向量中的第一夹角和第二夹角进行缩小处理,以使第一夹角、第二夹角与第一特征向量中的第一距离的数值处于第一阈值范围内。
在本申请实施例中,机器人在通过上述步骤获取当前环境中每个第一采样点对应的第一特征向量后,可以对第一特征向量中的第一夹角、第二夹角以及第一距离进行进一步的处理,以减少后续在特征向量匹配过程中的计算量。具体来说,机器人可以对第一特征向量中的第一夹角、第二夹角的大小进行缩小处理。其中缩小的倍数由后续特征向量匹配过程中第一夹角和第二夹角的匹配阈值,以及第一距离的匹配阈值来确定。
可以理解的,在后续将第一特征向量与第二特征向量进行匹配的过程中,机器人是基于第一特征向量中的第一距离与第二特征向量中的第二距离之间的距离差值、第一夹角与第三夹角之间的第一夹角差值、以及第二夹角与第四夹角之间的第二夹角差值,来判断第一特征向量是否与第二特征向量匹配的。具体来说,若上述差值均小于预设的第一绝对阈值,那么机器人可以认为第一特征向量与第二特征向量是匹配的。但在实际情况中,机器人通常将距离差值的判断阈值设置为1m,也就是在距离差值小于或等于1m的情况下,第一特征向量与第二特征向量才有可能相匹配。而对于第一夹角差值以及第二夹角差值的判断阈值却通常设置为10°,也就是在第一夹角差值以及第二夹角差值均小于或等于10°的情况下,第一特征向量与第二特征向量才有可能相匹配。也就是说,如果距离差值的判断阈值与第一夹角差值和第二夹角差值的判断阈值不相同,那么机器人在匹配过程中,也就需要调用不同的判断阈值来进行匹配,会额外增加处理器计算量。因此,机器人在确定第一特征向量之后,就可以预先对第一特征向量中记录的第一夹角和第二夹角数值大小进行调整,以使这些数值均处于相同的第一阈值范围内,减少后续匹配过程中的计算量。
例如,若机器人对于距离差值的判断阈值为1m,对于第一夹角差值以及第二夹角差值的判断阈值为10°,二者之间相差10倍,那么为了将距离差值与第一夹角差值、第二夹角差值的判断阈值设置为相同的(0-1)的范围内,机器人可以将第一特征向量中记录的第一夹角和第二夹角缩小10倍,若原本第一夹角为125°,那么缩小处理之后的第一夹角就为12.5。此时,机器人在匹配第一特征向量和第二特征向量的过程中,所确定的距离差值、第一夹角差值以及第二夹角差值等的数值大小就都处于相同的判断阈值,那么在判断的过程中就可以采用同一个第一绝对阈值来确定匹配结果。
应当理解的是,机器人在将第一特征向量与第二特征向量进行匹配之前,对第一特征向量中的第一夹角、第二夹角以及第一距离进行进一步的处理,是为了使第一特征向量中的第一夹角和第二夹角分别对应的判断阈值与第一距离对应的判断阈值相同。也就是说,机器人也可以对第一采样点对应的第一特征向量中的第一距离进行放大处理,以使第一距离的数值与第一夹角、第二夹角的数值处于相同的第一阈值范围内。
可以理解的,对于全局地图中的第二采样点对应的第二特征向量,机器人也可以对其进行相同的处理,以便于后于将第一特征向量与第二特征向量进行匹配。也就是说,机器人也可以对第二采样点对应的第二特征向量中的第三夹角以及第四夹角进行缩小处理,以使第三夹角、第四夹角与第二特征向量中的第二距离的数值处于相同的第一阈值范围内。可以理解的,机器人对于第二特征向量中各个元素进行处理时对应的阈值范围,与机器人对第一特征向量中各个元素进行处理时对应的阈值范围相同,均为第一阈值范围。
步骤S250:若第一特征向量中的第一夹角处于第一角度范围,则将第一夹角更新为副本夹角,得到第一采样点对对应的第一副本向量,第一夹角与副本夹角之差的绝对值为360°。
在本申请实施例中,机器人在通过上述步骤获取第一采样点对对应的第一特征向量之后,为了避免角度周期性导致的匹配遗漏的问题,机器人还可以对部分第一特征向量中的角度数值进行处理。可以理解的,由于角度的周期性特点,1°的角度实际上与361°的角度相同。例如,机器人在将第一特征向量与第二特征向量中的各个夹角进行匹配的时候,若第一特征向量中的第一夹角为179°,而第二特征向量中的第三夹角为-179°,对于处理器而言,这两个夹角之间相差了358°,必然不可能匹配,但实际上由于角度的周期性特点,这两个夹角之间实际只有2°的差值,是可能匹配的。因此,为了避免这种情况的发生,使夹角的角度在±180°附近的角度也是连续的近邻关系,机器人可以将原本的夹角的角度区域由通常情况下的(-180°,+180°)扩展为(-270°,+270°),由此,特征向量中的夹角的角度在180°附近也是连续的。例如,第一特征向量中的第一夹角为-178°,且第一夹角匹配的判断阈值为20°,那么与第一特征向量相匹配的第二特征向量中的第三夹角就可以在(-168°,+188°)之间,而不是只能在(-168°,+180°)之间,由此可以使特征向量之间的匹配结果更加准确。
可以理解的,对于全局地图中的第二采样点对应的第二特征向量,机器人也可以对其进行相同的处理,以便于后于将局部地图与全局地图进行匹配。具体来说,针对全局地图中的每个第二采样点对,若第二采样点对对应的第二特征向量中的第三夹角处于第一角度范围,则将第二采样点对对应的第二特征向量中的第三夹角更新为副本夹角,得到第二采样点对对应的第二副本向量,第三夹角与副本夹角之差的绝对值为360°。
在一些实施方式中,对于机器人在将第一特征向量与第二特征向量进行匹配的过程中,若所述第一采样点对应的第一特征向量与第二特征向量中的任一个特征向量均不匹配,则可以将第一副本向量作为第一采样点对应的第一特征向量,与第二特征向量进行匹配。也就是说,若第一特征向量中第一夹角为-178°,而第二特征向量中的第三夹角为178°,那么此时机器人可以认为该第一特征向量与第二特征向量不匹配,同时可以将第一副本向量作为第一采样点对应的第一特征向量,其中第一副本向量中的第一夹角为182°,那么第一副本向量就有可能与第二特征向量匹配。
步骤S260:针对每个第一特征向量,将第二特征向量与第一特征向量进行匹配,得到第二特征向量中与第一特征向量匹配的目标特征向量。
在本申请实施例中,机器人在得到当前环境中的第一特征向量以及全局地图中的第二特征向量后,可以将第一特征向量与第二特征向量进行匹配。具体来说,机器人可以针对每个第一特征向量,将全局地图中的第二特征向量与第一特征向量进行匹配,将第二特征向量中与第一特征向量匹配的向量作为目标特征向量,进而基于匹配得到的第一特征向量与目标特征向量,确定机器人在全局地图中的一个候选位置。
具体来说,第一特征向量包括第一语义类型、第二语义类型、第一距离、第一夹角以及第二夹角,第二特征向量包括第三语义类型、第四语义类型、第二距离、第三夹角以及第四夹角。如图7所示,机器人将第一特征向量与第二特征向量进行匹配的过程可以包括下述步骤:
步骤S261:获取第一距离与第二距离之间的差值作为距离差值、第一夹角与第三夹角之间的差值作为第一夹角差值、以及第二夹角与第四夹角之间的差值作为第二夹角差值。
步骤S262:若第三语义类型与第一语义类型相同、第四语义类型与第二语义类型相同,并且距离差值、第一夹角差值、以及第二夹角差值均小于第一绝对阈值,则确定第一特征向量与第二特征向量匹配。
在本申请实施例中,机器人得到的第一特征向量以及第二特征向量中,每个元素所表征的实际意义并不相同,因此在将第一特征向量与第二特征向量进行匹配的过程中,也需要将其中相同意义的元素分别进行比较匹配,不同元素之间无法进行比较匹配,也没有匹配的意义。值得注意的是,特征向量中前两个元素只用于表征采样点对应的语义类型,因此匹配结果只有两个结果。显然,若第一特征向量与第二特征向量相匹配,那么第二特征向量中的第三语义类型必须与第一特征向量中的第一语义类型相同,第二特征向量中的第四语义类型也必须与第一特征向量中的第二语义类型相同。但对于特征向量中的后三个元素,可以允许部分误差存在,即只需要相应元素的差值小于第一绝对阈值即可认为这些元素匹配。若第一特征向量与第二特征向量中的所有元素均匹配,则第一特征向量与第二特征向量匹配。
步骤S270:基于第一特征向量,以及与第一特征向量匹配的目标特征向量,确定机器人在全局地图中的候选位置。
在本申请实施例中,针对第一特征向量,机器人可以将第二特征向量中与第一特征向量匹配的向量,作为目标特征向量,而每一个目标特征向量与第一特征向量,均可以确定一个机器人在全局地图中的候选位置。
具体来说,如图8所示,机器人可以通过下述步骤,基于第一特征向量及其对应的目标特征向量,确定机器人在全局地图中的候选位置:
步骤S271:获取第一特征向量对应的第一匹配向量以及目标特征向量对应的第二匹配向量,第一匹配向量为从第一特征向量对应的第一采样点指向第一采样点对应的参考采样点的向量,第二匹配向量为从目标特征向量对应的第二采样点指向第二采样点对应的参考采样点的向量。
步骤S272:基于机器人对应的方向向量与第一匹配向量之间的第五夹角,以及第二匹配向量与全局地图坐标系的X轴之间的第六夹角,确定机器人在全局地图中对应的航向角,方向向量用于指示机器人在局部地图中的行进方向。
在本申请实施例中,机器人通过上述步骤中获取第一采样点对应的第一特征向量,以及第二采样点对应的第二特征向量的过程中,就可以确定第一特征向量对应的第一采样点与第一采样点对应的参考采样点之间的第一匹配向量、以及目标特征向量对应的第二采样点与第二采样点对应的参考采样点之间的第二匹配向量。
示例性的,请参阅图9,右边为局部地图中的第一采样点P1’及其对应的参考采样点P2’,左边为全局地图中的第二采样点P1及其对应的参考采样点P2,第一匹配向量为从第一采样点P1’指向参考采样点P2’的向量,第二匹配向量为从第二采样点P1指向参考采样点P2的向量。根据上述分析可知,第一采样点对(P1’,P2’)对应的第一特征向量与第二采样点对(P1,P2)对应的第二特征向量匹配,那么第一匹配向量与第二匹配向量就是重合的,那么机器人就可以通过将第一匹配向量旋转至与第二匹配向量重合的过程中的旋转角度,确定机器人的航向角的大小。
步骤S273:基于航向角,确定机器人在全局地图中的候选位置。
在本申请实施例中,机器人在基于匹配的第一特征向量和目标特征向量,得到相应的机器人的航向角后,可以基于航向角得到一个机器人在全局地图中的候选位置。具体来说,机器人的六自由度位姿中横摆角、翻滚角均可以通过惯性传感器(InertialMeasurement Unit,IMU)直接得到,机器人在全局地图中的坐标数据也可以基于其在局部地图中的坐标数据、第一特征向量对应的第一采样点及其对应的参考采样点在局部地图中的坐标数据、以及目标特征向量对应的第二采样点及其对应的参考采样点在全局地图中的坐标数据,转换计算得到。
步骤S280:对候选位置进行收敛跟踪处理,确定机器人在全局地图中的目标位置。
在本申请实施例中,机器人在基于每个第一特征向量及其匹配的目标特征向量得到其在全局地图中的多个候选位置后,可以对这多个候选位置进行筛选和跟踪处理,并基于每个候选位置附近固定范围内的其他采样点对应的特征向量之间的匹配结果,为每个候选位置判断一个匹配分数。若匹配分数小于预设数值,则可以删除这个候选位置,即机器人不可能出现在该候选位置处。随着机器人的移动,可以获得更多的环境边沿线和三维物体,机器人就可以对剩余的候选位置进行匹配分数的更新,并不断删除不合适的候选位置,直至最终剩余一个候选位置,由此确定机器人在全局地图中的目标位置。
本申请实施例提供的定位方法,通过获取当前环境中的多个第一采样点,得到多个第一特征向量,并对第一特征向量中的第一夹角、第二夹角进行缩小处理,能够减少特征向量匹配过程中的计算量;通过将第一特征向量与全局地图对应的第二特征向量进行匹配,基于匹配的第一特征向量和目标特征向量,确定机器人在全局地图中的多个候选位置,并对每个候选位置进行收敛跟踪处理,确定机器人在全局地图中的目标位置,提高机器人定位的准确度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图10,其示出了本申请一种实施例提供的定位装置300的结构框图,应用于机器人,定位装置300包括:采样点获取模块310、第一向量获取模块320、第二向量获取模块330以及位置确定模块340。其中,采样点获取模块310用于获取机器人所在当前环境对应的多个第一采样点,第一采样点基于当前环境中的环境对象得到,环境对象包括环境边沿线;第一向量获取模块320用于根据当前环境确定第一采样点对应的第一特征向量;第二向量获取模块330用于获取全局地图中的第二采样点对应的第二特征向量,全局地图与当前环境相对应,第二采样点包括全局地图中地图边沿线的采样点;位置确定模块340用于将第一特征向量与第二特征向量进行匹配,基于得到的匹配结果确定机器人在全局地图中的目标位置。
本申请实施例提供一种机器人,包括机身和至少两条腿,至少两条腿和机身相连接;与机身通信的控制系统,控制系统包括处理器和与处理器通信的存储器,存储器存储指令,指令在处理器上被运行时使处理器执行操作,操作包括:获取机器人所在当前环境对应的多个第一采样点,第一采样点基于当前环境中的环境对象得到,环境对象包括环境边沿线;根据当前环境确定第一采样点对应的第一特征向量;获取全局地图中的第二采样点对应的第二特征向量,全局地图与当前环境相对应,第二采样点包括全局地图中地图边沿线的采样点;将第一特征向量与第二特征向量进行匹配,基于得到的匹配结果确定机器人在全局地图中的目标位置。
机器人所执行的操作还包括:针对每个第一采样点,确定当前环境对应的多个第一采样点对,第一采样点对包括第一采样点,以及与第一采样点配对的参考采样点,参考采样点与第一采样点之间的距离小于目标距离阈值;根据当前环境,确定第一采样点对对应的第一特征向量,第一特征向量包括第一采样点对应的第一语义类型、参考采样点对应的第二语义类型、第一采样点与参考采样点之间的第一距离、第一采样点对应的第一夹角以及参考采样点对应的第二夹角。
机器人所执行的操作还包括:若第一特征向量中的第一夹角处于第一角度范围,则将第一夹角更新为副本夹角,得到第一采样点对对应的第一副本向量,第一夹角与副本夹角之差的绝对值为360°;若第一采样点对对应的第一特征向量与第二特征向量不匹配,则将第一采样点对对应的第一副本向量与第二特征向量进行匹配。
机器人所执行的操作还包括:对第一特征向量中的第一夹角和第二夹角进行缩小处理,以使第一夹角、第二夹角与第一特征向量中的第一距离的数值处于第一阈值范围内。
机器人所执行的操作还包括:获取第一距离与第二距离之间的差值作为距离差值、第一夹角与第三夹角之间的差值作为第一夹角差值、以及第二夹角与第四夹角之间的差值作为第二夹角差值;若第三语义类型与第一语义类型相同、第四语义类型与第二语义类型相同,并且距离差值、第一夹角差值、以及第二夹角差值均小于第一绝对阈值,则确定第一特征向量与第二特征向量匹配。
机器人所执行的操作还包括:针对每个第一特征向量,将第二特征向量与第一特征向量进行匹配,得到第二特征向量中与第一特征向量匹配的目标特征向量;基于第一特征向量,以及与第一特征向量匹配的目标特征向量,确定机器人在全局地图中的候选位置;对候选位置进行收敛跟踪处理,确定机器人在全局地图中的目标位置。
机器人所执行的操作还包括:获取第一特征向量对应的第一匹配向量以及目标特征向量对应的第二匹配向量,第一匹配向量为从第一特征向量对应的第一采样点指向第一采样点对应的参考采样点的向量,第二匹配向量为从目标特征向量对应的第二采样点指向第二采样点对应的参考采样点的向量;基于机器人对应的方向向量与第一匹配向量之间的第五夹角,以及第二匹配向量与全局地图坐标系的X轴之间的第六夹角,确定机器人在全局地图中对应的航向角,方向向量用于指示所述机器人在局部地图中的行进方向;基于航向角,确定机器人在全局地图中的候选位置。
综上所述,本申请提供的方案,应用于机器人,通过获取机器人所在当前环境对应的多个第一采样点,第一采样点基于当前环境中的环境对象得到;确定第一采样点对应的第一特征向量;获取全局地图中的第二采样点对应的第二特征向量,全局地图与当前环境相对应,第二采样点包括全局地图中地图边沿线的采样点;将第一特征向量与第二特征向量进行匹配,基于得到的匹配结果确定机器人在全局地图中的目标位置。通过获取当前环境中的第一采样点及其对应的第一特征向量,以及全局地图中的第二采样点对应的第二特征向量,基于第一特征向量与第二特征向量的匹配结果确定机器人在全局地图中的目标位置,使机器人在全局地图中的定位更加准确。
请再次参阅图1,本申请中的机器人100可以包括一个或多个如下部件:处理器110、存储单元105、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储单元105中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个机器人内的各个部分,通过运行或执行存储在存储单元105内的指令、程序、代码集或指令集,以及调用存储在存储单元105内的数据,执行机器人的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储单元105可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储单元105可用于存储指令、程序、代码、代码集或指令集。存储单元105可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储机器人在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图11,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种定位方法,其特征在于,应用于机器人,所述方法包括:
获取所述机器人所在当前环境对应的多个第一采样点,所述第一采样点基于所述当前环境中的环境对象得到,所述环境对象包括环境边沿线;
根据所述当前环境确定所述第一采样点对应的第一特征向量;
获取全局地图中的第二采样点对应的第二特征向量,所述全局地图与所述当前环境相对应,所述第二采样点包括所述全局地图中地图边沿线的采样点;
将所述第一特征向量与所述第二特征向量进行匹配,基于得到的匹配结果确定所述机器人在所述全局地图中的目标位置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前环境确定所述第一采样点对应的第一特征向量,包括:
针对每个所述第一采样点,确定所述当前环境对应的多个第一采样点对,所述第一采样点对包括所述第一采样点,以及与所述第一采样点配对的参考采样点,所述参考采样点与所述第一采样点之间的距离小于目标距离阈值;
根据所述当前环境,确定所述第一采样点对对应的第一特征向量,所述第一特征向量包括所述第一采样点对应的第一语义类型、所述参考采样点对应的第二语义类型、所述第一采样点与所述参考采样点之间的第一距离、所述第一采样点对应的第一夹角以及所述参考采样点对应的第二夹角。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述当前环境确定所述第一采样点对应的第一特征向量之后,所述方法还包括:
若所述第一特征向量中的所述第一夹角处于第一角度范围,则将所述第一夹角更新为副本夹角,得到所述第一采样点对对应的第一副本向量,所述第一夹角与所述副本夹角之差的绝对值为360°;
所述将所述第一特征向量与所述第二特征向量进行匹配,包括:
若所述第一采样点对对应的所述第一特征向量与所述第二特征向量不匹配,则将所述第一采样点对对应的所述第一副本向量与所述第二特征向量进行匹配。
4.根据权利要求2所述的方法,其特征在于,在所述根据所述当前环境确定所述第一采样点对应的第一特征向量之后,所述方法还包括:
对所述第一特征向量中的所述第一夹角和所述第二夹角进行缩小处理,以使所述第一夹角、所述第二夹角与所述第一特征向量中的所述第一距离的数值处于第一阈值范围内。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一特征向量包括第一语义类型、第二语义类型、第一距离、第一夹角以及第二夹角,所述第二特征向量包括第三语义类型、第四语义类型、第二距离、第三夹角以及第四夹角,所述将所述第一特征向量与所述第二特征向量进行匹配,包括:
获取所述第一距离与所述第二距离之间的差值作为距离差值、所述第一夹角与所述第三夹角之间的差值作为第一夹角差值、以及所述第二夹角与所述第四夹角之间的差值作为第二夹角差值;
若所述第三语义类型与所述第一语义类型相同、所述第四语义类型与所述第二语义类型相同,并且所述距离差值、所述第一夹角差值、以及所述第二夹角差值均小于第一绝对阈值,则确定所述第一特征向量与所述第二特征向量匹配。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述将所述第一特征向量与所述第二特征向量进行匹配,基于得到的匹配结果确定所述机器人在所述全局地图中的目标位置,包括:
针对每个所述第一特征向量,将所述第二特征向量与所述第一特征向量进行匹配,得到所述第二特征向量中与所述第一特征向量匹配的目标特征向量;
基于所述第一特征向量,以及与所述第一特征向量匹配的所述目标特征向量,确定所述机器人在所述全局地图中的候选位置;
对所述候选位置进行收敛跟踪处理,确定所述机器人在所述全局地图中的目标位置。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一特征向量,以及与所述第一特征向量匹配的所述目标特征向量,确定所述机器人在所述全局地图中的候选位置,包括:
获取所述第一特征向量对应的第一匹配向量以及所述目标特征向量对应的第二匹配向量,所述第一匹配向量为从所述第一特征向量对应的所述第一采样点指向所述第一采样点对应的参考采样点的向量,所述第二匹配向量为从所述目标特征向量对应的所述第二采样点指向所述第二采样点对应的参考采样点的向量;
基于所述机器人对应的方向向量与所述第一匹配向量之间的第五夹角,以及所述第二匹配向量与全局地图坐标系的X轴之间的第六夹角,确定所述机器人在所述全局地图中对应的航向角,所述方向向量用于指示所述机器人在所述局部地图中的行进方向;
基于所述航向角,确定所述机器人在所述全局地图中的候选位置。
8.一种定位装置,其特征在于,应用于机器人,所述装置包括:
采样点获取模块,用于获取所述机器人所在当前环境对应的多个第一采样点,所述第一采样点基于所述当前环境中的环境对象得到,所述环境对象包括环境边沿线;
第一向量获取模块,用于根据所述当前环境确定所述第一采样点对应的第一特征向量;
第二向量获取模块,用于获取全局地图中的第二采样点对应的第二特征向量,所述全局地图与所述当前环境相对应,所述第二采样点包括所述全局地图中地图边沿线的采样点;
位置确定模块,用于将所述第一特征向量与所述第二特征向量进行匹配,基于得到的匹配结果确定所述机器人在所述全局地图中的目标位置。
9.一种机器人,其特征在于,所述机器人包括:
机身;
与所述机身通信的控制系统,所述控制系统包括处理器和与所述处理器通信的存储单元,所述存储单元存储指令,所述指令在所述处理器上被运行时使所述处理器执行操作,所述操作包括:获取所述机器人所在当前环境对应的多个第一采样点,所述第一采样点基于所述当前环境中的环境对象得到,所述环境对象包括环境边沿线;根据所述当前环境确定所述第一采样点对应的第一特征向量;获取全局地图中的第二采样点对应的第二特征向量,所述全局地图与所述当前环境相对应,所述第二采样点包括所述全局地图中地图边沿线的采样点;将所述第一特征向量与所述第二特征向量进行匹配,基于得到的匹配结果确定所述机器人在所述全局地图中的目标位置。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311398825.9A CN117452464A (zh) | 2023-10-25 | 2023-10-25 | 定位方法、装置、机器人以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311398825.9A CN117452464A (zh) | 2023-10-25 | 2023-10-25 | 定位方法、装置、机器人以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117452464A true CN117452464A (zh) | 2024-01-26 |
Family
ID=89579188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311398825.9A Pending CN117452464A (zh) | 2023-10-25 | 2023-10-25 | 定位方法、装置、机器人以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117452464A (zh) |
-
2023
- 2023-10-25 CN CN202311398825.9A patent/CN117452464A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022078467A1 (zh) | 机器人自动回充方法、装置、机器人和存储介质 | |
US11648678B2 (en) | Systems, devices, articles, and methods for calibration of rangefinders and robots | |
CN111814752B (zh) | 室内定位实现方法、服务器、智能移动设备、存储介质 | |
US20210349467A1 (en) | Control device, information processing method, and program | |
CN115435772A (zh) | 局部地图的建立方法、装置、电子设备以及可读存储介质 | |
KR20200020295A (ko) | 로봇과 인터랙션하는 증강현실 서비스 제공 장치 및 방법 | |
CN117073662A (zh) | 地图构建方法、装置、机器人以及存储介质 | |
CN114740835A (zh) | 路径规划方法、路径规划装置、机器人和存储介质 | |
KR102565444B1 (ko) | 객체를 식별하기 위한 장치 및 방법 | |
US20220291679A1 (en) | Information processing device, information processing method, information processing program, and control device | |
CN117452464A (zh) | 定位方法、装置、机器人以及存储介质 | |
CN115972217A (zh) | 基于单目相机的地图建立方法和机器人 | |
CN116358522A (zh) | 局部地图生成方法和装置、机器人、计算机可读存储介质 | |
CN114454176B (zh) | 机器人的控制方法、控制装置、机器人和存储介质 | |
CN114663754A (zh) | 检测方法、装置、多足机器人及存储介质 | |
CN117808709A (zh) | 地图补全方法、装置、机器人以及存储介质 | |
CN116772851A (zh) | 定位方法、装置、机器人以及存储介质 | |
CN114370865B (zh) | 对室内地图进行坐标转换的方法、电子设备及存储介质 | |
CN117863190B (zh) | 足式机器人的移动控制方法及足式机器人 | |
CN116295338A (zh) | 一种定位方法、装置、机器人及计算机可读存储介质 | |
CN117621068A (zh) | 基于机器人的拍摄方法及机器人 | |
CN115355857A (zh) | 物体轮廓检测方法、装置、电子设备及可读存储介质 | |
CN115131656B (zh) | 空间识别方法、装置、电子设备及计算机可读存储介质 | |
KR102639524B1 (ko) | 전자 장치의 지도 병합 방법 | |
CN114281066B (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 |