A laser positioning and coordinated motion control method for differential wheeled robots
By establishing a two-wheel differential motion and odometer model in a right-hand coordinate system and optimizing encoder feedback and sensor data fusion, the motion error problem of the two-wheel differential drive robot when the load changes is solved, and precise control and high-precision measurement of the robot's motion are achieved.
Patent Information
- Application Number
- CN202211579070.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-08
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2042-12-08
AI Technical Summary
In the existing technology, the motion model of a two-wheel differential drive mobile robot fails to effectively consider the dynamic performance changes of the drive system, resulting in inaccurate robot motion state, especially speed control errors and yaw angle errors when the load changes.
A two-wheel differential motion model and odometer model based on the right-hand coordinate system are established. By accurately measuring the wheel spacing, increasing the angle sampling frequency and extending the measurement time, combined with encoder feedback, the motor speed control is optimized, the speed and odometer errors are reduced, and multi-sensor data fusion is used to improve the accuracy of track deduction.
It achieves accurate description and control of robot motion, reduces speed control error and yaw angle error, improves speed control and measurement accuracy, and enhances the stability and accuracy of robot motion.
Smart Images

Figure CN115857509B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of robot control, and in particular relates to a laser positioning and coordinated motion control method for a differential wheeled robot. Background Art
[0002] The embedded system of industrial robots is application-centric, based on computer technology, with customizable software and hardware. It is a special-purpose computer system suitable for application systems that have strict comprehensive requirements on functions, reliability, cost, size, power consumption, etc.
[0003] First, two-wheel differential-drive mobile robots are the most widely used type of mobile robot due to their simple structure and ease of control. Their motion model is a key component of mobile robot research. Research on two-wheel differential-drive mobile robots often overlooks dynamic factors, including the dynamic performance of the robot's underlying drive motors. However, in actual robotic systems, changes in the robot's payload, for example, can cause changes in the drive system's load, thereby affecting the drive system's dynamic response and altering the robot's motion state.
[0004] A two-wheel differential-drive mobile robot is a multi-input and multi-output control system. Its kinematic model has typical non-holonomic constraints. Each drive circuit often adopts a double closed-loop control system with nonlinear links inside. It is a nonlinear system with multiple nonlinear links. Nonlinear modeling methods must be used to establish the model. Therefore, establishing a two-wheel differential-drive mobile robot motion model that takes into account the dynamic behavior of the mobile robot is of great theoretical and practical significance for the accurate description and control of the robot motion. Summary of the Invention
[0005] The present invention provides a method for laser positioning and coordinated motion control of a differential wheeled robot, resolving or reducing robot motion errors. The method can reduce robot speed control errors and further reduce yaw errors in speed following control and odometer following control.
[0006] The object of the present invention is achieved through the following technical solutions:
[0007] A method for laser positioning and coordinated motion control of a differential wheeled robot comprises the following steps:
[0008] 1. Establish a two-wheel differential motion model: First, determine the right-hand coordinate system for speed and odometer calculations. Then, establish a motion model based on the position of the mobile robot at two adjacent moments. Finally, introduce the robot coordinate system to decompose the velocity to the two drive wheels.
[0009] 2. Establish a two-wheel differential odometer model: including trajectory deduction based on speed, establishing control error relationship equations, system error analysis, speed following control yaw angle error analysis, and odometer following control yaw angle error analysis;
[0010] 3. Odometer calculation: including initialization, odometer calculation, vehicle speed calculation and odometer data package upload;
[0011] 4. Speed decomposition: Obtain the linear velocity and angular velocity from the host computer, pass both values into SpeedSolution, and return a Speed structure containing the control speed values of the left and right motors.
[0012] Furthermore, a two-wheel differential motion model is established:
[0013] Based on the right-hand coordinate system, a motion model is established for the position of the mobile robot at two adjacent moments. is the angle of the robot moving around the arc at two adjacent moments, is the increment of the heading angles of the two wheels at adjacent moments, is the angle between the wheel's travel direction and the X-axis of the global coordinate system, and is also the change in the heading angle of the mobile machine at two adjacent moments. According to the geometric relationship, we can get , l is the distance between the left and right wheels, r is the radius of the robot's circular motion, d is the distance the right wheel travels more than the left wheel, ω is the robot's angular velocity, which is also the angular velocity of the left wheel and the angular velocity of the right wheel, v is the robot's speed, v l is the left wheel speed, v r is the right wheel speed;
[0014] The distance the left wheel moves forward in unit time dt is x l , the right wheel moves forward a distance of x r , assuming that dt is short enough, make the following approximation: ;
[0015] but: ;
[0016] The angular velocity ω is: ;
[0017] The speeds of the two wheels are: , ;
[0018] Introducing the robot coordinate system, the distance s traveled in the robot coordinate system is measured from the center point of the wheel axle: ;
[0019] The distance traveled by the left wheel is , ;
[0020] Then we can get the speed of the left wheel ;
[0021] Right wheel speed .
[0022] Furthermore, a two-wheel difference odometer model is established:
[0023] Assume that the moving speed in the robot coordinate system is v, the angular velocity is ω, and the time interval is dt; then the distance vdt traveled in the robot coordinate system is decomposed into the travel distances on the x-axis and y-axis in the world coordinate system as dx and dy respectively, and we have:
[0024] ;
[0025] ;
[0026] The rotation angle is: ;
[0027] The accumulated mileage over a period of time is:
[0028] ;
[0029] ;
[0030] ;
[0031] Assume that the car is at any initial position EF and after time t, it rotates through angle θ and reaches another position E. F , assuming t is small enough (differential thinking), we can assume that GF =F E = l, the curve displacement of the left driving wheel more than the right driving wheel is: ;
[0032] Right now: ;
[0033] Since the car can only move in two ways: linear motion and circular motion, assuming that the speed vr of the driving wheel is known, the angular velocity vl of the follower wheel can be derived as follows: ;
[0034] From the above analysis, we know that the motion of the differential wheeled robot is achieved by the speed difference between the two wheels, and the speed difference term e is: ;
[0035] The above summarizes the way to control the error as follows: the distance between the two wheels l : Accurately measure the distance between the two wheels to reduce errors; running angle : Increase the sampling frequency of the running angle; measure the timet : Try to extend the measurement time.
[0036] Further, system error analysis: Accurate control of motor speed mainly depends on encoder feedback, and the factors that determine the encoder's speed output accuracy include encoder line count, transmission ratio, drive wheel circumference, pulse acquisition time, etc. The same model of motor has the same encoder line count and transmission ratio. The more pulses the encoder outputs when the motor output shaft (drive wheel) rotates one circle and the smaller the drive wheel circumference, the higher the speed control accuracy.
[0037] Furthermore, suppose there is a motor encoder with 11 lines, 204 pulses per motor output shaft rotation, a drive wheel diameter of 95mm, and a transmission ratio RA of 18.5;
[0038] The motor's Hall encoder has AB phase feedback, with a phase difference of 1 / 4 cycle between phase A and phase B. For each revolution of the motor output shaft, the encoder's A and B phases each output 204 edges (rising and falling edges, number of pulses = number of encoder lines * transmission ratio, number of edges = 2 * number of pulses).
[0039] In the case of single-phase feedback, the distance from the falling edge of the previous pulse to the rising edge of the next pulse in the pulse feedback diagram corresponds to the rotation distance of the driving wheel: ;
[0040] Where A is the circumference of the driving wheel, and P is the sum of the number of rising and falling edges of the pulses emitted by the encoder phase A or phase B per rotation of the wheel;
[0041] When both phases are used, the rising and falling edges of the A-phase pulse and the B-phase pulse are collected respectively, corresponding to the rotation distance of the driving wheel. for: ;
[0042] In pulse processing, since the rising or falling edge of the pulse is generally counted, it is determined that only an integer number of pulses can be recorded. The rotation distance corresponding to the rotation distance of the driving wheel can only be an integer multiple of ε.
[0043] When measuring the speed, assuming that n pulses are recorded within the time t, the rotation speed V of the driving wheel is: ;
[0044] Similarly, if n+1 pulses are recorded within t time, then V for: ;
[0045] The error range between the speed measurement value and the actual speed value is: △V= =ε / tBecause when measuring the speed, we believe that the motor rotates at a constant speed within the time t, which requires t to be as small as possible to ensure that the speed is as close to uniform as possible. However, in order to improve the measurement accuracy, the time t needs to be as large as possible, so a trade-off needs to be made when choosing the sampling time.
[0046] Furthermore, when calculating mileage, assuming that the WMR has collected a total of m pulses from startup to the current moment, the mileage d that the driving wheel has rotated is: ;
[0047] The error range of mileage calculation is: , it can be seen that by reading the pulse to calculate the mileage, the error will not accumulate, the error ;
[0048] Analysis of yaw angle error of speed following control:
[0049] When the measured speeds of the two driving wheels are consistent, there is often an error in the actual speeds of the two wheels. Assume that the actual speed error of the two wheels is ,but , then the mileage difference between the two wheels in time t is: ;
[0050] The mileage difference between the two wheels accumulates over time ;
[0051] The WMR yaw angle can be obtained from the above formula: ;
[0052] It can be seen that under speed following control, the yaw angle accumulates over time;
[0053] Analysis of yaw angle error of odometer following control:
[0054] When the mileage of the two driving wheels is the same, there is often a difference in the actual mileage of the two wheels. Assume that the total mileage difference of the two wheels at any time is ,but ;
[0055] Then the yaw angle of WMR at any time is: ;
[0056] It can be seen that under mileage following control, the yaw angle error is always within a small range.
[0057] The beneficial effects of the present invention are as follows: the present invention designs the motion model, odometer measurement algorithm, speed control error model, and odometer error model of the embedded control part of the laser AGV mobile chassis, and designs the track deduction of the motor encoder data, thereby realizing the accurate description and control of the robot motion, reducing the robot speed control error, further reducing the speed following control yaw angle error and the odometer following control yaw angle error, improving the robot speed control and measurement accuracy, and having the value of popularization and application.
[0058] The aforementioned main solution of the present invention and its various alternatives may be freely combined to form multiple solutions, all of which are applicable and claimed by the present invention. Furthermore, the (non-conflicting) alternatives of the present invention may also be freely combined with each other and with other alternatives. After understanding the solutions of the present invention, those skilled in the art will readily appreciate, based on prior art and common knowledge, the various possible combinations, all of which are claimed by the present invention, and these are not exhaustive. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] Figure 1 It is a schematic diagram of a model of the present invention.
[0060] Figure 2 It is a schematic diagram of the error of the present invention.
[0061] Figure 3 This is the AB phase pulse acquisition diagram of the present invention.
[0062] Figure 4 It is a module schematic diagram of the present invention.
[0063] Figure 5 It is a schematic diagram of odometer information of the present invention.
[0064] Figure 6 It is a schematic diagram of the status information of the present invention.
[0065] Figure 7 It is a schematic diagram of host computer data information of the present invention. DETAILED DESCRIPTION
[0066] The following non-limiting examples illustrate the present invention.
[0067] Example 1:
[0068] A laser positioning and coordinated motion control method for a differential wheeled robot includes the following steps.
[0069] 1. Establish a two-wheel differential motion model: First, determine the speed and odometer measurements based on the right-hand coordinate system; then, establish a motion model based on the position of the mobile robot at two adjacent moments; finally, introduce the robot coordinate system to decompose the speed to the two drive wheels.
[0070] 2. Establish a two-wheel difference odometer model: including trajectory deduction based on speed, establishment of control error relationship equation, system error analysis, speed following control yaw angle error analysis and odometer following control yaw angle error analysis.
[0071] 3. Odometer calculation: including initialization, odometer calculation, vehicle speed calculation and odometer data package upload.
[0072] 4. Speed decomposition: Obtain the linear velocity and angular velocity from the host computer, pass both values into SpeedSolution, and return a Speed structure containing the control speed values of the left and right motors.
[0073] 1. Establish a two-wheel differential motion model:
[0074] The movement of the robot must be carried out in a certain coordinate system, and ROS (Robot Operating System) uses a right-handed coordinate system, so our embedded motion control and odometer measurement are all based on the right-handed coordinate system.
[0075] Make a fist with your right hand, with your thumb pointing to the Z axis, your index finger pointing to the X axis, and your middle finger pointing to the Y axis. For our robot moving in a plane, motion control is to control its movement in the XY axis plane of the world coordinate system. The Z axis direction can be regarded as stationary, that is, the linear velocity in the Z axis direction is always 0 during the movement. From the perspective of the robot coordinate system, the linear velocity in the Y axis direction is also 0, but the angular velocity is the opposite. The angular velocity in the Z axis direction is not 0, while the angular velocity in the XY axis direction is 0. Our speed and odometer measurements are all based on the right-hand coordinate system.
[0076] refer to Figure 1 As shown in, it is the position of the mobile robot at two adjacent moments, where, is the angle of the robot moving around the arc at two adjacent moments, is the increment of the heading angles of the two wheels at adjacent moments, is the angle between the wheel's travel direction and the X-axis of the global coordinate system, and is also the change in the heading angle of the mobile machine at two adjacent moments. According to the geometric relationship, we can get l is the distance between the left and right wheels, r is the radius of the robot's circular motion, d is the distance the right wheel travels more than the left wheel, ω is the robot's angular velocity, which is also the angular velocity of the left wheel and the angular velocity of the right wheel, v is the robot's speed, v l is the left wheel speed, v r is the right wheel speed.
[0077] The distance the left wheel moves forward in unit time dt is x l , the right wheel moves forward a distance of x r , assuming that dt is short enough, make the following approximation:
[0078] (1);
[0079] but:
[0080] (2);
[0081] The angular velocity ω is:
[0082] (3);
[0083] The speeds of the two wheels are:
[0084] (4);
[0085] (5);
[0086] Decomposing the speed to the two drive wheels:
[0087] The robot's speed refers to the speed between two adjacent control moments. This invention is based on high-frequency control, with a common control frequency >10 Hz. At such a high frequency, it is assumed that the arc traveled by the robot in such a short time is replaced by a straight line between two positions. Based on this assumption, the robot coordinate system is introduced. The distance s traveled in the robot coordinate system is measured from the center point of the wheel axle:
[0088] (6);
[0089] The distance traveled by the left wheel is:
[0090] (7);
[0091] (8);
[0092] Then we can get the speed of the left wheel:
[0093] (9);
[0094] Right wheel speed:
[0095] (10);
[0096] 2. Establish a two-wheel difference odometer model:
[0097] Assume that the moving speed in the robot coordinate system is v, the angular velocity is ω, and the time interval is dt; then the distance vdt traveled in the robot coordinate system is decomposed into the travel distances of the x-axis and y-axis in the world coordinate system respectively as d x and d y , then:
[0098] (11);
[0099] (12);
[0100] The rotation angle is:
[0101] (13);
[0102] Then the accumulated mileage within a period of time is
[0103] (14);
[0104] (15);
[0105] (16);
[0106] The above example uses linear and angular velocity to deduce the robot's trajectory under ideal conditions. However, in reality, robots do not always travel at the set control speed, and errors may occur. In these cases, trajectory deduction relies more on sensor data, such as lidar, depth camera, motor encoder, ultrasonic wave, gyroscope, and other sensors. Some robots use only one sensor, while advanced robots employ multiple sensor data fusion algorithms to improve trajectory deduction accuracy. Here, we introduce the most commonly used trajectory deduction method based on motor encoder data.
[0107] refer to Figure 2 As shown, assuming that the car is at any initial position EF, it will reach another position E after rotating through angle θ in time t. F , assuming t is small enough (differential thinking), we can assume that GF =F E = l, the curve displacement of the left driving wheel more than the right driving wheel is:
[0108] (17);
[0109] Right now:
[0110] (18);
[0111] Since the car can only move in two ways: linear motion and circular motion, assuming that the speed vr of the driving wheel is known, the angular velocity vl of the follower wheel can be derived as follows:
[0112] (19);
[0113] According to the analysis of formula (18), we can know that:
[0114] like ,but , at this time the moving chassis moves in a straight line;
[0115] like ,but , at this time the moving chassis turns right;
[0116] like ,but , at this time the moving chassis turns left;
[0117] From the above analysis, we know that the motion of the differential wheeled robot is achieved by the speed difference between the two wheels, and the speed difference term e is:
[0118] (20);
[0119] The above summarizes the ways to control errors as follows: The distance between the two wheels l: accurately measure the distance between the two wheels to reduce errors; the running angle : Increase the sampling frequency of the running angle; Measurement time t: Try to extend the measurement time.
[0120] System error analysis: Accurate control of motor speed mainly depends on encoder feedback. Factors that determine the encoder's speed output accuracy include the encoder line count, transmission ratio, drive wheel circumference, pulse acquisition time, etc. The same model of motor has the same encoder line count and transmission ratio. The more pulses the encoder outputs when the motor output shaft (drive wheel) rotates one circle and the smaller the drive wheel circumference, the higher the speed control accuracy.
[0121] Assume that a motor encoder has 11 lines, the number of pulses per rotation of the motor output shaft is 204, the drive wheel diameter is 95mm, and the transmission ratio RA is 18.5.
[0122] The motor's Hall encoder has AB phase feedback, with a phase difference of 1 / 4 cycle between phase A and phase B. For each revolution of the motor output shaft, the encoder's A and B phases each output 204 edges (rising and falling edges, pulse count = encoder line count * transmission ratio, edge count = 2 * pulse count). See the AB phase pulse acquisition diagram for reference. Figure 3 shown.
[0123] In the case of single-phase feedback, the distance from the falling edge of the previous pulse to the rising edge of the next pulse in the pulse feedback diagram corresponds to the rotation distance of the driving wheel:
[0124] (twenty one);
[0125] Where A is the circumference of the driving wheel, and P is the sum of the number of rising and falling edges of the pulses emitted by phase A or phase B of the encoder per rotation of the wheel.
[0126] When both phases are used, the rising and falling edges of the A-phase pulse and the B-phase pulse are collected respectively, corresponding to the rotation distance of the driving wheel. for:
[0127] (twenty two);
[0128] During pulse processing, since the rising or falling edge of the pulse is generally counted, only an integer number of pulses can be recorded. The calculated rotation distance corresponding to the rotation distance of the driving wheel can only be an integer multiple of ε.
[0129] When measuring the speed, assuming that n pulses are recorded within the time t, the rotation speed V of the driving wheel is:
[0130] (twenty three);
[0131] Similarly, if n+1 pulses are recorded within t time, then V for:
[0132] (twenty four);
[0133] The error range between the speed measurement value and the actual speed value is: △V = formula (24) - formula (23) = ε / t Because when measuring the speed, we believe that the motor rotates at a constant speed within the time t, which requires t to be as small as possible to ensure that the speed is as close to uniform as possible. However, in order to improve the measurement accuracy, the time t needs to be as large as possible, so a trade-off needs to be made when choosing the sampling time.
[0134] When calculating mileage, assuming that the WMR has collected a total of m pulses from the start to the current moment, the mileage d of the driving wheel is:
[0135] (25);
[0136] The error range of mileage calculation is: , it can be seen that by reading the pulse to calculate the mileage, the error will not accumulate, the error .
[0137] Analysis of yaw angle error of speed following control:
[0138] When the measured speeds of the two driving wheels are consistent, there is often an error in the actual speeds of the two wheels. Assume that the actual speed error of the two wheels is ,but:
[0139] (26);
[0140] ( t Small enough to think in timet The mileage difference between the two wheels in time t is:
[0141] (27).
[0142] The mileage difference between the two wheels accumulates over time
[0143] (28);
[0144] The WMR yaw angle can be obtained from the above formula:
[0145] (29);
[0146] It can be seen that under speed following control, the yaw angle accumulates over time.
[0147] Analysis of yaw angle error of odometer following control:
[0148] When the mileage of the two driving wheels is the same, there is often a difference in the actual mileage of the two wheels. Assume that the total mileage difference of the two wheels at any time is ,but:
[0149] (30);
[0150] Then the yaw angle of WMR at any time is:
[0151] (31);
[0152] It can be seen that under mileage following control, the yaw angle error is always within a small range.
[0153] The speed control error comes from the encoder acquisition error. Through analysis, it is known that reducing the running distance acquisition frequency will help reduce the speed estimation error, and increasing the number of encoder lines will also help improve the speed measurement accuracy. The speed measurement accuracy does not accumulate over time, while calculating mileage based on speed will cause the odometer to accumulate errors over time.
[0154] Odometer calculation steps:
[0155] (1) Initialization
[0156] Initialization can only be performed once, and the odometer is initialized to 0. The relevant code is as follows:
[0157] CalculateOdomInit(const float wheel_perimeter, const float wheelbase, const int lines, const float ratio, const int64_t init_pulse_left, constint64_t init_pulse_right)
[0158] (2) Calculate odometer
[0159] Obtain the left and right wheel pulse counts from the driver, input the obtained values into the CalculateOdom() function, and return the odometer value. The relevant code is as follows:
[0160] Odom CalculateOdom(int64_t pulse_left, int64_t pulse_right);
[0161] (3) Calculate vehicle speed
[0162] Get the left and right wheel speeds from the driver, input the obtained values into the CalculateVelocity() function, and return the speed value. The speed value is encapsulated in the Odom structure. The relevant code is as follows:
[0163] Odom CalculateVelocity(const int speed_left, const int speed_right)
[0164] (4) Upload odometer data package
[0165] After completing steps 2 and 3, the two data can be organized and transmitted to the host computer.
[0166] Speed decomposition steps:
[0167] Get the linear speed (linear) and angular speed (angular) from the host computer, pass both values into SpeedSolution(), and return the Speed structure, which contains the control speed values of the left and right motors.
[0168] Speed SpeedSolution(const float linear, const float angular);
[0169] Detailed design of navigation module and embedded interaction:
[0170] Functional requirements: Realize data interaction with the embedded layer, provide the upper-level system with an interface for controlling AGV motion, and publish the robot's speed and odometer information.
[0171] Functional design: This module uses RS232 serial communication mode. The baud rate is 115200, the data bits are 8, the stop bit is 1, and there is no parity bit.
[0172] Serial port module design Figure 4 As shown;
[0173] Data transmission protocol: embedded data is sent to the host computer odometer, status information and data information respectively as follows Figure 5 、 Figure 6 (Note: Charging status: 0 not charging, 1 charging, obstacle avoidance: 1 obstacle avoidance triggered) and Figure 7 shown.
[0174] The aforementioned basic examples and their further alternatives can be freely combined to form multiple embodiments, all of which are applicable and claimed embodiments of the present invention. In the scheme of the present invention, each alternative can be arbitrarily combined with any other basic examples and alternatives.
[0175] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A laser positioning and coordinated motion control method for a differential wheeled robot, characterized in that: The steps include:
1. Establish a two-wheel differential motion model: First, determine the right-hand coordinate system for speed and odometer calculations. Then, establish a motion model based on the position of the differential wheeled robot at two adjacent moments. Finally, introduce the robot coordinate system to decompose the velocity to the two drive wheels.
2. Establish a two-wheel differential odometer model: including trajectory deduction based on speed, establishing control error relationship equation, system error analysis, speed following control yaw angle error analysis and odometer following control yaw angle error analysis; 3. Odometer calculation: including initialization, odometer calculation, vehicle speed calculation and odometer data package upload; 4. Speed decomposition: Obtain the linear velocity and angular velocity from the host computer, pass both values into SpeedSolution, and return a Speed structure containing the control speed values of the left and right motors; The two-wheel difference odometer model is established as follows: Assume that the moving speed in the robot coordinate system is v, the angular velocity is ω, and the time interval is dt; then the distance vdt traveled in the robot coordinate system is decomposed into the travel distances of the x-axis and y-axis in the world coordinate system respectively as d x and d y , then: ; ; is the change in the heading angle of the differential wheeled robot at two adjacent moments; The radians of rotation are: ; Then the accumulated mileage over a period of time is: ; ; ; The differential wheeled robot is at any initial position and reaches another position after rotating through angle θ in time t. Assuming t is small enough, then ; Since the differential wheeled robot has only two motion modes: linear motion and circular motion, assuming that the speed of the right wheel is v r Given that the speed of the left wheel is v l It is deduced that: ; From the above analysis, we know that the motion of the differential wheeled robot is achieved by the speed difference between the two wheels, and the speed difference term e is: ; The above summarizes the way to control the error as follows: the distance between the two wheels l : Accurately measure the distance between the two wheels to reduce errors; running angle : Increase the sampling frequency of the running angle; measure the time t : Try to extend the measurement time.
2. The laser positioning and coordinated motion control method for a differential wheeled robot according to claim 1, characterized in that: Establish a two-wheel differential motion model: Based on the right-hand coordinate system, a motion model is established for the position of the differential wheeled robot at two adjacent moments. is the angle of the differential wheeled robot moving around the arc at two adjacent moments, is the increment of the heading angles of the two wheels at adjacent moments, is the angle between the wheel's travel direction and the world coordinate system's X-axis, and is also the change in the heading angle of the differential wheeled robot at two adjacent moments. According to the geometric relationship, we can get , l is the distance between the left and right wheels, r is the arc motion radius of the differential wheeled robot, d is the distance the right wheel travels more than the left wheel, ω is the angular velocity of the differential wheeled robot, which is also the angular velocity of the left wheel and the angular velocity of the right wheel, v is the speed of the differential wheeled robot, v l is the left wheel speed, v r is the right wheel speed; The distance the left wheel moves forward in unit time dt is x l , the right wheel moves forward a distance x r , assuming dt is short enough, make the following approximation: ; but: ; The angular velocity ω is: ; The speeds of the two wheels are: , ; Introducing the robot coordinate system, the distance s traveled in the robot coordinate system is measured from the center point of the wheel axle: ; The distance traveled by the left wheel is , ; Then we can get the speed of the left wheel ; Right wheel speed .
3. The laser positioning and coordinated motion control method for a differential wheeled robot according to claim 2, characterized in that: System error analysis: Accurate control of motor speed depends on encoder feedback. Factors that determine the encoder's speed output accuracy include: encoder line count, transmission ratio, drive wheel circumference, and pulse acquisition time. For motors of the same model with the same encoder line count and transmission ratio, the more pulses the encoder outputs when the motor output shaft rotates one circle and the smaller the drive wheel circumference, the higher the speed control accuracy.
4. The laser positioning and coordinated motion control method for a differential wheeled robot according to claim 3, characterized in that: The motor encoder has 11 lines, the motor output shaft has 204 pulses per revolution, the drive wheel diameter is 95mm, and the transmission ratio RA is 18.5; The motor's Hall encoder has AB phase feedback. Phase A and phase B have a phase difference of 1 / 4 cycle. For each rotation of the motor output shaft, the encoder phase A and phase B each output 204 edges, both rising and falling edges. The number of pulses = number of encoder lines * transmission ratio, and the number of edges = 2 * number of pulses. In the case of single-phase feedback, the distance from the falling edge of the previous pulse to the rising edge of the next pulse in the pulse feedback diagram corresponds to the rotation distance of the driving wheel: ; Where A is the circumference of the driving wheel, and P is the sum of the number of rising and falling edges of the pulses emitted by the encoder phase A or phase B per rotation of the wheel; When both phases are used, the rising and falling edges of the A-phase pulse and the B-phase pulse are collected respectively, corresponding to the rotation distance of the driving wheel. for: ; In pulse processing, since the rising or falling edge of the pulse is counted, it is determined that only an integer number of pulses can be recorded. The rotation distance calculated corresponding to the rotation distance of the driving wheel can only be an integer multiple of ε. When measuring the speed, assuming that n pulses are recorded within the time t, the rotation speed V of the driving wheel is: ; Similarly, if n+1 pulses are recorded within t time, then V for: ; The error range between the speed measurement value and the actual speed value is: △V= =ε / t .
5. The laser positioning and coordinated motion control method for a differential wheeled robot according to claim 4, characterized in that: When measuring mileage, assuming that the differential wheeled robot has collected m pulses from the start to the current moment, the mileage D of the driving wheel is: ; Mileage calculation error range ; Analysis of yaw angle error of speed following control: When the measured speeds of the two driving wheels are consistent, there is often an error in the actual speeds of the two wheels. Assume that the actual speed error of the two wheels is ,but , then the mileage difference between the two wheels in time t is: ; The mileage difference between the two wheels accumulates over time ; The yaw angle of the differential wheeled robot can be obtained from the above formula: ; It can be seen that under speed following control, the yaw angle accumulates over time; Analysis of yaw angle error of odometer following control: When the mileage of the two driving wheels is the same, there is often a difference in the actual mileage of the two wheels. Assume that the total mileage difference of the two wheels at any time is ,but ; Then the yaw angle of the differential wheeled robot at any time is: ; It can be seen that under mileage following control, the yaw angle error is always within a small range.
Citation Information
Patent Citations
Intelligent disinfection robot system
CN108664030A
Calibrating method of odometry error of 4-wheel car
KR1020110121129A