Parameter calibration methods for mobile robots and mobile robots
By using an extended Kalman filter algorithm and a preset path motion, the parameters of the mobile robot's steering encoder and LiDAR are automatically calibrated, solving the problems of deviation from the track and accuracy during robot operation, and improving the robot's stability and reliability.
Patent Information
- Application Number
- CN202211461016.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-17
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2042-11-17
AI Technical Summary
The deviation parameters of the steering encoder, the installation angle and position of the lidar of a mobile robot affect its stability and reliability. Existing technologies make it difficult to effectively calibrate these parameters, leading to deviations from the track and accuracy issues during robot operation.
An extended Kalman filter algorithm is used in combination with straight-line walking and preset path motion to automatically calibrate the steering encoder offset parameters and LiDAR installation parameters. By recording the robot's coordinates and pose observation data at multiple locations, the installation deviation of the LiDAR is iteratively calibrated.
It enables automated parameter calibration of mobile robots, improves robot walking stability and accuracy, reduces labor costs and errors, and is applicable to single-wheel, dual-wheel, and multi-radar robots.
Smart Images

Figure CN115718494B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and more particularly to a parameter calibration method for a mobile robot and the mobile robot itself. Background Technology
[0002] A robot is an intelligent machine capable of semi-autonomous or fully autonomous operation, able to perform tasks such as work or movement through programming and automatic control. Mobile robots, such as AGVs (Automated Guided Vehicles), are a type of robot equipped with electromagnetic or optical automatic navigation devices, capable of traveling along a predetermined navigation path, and possessing safety protection and various transfer functions.
[0003] The accuracy of parameters such as the steering encoder offset (Steer Encoder Offset), the laser radar mounting angle (Laser Angle), the laser radar mounting lateral value (Laser X), and the laser radar mounting longitudinal value (Laser Y) directly affects the stability and reliability of the mobile robot. Excessive deviation between the Steer Encoder Offset and the actual zero-position offset of the steering encoder will cause the mobile robot to veer in an S-shape during high-speed straight-line operation; excessive deviation between the Laser Angle and the actual laser radar mounting angle will cause the mobile robot to exceed the safe zone and deviate from the preset track when tracking spline curves; excessive deviations between Laser X and Laser Y and the actual lateral and longitudinal positions of the laser radar will affect the running accuracy and stopping accuracy of multiple mobile robots. Furthermore, due to manufacturing and installation processes, the actual physical pose of the manufactured mobile robot may deviate from the design; therefore, the above parameters need to be calibrated before the mobile robot leaves the factory. Summary of the Invention
[0004] The purpose of this invention is to propose a parameter calibration method for a mobile robot and a mobile robot in order to achieve automated calibration of mobile robot parameters in a simple and convenient way.
[0005] In a first aspect, the present invention proposes a parameter calibration method for a mobile robot, wherein the mobile robot is equipped with a steering encoder and a lidar. The method includes: controlling the mobile robot to walk in a straight line and recording the first coordinates of N position points of the mobile robot during the walking process, wherein N is an integer greater than or equal to 3; calibrating the offset parameters of the steering encoder based on the first coordinates of the N position points; after the steering encoder is calibrated, controlling the mobile robot to walk along a preset path and recording the encoder increment and the pose observation data of the lidar during the walking process, wherein the preset path includes a forward path, a backward path, and a turning path; using an extended Kalman filter algorithm to obtain pose target data based on the increment and the pose observation data; recording the second coordinates when passing through the target station in the preset path twice based on the pose target data; and calibrating the installation parameters of the lidar based on the second coordinates.
[0006] In a second aspect, the present invention proposes a mobile robot, including a controller, the controller including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the method of the first aspect described above.
[0007] The mobile robot parameter calibration method and mobile robot of this invention control the mobile robot to move linearly, calibrating the offset parameters of the steering encoder through N parking positions; after the offset parameters of the steering encoder are calibrated, the mobile robot is controlled to move along a preset path, and based on the extended Kalman filter algorithm, the installation deviation of the lidar is iteratively calibrated while positioning, and the installation parameters of the lidar are calibrated by continuously measuring and updating the motion results through the lidar. The whole process is simple to operate, can achieve automated calibration, and has low labor costs.
[0008] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Attached Figure Description
[0009] Figure 1 This is a flowchart of a parameter calibration method for a mobile robot according to an embodiment of the present invention;
[0010] Figure 2 This is a schematic diagram of the walking path of a mobile robot according to some embodiments of the present invention;
[0011] Figure 3 This is a schematic diagram of a preset path in an example of the present invention;
[0012] Figure 4 This is a schematic diagram of the mobile robot steering encoder state according to some embodiments of the present invention;
[0013] Figure 5 This is a structural block diagram of the mobile robot according to an embodiment of the present invention. Detailed Implementation
[0014] Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain the present invention, and should not be construed as limiting the present invention.
[0015] Considering the factors affecting mobile robot localization, including deviations in Steer Encoder Offset, Laser Angle, Laser Y, and Laser X, simply using the EKF (Extended Kalman Filter) method to calibrate these four parameters would be insufficient for estimation due to the large number of parameters to be estimated and the possibility that different error combinations might lead to identical observations. This means that the observational information cannot distinguish between multiple different combinations of deviations, resulting in limited observational data. While Steer Encoder Offset calibration does not depend on the installation deviation of the LiDAR, LiDAR installation deviation calibration depends on the zero-position offset of the steering encoder. This invention provides a method that controls the mobile robot to move in a straight line, calibrates the Steer Encoder Offset by determining whether the three stopping points of the mobile robot are on the same straight line, and then uses the EKF algorithm to calibrate the LiDAR installation deviation. The parameter calibration method and the mobile robot of this invention are described below with reference to the accompanying drawings.
[0016] Figure 1 This is a parameter calibration method for a mobile robot according to an embodiment of the present invention.
[0017] In this embodiment, the mobile robot is equipped with a steering encoder and a lidar. Figure 1 As shown, the method includes:
[0018] S1 controls the mobile robot to walk in a straight line and records the first coordinates of N positions of the mobile robot during the walking process, where N is an integer greater than or equal to 3.
[0019] Specifically, the steering encoder of the mobile robot may include a steering encoder for the steering wheel, or a steering encoder for the two travel motors of the differential drive wheel. If the steering encoder is a steering encoder for the steering wheel, the steering wheel angle must be set to zero degrees before controlling the mobile robot to travel in a straight line.
[0020] S2, calibrate the offset parameters of the steering encoder based on the first coordinates of N position points.
[0021] The offset parameters of the steering encoder may include the zero offset of the steering encoder of the steering wheel, and may also include the proportional offset of the travel steering encoder of the two drive wheels of the differential wheel.
[0022] Specifically, it can be determined whether the actual coordinates of the first N-1 positions and the measured coordinates of the Nth position are on the same straight line. If so, it means that the actual walking path of the mobile robot is a straight line. At this time, the steering encoder has no offset and no calibration is required. Otherwise, S1 needs to be repeated.
[0023] In one example, such as Figure 2 As shown, N=3. The dashed line represents the actual walking path of the mobile robot, and the solid line represents the target path (a straight line) where the actual coordinates of the N positions are located. When controlling the mobile robot to walk in a straight line, based on the third position, there may be three situations: Situation 1, the mobile robot veers to the left; Situation 2, the mobile robot veers to the right; Situation 3, the mobile robot does not veer.
[0024] S3. After the steering encoder is calibrated, control the mobile robot to walk along the preset path and record the encoder increment and LiDAR pose observation data during the walking process. The preset path includes forward path, backward path and U-turn path.
[0025] The encoder increment includes the steering encoder increment and the travel encoder increment.
[0026] In some embodiments, such as Figure 3 As shown, controlling a mobile robot to move along a preset path can include: controlling the mobile robot to move in a straight line along the first path segment (i.e., Figure 3 Seg2 in the middle), the second path segment is moved backward in a straight line (i.e. Figure 3 Seg7 in the first direction curve forward third path segment (i.e. Figure 3 Seg4 in the second direction curve retreats to the fourth path segment (i.e. Figure 3 Seg5 in the middle), the fifth path segment of the straight backwards (i.e. Figure 3 Seg6 in the middle), the sixth path segment is to move straight forward (i.e. Figure 3 Seg9 in the middle), proceed in a straight line along the seventh path segment (i.e. Figure 3 Seg8), where the first path segment and the second path segment are the same path segment, the fifth path segment and the sixth path segment are the same path segment, and the seventh path segment is the path segment connecting the first path segment and the sixth path segment; wherein, the two second coordinates include the measured coordinates when the mobile robot stops moving in a straight line in the first path segment and the measured coordinates when moving in a straight line in the seventh path segment.
[0027] S4. The extended Kalman filter algorithm is used to obtain the pose target data based on the incremental and pose observation data. The second coordinates when passing through the target station in the preset path twice are recorded based on the pose target data, and the installation parameters of the lidar are calibrated based on the second coordinates.
[0028] Specifically, the world coordinate system pose of the mobile robot at the current moment can be calculated based on the encoder increment, thereby calculating the pose of the lidar at the current moment and obtaining the pose prediction value. Based on the current observation value of the lidar (i.e., pose detection data), the EKF algorithm is run to continuously correct the prediction value through the observation value, obtaining the corrected result (i.e., pose target data). During this process, the installation error parameters of the lidar in the state space will also change and eventually converge.
[0029] This method is simple to operate, reduces the training and time costs associated with manual calibration parameter production, avoids large random errors in calibration data caused by human error analysis, and is applicable to the calibration of mobile robots with single steering wheels, dual steering wheels, single radar, and multiple radars, with a wide range of applications.
[0030] In some examples, such as Figure 2 As shown, N=3, controlling the mobile robot to walk in a straight line and recording the first coordinates of N positions during the movement can include: controlling the mobile robot to walk in a straight line starting from the first position point and recording the first position point (i.e., Figure 2 The actual coordinates (x11, y11) of station 11 in the map are recorded; when the walking parameters of the mobile robot meet the first preset condition, the mobile robot is controlled to stop, and the second position point (i.e., the first preset condition is recorded) is recorded. Figure 2 The actual coordinates (x21, y21) of station 21 in the map are recorded; the mobile robot is controlled to continue walking in a straight line from the second position point, and when the walking parameters of the mobile robot meet the second preset condition, the mobile robot is controlled to stop and the third position point corresponding to the second preset condition is recorded. Figure 2 The actual coordinates (x30, y30) and measured coordinates (x31, y31) of station 30 are given. The N location points include a first location point, a second location point, and a third location point. The first coordinates of the N location points include the actual coordinates of the first location point, the actual coordinates of the second location point, the actual coordinates of the third location point, and the measured coordinates. See also... Figure 2 The actual coordinates of station 11 (x11, y11), station 21 (x21, y21), and station 30 (x30, y30) are on the same straight line (i.e., Figure 2On the solid line in the diagram, this straight line represents the target route for controlling the mobile robot to move in a straight line. The measured coordinates (x31, y31) of station 30 represent the final stopping position of the mobile robot during its actual movement (i.e., Figure 2 The coordinates of the midpoint (31).
[0031] In some implementations, the mobile robot is equipped with a walking encoder. The walking parameters include the current value of the walking encoder. A first preset condition is that the difference between the current value and the initial value of the walking encoder is greater than a first difference threshold (e.g., 5000), in which case theoretically, the robot should walk in a straight line to the second position point. A second preset condition is that the difference between the current value and the initial value of the walking encoder is greater than a second difference threshold (e.g., 10000), in which case theoretically, the robot should walk in a straight line to the third position point. The second difference threshold is greater than the first difference threshold.
[0032] Specifically, the walking distance of the mobile robot can be calculated based on the current value and initial value of the walking encoder. The first difference threshold corresponds to the first preset distance (e.g., 5000mm) that the mobile robot has walked, and the second difference threshold corresponds to the second preset distance (e.g., 10000mm) that the mobile robot has walked.
[0033] In other embodiments, the walking parameters may include walking time, with a first preset condition that the walking time reaches a first time threshold and a second preset condition that the walking time reaches a second time threshold, wherein the second time threshold is greater than the first time threshold.
[0034] In some embodiments, calibrating the offset parameters of the steering encoder based on the first coordinates of N position points may include: whether the actual coordinates of the first N-1 position points and the measured coordinates of the Nth position point are on the same straight line; if not, the target offset of the steering encoder is obtained based on the actual coordinates and measured coordinates of the Nth position point.
[0035] Specifically, obtaining the target offset of the steering encoder based on the actual and measured coordinates of the Nth position point can include: identifying the offset of the measured coordinates of the Nth position point relative to the actual coordinates of the Nth position point; if the offset is to the left, then the target offset is determined to be the sum of the current offset and |yN1-yN0| / 2, where yN1 is the y-coordinate in the measured coordinates of the Nth position point and yN0 is the y-coordinate in the actual coordinates of the Nth position point; if the offset is to the right, then the target offset is determined to be the difference between the current offset and |yN1-yN0| / 2.
[0036] In some embodiments, after obtaining the target offset, the method may further include: if |yN1-yN0| is less than or equal to the offset threshold, then the target offset is determined as the final offset; if |yN1-yN0| is greater than the offset threshold, then the mobile robot is controlled to walk in a straight line again according to the target offset until |yN1-yN0| is less than or equal to the offset threshold.
[0037] Specifically, such as Figure 2 As shown, stations 11 and 21 are the stopping points for controlling the linear motion of the mobile robot with a given steering wheel angle of 0° and a given walking motor speed (e.g., 100 mm / s). If the Steer Encoder Offset is inaccurate, the measured coordinates (x31, y31) will not be collinear with the actual coordinates (x11, y11) and (x21, y21) during the linear motion of the mobile robot. If the coordinates (x31, y31) are not collinear with the coordinates (x11, y11) and (x21, y21), the Steer Encoder Offset value can be adjusted by measuring the deviation between the coordinates (x31, y31) and their corresponding actual coordinates (x30, y30). The accuracy of the Steer Encoder Offset value can be judged by the magnitude of this deviation.
[0038] The calibration process for the offset parameters of the steering encoders of different types of mobile robots is described below:
[0039] Type 1, Single Steering Wheel Steer Encoder Offset Calibration
[0040] Force the steering wheel angle to 0° and the walking speed to 100 mm / s to control the mobile robot to move in a straight line. For example... Figure 2 As shown, the mobile robot starts at point 11, with its actual coordinates recorded as (x11, y11). After traveling a first preset distance (e.g., 5000mm), it stops at point 21, with its actual coordinates recorded as (x21, y21). It then continues traveling a certain distance (the difference between the second and first preset distances, e.g., 5000mm) to stop at point 31, with the measured coordinates recorded as (x31, y31). If the three recorded points are on the same straight line, then the following equation holds:
[0041]
[0042] If the coordinates (x31, y31) are as follows Figure 2 As shown in Case 1, if the mobile robot deviates to the left while walking in a straight line, the SteerEncoder Offset value will be increased by |y31-y30| / 2.
[0043] Steer Encoder Offset=Steer Encoder Offset+|y31-y30| / 2
[0044] If the coordinates are (x31, y31) Figure 2 As shown in Case 2, if the mobile robot deviates to the right while walking in a straight line, then subtract |y31-y30| / 2 from the SteerEncoder Offset value.
[0045] Steer Encoder Offset=Steer Encoder Offset-|y31-y30| / 2
[0046] If the coordinates are (x31, y31) Figure 2 As shown in scenario three, the coordinates of stopping point 31 and 30 almost coincide, indicating that the Steer Encoder Offset of the mobile robot has been calibrated.
[0047] The robot moves in a straight line until |y31-y30| is less than the offset threshold, at which point the update of the Steer Encoder Offset value stops. The repeatable verification control sends 0° to the steering wheel and 100mm / s to the walking driver, controlling the mobile robot to stop at stations 11, 21, and 30. If the value of |y31-y30| is less than the offset threshold multiple times (e.g., three times), the current SteerEncoder Offset can be used as the final calibration value.
[0048] Type 2, Differential wheel two drive wheel travel encoder ratio calibration
[0049] The steering of a differential-drive wheeled mobile robot is controlled by the speed difference between the two wheels. The parameter affecting the high-speed straight-line movement of the differential-drive mobile robot is the proportional relationship between the left and right wheel drive encoders. Due to manufacturing limitations, the two wheels cannot be perfectly synchronized mechanically. The calibration method involves the controller sending a speed of 100 mm / s to each of the left and right wheel drives to control the mobile robot's forward movement. Figure 2 As shown, the mobile robot starts at point 11, with recorded actual coordinates (x11, y11). After traveling 5000mm, it stops at point 21, with recorded actual coordinates (x21, y21). It then continues traveling 5000mm to stop at point 31, with recorded measured coordinates (x31, y31). Assuming Left Driver EncoderScal = k * Right Driver Encoder Scal, if the three recorded points are on the same straight line, then the following equation holds:
[0050]
[0051] If the coordinates are (x31, y31) Figure 2 As shown in Case 1, if the mobile robot deviates to the left while walking in a straight line, the left wheel steering encoder ratio should be appropriately reduced by subtracting k1*(|y31-y30| / 2) from the k value.
[0052] k = (k - k1 * |y31 - y30|)
[0053] Where k1 is an empirical value, such as 0.0001.
[0054] If the coordinates are (x31, y31) Figure 2 As shown in Case 2, if the mobile robot deviates to the right while walking in a straight line, the proportion of the left wheel encoder should be increased appropriately, and the value of k should be increased by k1*(|y31-y30| / 2).
[0055] k = (k + k1 * |y31 - y30|)
[0056] If the coordinates are (x31, y31) Figure 2 As shown in scenario three, the coordinates of stopping points 31 and 30 almost coincide, indicating that the k-value of the mobile robot has been calibrated. The robot continues to move in a straight line until |y31-y30| is less than the offset threshold, at which point the k-value update stops. Similarly, this can be repeated. If the value of |y31-y30| is less than the offset threshold multiple times, such as three times, the current k-value can be used as the final ratio value for the left and right drive wheels.
[0057] Type 3, Steer Encoder Offset Calibration for Dual Steering Wheels
[0058] Dual steering wheels involve two steering wheels, and two Steer Encoder Offset values need to be calibrated. You can calibrate the Steer Encoder Offset value of the front wheel first, and then calibrate the Steer Encoder Offset value of the rear wheel.
[0059] Force the steering wheel angle to 0° and the walking speed to 100 mm / s to control the mobile robot to move in a straight line. For example... Figure 2 As shown, the mobile robot starts at point 11, with its actual coordinates recorded as (x11, y11). After traveling 5000mm, it stops at point 21, with its actual coordinates recorded as (x21, y21). It then continues traveling 5000mm to stop at point 31, with its measured coordinates recorded as (x31, y31). Since these three recorded points lie on a straight line, the following equation holds:
[0060]
[0061] If the coordinates are (x31, y31) Figure 2 As shown in Scenario 1, if the mobile robot veers to the left while moving in a straight line, there are two possibilities: the Steer Encoder Offset value of the front wheel is either too large or too small. In this case, keep the Steer Encoder Offset of the rear wheel unchanged, and increase the Steer Encoder Offset value of the front wheel by |y31-y30| / 2.
[0062] Steer Encoder Offset=Steer Encoder Offset+|y31-y30| / 2
[0063] If the value of |y31-y30| increases compared to the previous value, it means the adjustment was reversed. In this case, subtract |y31-y30| / 2 from Steer EncoderOffset.
[0064] If the coordinates are (x31, y31) Figure 2 As shown in scenario two, if the mobile robot veers to the right while moving in a straight line, there are two possibilities: the Steer Encoder Offset value of the front wheel is too large or too small. First, keep the Steer Encoder Offset of the rear wheel unchanged, and decrease the Steer Encoder Offset value of the front wheel by |y31-y30| / 2.
[0065] Steer Encoder Offset=Steer Encoder Offset-|y31-y30| / 2
[0066] If the value of |y31-y30| increases compared to the previous value, it means the adjustment was reversed. In this case, increase Steer EncoderOffset by |y31-y30| / 2. After adjusting the front wheels, adjust the rear wheels in the same way. This will ultimately enable the robot to move in a straight line as expected. Figure 2 As shown in scenario three.
[0067] It should be noted that mobile robots can move in a straight line, and there is a possibility of... Figure 4 The two situations, Figure 4 The left image shows a situation where neither the front nor rear wheels are misaligned. Figure 4 The right image shows a case where the front and rear wheels have the same offset angle. (Regarding...) Figure 4 In the situation shown in the right figure, the correctness of the Steer Encoder Offset of the front and rear wheels needs to be verified by testing the lateral movement function. If the lateral movement is normal, it means that the calibration of the front and rear Steer Encoder Offsets of the mobile robot is complete.
[0068] The aforementioned Steer Encoder Offset calibration aims to address the issue of the mobile robot traversing an S-shaped path during high-speed straight-line movement due to excessive deviation between the Steer Encoder Offset value and the actual zero-position offset of the steering encoder. Furthermore, this invention provides direct control of the mobile robot's linear motion, eliminating the need for navigation control and avoiding the impact of uncalibrated LiDAR on Steer Encoder Offset calibration.
[0069] In some embodiments, obtaining pose target data based on incremental and pose observation data may include: constructing an extended Kalman filter model, wherein the extended Kalman filter model includes a state equation (S... xk ,S yk ,S θk ,l xk ,l yk ,l θk ) T =(S x(k-1) ,S y(k-1) ,S θ(k-1) ,l x(k-1) ,l y(k-1) ,l θ(k-1) ) T +(A,B,l θ ,0,0,0) T and observation equation Z k =[s xk s yk s θk ]+v k , (S xk ,S yk ,S θk ) represents the pose of the mobile robot at time k in the world coordinate system, v k Denotes the noise at time k, (l xk ,l yk ,l θk () represents the pose deviation between the installation position of the lidar and the reference point at time k, where x, y, and θ represent the installation lateral value, installation longitudinal value, and installation angle, respectively. δ represents the preset coefficient; the incremental and pose detection data are input into the extended Kalman filter model to obtain the pose target data.
[0070] In some embodiments, calibrating the installation parameters of the lidar based on the second coordinates includes: calculating the lateral deviation and longitudinal deviation of the two second coordinates; if both the lateral deviation and the longitudinal deviation are less than the deviation threshold, then the installation parameters of the lidar corresponding to the pose target data are determined as the final installation parameters.
[0071] Specifically, regardless of whether it's a single steering wheel, dual steering wheels, or differential wheels, the calibration methods for Laser Angle, Laser X, and Laser Y of the LiDAR are the same. For mobile robots equipped with multiple LiDARs, it's necessary to automatically disable the other LiDARs and test them automatically one by one. Finally, multiple LiDARs are turned on to verify whether the fused parameters after calibration meet the requirements.
[0072] First, place the reflective columns containing the test site (such as...) Figure 3 The coordinate information (R8-R16) shown, along with the drawn path information and station information files, are downloaded to the controller. The LiDAR calibration method involves controlling the mobile robot to move forward to a control point and then turn around to stop at the same control point. The EKF algorithm is run, and the predicted values are continuously corrected based on the LiDAR's observations, gradually bringing the LiDAR's Laser Angle, Laser X, and Laser Y parameters closer to the true values (i.e., the actual installation position of the LiDAR). For example, the actual installation position of the LiDAR (103, 103, 3) indicates that the lateral distance of the LiDAR from the reference point is 103, the longitudinal distance is 103, and the deviation between the actual installation angle of the LiDAR and the vehicle's posture is 3°.
[0073] The specific method is as follows: Figure 3 As shown, the mobile robot is controlled to insert into the system (i.e., the mobile robot has successfully located itself and entered the planned path. When a target point is sent, the mobile robot can track the planned path to the destination), and walks to the initial station 10 to enter automatic mode. The mobile robot moves forward along path segment 2 to station 20, recording the coordinates (x20, y20); it then moves backward along path segment 7, forward along path segment 4, backward along path segment 5, backward along path segment 6, forward along path segment 9, and forward along path segment 8 to station 20, stopping and recording the coordinates (x21, y21). During the operation, the EKF algorithm is run. After stopping, it checks whether the difference between the corresponding coordinates (x20, y20) and (x21, y21) is within a threshold. If so, it updates the Laser Angle, Laser X, and Laser Y to approximate the actual installation position of the laser radar.
[0074] When running the EKF algorithm, the state equations for the motion of the mobile robot are first established. The state equations should satisfy the pose relationship between the previous time step and the current time step.
[0075] Let q be the pose of the mobile robot in the world coordinate system at time k-1. k (x k-1 ,y k-1 ,θ k-1 ) T ,exist in, It introduces the notation operator Censi to represent the granular group composed of column matrices of 2D planar pose, and Sk represents the pose detection data of the lidar in the world coordinate system.
[0076] Based on the encoder increment within time k and the state at time k-1, the state equation of the system at time k is predicted as follows: This can be abbreviated as Sxk = Sx(k-1) + A; This can be abbreviated as Syk = Sy(k-1) + B; S θk =(s θ(k-1) -l θ(k-1) +Sl θ +l θ From this, we can obtain the state equation:
[0077] (S xk ,S yk ,S θk ,l xk ,l yk ,l θk ) T =(S x(k-1) ,S y(k-1) ,S θ(k-1) ,l x(k-1) ,l y(k-1) ,l θ(k-1) ) T +(A,B,l θ ,0,0,0) T
[0078] Observation equation Z k =[s xk s yk s θk ]+v k The pose observation data (i.e., the coordinate information output by the lidar) is obtained by the lidar.
[0079] Assume v k The noise contains only Gaussian white noise. According to the EKF formula, the state variables can be deduced as follows:
[0080]
[0081] Here, f() refers to a function, and the specific functional relationship is the state equation mentioned above, which is to predict the pose at time k by the pose of the mobile robot at time k-1 and the encoder increment. It is the optimal estimate of the system state at time k. It is the optimal state estimate at time k-1, U k-1 It is the encoder increment input to the system at time k-1.
[0082] Forward calculation of error covariance:
[0083]
[0084] in, The prior estimate of the covariance at time k reflects the proportion of the actual value dependent on the predicted value; P k It is the optimal estimate of the system state at time k. covariance; Q k-1 Let Q be the covariance matrix of the process noise. k-1 Affected by encoder increment; The Jacobian matrix of function f with respect to system state variables; The Jacobian matrix represents the function f with respect to the system control input.
[0085] When updating according to the EKF formula, calculate the Kalman gain:
[0086]
[0087] Where, k k The Kalman gain represents the confidence level between the predicted pose and the pose information acquired by lidar; H k R is the Jacobian matrix of the observation equation. k The covariance of the noise is measured at time k.
[0088] Update the estimate from the observed variables:
[0089]
[0090] in, It is the optimal estimate of the system state at time k. It is the optimal state estimate at time k-1.
[0091] Update error covariance:
[0092]
[0093] Among them, D k It is the optimal estimate of the system state at time k. The corresponding covariance, I, is the identity matrix.
[0094] The EKF algorithm is a recursive algorithm. The estimation of the state space at time k and the obtained covariance matrix can be calculated using only the estimation of the state at time k-1, its covariance matrix, and the input values within the k-time interval, independent of information prior to time k-1. In the EKF prediction-update fusion iteration process, The error parameters of Laser Angle, Laser X, and Laser Y in the state space will also change and eventually converge.
[0095] Specifically, for a given moment, the mobile robot's pose has two values: a predicted value (the robot's pose at time k is predicted using time k-1 and encoder increments) and a radar measurement. Both the predicted and observed values contain errors, which can be used to determine their confidence level through covariance. These two values are continuously updated iteratively, with the observed values constantly correcting the predicted values. The lidar installation error parameters in the state space also change accordingly, and l xk ,l yk ,l θK Eventual convergence. The decision is made by controlling the mobile robot to move forward and turn around to the same point, and determining whether the actual parking position is within a threshold value. xk ,l yk ,l θK The accuracy.
[0096] For example, to estimate the pose value at time k, we first predict the pose value at time k based on the robot's pose value at time k-1 and the encoder increment, assuming it is (103, 103, 3), and the Gaussian noise deviation of this value is (5, 5, 5). The (5, 5, 5) is obtained as follows: if the deviation of the optimal pose value estimated at time k-1 is (3, 3, 3), and the prediction uncertainty is (4, 4, 4), the square root of the sum of their squares is (5, 5, 5). Then, we obtain the robot's pose value at time k from the LiDAR, assuming it is (105, 105, 5), and the deviation of this value is (4, 4, 4).
[0097] To determine the confidence levels of (103,103,3) and (105,105,5), their covariance can be used. Kalman gain K k =5^2 / (5^2+4^2) = 0.78, so the pose of the mobile robot at time k can be estimated as: (103,103,3)+(0.78*(105-103),0.78*(105-103),0.78*(105-103))=(104.56,104.56,4.56). It can be seen that because the covariance of the lidar measurement is relatively small (we have more faith in the lidar), the estimated optimal pose value is biased towards the lidar measurement value.
[0098] After obtaining the optimal pose value at time k, proceed to time k+1 for a new optimal estimation. Before proceeding to time k+1, the deviation of the optimal value (104.56, 104.56, 4.56) at time k must be calculated. The algorithm is as follows: ((1-K k)*5^2)^0.5=2.35. Here (5,5,5) is the deviation of the pose value (103,103,3) predicted at time k above, and the resulting (2.35,2.35,2.35) is the deviation of the optimal pose value of the mobile robot estimated at time k after entering time k+1 (corresponding to (3,3,3) above).
[0099] The extended Kalman filter recursively calculates the covariance to estimate the optimal pose of the mobile robot. This process is fast and only retains the covariance from the previous time step.
[0100] The values of Laser Angle, Laser X, and Laser Y, calibrated using the above methods, are ultimately intended to address: 1) the problem that excessive deviation between the Laser Angle and the actual installation angle of the LiDAR causes the mobile robot to exceed the safe zone and deviate from the preset track when tracking spline curves; and 2) the problem that excessive deviation between the Laser X and Laser Y values and the actual horizontal and vertical positions of the LiDAR affects the running and stopping accuracy of the mobile robot.
[0101] Figure 5 This is a structural block diagram of the mobile robot according to an embodiment of the present invention.
[0102] like Figure 5 As shown, the mobile robot 1000 includes a controller 500, which includes a processor 501 and a memory 503. The processor 501 and the memory 503 are connected, for example, via a bus 502. Optionally, the controller 500 may also include a transceiver 504. It should be noted that in practical applications, the transceiver 504 is not limited to one type, and the structure of the controller 500 does not constitute a limitation on the embodiments of the present invention.
[0103] Processor 501 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this invention. Processor 501 may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0104] Bus 502 may include a pathway for transmitting information between the aforementioned components. Bus 502 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 502 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 5 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0105] The memory 503 is used to store a computer program corresponding to the method of the above embodiments of the present invention, which is executed under the control of the processor 501. The processor 501 is used to execute the computer program stored in the memory 503 to implement the content shown in the foregoing method embodiments.
[0106] Figure 5 The controller 500 shown is merely an example and should not be construed as limiting the functionality and scope of use of embodiments of the present invention.
[0107] In summary, the parameter calibration method and mobile robot of this invention can calibrate not only the Steer Encoder Offset value of a single steering wheel, but also the Steer Encoder Offset value of a dual steering wheel, and the proportional relationship between the left and right differential wheel encoders. Furthermore, it can calibrate not only LaserAngle, LaserX, and LaserY of a single LiDAR, but also LaserAngle, LaserX, and LaserY of multiple LiDARs, demonstrating a wide range of applicability. Simultaneously, through repeated verification, the calibration accuracy is high; and the operation is simple, reducing the training and time costs associated with manual parameter calibration and avoiding large random errors caused by human error analysis. Furthermore, the calibrated parameters can reduce the amount of correction when the mobile robot is walking in a straight line, increasing walking stability and reliability; when controlling the mobile robot to turn, it solves the problem of deviation from the preset track due to inaccurate parameters; and it addresses the issues of running accuracy and stopping accuracy for multiple mobile robots.
[0108] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0109] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0110] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0111] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing this invention and simplifying the description, and are not intended to indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.
[0112] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0113] In this invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," "linking," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components, unless otherwise explicitly limited. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0114] In this invention, unless otherwise explicitly specified and limited, "above" or "below" the second feature can mean that the first feature is in direct contact with the second feature, or that the first feature is in indirect contact with the second feature through an intermediate medium. Furthermore, "above," "over," and "on top" of the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.
[0115] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.
Claims
1. A parameter calibration method for a mobile robot, characterized by, The mobile robot is provided with a steering encoder and a laser radar, and the method comprises: controlling the mobile robot to walk in a straight line and recording first coordinates of N position points in the walking process of the mobile robot, wherein N is an integer greater than or equal to 3; calibrating an offset parameter of the steering encoder according to the first coordinates of the N position points; after the calibration of the steering encoder is completed, controlling the mobile robot to walk according to a preset path, and recording an increment of the steering encoder and pose observation data of the laser radar in the walking process of the mobile robot, wherein the preset path comprises an advancing path, a retreating path and a turning path; obtaining pose target data according to the increment and the pose observation data, and recording second coordinates of two times of passing through a target station in the preset path, and calibrating an installation parameter of the laser radar according to the second coordinates; the obtaining of the pose target data according to the increment and the pose observation data comprises: An extended Kalman filter model is constructed, wherein the extended Kalman filter model comprises a state equation and an observation equation , represents a pose of the mobile robot at time k in a world coordinate system, represents noise at time k, represents a pose deviation of a mounting position of the lidar at time k from a reference point, respectively represent a mounting lateral value, a mounting longitudinal value, and a mounting angle, , , represents a preset coefficient; inputting the increment and the pose observation data into the extended Kalman filter model to obtain the pose target data.
2. The method of claim 1, wherein, N=3, the controlling of the mobile robot to walk in a straight line and the recording of the first coordinates of N position points in the walking process of the mobile robot comprise: controlling the mobile robot to walk in a straight line from a first position point and recording an actual coordinate of the first position point; when a walking parameter of the mobile robot meets a first preset condition, controlling the mobile robot to stop and recording an actual coordinate of a second position point corresponding to the first preset condition; controlling the mobile robot to continue walking in a straight line from the stopping position, and when a walking parameter of the mobile robot meets a second preset condition, controlling the mobile robot to stop and recording an actual coordinate and a measured coordinate of a third position point corresponding to the second preset condition; wherein the N position points comprise the first position point, the second position point and the third position point, and the first coordinates of the N position points comprise the actual coordinate of the first position point, the actual coordinate of the second position point, the actual coordinate of the third position point and the measured coordinate of the third position point.
3. The method of claim 2, wherein, The mobile robot is further provided with a walking encoder, the walking parameter comprises a current value of the walking encoder, the first preset condition is that a difference between the current value and an initial value of the walking encoder is greater than a first difference threshold, and the second preset condition is that a difference between the current value and the initial value of the walking encoder is greater than a second difference threshold, wherein the second difference threshold is greater than the first difference threshold.
4. The method of claim 2, wherein, The calibration of the offset parameter of the steering encoder according to N first coordinates comprises: judging whether actual coordinates of the first N-1 position points and a measured coordinate of the Nth position point are on a same straight line; if not, obtaining a target offset of the steering encoder according to the actual coordinate and the measured coordinate of the Nth position point.
5. The method of claim 1, wherein, The obtaining of the target offset of the steering encoder according to the actual coordinate and the measured coordinate of the Nth position point comprises: identifying an offset of a measured coordinate of the Nth position point relative to an actual coordinate of the Nth position point; if the offset is leftward, determining the target offset as a sum of a current offset and |yN1-yN0| / 2, where yN1 is a y coordinate in the measured coordinate of the Nth position point, and yN0 is a y coordinate in the actual coordinate of the Nth position point; if the offset is rightward, determining the target offset as a difference between the current offset and |yN1-yN0| / 2.
6. The method of claim 5, wherein, After obtaining the target offset, the method further comprises: if |yN1-yN0| is less than or equal to an offset threshold, determining the target offset as a final offset; if |yN1-yN0| is greater than the offset threshold, controlling the mobile robot to walk straight again according to the target offset until |yN1-yN0| is less than or equal to the offset threshold.
7. The method of claim 1, wherein, The calibration of the installation parameters of the laser radar according to the second coordinates comprises: calculating a lateral deviation and a longitudinal deviation of the two second coordinates; if the lateral deviation and the longitudinal deviation are both less than a deviation threshold, determining the installation parameters of the laser radar corresponding to the pose target data as final installation parameters.
8. The method of claim 1, wherein, The control of the mobile robot to walk along a preset path comprises: controlling the mobile robot to walk straight forward for a first path segment, walk straight backward for a second path segment, walk curve forward in a first direction for a third path segment, walk curve backward in a second direction for a fourth path segment, walk straight backward for a fifth path segment, walk straight forward for a sixth path segment, and walk straight forward for a seventh path segment, wherein the first path segment and the second path segment are the same path segment, the fifth path segment and the sixth path segment are the same path segment, and the seventh path segment is a path segment connected between the first path segment and the sixth path segment; wherein the two second coordinates comprise a measured coordinate when the mobile robot walks straight forward along the first path segment and stops, and a measured coordinate when the mobile robot walks straight forward along the seventh path segment and stops.
9. A mobile robot, characterized by The controller comprises a memory and a processor, the memory stores a computer program, and the processor implements the method of any one of claims 1-8 when executing the computer program.
Citation Information
Patent Citations
Milemeter and measuring pose data fusion method for mobile robot
CN108036792A
Robot positioning detection and adjustment method
CN111687842A