A method and device for removing motion distortion of laser radar based on Ackerman chassis

By interpolation method, the robot position pose in the laser data frame and coordinate conversion is solved, the motion distortion problem of lidar during the high-speed movement of the robot is achieved, efficient distortion removal is achieved, and robot accuracy and safety is improved.

CN114185020BActive Publication Date: 2025-03-25EZHOU INST OF IND TECH HUAZHONG UNIV OF SCI & TECH +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111455235.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-01
Publication Date
2025-03-25
Estimated Expiration
2041-12-01

AI Technical Summary

Technical Problem

When the robot moves at high speed, the rotation of the lidar causes motion distortion in the laser data, affecting the robot's motion accuracy and safety.

Method used

Each laser origin in the laser data frame is matched with an approximate robot position pose by interpolation method, and based on the transformation relationship of these position poses, the laser origin in the laser data frame is converted to the reference coordinate system to remove motion distortion.

Benefits of technology

It realizes simple and efficient removal of lidar motion distortion, with small errors, and improves robot motion accuracy and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114185020B_ABST
    Figure CN114185020B_ABST
Patent Text Reader

Abstract

The present application provides a method and device for removing motion distortion of laser radar based on Ackerman chassis, which is used to eliminate the motion distortion problem of laser radar more concisely and efficiently, and also has the characteristics of small error. The method includes: obtaining a laser data frame obtained by scanning the laser radar on the robot after one rotation, the laser data frame includes distance data obtained by measuring multiple laser beams, and the chassis of the robot is an Ackerman chassis; matching each laser origin in the laser data frame with an approximate robot posture through interpolation; based on the transformation relationship between the robot postures matched by different laser origins in the laser data frame, using the initial laser origin in the laser data frame as the reference coordinate system, converting other laser origins after the initial laser origin in the laser data frame to coordinates under the reference coordinate system; encapsulating the laser data frame after coordinate conversion for publishing and completing the removal of motion distortion of the laser data frame.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics, and in particular to a method and device for removing motion distortion of a laser radar based on an Ackerman chassis. Background Art

[0002] Common sensors for autonomous mobile robots include laser radar, ultrasonic radar, millimeter wave radar, monocular camera, binocular camera, etc. Among them, laser radar has the advantages of long detection distance, high accuracy and strong anti-interference ability, and is widely used in the field of robot sensors.

[0003] However, since the rotation of the laser radar consumes a considerable amount of time, when the robot moves at high speed, there will be a considerable offset between the laser origins in the same frame of laser data, which will cause motion distortion. If appropriate measures are not taken to eliminate the motion distortion of the laser radar, it will cause errors in the subsequent robot's synchronous positioning and mapping, navigation and obstacle avoidance, thereby affecting the robot's motion accuracy and reducing its safety. Therefore, it is necessary to eliminate the motion distortion problem of the laser radar.

[0004] Currently, for robots with Ackerman chassis, the motion distortion problem of LiDAR is often not processed, or an Inertial Measurement Unit (IMU) is used to perform multiple coordinate transformations on the laser data and then repackage the data before publishing it.

[0005] However, performing multiple coordinate transformations on laser data in a short period of time involves a large amount of calculation and places high demands on hardware, which is also prone to time delays, and its practical value is still not high. Summary of the invention

[0006] The present application provides a method and device for removing motion distortion of a laser radar based on an Ackerman chassis, which is used to eliminate the motion distortion problem of the laser radar in a more concise and efficient manner, while also having the characteristic of smaller error.

[0007] In a first aspect, the present application provides a method for removing motion distortion of a laser radar based on an Ackerman chassis, the method comprising:

[0008] Obtain a laser data frame obtained by scanning a laser radar on the robot after rotating for one circle. The laser data frame includes distance data measured by multiple laser beams. The chassis of the robot is an Ackerman chassis.

[0009] Match the approximate robot pose to each laser origin in the laser data frame by interpolation;

[0010] Based on the transformation relationship between the robot postures matched by different laser origins in the laser data frame, the initial laser origin in the laser data frame is used as the reference coordinate system, and other laser origins after the initial laser origin in the laser data frame are converted to coordinates in the reference coordinate system;

[0011] Encapsulate the laser data frame after coordinate transformation for publishing and complete the removal of motion distortion of the laser data frame.

[0012] In combination with the first aspect of the present application, in a first possible implementation of the first aspect of the present application, obtaining a laser data frame obtained by scanning a laser radar on a robot after rotating one circle includes:

[0013] Acquire initial laser data frame;

[0014] Check whether the earliest timestamp in the initial laser data frame is later than the earliest timestamp in the robot's odometer data queue, and check whether the latest timestamp in the laser data frame is earlier than the latest timestamp in the odometer data queue;

[0015] If all are yes, it is determined that the requirements are met and the initial laser data frame is retained;

[0016] If not all of them are yes, it is determined that the requirements are not met, the initial laser data frame is discarded and a new laser data frame is acquired.

[0017] In combination with the first possible implementation method of the first aspect of the present application, in the second possible implementation method of the first aspect of the present application, the odometer data queue is obtained through a robot motion model constructed based on the wheelbase and chassis width of the Ackerman chassis, and the odometer data queue is obtained by storing the odometer data in chronological order under the queue data structure.

[0018] In combination with the second possible implementation method of the first aspect of the present application, in a third possible implementation method of the first aspect of the present application, two motors with encoders on the Ackerman chassis serve as drive wheel motors for the left drive wheel and the right drive wheel respectively. The robot motion model calculates the linear velocities of the left drive wheel and the right drive wheel respectively through the data measured by the two encoders, and determines the body speed and steering angle of the robot based on the linear velocities of the left drive wheel and the right drive wheel. The body speed is integrated within the sampling time range to obtain the body displacement of the robot, and the corresponding odometer data is obtained based on the body displacement record.

[0019] In combination with the third possible implementation of the first aspect of the present application, in a fourth possible implementation of the first aspect of the present application, the encoder is specifically a Hall encoder with incremental output.

[0020] In combination with the third possible implementation method of the first aspect of the present application, in the fifth possible implementation method of the first aspect of the present application, the data measured by the encoder is obtained under the software quadruple frequency processing mechanism, and the software quadruple frequency processing mechanism is: respectively capture the rising edge and falling edge of the A phase and the rising edge and falling edge of the B phase of the Hall encoder, and the pulse count value per unit time is four times the basic pulse count value.

[0021] In combination with the first aspect of the present application, in a sixth possible implementation of the first aspect of the present application, each laser origin in the laser data frame is matched with an approximate robot posture by an interpolation method, including:

[0022] The interpolation method is used to synchronize the time dimension and match the approximate robot pose for each laser origin in the laser data frame.

[0023] In a second aspect, the present application provides a laser radar motion distortion removal device based on an Ackerman chassis, the device comprising:

[0024] An acquisition unit is used to acquire a laser data frame obtained by scanning a laser radar on the robot after rotating for one circle. The laser data frame includes distance data measured by multiple laser beams. The chassis of the robot is an Ackerman chassis.

[0025] A matching unit, used for matching an approximate robot pose to each laser origin in the laser data frame by interpolation;

[0026] A conversion unit, for converting other laser origins after the initial laser origin in the laser data frame into coordinates in the reference coordinate system based on the transformation relationship between robot postures matched by different laser origins in the laser data frame, taking the initial laser origin in the laser data frame as the reference coordinate system;

[0027] The encapsulation unit is used to encapsulate the laser data frame after coordinate transformation for publishing and to remove the motion distortion of the laser data frame.

[0028] In conjunction with the second aspect of the present application, in a first possible implementation manner of the second aspect of the present application, the acquiring unit is specifically configured to:

[0029] Acquire initial laser data frame;

[0030] Check whether the earliest timestamp in the initial laser data frame is later than the earliest timestamp in the robot's odometer data queue, and check whether the latest timestamp in the laser data frame is earlier than the latest timestamp in the odometer data queue;

[0031] If all are yes, it is determined that the requirements are met and the initial laser data frame is retained;

[0032] If not all of them are yes, it is determined that the requirements are not met, the initial laser data frame is discarded and a new laser data frame is acquired.

[0033] In combination with the first possible implementation method of the second aspect of the present application, in the second possible implementation method of the second aspect of the present application, the odometer data queue is obtained through a robot motion model constructed based on the wheelbase and chassis width of the Ackerman chassis, and the odometer data queue is obtained by storing the odometer data in chronological order under the queue data structure.

[0034] In combination with the second possible implementation method of the second aspect of the present application, in a third possible implementation method of the second aspect of the present application, two motors with encoders on the Ackerman chassis serve as drive wheel motors for the left drive wheel and the right drive wheel respectively, and the robot motion model calculates the linear velocities of the left drive wheel and the right drive wheel respectively through the data measured by the two encoders, and determines the body speed and steering angle of the robot based on the linear velocities of the left drive wheel and the right drive wheel, integrates the body speed within the sampling time range to obtain the body displacement of the robot, and obtains the corresponding odometer data based on the body displacement record.

[0035] In combination with the third possible implementation of the second aspect of the present application, in a fourth possible implementation of the second aspect of the present application, the encoder is specifically a Hall encoder with incremental output.

[0036] In combination with the third possible implementation method of the second aspect of the present application, in the fifth possible implementation method of the second aspect of the present application, the data measured by the encoder is obtained under the software quadruple frequency processing mechanism, and the software quadruple frequency processing mechanism is: respectively capture the rising edge and falling edge of the A phase and the rising edge and falling edge of the B phase of the Hall encoder, and the pulse count value per unit time is four times the basic pulse count value.

[0037] In combination with the second aspect of the present application, in a sixth possible implementation manner of the second aspect of the present application, the matching unit is specifically configured to:

[0038] The interpolation method is used to synchronize the time dimension and match the approximate robot pose for each laser origin in the laser data frame.

[0039] In a third aspect, the present application provides a robot comprising a processor and a memory, wherein a computer program is stored in the memory, and when the processor calls the computer program in the memory, the method provided in the first aspect of the present application or any possible implementation of the first aspect of the present application is executed.

[0040] In a fourth aspect, the present application provides a computer-readable storage medium, which stores multiple instructions, and the instructions are suitable for a processor to load to execute the method provided by the first aspect of the present application or any possible implementation of the first aspect of the present application.

[0041] From the above content, it can be concluded that the present application has the following beneficial effects:

[0042] In order to solve the problem of motion distortion of the laser radar of the robot with Ackerman chassis, the interpolation method is used to match the approximate robot posture for each laser origin in the laser data frame, taking the laser data frame as the unit; based on the transformation relationship between the robot postures matched with different laser origins in the laser data frame, the initial laser origin in the laser data frame is used as the reference coordinate system, and the other laser origins after the initial laser origin in the laser data frame are converted to the coordinates under the reference coordinate system. At this time, the laser data frame eliminates the motion distortion through coordinate transformation, which is more concise and efficient, and also has the characteristics of smaller error. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0044] Figure 1 A schematic diagram of a flow chart of a laser radar motion distortion removal method based on an Ackerman chassis in this application;

[0045] Figure 2 A schematic diagram of a scenario of the robot motion model of this application;

[0046] Figure 3 A waveform output diagram of the encoder of this application;

[0047] Figure 4 A schematic diagram of a scenario of the laser radar motion distortion removal method based on the Ackerman chassis of this application;

[0048] Figure 5 A schematic diagram of the structure of a laser radar motion distortion removal device based on an Ackerman chassis of the present application;

[0049] Figure 6 This is a schematic diagram of the structure of the robot of this application. DETAILED DESCRIPTION

[0050] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0051] The terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described here can be implemented in an order other than that illustrated or described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or modules is not necessarily limited to those steps or modules clearly listed, but may include other steps or modules that are not clearly listed or inherent to these processes, methods, products or devices. The naming or numbering of steps in this application does not mean that the steps in the method flow must be executed in the time / logical sequence indicated by the naming or numbering. The process steps that have been named or numbered can change the execution order according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved.

[0052] The division of modules in this application is a logical division. There may be other division methods when it is implemented in actual applications. For example, multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection between modules can be electrical or other similar forms, which are not limited in this application. In addition, the modules or submodules described as separate components may or may not be physically separated, may or may not be physical modules, or may be distributed in multiple circuit modules, and some or all of the modules may be selected according to actual needs to achieve the purpose of the present application.

[0053] Before introducing the Ackerman chassis-based laser radar motion distortion removal method provided by the present application, the background content involved in the present application is first introduced.

[0054] The Ackerman chassis-based laser radar motion distortion removal method, device and computer-readable storage medium provided in this application can be applied to robots to eliminate the laser radar motion distortion problem more simply and efficiently, while also having the characteristic of smaller errors.

[0055] The Ackerman chassis-based laser radar motion distortion removal method mentioned in the present application can be executed by a laser radar motion distortion removal device based on an Ackerman chassis, or a robot integrated with the device.

[0056] Among them, the laser radar motion distortion removal device based on the Ackerman chassis can be implemented in hardware or software, and the robot can be understood not only as a robot body, but also as a combination of a robot body and a robot control device. The robot control device is a device that controls the working state of the robot body from the outside of the robot body, such as a controller, or a workbench, which can be different types of devices such as a server, a physical host or a user equipment (UE). UE can be a terminal device such as a smart phone, a tablet computer, a laptop computer, a desktop computer or a personal digital assistant (PDA).

[0057] Next, the laser radar motion distortion removal method based on the Ackerman chassis provided by the present application is introduced.

[0058] First, see Figure 1 , Figure 1 A schematic flow chart of a laser radar motion distortion removal method based on an Ackerman chassis of the present application is shown. The laser radar motion distortion removal method based on an Ackerman chassis provided by the present application may specifically include the following steps S101 to S104:

[0059] Step S101, obtaining a laser data frame obtained by scanning a laser radar on the robot after rotating one circle, wherein the laser data frame includes distance data obtained by measuring multiple laser beams, and the chassis of the robot is an Ackerman chassis;

[0060] It can be understood that the robot involved in the present application is a robot equipped with an Ackerman chassis and a laser radar. The Ackerman chassis is a motion chassis with an Ackerman structure. Under this structure, the laser data used in the prior art has the problem of motion distortion. The present application uses the laser data frame obtained by laser radar scanning as a unit to optimize the data to avoid the problem of motion distortion.

[0061] It should be understood that the specific products and assembly structures of the Ackerman chassis and laser radar configured for the robot can be adjusted according to actual needs, so this application does not make specific restrictions here.

[0062] During the robot's operation, the laser radar it is equipped with can perform rotational scanning to obtain laser data, providing data basis for the robot's positioning, composition and other needs. During this process, the present application optimizes its data based on the laser data frame obtained after one rotation scan.

[0063] Step S102, matching an approximate robot pose to each laser origin in the laser data frame by interpolation;

[0064] It can be understood that in the laser data frame, it contains a large number of laser origins. These small units of laser origins constitute the overall laser data frame. Each laser origin corresponds to a part of the laser scanning information, which may include scanning angle, scanning depth, timestamp and other contents. Obviously, it can reflect the three-dimensional space content of the robot body and the surrounding environment to a certain extent.

[0065] However, the present application believes that it is possible to correct a certain degree of motion distortion based on the three-dimensional space content reflected by the laser origin.

[0066] Among them, the present application specifically uses the robot posture as the intermediate unit as the basis for correcting motion distortion. The robot posture is easy to understand and can describe the position and posture of the robot in three-dimensional space. It can be understood that each laser origin obtained by laser scanning is generally accompanied by a slight offset with respect to the rotational scanning of the laser radar. Therefore, the robot posture corresponding to each laser origin can also reflect slight changes. Therefore, the present application uses it as the basis for correcting motion distortion.

[0067] In addition, this application also believes that there may be an incomplete match between each laser origin in the laser data frame and the preset robot pose. The main reason is that the sample sizes of the two are different, and the laser origin may not have a matching robot pose. Therefore, this application continues to introduce the interpolation method to convert discrete data into continuous data in an interpolation manner, so that each laser origin is matched to an approximate robot pose.

[0068] Step S103, based on the transformation relationship between the robot postures matched by different laser origins in the laser data frame, the initial laser origin in the laser data frame is used as the reference coordinate system, and other laser origins after the initial laser origin in the laser data frame are converted to coordinates in the reference coordinate system;

[0069] It can be understood that the transformation relationship between the robot's postures corresponds to the change in the robot's motion state during the laser radar's rotation and scanning process. At this time, the transformation relationship between the robot's postures is used as a guidance basis, and the initial laser origin in the laser data frame is used as the reference coordinate system to convert the coordinates of other laser origins to the coordinates in the reference coordinate system. Therefore, at this time, each laser origin in the laser data frame is a coordinate in the same coordinate system, and there are no coordinates in different coordinate systems that are offset due to changes in the robot's motion state, thereby overcoming the problem of motion distortion.

[0070] Step S104, encapsulating the laser data frame after coordinate transformation for publishing and completing the removal of motion distortion of the laser data frame.

[0071] After correcting the motion distortion of the laser data frame, it can be packaged according to the preset robot usage requirements and then published, and can be put into normal use of the robot such as positioning and composition.

[0072] from Figure 1 It can be seen from the illustrated embodiment that, in order to solve the problem of motion distortion of the laser radar of the robot with the Ackerman chassis, the laser data frame is used as a unit, and each laser origin in the laser data frame is matched with an approximate robot posture through interpolation method; based on the transformation relationship between the robot postures matched with different laser origins in the laser data frame, the initial laser origin in the laser data frame is used as the reference coordinate system, and the other laser origins after the initial laser origin in the laser data frame are converted to the coordinates under the reference coordinate system. At this time, the laser data frame eliminates the motion distortion through coordinate conversion, which is more concise and efficient, and also has the characteristics of smaller errors.

[0073] Furthermore, for the above content, in some details, the present application also has specific optimization solutions in practical applications.

[0074] For the laser data frame for correcting motion distortion, there may also be a validity verification process, which may specifically include the following contents:

[0075] Acquire initial laser data frame;

[0076] Check whether the earliest timestamp in the initial laser data frame is later than the earliest timestamp in the robot's odometer data queue, and check whether the latest timestamp in the laser data frame is earlier than the latest timestamp in the odometer data queue;

[0077] If all are yes, it is determined that the requirements are met and the initial laser data frame is retained;

[0078] If not all of them are yes, it is determined that the requirements are not met, the initial laser data frame is discarded and a new laser data frame is acquired.

[0079] It can be understood that in order to ensure the validity of the laser data frames, the present application believes that the laser data frames with motion distortion should be scanned during the movement of the robot. At the data processing level, in order to automatically filter out the laser data frames scanned during the movement of the robot, this can be achieved with the help of the odometer data queue.

[0080] The odometer data queue is constructed from multiple groups of odometer data. The odometer data in small units is easy to understand and indicates the movement process of the robot through the speed and distance it carries.

[0081] Therefore, this application will limit the laser data frames that need to correct motion distortion to those whose head and tail timestamps are within the time range of the odometer data queue (between the head and tail timestamps) at the data level, thereby ensuring the validity of the laser data frames.

[0082] As for the odometer data queue, it can be obtained by adopting existing technologies such as odometer solutions, or by adopting other optimization solutions.

[0083] As another practical implementation method, in the present application, the odometer data queue can be obtained by a robot motion model constructed based on the wheelbase and chassis width of the Ackerman chassis, and the odometer data queue is obtained by storing the odometer data in chronological order under the queue data structure.

[0084] It can be understood that the robot motion model is a model used to determine the real-time motion state of the robot based on input robot-related parameter variables (obtained through relevant sensor collection).

[0085] In the process of constructing the robot motion model, the present application also takes into account the structural factors of the robot, including the wheelbase and chassis width of the Ackerman chassis mentioned above.

[0086] For example, see Figure 2 The schematic diagram of a scenario of the robot motion model of the present application is shown, where, taking left turn as an example, H is the wheelbase, D is the chassis width, R is the overall turning radius, and R l is the turning radius of the left wheel, R r is the turning radius of the right wheel, and θ is the overall wheel deflection angle.

[0087] Furthermore, as another practical implementation method, the robot motion model of the present application can process odometer data based on the double-wheel differential principle.

[0088] Specifically, in the present application, two motors with encoders on the Ackerman chassis are used as drive wheel motors for the left drive wheel and the right drive wheel respectively. The robot motion model calculates the linear velocities of the left drive wheel and the right drive wheel respectively through the data measured by the two encoders, and determines the body speed and steering angle of the robot based on the linear velocities of the left drive wheel and the right drive wheel. The body speed is integrated within the sampling time range to obtain the body displacement of the robot, and the corresponding odometer data is obtained based on the body displacement record.

[0089] The principle of obtaining the body displacement of the above robot can be found in the following details.

[0090] Combined with the above mentioned Figure 1, assuming that the Ackerman chassis has only one front wheel, located in the center of the front wheel wheelbase. According to the robot motion model, when the front wheel deflection angle is θ, H is the wheelbase, D is the chassis width, R is the overall turning radius, and R l is the turning radius of the left wheel, R r is the turning radius of the right wheel, R l , R r It can be measured by the encoder of the driving wheel, and is expressed as V l 、V r , V represent the left rear wheel, right rear wheel, and overall forward speed respectively, then from the consistency of angular velocity we can get:

[0091]

[0092] There are also:

[0093]

[0094] Combined with:

[0095]

[0096] The target linear speed of the left and right wheels can be obtained:

[0097]

[0098]

[0099] By calculating the linear speed of the left and right drive wheels through the encoders of the left and right motors, we can continue to calculate the robot's body speed and steering angle:

[0100]

[0101]

[0102] At this time, by integrating the robot's body velocity once within the sampling time range, the corresponding robot's body displacement can be calculated.

[0103] From the above, it can be found that obtaining the robot's body displacement and steering angle through an encoder is simple and fast in processing, and the obtained data also has the advantages of small error and high sampling frequency.

[0104] In addition, the present application only uses the encoder to construct the odometer data, and can also avoid the data fusion process of using IMU plus encoder in the prior art, thereby bringing the advantages of higher efficiency and smaller error.

[0105] As another practical implementation method, in the present application, for the encoder configured for the drive wheel motor, a Hall encoder with incremental output can be used. The incremental encoder converts the displacement into a periodic electrical signal, and then converts the electrical signal into a counting pulse, using the number of pulses to represent the size of the displacement.

[0106] In addition, for the initial data measured by the encoder, the present application may also introduce a software quadruple frequency processing mechanism during the sampling process, or in other words, the data measured by the encoder used above is obtained under the software quadruple frequency processing mechanism, and the software quadruple frequency processing mechanism is:

[0107] The rising edge and falling edge of phase A and the rising edge and falling edge of phase B of the Hall encoder are captured respectively, and the pulse count value per unit time is four times the basic pulse count value.

[0108] For details, please refer to Figure 3 A waveform output diagram of the encoder of the present application is shown.

[0109] Under the software quadruple frequency processing mechanism, the accuracy of the data measured by the encoder used is further improved.

[0110] For details, please refer to Figure 4 A schematic diagram of a scenario of the present application's method for removing laser radar motion distortion based on an Ackerman chassis is shown for understanding.

[0111] As another practical implementation, the above-mentioned method of matching the approximate robot posture to each laser origin in the laser data frame by interpolation method can be specifically:

[0112] The interpolation method is used to synchronize the time dimension and match the approximate robot pose for each laser origin in the laser data frame.

[0113] It can be seen that in the process of converting discrete data into continuous data by interpolation and matching the approximate robot posture for each laser origin by introducing the interpolation method, the time factor is also considered and synchronization is performed in the time dimension, which further improves the accuracy of matching.

[0114] Specifically, in the matching process, assuming that a laser data frame rotates at a frequency of x Hz, the time between the two laser beams is Δt, and the first laser beam is at time t s The last laser beam is emitted at time t e Emit, use the queue data structure to store the odometer data in chronological order, where the earliest timestamp of the odometer data is t i <t s , the latest timestamp t i+k >t e, solve the current laser frame (t s ,t s +Δt,...,t e ) at the corresponding moment.

[0115] The robot posture is synchronized with the laser origin in the time dimension. Assuming t s The time corresponds to the i-th data in the odometer queue, t e The time corresponds to the jth data, then at t s ,t e The robot posture at the moment is:

[0116]

[0117] Since the odometer data is discrete, there may be t s or e In the case where there is no corresponding odometer position data for the laser origin at a certain moment, the odometer data can be linearly interpolated to convert discrete data into continuous data.

[0118] Assume that there are l, s, and k moments, and l<s<k. At l, k moments, there is a robot posture. Then the robot posture corresponding to l, k, and s moments is:

[0119]

[0120] Assuming that the robot chassis performs uniform acceleration motion during a frame of laser data, its position p and time t are in a quadratic relationship. m =(t s +t e ) / 2, and l<m<k, then at t m The robot posture at the moment is:

[0121]

[0122] Known P s , P m , P e , we can interpolate a quadratic curve where t satisfies t e ≥t≥t s :

[0123] P(t)=At 2 +Bt+C,

[0124] For simplicity, the quadratic curve can be approximated by a piecewise linear function. e ≥t≥t sThe position and posture within a time period are divided into multiple segments. Then linear approximation and linear interpolation are performed in each segment, so that the robot position and posture corresponding to each laser beam in a frame of laser data can be obtained. Assume that at t e ≥t≥t s In the time period, a total of k robot positions {P s ,...,P s+k-2 ,P e}, since the data is discrete, the data between each adjacent robot pose is not available, so linear interpolation is performed between k robot poses. Linear interpolation is performed in each segment, assuming that P s+i and P s+i+1 There are m poses between but:

[0125]

[0126] Assuming that each frame of laser data contains n laser beam data, the robot posture corresponding to each laser point can be obtained by the above formula {P 1 ,...,P n}.

[0127] Subsequently, if the original coordinates of the laser data are x i , the coordinate converted to the reference coordinate system is x i ′,T i P i Relative to P 1 The transformation matrix is:

[0128] x i ′=T i x i ,

[0129] Put x i ′ is converted into a laser data frame and published, which completes the laser data preprocessing process, thereby eliminating the motion distortion of the laser radar. The new laser data frame is:

[0130]

[0131] The above is an introduction to the laser radar motion distortion removal method based on the Ackerman chassis provided by this application. In order to facilitate better implementation of the laser radar motion distortion removal method based on the Ackerman chassis provided by this application, this application also provides a laser radar motion distortion removal device based on the Ackerman chassis from the perspective of functional modules.

[0132] See also Figure 5 , Figure 5: This is a structural schematic diagram of a laser radar motion distortion removal device based on an Ackerman chassis of the present application. In the present application, the laser radar motion distortion removal device 500 based on an Ackerman chassis may specifically include the following structure:

[0133] An acquisition unit 501 is used to acquire a laser data frame obtained by scanning a laser radar on the robot after rotating for one circle. The laser data frame includes distance data measured by multiple laser beams. The chassis of the robot is an Ackerman chassis.

[0134] A matching unit 502, used for matching an approximate robot posture to each laser origin in the laser data frame by interpolation;

[0135] A conversion unit 503 is used to convert other laser origins after the initial laser origin in the laser data frame into coordinates in the reference coordinate system based on the transformation relationship between robot postures matched by different laser origins in the laser data frame, taking the initial laser origin in the laser data frame as the reference coordinate system;

[0136] The encapsulation unit 504 is used to encapsulate the laser data frame after coordinate transformation for publishing and to remove the motion distortion of the laser data frame.

[0137] In yet another exemplary implementation, the acquiring unit 501 is specifically configured to:

[0138] Acquire initial laser data frame;

[0139] Check whether the earliest timestamp in the initial laser data frame is later than the earliest timestamp in the robot's odometer data queue, and check whether the latest timestamp in the laser data frame is earlier than the latest timestamp in the odometer data queue;

[0140] If all are yes, it is determined that the requirements are met and the initial laser data frame is retained;

[0141] If not all of them are yes, it is determined that the requirements are not met, the initial laser data frame is discarded and a new laser data frame is acquired.

[0142] In yet another exemplary implementation, the odometer data queue is obtained by constructing a robot motion model based on the wheelbase and chassis width of the Ackerman chassis, and the odometer data queue is obtained by storing the odometer data in chronological order under a queue data structure.

[0143] In another exemplary implementation, two motors with encoders on the Ackerman chassis serve as drive wheel motors for the left drive wheel and the right drive wheel respectively. The robot motion model calculates the linear velocities of the left drive wheel and the right drive wheel respectively through the data measured by the two encoders, and determines the body speed and steering angle of the robot based on the linear velocities of the left drive wheel and the right drive wheel. The body speed is integrated within a sampling time range to obtain the body displacement of the robot, and the corresponding odometer data is obtained based on the body displacement record.

[0144] In yet another exemplary implementation, the encoder is specifically a Hall encoder with incremental output.

[0145] In another exemplary implementation, the data measured by the encoder is obtained under a software quadruple frequency processing mechanism, and the software quadruple frequency processing mechanism is: respectively capturing the rising edge, falling edge of phase A and the rising edge, falling edge of phase B of the Hall encoder, and the pulse count value per unit time is four times the basic pulse count value.

[0146] In yet another exemplary implementation, the matching unit 503 is specifically configured to:

[0147] The interpolation method is used to synchronize the time dimension and match the approximate robot pose for each laser origin in the laser data frame.

[0148] This application also provides a robot from the perspective of hardware structure, see Figure 6 , Figure 6 A schematic diagram of the structure of the robot of the present application is shown. Specifically, the robot of the present application may include a processor 601, a memory 602, and an input / output device 603. The processor 601 is used to execute the computer program stored in the memory 602 to implement the following Figure 1 The steps of the laser radar motion distortion removal method based on the Ackerman chassis in the corresponding embodiment; or, the processor 601 is used to execute the computer program stored in the memory 602 to implement the following Figure 5 Corresponding to the functions of each unit in the embodiment, the memory 602 is used to store the processor 601 executing the above Figure 1 The computer program required for the laser radar motion distortion removal method based on the Ackerman chassis in the corresponding embodiment.

[0149] Exemplarily, the computer program may be divided into one or more modules / units, one or more modules / units are stored in the memory 602, and executed by the processor 601 to complete the present application. One or more modules / units may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program in the computer device.

[0150] The robot may include, but is not limited to, a processor 601, a memory 602, and an input-output device 603. Those skilled in the art will appreciate that the illustration is merely an example of the robot and does not constitute a limitation on the robot, and may include more or fewer components than shown in the illustration, or a combination of certain components, or different components. For example, the robot may also include a network access device, a bus, etc., and the processor 601, the memory 602, the input-output device 603, etc. are connected via the bus.

[0151] The processor 601 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. The processor is the control center of the robot, and uses various interfaces and lines to connect various parts of the entire device.

[0152] The memory 602 can be used to store computer programs and / or modules. The processor 601 implements various functions of the computer device by running or executing the computer programs and / or modules stored in the memory 602 and calling the data stored in the memory 602. The memory 602 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function, etc.; the data storage area can store data created according to the use of the robot, etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (SecureDigital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0153] When the processor 601 is used to execute the computer program stored in the memory 602, the following functions can be implemented:

[0154] Obtain a laser data frame obtained by scanning a laser radar on the robot after rotating for one circle. The laser data frame includes distance data measured by multiple laser beams. The chassis of the robot is an Ackerman chassis.

[0155] Match the approximate robot pose to each laser origin in the laser data frame by interpolation;

[0156] Based on the transformation relationship between the robot postures matched by different laser origins in the laser data frame, the initial laser origin in the laser data frame is used as the reference coordinate system, and other laser origins after the initial laser origin in the laser data frame are converted to coordinates in the reference coordinate system;

[0157] Encapsulate the laser data frame after coordinate transformation for publishing and complete the removal of motion distortion of the laser data frame.

[0158] Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the laser radar motion distortion removal device, robot and its corresponding units based on the Ackerman chassis described above can refer to the following. Figure 1 The description of the laser radar motion distortion removal method based on the Ackerman chassis in the corresponding embodiment will not be repeated here.

[0159] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.

[0160] To this end, the present application provides a computer-readable storage medium, in which a plurality of instructions are stored, and the instructions can be loaded by a processor to execute the present application as follows: Figure 1 The steps of the laser radar motion distortion removal method based on the Ackerman chassis in the corresponding embodiment, the specific operation can be referred to as follows Figure 1 The description of the laser radar motion distortion removal method based on the Ackerman chassis in the corresponding embodiment will not be repeated here.

[0161] The computer-readable storage medium may include: a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0162] Due to the instructions stored in the computer-readable storage medium, the present application can be executed. Figure 1 The steps of the laser radar motion distortion removal method based on the Ackerman chassis in the corresponding embodiment, therefore, the present application can be implemented as follows Figure 1 The beneficial effects that can be achieved by the laser radar motion distortion removal method based on the Ackerman chassis in the corresponding embodiment are detailed in the previous description and will not be repeated here.

[0163] The above is a detailed introduction to the Ackerman chassis-based laser radar motion distortion removal method, device, robot and computer-readable storage medium provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A laser radar motion distortion removal method based on Ackerman chassis, characterized in that: The method comprises: Acquire a laser data frame obtained by scanning a laser radar on the robot after rotating for one circle, wherein the laser data frame includes distance data obtained by measuring multiple laser beams, and the chassis of the robot is an Ackerman chassis; Matching an approximate robot pose to each laser origin in the laser data frame by interpolation; Based on the transformation relationship between the robot postures matched by different laser origins in the laser data frame, the initial laser origin in the laser data frame is used as the reference coordinate system, and other laser origins after the initial laser origin in the laser data frame are converted to coordinates in the reference coordinate system; Encapsulating the laser data frame after coordinate transformation for publishing and completing the removal of motion distortion of the laser data frame; The step of obtaining a laser data frame obtained by scanning a laser radar on the robot after rotating for one circle includes: Acquire the initial laser data frame; Check whether the earliest timestamp in the initial laser data frame is later than the earliest timestamp in the odometer data queue of the robot, and check whether the latest timestamp in the laser data frame is earlier than the latest timestamp in the odometer data queue; If both are yes, it is determined that the requirements are met and the initial laser data frame is retained; If not all of them are yes, it is determined that the requirements are not met, the initial laser data frame is discarded and a new laser data frame is acquired; The odometer data queue is obtained by a robot motion model constructed based on the wheelbase and chassis width of the Ackerman chassis, and the odometer data queue is obtained by storing the odometer data in chronological order under a queue data structure; The step of matching an approximate robot pose to each laser origin in the laser data frame by interpolation method includes: The interpolation method is used to synchronize the time dimension, and an approximate robot posture is matched for each laser origin in the laser data frame.

2. The method according to claim 1, characterized in that Two motors with encoders on the Ackerman chassis serve as drive wheel motors for the left drive wheel and the right drive wheel respectively. The robot motion model calculates the linear velocities of the left drive wheel and the right drive wheel respectively through the data measured by the two encoders, determines the body speed and steering angle of the robot based on the linear velocities of the left drive wheel and the right drive wheel, integrates the body speed within a sampling time range to obtain the body displacement of the robot, and obtains corresponding odometer data based on the body displacement record.

3. The method according to claim 2, characterized in that The encoder is specifically a Hall encoder with incremental output.

4. The method according to claim 2, characterized in that: The data measured by the encoder is obtained under the software quadruple frequency processing mechanism, and the software quadruple frequency processing mechanism is: respectively capturing the rising edge and falling edge of phase A and the rising edge and falling edge of phase B of the Hall encoder, and the pulse count value per unit time is four times the basic pulse count value.

5. A laser radar motion distortion removal device based on an Ackerman chassis, characterized in that: A method for removing motion distortion of a laser radar based on an Ackerman chassis according to any one of claims 1 to 4, the device comprising: An acquisition unit is used to acquire a laser data frame obtained by scanning a laser radar on the robot after rotating for one circle, wherein the laser data frame includes distance data measured by multiple laser beams, and the chassis of the robot is an Ackerman chassis; A matching unit, used for matching an approximate robot posture to each laser origin in the laser data frame by an interpolation method; A conversion unit, for converting other laser origins after the initial laser origin in the laser data frame into coordinates in the reference coordinate system based on the transformation relationship between robot postures matched by different laser origins in the laser data frame and taking the initial laser origin in the laser data frame as a reference coordinate system; The encapsulation unit is used to encapsulate the laser data frame after coordinate transformation for publishing and completing the removal of motion distortion of the laser data frame.

6. A robot, characterized in that: The method comprises a processor and a memory, wherein the memory stores a computer program, and the processor executes the method according to any one of claims 1 to 4 when calling the computer program in the memory.

7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Laser radar point cloud motion distortion correction method for mobile robot

    CN113311411A