CN112917467A - 机器人的定位及地图构建方法、装置及终端设备 - Google Patents
机器人的定位及地图构建方法、装置及终端设备 Download PDFInfo
- Publication number
- CN112917467A CN112917467A CN201911242507.7A CN201911242507A CN112917467A CN 112917467 A CN112917467 A CN 112917467A CN 201911242507 A CN201911242507 A CN 201911242507A CN 112917467 A CN112917467 A CN 112917467A
- Authority
- CN
- China
- Prior art keywords
- robot
- sensor data
- sensor
- key frame
- pose
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000001514 detection method Methods 0.000 claims abstract description 57
- 238000010276 construction Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 23
- 238000013507 mapping Methods 0.000 claims description 18
- 230000033001 locomotion Effects 0.000 claims description 14
- 230000009466 transformation Effects 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 10
- 230000001131 transforming effect Effects 0.000 claims description 5
- 230000004807 localization Effects 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012800 visualization Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/1005—Programme-controlled manipulators characterised by positioning means for manipulator elements comprising adjusting means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/087—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请适用于人工智能技术领域,提供了机器人的定位及地图构建方法、装置及终端设备,所述方法包括:获取传感器数据;根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,以及,根据所述传感器数据对所述机器人进行回环检测;根据所述机器人的位姿以及所述传感器数据构建地图。通过上述方法,能够有效减少了机器人在定位、回环检测以及地图构建所需要的时长。
Description
技术领域
本申请属于人工智能技术领域,尤其涉及机器人的定位及地图构建方法、装置及终端设备。
背景技术
同步定位与地图构建(simultaneous localization and mapping,SLAM)技术是移动机器人的核心技术。基于移动机器人的工作环境复杂多变的因素,一种稳定、高效的SLAM技术方案在移动机器人的应用中起着决定性作用。
现有的SLAM技术是在移动机器人实现定位后,再顺序执行建图以及回环检测等操作,但在较大的场景下(比如几万平米的场景),回环调整耗时很久,整个过程需要耗费近乎20秒,而由于移动机器人的定位又需要依赖回环检测执行完成才能开始,因此,导致移动机器人无法定位更新。
故,需要提出一种新的方法以解决上述问题。
发明内容
本申请实施例提供了机器人的定位及地图构建方法、装置及终端设备,可以解决现有的移动机器人难以及时更新定位的问题。
第一方面,本申请实施例提供了一种机器人的定位及地图构建方法,包括:
获取传感器数据;
根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,以及,根据所述传感器数据对所述机器人进行回环检测;
根据所述机器人的位姿以及所述传感器数据构建地图。
第二方面,本申请实施例提供了一种机器人的定位及地图构建装置,包括:
传感器数据获取单元,用于获取传感器数据;
位姿确定单元,用于根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,以及,根据所述传感器数据对所述机器人进行回环检测;
地图构建单元,用于根据所述机器人的位姿以及所述传感器数据构建地图。
第三方面,本申请实施例提供了一种终端设备,包括传感器、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中所述的方法。
本申请实施例与现有技术相比存在的有益效果是:
由于对机器人进行定位以及对机器人进行回环检测是并行执行,因此,无需等待定位结束之后再执行回环检测,从而减少了等待定位执行的时间,进而有效减少了机器人在定位、回环检测以及地图构建所需要的时长。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本申请一实施例提供的SLAM***架构示意图;
图2是本申请一实施例提供的一种机器人的定位及地图构建方法的流程示意图;
图3是本申请一实施例提供的一种机器人的定位及地图构建装置的示意图;
图4是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
在本申请说明书中描述的参考“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本实施例的机器人的定位及地图构建方法应用在机器人,比如应用在人形机器人上。在机器人工作的时候,需要通过安装在该机器人上的传感器采集相应的传感器数据,再对该传感器数据进行处理,以实现对该机器人的定位、回环检测以及地图构建等功能。虽然回环检测和地图构建都需要获取定位信息,但由于在较大的场景下,回环检测需要耗费较多的时间,因此,若仍按照在单个线程中依次执行定位、回环检测以及地图构建,将导致机器人无法及时定位,也无法及时实现地图的构建。参加图1,为了解决该技术问题,本申请实施例将定位功能、回环检测以及地图构建拆分为独立的模块,在图1中,沿着箭头方向,分别在3个时间点获取到对应的传感器数据,在获取传感器数据后,分别将获取的传感器数据发送至具有定位功能的定位模块、具有回环检测功能的回环检测模块以及具有地图构建功能的地图构建模块。定位模块根据获取的传感器数据能够实现对机器人的定位,地图构建模块根据定位模块输出的位姿以及传感器数据构建地图,回环检测模块根据前一时刻的位姿以及当前时刻的传感器数据估算当前时刻的位姿,进而根据估算的当前时刻的位姿实现对机器人的回环检测,即无需等待定位模块输出当前时刻的位姿就能实现对机器人的回环检测,从而减少了等待时间,有效减少了机器人在定位、回环检测以及地图构建所需要的时长。
参加图2,图2示出了本申请实施例提供的一种机器人的定位及地图构建方法的流程图,该机器人的定位及地图构建方法应用在机器人上,该机器人安装有传感器,详述如下:
步骤S21,获取传感器数据;
该步骤中,机器人(如机器人的处理器)实时或间隔预设时长从安装在该机器人上的传感器获取对应的传感器数据。其中,这里的传感器可以为激光传感器、摄像头传感器、里程计传感器以及测距传感器的一种或多种。
步骤S22,根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,以及,根据所述传感器数据对所述机器人进行回环检测;
该步骤中,在获取某一时刻的传感器数据之后,根据该传感器数据同时进行定位以及回环检测,即通过不同线程并行执行定位操作以及回环检测操作,以节省等待对机器人进行定位所需的定位时间。
在该步骤中,在根据传感器数据对机器人进行回环检测时,可先估算机器人的当前位姿,再根据估算的机器人的当前位姿实现回环检测。其中,机器人的当前位姿可通过以下方式估算:一种是根据获取的历史传感器数据与当前传感器数据估算;另一种是根据获取的机器人的历史位姿以及当前传感器数据估算。
步骤S23,根据所述机器人的位姿以及所述传感器数据构建地图。
需要指出的是,构建地图的步骤是在对机器人定位结束后执行,但其可以与回环检测同时执行,即无需等待回环检测结束之后再执行。当然,参照图1可知,若回环检测后生成更新数据,则将更新数据分别发送至定位模块和地图构建模块,以相应更新定位模块中的机器人的位姿和地图构建模块中的地图,即在步骤S22之后,还包括:若回环检测生成更新数据,则根据所述更新数据更新所述机器人的位姿和/或构建的地图。由于回环检测能够消除定位模块中定位存在的累积误差,因此,将回环检测生成的更新数据更新定位模块中输出的机器人的位姿,和/或,更新构建的地图,能够提高后续定位和构图的准确度。
本申请实施例中,获取传感器数据后,根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿、根据所述传感器数据对所述机器人进行回环检测,以及,根据所述机器人的位姿以及所述传感器数据构建地图。由于对机器人进行定位以及对机器人进行回环检测是并行执行,因此,无需等待定位结束之后再执行回环检测,从而减少了等待定位执行的时间,进而有效减少了机器人在定位、回环检测以及地图构建所需要的时长。
在一些实施例中,由于不同传感器所能获取的信息不同,因此根据不同传感器能够达到的功能也不同。比如,以激光传感器为主的***主要利用激光传感器同时以里程计/惯性测量单元(Inertial Measurement Unit,IMU)传感器辅助进行定位与构建地图,这种类型的传感器适用于室内或环境特征较为丰富的环境。而利用摄像头传感器进行定位与构建地图的***主要适用于光线变化较为敏感的环境。为了提高机器人的适用性,在本申请实施例中,若所述传感器数据包括以下至少两种:激光传感器的传感器数据、摄像头传感器的传感器数据、里程计传感器的传感器数据以及测距传感器的传感器数据;则在所述步骤S21之前,包括:
确定机器人当前所处的场景,根据所述机器人当前所处的场景启动相应的传感器;
对应地,所述步骤S21,包括:
获取启动的传感器对应的传感器数据。
本实施例的场景可根据实际需求划分,比如,可分为光线较弱的场景和光线较强的场景,光线较强的场景(或光线较弱的场景)又可进一步细分为纹理特征(或颜色)丰富的场景、纹理特征(或颜色)较少的场景、几何特征(直线、点、圆形)丰富的场景、几何特征(直线、点、圆形)较少的场景等等。对于摄像头传感器来说,其适合环境有较多的纹理特征(或丰富颜色)的场景,不适用于光线太强(直面太阳光)或者太暗的场景。对于激光传感器来说,其主要适用几何特征(直线、点、圆形)丰富的场景,比如激光传感器就不适合具有狭长的走廊(只能检测到走廊两边的墙壁直线)的场景。
本实施例中,机器人当前所处的场景可通过用户直接输入,或者,通过机器人自动识别确定,比如,通过机器人的定位***确定当前机器人所在的区域,进而确定该机器人当前所处的场景等。在识别出机器人当前所处的场景之后,根据预设的场景与传感器的对应关系,启动与识别出的场景对应的传感器,需要指出的是,同一场景对应的传感器的种类可以为一个,也可以为多个,此处不作限定。
在一些实施例中,所述步骤S22中根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,包括:
A1、根据所述传感器数据以及获取的地图坐标系至传感器坐标系的位姿变换矩阵,将所述传感器数据从传感器坐标系变换至地图坐标系;
A2、根据变换至地图坐标系的传感器数据确定所述传感器数据在地图坐标系的位姿;
A3、根据所述传感器数据在地图坐标系的位姿以及获取的传感器坐标系至机器人坐标系的位姿变换矩阵确定所述机器人的位姿。
具体地,在定位模块中,机器人利用传感器检测周围障碍物,并根据检测到的障碍物信息建立其附近的局部环境地图,当机器人运动一段距离,***接收到新的传感器数据后,会根据新的传感器数据、局部环境地图以及定位算法定位出机器人的当前位姿。该过程具体如下:
其中M(ξ)代表在地图中ξ处的状态,其中M(ξ)=1代表ξ处存在障碍物。M(ξ)=0代表ξ处不存在障碍物。对于上述优化问题,可以采用如最小二乘法等多种不同的方法进行求解,可得传感器数据在地图坐标系下的位姿T*,结合下式确定机器人的位姿Trobot:
需要指出的是,本实施例中用于获取传感器数据的接口是便于扩展的接口,即通过对不同种类的传感器数据进行抽象后,能够采用相同的接口从不同种类的传感器获取对应的传感器数据。比如,若传感器的种类大于1个时,则机器人将根据场景的不同启动对应的传感器,此时,采用相同的接口,能够快速在传感器的多种不同组合方案中切换。比如,若需要对较远的特征进行定位的场景,将采用摄像头传感器进行定位,由于摄像头传感器能够观测较远的距离,因此启动并获取该摄像头传感器对应的传感器数据;若需要对较近的特征进行定位的场景,由于激光探测的距离较短,因此将启动并获取激光传感器对应的传感器数据;若需要对较大区域的特征进行定位,且该较大区域遮挡较少,比如,在机场这一场景下,可采用激光传感器和测距传感器这一组合方案,即需启动并获取激光传感器和测距传感器对应的传感器数据,其中,该测距传感器可以与电磁波结合实现机器人的定位。比如,采用超带宽(Ultra Wide Band,UWB)定位这种无线定位技术,该技术由UWB接收器和UWB标签组成,UBW接收器分布安装在工作环境中,标签则安装在需定位的物体(如机器人)上。定位过程中,UWB接收器接收标签发射的UWB电磁波信号,通过信号发射和接收的时间差计算两者的距离;当一个信号被多个(三个及以上)不同的接收器收到时,就可确定需定位的物体的位置。UWB定位适用于空旷,无遮挡(有利于无线电传播)的场景。在机场环境下,采用激光匹配定位和UWB定位,可以提高机器人的定位效果,提高定位***的鲁棒性。
在一些实施例中,由于传感器的频率一般较高,因此传感器数据的数据量较大,因此,为了减少后续回环调整的计算量,则选取部分传感器数据作为关键帧数据,进而只对该关键帧数据进行回环检测,此时,所述步骤S22中根据所述传感器数据对所述机器人进行回环检测,包括:
B1、将满足关键帧条件的传感器数据选取为关键帧数据;
B2、根据所述关键帧数据对所述机器人进行回环检测。
具体地,若所述关键帧条件为预设的传感器条件,则所述步骤B1,包括:
将满足预设的传感器条件的传感器数据选取为关键帧数据;
或者,若所述关键帧条件为预设的运动信息条件,则所述步骤B1,包括:
根据所述传感器数据确定所述机器人的运动信息,将满足预设的运动信息条件的所述机器人的运动信息对应的传感器数据选取为关键帧数据。
本实施例中,关键帧数据的选取准则既可以是传感器数据本身携带的特征,也可以是传感器数据所计算出的机器人的运动信息。例如,若传感器数据为图像数据,则预设的传感器条件可为像素值大于预设的像素值阈值,即在图像数据的像素值大于预设的像素值阈值时,将该图像数据选取为关键帧数据。若传感器数据为测距传感器,则可根据机器人的运动速度以及预设的间隔时长选取关键帧数据,此时,预设的传感器条件可为间隔时长等于预设的间隔时长阈值,即在选取一个关键帧数据后,间隔预设的间隔时长阈值之后选取新的一个传感器数据作为关键帧数据。
在一些实施例中,所述步骤B2,包括:
B21、若当前获取的传感器数据作为关键帧数据,则根据所述关键帧数据确定所述机器人的位姿,并将所述关键帧数据以及所述机器人的位姿存入关键帧集合;
B22、若当前获取的传感器数据作为非关键帧数据,则将所述非关键帧数据与所述关键帧集合中的关键帧数据匹配,若所述关键帧集合中存在与所述非关键帧数据匹配的关键帧数据,则获取与所述非关键帧数据匹配的关键帧数据对应的机器人的位姿T1,根据所述非关键帧数据对应的机器人的位姿Tn与所述T1调整所述T1至所述Tn之间的位姿。
本实施例中,首先对关键帧数据和非关键帧数据执行匹配操作,匹配成功之后再获取对应的机器人的位姿。调整历史位姿(T1至Tn之间的位姿)时,根据T1与Tn的匹配程度进行调整,当T1和Tn差距较大时,增大历史位姿的调整幅度,当T1和Tn差距较小时,降低历史位姿的调整幅度。
需要指出的是,所述机器人在当前时刻的位姿可以由历史机器人位姿与当前时刻的传感器数据估算得到,也可以由历史传感器数据与当前时刻的传感器数据估算得到,此处不作限定。
在一些实施例中,由于传感器是安装在机器人上面,因此通过坐标变换可以确定传感器数据在全局坐标系下的值,进而实现地图的构建,具体地,所述步骤S23,包括:
C1、将传感器坐标系下的所述传感器数据变换至机器人坐标系下的传感器数据;
具体地,首先根据传感器的安装位置与机器人的相对关系确定传感器坐标系至机器人坐标系的变换矩阵,再结合该变换矩阵将传感器数据从传感器坐标系变换至机器人坐标系。
C2、根据所述机器人坐标系下的传感器数据以及所述机器人的位姿确定对应位置存在障碍物的概率,根据各个位置以及在各个位置存在障碍物的概率构建地图。
本实施例中,地图数据采用概率栅格地图的形式表示:
M(x,y)={px,y|0≤x<M,0≤y<N,0≤px,y≤1} (4)
其中,M、N分别代表地图的高度和宽度,px,y代表点(x,y)存在障碍物的概率。建图过程即通过传感器数据不断更新概率栅格地图的过程。px,y越大,代表(x,y)处存在障碍物的概率越大。对地图中的任意一点(x,y),是否存在障碍物用s表示:
为了避免概率p在0或1处的截断问题,采用
根据贝叶斯推断和传感器的固有观测模型,传感器在(x,y)处的观测值″z″与该点状态s的有如下关系:
其中,oddt(s)表示t时刻任一(x,,y)的状态概率比值。odd(z|s)表示(x,y)处实际状态与观测值的条件概率比值,为传感器固有属性。p(z|s)表示在实际状态为s时,传感器观测到的值为z的概率。z=1代表观测到障碍物,z=0代表未观测到障碍物;s=1代表实际存在障碍物,s=0代表实际不在障碍物。
当在t+1时刻获取到新的传感器数据后,任一点的状态更新过程如下,其中,oddt+1(s)t+1时刻(x,y)处的概率比值:
oddt+1(s)=odd(z|s)oddt(s) (7)
再由(5)反算出t+1时刻的概率p′:
进而可以计算出更新后地图中存在障碍物的概率。由此,可将传感器数据实时地更新到栅格地图中,并实时地将地图显示出来。由于采用了通用的栅格地图表示方法,进而可在在多个不同的可视化平台(其中,可视化平台指的是进行可视化的软件,如rviz、gazebo以及自主研发的应用程序)上进行可视化。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的机器人的定位及地图构建方法,图3示出了本申请实施例提供的机器人的定位及地图构建装置的结构框图,该机器人的定位及地图构建装置可应用于终端设备(如移动机器人)上,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图3,该机器人的定位及地图构建装置3包括:传感器数据获取单元31、位姿确定单元32、地图构建单元33。其中:
传感器数据获取单元31,用于获取传感器数据;
其中,机器人(如机器人的处理器)实时或间隔预设时长从安装在该机器人上的传感器获取对应的传感器数据。其中,这里的传感器可以为激光传感器、摄像头传感器、里程计传感器以及测距传感器的一种或多种。
位姿确定单元32,用于根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,以及,根据所述传感器数据对所述机器人进行回环检测;
具体地,在根据传感器数据对机器人进行回环检测时,可先估算机器人的当前位姿,再根据估算的机器人的当前位姿实现回环检测。
地图构建单元33,用于根据所述机器人的位姿以及所述传感器数据构建地图。
需要指出的是,构建地图的步骤是在对机器人定位结束后执行,但其可以与回环检测同时执行,即无需等待回环检测结束之后再执行。
在一些实施例中,该机器人的定位及地图构建装置3还包括:
信息更新单元,用于若回环检测生成更新数据,则根据所述更新数据更新所述机器人的位姿和/或构建的地图。
本申请实施例中,由于对机器人进行定位以及对机器人进行回环检测是并行执行,因此,无需等待定位结束之后再执行回环检测,从而减少了等待定位执行的时间,进而有效减少了机器人在定位、回环检测以及地图构建所需要的时长。
在一些实施例中,若所述传感器数据包括以下至少两种:激光传感器的传感器数据、摄像头传感器的传感器数据、里程计传感器的传感器数据以及测距传感器的传感器数据;则该机器人的定位及地图构建装置3还包括::
场景确定单元,用于确定机器人当前所处的场景,根据所述机器人当前所处的场景启动相应的传感器;
对应地,所述传感器数据获取单元31具体用于:
获取启动的传感器对应的传感器数据。
在一些实施例中,所述位姿确定单元32在根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿时,具体用于:
根据所述传感器数据以及获取的传感器坐标系至地图坐标系的位姿变换矩阵,将所述传感器数据从传感器坐标系变换至地图坐标系;根据变换至地图坐标系的传感器数据确定所述传感器数据在地图坐标系的位姿;根据所述传感器数据在地图坐标系的位姿以及获取的传感器坐标系至机器人坐标系的位姿变换矩阵确定所述机器人的位姿。
在一些实施例中,所述位姿确定单元32在根据所述传感器数据对所述机器人进行回环检测时,包括:
关键帧数据选取模块,用于将满足关键帧条件的传感器数据选取为关键帧数据;
回环检测模块,用于根据所述关键帧数据对所述机器人进行回环检测。
具体地,若所述关键帧条件为预设的传感器条件,则所述关键帧数据选取模块,具体用于:
将满足预设的传感器条件的传感器数据选取为关键帧数据;
或者,若所述关键帧条件为预设的运动信息条件,则所述关键帧数据选取模块,具体用于:
根据所述传感器数据确定所述机器人的运动信息,将满足预设的运动信息条件的所述机器人的运动信息对应的传感器数据选取为关键帧数据。
在一些实施例中,所述回环检测模块,包括:
关键帧数据存储模块,用于若当前获取的传感器数据作为关键帧数据,则根据所述关键帧数据确定所述机器人的位姿,并将所述关键帧数据以及所述机器人的位姿存入关键帧集合;
关键帧数据匹配模块,用于若当前获取的传感器数据作为非关键帧数据,则将所述非关键帧数据与所述关键帧集合中的关键帧数据匹配,若所述关键帧集合中存在与所述非关键帧数据匹配的关键帧数据,则获取与所述非关键帧数据匹配的关键帧数据对应的机器人的位姿T1,根据所述非关键帧数据对应的机器人的位姿Tn与所述T1调整所述T1至所述Tn之间的位姿。
在一些实施例中,所述地图构建单元33,包括:
坐标系变换模块,用于将传感器坐标系下的所述传感器数据变换至机器人坐标系下的传感器数据;
存在障碍物的概率确定模块,用于根据所述机器人坐标系下的传感器数据以及所述机器人的位姿确定对应位置存在障碍物的概率,根据各个位置以及在各个位置存在障碍物的概率构建地图。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图4为本申请一实施例提供的终端设备的结构示意图。如图4所示,该实施例的终端设备4包括:至少一个处理器40(图4中仅示出一个处理器)、存储器41、存储在所述存储器41中并可在所述至少一个处理器40上运行的计算机程序42、用于获取传感器数据的传感器43,所述处理器40执行所述计算机程序42时实现上述任意各个方法实施例中的步骤:
获取传感器数据;
根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,以及,根据所述传感器数据对所述机器人进行回环检测;
根据所述机器人的位姿以及所述传感器数据构建地图。
所述终端设备4可以是机器人、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端设备4的举例,并不构成对终端设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),该处理器40还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41在一些实施例中可以是所述终端设备4的内部存储单元,例如终端设备4的硬盘或内存。所述存储器41在另一些实施例中也可以是所述终端设备4的外部存储设备,例如所述终端设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储操作***、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种机器人的定位及地图构建方法,其特征在于,包括:
获取传感器数据;
根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,以及,根据所述传感器数据对所述机器人进行回环检测;
根据所述机器人的位姿以及所述传感器数据构建地图。
2.如权利要求1所述的机器人的定位及地图构建方法,其特征在于,若所述传感器数据包括以下至少两种:激光传感器的传感器数据、摄像头传感器的传感器数据、里程计传感器的传感器数据以及测距传感器的传感器数据;则所述获取传感器数据之前,包括:
确定机器人当前所处的场景,根据所述机器人当前所处的场景启动相应的传感器;
对应地,所述获取传感器数据,包括:
获取启动的传感器对应的传感器数据。
3.如权利要求1所述的机器人的定位及地图构建方法,其特征在于,所述根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,包括:
根据所述传感器数据以及获取的传感器坐标系至地图坐标系的位姿变换矩阵,将所述传感器数据从传感器坐标系变换至地图坐标系;
根据变换至地图坐标系的传感器数据确定所述传感器数据在地图坐标系的位姿;
根据所述传感器数据在地图坐标系的位姿以及获取的传感器坐标系至机器人坐标系的位姿变换矩阵确定所述机器人的位姿。
4.如权利要求1所述的机器人的定位及地图构建方法,其特征在于,所述根据所述传感器数据对所述机器人进行回环检测,包括:
将满足关键帧条件的传感器数据选取为关键帧数据;
根据所述关键帧数据对所述机器人进行回环检测。
5.如权利要求4所述的机器人的定位及地图构建方法,其特征在于,若所述关键帧条件为预设的传感器条件,则所述将满足关键帧条件的传感器数据选取为关键帧数据,包括:
将满足预设的传感器条件的传感器数据选取为关键帧数据;
或者,若所述关键帧条件为预设的运动信息条件,则所述将满足关键帧条件的传感器数据选取为关键帧数据,包括:
根据所述传感器数据确定所述机器人的运动信息,将满足预设的运动信息条件的所述机器人的运动信息对应的传感器数据选取为关键帧数据。
6.如权利要求4所述的机器人的定位及地图构建方法,其特征在于,所述根据所述关键帧数据对所述机器人进行回环检测,包括:
若当前获取的传感器数据作为关键帧数据,则根据所述关键帧数据确定所述机器人的位姿,并将所述关键帧数据以及所述机器人的位姿存入关键帧集合;
若当前获取的传感器数据作为非关键帧数据,则将所述非关键帧数据与所述关键帧集合中的关键帧数据匹配,若所述关键帧集合中存在与所述非关键帧数据匹配的关键帧数据,则获取与所述非关键帧数据匹配的关键帧数据对应的机器人的位姿T1,根据所述非关键帧数据对应的机器人的位姿Tn与所述T1调整所述T1至所述Tn之间的位姿。
7.如权利要求1至6任一项所述的机器人的定位及地图构建方法,其特征在于,所述根据所述机器人的位姿以及所述传感器数据构建地图,包括:
将传感器坐标系下的所述传感器数据变换至机器人坐标系下的传感器数据;
根据所述机器人坐标系下的传感器数据以及所述机器人的位姿确定对应位置存在障碍物的概率,根据各个位置以及在各个位置存在障碍物的概率构建地图。
8.一种机器人的定位及地图构建装置,其特征在于,包括:
传感器数据获取单元,用于获取传感器数据;
位姿确定单元,用于根据所述传感器数据对所述机器人进行定位得到所述机器人的位姿,以及,根据所述传感器数据对所述机器人进行回环检测;
地图构建单元,用于根据所述机器人的位姿以及所述传感器数据构建地图。
9.一种终端设备,包括传感器、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911242507.7A CN112917467B (zh) | 2019-12-06 | 2019-12-06 | 机器人的定位及地图构建方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911242507.7A CN112917467B (zh) | 2019-12-06 | 2019-12-06 | 机器人的定位及地图构建方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112917467A true CN112917467A (zh) | 2021-06-08 |
CN112917467B CN112917467B (zh) | 2022-09-23 |
Family
ID=76161704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911242507.7A Active CN112917467B (zh) | 2019-12-06 | 2019-12-06 | 机器人的定位及地图构建方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112917467B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114322990A (zh) * | 2021-12-30 | 2022-04-12 | 杭州海康机器人技术有限公司 | 一种用于构建移动机器人地图之数据的采集方法、装置 |
CN114619453A (zh) * | 2022-05-16 | 2022-06-14 | 深圳市普渡科技有限公司 | 机器人、地图构建方法及计算机可读存储介质 |
CN115700507A (zh) * | 2021-07-30 | 2023-02-07 | 北京小米移动软件有限公司 | 地图更新方法及其装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105865449A (zh) * | 2016-04-01 | 2016-08-17 | 深圳杉川科技有限公司 | 基于激光和视觉的移动机器人的混合定位方法 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN107167148A (zh) * | 2017-05-24 | 2017-09-15 | 安科机器人有限公司 | 同步定位与地图构建方法和设备 |
CN107478214A (zh) * | 2017-07-24 | 2017-12-15 | 杨华军 | 一种基于多传感器融合的室内定位方法及*** |
CN109583457A (zh) * | 2018-12-03 | 2019-04-05 | 荆门博谦信息科技有限公司 | 一种机器人定位与地图构建的方法及机器人 |
US20190219401A1 (en) * | 2018-01-12 | 2019-07-18 | The Trustees Of The University Of Pennsylvania | Probabilistic data association for simultaneous localization and mapping |
CN110125928A (zh) * | 2019-03-27 | 2019-08-16 | 浙江工业大学 | 一种基于前后帧进行特征匹配的双目惯导slam*** |
CN110163963A (zh) * | 2019-04-12 | 2019-08-23 | 南京华捷艾米软件科技有限公司 | 一种基于slam的建图装置和建图方法 |
CN110501017A (zh) * | 2019-08-12 | 2019-11-26 | 华南理工大学 | 一种基于orb_slam2的移动机器人导航地图生成方法 |
-
2019
- 2019-12-06 CN CN201911242507.7A patent/CN112917467B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105865449A (zh) * | 2016-04-01 | 2016-08-17 | 深圳杉川科技有限公司 | 基于激光和视觉的移动机器人的混合定位方法 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN107167148A (zh) * | 2017-05-24 | 2017-09-15 | 安科机器人有限公司 | 同步定位与地图构建方法和设备 |
CN107478214A (zh) * | 2017-07-24 | 2017-12-15 | 杨华军 | 一种基于多传感器融合的室内定位方法及*** |
US20190219401A1 (en) * | 2018-01-12 | 2019-07-18 | The Trustees Of The University Of Pennsylvania | Probabilistic data association for simultaneous localization and mapping |
CN109583457A (zh) * | 2018-12-03 | 2019-04-05 | 荆门博谦信息科技有限公司 | 一种机器人定位与地图构建的方法及机器人 |
CN110125928A (zh) * | 2019-03-27 | 2019-08-16 | 浙江工业大学 | 一种基于前后帧进行特征匹配的双目惯导slam*** |
CN110163963A (zh) * | 2019-04-12 | 2019-08-23 | 南京华捷艾米软件科技有限公司 | 一种基于slam的建图装置和建图方法 |
CN110501017A (zh) * | 2019-08-12 | 2019-11-26 | 华南理工大学 | 一种基于orb_slam2的移动机器人导航地图生成方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115700507A (zh) * | 2021-07-30 | 2023-02-07 | 北京小米移动软件有限公司 | 地图更新方法及其装置 |
CN115700507B (zh) * | 2021-07-30 | 2024-02-13 | 北京小米移动软件有限公司 | 地图更新方法及其装置 |
CN114322990A (zh) * | 2021-12-30 | 2022-04-12 | 杭州海康机器人技术有限公司 | 一种用于构建移动机器人地图之数据的采集方法、装置 |
CN114322990B (zh) * | 2021-12-30 | 2024-04-19 | 杭州海康机器人股份有限公司 | 一种用于构建移动机器人地图之数据的采集方法、装置 |
CN114619453A (zh) * | 2022-05-16 | 2022-06-14 | 深圳市普渡科技有限公司 | 机器人、地图构建方法及计算机可读存储介质 |
CN114619453B (zh) * | 2022-05-16 | 2022-09-20 | 深圳市普渡科技有限公司 | 机器人、地图构建方法及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112917467B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102581429B1 (ko) | 장애물을 탐지하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
CN112917467B (zh) | 机器人的定位及地图构建方法、装置及终端设备 | |
CN112068154A (zh) | 一种激光建图定位方法、装置、存储介质及电子设备 | |
CN111540027B (zh) | 一种检测方法、装置、电子设备及存储介质 | |
CN112336342A (zh) | 手部关键点检测方法、装置及终端设备 | |
CN114387410B (zh) | 道路数据融合的地图生成方法、装置以及电子设备 | |
CN111177295A (zh) | 建图重影消除方法、装置、计算机可读存储介质及机器人 | |
CN110866497A (zh) | 基于点线特征融合的机器人定位与建图方法和装置 | |
Bai et al. | A survey of image-based indoor localization using deep learning | |
CN114926549B (zh) | 三维点云处理方法、装置、设备以及存储介质 | |
CN115421158A (zh) | 自监督学习的固态激光雷达三维语义建图方法与装置 | |
CN113378605B (zh) | 多源信息融合方法及装置、电子设备和存储介质 | |
CN114091515A (zh) | 障碍物检测方法、装置、电子设备和存储介质 | |
CN113177980B (zh) | 用于自动驾驶的目标对象速度确定方法、装置及电子设备 | |
CN115953434B (zh) | 轨迹匹配方法、装置、电子设备和存储介质 | |
CN115880555B (zh) | 目标检测方法、模型训练方法、装置、设备及介质 | |
CN112884803A (zh) | 基于dsp的实时智能监控目标检测方法及装置 | |
CN112097772A (zh) | 机器人及其地图构建方法和装置 | |
CN114429631B (zh) | 三维对象检测方法、装置、设备以及存储介质 | |
CN115731273A (zh) | 位姿图优化方法及装置、电子设备和存储介质 | |
Bai et al. | An improved ransac algorithm based on adaptive threshold for indoor positioning | |
CN115937449A (zh) | 高精地图生成方法、装置、电子设备和存储介质 | |
CN115375774A (zh) | 确定相机外参的方法、装置、设备及存储介质 | |
CN113297259A (zh) | 机器人及其环境地图构建方法和装置 | |
CN112561956A (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 |