An ackerman chassis correction method based on laser odometry
By obtaining the robot's turning radius using laser odometry and combining linear relationships with least squares fitting, the problems of computational complexity and error in Ackerman chassis steering control were solved, achieving high-precision steering control.
Patent Information
- Application Number
- CN202311097281.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-28
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2043-08-28
AI Technical Summary
In the existing technology, the front wheel steering control calculation of the Ackerman chassis is complex and easily affected by installation errors and transmission errors, resulting in inaccurate steering angle calculation.
A laser odometry system is used to automatically obtain the robot's turning radius. The relationship between the front wheel steering angle and the motor angle is calculated through a linear relationship, and the least squares method is used for fitting to improve accuracy.
It effectively avoids the influence of installation and transmission errors, accurately calculates the relationship between the front wheel steering angle and the motor angle, and improves the steering control accuracy of the Ackerman chassis.
Smart Images

Figure CN116985907B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robots, in particular to an Ackermann chassis correction method based on a laser odometer. BACKGROUND
[0002] For robots with an Ackermann chassis, the front wheel steering control of the chassis is usually controlled by a motor. By controlling the steering angle of the motor, a connecting rod structure is driven to control the steering of the front wheels of the chassis. The relationship between the steering angle of the motor and the steering angle of the front wheels can be calculated from the transmission relationship of the connecting rod structure. However, sometimes the complex connecting rod relationship leads to complex calculation methods, and some transmission methods do not have an analytical solution and need to be solved by numerical optimization. Moreover, there are errors in the installation of the motor position and the connecting rod structure, the deformation of the connecting rod transmission, and the like, and the corresponding relationship calculated according to the theory also deviates.
[0003] Reference Figure 1 , Figure 1 is an Ackermann structure running model, which can be simplified as a bicycle model, wherein l is the distance between the front and rear axles of the vehicle, R is the turning radius, θ is the steering value of the front two wheels of the vehicle, v is the linear speed of the vehicle, and ω is the angular speed.
[0004]
[0005] v = ωR (2)
[0006]
[0007] According to formula (1), the steering value θ of the front two wheels of the vehicle can be obtained by obtaining the distance l between the front and rear axles of the vehicle and the turning radius R. This scheme needs to measure the turning radius R, and the semi-circle calibration method can be used to obtain the turning radius R in the prior art, so as to realize the calibration of the relationship between the angle of the steering wheel and the turning radius, or to calculate the steering value θ of the front two wheels of the vehicle. According to formula (3), the linear speed, angular speed and length of the vehicle can be obtained to perform automatic calibration.
[0008] The background description provided herein is for the purpose of generally presenting the context of the disclosure. The material described in this section is not prior art to the application and is not admitted to be prior art by inclusion in this section. SUMMARY
[0009] In view of the above technical problems in the related art, the present application provides an Ackermann chassis correction method based on a laser odometer, which comprises the following steps:
[0010] S2, control the front wheel motor to rotate in a first direction and rotate to a first front wheel motor angle angle_max, wherein the first front wheel motor angle is a maximum angle that the front wheel motor can reach;
[0011] S3, obtain a first laser odometry position P1(x1, y1, yaw1); control the rear wheel speed of the robot to advance, the first front wheel motor angle angle_max remains unchanged, and the robot keeps doing a circular motion; real-time monitor the position of the laser odometry, if the yaw in the position at this time is greater than a first preset angle from the yaw in the P1 position, stop the motion, obtain a second laser odometry position P2(x2, y2, yaw2); obtain a first circular motion radius R1 according to the second laser odometry position P2 and the first laser odometry position P1; and obtain a first front wheel steering angle theta_max according to the first circular motion radius R1 and the wheelbase L of the Ackermann chassis;
[0012] S4, control the front wheel motor to rotate in a second direction and rotate to a second front wheel motor angle angle_mid;
[0013] S5, control the rear wheel speed of the robot to advance, the second front wheel motor angle angle_mid remains unchanged, and the robot keeps doing a circular motion; real-time monitor the position of the laser odometry, if the yaw in the position at this time is greater than a first preset angle from the yaw in the P2 position, stop the motion, obtain a third laser odometry position P3(x3, y3, yaw3); obtain a second circular motion radius R2 according to the third laser odometry position P3 and the second laser odometry position P2; and obtain a second front wheel steering angle theta_mid according to the second circular motion radius R2 and the wheelbase L of the Ackermann chassis;
[0014] S6, obtain the relationship between the front wheel steering angle and the motor steering angle according to the first front wheel steering angle and the second front wheel steering angle, wherein the front wheel steering angle and the motor steering angle are in a linear relationship.
[0015] Specifically, the method further comprises: S1, control the front wheel motor so that the steering angle of the front wheel is 0 degrees, and record the front wheel motor angle as angle_0 at this time.
[0016] Specifically, the step S6 comprises: repeatedly performing steps S4-S5 to obtain a third front wheel motor angle angle_3, a fourth front wheel motor angle angle_4, an Nth front wheel motor angle angle_N, a third front wheel steering angle theta_3, a fourth front wheel steering angle theta_4, and an Nth front wheel steering angle theta_N; and obtaining a relationship between the front wheel steering angle and the motor steering angle using a least square method according to the first front wheel steering angle, the second front wheel steering angle, the third front wheel motor angle, the fourth front wheel motor angle, the Nth front wheel motor angle, the third front wheel steering angle theta_3, the fourth front wheel steering angle theta_4, and the Nth front wheel steering angle theta_N, wherein the front wheel steering angle and the motor steering angle are in a linear relationship.
[0017] Specifically, the second front wheel motor angle angle_mid is:
[0018] Specifically, the first preset angle is 30 degrees.
[0019] In a second aspect, another embodiment of the present application provides a laser odometry-based Ackerman chassis correction device, which comprises the following units:
[0020] A first front wheel motor angle obtaining unit is configured to control the front wheel motor to rotate in a first direction and rotate to a first front wheel motor angle angle_max, wherein the first front wheel motor angle is a maximum angle that the front wheel motor can reach.
[0021] A first front wheel steering angle obtaining unit is configured to obtain a first laser odometry position P1(x1, y1, yaw1); control the robot rear wheel to move forward at a constant speed, the first front wheel motor angle angle_max remains unchanged, and the robot performs a circular motion; monitor the position of the laser odometry in real time, stop the motion if the yaw in the position at this time is greater than the first preset angle from the yaw in the P1 position, and obtain a second laser odometry position P2(x2, y2, yaw2); obtain a first circular motion radius R1 according to the second laser odometry position P2 and the first laser odometry position P1; and obtain a first front wheel steering angle theta_max according to the first circular motion radius R1 and the wheelbase L of the Ackerman chassis.
[0022] A second front wheel motor angle obtaining unit is configured to control the front wheel motor to rotate in a second direction and rotate to a second front wheel motor angle angle_mid.
[0023] The second front wheel steering angle acquisition unit is configured to control the robot rear wheel to move forward, the second front wheel motor angle angle mid is unchanged, the robot keeps circular motion, real-time monitoring of the laser odometer position, if the position at this time is different from the yaw in the P2 position by more than a first preset angle, the motion is stopped, a third laser odometer position P3(x3, y3, yaw3) is acquired, a second circular motion radius R2 is acquired according to the third laser odometer position P3 and the second laser odometer position P2, and a second front wheel steering angle theta mid is acquired according to the second circular motion radius R2 and the wheelbase L of the Ackermann chassis.
[0024] The front wheel steering angle and motor steering angle relationship acquisition unit is configured to acquire the relationship between the front wheel steering angle and the motor steering angle according to the first front wheel steering angle and the second front wheel steering angle, wherein the front wheel steering angle and the motor steering angle are in a linear relationship.
[0025] Specifically, the front wheel steering angle and motor steering angle relationship acquisition unit comprises: repeatedly executing the second front wheel motor angle acquisition unit and the second front wheel steering angle acquisition unit to acquire a third front wheel motor angle angle 3, a fourth front wheel motor angle angle 4, an Nth front wheel motor angle angle N, a third front wheel steering angle theta 3, a fourth front wheel steering angle theta 4, and an Nth front wheel steering angle theta N; and acquiring the relationship between the front wheel steering angle and the motor steering angle using the least square method according to the first front wheel steering angle, the second front wheel steering angle, the third front wheel motor angle, the fourth front wheel motor angle, the Nth front wheel motor angle, the third front wheel steering angle theta 3, the fourth front wheel steering angle theta 4, and the Nth front wheel steering angle theta N, wherein the front wheel steering angle and the motor steering angle are in a linear relationship.
[0026] Specifically, the device further comprises: a front wheel motor angle zeroing unit configured to control the front wheel motor so that the steering angle of the front wheel is 0 degrees, and the front wheel motor angle at this time is angle 0.
[0027] In a third aspect, another embodiment of the present application provides a non-volatile memory having instructions stored thereon, which, when executed by a processor, implement the above-mentioned laser odometer-based Ackermann chassis correction method.
[0028] In a fourth aspect, another embodiment of the present application provides a robot comprising: a processing module, an Ackermann chassis, a storage module, and a laser odometer, wherein the storage module stores instructions which, when executed, implement the above-mentioned laser odometer-based Ackermann chassis correction method.
[0029] The laser odometry-based Ackerman chassis correction method provided by the application can automatically obtain the turning radius R of the robot through the laser odometry, and can calculate the relationship between the front wheel steering angle and the front wheel motor angle according to the turning radius R of the robot, so as to avoid the influence of installation errors and transmission errors. BRIEF DESCRIPTION OF DRAWINGS
[0030] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.
[0031] Figure 1 is an Ackerman structure operation model provided by the embodiment of the present application;
[0032] Figure 2 is a laser odometry-based Ackerman chassis correction method flowchart provided by the embodiment of the present application;
[0033] Figure 3 is a laser odometry-based Ackerman chassis correction device schematic diagram provided by the embodiment of the present application;
[0034] Figure 4 is a laser odometry-based Ackerman chassis correction device schematic diagram provided by the embodiment of the present application. DETAILED DESCRIPTION
[0035] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art belong to the scope of protection of the present application.
[0036] Embodiment one
[0037] Reference Figure 1 The embodiment discloses a laser odometry-based Ackerman chassis correction method, which comprises the following steps:
[0038] S2, control the front wheel motor to rotate towards the first direction, and rotate to a first front wheel motor angle angle_max, wherein the first front wheel motor angle is the maximum angle that the front wheel motor can reach;
[0039] The robot of the embodiment comprises an Ackerman chassis, wherein the front wheel motor of the Ackerman chassis can be controlled to a specified angle, a laser odometer, wherein the laser odometer can output the real-time pose information of the current robot, including x, y, yaw, wherein the yaw is the orientation of the vehicle body.
[0040] The Ackerman chassis, the front two wheels of the chassis are used to control the moving direction of the robot, and the rear two wheels are used to control the secondary speed. The front two wheels of the chassis are connected through a connecting rod, which is used to control the direction of the wheel operation. Generally, a rudder is used to drive the front two wheels to control the direction of the robot.
[0041] The front wheel motor of the embodiment is a rudder.
[0042] In the embodiment, the front wheel motor is first controlled to rotate in a first direction, for example, to the left. The front wheel motor is controlled to reach the maximum limit, and the angle of the motor at this time is recorded as angle_max.
[0043] In another embodiment, the robot can also be turned to the right.
[0044] In another embodiment, the angle of the front wheel motor of the robot can also be reset to 0. At this time, if the robot is controlled to move forward, the robot basically moves in a straight line. In the embodiment, the angle of the front wheel motor is first controlled so that the steering angle of the front wheel is approximately 0 degrees. The angle of the motor at this time is recorded as angle_0. That is, before step S2, it also includes:
[0045] S1, control the front wheel motor so that the steering angle of the front wheel is 0 degrees, and record the angle of the front wheel motor at this time as angle_0;
[0046] S3, obtain the first laser odometer position P1(x1, y1, yaw1); control the rear wheel speed of the robot to move forward, and the first front wheel motor angle angle_max remains unchanged to keep the robot in circular motion; real-time monitor the position of the laser odometer, and if the yaw in the position at this time is greater than the first preset angle from the yaw in the P1 position, stop the motion, obtain the second laser odometer position P2(x2, y2, yaw2); obtain the first circular motion radius R1 according to the second laser odometer position P2 and the first laser odometer position P1; and obtain the first front wheel steering angle theta_max according to the first circular motion radius R1 and the wheelbase L of the Ackerman chassis;
[0047] The embodiment fixes the angle of the first front wheel motor angle_max to be different, and then controls the speed of the rear wheels of the robot to move forward, so that the robot can make a circular motion. The embodiment first acquires the first laser odometer position P1 of the robot before making a circular motion, and then acquires the second laser odometer position P2 after the robot moves through a certain angle, such as a first preset angle of 30 degrees, so as to acquire the radius of the circular motion according to the first laser odometer position P1 and the second laser odometer P2.
[0048] Specifically, the embodiment acquires the radius of the circular motion according to the first laser odometer position P1 and the second laser odometer P2, which is specifically:
[0049]
[0050] delta_angle = yaw2 - yaw1 (5)
[0051]
[0052] Wherein ds is the distance between the first laser odometer position P1 and the second laser odometer P2; delta_angle is the angle of the circular motion.
[0053] After acquiring the radius R1 of the circular motion, the front and rear wheel base L of the robot can be used to calculate the front wheel steering angle theta_max:
[0054]
[0055] S4, control the front wheel motor to rotate towards the second direction, and rotate to the second front wheel motor angle angle_mid;
[0056] The second angle angle-mid of the embodiment is different from the maximum angle angle-max. In one real-time mode, angle_mid is:
[0057]
[0058] S5, control the speed of the rear wheels of the robot to move forward, and the second front wheel motor angle angle_mid remains unchanged, so that the robot makes a circular motion; real-time monitoring of the position of the laser odometer, if the position at this time is different from the yaw in the P2 position by more than a first preset angle, stop moving, acquire the third laser odometer position P3 (x3, y3, yaw3); acquire the second circular motion radius R2 according to the third laser odometer position P3 and the second laser odometer position P2; and acquire the second front wheel steering angle theta_mid according to the second circular motion radius R2 and the wheel base L of the Ackermann chassis;
[0059] Specifically, the second circumferential motion radius R2 is calculated in the same way as the first circumferential motion radius R1, and the second front wheel steering angle is calculated in the same way as the first front wheel steering angle, which will not be described herein.
[0060] S6, obtaining the relationship between the front wheel steering angle and the motor steering angle according to the first front wheel steering angle and the second front wheel steering angle, wherein the relationship between the front wheel steering angle and the motor steering angle is linear.
[0061] The embodiment assumes that the front wheel motor steering angle and the front wheel steering angle are linearly related, and the linear relationship is shown in formula (9):
[0062] theta = k * angle + b (9)
[0063] Wherein, angle represents the front wheel motor steering angle, and theta represents the front wheel steering angle; then
[0064]
[0065] b = theta_max - k * angle_max (11)
[0066] In another embodiment, in order to increase the accuracy of solving the linear relationship between the front wheel steering angle and the motor steering angle, the least square method can also be used for linear fitting.
[0067] Then step S6 includes: repeating steps S4-S5 to obtain a third front wheel motor angle angle_3, a fourth front wheel motor angle angle_4, an Nth front wheel motor angle angle_N, a third front wheel steering angle theta_3, a fourth front wheel steering angle theta_4, and an Nth front wheel steering angle theta_N; and obtaining the relationship between the front wheel steering angle and the motor steering angle using the least square method according to the first front wheel steering angle, the second front wheel steering angle, the third front wheel motor angle, the fourth front wheel motor angle, the Nth front wheel motor angle, the third front wheel steering angle theta_3, the fourth front wheel steering angle theta_4, and the Nth front wheel steering angle theta_N, wherein the relationship between the front wheel steering angle and the motor steering angle is linear.
[0068] The laser odometry-based Ackerman chassis correction method of the embodiment can automatically obtain the turning radius R of the robot through the laser odometry, and can calculate the relationship between the front wheel steering angle and the front wheel motor angle according to the turning radius R of the robot, thereby avoiding the influence of installation errors and transmission errors.
[0069] Embodiment two
[0070] Reference Figure 2 The embodiment discloses an Ackerman chassis rectification device based on a laser odometer, which comprises the following units:
[0071] A first front wheel motor angle acquisition unit is configured to control the front wheel motor to rotate in a first direction and rotate to a first front wheel motor angle angle_max, wherein the first front wheel motor angle is a maximum angle that can be reached by the front wheel motor.
[0072] The robot of the embodiment comprises an Ackerman chassis, wherein the front wheel motor of the Ackerman chassis can be controlled to a specified angle, and a laser odometer, wherein the laser odometer can output real-time pose information of the robot, including x, y and yaw, wherein the yaw is the orientation of the vehicle body.
[0073] The Ackerman chassis comprises two front wheels for controlling the moving direction of the robot and two rear wheels for controlling the secondary speed. The two front wheels of the chassis are connected through a connecting rod for controlling the moving direction of the wheels. Usually, a rudder is used to drive the two front wheels to control the direction of the robot.
[0074] The front wheel motor of the embodiment is a rudder.
[0075] The embodiment first controls the front wheel to rotate in a first direction, for example, to rotate to the left. The front wheel motor is controlled to reach the maximum limit, and the motor angle at this time is recorded as angle_max.
[0076] In another embodiment, the front wheel can also be rotated to the right.
[0077] In another embodiment, the front wheel motor angle of the robot can also be reset to 0. At this time, if the robot is controlled to move forward, the robot basically moves in a straight line. The embodiment first controls the angle of the front wheel motor, so that the steering angle of the front wheel is approximately 0 degrees. The motor angle at this time is recorded as angle_0. That is, the embodiment also comprises:
[0078] A front wheel motor angle resetting unit is configured to control the front wheel motor so that the steering angle of the front wheel is 0 degrees, and the front wheel motor angle at this time is recorded as angle_0.
[0079] The first front wheel steering angle acquisition unit is configured to acquire a first laser odometry position P1(x1, y1, yaw1); control the speed of the rear wheels of the robot to move forward, the first front wheel motor angle angle_max is unchanged, and the robot is kept in circular motion; monitor the position of the laser odometry in real time, and stop the motion if the yaw in the position at this time is greater than the first preset angle from the yaw in the P1 position, and acquire a second laser odometry position P2(x2, y2, yaw2); acquire a first circular motion radius R1 according to the second laser odometry position P2 and the first laser odometry position P1; and acquire a first front wheel steering angle theta_max according to the first circular motion radius R1 and the wheelbase L of the Ackerman chassis.
[0080] The angle_max of the first front wheel motor is fixed in the embodiment, and the speed of the rear wheels of the robot is controlled to move forward, so that the robot can move in a circle. The first laser odometry position P1 of the robot before circular motion is acquired in the embodiment, and the second laser odometry position P2 is acquired after the robot moves through a certain angle, for example, the first preset angle is 30 degrees. The radius of the circular motion is acquired according to the first laser odometry position P1 and the second laser odometry P2.
[0081] Specifically, the radius of the circular motion is acquired according to the first laser odometry position P1 and the second laser odometry P2 in the embodiment, and the specific process is as follows:
[0082]
[0083] delta_angle=yaw2-yaw1 (5)
[0084]
[0085] Wherein, ds is the distance between the first laser odometry position P1 and the second laser odometry P2; and delta_angle is the angle of the circular motion.
[0086] After the radius R1 of the circular motion is acquired, the front wheel steering angle theta_max can be calculated according to the radius of the circular motion and the wheelbase L of the robot:
[0087]
[0088] The second front wheel motor angle acquisition unit is configured to control the front wheel motor to rotate in a second direction and rotate to a second front wheel motor angle angle_mid.
[0089] The second angle angle-mid in the embodiment is different from the maximum angle angle-max. In one real-time mode, angle_mid is:
[0090]
[0091] The second front wheel steering angle acquisition unit is configured to control the robot rear wheel to move forward at a constant speed, the second front wheel motor angle angle mid remains unchanged, and the robot performs a circular motion; the position of the laser odometer is monitored in real time, and if the position at this time is different from the yaw in the P2 position by more than a first preset angle, the motion is stopped, and a third laser odometer position P3 (x3, y3, yaw3) is obtained; a second circular motion radius R2 is obtained according to the third laser odometer position P3 and the second laser odometer position P2; and a second front wheel steering angle theta mid is obtained according to the second circular motion radius R2 and the wheelbase L of the Ackerman chassis.
[0092] Specifically, the way of calculating the second circular motion radius R2 is the same as the way of calculating the first circular motion radius R1, and the embodiment does not need to be repeated. Similarly, the calculation method of the second front wheel steering angle is the same as the calculation method of the first front wheel steering angle, and the embodiment also does not need to be repeated.
[0093] The front wheel steering angle and motor steering angle relationship acquisition unit is configured to obtain the relationship between the front wheel steering angle and the motor steering angle according to the first front wheel steering angle and the second front wheel steering angle, wherein the front wheel steering angle and the motor steering angle are in a linear relationship.
[0094] The embodiment assumes that the front wheel motor steering angle and the front wheel steering angle are in a linear relationship, and the linear relationship is shown in formula (9):
[0095] theta = k * angle + b (9)
[0096] wherein angle represents the front wheel motor steering angle, and theta represents the front wheel steering angle; then
[0097]
[0098] b = theta max - k * angle max (11)
[0099] In another embodiment, in order to increase the accuracy of solving the linear relationship between the front wheel steering angle and the motor steering angle, the least squares method can also be used for linear fitting.
[0100] The front wheel steering angle and motor steering angle relationship obtaining unit comprises: repeatedly executing the second front wheel motor angle obtaining unit and the second front wheel steering angle obtaining unit to obtain a third front wheel motor angle angle_3, a fourth front wheel motor angle angle_4, an Nth front wheel motor angle angle_N, a third front wheel steering angle theta_3, a fourth front wheel steering angle theta_4, and an Nth front wheel steering angle theta_N; and using a least square method to obtain the relationship between the front wheel steering angle and the motor steering angle according to the first front wheel steering angle, the second front wheel steering angle, the third front wheel motor angle, the fourth front wheel motor angle, the Nth front wheel motor angle, the third front wheel steering angle theta_3, the fourth front wheel steering angle theta_4, and the Nth front wheel steering angle theta_N, wherein the front wheel steering angle and the motor steering angle are in a linear relationship.
[0101] The laser odometry-based Ackerman chassis correction device of the embodiment can automatically obtain the turning radius R of the robot through the laser odometry, and can calculate the relationship between the front wheel steering angle and the front wheel motor angle according to the turning radius R of the robot, so as to avoid the influence of installation errors and transmission errors.
[0102] Embodiment three
[0103] The embodiment discloses a robot, which comprises a processing module, an Ackerman chassis, a storage module, and a laser odometry, wherein the storage module stores instructions for implementing the laser odometry-based Ackerman chassis correction method according to the first embodiment.
[0104] In another embodiment, a robot comprises a processing module, an Ackerman chassis, a storage module, and a laser odometry, and further comprises the laser odometry-based Ackerman chassis correction device according to the second embodiment.
[0105] Embodiment four
[0106] Reference Figure 4 , Figure 4 is a structural schematic diagram of a laser odometry-based Ackerman chassis correction device according to the embodiment. The laser odometry-based Ackerman chassis correction device 20 according to the embodiment comprises a processor 21, a memory 22, and a computer program stored in the memory 22 and executable on the processor 21. The processor 21 implements the steps in the method embodiments when executing the computer program. Alternatively, the processor 21 implements the functions of the modules / units in the device embodiments when executing the computer program.
[0107] For example, the computer program can be divided into one or more modules / units, which are stored in the memory 22 and executed by the processor 21 to complete the present application. The one or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which are used to describe the execution process of the computer program in the laser odometry based Ackerman chassis correction device 20. For example, the computer program can be divided into the modules in Embodiment Two, and the specific functions of the modules are described in the working process of the device in the above embodiments, which will not be repeated here.
[0108] The laser odometry based Ackerman chassis correction device 20 can include, but is not limited to, the processor 21 and the memory 22. Those skilled in the art can understand that the schematic diagram is only an example of the laser odometry based Ackerman chassis correction device 20, and does not constitute a limitation on the laser odometry based Ackerman chassis correction device 20, which can include more or fewer components than the diagram, or combine certain components, or different components, for example, the laser odometry based Ackerman chassis correction device 20 can also include an input / output device, a network access device, a bus, etc.
[0109] The processor 21 can be a central processing unit (CPU), and can also be 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 can be a microprocessor or the processor can also be any conventional processor, etc. The processor 21 is the control center of the laser odometry based Ackerman chassis correction device 20, which connects all parts of the laser odometry based Ackerman chassis correction device 20 through various interfaces and lines.
[0110] The memory 22 can be used to store the computer programs and / or modules, and the processor 21 realizes various functions of the laser odometry based Ackerman chassis correction device 20 by running or executing the computer programs and / or modules stored in the memory 22, and calling the data stored in the memory 22. The memory 22 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.), and the like; and the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), and the like. In addition, the memory 22 can include a high-speed random access memory, and can also include a non-volatile memory, for example, a hard disk, a memory, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, at least one disk storage device, a flash memory device, or other volatile solid-state memory devices.
[0111] When the modules / units integrated in the laser odometry based Ackerman chassis correction device 20 are realized in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on such understanding, the present application realizes all or part of the processes in the above-mentioned embodiment methods, and can also be completed by instructing related hardware through a computer program. The computer program can be stored in a computer readable storage medium, and when the computer program is executed by the processor 21, the steps of the above-mentioned various method embodiments can be realized. The computer program includes computer program code, which can be in the form of source code, object code, an executable file, or some intermediate form, etc. The computer readable medium can include any entity or device capable of carrying the computer program code, a recording medium, a U disk, a mobile hard disk, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the computer readable medium can include or exclude contents according to the requirements of legislation and patent practice in a jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.
[0112] It should be noted that the apparatus embodiments described above are merely illustrative, and the units described as separate units can or can not be physically separate, and the units shown as units can or can not be physical units, i.e., can be located in one place, or can be distributed to multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiment according to actual needs. In addition, the connection relationship between the modules in the apparatus embodiment provided by the present application indicates that there is a communication connection between them, which can be implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement it without creative labor.
[0113] The above only describes the preferred embodiments of the present application and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. An Ackerman chassis correction method based on laser odometry, comprising the following steps: S2, control the front wheel motor to rotate in the first direction, and rotate to the first front wheel motor angle_max, where the first front wheel motor angle is the maximum angle that the front wheel motor can reach; S3, obtain the first laser odometry position P1; control the robot's rear wheel speed to move forward, while keeping the first front wheel motor angle_max unchanged, maintaining the robot's circular motion; monitor the laser odometry position in real time, and stop the movement if the difference between the yaw at this position and the yaw at position P1 is greater than a first preset angle, and obtain the second laser odometry position P2; obtain the first circular motion radius R1 based on the second laser odometry position P2 and the first laser odometry position P1; and obtain the first front wheel steering angle theta_max based on the first circular motion radius R1 and the wheelbase L of the Ackerman chassis; S4 controls the front wheel motor to rotate in the second direction and rotate to the second front wheel motor angle_mid; S5, control the robot's rear wheel speed to move forward, while keeping the second front wheel motor angle_mid constant, maintaining the robot's circular motion; monitor the position of the laser odometry in real time, and stop the movement if the difference between the yaw at this position and the yaw at position P2 is greater than the first preset angle, and obtain the third laser odometry position P3; obtain the second circular motion radius R2 based on the third laser odometry position P3 and the second laser odometry position P2; and obtain the second front wheel steering angle theta_mid based on the second circular motion radius R2 and the wheelbase L of the Ackerman chassis; S6. Based on the first front wheel steering angle and the second front wheel steering angle, obtain the relationship between the front wheel steering angle and the motor steering angle, wherein the front wheel steering angle and the motor steering angle have a linear relationship.
2. The method according to claim 1, further comprising: Before step S2, step S1 is executed, as follows: S1, control the front wheel motor so that the steering angle of the front wheel is 0 degrees, and record the front wheel motor angle at this time as angle_0.
3. The method according to claim 1, wherein step S6 comprises: Repeat steps S4-S5 to obtain the third front wheel motor angle_3, the fourth front wheel motor angle_4, the Nth front wheel motor angle_N, and the third front wheel steering angle theta_3, the fourth front wheel steering angle theta_4, and the Nth front wheel steering angle theta_N. Based on the first front wheel steering angle, the second front wheel steering angle, the third front wheel motor angle, the fourth front wheel motor angle, the Nth front wheel motor angle, and the third front wheel steering angle theta_3, the fourth front wheel steering angle theta_4, and the Nth front wheel steering angle theta_N, use the least squares method to obtain the relationship between the front wheel steering angle and the motor steering angle, where the front wheel steering angle and the motor steering angle have a linear relationship.
4. The method according to claim 2, wherein the angle_mid of the second front wheel motor is: .
5. The method according to claim 1, wherein the first preset angle is 30 degrees.
6. An Ackerman chassis correction device based on laser odometer, comprising the following units: The first front wheel motor angle acquisition unit is used to control the front wheel motor to rotate in the first direction and rotate to the first front wheel motor angle_max, where the first front wheel motor angle is the maximum angle that the front wheel motor can reach. The first front wheel steering angle acquisition unit is used to acquire the position P1 of the first laser odometry; control the robot's rear wheel speed to move forward, while keeping the angle_max of the first front wheel motor unchanged, thus maintaining the robot's circular motion; monitor the position of the laser odometry in real time, and stop the movement if the difference between the yaw at the current position and the yaw at position P1 is greater than a first preset angle, and acquire the position P2 of the second laser odometry; acquire the first circular motion radius R1 based on the second laser odometry position P2 and the first laser odometry position P1; and acquire the first front wheel steering angle theta_max based on the first circular motion radius R1 and the wheelbase L of the Ackerman chassis. The second front wheel motor angle acquisition unit is used to control the front wheel motor to rotate in the second direction and rotate to the second front wheel motor angle_mid; The second front wheel steering angle acquisition unit is used to control the robot's rear wheel speed forward. The second front wheel motor angle_mid remains unchanged, keeping the robot in circular motion. It monitors the position of the laser odometry in real time. If the difference between the yaw at the current position and the yaw at position P2 is greater than a first preset angle, the robot stops moving and acquires the third laser odometry position P3. The second circular motion radius R2 is acquired based on the third laser odometry position P3 and the second laser odometry position P2. The second front wheel steering angle theta_mid is acquired based on the second circular motion radius R2 and the wheelbase L of the Ackerman chassis. The front wheel steering angle and motor steering angle relationship acquisition unit is used to obtain the relationship between the front wheel steering angle and the motor steering angle based on the first front wheel steering angle and the second front wheel steering angle, wherein the front wheel steering angle and the motor steering angle have a linear relationship.
7. The device according to claim 6, wherein the unit for obtaining the relationship between the front wheel steering angle and the motor steering angle comprises: Repeatedly execute the second front wheel motor angle acquisition unit and the second front wheel steering angle acquisition unit to acquire the third front wheel motor angle_3, the fourth front wheel motor angle_4, the Nth front wheel motor angle_N, and the third front wheel steering angle theta_3, the fourth front wheel steering angle theta_4, and the Nth front wheel steering angle theta_N. Based on the first front wheel steering angle, the second front wheel steering angle, the third front wheel motor angle, the fourth front wheel motor angle, the Nth front wheel motor angle, and the third front wheel steering angle theta_3, the fourth front wheel steering angle theta_4, and the Nth front wheel steering angle theta_N, use the least squares method to obtain the relationship between the front wheel steering angle and the motor steering angle, where the front wheel steering angle and the motor steering angle have a linear relationship.
8. The apparatus according to claim 6, further comprising: The front wheel motor angle zeroing unit is used to control the front wheel motor so that the steering angle of the front wheel is 0 degrees. The front wheel motor angle at this time is denoted as angle_0.
9. A non-volatile memory storing instructions that, when executed by a processor, implement an Ackerman chassis correction method based on a laser odometer as described in any one of claims 1-5.
10. A robot, the robot comprising: The system includes a processing module, an Ackerman chassis, a storage module, and a laser odometer. The storage module stores instructions that, when executed, are used to implement an Ackerman chassis correction method based on a laser odometer as described in any one of claims 1-5.
Citation Information
Patent Citations
Calibration Method and System for Equivalent Steering Angle of Robot Chassis Front Wheels
CN114932951A
Ackerman type robot odometer calibration method based on scanning matching
CN115655311A