Vehicle body control method and four-wheel independent steering system
By adjusting the speed and steering angle of the four-wheel independent steering system in real time, the problem of four-wheel motion inconsistency caused by the driver's input information error is solved, and the stable and flexible movement of the robot in complex environments is achieved, and the robustness and reliability of the system are improved.
Patent Information
- Application Number
- CN202510620407.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-14
- Publication Date
- 2025-07-29
AI Technical Summary
In practical applications, the existing four-wheel independent steering system has poor coordination of the four-wheel motion and inconsistent rotation speed due to the error and hysteresis of the driver's input information, which affects the stability and coordination of the robot motion.
By obtaining the target motion parameters of the robot, combining the current motion mode, adjusting the speed and steering angle of each wheel in real time, using independent travel motors and steering motors to drive each wheel independently, each wheel can achieve precise steering and speed control, and switch working strategies in case of failure.
It improves the coordination and stability of robot movement, reduces wear, enhances maneuverability and flexibility in complex environments, avoids robot failure caused by single motor failure, and ensures operational safety and reliability.
Smart Images

Figure CN120382884A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of robot four-wheel independent steering systems. Specifically, it relates to a vehicle body control method and a four-wheel independent steering system. Background Technique
[0002] With the development of intelligent mobile robots, four-wheel independent steering technology has gradually become one of the important technologies to improve the mobility and flexibility of robots. Traditional vehicle body control algorithms mainly rely on two-axis or four-axis steering, while the four-wheel independent steering system can provide higher steering accuracy and greater movement flexibility by independently controlling the steering angle and rotation speed of each wheel. Especially in complex environments, it can achieve more precise movement trajectories.
[0003] In the actual application of existing four-wheel independent steering systems, in order to achieve the coordinated movement of the four wheels, precise control algorithms are required to calculate and allocate the steering angle and rotation speed of each wheel according to the information input by the driver, such as steering wheel angle information, movement mode information, etc. However, the information input by the driver may have large errors and lags, which may cause large errors in the results of the calculated steering angle and rotation speed when the control algorithm calculates based on the information input by the driver, resulting in problems such as poor four-wheel movement coordination and inconsistent rotation speeds in the four-wheel independent steering system. Summary of the Invention
[0004] In view of this, the purpose of this application is to provide a vehicle body control method and a four-wheel independent steering system, which can adjust the steering angle and rotation speed of the four wheels in real time according to the current movement mode of the robot, and ensure the coordination and stability of the robot's movement.
[0005] In the first aspect, an embodiment of this application provides a vehicle body control method. Each wheel of the robot is driven by a traveling motor and a steering motor. The method includes:
[0006] Obtain the target motion parameters set for the robot, where the target motion parameters include the target linear velocity and the target angular velocity;
[0007] According to the target motion parameters and in combination with the current movement mode of the robot, determine the target rotation speed of the traveling motor corresponding to each wheel and the target steering angle of the steering motor; wherein, the target rotation speed of the traveling motor has a positive correlation with the target linear velocity or the target rotation speed of the traveling motor has a positive correlation with the target angular velocity;
[0008] According to the target rotation speed of the traveling motor corresponding to each wheel and the target steering angle of the steering motor, adjust the rotation speed and steering angle of each wheel in real time.
[0009] In an alternative embodiment, the motion modes include a straight-line mode, a stationary turning mode, and an arc driving mode;
[0010] When the motion mode is the straight-line mode, determining the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target motion parameters and in combination with the current motion mode of the robot includes:
[0011] Determining the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target linear velocity and in combination with the current straight-line mode of the robot; wherein, the target rotational speed of the driving motor is determined according to the target linear velocity, the reduction ratio, and the wheel circumference, and the target steering angle of the steering motor is 0 degrees;
[0012] When the motion mode is the stationary turning mode, determining the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target motion parameters and in combination with the current motion mode of the robot includes:
[0013] Determining the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target angular velocity and in combination with the current stationary turning mode of the robot; wherein, the target rotational speed of the driving motor is determined according to the target angular velocity, the reduction ratio, the wheel circumference, and the rotation radius corresponding to the wheel, the rotation radius corresponding to the wheel is determined according to the front-to-back wheelbase and the left-to-right wheelbase of the robot, and the rotation radii corresponding to all wheels are the same, and the target steering angle of the steering motor is determined according to the front-to-back wheelbase and the left-to-right wheelbase of the robot;
[0014] When the motion mode is the arc driving mode, determining the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target motion parameters and in combination with the current motion mode of the robot includes:
[0015] Determining the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target angular velocity and the target linear velocity and in combination with the current arc driving mode of the robot; wherein, the target rotational speed of the driving motor is determined according to the target angular velocity, the reduction ratio, the wheel circumference, and the rotation radius corresponding to the wheel, the rotation radius corresponding to the wheel is determined according to the front-to-back wheelbase and the left-to-right wheelbase of the robot, and the rotation radii corresponding to the front wheels and the rear wheels on the same side are the same, and the rotation radii corresponding to the left wheel and the right wheel on different sides are different, and the target steering angle of the steering motor is determined according to the front-to-back wheelbase and the left-to-right wheelbase of the robot.
[0016] In an alternative embodiment, the rotational speed of each wheel is adjusted in real time through the following steps:
[0017] Determine the rotational speed change amount of each wheel according to the target rotational speed of the driving motor corresponding to each wheel and the currently obtained rotational speed of each wheel of the robot.
[0018] Determine the acceleration or deceleration of each wheel according to the rotational speed change amount of each wheel and the data adjustment frequency preset for the robot.
[0019] Adjust the rotational speed of each wheel in real time according to the determined acceleration or deceleration of each wheel.
[0020] In an alternative embodiment, the steering angle of each wheel is adjusted in real time through the following steps:
[0021] Determine the stroke change amount of each wheel according to the target steering angle of the steering motor corresponding to each wheel and the currently obtained steering angle of each wheel of the robot.
[0022] Establish the correlation between the stroke change amount and each motion stage of the wheel. Each motion stage of the wheel includes an acceleration stage, a constant-speed stage, and a deceleration stage.
[0023] According to the correlation between the stroke change amount and each motion stage of the wheel, the speed change relationship of each wheel in the acceleration stage and the deceleration stage, and the total time of the entire motion stage of the wheel, determine the acceleration of each wheel in the acceleration stage and the deceleration in the deceleration stage; wherein, the total time of the entire motion stage of the wheel is the sum of the acceleration time corresponding to the acceleration stage, the constant-speed time corresponding to the constant-speed stage, and the deceleration time corresponding to the deceleration stage.
[0024] Adjust the steering angle of each wheel in real time according to the determined acceleration of each wheel in the acceleration stage and the deceleration in the deceleration stage.
[0025] In an alternative embodiment, the method further includes:
[0026] When switching between the straight-line mode and the in-place turning mode, control the robot to perform mode switching according to the first switching strategy.
[0027] When switching between the straight-line mode and the arc driving mode or when switching between the in-place turning mode and the arc driving mode, control the robot to perform mode switching according to the second switching strategy.
[0028] Wherein, the first switching strategy indicates that the robot first stops the current motion mode and then enters the next motion mode, and the second switching strategy indicates that the robot gradually switches from the current motion mode to another motion mode.
[0029] In an alternative embodiment, the second switching strategy includes:
[0030] Determine a target rotation radius corresponding to the wheels of the robot according to the target linear velocity and the target angular velocity;
[0031] Adjust the radius change value of the target rotation radius to change the variable values of the target linear velocity and the target angular velocity, so that the robot gradually switches from the current motion mode to another motion mode; wherein, the radius change value is less than a preset radius change threshold.
[0032] In an alternative embodiment, the method further includes:
[0033] If a faulty motor is detected in the robot, turn off the faulty motor and control the remaining motors to work according to a specified working strategy; the faulty motor refers to at least one motor that fails among all the traveling motors and all the steering motors, and the remaining motors refer to all the traveling motors and all the steering motors except the faulty motor.
[0034] In an alternative embodiment, the specified working strategy includes:
[0035] Detect whether the faulty motor is a traveling motor or a steering motor;
[0036] If the faulty motor is a steering motor, lock the vehicle and give an alarm. If the faulty motor is a traveling motor, determine whether the faulty motor is a front motor or a rear motor;
[0037] If the faulty motor is a rear motor, control the robot to switch to the front-wheel drive mode. If the faulty motor is a front motor, control the robot to switch to the rear-wheel drive mode.
[0038] In an alternative embodiment, the method further includes:
[0039] If it is detected that the rotation speed of the traveling motor exceeds the preset rotation speed range, or the steering angle of the steering motor exceeds the preset angle range, or the wheel control fails, control the robot to automatically enter the safe driving mode.
[0040] In a second aspect, an embodiment of the present application further provides a four-wheel independent steering system, the system includes: four traveling motors, four steering motors and a main control board. The four traveling motors and the four steering motors are respectively connected to the main control board. The four traveling motors are used to control the four wheels to travel respectively, and the four steering motors are used to control the four wheels to steer respectively. The main control board is used to execute the vehicle body control method as described above.
[0041] An embodiment of the present application provides a vehicle body control method and a four-wheel independent steering system. The method includes: first, obtaining target motion parameters set for a robot, where the target motion parameters include a target linear velocity and a target angular velocity; then, based on the target motion parameters and in combination with the current motion mode of the robot, determining the target rotational speed of the traveling motor corresponding to each wheel and the target steering angle of the steering motor, where the target rotational speed of the traveling motor is positively correlated with the target linear velocity or the target rotational speed of the traveling motor is positively correlated with the target angular velocity; and finally, adjusting the rotational speed and the steering angle of each wheel in real time according to the target rotational speed of the traveling motor corresponding to each wheel and the target steering angle of the steering motor. According to the embodiment of the present application, based on the target motion parameters preset for the robot and in combination with the current motion mode of the robot, the target rotational speed of the traveling motor corresponding to each wheel and the target steering angle of the steering motor are determined to adjust the rotational speed and the steering angle of each wheel in real time, so that the coordination and stability of the robot's motion can be ensured.
[0042] To make the above objects, features, and advantages of the present application more obvious and understandable, the following specifically gives preferred embodiments and, in conjunction with the accompanying drawings, details are described as follows. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] To more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required to be used in the embodiments. It should be understood that the following drawings only show some embodiments of the present application, and therefore should not be regarded as limiting the scope. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.
[0044] Figure 1 A flowchart of a vehicle body control method provided by an embodiment of the present application;
[0045] Figure 2 A schematic diagram showing the robot in a straight-line mode;
[0046] Figure 3 A schematic diagram showing the robot in a stationary turning mode;
[0047] Figure 4 A schematic diagram showing the robot in an arc driving mode;
[0048] Figure 5 A schematic structural diagram of a robot provided by an embodiment of the present application;
[0049] Figure 6 A schematic structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0050] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only a part rather than all of the embodiments of this application. The components of the embodiments of this application usually described and illustrated in the accompanying drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely represents the selected embodiments of this application. Based on the embodiments of this application, every other embodiment obtained by those skilled in the art without creative efforts belongs to the scope of protection of this application.
[0051] First, the applicable application scenarios of this application will be introduced. This application can be applied to the technical field of a robot four-wheel independent steering system. In the actual application of the existing four-wheel independent steering system, in order to achieve the coordinated movement of the four wheels, precise control algorithms are required to calculate and allocate the steering angles and rotational speeds of each wheel according to the information input by the driver, such as the steering wheel angle information, motion mode information, etc. However, the information input by the driver may have large errors and lags, resulting in large errors in the calculated results of the steering angles and rotational speeds when the control algorithm calculates based on the information input by the driver, thereby causing problems such as poor four-wheel motion coordination and inconsistent rotational speeds in the four-wheel independent steering system.
[0052] Based on this, the embodiments of this application provide a vehicle body control method, which can ensure the coordination and stability of the robot's movement.
[0053] Specifically, this vehicle body control method is applied to a robot, and each wheel of the robot is driven by a traveling motor and a steering motor. That is to say, each wheel can be independently controlled for traveling and steering, enabling the robot to achieve various complex movements, such as in-place turning, arc driving, etc. The independent traveling motor and steering motor can, in actual application, achieve precise control of each wheel, thereby improving the positioning accuracy and handling performance of the robot; when a traveling motor or a steering motor of a certain wheel fails, the other wheels can still work normally, improving the reliability and fault tolerance of the robot.
[0054] Please refer to Figure 1 , Figure 1 which is a flowchart of a vehicle body control method provided by the embodiments of this application. As shown in Figure 1 , the method provided by the embodiments of this application includes:
[0055] S101. Obtain the target motion parameters set for the robot, where the target motion parameters include the target linear velocity and the target angular velocity;
[0056] S102. Determine the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target motion parameters and in combination with the current motion mode of the robot. Among them, the target rotational speed of the driving motor has a positive correlation with the target linear velocity or the target rotational speed of the driving motor has a positive correlation with the target angular velocity.
[0057] S103. Adjust the rotational speed and steering angle of each wheel in real time according to the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor.
[0058] In the above steps S101 to S103, according to the target motion parameters preset for the robot and in combination with the current motion mode of the robot, determine the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor, so as to adjust the rotational speed and steering angle of each wheel in real time. In this way, the coordination and stability of the robot's motion can be ensured.
[0059] The following is a detailed description of the above steps S101 to S103:
[0060] In step S101, obtain the target motion parameters set for the robot. The target motion parameters include the target linear velocity and the target angular velocity.
[0061] Here, the target linear velocity and the target angular velocity are the motion parameters preset for the robot, enabling the robot to move forward and turn according to the target linear velocity and the target angular velocity. Among them, the target linear velocity refers to the expected motion speed of the robot in the straight line direction, and the target angular velocity refers to the expected speed of the robot rotating around its own central axis or a specific point. The target linear velocity and the target angular velocity here are also the basic parameters for precisely controlling the robot's motion.
[0062] In step S102, determine the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target motion parameters and in combination with the current motion mode of the robot. Among them, the target rotational speed of the driving motor has a positive correlation with the target linear velocity or the target rotational speed of the driving motor has a positive correlation with the target angular velocity.
[0063] Here, the motion mode includes the straight-line mode, the in-place turning mode, and the arc driving mode. According to the specific manifestation form of the motion mode and the target motion parameters, the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor can be calculated.
[0064] When the motion mode is the straight-line mode, step S102 specifically includes:
[0065] Based on the target linear velocity and combined with the current straight-line mode of the robot, determine the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor; among them, the target rotational speed of the driving motor is determined according to the target linear velocity, reduction ratio, and wheel circumference, and the target steering angle of the steering motor is 0 degrees.
[0066] Here, when the motion mode is the straight-line mode, only the target linear velocity is required to calculate the target rotational speed of the driving motor, and the target steering angle of the steering motor is 0 degrees.
[0067] Exemplarily, as Figure 2 shown, Figure 2 shows a schematic diagram of the robot in the straight-line mode. Since the target rotational speeds of the left and right driving motors are the same but the directions are different, so r_m_rpm = -l_m_rpm, where r_m_rpm represents the target rotational speed of the right driving motor, and l_m_rpm represents the target rotational speed of the left driving motor. Specifically, the target rotational speed of the left driving motor is calculated by the following formula:
[0068]
[0069] where x represents the target linear velocity, ReductionRatio represents the reduction ratio, and WheelPerimeter represents the wheel circumference.
[0070] When the motion mode is the in-place turning mode, step S102 specifically includes:
[0071] Based on the target angular velocity and combined with the current in-place turning mode of the robot, determine the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor; among them, the target rotational speed of the driving motor is determined according to the target angular velocity, reduction ratio, wheel circumference, and the rotational radius corresponding to the wheel. The rotational radius corresponding to the wheel is determined according to the front and rear wheelbase and left and right wheel track of the robot, and the rotational radii corresponding to all wheels are the same. The target steering angle of the steering motor is determined according to the front and rear wheelbase and left and right wheel track of the robot.
[0072] Exemplarily, as Figure 3 shown, Figure 3 shows a schematic diagram of the robot in the in-place turning mode. For the driving motor, the target rotational speeds of each driving motor are the same and the directions are the same, so r_m_rpm = l_m_rpm, where r_m_rpm represents the target rotational speed of the right driving motor, and l_m_rpm represents the target rotational speed of the left driving motor. Specifically, the target rotational speeds of both the left and right driving motors are calculated by the following formula:
[0073]
[0074] Among them, z represents the target angular velocity, R represents the rotation radius corresponding to the wheel, ReductionRatio represents the reduction ratio, WheelPerimeter represents the wheel circumference, WheelTrack represents the left and right wheel track, and WheelSpan represents the front and rear wheelbase.
[0075] For the steering motors, the steering angles of the steering motors in the diagonally opposite directions are the same, and the steering angles of the steering motors in other directions are opposite. For example, the steering angle of the left front steering motor is the same as that of the right rear steering motor, and the steering angle of the right front steering motor is the same as that of the left rear steering motor.
[0076] Specifically, the steering angles of the left front steering motor, the right rear steering motor, the right front steering motor, and the left rear steering motor are calculated by the following formula:
[0077]
[0078] Among them, LF_angle represents the steering angle of the left front steering motor, RB_angle represents the steering angle of the right rear steering motor, RF_angle represents the steering angle of the right front steering motor, LB_angle represents the steering angle of the left rear steering motor, Radian represents the calculated steering angle, WheelSpan represents the front and rear wheelbase, and WheelTrack represents the left and right wheel track.
[0079] When the motion mode is the arc driving mode, step S102 specifically includes:
[0080] According to the target angular velocity and the target linear velocity, and in combination with the current arc driving mode of the robot, determine the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor; among them, the target rotational speed of the driving motor is determined according to the target angular velocity, the reduction ratio, the wheel circumference, and the rotation radius corresponding to the wheel, the rotation radius corresponding to the wheel is determined according to the front and rear wheelbase and the left and right wheel track of the robot, and the rotation radii corresponding to the front wheels and the rear wheels on the same side are the same, and the rotation radii corresponding to the left wheel and the right wheel on different sides are different, and the target steering angle of the steering motor is determined according to the front and rear wheelbase and the left and right wheel track of the robot.
[0081] Exemplarily, as Figure 4 shown Figure 4Shows a schematic diagram of the robot in an arc driving mode. For the traveling motors, the target speeds of the traveling motors on the left side of the robot are the same, and the target speeds of the traveling motors on the right side of the robot are the same. Specifically, the rotation radii corresponding to the front and rear wheels on the left side are the same, the rotation radii corresponding to the front and rear wheels on the right side are the same, and the rotation radii corresponding to the left and right wheels on both sides are different. Specifically, the target speed of the left traveling motor is calculated by the following formula:
[0082]
[0083] where R1 represents the rotation radius corresponding to the left wheel, z represents the target angular velocity, x represents the target linear velocity, ReductionRatio represents the reduction ratio, WheelPerimeter represents the circumference of the left wheel, WheelSpan represents the front and rear wheelbase, and WheelTrack represents the left and right wheel track.
[0084] The target speed of the right traveling motor is calculated by the following formula:
[0085]
[0086] where R2 represents the rotation radius corresponding to the right wheel, z represents the target angular velocity, x represents the target linear velocity, ReductionRatio represents the reduction ratio, WheelPerimeter represents the circumference of the right wheel, WheelSpan represents the front and rear wheelbase, and WheelTrack represents the left and right wheel track.
[0087] For the steering motors, the steering angles of the steering motors on the left side of the robot are the same, and the steering angles of the steering motors on the right side of the robot are the same. Specifically, the steering angles corresponding to the front and rear wheels on the left side are the same, the steering angles corresponding to the front and rear wheels on the right side are the same, and the steering angles corresponding to the left and right wheels on both sides are different.
[0088] Specifically, the steering angles of the left front steering motor and the left rear steering motor are calculated by the following formula:
[0089]
[0090]
[0091] Among them, LF_angle represents the steering angle of the left front steering motor, RB_angle represents the steering angle of the right rear steering motor, RF_angle represents the steering angle of the right front steering motor, LB_angle represents the steering angle of the left rear steering motor, Radian1 and Radian2 represent the calculated steering angles, WheelSpan represents the front-rear wheelbase, and WheelTrack represents the left-right wheel track.
[0092] In step S103, according to the target speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor, the speed and steering angle of each wheel are adjusted in real time.
[0093] Here, the target speed of the driving motor is determined as the speed of the wheel, and the target steering angle of the steering motor is determined as the steering angle of the wheel.
[0094] Optionally, step S103 specifically adjusts the speed of each wheel in real time through the following steps:
[0095] According to the target speed of the driving motor corresponding to each wheel and the current speed of each wheel of the robot obtained, determine the speed change amount of each wheel;
[0096] According to the speed change amount of each wheel and the data adjustment frequency preset for the robot, determine the acceleration or deceleration of each wheel;
[0097] According to the determined acceleration or deceleration of each wheel, adjust the speed of each wheel in real time.
[0098] Exemplarily, calculate the acceleration or deceleration of each wheel through the following steps:
[0099] △LF_rpm = CLF_rpm - SLF_rpm;
[0100] △RF_rpm = CRF_rpm - SRF_rpm;
[0101] △LB_rpm = CLB_rpm - SLB_rpm;
[0102] △RB_rpm = CRB_rpm - SRB_rpm;
[0103] LF_a = △LF_rpm / 60 / T;
[0104] RF_a = △RF_rpm / 60 / T;
[0105] LB_a = △LB_rpm / 60 / T;
[0106] RB_a = △RB_rpm / 60 / T;
[0107] Among them, △LF_rpm, △RF_rpm, △LB_rpm, and △RB_rpm respectively represent the rotational speed change amounts of the left front wheel, right front wheel, left rear wheel, and right rear wheel; CLF_rpm, CRF_rpm, CLB_rpm, and CRB_rpm represent the current rotational speeds of the left front wheel, right front wheel, left rear wheel, and right rear wheel; SLF_rpm, SRF_rpm, SLB_rpm, and SRB_rpm respectively represent the target rotational speeds of the left front wheel, right front wheel, left rear wheel, and right rear wheel; LF_a, RF_a, LB_a, and RB_a represent the acceleration or deceleration of the left front wheel, right front wheel, left rear wheel, and right rear wheel. The period is T, and the frequency f can be obtained by adjusting according to the data.
[0108] In the embodiment of the present application, according to the difference between the target rotational speed and the current rotational speed, the accelerations of the four wheels of the robot are adjusted in real time. Especially during the process of turning and not turning in place, it is necessary to coordinate the accelerations of each traveling motor to achieve the balance of the speeds of the inner and outer wheels during the turning process.
[0109] Optionally, step S103 specifically adjusts the steering angle of each wheel in real time through the following steps:
[0110] Determine the stroke change amount of each wheel according to the target steering angle of the steering motor corresponding to each wheel and the current steering angle of each wheel of the robot obtained;
[0111] Exemplarily, the stroke change amount of each wheel is calculated by the following formula:
[0112] △LF_count = (CLF_angle - SLF_angle) / 360 * Allcount;
[0113] △RF_count = (CRF_angle - SRF_angle) / 360 * Allcount;
[0114] △LB_count = (CLB_angle - SLB_angle) / 360 * Allcount;
[0115] △RB_count = (CRB_angle - SRB_angle) / 360 * Allcount;
[0116] Among them, △LF_count, △RF_count, △LB_count, and △RB_count respectively represent the travel change amounts of the left front wheel, right front wheel, left rear wheel, and right rear wheel; CLF_angle, CRF_angle, CLB_angle, and CRB_angle respectively represent the current steering angles of the left front wheel, right front wheel, left rear wheel, and right rear wheel; SLF_angle, SRF_angle, SLB_angle, and SRB_angle respectively represent the target steering angles of the left front wheel, right front wheel, left rear wheel, and right rear wheel, and Allcount represents the travel amount of the steering motor running one week.
[0117] Establish the correlation between the travel change amount and each motion stage of the wheel. Each motion stage of the wheel includes an acceleration stage, a constant speed stage, and a deceleration stage;
[0118] According to the correlation between the travel change amount and each motion stage of the wheel, the speed change relationship of each wheel in the acceleration stage and the deceleration stage, and the total time of the entire motion stage of the wheel, determine the acceleration of each wheel in the acceleration stage and the deceleration in the deceleration stage; among them, the total time of the entire motion stage of the wheel is the sum of the acceleration time corresponding to the acceleration stage, the constant speed time corresponding to the constant speed stage, and the deceleration time corresponding to the deceleration stage;
[0119] According to the acceleration of each wheel determined in the acceleration stage and the deceleration in the deceleration stage, adjust the steering angle of each wheel in real time.
[0120] Exemplarily, calculate the acceleration of each wheel in the acceleration stage and the deceleration in the deceleration stage through the following formula. Taking the left front wheel as an example:
[0121] △LF_count = 1 / 2 * a_LF * t1^2 + 1 / 2 * d_LF * t2^2 + v * t3;
[0122] v = a_LF * t1 = d_LF * t2;
[0123] T = t1 + t2 + t3;
[0124] It can be obtained that: △LF_count = v(1 / 2 * t1 + 1 / 2 * t2 + t3);
[0125] Wherein, v represents the maximum rotational speed of the steering motor, T represents the total time (i.e., the period) of the entire movement stage of the wheel, which can be calculated through the frequency f of the robot's adjusted data, t1 represents the acceleration time, t2 represents the deceleration time, and t3 represents the constant-speed time. At this time, only by limiting the acceleration time t1 and the deceleration time t2, a_LF and d_LF can be calculated. Among them, a_LF represents the acceleration of the left front wheel in the acceleration stage, and d_LF represents the deceleration of the left front wheel in the deceleration stage. Similarly, for the acceleration a_RF of the right front wheel in the acceleration stage, the acceleration a_LB of the left rear wheel in the acceleration stage, and the acceleration a_RB of the right rear wheel in the acceleration stage, as well as the deceleration d_RF of the right front wheel in the deceleration stage, the deceleration d_LB of the left rear wheel in the deceleration stage, and the deceleration d_RB of the right rear wheel in the deceleration stage, the calculation methods are similar to those of the acceleration a_LF of the left front wheel in the acceleration stage and the deceleration d_LF of the left front wheel in the deceleration stage, and will not be elaborated here.
[0126] According to the differences between the target position and the current position, the embodiments of the present application adjust the acceleration of each wheel of the robot in the acceleration stage and the deceleration in the deceleration stage in real time. Especially during the process of turning not in place, it is necessary to coordinate the positions of each steering motor to reduce the mutual forces between the four wheels and reduce the wheel grinding marks.
[0127] In related solutions, during the movement switching process, such as in-situ turning, arc driving, etc., the state transition of the robot is not smooth, which may cause wheel grinding or robot jitter phenomena, affecting the performance and lifespan of the robot. Based on this, the method provided by the embodiments of the present application further includes:
[0128] When switching between the straight-line mode and the in-situ turning mode, control the robot to perform mode switching according to the first switching strategy; wherein, the first switching strategy represents that the robot first stops the current movement mode and then enters the next movement mode.
[0129] When the embodiments of the present application switch between the straight-line mode and the in-situ turning mode, such as switching from the in-situ turning mode to the straight-line mode or from the straight-line mode to the in-situ turning mode, the first switching strategy is adopted here for switching. First, gradually stop the movement of the robot, and then perform subsequent actions, thereby avoiding the problem of uncoordinated vehicle body caused by sharp movement switching.
[0130] When switching between the straight-line mode and the arc driving mode or when switching between the in-situ turning mode and the arc driving mode, control the robot to perform mode switching according to the second switching strategy; wherein, the second switching strategy represents that the robot gradually switches from the current movement mode to another movement mode.
[0131] Here, when switching between the straight-line mode and the arc driving mode or when switching between the in-place turning mode and the arc driving mode, the second switching strategy is adopted for switching. At this time, dynamic transition is performed during mode switching without stopping the movement, which is more in line with the motion model of the robot.
[0132] Specifically, the second switching strategy includes:
[0133] Determine the target rotation radius corresponding to the robot wheels according to the target linear velocity and the target angular velocity;
[0134] Adjust the radius change value of the target rotation radius to change the variable values of the target linear velocity and the target angular velocity, so that the robot gradually switches from the current motion mode to another motion mode; wherein, the radius change value is less than a preset radius change threshold.
[0135] Here, during processes such as the robot turning, in-place turning, and arc driving, smoothly transitioning from the current motion mode to another motion mode can avoid motion incoordination and vehicle body jitter caused by sudden changes or sharp turns.
[0136] During the motion switching process, limit the radius change value of the target rotation radius, and change the variable values of the target linear velocity and the target angular velocity input to the robot through the target rotation radius, so that a single motion is delayed into multiple motions, thereby achieving a smooth transition of the motion.
[0137] In related solutions, the robot may encounter sudden situations such as motor failures and sensor failures during operation, resulting in a decline in system performance or complete out-of-control. Based on this, the method provided in the embodiments of the present application further includes:
[0138] If a faulty motor is detected in the robot, turn off the faulty motor and control the remaining motors to work according to the specified working strategy; the faulty motor refers to at least one motor that fails among all the traveling motors and all the steering motors, and the remaining motors refer to all the traveling motors and all the steering motors except the faulty motor.
[0139] Specifically, if a certain motor failure is detected, the system will automatically turn off the faulty motor without affecting the basic functions of the robot and adjust the working state of the remaining motors. For example, if the left front traveling motor fails, the motor will be deactivated, and the other three-wheel motors will be adjusted and the fault situation will be reported.
[0140] Here, the specified working strategy includes: detecting whether the faulty motor is a traveling motor or a steering motor; if the faulty motor is a steering motor, locking the vehicle and giving an alarm, and if the faulty motor is a traveling motor, determining whether the faulty motor is a front motor or a rear motor; if the faulty motor is a rear motor, controlling the robot to switch to the front-wheel drive mode, and if the faulty motor is a front motor, controlling the robot to switch to the rear-wheel drive mode.
[0141] In an alternative embodiment, the method provided by the embodiments of the present application further includes:
[0142] If it is detected that the rotational speed of the traveling motor exceeds the preset rotational speed range, or the steering angle of the steering motor exceeds the preset angle range, or the wheel control fails, then control the robot to automatically enter the safe driving mode.
[0143] Here, by monitoring key operating parameters and responding to abnormal situations to control the robot to enter the safe driving mode, the safety and reliability of the robot operation can be effectively improved, and the possibility of accidents can be reduced.
[0144] In addition, the embodiments of the present application can also, in abnormal situations such as sensor data loss or abnormal motor feedback, automatically switch the control algorithm to the standby control mode, use redundant sensor data or preset motion trajectories to ensure that the movement of the robot is not affected. When the system detects abnormal acceleration or steering control, immediately adjust the control strategy, such as reducing the output power or pausing the current movement, to avoid possible collisions or other dangerous situations.
[0145] The embodiments of the present application provide a sound exception handling mechanism, which helps to improve the robustness and reliability of the system.
[0146] In summary, the embodiments of the present application can ensure that the robot can achieve smooth, coordinated and efficient motion performance in a complex motion environment. Specifically, it includes: improving motion smoothness, avoiding impacts caused by inconsistent rotational speeds or steering angles, especially during the motion mode switching process (such as turning, in-place steering, etc.), and achieving smooth transition; by optimizing the coordinated motion of the four wheels, reducing wear caused by inconsistent rotational speeds or uncoordinated steering, and extending the service life of the robot; through independent control of the four wheels, the robot can perform precise operations in a narrow space, achieving higher mobility and flexibility; it can also avoid violent vibrations and unstable situations that may occur during the motion process, improving the stability of the robot in a complex environment; it can also avoid faults such as the robot running away, stopping or malfunctioning due to the damage of a single motor, greatly improving the operation stability of the robot.
[0147] Second aspect, the embodiment of the present application further provides a four-wheel independent steering system, which includes: four driving motors, four steering motors, and a main control board. The four driving motors and the four steering motors are respectively connected to the main control board. The four driving motors are used to control the driving of the four wheels respectively, the four steering motors are used to control the steering of the four wheels respectively, and the main control board is used to execute as Figure 1 the described vehicle body control method.
[0148] Here, since the principle of solving problems by the four-wheel independent steering system in the embodiment of the present application is similar to the above vehicle body control method in the embodiment of the present application, the repeated parts will not be elaborated here.
[0149] For example, as Figure 5 shown, the four-wheel independent steering system includes a main control board 501, four driving motors 502, and four steering motors 503. The main control board 501 is responsible for the overall control of the system, receives and processes the feedback data from the sensors, and outputs control signals; the steering motors 503 are used to control the steering angles of each wheel of the robot, and the four steering motors respectively control the steering of the four wheels; the driving motors 502 are used to control the rotation speed of the robot wheels, and the four driving motors respectively drive the driving of the four wheels to control the speed, acceleration, and variable acceleration of the robot.
[0150] The embodiment of the present application can ensure smooth and coordinated motion control through controllable precision adjustment in a complex dynamic environment, and ensure the safe and controllable operation of the robot.
[0151] Please refer to Figure 6 , Figure 6 which is a schematic structural diagram of an electronic device provided by the embodiment of the present application. As Figure 6 shown in, the electronic device 600 includes a processor 610, a memory 620, and a bus 630.
[0152] The memory 620 stores machine-readable instructions executable by the processor 610. When the electronic device 600 runs, the processor 610 communicates with the memory 620 through the bus 630. When the machine-readable instructions are executed by the processor 610, the steps of the vehicle body control method in the method embodiment as described above can be executed. The specific implementation manner can refer to the method embodiment and will not be elaborated here. Figure 1 shown.
[0153] The embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, the steps of the vehicle body control method in the method embodiment as described above can be executed. The specific implementation manner can refer to the method embodiment and will not be elaborated here. Figure 1 shown.
[0154] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0155] In several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical functional division, and there may be other division methods in actual implementation. For another example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some communication interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.
[0156] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0157] In addition, in each embodiment of the present application, the functional units can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
[0158] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile computer-readable storage medium executable by a processor. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art or a part of this technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.
[0159] Finally, it should be noted that the above-described embodiments are only specific implementation manners of the present application, used to illustrate the technical solutions of the present application, rather than limiting it. The protection scope of the present application is not limited thereto. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that any person skilled in the technical field can still modify the technical solutions described in the foregoing embodiments, or can easily think of changes, or perform equivalent replacements on some of the technical features; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be covered within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims
1. A vehicle body control method, characterized in that, Each wheel of the robot is driven by a driving motor and a steering motor, and the method includes: Obtaining target motion parameters set for the robot, where the target motion parameters include a target linear velocity and a target angular velocity; Determining a target rotation speed of the driving motor corresponding to each wheel and a target steering angle of the steering motor according to the target motion parameters and in combination with the current motion mode of the robot; wherein, the target rotation speed of the driving motor has a positive correlation with the target linear velocity or the target rotation speed of the driving motor has a positive correlation with the target angular velocity; Adjusting the rotation speed and the steering angle of each wheel in real time according to the target rotation speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor.
2. The method according to claim 1, characterized in that, The motion mode includes a straight-line mode, a stationary steering mode, and an arc driving mode; When the motion mode is the straight-line mode, the determining the target rotation speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target motion parameters and in combination with the current motion mode of the robot includes: Determining the target rotation speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target linear velocity and in combination with the current straight-line mode of the robot; wherein, the target rotation speed of the driving motor is determined according to the target linear velocity, the reduction ratio, and the wheel circumference, and the target steering angle of the steering motor is 0 degrees; When the motion mode is the stationary steering mode, the determining the target rotation speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target motion parameters and in combination with the current motion mode of the robot includes: Determining the target rotation speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target angular velocity and in combination with the current stationary steering mode of the robot; wherein, the target rotation speed of the driving motor is determined according to the target angular velocity, the reduction ratio, the wheel circumference, and the rotation radius corresponding to the wheel, the rotation radius corresponding to the wheel is determined according to the front and rear wheel axles and the left and right wheel gauges of the robot, and the rotation radii corresponding to all wheels are the same, and the target steering angle of the steering motor is determined according to the front and rear wheel axles and the left and right wheel gauges of the robot; When the motion mode is the arc driving mode, the determining the target rotation speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor according to the target motion parameters and in combination with the current motion mode of the robot includes: Based on the target angular velocity and the target linear velocity, and in combination with the current arc driving mode of the robot, determine the target rotational speed of the driving motor corresponding to each wheel and the target steering angle of the steering motor; wherein, the target rotational speed of the driving motor is determined according to the target angular velocity, the reduction ratio, the wheel circumference, and the rotational radius corresponding to the wheel, the rotational radius corresponding to the wheel is determined according to the front and rear wheelbases and the left and right wheel track widths of the robot, and the rotational radii corresponding to the front wheels and the rear wheels on the same side are the same, and the rotational radii corresponding to the left wheel and the right wheel on different sides are different, and the target steering angle of the steering motor is determined according to the front and rear wheelbases and the left and right wheel track widths of the robot.
3. The method according to claim 1, characterized in that, Adjust the rotational speed of each wheel in real time through the following steps: Determine the rotational speed change amount of each wheel according to the target rotational speed of the driving motor corresponding to each wheel and the currently obtained rotational speed of each wheel of the robot; Determine the acceleration or deceleration of each wheel according to the rotational speed change amount of each wheel and the data adjustment frequency preset for the robot; Adjust the rotational speed of each wheel in real time according to the determined acceleration or deceleration of each wheel.
4. The method according to claim 1, wherein Adjust the steering angle of each wheel in real time through the following steps: Determine the stroke change amount of each wheel according to the target steering angle of the steering motor corresponding to each wheel and the currently obtained steering angle of each wheel of the robot; Establish the correlation between the stroke change amount and each motion stage of the wheel, and each motion stage of the wheel includes an acceleration stage, a constant speed stage, and a deceleration stage; According to the correlation between the stroke change amount and each motion stage of the wheel, the speed change relationship of each wheel in the acceleration stage and the deceleration stage, and the total time of the entire motion stage of the wheel, determine the acceleration of each wheel in the acceleration stage and the deceleration of each wheel in the deceleration stage; wherein, the total time of the entire motion stage of the wheel is the sum of the acceleration time corresponding to the acceleration stage, the constant speed time corresponding to the constant speed stage, and the deceleration time corresponding to the deceleration stage; Adjust the steering angle of each wheel in real time according to the determined acceleration of each wheel in the acceleration stage and the deceleration of each wheel in the deceleration stage.
5. The method according to claim 2, wherein The method further includes: When switching between the straight-line mode and the in-place steering mode, control the robot to perform mode switching according to the first switching strategy; When switching between the straight-line mode and the arc driving mode or when switching between the in-place steering mode and the arc driving mode, control the robot to perform mode switching according to the second switching strategy; Wherein, the first switching strategy indicates that the robot first stops the current motion mode and then enters the next motion mode, and the second switching strategy indicates that the robot gradually switches from the current motion mode to another motion mode.
6. The method according to claim 5, wherein The second switching strategy includes: Determine the target rotational radius corresponding to the wheels of the robot according to the target linear velocity and the target angular velocity; Adjust the radius change value of the target rotation radius to change the variable values of the target linear velocity and the target angular velocity, so that the robot gradually switches from the current motion mode to another motion mode; wherein, the radius change value is less than a preset radius change threshold.
7. The method according to claim 1, wherein The method further includes: If a faulty motor of the robot is detected, turn off the faulty motor and control the remaining motors to work according to a specified working strategy; the faulty motor refers to at least one motor that fails among all the traveling motors and all the steering motors, and the remaining motors refer to all the traveling motors and all the steering motors except the faulty motor.
8. The method according to claim 7, wherein The specified working strategy includes: Detect whether the faulty motor is a traveling motor or a steering motor; If the faulty motor is a steering motor, lock the vehicle and alarm. If the faulty motor is a traveling motor, determine whether the faulty motor is a front motor or a rear motor; If the faulty motor is a rear motor, control the robot to switch to the front-wheel drive mode. If the faulty motor is a front motor, control the robot to switch to the rear-wheel drive mode.
9. The method according to claim 1, wherein The method further includes: If it is detected that the rotation speed of the traveling motor exceeds the preset rotation speed range, or the steering angle of the steering motor exceeds the preset angle range, or the wheel control fails, control the robot to automatically enter the safe driving mode.
10. A four-wheel independent steering system, characterized in that, The system includes: four traveling motors, four steering motors, and a main control board. The four traveling motors and the four steering motors are respectively connected to the main control board. The four traveling motors are used to control the four wheels to travel respectively, and the four steering motors are used to control the four wheels to steer respectively. The main control board is used to execute the vehicle body control method according to any one of claims 1 to 9 above.