CN113625249A - Reflector positioning method, robot and computer readable storage medium - Google Patents

Reflector positioning method, robot and computer readable storage medium Download PDF

Info

Publication number
CN113625249A
CN113625249A CN202110873994.8A CN202110873994A CN113625249A CN 113625249 A CN113625249 A CN 113625249A CN 202110873994 A CN202110873994 A CN 202110873994A CN 113625249 A CN113625249 A CN 113625249A
Authority
CN
China
Prior art keywords
data frame
reflector
determining
frame
coordinates
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
Application number
CN202110873994.8A
Other languages
Chinese (zh)
Inventor
赵勇胜
熊友军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202110873994.8A priority Critical patent/CN113625249A/en
Priority to PCT/CN2021/126717 priority patent/WO2023005020A1/en
Publication of CN113625249A publication Critical patent/CN113625249A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4817Constructional features, e.g. arrangements of optical elements relating to scanning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/497Means for monitoring or calibrating

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The application belongs to the field of robots and provides a reflector positioning method, a robot and a computer readable storage medium. The method comprises the following steps: acquiring a current data frame by a synchronous positioning and mapping method; searching a data frame in a preset range, and determining the similarity between two or more reflector points included in the current data frame and the reflector points of the searched data frame; when the similarity is larger than a preset similarity threshold, optimizing the pose of the data frame included in the loop according to the loop formed by the current data frame and the searched data frame; and determining the coordinates of the reflector points according to the optimized data frame. The embodiment of the application matches the coordinates of the reflector points with the map coordinate system through synchronous positioning and map building, and performs loop optimization on the data frame according to the similarity of two or more reflector points, so that the coordinates of the reflector points can be determined more accurately, and the positioning efficiency of the reflector points can be improved.

Description

Reflector positioning method, robot and computer readable storage medium
Technical Field
The application belongs to the field of robots, and particularly relates to a reflector positioning method, a robot and a computer readable storage medium.
Background
Indoor wheeled mobile robots are generally positioned using single line lidar. In some scenarios where high reliability is required, a reflective plate or a reflective pillar is typically deployed. When the laser radar scans the reflecting plate or the reflecting column (for convenience of description, the reflecting plate is uniformly called as a reflecting plate), a stronger reflecting signal can be obtained, and the reflecting signal is easier to distinguish compared with the reflecting signals of other objects. When the laser radar obtains the reflection signals of 3 or more than 3 reflectors at the same time, the plane coordinate of the laser radar under the reflector coordinate system can be accurately calculated through triangulation or least square method, and therefore the coordinate of the robot is determined.
When the robot is positioned by the reflector, the position of the reflector needs to be determined first. Generally, the position of the reflector can be obtained through total station measurement, but the measurement process is troublesome, registration between the position of the reflector and a map needs to be manually performed, and the whole process needs to consume more labor cost and time cost.
Disclosure of Invention
In view of this, embodiments of the present application provide a reflector positioning method, a robot, and a computer-readable storage medium, so as to solve the problems that, in the prior art, when positioning is performed through a reflector, the position of the reflector needs to be measured through a total station, registration needs to be performed manually, and the whole process consumes much labor cost and time cost.
A first aspect of an embodiment of the present application provides a method for positioning a reflector, where the method includes:
acquiring a current data frame by a synchronous positioning and mapping method, determining the number of reflector points included in the current data frame to be two or more, and determining coordinates of the reflector points included in the current data frame under a preset map plane coordinate system;
searching a data frame in a preset range, and determining the similarity between two or more reflector points included in the current data frame and two or more reflector points included in the searched data frame according to the coordinates of the reflector points included in the data frame;
when the similarity is larger than a preset similarity threshold, optimizing the pose of the data frame included in the loop according to the loop formed by the current data frame and the searched data frame;
and determining the coordinates of the reflector points according to the optimized data frame.
With reference to the first aspect, in a first possible implementation manner of the first aspect, determining, according to coordinates of reflector points included in a data frame, a similarity between two or more reflector points included in the current data frame and two or more reflector points included in a searched data frame includes:
acquiring a reference frame, wherein the reference frame is the searched data frame, is positioned in front of the current data frame and comprises two or more data frames of reflector points;
determining the distance between the reflector point in the current data frame and the reflector point in the reference frame according to the coordinates of the reflector point in the current data frame and the coordinates of the reflector point in the reference frame;
and comparing the distance with a preset first distance threshold value, and determining the similarity of the reflector points according to the comparison result.
With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the searching for the data frame within the preset range includes:
determining that the change of the acquisition coordinates of the current data frame and the searched reference frame is greater than a second distance threshold, or the change of the acquisition angle of the current data frame and the searched reference frame is greater than a first angle threshold.
With reference to the first aspect, in a third possible implementation manner of the first aspect, determining, according to coordinates of reflector points included in a data frame, a similarity between two or more reflector points included in the current data frame and two or more reflector points included in a searched data frame includes:
determining a first distance matrix according to coordinates of two or more reflector points included in the current data frame, wherein the first distance matrix is a matrix formed by distances between the reflector points in the current data frame;
determining a second distance matrix according to coordinates of two or more reflector points included in the searched data frame within a preset range, wherein the second distance matrix is a matrix formed by distances between the reflector points in the searched data frame;
and determining the similarity according to the first distance matrix and the second distance matrix.
With reference to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the determining the similarity according to the first distance matrix and the second distance matrix includes:
if the difference value of the elements of the first distance matrix and the second distance matrix is smaller than a third distance threshold value, acquiring a first point cloud of the current data frame and a second point cloud of the searched data frame;
and determining the similarity according to the matching scores of the first point cloud and the second point cloud.
With reference to the first aspect, in a fifth possible implementation manner of the first aspect, acquiring a current data frame by a synchronous positioning and mapping method further includes:
determining a key frame in a data frame acquired by a laser radar;
and determining the current data frame according to the currently acquired key frame.
With reference to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the determining a keyframe in a data frame acquired by a lidar includes:
if the currently acquired data frame is a first frame, the current frame is a key frame;
and if the currently acquired data frame is not the first frame, the change of the acquisition time of the previous key frame is greater than a preset first time threshold value, and the change of the acquisition position of the previous key frame is greater than a preset third distance threshold value, the currently acquired data frame is the key frame.
With reference to the first aspect, in a seventh possible implementation manner of the first aspect, the determining coordinates of the reflector point according to the optimized data frame includes:
acquiring a robot track after pose optimization, and determining coordinates of reflector points included in a data frame acquired on the track;
merging the reflector points according to the recorded distance between the coordinates of the reflector points;
and determining the coordinates of the combined reflector points according to the coordinates of the combined reflector points.
A second aspect of embodiments of the present application provides a reflector positioning apparatus, including:
the data frame acquisition unit is used for acquiring a current data frame by a synchronous positioning and mapping method, determining the number of the reflector points included in the current data frame to be two or more, and determining the coordinates of the reflector points included in the current data frame under a preset map plane coordinate system;
the similarity determining unit is used for searching a data frame in a preset range, determining the similarity between two or more reflector points included in the current data frame and two or more reflector points included in the searched data frame according to the coordinates of the reflector points included in the data frame;
the loop optimization unit is used for optimizing the pose of the data frame included in the loop according to the loop formed by the current data frame and the searched data frame when the similarity is greater than a preset similarity threshold;
and the reflector point coordinate determination unit is used for determining the coordinates of the reflector points according to the optimized data frame.
A third aspect of embodiments of the present application provides a robot comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the method according to any one of the first aspect when executing the computer program.
A fourth aspect of embodiments of the present application provides a computer-readable storage medium, in which a computer program is stored, which, when executed by a processor, performs the steps of the method according to any one of the first aspect.
Compared with the prior art, the embodiment of the application has the advantages that: according to the embodiment of the application, the current data frame comprising two or more reflector points is acquired through the laser radar, the similarity of the reflector points is compared with the similarity of the data frame searched in the preset range, when the similarity of the reflector points is larger than the preset similarity threshold value, the pose of the robot acquiring the data frame is optimized according to a loop formed by the current data frame and the searched data frame, so that the more accurate pose of the robot is obtained, the coordinates of the reflector points are determined more accurately and efficiently according to the data frame after the pose is optimized, the matching of the reflector points and the map coordinates is established during synchronous positioning and map building, and the positioning efficiency of the reflector points can be reduced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
Fig. 1 is a schematic view of a reflector positioning scene provided in an embodiment of the present application;
fig. 2 is a schematic flow chart illustrating an implementation of a reflector positioning method according to an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of a loop optimization provided in an embodiment of the present application;
fig. 4 is a schematic view of a reflector positioning apparatus provided in an embodiment of the present application;
fig. 5 is a schematic view of a robot provided in an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from 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 application with unnecessary detail.
In order to explain the technical solution described in the present application, the following description will be given by way of specific examples.
Fig. 1 is a schematic view of an implementation scenario of a reflector positioning method according to an embodiment of the present application. As shown in fig. 1, a working scene of the robot includes a plurality of reflectors (fig. 1 includes a reflector 1, a reflector 2, a reflector 3, and a reflector 4, and other actual scenes may also include reflective columns, etc.), and the reflectors are installed according to the working scene information, including information such as walls and doorcolumns. The installation height of each reflector relative to the moving plane of the robot is a constant value and can be matched with the height of a laser radar of the robot. The size of the light reflecting plate may be set to a uniform size in advance, and for example, it may be set to a rectangular shape having a width of 3 cm and a height of 10 cm.
After the installation is completed, in order to position the robot according to the position of the reflector, the coordinates of the reflector in the map coordinate system need to be accurately determined.
Fig. 2 is a schematic flow chart illustrating an implementation of a method for positioning a reflector according to an embodiment of the present application. As shown in fig. 2, the process includes:
in S201, a current data frame is acquired by a synchronous positioning and mapping method, the number of the reflector points included in the current data frame is determined to be two or more, and coordinates of the reflector points included in the current data frame in a preset map plane coordinate system are determined.
Specifically, the method for synchronously positioning and mapping (SLAM) includes moving a robot from an unknown position in an unknown environment, positioning the robot according to the position and a map during moving, and simultaneously building an incremental map based on the positioning of the robot to realize autonomous positioning and navigation of the robot.
When the current data frame is acquired by the synchronous positioning and image building method, only the currently acquired key frame can be screened to obtain the current data frame meeting the requirements.
The key frame may be a first frame of a data frame collected by the laser radar. I.e. whether or not the acquired data frame comprises a reflector spot, this first frame may be referred to as a key frame.
The number of keyframes included in the frames of data collected by the lidar may increase as the time of collection changes. Determining whether the currently acquired data frame is a key frame, wherein the time difference between the acquisition time of the previous key frame of the current time and the current time exceeds a first time threshold value; or the distance between the acquisition position of the previous key frame at the current time and the acquisition position of the data frame at the current time is greater than a preset third distance threshold; or the change of the acquisition angle of the key frame before the current time and the acquisition angle of the data frame at the current time is greater than the second angle threshold value, and the currently acquired data frame is the key frame.
The reflector points, namely the robot, detect the reflector by emitting detection signals through the laser radar, and the positions of the reflector, which are detected and represented by the points, are the reflector points.
The determination of the number of reflector spots included in the data frame may be based on the intensity of the laser spot. When the intensity of a plurality of continuous laser points received by the robot is greater than a preset first intensity threshold, the position of a reflector point can be determined according to the average value of the continuous laser points. If the intensity of the single laser spot exceeds the preset first intensity threshold value, the spot is taken as a position point of a reflector, namely a reflector spot.
When synchronous positioning and mapping are carried out, the coordinates of the reflector points on the map coordinate system can be determined according to the pose of the laser radar on the map coordinate system and the distance and the angle of the reflector relative to the laser radar.
In S202, a data frame is searched within a preset range, and according to coordinates of the reflector points included in the data frame, the similarity between two or more reflector points included in the current data frame and two or more reflector points included in the searched data frame is determined.
In this embodiment of the application, the data frame searched in the preset range may be a reference frame corresponding to the current data frame, that is, a previous reference frame of the current data frame, or may be any data frame in a predetermined range before the current data frame, or any key frame in a predetermined range before the current data frame.
The reference frame can be obtained by filtering and screening the key frame. For example, the number of reflector dots may be set to be greater than or equal to 2, and then, when the number of reflector dots in the key frame is greater than or equal to 2 and is before the current data frame, the data frame may be referred to as a reference frame.
Since the coordinates of the reflector points included in the data frame are determined when the robot creates the image, the distance between the coordinates of the reflector points in the current data frame and the reference frame can be calculated. For example, the distance from each reflector point in the current data frame to all reflector points in the reference frame may be determined in turn. The determined distance is compared to a preset first distance threshold. For example, the first distance threshold may be 10 centimeters, and if the calculated distance is less than 10 centimeters, it is determined that the two reflector points are points corresponding to the same reflector, and the similarity is greater than the preset similarity threshold. Or when the distance between two or more groups of reflector points is smaller than a preset first distance threshold, determining that the similarity is larger than a preset similarity threshold.
When the reference frame compared with the current data frame is determined in the preset range, the acquisition angle between the data frame to be compared and the current data frame is larger than a first angle threshold, or the distance between the data frame to be compared and the robot acquisition position of the current data frame is larger than a preset second distance threshold, so that the data frame to be compared meets the preset range requirement. After the preset range requirement is met, if the data frame to be compared is a key frame and comprises two or more reflector points, the data frame to be compared is a reference frame which can be used for searching and comparing.
In a possible implementation, the first distance matrix may be determined from coordinates of two or more reflector points included in the current data frame. For example, the distance between any two reflector points may be calculated according to the coordinates of two or more reflector points included in the current data frame, and the calculated distance may be used as an element in the first distance matrix. For convenience of comparison, in the distance matrix, the distances between the reflector points are set up by taking the serial numbers of the reflector points as an abscissa and an ordinate, and the elements of the matrix are the distances between the points with two serial numbers. The matrix is a diagonal matrix and may retain only half the value of the diagonal, with the elements on the diagonal and the value of the other diagonal set to zero.
For example, the current data frame includes n reflector points, and the distance between the first reflector point and the second reflector point is d01The distance between the first reflector and the third reflector is d02The distance between the first reflecting plate point and the nth reflecting plate point is d0(n-1)The distance between the second reflecting plate point and the third reflecting plate point is d12The distance between the second reflecting plate point and the nth reflecting plate point is d1(n-1)The distance between the n-1 th reflecting plate point and the n-th reflecting plate point is d(n-2)(n-1). The first distance matrix may be represented as:
Figure BDA0003189683890000081
similarly, for the data frame searched in the preset range, the distance between the reflector points can be calculated according to the coordinates of each reflector point, and the second distance matrix is determined according to the calculated distance.
And comparing the first distance matrix with the second distance matrix to determine the similarity between the current data frame and the searched data frame.
The threshold range where the searched data frame is located may include that a distance between a position where the searched data frame is collected and a position where the current data frame is collected is greater than a preset third distance threshold, and a change in time for collecting the current data frame and the searched data frame is the first time threshold. The change of time can also be represented by a frame number, that is, the number of frames between the current data frame and the searched data frame is greater than the first frame number threshold.
When comparing the distance matrices (the first distance matrix and the second distance matrix), it may be determined whether a difference between element values in the distance matrices is smaller than a predetermined fourth distance threshold, and it is determined that a rough correspondence exists between the two frames, and a matching score of the frame may be further determined in a point cloud matching manner. If the match score is greater than the predetermined match threshold, the two data frames are considered similar, and the reflector points in the data frames comprise the same reflector point.
In S203, when the similarity is greater than a preset similarity threshold, optimizing the pose of the data frame included in the loop according to the loop formed by the current data frame and the searched data frame.
If the similarity of the two frames is greater than the preset similarity threshold, the two frames comprise the same reflector point, and the displacement of the robot during the collection of the current data frame and the collection of the reference frame can be determined according to the collection poses of the current data frame and the reference frame (or the searched data frame) and by combining the positions of the matched reflector point in the image.
As shown in fig. 3, the displacement determined according to the loop is a displacement that is changed when the pose of the robot is changed from the pose of the data frame searched for by the acquisition to the pose of the current data frame. The displacement forming the loop can be used as actual displacement, interframe displacement generated between two adjacent frames is calculated according to point cloud of a data frame (or a key frame) between a current data frame and a searched data frame, the interframe displacement is calculated through accumulation, the error between the calculated total displacement and the actual displacement can be obtained, and the data frames in the current data frame and an absolute data frame can be optimized according to the error. The optimization method includes, but is not limited to, uniformly distributing the data frames according to the error between the current pose and the actual pose of the robot.
In S204, coordinates of the reflector point are determined according to the optimized data frame.
And optimizing the data frame or the key frame according to the loop detected in the moving process of the robot, including optimizing the robot coordinate for collecting the key frame. And determining the coordinates of the reflector points of the data frame corresponding to the movement track according to the movement track of the robot generated by the optimized data frame. The coordinates of the reflector points in all the data frames can be recorded, the reflector points with the distance smaller than the preset merging distance threshold value are merged into the same reflector point according to the distance between the coordinates of the reflector points, and the average value of the merged coordinates of the reflector points is used as the coordinates of the merged reflector points.
The coordinates of the reflector points generated by the method are determined based on synchronous positioning and map building, so that the coordinates of the reflector points do not need to be matched with a map manually, loop points corresponding to the data frame are searched according to the similarity of two or more reflector points in the data frame in the synchronous positioning and map building process, and the position of the data frame is optimized, so that the coordinates of the reflector points can be automatically obtained, and the precision of the obtained coordinates can be improved.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Fig. 4 is a schematic view of a reflector positioning apparatus provided in an embodiment of the present application, where the apparatus includes:
a data frame acquisition unit 401, configured to acquire a current data frame by a synchronous positioning and mapping method, determine that the number of reflector points included in the current data frame is two or more, and determine coordinates of the reflector points included in the current data frame in a preset map plane coordinate system;
a similarity determining unit 402, configured to search a data frame within a preset range, and determine, according to coordinates of reflector points included in the data frame, similarities between two or more reflector points included in the current data frame and two or more reflector points included in the searched data frame;
a loop optimization unit 403, configured to, when the similarity is greater than a preset similarity threshold, optimize a pose of a data frame included in a loop according to the loop formed by the current data frame and the searched data frame;
and a reflector point coordinate determining unit 404, configured to determine coordinates of the reflector point according to the optimized data frame.
The reflector positioning apparatus shown in fig. 4 corresponds to the reflector positioning method shown in fig. 2.
Fig. 5 is a schematic view of a robot provided in an embodiment of the present application. As shown in fig. 5, the robot 5 of this embodiment includes: a processor 50, a memory 51 and a computer program 52, such as a reflector positioning program, stored in said memory 51 and executable on said processor 50. The processor 50, when executing the computer program 52, implements the steps in the above embodiments of the reflector positioning method. Alternatively, the processor 50 implements the functions of the modules/units in the above-described device embodiments when executing the computer program 52.
Illustratively, the computer program 52 may be partitioned into one or more modules/units, which are stored in the memory 51 and executed by the processor 50 to accomplish the present application. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution of the computer program 52 in the robot 5.
The robot may include, but is not limited to, a processor 50, a memory 51. Those skilled in the art will appreciate that fig. 5 is merely an example of a robot 5 and does not constitute a limitation of robot 5 and may include more or fewer components than shown, or some components in combination, or different components, e.g., the robot may also include input output devices, network access devices, buses, etc.
The Processor 50 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 51 may be an internal storage unit of the robot 5, such as a hard disk or a memory of the robot 5. The memory 51 may also be an external storage device of the robot 5, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), or the like, provided on the robot 5. Further, the memory 51 may also include both an internal storage unit and an external storage device of the robot 5. The memory 51 is used for storing the computer program and other programs and data required by the robot. The memory 51 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/terminal device and method may be implemented in other ways. For example, the above-described embodiments of the apparatus/terminal device are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the methods of the embodiments described above can be implemented by hardware related to instructions of a computer program, which can be stored in a computer readable storage medium, and when the computer program is executed by a processor, the steps of the methods described above can be implemented. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain other components which may be suitably increased or decreased as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media which may not include electrical carrier signals and telecommunications signals in accordance with legislation and patent practice.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

Claims (10)

1. A method of positioning a reflector, the method comprising:
acquiring a current data frame by a synchronous positioning and mapping method, determining the number of reflector points included in the current data frame to be two or more, and determining coordinates of the reflector points included in the current data frame under a preset map plane coordinate system;
searching a data frame in a preset range, and determining the similarity between two or more reflector points included in the current data frame and two or more reflector points included in the searched data frame according to the coordinates of the reflector points included in the data frame;
when the similarity is larger than a preset similarity threshold, optimizing the pose of the data frame included in the loop according to the loop formed by the current data frame and the searched data frame;
and determining the coordinates of the reflector points according to the optimized data frame.
2. The method of claim 1, wherein determining the similarity between two or more reflector points included in the current data frame and two or more reflector points included in the searched data frame according to the coordinates of the reflector points included in the data frame comprises:
acquiring a reference frame, wherein the reference frame is the searched data frame, is positioned in front of the current data frame and comprises two or more data frames of reflector points;
determining the distance between the reflector point in the current data frame and the reflector point in the reference frame according to the coordinates of the reflector point in the current data frame and the coordinates of the reflector point in the reference frame;
and comparing the distance with a preset first distance threshold value, and determining the similarity of the reflector points according to the comparison result.
3. The method of claim 2, wherein searching for a data frame within a predetermined range comprises:
determining that the change of the acquisition coordinates of the current data frame and the searched reference frame is greater than a second distance threshold, or the change of the acquisition angle of the current data frame and the searched reference frame is greater than a first angle threshold.
4. The method of claim 1, wherein determining the similarity between two or more reflector points included in the current data frame and two or more reflector points included in the searched data frame according to the coordinates of the reflector points included in the data frame comprises:
determining a first distance matrix according to coordinates of two or more reflector points included in the current data frame, wherein the first distance matrix is a matrix formed by distances between the reflector points in the current data frame;
determining a second distance matrix according to coordinates of two or more reflector points included in the searched data frame within a preset range, wherein the second distance matrix is a matrix formed by distances between the reflector points in the searched data frame;
and determining the similarity according to the first distance matrix and the second distance matrix.
5. The method of claim 4, wherein determining the similarity from the first distance matrix and the second distance matrix comprises:
if the difference value of the elements of the first distance matrix and the second distance matrix is smaller than a third distance threshold value, acquiring a first point cloud of the current data frame and a second point cloud of the searched data frame;
and determining the similarity according to the matching scores of the first point cloud and the second point cloud.
6. The method of claim 1, wherein the current data frame is acquired by a synchronous localization and mapping method, further comprising:
determining a key frame in a data frame acquired by a laser radar;
and determining the current data frame according to the currently acquired key frame.
7. The method of claim 6, wherein determining key frames in the frames of data collected by the lidar comprises:
if the currently acquired data frame is a first frame, the current frame is a key frame;
and if the currently acquired data frame is not the first frame, the change of the acquisition time of the previous key frame is greater than a preset first time threshold value, and the change of the acquisition position of the previous key frame is greater than a preset third distance threshold value, the currently acquired data frame is the key frame.
8. The method of claim 1, wherein determining coordinates of reflector points from the optimized data frame comprises:
acquiring a robot track after pose optimization, and determining coordinates of reflector points included in a data frame acquired on the track;
merging the reflector points according to the recorded distance between the coordinates of the reflector points;
and determining the coordinates of the combined reflector points according to the coordinates of the combined reflector points.
9. A robot comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the steps of the method according to any of claims 1 to 8 are implemented when the computer program is executed by the processor.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 8.
CN202110873994.8A 2021-07-30 2021-07-30 Reflector positioning method, robot and computer readable storage medium Pending CN113625249A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110873994.8A CN113625249A (en) 2021-07-30 2021-07-30 Reflector positioning method, robot and computer readable storage medium
PCT/CN2021/126717 WO2023005020A1 (en) 2021-07-30 2021-10-27 Reflector localization method, robot and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110873994.8A CN113625249A (en) 2021-07-30 2021-07-30 Reflector positioning method, robot and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN113625249A true CN113625249A (en) 2021-11-09

Family

ID=78381852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110873994.8A Pending CN113625249A (en) 2021-07-30 2021-07-30 Reflector positioning method, robot and computer readable storage medium

Country Status (2)

Country Link
CN (1) CN113625249A (en)
WO (1) WO2023005020A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115842875A (en) * 2023-02-21 2023-03-24 德力西集团仪器仪表有限公司 Method, apparatus, computer device and medium for determining similar data frame

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008132251A (en) * 2008-08-04 2010-02-10 Владимир Николаевич Арнаутов (RU) DEVICE OF AUTOMATIC CORRECTION OF LIGHT FLOW FROM SOURCE OF PARALLEL BEAMS
CN109613550A (en) * 2018-12-28 2019-04-12 芜湖哈特机器人产业技术研究院有限公司 A kind of laser radar map structuring and localization method based on reflector
CN109613548A (en) * 2018-12-28 2019-04-12 芜湖哈特机器人产业技术研究院有限公司 A kind of laser radar road sign map constructing method based on figure optimization
CN112629522A (en) * 2020-12-31 2021-04-09 山东大学 AGV positioning method and system with reflector and laser SLAM integrated
CN113160130A (en) * 2021-03-09 2021-07-23 北京航空航天大学 Loop detection method and device and computer equipment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018119606A1 (en) * 2016-12-26 2018-07-05 Bayerische Motoren Werke Aktiengesellschaft Method and apparatus for representing a map element and method and apparatus for locating vehicle/robot
CN110031817B (en) * 2018-12-28 2022-05-27 芜湖哈特机器人产业技术研究院有限公司 Rapid matching method for laser radar reflector
CN110471072B (en) * 2019-08-19 2021-04-02 华晟(青岛)智能装备科技有限公司 Method and system for identifying position of reflecting column
CN111596299B (en) * 2020-05-19 2022-09-30 三一机器人科技有限公司 Method and device for tracking and positioning reflective column and electronic equipment
CN111694013B (en) * 2020-06-11 2023-03-28 三一机器人科技有限公司 Method, device and equipment for constructing map of reflective column and storage medium
CN112285725B (en) * 2020-10-10 2023-11-07 杭州电子科技大学 Single mobile robot indoor positioning method based on laser radar

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008132251A (en) * 2008-08-04 2010-02-10 Владимир Николаевич Арнаутов (RU) DEVICE OF AUTOMATIC CORRECTION OF LIGHT FLOW FROM SOURCE OF PARALLEL BEAMS
CN109613550A (en) * 2018-12-28 2019-04-12 芜湖哈特机器人产业技术研究院有限公司 A kind of laser radar map structuring and localization method based on reflector
CN109613548A (en) * 2018-12-28 2019-04-12 芜湖哈特机器人产业技术研究院有限公司 A kind of laser radar road sign map constructing method based on figure optimization
CN112629522A (en) * 2020-12-31 2021-04-09 山东大学 AGV positioning method and system with reflector and laser SLAM integrated
CN113160130A (en) * 2021-03-09 2021-07-23 北京航空航天大学 Loop detection method and device and computer equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
康俊民;赵祥模;徐志刚;: "基于特征几何关系的无人车轨迹回环检测", 中国公路学报, no. 01, pages 1 - 9 *
黄妙华: "智能车辆控制基础", 机械工业出版社, pages: 219 - 220 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115842875A (en) * 2023-02-21 2023-03-24 德力西集团仪器仪表有限公司 Method, apparatus, computer device and medium for determining similar data frame
CN115842875B (en) * 2023-02-21 2023-06-02 德力西集团仪器仪表有限公司 Method, device, computer equipment and medium for determining similar data frames

Also Published As

Publication number Publication date
WO2023005020A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
CN109658504B (en) Map data annotation method, device, equipment and storage medium
CN112595323A (en) Robot and drawing establishing method and device thereof
CN109859260B (en) Method and device for determining parking position and computer readable storage medium
CN110412530B (en) Method and device for identifying charging pile and robot
CN109828250B (en) Radar calibration method, calibration device and terminal equipment
CN111476099B (en) Target detection method, target detection device and terminal equipment
CN110780276B (en) Tray identification method and system based on laser radar and electronic equipment
CN113111513B (en) Sensor configuration scheme determining method and device, computer equipment and storage medium
CN111753757A (en) Image recognition processing method and device
CN112198878B (en) Instant map construction method and device, robot and storage medium
CN113625249A (en) Reflector positioning method, robot and computer readable storage medium
CN114495512A (en) Vehicle information detection method and system, electronic device and readable storage medium
CN112001357B (en) Target identification detection method and system
CN115267722A (en) Angular point extraction method and device and storage medium
CN111366947B (en) Method, device and system for identifying scene by navigation laser radar
CN112223281A (en) Robot and positioning method and device thereof
CN115388878A (en) Map construction method and device and terminal equipment
CN113297259A (en) Robot and environment map construction method and device thereof
CN115685219A (en) Target detection method and device based on laser scanning and target detection terminal
CN113112551A (en) Camera parameter determination method and device, road side equipment and cloud control platform
CN113625296B (en) Robot positioning method and device based on reflector and robot
CN111311690A (en) Calibration method and device of depth camera, terminal and computer storage medium
CN117152197B (en) Method and system for determining tracking object and method and system for tracking
CN117075135B (en) Vehicle feature detection method, system, storage medium and electronic equipment
CN116539026B (en) Map construction method, device, equipment and storage medium

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