Odometer automatic correction method and device
By acquiring and computer robot zero angle and turning driving information, correcting the odometer data, the problem of decreasing positioning accuracy of the robot is solved and a higher positioning accuracy is achieved.
Patent Information
- Application Number
- CN202210858003.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-20
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2042-07-20
AI Technical Summary
The prior art lacks an effective odometer error correction scheme, resulting in a decrease in positioning accuracy during the robot driving.
The rudder drives the robot to move, obtains the driving information of zero position angle and cornering, calculates the actual driving distance and angle, calculates the feedback speed compensation value and angle compensation value, and corrects the odometer data.
Eliminate speed and angle errors during the robot driving and improve positioning accuracy.
Smart Images

Figure CN115342833B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to a robot automatic driving technology, and more particularly to an odometer automatic correction method and device. Background Art
[0002] During robot travel, an odometer is required to transmit and feedback information such as the robot's distance, speed, and angular velocity. However, due to errors in the sensor's accuracy, errors in the mechanical structure's production process, and wear on the robot's wheels from long-term travel, odometer errors can become increasingly larger without regular correction, affecting the robot's speed and angle, and thus, its positioning accuracy. The existing technology lacks an effective solution for correcting odometer errors, which is why this invention was developed. Summary of the Invention
[0003] The present invention provides an odometer automatic correction method and device to achieve automatic correction of robot odometer parameters, thereby improving positioning accuracy.
[0004] The first method, an embodiment of the present invention further provides an automatic odometer correction method, comprising:
[0005] S1, driving the robot by the steering wheel to move, and obtaining the driving information of the robot when it is driving at zero angle and turning;
[0006] S2. Calculate, based on the driving information, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer when the robot is traveling at a zero angle and when traveling in a turning direction;
[0007] S3, calculating a feedback speed compensation value of the odometer, a sent angle compensation value, and a feedback angle compensation value based on the actual travel distance of the robot, the actual transformation angle of the robot, the actual travel distance of the odometer, and the actual transformation angle of the odometer;
[0008] S4. Correcting the odometer data during the robot's motion according to the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer.
[0009] Optionally, when the robot is driven by the steering wheel to travel at a zero angle, S2 includes:
[0010] Issue movement instructions to the robot to control it to move forward and reverse respectively;
[0011] According to the global coordinates and odometer coordinates of the starting point and the end point during the driving process, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer and the actual transformation angle of the odometer during the forward and reverse driving processes are calculated respectively.
[0012] Optionally, when the robot is driven by the steering wheel to travel at a zero angle, S3 includes:
[0013] According to the horizontal and vertical distances between the center of the robot's steering wheel and the center of motion, the actual distance traveled and the actual transformation angle of the forward-driving robot, and the distance traveled and the actual transformation angle of the odometer, the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer when the robot is traveling at zero angle are calculated.
[0014] Optionally, when the robot turns left, S2 includes:
[0015] Issue movement instructions to the robot, controlling it to move forward to the left and move backward to the left respectively;
[0016] The actual travel distance and actual transformation angle of the robot in the process of driving forward to the left and driving backward to the left are calculated according to the global coordinates of the starting point and the end point during the driving process;
[0017] The actual travel distance and the actual transformation angle of the odometer during the left forward travel and the left reverse travel are calculated respectively according to the sum of the real-time angles sampled during the left forward travel and the left reverse travel and the number of samples.
[0018] Optionally, when the robot turns left, S3 includes:
[0019] The angle compensation value sent and the angle compensation value fed back by the odometer during the person's forward left driving and reverse left driving are calculated based on the actual driving distance and the actual transformation angle of the robot and the actual driving distance and the actual transformation angle of the odometer.
[0020] Optionally, when the robot turns right, S2 includes:
[0021] Issue movement instructions to the robot to control it to move forward to the right and reverse to the right respectively;
[0022] The actual travel distance and actual transformation angle of the robot in the right forward travel and right reverse travel are calculated according to the global coordinates of the starting point and the end point during the travel process;
[0023] The actual driving distance and the actual transformation angle of the odometer during the right forward driving and right reverse driving are calculated according to the sum of the real-time angles sampled during the right forward driving and right reverse driving and the number of samples.
[0024] Optionally, when the robot turns right, S3 includes:
[0025] The angle compensation value sent and the angle compensation value fed back by the odometer during the robot's rightward and rightward driving are calculated based on the actual driving distance and actual transformation angle of the robot and the actual driving distance and actual transformation angle of the odometer.
[0026] In a second aspect, an embodiment of the present invention further provides an odometer automatic correction device, comprising:
[0027] The motion control module is used to drive the robot to move through the steering wheel and obtain the driving information of the robot when it is driving at zero angle and turning;
[0028] an actual operation value calculation module, configured to calculate, based on the driving information, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer when the robot is traveling at a zero angle and when traveling in a turn;
[0029] A compensation value calculation module is used to calculate the feedback speed compensation value of the odometer, the issued angle compensation value, and the feedback angle compensation value based on the actual travel distance of the robot, the actual transformation angle of the robot, the actual travel distance of the odometer, and the actual transformation angle of the odometer;
[0030] The correction module is used to correct the odometer data during the robot's movement according to the feedback speed compensation value, the sent angle compensation value and the feedback angle compensation value of the odometer.
[0031] The present invention drives the robot to move by driving a steering wheel, obtains driving information of the robot when traveling at a zero angle and when traveling in a turning direction, and calculates the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer when traveling at a zero angle and when traveling in a turning direction according to the driving information, and then calculates the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer according to the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer, and corrects the odometer data during the movement of the robot according to the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer, thereby eliminating speed and angle errors during the robot's driving process and improving the positioning accuracy of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 A flowchart of automatic odometer correction provided by an embodiment of the present invention;
[0033] Figure 2 Schematic diagram of the forward walking trajectory of the robot at a zero angle in an embodiment of the present invention;
[0034] Figure 3Schematic diagram of the forward walking trajectory of the robot at a zero angle in an embodiment of the present invention;
[0035] Figure 4 Schematic diagram of the relationship between the steering wheel center and the motion center of the robot in an embodiment of the present invention;
[0036] Figure 5 1 is a schematic diagram of a robot walking toward the left in an embodiment of the present invention;
[0037] Figure 6 1 is a schematic diagram of a leftward and reverse walking trajectory of a robot in an embodiment of the present invention;
[0038] Figure 7 1 is a schematic diagram of a rightward walking trajectory of a robot in an embodiment of the present invention;
[0039] Figure 8 2 is a schematic diagram of the walking trajectory of the robot in the right direction in an embodiment of the present invention. DETAILED DESCRIPTION
[0040] The present invention will be further described in detail below with reference to the accompanying drawings and examples. It will be understood that the specific embodiments described herein are intended only to illustrate the present invention and are not intended to limit the present invention. It should also be noted that, for ease of description, the accompanying drawings only illustrate portions relevant to the present invention, not all structures.
[0041] Example
[0042] Figure 1 A flowchart of an automatic odometer correction provided by an embodiment of the present invention specifically includes the following steps:
[0043] S1, driving the robot by the steering wheel to move, and obtaining the driving information of the robot when it is driving at zero angle and turning;
[0044] S2. Calculate, based on the driving information, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer when the robot is traveling at a zero angle and when traveling in a turning direction;
[0045] S3, calculating a feedback speed compensation value of the odometer, a sent angle compensation value, and a feedback angle compensation value based on the actual travel distance of the robot, the actual transformation angle of the robot, the actual travel distance of the odometer, and the actual transformation angle of the odometer;
[0046] S4. Correcting the odometer data during the robot's motion according to the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer.
[0047] In this embodiment, the parameters that need to be corrected for the robot's steering wheel drive odometer include:
[0048] (1) Zero position angle correction requirement parameters: Angle compensation for forward driving at zero position Zero position positive driving feedback angle compensation Angle compensation for zero-position reverse driving Zero position reverse direction feedback angle compensation
[0049] (2) Speed correction requirement parameters: Forward driving speed feedback compensation v + , reverse driving speed feedback compensation v - .
[0050] (3) Turning angle correction requirement parameters: The robot's steering wheel is moving forward to the left and the angle compensation is issued. Feedback angle compensation for the robot's steering wheel moving forward to the left The robot's steering wheel moves in the opposite direction to the left and issues an angle compensation. Feedback angle compensation for the robot's steering wheel moving in the reverse direction to the left The robot's steering wheel moves forward to the right and issues an angle compensation Feedback angle compensation for the robot's steering wheel moving forward to the right The robot's steering wheel moves in the opposite direction to the right and issues angle compensation Feedback angle compensation for the robot's steering wheel moving in the right direction
[0051] When the robot is driven by the steering wheel to travel at a zero angle, S2 includes:
[0052] Issue movement instructions to the robot to control it to move forward and reverse respectively;
[0053] According to the global coordinates and odometer coordinates of the starting point and the end point during the driving process, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer and the actual transformation angle of the odometer during the forward and reverse driving processes are calculated respectively.
[0054] When the robot is driven by the steering wheel to travel at a zero angle, S3 includes:
[0055] According to the horizontal and vertical distances between the center of the robot's steering wheel and the center of motion, the actual distance traveled and the actual transformation angle of the forward-driving robot, and the distance traveled and the actual transformation angle of the odometer, the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer when the robot is traveling at zero angle are calculated.
[0056] Specifically, the zero angle correction and speed correction include the following steps:
[0057] 1. Movement trajectory
[0058] (1) The robot's steering wheel faces forward, and the original coordinates (x S ,y S ,θ S ), and the coordinates of the odometer, the coordinates of the odometer are (x OS ,y OS ,θ OS );
[0059] (2) Send an automatic walking command, the expected angle sent to the robot is 0, and the expected speed is v0 + , the next trip distance is L, where v0 + >0;
[0060] (3) See Figure 2 The robot's forward walking trajectory is a straight line. After stopping, the robot's coordinates in the global coordinate system (x E ,y E ,θ E ) and the coordinates of the odometer at this time (x OE ,y OE ,θ OE );
[0061] (4) Send the automatic walking command again, and send the expected angle to the robot as 0 and the expected speed as v0 - , the next trip distance is L, where Preferred
[0062] (5) See Figure 3 , the robot's reverse walking trajectory is a straight line. After stopping, obtain the robot's coordinates in the global coordinate system (x E ′,y E ′,θ E ′) and the coordinates of the odometer at this time (x OE ′,y OE ′,θ OE ′).
[0063] 2. Solving the walking distance and angle changes
[0064] (1) Calculate the actual distance and actual transformation angle of the robot's forward movement, from the original coordinates (x S ,y S ,θ S ) and the coordinates after traveling a specified distance in the forward direction (x E ,y E ,θ E ) determines the actual distance the robot travels Angle change Δθ+ =θ E -θ S ;
[0065] (2) Calculate the actual distance and actual transformation angle of the odometer in the forward direction, and the original coordinates (x OS ,y OS ,θ OS ) and the coordinates of the odometer after traveling the specified distance in the forward direction (x OE ,y OE ,θ OE ) determines the odometer distance traveled Odometer angle change Δθ O + =(θ OE -θ OS )-(θ E -θ S );
[0066] (3) Calculate the actual distance and actual transformation angle of the robot's reverse walking, from the coordinates (x E ,y E ,θ E ) and (x E ′,y E ′,θ E ′) determines the actual distance the robot walks in reverse Reverse driving angle change Δθ - =θ E -θ E ';
[0067] (4) Calculate the actual distance and actual transformation angle of the odometer in reverse direction, and calculate the odometer coordinates (x OE ,y OE ,θ OE ) and the coordinates of the odometer after traveling the specified distance in the reverse direction (x OE ′,y OE ′,θ OE ′) determines the odometer distance traveled Odometer angle change Δθ O -=(θ E -θ E ′)-(θ OE -θ OE ′).
[0068] 3. Angle compensation for forward driving at zero position Zero position positive driving feedback angle compensation Forward driving speed feedback compensation v + , Zero position reverse driving angle compensation Zero position reverse driving feedback angle compensation Reverse driving speed feedback compensation v - The solution process is as follows:
[0069] (1) Schematic diagram of the relationship between the robot's steering wheel center and the center of motion. Figure 4 , according to the horizontal distance between the robot's steering wheel center and the center of motion is h, the vertical distance to the center of motion is l, the actual distance d of the robot in the forward direction + and the actual transformation angle Δθ + , forward odometer distance traveled and actual transformation angle We can obtain:
[0070] Angle compensation for zero-position forward driving
[0071] Zero position positive driving feedback angle compensation
[0072] Forward driving speed feedback compensation
[0073] (2) According to the horizontal distance h between the center of the robot's steering wheel and the center of motion, and the vertical distance l, the actual distance d of the robot in reverse motion - and the actual transformation angle Δθ - Can be obtained
[0074] Angle compensation for zero-position reverse driving
[0075] Zero position reverse driving feedback angle compensation
[0076] Reverse driving speed feedback compensation
[0077] Furthermore, when the robot turns left, S2 includes:
[0078] Issue movement instructions to the robot, controlling it to move forward to the left and move backward to the left respectively;
[0079] The actual travel distance and actual transformation angle of the robot in the process of driving forward to the left and driving backward to the left are calculated according to the global coordinates of the starting point and the end point during the driving process;
[0080] The actual travel distance and the actual transformation angle of the odometer during the left forward travel and the left reverse travel are calculated respectively according to the sum of the real-time angles sampled during the left forward travel and the left reverse travel and the number of samples.
[0081] Correspondingly, S3 includes: calculating the downward angle compensation value and feedback angle compensation value of the odometer during the person's forward left driving and reverse left driving according to the actual driving distance and actual transformation angle of the robot and the actual driving distance and actual transformation angle of the odometer.
[0082] Specifically, the angle compensation steps when the robot's steering wheel is moving to the left are as follows:
[0083] 1. Movement trajectory
[0084] (1) Get the original coordinates of the robot in the global coordinate system (x S1 ,y S1 ,θ S1 ), send the automatic walking instruction, and the expected angle sent to the robot is The expected speed is v1 + , the robot walking posture angle is π, where v1 + >0, the robot moves to the left;
[0085] (2) See Figure 5 , the robot's forward movement to the left is a semicircular arc. After stopping, the coordinates of the robot in the global coordinate system (x E1 ,y E1 ,θ E1 );
[0086] (3) Send the automatic walking command again, and the expected angle sent to the robot is The expected speed is v1 - , the robot walking posture angle is 0, where v1 - <0, preferred
[0087] (4) See Figure 6 The robot's reverse walking trajectory is a semicircular arc. After stopping, the coordinates of the robot in the global coordinate system (x E1 ′,y E1 ′,θ E1 ′).
[0088] 2. Solving the walking distance and angle changes
[0089] (1) Calculate the radius of the robot's steering wheel moving in a semicircular arc to the left, the average real-time angle change, and the actual angle change.
[0090] From the original coordinates (x S1 ,y S1 ,θ S1 ) and the coordinates after traveling a specified distance in the forward direction (x E1 ,y E1,θ E1 ) It can be seen that the radius of the robot's walking arc is
[0091] Actual angle change
[0092] The average value of the real-time angle change of the odometer is It represents the sum of the real-time angles sampled when the steering wheel moves in a semicircle to the left. Indicates the number of samples;
[0093] (2) Calculate the radius of the robot's steering wheel when it moves in a semicircular arc in the opposite direction to the left, the average real-time angle change, and the actual angle change.
[0094] The coordinates after traveling a specified distance in the forward direction (x E1 ,y E1 ,θ E1 ) and the coordinates after traveling the specified distance in the reverse direction (x E1 ′,y E1 ′,θ E1 ′) It can be seen that the radius of the robot's walking arc is
[0095] Actual angle change
[0096] The average value of the real-time angle change of the odometer is It represents the sum of the real-time angles sampled when the steering wheel moves in the opposite direction to the left for a semicircle. Indicates the number of samples;
[0097] 3. Angle compensation when the steering wheel moves forward to the left Feedback angle compensation when the steering wheel is moving forward to the left Angle compensation when driving in reverse with the head facing left Steering wheel left reverse driving feedback angle compensation The solution is as follows:
[0098] The robot's steering wheel moves forward to the left and issues angle compensation
[0099] Feedback angle compensation for the robot's steering wheel moving forward to the left
[0100] The robot's steering wheel moves in the opposite direction to the left and issues an angle compensation.
[0101] Feedback angle compensation for the robot's steering wheel moving in the reverse direction to the left
[0102] Furthermore, when the robot turns right, S2 includes:
[0103] Issue movement instructions to the robot to control it to move forward to the right and reverse to the right respectively;
[0104] The actual travel distance and actual transformation angle of the robot in the right forward travel and right reverse travel are calculated according to the global coordinates of the starting point and the end point during the travel process;
[0105] The actual driving distance and the actual transformation angle of the odometer during the right forward driving and right reverse driving are calculated according to the sum of the real-time angles sampled during the right forward driving and right reverse driving and the number of samples.
[0106] Accordingly, the S3 includes:
[0107] The angle compensation value sent and the angle compensation value fed back by the odometer during the robot's rightward and rightward driving are calculated based on the actual driving distance and actual transformation angle of the robot and the actual driving distance and actual transformation angle of the odometer.
[0108] Specifically, the angle compensation steps for the robot's steering wheel when it is moving to the right are as follows:
[0109] 1. Movement trajectory
[0110] (1) Get the original coordinates of the robot in the global coordinate system (x S2 ,y S2 ,θ S2 ), send the automatic walking instruction, and the expected angle sent to the robot is The expected speed is v2 + , the robot walking posture angle is -π, where The robot moves to the right;
[0111] (2) See Figure 7 The robot's forward rightward walking trajectory is a semicircular arc. After stopping, the robot's coordinates in the global coordinate system (x E2 ,y E2 ,θ E2 );
[0112] (3) Send the automatic walking command again, and the expected angle sent to the robot is The expected speed is The robot's walking posture angle is 0, where Preferred
[0113] (4) See Figure 8 The robot's reverse walking trajectory is a semicircular arc. After stopping, the coordinates of the robot in the global coordinate system (x E2 ′,y E2 ′,θE2 ′).
[0114] 2. Solving the walking distance and angle changes
[0115] (1) Calculate the radius of the robot's steering wheel moving in a semicircular arc to the right, the average real-time angle change, and the actual angle change.
[0116] From the original coordinates (x S2 ,y S2 ,θ S2 ) and the coordinates after traveling a specified distance in the forward direction (x E2 ,y E2 ,θ E2 ) It can be seen that the radius of the robot's walking arc is
[0117] Actual angle change
[0118] The average value of the real-time angle change of the odometer is It represents the sum of the real-time angles sampled when the robot's steering wheel moves in a semicircle to the left. Indicates the number of samples;
[0119] (2) Calculate the radius of the robot's steering wheel when it moves in a semicircular arc in the opposite direction to the right, the average real-time angle change, and the actual angle change.
[0120] The coordinates after traveling a specified distance in the forward direction (x E2 ,y E2 ,θ E2 ) and the coordinates after traveling the specified distance in the reverse direction (x E2 ′,y E2 ′,θ E2 ′) It can be seen that the radius of the robot's walking arc is
[0121] Actual angle change
[0122] The average value of the real-time angle change of the odometer is It represents the sum of the real-time angles sampled when the robot's steering wheel moves in a semicircle in the right direction. Indicates the number of samples;
[0123] 3. The robot's steering wheel moves to the right and issues angle compensation. Feedback angle compensation for the robot's steering wheel moving forward to the right The robot's steering wheel moves in the opposite direction to the right and issues angle compensation Feedback angle compensation for the robot's steering wheel moving in the right direction The solution is as follows:
[0124] The robot's steering wheel moves forward to the right and issues an angle compensation
[0125] Feedback angle compensation for the robot's steering wheel moving forward to the right
[0126] The robot's steering wheel moves in the opposite direction to the right and issues angle compensation
[0127] Feedback angle compensation for the robot's steering wheel moving in the right direction
[0128] In this embodiment, the control center will send the speed and angular velocity to the motion center during the driving process of the robot. The motion center will calculate the speed and angle of the robot's steering wheel through the odometer model. At the same time, the motion center will also feedback the real-time data of the robot's steering wheel through the odometer.
[0129] During the actual movement of the robot driven by the steering wheel, it is necessary to correct the odometer feedback speed, sending angle, feedback angle and other data.
[0130] 1. Speed correction
[0131] Forward driving feedback speed correction: Indicates the feedback speed of the robot before forward driving compensation;
[0132] Reverse driving feedback speed correction: Indicates the feedback speed of the robot before reverse driving compensation.
[0133] 2. Angle correction
[0134] The angle compensation formula is: Where ψ′ represents the angle after compensation, ψ represents the angle before compensation, Indicates the zero angle compensation value, Indicates the turning angle compensation value,
[0135] When the robot is walking, the turning angle compensation is 0, that is, the zero angle correction is as follows:
[0136] Zero position forward driving angle: Indicates the angle before zero position forward travel compensation;
[0137] Zero position forward travel feedback angle: Indicates the feedback angle before zero-position forward travel compensation;
[0138] Zero position reverse driving angle: Indicates the angle before zero-position reverse driving compensation;
[0139] Zero position reverse driving feedback angle: Indicates the feedback angle before zero-position reverse driving compensation;
[0140] When the robot turns, the angle correction is as follows:
[0141] The robot's steering wheel is moving forward to the left and the angle is: Indicates the angle of the robot's steering wheel before compensation for forward left movement;
[0142] Feedback angle of the robot's steering wheel moving forward to the left: Indicates the feedback angle of the robot's steering wheel before compensation for moving forward to the left;
[0143] The robot's steering wheel points to the left and reverses to the angle: Indicates the angle of the robot's steering wheel before compensation for reverse left movement;
[0144] Feedback angle of the robot steering wheel moving in the reverse direction to the left: Indicates the feedback angle of the robot's steering wheel before compensation for reverse left movement;
[0145] The robot's steering wheel is moving towards the right and the angle is: Indicates the angle of the robot's steering wheel before compensation for rightward movement;
[0146] Feedback angle of the robot's steering wheel moving forward to the right: Indicates the feedback angle of the robot's steering wheel before compensation for rightward movement;
[0147] The robot's steering wheel is facing right and the angle is: Indicates the angle of the robot's steering wheel before compensation for right reverse driving;
[0148] Feedback angle of the robot's steering wheel moving in the right direction: Indicates the feedback angle of the robot's steering wheel before compensation for reverse left movement.
[0149] The present invention drives the robot to move by driving a steering wheel, obtains driving information of the robot when traveling at a zero angle and when traveling in a turning direction, and calculates the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer when traveling at a zero angle and when traveling in a turning direction according to the driving information, and then calculates the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer according to the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer, and corrects the odometer data during the movement of the robot according to the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer, thereby eliminating speed and angle errors during the robot's driving process and improving the positioning accuracy of the robot.
[0150] An embodiment of the present invention further provides an odometer automatic correction device, comprising:
[0151] The motion control module is used to drive the robot to move through the steering wheel and obtain the driving information of the robot when it is driving at zero angle and turning;
[0152] an actual operation value calculation module, configured to calculate, based on the driving information, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer when the robot is traveling at a zero angle and when traveling in a turn;
[0153] A compensation value calculation module is used to calculate the feedback speed compensation value of the odometer, the issued angle compensation value, and the feedback angle compensation value based on the actual travel distance of the robot, the actual transformation angle of the robot, the actual travel distance of the odometer, and the actual transformation angle of the odometer;
[0154] The correction module is used to correct the odometer data during the robot's movement according to the feedback speed compensation value, the sent angle compensation value and the feedback angle compensation value of the odometer.
[0155] When the robot is driven by the steering wheel to travel at a zero angle, the actual operation value calculation module is specifically used to:
[0156] Issue movement instructions to the robot to control it to move forward and reverse respectively;
[0157] According to the global coordinates and odometer coordinates of the starting point and the end point during the driving process, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer and the actual transformation angle of the odometer during the forward and reverse driving processes are calculated respectively.
[0158] When the robot is driven by the steering wheel to travel at a zero angle, the compensation value calculation module is specifically used to:
[0159] According to the horizontal and vertical distances between the center of the robot's steering wheel and the center of motion, the actual distance traveled and the actual transformation angle of the forward-driving robot, and the distance traveled and the actual transformation angle of the odometer, the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer when the robot is traveling at zero angle are calculated.
[0160] When the robot turns left, the actual operation value calculation module is specifically used to:
[0161] Issue movement instructions to the robot, controlling it to move forward to the left and move backward to the left respectively;
[0162] The actual travel distance and actual transformation angle of the robot in the process of driving forward to the left and driving backward to the left are calculated according to the global coordinates of the starting point and the end point during the driving process;
[0163] The actual travel distance and the actual transformation angle of the odometer during the left forward travel and the left reverse travel are calculated respectively according to the sum of the real-time angles sampled during the left forward travel and the left reverse travel and the number of samples.
[0164] When the robot turns left, the compensation value calculation module is specifically used to:
[0165] The angle compensation value sent and the angle compensation value fed back by the odometer during the person's forward left driving and reverse left driving are calculated based on the actual driving distance and the actual transformation angle of the robot and the actual driving distance and the actual transformation angle of the odometer.
[0166] When the robot turns right, the actual operation value calculation module is specifically used to:
[0167] Issue movement instructions to the robot to control it to move forward to the right and reverse to the right respectively;
[0168] The actual travel distance and actual transformation angle of the robot in the right forward travel and right reverse travel are calculated according to the global coordinates of the starting point and the end point during the travel process;
[0169] The actual driving distance and the actual transformation angle of the odometer during the right forward driving and right reverse driving are calculated according to the sum of the real-time angles sampled during the right forward driving and right reverse driving and the number of samples.
[0170] The compensation value calculation module is specifically used for:
[0171] The angle compensation value sent and the angle compensation value fed back by the odometer during the robot's rightward and rightward driving are calculated based on the actual driving distance and actual transformation angle of the robot and the actual driving distance and actual transformation angle of the odometer.
[0172] An odometer automatic correction device provided by an embodiment of the present invention can execute an odometer automatic correction method provided by any embodiment of the present invention, and has corresponding functional modules and beneficial effects of the execution method.
[0173] Note that the above are only preferred embodiments of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments, and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments and may include many other equivalent embodiments without departing from the concept of the present invention. The scope of the present invention is determined by the scope of the appended claims.
Claims
1. A method for automatic odometer correction, characterized in that: include: S1, driving the robot by the steering wheel to move, and obtaining the driving information of the robot when it is driving at zero angle and turning; S2. Calculate, based on the driving information, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer when the robot is traveling at a zero angle and when traveling in a turning direction; S3, calculating a feedback speed compensation value of the odometer, a sent angle compensation value, and a feedback angle compensation value based on the actual travel distance of the robot, the actual transformation angle of the robot, the actual travel distance of the odometer, and the actual transformation angle of the odometer; S4, correcting the odometer data during the robot's movement according to the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer; When the robot is driven by the steering wheel to travel at a zero angle, the S2 includes: Issue movement instructions to the robot to control it to move forward and reverse respectively; According to the global coordinates and odometer coordinates of the starting point and the end point during the driving process, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer during the forward and reverse driving processes are calculated respectively; When the robot is driven by the steering wheel to travel at a zero angle, S3 includes: According to the horizontal and vertical distances between the center of the robot's steering wheel and the center of motion, the actual distance traveled and the actual transformation angle of the forward-driving robot, and the distance traveled and the actual transformation angle of the odometer, the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer when the robot is traveling at zero angle are calculated.
2. The method according to claim 1, characterized in that When the robot turns left, S2 includes: Issue movement instructions to the robot, controlling it to move forward to the left and move backward to the left respectively; The actual travel distance and actual transformation angle of the robot in the process of driving forward to the left and driving backward to the left are calculated according to the global coordinates of the starting point and the end point during the driving process; The actual travel distance and the actual transformation angle of the odometer during the left forward travel and the left reverse travel are calculated respectively according to the sum of the real-time angles sampled during the left forward travel and the left reverse travel and the number of samples.
3. The method according to claim 2, characterized in that When the robot turns left, S3 includes: The angle compensation value sent and the angle compensation value fed back by the odometer during the person's forward left driving and reverse left driving are calculated based on the actual driving distance and the actual transformation angle of the robot and the actual driving distance and the actual transformation angle of the odometer.
4. The method according to claim 1, wherein When the robot turns right, S2 includes: Issue movement instructions to the robot to control it to move forward to the right and reverse to the right respectively; The actual travel distance and actual transformation angle of the robot in the right forward travel and right reverse travel are calculated according to the global coordinates of the starting point and the end point during the travel process; The actual driving distance and the actual transformation angle of the odometer during the right forward driving and right reverse driving are calculated according to the sum of the real-time angles sampled during the right forward driving and right reverse driving and the number of samples.
5. The method according to claim 4, characterized in that When the robot turns right, S3 includes: The angle compensation value sent and the angle compensation value fed back by the odometer during the robot's rightward and rightward driving are calculated based on the actual driving distance and actual transformation angle of the robot and the actual driving distance and actual transformation angle of the odometer.
6. An automatic odometer correction device, characterized in that: include: The motion control module is used to drive the robot to move through the steering wheel and obtain the driving information of the robot when it is driving at zero angle and turning; an actual operation value calculation module, configured to calculate, based on the driving information, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer when the robot is traveling at a zero angle and when traveling in a turn; A compensation value calculation module is used to calculate the feedback speed compensation value of the odometer, the issued angle compensation value, and the feedback angle compensation value based on the actual travel distance of the robot, the actual transformation angle of the robot, the actual travel distance of the odometer, and the actual transformation angle of the odometer; A correction module, configured to correct the odometer data during the robot's motion according to the odometer's feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value; When the robot is driven by the steering wheel to travel at a zero angle, the actual operation value calculation module is specifically used to: Issue movement instructions to the robot to control it to move forward and reverse respectively; According to the global coordinates and odometer coordinates of the starting point and the end point during the driving process, the actual driving distance of the robot, the actual transformation angle of the robot, the actual driving distance of the odometer, and the actual transformation angle of the odometer during the forward and reverse driving processes are calculated respectively; When the robot is driven by the steering wheel to travel at a zero angle, the compensation value calculation module is specifically used to: According to the horizontal and vertical distances between the center of the robot's steering wheel and the center of motion, the actual distance traveled and the actual transformation angle of the forward-driving robot, and the distance traveled and the actual transformation angle of the odometer, the feedback speed compensation value, the sent angle compensation value, and the feedback angle compensation value of the odometer when the robot is traveling at zero angle are calculated.
Citation Information
Patent Citations
Differential mobile robot milemeter calibration method
CN106289327A
Wheel spacing correction method for odometer calibration of double-wheel differential mobile robot
CN110530399A