Control Method and System for a Two-Wheel Drive and Independent Steering Motorcycle-Type Robot
By determining the current status of the robot and performing driving control according to the balance control model, the problem of stable control of motorcycle-type robots in cornering and low speed situations is solved, achieving better balance and stability.
Patent Information
- Application Number
- CN202210258989.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-16
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2042-03-16
AI Technical Summary
The prior art is difficult to achieve smooth control of motorcycle robots, especially at cornering and low speeds.
By determining the current state of the robot, putting down the auxiliary wheel if it is in a stationary state, determining the balance control model if it is in a driving state, and driving control is performed according to the model. Specifically, according to the robot's driving line speed and angular speed, the swing parameters of the front and rear wheels are adjusted to increase the tire lateral friction, and precise control of the driving line speed and angular speed is achieved through PID closed-loop control.
It realizes smooth control of motorcycle robots, improves turning radius and low-speed control effects, and ensures the balance and stability of the robot in various situations.
Smart Images

Figure CN114604233B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of robot automatic control, and particularly relates to a control method and system for a two-wheel drive independent steering motorcycle-type robot. Background Art
[0002] Currently, for self-balancing two-wheel robots for driverless applications, the main self-balancing control methods are the front-wheel steering method, the center-of-gravity adjustment method, the reaction torque method, and the gyroscopic torque control method. The front-wheel steering method is the most commonly used method and can achieve balance relying on its own structure, but usually has a large turning radius and poor control effect at low speeds. The self-balancing device of the center-of-gravity adjustment method has a simple structure, but requires adjustment of the position of the mass block and has a slow response. In the reaction torque method, the self-balancing device has a relatively simple structure and a fast response speed, but cannot withstand large impacts. The gyroscopic torque control method can resist large impacts, but the structure of the gyro component is complex and there are singularity problems.
[0003] Therefore, how to achieve stable control of the motorcycle-type robot is a technical problem that those skilled in the art need to solve currently. Summary of the Invention
[0004] The purpose of this application is to provide a control method for a two-wheel drive independent steering motorcycle-type robot, a control system for a two-wheel drive independent steering motorcycle-type robot, an electronic device, and a storage medium, which can achieve stable control of the motorcycle-type robot.
[0005] To solve the above technical problem, this application provides a control method for a two-wheel drive independent steering motorcycle-type robot. The robot includes a front wheel, a rear wheel, and an auxiliary wheel. The control method includes:
[0006] Determine the current state of the robot;
[0007] If the current state is a stationary state, lower the auxiliary wheel;
[0008] If the current state is a driving state, determine a balance control model and perform drive control on the robot according to the balance control model.
[0009] Optionally, if the current state is a driving state, it further includes:
[0010] Judge whether the linear speed of the robot's travel is less than a threshold;
[0011] If so, lower the auxiliary wheel, limit the body tilt angle of the robot, and adjust the swing parameters of the front wheel and the rear wheel to increase the lateral friction of the tires.
[0012] Optionally, if the balance control model is the first balance control model, driving and controlling the robot according to the balance control model includes:
[0013] Determining an expected front wheel self-angular velocity according to the expected driving linear velocity of the robot, and performing a self-angular velocity PID closed-loop control on the front wheel according to the expected front wheel self-angular velocity to obtain a front wheel driving torque output value so as to control the driving linear velocity of the robot;
[0014] Calculating a corresponding centripetal force according to the expected driving angular velocity and the expected driving linear velocity of the robot, obtaining a vehicle body gravity torque according to the centripetal force, determining an expected lateral tilt angle according to the vehicle body gravity torque, and adjusting the expected swing angle of the front wheel according to the expected lateral tilt angle so as to control the driving angular velocity of the robot;
[0015] Wherein, in the first balance control model, the expected swing angle of the rear wheel is 0, and the front wheel driving torque output value is equal to the rear wheel driving torque output value.
[0016] Optionally, if the balance control model is the second balance control model, driving and controlling the robot according to the balance control model includes:
[0017] Determining an expected front wheel self-angular velocity according to the expected driving linear velocity of the robot, and performing a self-angular velocity PID closed-loop control on the front wheel according to the expected front wheel self-angular velocity to obtain a front wheel driving torque output value so as to control the driving linear velocity of the robot;
[0018] Calculating a corresponding centripetal force and turning radius according to the expected driving angular velocity and the expected driving linear velocity of the robot, obtaining a vehicle body gravity torque according to the centripetal force, determining an expected lateral tilt angle according to the vehicle body gravity torque, and adjusting the expected swing angle of the rear wheel according to the expected lateral tilt angle and the turning radius so as to control the driving angular velocity of the robot;
[0019] Wherein, in the second balance control model, the expected swing angle of the rear wheel is equal to a first angle plus a second angle, the first angle is the expected swing angle determined according to the turning radius, the second angle is the product of the error value of the expected lateral tilt angle and a preset coefficient, and the front wheel driving torque output value is equal to the rear wheel driving torque output value.
[0020] Optionally, if the balance control model is the third balance control model, driving and controlling the robot according to the balance control model includes:
[0021] Determine the desired self-rotation angular velocity of the front wheels according to the desired linear travel speed of the robot, and perform self-rotation angular velocity PID closed-loop control on the front wheels according to the desired self-rotation angular velocity of the front wheels to obtain the output value of the front-wheel driving torque so as to control the linear travel speed of the robot;
[0022] Calculate the corresponding centripetal force and turning radius according to the desired angular travel speed and the desired linear travel speed of the robot, obtain the body gravity torque according to the centripetal force, determine the desired lateral tilt angle according to the body gravity torque, and adjust the desired swing angle of the rear wheels according to the desired lateral tilt angle and the turning radius so as to control the angular travel speed of the robot;
[0023] Among them, in the third balance control model, the desired swing angle of the front wheels is equal to the sum of a third angle and a fourth angle. The third angle is the desired swing angle determined according to the turning radius, and the fourth angle is the product of the error value of the desired lateral tilt angle and a preset coefficient. The output value of the front-wheel driving torque is equal to the output value of the rear-wheel driving torque.
[0024] Optionally, if the balance control model is the fourth balance control model, then driving and controlling the robot according to the balance control model includes:
[0025] Control the desired swing angles of the front wheels and the rear wheels to be equal, and control the output values of the front-wheel driving torque and the rear-wheel driving torque to be equal so as to control the linear travel speed and the angular travel speed of the robot;
[0026] Among them, the sum value of the longitudinal components of the output value of the front-wheel driving torque and the output value of the rear-wheel driving torque is calculated by a longitudinal motion control algorithm, and the sum value of the lateral components of the output value of the front-wheel driving torque and the output value of the rear-wheel driving torque is calculated by a lateral motion control algorithm.
[0027] Optionally, if the balance control model is the fifth balance control model, then driving and controlling the robot according to the balance control model includes:
[0028] Obtain the output value of the front-wheel driving torque, the output value of the rear-wheel driving torque, the desired swing angle of the front wheels, and the desired swing angle of the rear wheels according to the differences between the longitudinal torque components of the front and rear wheels, the lateral torque components of the front and rear wheels, and the sum value of the lateral torque components of the front and rear wheels;
[0029] Control the linear travel speed and the angular travel speed of the robot according to the output value of the front-wheel driving torque, the output value of the rear-wheel driving torque, the desired swing angle of the front wheels, and the desired swing angle of the rear wheels.
[0030] The present application also provides a control system for a two-wheel drive independent steering motorcycle-type robot. The robot includes a front wheel, a rear wheel, and an auxiliary wheel. The control system includes:
[0031] A state determination module, configured to determine the current state of the robot;
[0032] A stationary state control module, configured to lower the auxiliary wheel if the current state is a stationary state;
[0033] A driving state control module, configured to determine a balance control model if the current state is a driving state, and perform driving control on the robot according to the balance control model.
[0034] The present application also provides an electronic device, including a memory and a processor. A computer program is stored in the memory. When the processor calls the computer program in the memory, the steps of the control method for the two-wheel drive independent steering motorcycle-type robot described above are implemented.
[0035] The present application also provides a storage medium. Computer-executable instructions are stored in the storage medium. When the computer-executable instructions are loaded and executed by a processor, the steps of the control method for the two-wheel drive independent steering motorcycle-type robot described above are implemented.
[0036] The present application provides a control method for a two-wheel drive independent steering motorcycle-type robot. The robot includes a front wheel, a rear wheel, and an auxiliary wheel. The control method includes: determining the current state of the robot; if the current state is a stationary state, lowering the auxiliary wheel; if the current state is a driving state, determining a balance control model, and performing driving control on the robot according to the balance control model. After determining the current state of the robot, if the robot is in a stationary state, balance is maintained by lowering the auxiliary wheel. If the robot is in a driving state, the driving linear velocity and driving angular velocity of the robot are controlled according to the balance control model to maintain balance. It can be seen that the present application can achieve stable control of the motorcycle-type robot. The present application also provides a control system, a storage medium, and an electronic device for a two-wheel drive independent steering motorcycle-type robot, which have the above beneficial effects and will not be elaborated herein. Description of the Drawings
[0037] To more clearly illustrate the embodiments of the present application, the drawings required for the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0038] Figure 1Schematic diagram of a two-wheel drive independent steering motorcycle robot system provided by an embodiment of the present application;
[0039] Figure 2 Flowchart of a control method for a two-wheel drive independent steering motorcycle-type robot provided by an embodiment of the present application;
[0040] Figure 3 Omnidirectional control block diagram provided by an embodiment of the present application. Detailed implementation manners
[0041] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Apparently, the described embodiments are some, but not all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.
[0042] Please refer to Figure 1 , Figure 1 Schematic diagram of a two-wheel drive independent steering motorcycle robot system provided by an embodiment of the present application. The two-wheel drive independent steering motorcycle-type robot is an underactuated system, that is, the degree of freedom of the system is greater than the control quantity of the system. In this embodiment, the robot can be controlled to go straight and turn by driving and swinging the front and rear wheels. Figure 1 In, θ is the lateral tilt angle of the robot, G is the gravity of the robot, V is the linear velocity of the robot, ω is the angular velocity of the robot, M1 and M2 are the output torques of the front and rear wheels, θ1 and θ2 are the swing angles of the front and rear wheels, f11 and f12 are the forward and lateral frictional forces between the front wheel and the ground, and f21 and f22 are the forward and lateral frictional forces between the rear wheel and the ground.
[0043] Next, please refer to Figure 2 , Figure 2 Flowchart of a control method for a two-wheel drive independent steering motorcycle-type robot provided by an embodiment of the present application. The specific steps may include:
[0044] S101: Determine the current state of the robot;
[0045] Among them, the robot includes a front wheel, a rear wheel, and an auxiliary wheel. The robot can lift or lower the auxiliary wheel through a control device. When the auxiliary wheel is lowered, the distance between the auxiliary wheel and the ground becomes smaller, and when the auxiliary wheel is lifted, the distance between the auxiliary wheel and the ground becomes larger. As a feasible implementation manner, the distance of lowering the auxiliary wheel can be adjusted according to the application scenario.
[0046] S102: If the current state is a stationary state, lower the auxiliary wheel;
[0047] Among them, when the traveling speed of the robot is 0, it can be determined that the robot is in a stationary state. At this time, the auxiliary wheel can be lowered so that the auxiliary wheel, the front wheel and the rear wheel support the robot to maintain balance. As a feasible implementation, when it is determined that the robot is in a stationary state, the distance between the auxiliary wheel and the ground can be detected, and the auxiliary wheel can be lowered according to this distance so that the auxiliary wheel contacts the ground to help the robot not to topple.
[0048] S103: If the current state is the traveling state, determine the balance control model and perform drive control on the robot according to the balance control model.
[0049] Among them, when the traveling speed of the robot is not 0, it can be determined that the robot is in the traveling state. In this embodiment, the corresponding balance control model can be determined according to the traveling speed of the robot or the user's selection. According to the balance control model, parameters such as the expected front wheel self-rotation angular velocity, the front wheel swing angle, and the rear wheel swing angle of the robot can be changed to achieve drive control of the robot. The above drive control includes the control of the linear velocity of the robot's travel and can also include the control of the angular velocity of the robot's travel. There can be multiple balance control models in this embodiment. After selecting a certain balance control model for drive control, if a model switching instruction is received, a new balance control model can be selected for drive control.
[0050] The motorcycle-type robot provided in this embodiment includes a front wheel, a rear wheel and an auxiliary wheel. After determining the current state of the robot, if the robot is in a stationary state, balance is maintained by lowering the auxiliary wheel. If the robot is in the traveling state, drive control is performed on the robot according to the balance control model to maintain balance. Thus, it can be seen that this embodiment can achieve stable control of the motorcycle-type robot.
[0051] As for Figure 1For a further introduction of the corresponding embodiment, if the current state is the driving state, it is also possible to determine whether the linear driving speed of the robot is less than a threshold value; if so, lower the auxiliary wheels, limit the body tilt angle of the robot, and adjust the swing parameters of the front wheel and the rear wheel to increase the lateral tire friction force. In this embodiment, a correspondence between the linear driving speed and the height of the auxiliary wheels can be established, and the distance for lowering the auxiliary wheels can be determined based on this correspondence. Specifically, adjusting the swing parameters of the front wheel and the rear wheel can enable the robot to have a relatively fast swing angular velocity and swing angle, so as to better achieve balance control at low speeds. The linear driving speed refers to the speed of the robot in the current driving direction. When the linear driving speed of the robot is less than the threshold value, the auxiliary wheels on both sides can be lowered to prevent the robot from tipping over, and the lateral tilt angle of the robot can also be limited, that is, the desired lateral tilt angle needs to be limited, because the lower the speed, the smaller the lateral friction force (f12 and f22) exerted by the ground on the wheels when the wheels turn, and the smaller the contribution of the ground friction force to attitude control. At this time, the front and rear wheels need to swing at a faster speed and at a larger angle (θ1 and θ2) in order to output the desired lateral control force (the lateral components of f12 and f22). The front and rear wheels can each independently be equipped with a steering drive mechanism and a position feedback signal (such as an encoder), and the rotation angle and angular velocity can be precisely controlled.
[0052] If the balance control model is the first balance control model, the linear driving speed and the driving angular velocity of the robot can be controlled in the following manner: Determine the desired front wheel self-rotation angular velocity according to the desired linear driving speed of the robot, perform a self-rotation angular velocity PID closed-loop control on the front wheel according to the desired front wheel self-rotation angular velocity to obtain the output value of the front wheel driving torque for controlling the linear driving speed of the robot; Calculate the corresponding centripetal force according to the desired driving angular velocity and the desired linear driving speed of the robot, obtain the body gravity moment according to the centripetal force, determine the desired lateral tilt angle according to the body gravity moment, and adjust the desired swing angle of the front wheel according to the desired lateral tilt angle to control the driving angular velocity of the robot; wherein, in the first balance control model, the desired swing angle of the rear wheel is 0, and the output value of the front wheel driving torque is equal to the output value of the rear wheel driving torque.
[0053] The first balance control model refers to the bicycle motion configuration with front and rear drive + front-wheel steering. When the robot is running, the expected linear velocity V (expected forward velocity) of the robot can be converted into the expected angular velocity of the front wheel's self-rotation, and then the front wheel is controlled by a closed-loop PID control of the angular velocity of self-rotation to calculate the output value M1 of the driving torque of the front wheel. When the robot turns, it will be affected by the centripetal force and tilt outward (when turning left, the body will tilt to the right). In order to resist the centripetal force, the body needs to tilt in the turning direction (when turning left, the body tilts to the left), and use the gravitational torque to resist the centripetal force. The corresponding centripetal force is calculated from the expected linear velocity V and the expected angular velocity ω of the front wheel's self-rotation of the robot, and then the corresponding gravitational torque of the body can be obtained, and then the expected lateral tilt angle θ of the body can be obtained. Then, the expected lateral tilt angle of the robot is controlled by rotating the expected swing angle θ1 of the front wheel (PID closed-loop controller, input the expected lateral tilt angle, and output the expected swing angle of the front wheel); at this time, the expected swing angle θ2 of the rear wheel is always zero, and the output value M2 of the driving torque of the rear wheel is equal to the output value M1 of the driving torque of the front wheel.
[0054] If the balance control model is the second balance control model, the linear velocity and angular velocity of the robot's travel can be controlled in the following ways: Determine the expected angular velocity of the front wheel's self-rotation according to the expected linear velocity of the robot's travel, and perform a closed-loop PID control of the angular velocity of the front wheel's self-rotation according to the expected angular velocity of the front wheel's self-rotation to obtain the output value of the driving torque of the front wheel in order to control the linear velocity of the robot's travel; Calculate the corresponding centripetal force and turning radius according to the expected angular velocity of the robot's travel and the expected linear velocity of the robot's travel, obtain the gravitational torque of the body according to the centripetal force, determine the expected lateral tilt angle according to the gravitational torque of the body, and adjust the expected swing angle of the rear wheel according to the expected lateral tilt angle and the turning radius in order to control the angular velocity of the robot's travel. Among them, in the second balance control model, the expected swing angle of the rear wheel is equal to the first angle plus the second angle. The first angle is the expected swing angle determined according to the turning radius, and the second angle is the product of the error value of the expected lateral tilt angle and the preset coefficient. The output value of the driving torque of the front wheel is equal to the output value of the driving torque of the rear wheel. In the second balance control model, the control of the front wheel swing angle is the same as that of the first balance control model.
[0055] Based on the first balance control model, the second balance control model introduces the control of the expected swing angle θ2 of the rear wheel to enhance the control of the lateral tilt angle θ of the robot, improving the attitude control response and turning response. The control of the expected linear velocity V of the robot is the same as that of the first balance control model; the corresponding centripetal force and turning radius are calculated from the expected linear velocity V and the expected angular velocity ω of the robot; the corresponding body gravity moment can be obtained from the centripetal force, and then the expected lateral tilt angle θ of the body is obtained. Then, the lateral tilt angle θ of the robot is controlled by rotating the expected swing angle θ1 of the rear wheel (PID closed-loop controller, inputting the expected lateral tilt angle and outputting the expected swing angle of the front wheel); the expected swing angle θ2 of the rear wheel can be obtained from the turning radius 1 , the error value of the lateral tilt angle is multiplied by a fixed proportionality coefficient to obtain the expected swing angle θ2 of the rear wheel 2 , let the expected swing angle θ2 of the rear wheel be θ2 1 +θ2 2 . At this time, the output value M2 of the rear wheel driving torque is equal to the output value M1 of the front wheel driving torque. The second balance control model introduces the error feedback value of the lateral tilt angle into the expected swing angle of the rear wheel, improving the attitude control response and turning response. In this embodiment, by adding the steering control of the rear wheel, the response speed of the self-balancing control and the turning response speed are improved, and the turning radius is reduced
[0056] If the balance control model is the third balance control model, the linear velocity and angular velocity of the robot can be controlled in the following way: the expected angular velocity of the front wheel self-rotation is determined according to the expected linear velocity of the robot, and the front wheel is subjected to the angular velocity PID closed-loop control of the front wheel self-rotation according to the expected angular velocity of the front wheel self-rotation to obtain the output value of the front wheel driving torque so as to control the linear velocity of the robot; the corresponding centripetal force and turning radius are calculated according to the expected angular velocity of the robot and the expected linear velocity, the body gravity moment is obtained according to the centripetal force, the expected lateral tilt angle is determined according to the body gravity moment, and the expected swing angle of the rear wheel is adjusted according to the expected lateral tilt angle and the turning radius so as to control the angular velocity of the robot. Among them, in the third balance control model, the expected swing angle of the front wheel is equal to the third angle plus the fourth angle, the third angle is the expected swing angle determined according to the turning radius, the fourth angle is the product of the error value of the expected lateral tilt angle and the preset coefficient, and the output value of the front wheel driving torque is equal to the output value of the rear wheel driving torque. In the third balance control model, the control of the front wheel swing angle is the same as that of the first balance control model
[0057] The third balance control model is a deformation based on the second balance control model, which exchanges the control methods of the front-wheel and rear-wheel swing angles, and can reduce the sway of the front wheel and increase the sway of the rear wheel. The control of the desired driving linear velocity V of the robot is the same as that of the first balance control model; the corresponding centripetal force and turning radius are calculated from the desired driving linear velocity V and the desired driving angular velocity ω of the robot; the corresponding body gravity moment can be obtained from the centripetal force, and then the desired lateral tilt angle θ of the body is obtained. Then, the desired lateral tilt angle θ of the robot is controlled by rotating the desired swing angle θ2 of the rear wheel (PID closed-loop controller, inputting the desired lateral tilt angle and outputting the desired swing angle of the front wheel); the desired swing angle θ1 of the front wheel can be obtained from the turning radius. 1 , the error value of the lateral tilt angle is multiplied by a fixed proportionality coefficient to obtain the desired swing angle θ1 of the front wheel. 2 , let the desired swing angle θ1 of the front wheel be θ1 1 + θ1 2 . At this time, the output value M2 of the rear-wheel driving torque is equal to the output value M1 of the front-wheel driving torque.
[0058] If the balance control model is the fourth balance control model, the robot can be driven and controlled in the following way: control the desired swing angles of the front wheel and the rear wheel to be equal, and control the output values of the front-wheel driving torque and the rear-wheel driving torque to be equal, so as to control the driving linear velocity and the driving angular velocity of the robot; among them, the sum value of the longitudinal components of the output value of the front-wheel driving torque and the output value of the rear-wheel driving torque is calculated by the longitudinal motion control algorithm, and the sum value of the transverse components of the output value of the front-wheel driving torque and the output value of the rear-wheel driving torque is calculated by the transverse motion control algorithm. The sum value of the longitudinal components of the above-mentioned output value of the front-wheel driving torque and the output value of the rear-wheel driving torque is: the sum value of the longitudinal components of the output value of the front-wheel driving torque and the output value of the rear-wheel driving torque; the sum value of the transverse components of the output value of the front-wheel driving torque and the output value of the rear-wheel driving torque is: the sum value of the transverse components of the output value of the front-wheel driving torque and the output value of the rear-wheel driving torque.
[0059] The fourth balance control model is the steering limit control model, which only allows the robot to move longitudinally and laterally and does not allow steering motion. At this time, the desired swing angles of the front and rear wheels are always the same (θ1 = θ2), and the torque outputs are always the same (M1 = M2). The longitudinal component of the torque is calculated by the longitudinal motion control algorithm, and the lateral component of the torque is calculated by the lateral motion control algorithm. The lateral motion control algorithm uses the inverted pendulum type wheeled robot speed control model. Longitudinal motion control algorithm (PID closed-loop control): Convert the desired forward speed V of the robot into the angular velocity of the front wheel's self-rotation, and then perform PID closed-loop control on the angular velocity of the robot's self-rotation to calculate the longitudinal component of the driving torques of the front and rear wheels (M1cosθ1 + M2cosθ2); Inverted pendulum type wheeled robot speed control model (cascade PID closed-loop control): Obtain the lateral component of the driving torques of the front and rear wheels (M1sinθ1 + M2sinθ2), and calculate the desired swing angle θ1 of the front wheel and the desired swing angle θ2 of the rear wheel through the longitudinal and lateral components of the driving torques. The PID control used in the longitudinal motion control algorithm here controls the speed components of the front and rear wheels in the longitudinal direction of the vehicle body, rather than directly controlling the speed of the wheels; The cascade PID control algorithm used in the lateral motion control algorithm controls the lateral motion speed of the vehicle body, the tilt attitude angle of the vehicle body, and the angular velocity of the tilt attitude of the vehicle body.
[0060] If the balance control model is the fifth balance control model, the driving linear speed and driving angular speed of the robot can be controlled in the following way: Obtain the driving torque output value of the front wheel, the driving torque output value of the rear wheel, the desired swing angle of the front wheel, and the desired swing angle of the rear wheel according to the difference between the longitudinal torque components of the front and rear wheels, the sum of the lateral torque components of the front and rear wheels, and the sum value of the lateral torque components of the front and rear wheels; Control the driving linear speed and driving angular speed of the robot according to the driving torque output value of the front wheel, the driving torque output value of the rear wheel, the desired swing angle of the front wheel, and the desired swing angle of the rear wheel. The sum value of the above-mentioned lateral torque components of the front and rear wheels is: the sum value of the lateral torque component of the front wheel and the lateral torque component of the rear wheel.
[0061] The fifth balance control model is an omnidirectional motion control model. Based on the fourth balance control model, steering motion is added, and the robot can achieve longitudinal motion, lateral motion, and steering motion. Please refer to Figure 3 , Figure 3An omnidirectional control block diagram provided by an embodiment of the present application. The longitudinal speed PID closed-loop control algorithm calculates the sum value of the longitudinal torque components of the front and rear wheels. By evenly dividing the sum value between the front and rear wheels (i.e., evenly dividing between the two wheels), the longitudinal torque component values of the front and rear wheels can be obtained respectively. The torque required for lateral speed control needs to be balanced by the gravitational torque generated when the vehicle body tilts laterally. Otherwise, the vehicle body attitude will become unstable. Therefore, the lateral speed PID control algorithm will calculate the expected value θ1 of the lateral tilt angle. The steering speed PID control algorithm calculates the difference between the lateral torque components of the front and rear wheels. Because the vehicle body will be subjected to a centripetal force during steering and needs the vehicle body to tilt laterally to generate a balancing gravitational torque, the centripetal force, that is, the required gravitational torque, that is, the expected value θ2 of the lateral tilt angle of the vehicle body, can be calculated from the expected longitudinal linear speed and the expected steering angular speed. The expected value θ of the lateral tilt angle of the vehicle body = θ1 + θ2. The sum value of the lateral torque components of the front and rear wheels is obtained by the inverted pendulum type wheeled robot attitude angle control algorithm (angular velocity PID closed-loop + angular velocity PID closed-loop + gravitational torque compensation). According to the longitudinal torque components of the front and rear wheels, the difference between the lateral torque components of the front and rear wheels, and the sum value of the lateral torque components of the front and rear wheels, the torque output values M1 and M2 of the front and rear wheels and the expected values θ1 and θ2 of the swing angles of the front and rear wheels can be obtained. This embodiment provides an omnidirectional motion control model, realizing the decoupling of longitudinal motion, lateral motion, and steering motion, and can be independently controlled separately. Figure 3 In the omnidirectional control block diagram shown, the input quantities include the expected longitudinal linear speed Vx, the expected steering angular speed W, and the expected lateral linear speed Vy. The expected centripetal force K1, the difference between the lateral torques of the two wheels, the sum of the longitudinal torques of the two wheels, the expected lateral tilt angle, the expected lateral tilt angular speed, and the sum of the lateral torques of the two wheels can be obtained, and then the control of the left wheel torque, the left wheel swing angle, the right wheel torque, and the right wheel swing angle can be realized. This embodiment can also measure the actual parameters of the robot, such as: measuring the longitudinal linear speed, measuring the angular speed, measuring the lateral tilt angular speed, measuring the lateral tilt angle K, and measuring the lateral linear speed.
[0062] A control system for a two-wheel drive and independently steerable motorcycle-type robot provided by an embodiment of the present application. The robot includes a front wheel, a rear wheel, and an auxiliary wheel. The control system includes:
[0063] A state determination module for determining the current state of the robot;
[0064] A stationary state control module for lowering the auxiliary wheel if the current state is a stationary state;
[0065] A driving state control module for determining a balance control model if the current state is a driving state and drivingly controlling the robot according to the balance control model.
[0066] The motorcycle-type robot provided in this embodiment includes a front wheel, a rear wheel, and an auxiliary wheel. After determining the current state of the robot, if the robot is in a stationary state, the balance is maintained by lowering the auxiliary wheel. If the robot is in a driving state, the robot is driven and controlled according to the balance control model to maintain balance. Thus, this embodiment can achieve stable control of the motorcycle-type robot.
[0067] Furthermore, it further includes:
[0068] A low-speed control module, configured to, if the current state is a driving state, determine whether the driving linear velocity of the robot is less than a threshold; if so, lower the auxiliary wheel, limit the body tilt angle of the robot, and adjust the swing parameters of the front wheel and the rear wheel to increase the lateral tire friction force.
[0069] Furthermore, if the balance control model is the first balance control model, the driving state control module is configured to determine the expected self-rotation angular velocity of the front wheel according to the expected driving linear velocity of the robot, perform a self-rotation angular velocity PID closed-loop control on the front wheel according to the expected self-rotation angular velocity of the front wheel to obtain the output value of the front wheel driving torque for controlling the driving linear velocity of the robot; and is further configured to calculate the corresponding centripetal force according to the expected driving angular velocity and the expected driving linear velocity of the robot, obtain the body gravity torque according to the centripetal force, determine the expected lateral tilt angle according to the body gravity torque, and adjust the expected swing angle of the front wheel according to the expected lateral tilt angle to control the driving angular velocity of the robot; wherein, in the first balance control model, the expected swing angle of the rear wheel is 0, and the output value of the front wheel driving torque is equal to the output value of the rear wheel driving torque.
[0070] Furthermore, if the balance control model is the second balance control model, the driving state control module is configured to determine the expected self-rotation angular velocity of the front wheel according to the expected driving linear velocity of the robot, perform a self-rotation angular velocity PID closed-loop control on the front wheel according to the expected self-rotation angular velocity of the front wheel to obtain the output value of the front wheel driving torque for controlling the driving linear velocity of the robot; and is further configured to calculate the corresponding centripetal force and turning radius according to the expected driving angular velocity and the expected driving linear velocity of the robot, obtain the body gravity torque according to the centripetal force, determine the expected lateral tilt angle according to the body gravity torque, and adjust the expected swing angle of the rear wheel according to the expected lateral tilt angle and the turning radius to control the driving angular velocity of the robot; wherein, in the second balance control model, the expected swing angle of the rear wheel is equal to the first angle plus the second angle, the first angle is the expected swing angle determined according to the turning radius, the second angle is the product of the error value of the expected lateral tilt angle and a preset coefficient, and the output value of the front wheel driving torque is equal to the output value of the rear wheel driving torque.
[0071] Further, if the balance control model is the third balance control model, the driving state control module is configured to determine the desired front wheel self-angular velocity according to the desired driving linear velocity of the robot, perform a self-angular velocity PID closed-loop control on the front wheel according to the desired front wheel self-angular velocity to obtain the front wheel driving torque output value for controlling the driving linear velocity of the robot; and is further configured to calculate the corresponding centripetal force and turning radius according to the desired driving angular velocity and the desired driving linear velocity of the robot, obtain the body gravity torque according to the centripetal force, determine the desired lateral tilt angle according to the body gravity torque, and adjust the desired swing angle of the rear wheel according to the desired lateral tilt angle and the turning radius for controlling the driving angular velocity of the robot; wherein, in the third balance control model, the desired swing angle of the front wheel is equal to the sum of a third angle and a fourth angle, the third angle is the desired swing angle determined according to the turning radius, the fourth angle is the product of the error value of the desired lateral tilt angle and a preset coefficient, and the front wheel driving torque output value is equal to the rear wheel driving torque output value.
[0072] Further, if the balance control model is the fourth balance control model, the driving state control module is configured to control the desired swing angles of the front wheel and the rear wheel to be equal, and control the front wheel driving torque output value and the rear wheel driving torque output value to be equal for controlling the driving linear velocity and the driving angular velocity of the robot; wherein, the sum value of the longitudinal components of the front wheel driving torque output value and the rear wheel driving torque output value is calculated by a longitudinal motion control algorithm, and the sum value of the lateral components of the front wheel driving torque output value and the rear wheel driving torque output value is calculated by a lateral motion control algorithm.
[0073] Further, if the balance control model is the fifth balance control model, the driving state control module is configured to obtain the front wheel driving torque output value, the rear wheel driving torque output value, the desired swing angle of the front wheel and the desired swing angle of the rear wheel according to the differences between the longitudinal torque components and the lateral torque components of the front and rear wheels and the sum value of the lateral torque components of the front and rear wheels; and is further configured to control the driving linear velocity and the driving angular velocity of the robot according to the front wheel driving torque output value, the rear wheel driving torque output value, the desired swing angle of the front wheel and the desired swing angle of the rear wheel.
[0074] Since the embodiments of the system part correspond to the embodiments of the method part, please refer to the description of the embodiments of the method part for the embodiments of the system part, which will not be elaborated here for the time being.
[0075] The present application also provides a storage medium on which a computer program is stored. When the computer program is executed, the steps provided in the above embodiments can be implemented. The storage medium may include: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs.
[0076] The present application also provides an electronic device, which may include a memory and a processor. When the processor calls the computer program stored in the memory, the steps provided in the above embodiments can be implemented. Of course, the electronic device may also include various network interfaces, power supplies, and other components.
[0077] The various embodiments in the specification are described in a progressive manner. The key point of each embodiment is to illustrate the differences from other embodiments. For the same or similar parts among the various embodiments, reference can be made to each other. For the system disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple. For the relevant parts, reference can be made to the description of the method part. It should be noted that for those of ordinary skill in the art in the technical field of the present application, without departing from the principle of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.
[0078] It should also be noted that in this specification, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the existence of additional identical elements in the process, method, article or device comprising the element.
Claims
1. Control method for a two-wheel drive independent steering motorcycle-type robot, characterized in that, the robot includes a front wheel, a rear wheel and an auxiliary wheel, and the control method includes: Determine the current state of the robot; If the current state is a stationary state, lower the auxiliary wheel; If the current state is a driving state, determine a balance control model and perform drive control on the robot according to the balance control model; Wherein, if the balance control model is the first balance control model, performing drive control on the robot according to the balance control model includes: Determine the desired front wheel angular velocity according to the desired driving linear velocity of the robot, and perform a closed-loop control of the angular velocity PID of the front wheel according to the desired front wheel angular velocity to obtain the output value of the front wheel driving torque so as to control the driving linear velocity of the robot; Calculate the corresponding centripetal force according to the desired driving angular velocity and the desired driving linear velocity of the robot, obtain the body gravity moment according to the centripetal force, determine the desired lateral tilt angle according to the body gravity moment, and adjust the desired swing angle of the front wheel according to the desired lateral tilt angle so as to control the driving angular velocity of the robot; Wherein, in the first balance control model, the desired swing angle of the rear wheel is 0, and the output value of the front wheel driving torque is equal to the output value of the rear wheel driving torque.
2. The control method for a two-wheel drive independent steering motorcycle-type robot according to claim 1, characterized in that, if the current state is a driving state, it further includes: Judge whether the driving linear velocity of the robot is less than a threshold value; If so, lower the auxiliary wheel, limit the body tilt angle of the robot, and adjust the swing parameters of the front wheel and the rear wheel to increase the lateral friction of the tires.
3. The control method for a two-wheel drive independent steering motorcycle-type robot according to claim 1, characterized in that, if the balance control model is the second balance control model, performing drive control on the robot according to the balance control model includes: Determine the desired front wheel angular velocity according to the desired driving linear velocity of the robot, and perform a closed-loop control of the angular velocity PID of the front wheel according to the desired front wheel angular velocity to obtain the output value of the front wheel driving torque so as to control the driving linear velocity of the robot; Calculate the corresponding centripetal force and turning radius according to the desired driving angular velocity and the desired driving linear velocity of the robot, obtain the body gravity moment according to the centripetal force, determine the desired lateral tilt angle according to the body gravity moment, and adjust the desired swing angle of the rear wheel according to the desired lateral tilt angle and the turning radius so as to control the driving angular velocity of the robot; Wherein, in the second balance control model, the desired swing angle of the rear wheel is equal to the first angle plus the second angle, the first angle is the desired swing angle determined according to the turning radius, the second angle is the product of the error value of the desired lateral tilt angle and a preset coefficient, and the output value of the front wheel driving torque is equal to the output value of the rear wheel driving torque.
4. The control method of the two-wheel drive independent steering motorcycle-type robot according to claim 1, characterized in that, if the balance control model is the third balance control model, driving control of the robot is performed according to the balance control model, including: determining the desired front-wheel self-rotation angular velocity according to the desired traveling linear velocity of the robot, and performing a self-rotation angular velocity PID closed-loop control on the front wheels according to the desired front-wheel self-rotation angular velocity to obtain a front-wheel driving torque output value for controlling the traveling linear velocity of the robot; calculating the corresponding centripetal force and turning radius according to the desired traveling angular velocity and the desired traveling linear velocity of the robot, obtaining the body gravity moment according to the centripetal force, determining the desired lateral tilt angle according to the body gravity moment, and adjusting the desired swing angle of the rear wheels according to the desired lateral tilt angle and the turning radius to control the traveling angular velocity of the robot; wherein, in the third balance control model, the desired swing angle of the front wheels is equal to the sum of a third angle and a fourth angle, the third angle is the desired swing angle determined according to the turning radius, the fourth angle is the product of the error value of the desired lateral tilt angle and a preset coefficient, and the front-wheel driving torque output value is equal to the rear-wheel driving torque output value.
5. The control method of the two-wheel drive independent steering motorcycle-type robot according to claim 1, characterized in that, if the balance control model is the fourth balance control model, driving control of the robot is performed according to the balance control model, including: controlling the desired swing angles of the front wheels and the rear wheels to be equal, and controlling the front-wheel driving torque output value and the rear-wheel driving torque output value to be equal to control the traveling linear velocity and the traveling angular velocity of the robot; wherein, the sum value of the longitudinal components of the front-wheel driving torque output value and the rear-wheel driving torque output value is calculated by a longitudinal motion control algorithm, and the sum value of the lateral components of the front-wheel driving torque output value and the rear-wheel driving torque output value is calculated by a lateral motion control algorithm.
6. The control method of the two-wheel drive independent steering motorcycle-type robot according to claim 1, characterized in that, if the balance control model is the fifth balance control model, driving control of the robot is performed according to the balance control model, including: obtaining the front-wheel driving torque output value, the rear-wheel driving torque output value, the desired swing angle of the front wheels and the desired swing angle of the rear wheels according to the differences between the longitudinal torque components of the front and rear wheels and the lateral torque components of the front and rear wheels and the sum value of the lateral torque components of the front and rear wheels; controlling the traveling linear velocity and the traveling angular velocity of the robot according to the front-wheel driving torque output value, the rear-wheel driving torque output value, the desired swing angle of the front wheels and the desired swing angle of the rear wheels.
7. A control system of a two-wheel drive independent steering motorcycle-type robot, characterized in that, the robot includes front wheels, rear wheels and auxiliary wheels, and the control system includes: a state determination module for determining the current state of the robot; a stationary state control module for lowering the auxiliary wheels if the current state is a stationary state; A driving state control module, configured to determine a balance control model if the current state is a driving state, and perform drive control on the robot according to the balance control model; Wherein, if the balance control model is a first balance control model, the process of the driving state control module performing drive control on the robot according to the balance control model includes: Determining an expected front wheel self-rotation angular velocity according to the expected driving linear velocity of the robot, performing a self-rotation angular velocity PID closed-loop control on the front wheel according to the expected front wheel self-rotation angular velocity to obtain a front wheel driving torque output value for controlling the driving linear velocity of the robot; calculating a corresponding centripetal force according to the expected driving angular velocity and the expected driving linear velocity of the robot, obtaining a body gravity torque according to the centripetal force, determining an expected lateral tilt angle according to the body gravity torque, and adjusting the expected swing angle of the front wheel according to the expected lateral tilt angle for controlling the driving angular velocity of the robot; wherein, in the first balance control model, the expected swing angle of the rear wheel is 0, and the front wheel driving torque output value is equal to the rear wheel driving torque output value.
8. An electronic device, Characterized in that, It includes a memory and a processor. A computer program is stored in the memory. When the processor calls the computer program in the memory, the steps of the control method of the two-wheel drive independent steering motorcycle-type robot according to any one of claims 1 to 6 are implemented.
9. A storage medium, Characterized in that, Computer-executable instructions are stored in the storage medium. When the computer-executable instructions are loaded and executed by a processor, the steps of the control method of the two-wheel drive independent steering motorcycle-type robot according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Motorcycle with automatic lifting auxiliary wheel frames
CN102442367A
Piggyback-type AGV two wheel synchronization method based on PID control
CN105068543A