CN105509748B - Robot navigation method and device - Google Patents
Robot navigation method and device Download PDFInfo
- Publication number
- CN105509748B CN105509748B CN201511016707.2A CN201511016707A CN105509748B CN 105509748 B CN105509748 B CN 105509748B CN 201511016707 A CN201511016707 A CN 201511016707A CN 105509748 B CN105509748 B CN 105509748B
- Authority
- CN
- China
- Prior art keywords
- point
- point cloud
- robot
- cloud data
- data set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000008859 change Effects 0.000 claims abstract description 34
- 230000003238 somatosensory effect Effects 0.000 claims abstract description 30
- 238000012937 correction Methods 0.000 claims description 29
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013519 translation Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- 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/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明适用于机器人技术领域,提供了机器人的导航方法及装置,包括:将点云数据集Pk与所述体感传感器采集到的上一帧的点云数据集X输入KD树匹配器,在X中寻找离Pk最近的对应数据点,生成点对集合Yk=C(Pk,X),其中,所述k为迭代次数,初始化k=0,P0为所述体感传感器采集到的当前帧的点云数据集;将所述点云数据集Pk与所述点云数据集X进行配准;在未达到预设的终止条件之前,令k=k+1,返回执行所述将点云数据集Pk与所述体感传感器采集到的上一帧的点云数据集X输入KD树匹配器的操作;若已达到所述预设的终止条件,根据当前的点云数据集Pk矫正所述机器人的状态变化量。本发明实施例大大降低了机器人的制造成本。
The invention is applicable to the field of robotics technology, and provides a navigation method and device for a robot, comprising: inputting the point cloud data set P k and the point cloud data set X of the previous frame collected by the somatosensory sensor into a KD tree matcher, Find the corresponding data point closest to P k in X, and generate a set of point pairs Y k =C(P k ,X), where k is the number of iterations, initialization k=0, and P 0 is collected by the somatosensory sensor The point cloud data set of the current frame; the point cloud data set P k is registered with the point cloud data set X; before the preset termination condition is not reached, set k=k+1, return to execute Describe the operation of inputting the point cloud data set P k and the point cloud data set X of the previous frame collected by the somatosensory sensor into the KD tree matcher; if the preset termination condition has been reached, according to the current point cloud data The set Pk corrects the state change of the robot. The embodiment of the present invention greatly reduces the manufacturing cost of the robot.
Description
技术领域technical field
本发明属于机器人技术领域,尤其涉及机器人的导航方法及装置。The invention belongs to the technical field of robots, and in particular relates to a navigation method and device of a robot.
背景技术Background technique
自上世纪60年代可移动的机器在人在斯坦福大学出现以来,随着科学技术的发展,可移动的机器人的应用领域也发挥来越广泛,从工业延伸至家庭、服务、娱乐、军事等不同的领域。可移动的机器人的运行是以导航为基础的,需要机器人了解其所处环境的地图以及定位自身的位置,传统的室内可移动的机器人通常采用激光设备导航,激光设备虽然导航精度高,但其动辄上万的价格带来了移动机器人过高的制造成本。Since the advent of mobile machines at Stanford University in the 1960s, with the development of science and technology, the application fields of mobile robots have also become more and more extensive, extending from industry to home, service, entertainment, military, etc. field. The operation of mobile robots is based on navigation, which requires the robot to understand the map of its environment and locate itself. Traditional indoor mobile robots usually use laser equipment for navigation. Although laser equipment has high navigation accuracy, its The price of tens of thousands brings the high manufacturing cost of mobile robots.
发明内容SUMMARY OF THE INVENTION
有鉴于此,本发明实施例提供了机器人的导航方法及装置,以解决现有的机器人导航技术会导致机器人制造成本过高的问题。In view of this, embodiments of the present invention provide a navigation method and device for a robot, so as to solve the problem that the existing robot navigation technology will lead to high manufacturing cost of the robot.
第一方面,提供了一种机器人的导航方法,所述机器人中内置了体感传感器,所述方法包括:In a first aspect, a navigation method for a robot is provided, wherein the robot has a built-in somatosensory sensor, and the method includes:
将点云数据集Pk与所述体感传感器采集到的上一帧的点云数据集X输入KD树匹配器,在X中寻找离Pk最近的对应数据点,生成点对集合Yk=C(Pk,X),其中,所述k为迭代次数,初始化k=0,P0为所述体感传感器采集到的当前帧的点云数据集;Input the point cloud data set P k and the point cloud data set X of the previous frame collected by the somatosensory sensor into the KD tree matcher, find the corresponding data point closest to P k in X, and generate a point pair set Y k = C(P k , X), wherein the k is the number of iterations, the initialization k=0, and P 0 is the point cloud data set of the current frame collected by the somatosensory sensor;
将所述点云数据集Pk与所述点云数据集X进行配准;registering the point cloud dataset P k with the point cloud dataset X;
在未达到预设的终止条件之前,令k=k+1,返回执行所述将点云数据集Pk与所述体感传感器采集到的上一帧的点云数据集X输入KD树匹配器的操作;Before the preset termination condition is reached, set k=k+1, and return to the input KD tree matcher to perform the inputting of the point cloud data set P k and the point cloud data set X of the previous frame collected by the somatosensory sensor operation;
若已达到所述预设的终止条件,根据当前的点云数据集Pk矫正所述机器人的状态变化量。If the preset termination condition has been reached, the state change amount of the robot is corrected according to the current point cloud data set P k .
第二方面,提供了一种机器人的导航装置,所述机器人中内置了体感传感器,所述装置包括:In a second aspect, a navigation device for a robot is provided, the robot has a built-in somatosensory sensor, and the device includes:
输入单元,用于将点云数据集Pk与所述体感传感器采集到的上一帧的点云数据集X输入KD树匹配器,在X中寻找离Pk最近的对应数据点,生成点对集合Yk=C(Pk,X),其中,所述k为迭代次数,初始化k=0,P0为所述体感传感器采集到的当前帧的点云数据集;The input unit is used to input the point cloud data set P k and the point cloud data set X of the previous frame collected by the somatosensory sensor into the KD tree matcher, find the corresponding data point closest to P k in X, and generate a point For the set Y k =C(P k ,X), wherein the k is the number of iterations, the initialization k=0, and P 0 is the point cloud data set of the current frame collected by the somatosensory sensor;
配准单元,用于将所述点云数据集Pk与所述点云数据集X进行配准;a registration unit, configured to register the point cloud data set P k with the point cloud data set X;
第一返回单元,用于在未达到预设的终止条件之前,令k=k+1,返回执行所述输入单元的操作;a first return unit, configured to set k=k+1 before the preset termination condition is reached, and return to execute the operation of the input unit;
第一矫正单元,用于若已达到所述预设的终止条件,根据当前的点云数据集Pk矫正所述机器人的状态变化量。The first correction unit is configured to correct the state change of the robot according to the current point cloud data set P k if the preset termination condition has been reached.
在本发明实施例中,利用体感传感器来替代激光设备,实现机器人导航过程中的位姿矫正,大大降低了机器人的制造成本。In the embodiment of the present invention, the somatosensory sensor is used to replace the laser device to realize the pose correction during the robot navigation process, which greatly reduces the manufacturing cost of the robot.
附图说明Description of drawings
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions in the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only for the present invention. In some embodiments, for those of ordinary skill in the art, other drawings can also be obtained according to these drawings without any creative effort.
图1是本发明实施例提供的机器人硬件系统的结构框图;1 is a structural block diagram of a robot hardware system provided by an embodiment of the present invention;
图2是本发明实施例提供的机器人软件系统的结构框图;2 is a structural block diagram of a robot software system provided by an embodiment of the present invention;
图3是本发明实施例提供的机器人的导航方法的实现流程图;Fig. 3 is the realization flow chart of the navigation method of the robot provided by the embodiment of the present invention;
图4是本发明实施例提供的机器人的导航方法的处理模块示意图;4 is a schematic diagram of a processing module of a navigation method for a robot provided by an embodiment of the present invention;
图5是本发明另一实施例提供的机器人的导航方法的实现流程图;Fig. 5 is the realization flow chart of the navigation method of the robot provided by another embodiment of the present invention;
图6是本发明实施例提供的机器人的导航方法的点集对齐示意图;6 is a schematic diagram of point set alignment of a navigation method for a robot provided by an embodiment of the present invention;
图7是本发明实施例提供的机器人的导航装置的结构框图。FIG. 7 is a structural block diagram of a navigation device for a robot provided by an embodiment of the present invention.
具体实施方式Detailed ways
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透切理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。In the following description, for the purpose of illustration rather than limitation, specific details such as specific system structures and technologies are set forth in order to provide a thorough understanding of the embodiments of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
图1示出了本发明实施例提供的机器人硬件系统的结构框图,为了便于说明,仅示出了与本实施例相关的部分。FIG. 1 shows a structural block diagram of a robot hardware system provided by an embodiment of the present invention. For convenience of description, only parts related to this embodiment are shown.
如图1所示,机器人的硬件系统主要由以下几个部分组成:As shown in Figure 1, the hardware system of the robot is mainly composed of the following parts:
1、工业控制计算机:其上搭载了操作系统,用于对数据进行处理和存储,并为硬件系统中的其他模块提供服务;1. Industrial control computer: It is equipped with an operating system for data processing and storage, and provides services for other modules in the hardware system;
2、体感传感器:用于收集机器人所处环境的色彩和深度信息;2. Somatosensory sensor: used to collect the color and depth information of the environment where the robot is located;
3、运动传感器:用于获取机器人的运动信息,包括码盘、陀螺仪等传感器;3. Motion sensor: used to obtain the motion information of the robot, including sensors such as code disc and gyroscope;
4、驱动控制单元:通过将驱动信号输入底层控制器,以驱动机器人行走。4. Drive control unit: It drives the robot to walk by inputting the drive signal into the underlying controller.
5、其他模块:包括显示模块,通信模块及各模块之间的通信接口。5. Other modules: including the display module, the communication module and the communication interface between the modules.
图2示出了本发明实施例提供的机器人软件系统的结构框图,为了便于说明,仅示出了与本实施例相关的部分。FIG. 2 shows a structural block diagram of a robot software system provided by an embodiment of the present invention. For convenience of description, only parts related to this embodiment are shown.
如图2所示,机器人的软件系统由下至上主要由以下几个部分组成:As shown in Figure 2, the software system of the robot is mainly composed of the following parts from the bottom to the top:
1、操作系统:其搭载在工业控制计算机之上;1. Operating system: it is mounted on the industrial control computer;
2、机器人驱动程序;2. Robot driver;
3、机器人操作系统(ROS);3. Robot Operating System (ROS);
4、导航功能包:其安装在机器人操作系统之中。4. Navigation function package: it is installed in the robot operating system.
在本发明实施例中,采用工业控制计算机作为主要计算处理单元,体感传感器、码盘将采集的数据发送到工业控制计算机,通过计算构建地图并实现移动机器人的定位。在导航的过程中,移动机器人通过底层的嵌入式系统控制机器人驱动行走。In the embodiment of the present invention, the industrial control computer is used as the main calculation processing unit, the somatosensory sensor and the code disc send the collected data to the industrial control computer, and the map is constructed by calculation and the positioning of the mobile robot is realized. In the process of navigation, the mobile robot controls the robot to drive and walk through the underlying embedded system.
基于图1和图2所示的机器人的软硬件结构,接下来对本发明实施例提供的机器人的导航方法进行阐述:Based on the software and hardware structures of the robot shown in FIG. 1 and FIG. 2 , the following describes the navigation method of the robot provided by the embodiment of the present invention:
图3示出了本发明实施例提供的机器人的导航方法的实现流程,详述如下:FIG. 3 shows the implementation process of the navigation method of the robot provided by the embodiment of the present invention, and the details are as follows:
在S301中,将点云数据集Pk与所述体感传感器采集到的上一帧的点云数据集X输入KD(K-dimensional,K维)树匹配器,在X中寻找离Pk最近的对应数据点,生成点对集合Yk=C(Pk,X),其中,所述k为迭代次数,初始化k=0,P0为所述体感传感器采集到的当前帧的点云数据集。In S301, input the point cloud data set P k and the point cloud data set X of the previous frame collected by the somatosensory sensor into a KD (K-dimensional, K-dimensional) tree matcher, and find the closest to P k in X The corresponding data points of , generate a point pair set Y k =C(P k ,X), where the k is the number of iterations, the initialization k=0, and P 0 is the point cloud data of the current frame collected by the somatosensory sensor set.
体感传感器采集图像的速率为30帧/秒,通过迭代最近点方法,不断地把体感传感器采集到的当前帧的点云数据与上一帧的点云数据匹配,以实现进一步的位姿矫正。如图4所示,数据点滤波器把点云数据作为输入,并在处理后输出另一点云数据,其处理方式包括增加描述符、通过采样减少数据点数量等,也可以同时使用多个数据点滤波器,用户可按需选择。The rate of image acquisition by the somatosensory sensor is 30 frames per second. Through the iterative closest point method, the point cloud data of the current frame collected by the somatosensory sensor is continuously matched with the point cloud data of the previous frame to achieve further pose correction. As shown in Figure 4, the data point filter takes point cloud data as input, and outputs another point cloud data after processing. The processing methods include adding descriptors, reducing the number of data points by sampling, etc., and can also use multiple data at the same time. Point filter, the user can choose as needed.
进一步地,在S301之后,S302之前,所述方法还包括:Further, after S301 and before S302, the method further includes:
通过外层滤波器检测所述点对集合Yk,去除所述点对集合Yk中不满足预设规则的点对。The point pair set Y k is detected by the outer filter, and the point pairs in the point pair set Y k that do not meet the preset rules are removed.
例如,可以通过判断两个点之间的距离是否超过某个阈值,若超过则去除这两个点。For example, it is possible to judge whether the distance between two points exceeds a certain threshold, and if so, remove the two points.
在S302中,将所述点云数据集Pk与所述点云数据集X进行配准。In S302, the point cloud dataset P k is registered with the point cloud dataset X.
具体地,可以首先计算矩阵Q(∑py)的特征向量qR=[q0 q1 q2 q3],其中,所述∑py是点集Pk和 Yk的协互方差矩阵,I3是3阶单位矩阵,Δ=[A23 A31 A12]T, Specifically, the eigenvector q R =[q 0 q 1 q 2 q 3 ] of the matrix Q(∑ py ) can be calculated first, where, The ∑ py is the co-covariance matrix of the point sets P k and Y k , I 3 is the third-order identity matrix, Δ=[A 23 A 31 A 12 ] T ,
其次,根据所述特征向量qR计算旋转矩阵R和平移向量qT,获取配准向量q=[qR| qT]T,以实现将所述点云数据集Pk与所述点云数据集X进行配准。其中:qT=μy-R (qR)μp,所述μy和μp分别是点集Yk和Pk的质心。 Secondly, according to the feature vector q R , the rotation matrix R and the translation vector q T are calculated, and the registration vector q=[q R | q T ] T is obtained, so as to realize the combination of the point cloud dataset P k with the point cloud Data set X for registration. in: q T = μ y −R (q R ) μ p , where μ y and μ p are the centroids of point sets Y k and P k , respectively.
在S303中,在未达到预设的终止条件之前,令k=k+1,返回执行所述将点云数据集Pk与所述体感传感器采集到的上一帧的点云数据集X输入KD树匹配器的操作。In S303, before the preset termination condition is reached, set k=k+1, and return to execute the input of the point cloud data set P k and the point cloud data set X of the previous frame collected by the somatosensory sensor Operation of the KD tree matcher.
在S304中,若已达到所述预设的终止条件,根据当前的点云数据集Pk矫正所述机器人的状态变化量。In S304, if the preset termination condition has been reached, the state change amount of the robot is corrected according to the current point cloud data set Pk .
在本发明实施例中,所述预设的终止条件包括:In this embodiment of the present invention, the preset termination conditions include:
所述k的值超过了预设迭代次数;或者,The value of k exceeds the preset number of iterations; or,
所述点云数据集Pk到所述点云数据集X的误差小于预设误差值。The error from the point cloud data set P k to the point cloud data set X is less than a preset error value.
进一步地,机器人在运动的同时,其运动传感器会获取机器人在单位时间内的状态变化量。通常说来,受到机器人的轮子与光滑地面之间的滑动、偏移等因素的影响,运动传感器所获取的状态变化量的可信度不高,因此,在本发明实施例中,采用图5所示方法来增加运动传感器所获取的状态变化量的可信度:Further, while the robot is moving, its motion sensor will acquire the state change of the robot in unit time. Generally speaking, due to the influence of factors such as sliding and offset between the wheels of the robot and the smooth ground, the reliability of the state change obtained by the motion sensor is not high. Therefore, in the embodiment of the present invention, Figure 5 is used. The method shown to increase the confidence of the state change obtained by the motion sensor:
在S501中,获取机器人运动传感器的矫正参数,所述矫正参数包括线性矫正参数和旋转矫正参数。In S501, a correction parameter of the robot motion sensor is obtained, where the correction parameter includes a linear correction parameter and a rotation correction parameter.
例如,使用机器人内置的陀螺仪所自带的矫正程序,进行多次校验、验证后,确定陀螺仪的线性矫正参数和旋转矫正参数。For example, using the correction program that comes with the built-in gyroscope of the robot, after multiple verifications and verifications, the linear correction parameters and rotational correction parameters of the gyroscope are determined.
在S502中,根据机器人每次运动的状态,计算出机器人在该次运动过程中可能的误差增量方向及数值,并与所述运动传感器获取的状态变化量合并,运算得到修正的状态变化量。In S502, according to the state of each movement of the robot, the possible error increment direction and value of the robot during this movement are calculated, and combined with the state change obtained by the motion sensor, and the corrected state change is obtained by calculation .
在S503中,将所述矫正参数与所述修正的状态变化量合并,预估得到机器人的状态变化量。In S503, the correction parameter is combined with the corrected state change, and the state change of the robot is estimated.
最终获取到的状态变化量即为一个可信度较高的值。The final state change obtained is a value with high reliability.
进一步地,假设机器人在初始位姿Pref做了一次扫描Sref,之后经过一次微小的运动达到新的位姿Pnew,并在该位姿上又做了一次扫描Snew,通常,在上述过程中,Pref和Pnew可以从运动传感器中获得,然而,为了进一步提高Pref和Pnew的准确性,可以通过将两次扫描Sref和Snew中的点对齐,得到Pref和Pnew之间更加精确的关系,以修正运动传感器获得的状态变化量,如下所示:Further, it is assumed that the robot scans S ref once at the initial pose P ref , and then reaches a new pose P new after a small movement, and scans S new again on this pose, usually, in the above During the process, Pref and Pnew can be obtained from the motion sensor, however, in order to further improve the accuracy of Pref and Pnew , Pref and Pnew can be obtained by aligning the points in the two scans Sref and Snew A more precise relationship between new to correct for the amount of state change obtained by the motion sensor, as follows:
步骤1:初始化预设阈值e,以及初始化参数l=0,dl=d0=0。Step 1: Initialize the preset threshold e, and initialize parameters l=0, d l =d 0 =0.
示例性地,预设阈值e可以设置为0.0001。Exemplarily, the preset threshold e may be set to 0.0001.
步骤2:针对所述机器人新的位姿Snew上的每个点Pn,在所述机器人初始位姿Sref上寻找与之距离最近且所述距离小于所述预设阈值的点Pr,组成点对集合 Step 2: For each point P n on the new pose S new of the robot, find the point P r with the closest distance to the robot initial pose S ref and the distance is less than the preset threshold , forming a set of point pairs
步骤3:计算所述点对集合的旋转矩阵Rw和平移矩阵T,并计算 Step 3: Calculate the rotation matrix R w and translation matrix T of the set of point pairs, and calculate
步骤4:计算其中,所述num为所述点对集合中的配对数量。Step 4: Calculate Wherein, the num is the set of point pairs The number of pairs in .
步骤5:若|dl-dl+1|<e,则输出所述Rw和所述T,并根据所述Rw和所述T矫正所述机器人的状态变化量。Step 5: If |d l -d l+1 |<e, output the R w and the T, and correct the state change of the robot according to the R w and the T.
步骤6:若|dl-dl+1|≥e,令k=l+1,返回执行步骤2。Step 6: If |d l -d l+1 |≥e, set k=l+1, and return to step 2.
通过以上算法,可以根据相邻两帧的扫描得到相邻两个状态变化量之间的变化矩阵,以得出矫正的机器人的状态变化量。如图6所示,随Snew上的每个点,在Sref上寻找与之相对应的最近的点,若他们之间的距离小于设定的阈值,则就认为他们是配对点,之后计算配对点之间的旋转矩阵Rw和平移矩阵T,迭代计算,使这些配对点的能够更好的对齐,已减小他们之间的距离函数。Through the above algorithm, the change matrix between two adjacent state changes can be obtained according to the scanning of two adjacent frames, so as to obtain the corrected state change of the robot. As shown in Figure 6, with each point on S new , find the closest point corresponding to it on S ref , if the distance between them is less than the set threshold, they are considered to be paired points, and then Calculate the rotation matrix R w and the translation matrix T between the paired points, and iteratively calculate, so that these paired points can be better aligned, and the distance function between them has been reduced.
在本发明实施例中,利用体感传感器来替代激光设备,实现机器人导航过程中的位姿矫正,大大降低了机器人的制造成本,同时,运动传感器测量值的修正策略和多种匹配算法的融合策略也有助于更加精确地绘制出环境地图,以及确定出机器人的状态。In the embodiment of the present invention, the somatosensory sensor is used to replace the laser device to realize the pose correction during the robot navigation process, which greatly reduces the manufacturing cost of the robot. At the same time, the correction strategy of the measurement value of the motion sensor and the fusion strategy of various matching algorithms It also helps to map the environment more accurately and determine the state of the robot.
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。It should be understood that the size of the sequence numbers of the steps in the above embodiments does not mean the sequence of execution, and the execution sequence of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
对应于上文实施例所述的机器人的导航方法,图7示出了本发明实施例提供的机器人的导航装置的结构框图。为了便于说明,仅示出了与本实施例相关的部分。Corresponding to the robot navigation method described in the above embodiments, FIG. 7 shows a structural block diagram of a robot navigation device provided by an embodiment of the present invention. For convenience of explanation, only the parts related to this embodiment are shown.
参照图7,该装置包括:Referring to Figure 7, the device includes:
输入单元71,将点云数据集Pk与所述体感传感器采集到的上一帧的点云数据集X输入KD树匹配器,在X中寻找离Pk最近的对应数据点,生成点对集合Yk=C(Pk,X),其中,所述k为迭代次数,初始化k=0,P0为所述体感传感器采集到的当前帧的点云数据集;The input unit 71 inputs the point cloud data set P k and the point cloud data set X of the previous frame collected by the somatosensory sensor into the KD tree matcher, finds the corresponding data point closest to P k in X, and generates a point pair Set Y k =C(P k ,X), wherein k is the number of iterations, initialization k=0, and P 0 is the point cloud data set of the current frame collected by the somatosensory sensor;
配准单元72,将所述点云数据集Pk与所述点云数据集X进行配准;A registration unit 72, for registering the point cloud data set P k with the point cloud data set X;
第一返回单元73,在未达到预设的终止条件之前,令k=k+1,返回执行所述输入单元的操作;The first return unit 73, before the preset termination condition is not reached, sets k=k+1, and returns to execute the operation of the input unit;
第一矫正单元74,若已达到所述预设的终止条件,根据当前的点云数据集Pk矫正所述机器人的状态变化量。The first correction unit 74, if the preset termination condition has been reached, corrects the state change amount of the robot according to the current point cloud data set P k .
可选地,所述装置还包括:Optionally, the device further includes:
获取单元,获取所述机器人的运动传感器的矫正参数,所述矫正参数包括线性矫正参数和旋转矫正参数;an acquisition unit to acquire correction parameters of the motion sensor of the robot, where the correction parameters include linear correction parameters and rotational correction parameters;
第一计算单元,根据所述机器人每次运动的状态,计算出所述机器人在该次运动过程中可能的误差增量方向及数值,并与所述运动传感器获取的状态变化量合并,运算得到修正的状态变化量;The first calculation unit, according to the state of each movement of the robot, calculates the possible error increment direction and value of the robot in this movement process, and combines it with the state change obtained by the motion sensor, and the calculation is obtained. Corrected state change amount;
预估单元,将所述矫正参数与所述修正的状态变化量合并,预估得到所述机器人的状态变化量。The estimation unit combines the correction parameter and the corrected state change to obtain the state change of the robot by estimation.
可选地,所述装置还包括:Optionally, the device further includes:
初始化单元,初始化预设阈值e,以及初始化参数l=0,dl=d0=0;an initialization unit, initializing a preset threshold e, and initialization parameters l=0, d l =d 0 =0;
寻找单元,针对所述机器人新的位姿Snew上的每个点Pn,在所述机器人初始位姿Sref上寻找与之距离最近且所述距离小于所述预设阈值的点Pr,组成点对集合 A search unit, for each point P n on the new pose S new of the robot, find the point P r with the closest distance to it and the distance is less than the preset threshold on the initial pose S ref of the robot , forming a set of point pairs
第二计算单元,计算所述点对集合的旋转矩阵Rw和平移矩阵T,并计算 The second calculation unit calculates the rotation matrix R w and the translation matrix T of the point pair set, and calculates
第三计算单元,计算其中,所述num为所述点对集合中的配对数量;The third computing unit, computing Wherein, the num is the set of point pairs The number of pairs in;
输出单元,若|dl-dl+1|<e,则输出所述Rw和所述T,并根据所述Rw和所述T矫正所述机器人的状态变化量;The output unit, if |d l -d l+1 |<e, output the R w and the T, and correct the state change of the robot according to the R w and the T;
第二返回单元,若|dl-dl+1|≥e,令l=l+1,返回执行所述寻找单元的操作。The second returning unit, if |d l -d l+1 |≥e, let l=l+1, and return to execute the operation of the searching unit.
可选地,,所述预设的终止条件包括:Optionally, the preset termination conditions include:
所述k的值超过了预设迭代次数;或者,The value of k exceeds the preset number of iterations; or,
所述点云数据集Pk到所述点云数据集X的误差小于预设误差值。The error from the point cloud data set P k to the point cloud data set X is less than a preset error value.
可选地,,所述装置还包括:Optionally, the device further includes:
去除单元,检测所述点对集合Yk,去除所述点对集合Yk中不满足预设规则的点对。The removing unit detects the point pair set Y k , and removes point pairs that do not meet the preset rules in the point pair set Y k .
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned functions can be allocated to different functional units, Module completion, that is, dividing the internal structure of the device into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment may be integrated in one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit, and the above-mentioned integrated units may adopt hardware. It can also be realized in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing from each other, and are not used to limit the protection scope of the present application. For the specific working processes of the units and modules in the above-mentioned system, reference may be made to the corresponding processes in the foregoing method embodiments, which will not be repeated here.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each particular application, but such implementations should not be considered beyond the scope of the present invention.
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。In the embodiments provided by the present invention, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the system embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be Incorporation may either be integrated into another system, or some features may be omitted, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present invention are essentially or contribute to the prior art, or all or part of the technical solutions may be embodied in the form of software products, and the computer software products are stored in a storage The medium includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) to execute all or part of the steps of the methods described in the embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。The above-mentioned embodiments are only used to illustrate the technical solutions of the present invention, but not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it is still possible to implement the foregoing implementations. The technical solutions described in the examples are modified, or some technical features thereof are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions in the embodiments of the present invention.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention shall be included in the protection of the present invention. within the range.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511016707.2A CN105509748B (en) | 2015-12-29 | 2015-12-29 | Robot navigation method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511016707.2A CN105509748B (en) | 2015-12-29 | 2015-12-29 | Robot navigation method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105509748A CN105509748A (en) | 2016-04-20 |
CN105509748B true CN105509748B (en) | 2019-03-01 |
Family
ID=55717903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511016707.2A Active CN105509748B (en) | 2015-12-29 | 2015-12-29 | Robot navigation method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105509748B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955275B (en) * | 2016-05-26 | 2021-07-13 | 华讯方舟科技有限公司 | Robot path planning method and system |
CN108053446A (en) * | 2017-12-11 | 2018-05-18 | 北京奇虎科技有限公司 | Localization method, device and electronic equipment based on cloud |
CN108334080B (en) * | 2018-01-18 | 2021-01-05 | 大连理工大学 | Automatic virtual wall generation method for robot navigation |
CN111473785B (en) * | 2020-06-28 | 2020-09-25 | 北京云迹科技有限公司 | Method and device for adjusting relative pose of robot to map |
CN112650250B (en) * | 2020-12-23 | 2024-07-19 | 深圳市杉川机器人有限公司 | Map construction method and robot |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103247225A (en) * | 2012-02-13 | 2013-08-14 | 联想(北京)有限公司 | Instant positioning and map building method and equipment |
CN104715469A (en) * | 2013-12-13 | 2015-06-17 | 联想(北京)有限公司 | Data processing method and electronic device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201116959D0 (en) * | 2011-09-30 | 2011-11-16 | Bae Systems Plc | Vehicle localisation with 2d laser scanner and 3d prior scans |
CN103106688B (en) * | 2013-02-20 | 2016-04-27 | 北京工业大学 | Based on the indoor method for reconstructing three-dimensional scene of double-deck method for registering |
CN103729882B (en) * | 2013-12-30 | 2016-09-28 | 浙江大学 | A kind of some cloud relative pose estimation method based on three-dimensional curve coupling |
CN104236548B (en) * | 2014-09-12 | 2017-04-05 | 清华大学 | A method for indoor autonomous navigation of micro UAV |
CN104463894B (en) * | 2014-12-26 | 2020-03-24 | 山东理工大学 | Multi-view three-dimensional laser point cloud global optimization integral registration method |
-
2015
- 2015-12-29 CN CN201511016707.2A patent/CN105509748B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103247225A (en) * | 2012-02-13 | 2013-08-14 | 联想(北京)有限公司 | Instant positioning and map building method and equipment |
CN104715469A (en) * | 2013-12-13 | 2015-06-17 | 联想(北京)有限公司 | Data processing method and electronic device |
Also Published As
Publication number | Publication date |
---|---|
CN105509748A (en) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Garro et al. | Solving the pnp problem with anisotropic orthogonal procrustes analysis | |
CN105509748B (en) | Robot navigation method and device | |
US9946264B2 (en) | Autonomous navigation using visual odometry | |
CN110084832B (en) | Correction method, device, system, device and storage medium for camera pose | |
Sweeney et al. | Solving for relative pose with a partially known rotation is a quadratic eigenvalue problem | |
US12062210B2 (en) | Data processing method and apparatus | |
US9243916B2 (en) | Observability-constrained vision-aided inertial navigation | |
CN110322500A (en) | Immediately optimization method and device, medium and the electronic equipment of positioning and map structuring | |
Li et al. | A 4-point algorithm for relative pose estimation of a calibrated camera with a known relative rotation angle | |
CN110246147A (en) | Vision inertia odometer method, vision inertia mileage counter device and mobile device | |
JP2022510418A (en) | Time synchronization processing method, electronic devices and storage media | |
CN107144292A (en) | The odometer method and mileage counter device of a kind of sports equipment | |
US20220383547A1 (en) | Hand-eye calibration of camera-guided apparatuses | |
WO2004081868A2 (en) | Method and apparatus for determining camera pose from point correspondences | |
CN110648363A (en) | Camera posture determining method and device, storage medium and electronic equipment | |
CN110349212A (en) | Immediately optimization method and device, medium and the electronic equipment of positioning and map structuring | |
Mehralian et al. | EKFPnP: extended Kalman filter for camera pose estimation in a sequence of images | |
CN113155152B (en) | Camera and inertial sensor spatial relationship self-calibration method based on lie group filtering | |
CN110751722A (en) | Method and device for simultaneously positioning and establishing image | |
CN116817920A (en) | Visual positioning method and device for plane mobile robot without three-dimensional map model | |
CN115307641A (en) | Robot positioning method, device, robot and storage medium | |
Ye | Navigating a portable robotic device by a 3D imaging sensor | |
CN112037261A (en) | A kind of image dynamic feature removal method and device | |
CN113034538A (en) | Pose tracking method and device of visual inertial navigation equipment and visual inertial navigation equipment | |
CN116958198A (en) | Motion trajectory drift detection method and device based on visual inertial odometry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |