A motion control method, system, and storage medium based on a ball robot

CN118342509BActive Publication Date: 2026-06-30BEIHANG UNIV +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIHANG UNIV
Filing Date
2024-04-29
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

In existing technologies, the motion trajectory accuracy and stability of ball robots are relatively low, mainly due to the failure to fully consider the speed error caused by slippage, resulting in a large deviation between the robot's actual motion trajectory and the expected trajectory.

Method used

By comprehensively considering the actual trajectory, trajectory error, actual acceleration, slip error value, and preset outer loop sliding surface function and inner loop sliding mode function, accurate position control signal and torque control signal are generated, including the calculation formula of position control signal, generation of velocity signal, calculation of slip error value and calculation of torque control signal, and control law is designed using dual-loop sliding mode control method.

Benefits of technology

It achieves precise control over the ball robot's motion trajectory and speed, improves the accuracy and stability of the motion trajectory, can quickly adapt to parameter uncertainties and external disturbances, and enhances robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118342509B_ABST
    Figure CN118342509B_ABST
Patent Text Reader

Abstract

This invention discloses a motion control method, system, and storage medium for a ball robot. The invention acquires the actual trajectory of the ball robot in real time and obtains the corresponding trajectory error. A position control signal is generated based on the trajectory error and the outer loop sliding surface function. A current velocity signal is generated using the ball robot's actual acceleration, trajectory error, and position control signal. After obtaining the slip error value based on the trajectory error, the current torque control signal is calculated based on the velocity signal, slip error value, and a preset inner loop sliding mode function. Thus, the velocity of the ball robot is controlled through the torque control signal. This invention comprehensively considers multiple factors such as the actual trajectory, trajectory error, actual acceleration, slip error value, and preset outer loop sliding surface function and inner loop sliding mode function, enabling the generation of accurate position and torque control signals, thereby improving the accuracy and stability of the ball robot's motion trajectory.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of motion control technology for robots, and in particular to a motion control method, system, and storage medium for a ball robot. Background Technology

[0002] The most typical characteristic of a ball robot is that all its drive mechanisms and control systems are contained within a spherical shell. The robot's motion is generally achieved through principles such as center of mass shift or momentum conservation. The ball robot's motion trajectory mainly consists of two phases: first, the robot moves from an arbitrary initial state towards the sliding surface; second, the robot reaches the sliding surface and gradually stabilizes. Therefore, corresponding to these two phases of motion, the motion control of a ball robot often employs sliding mode control (SMC), a nonlinear control method. Its basic principle is to design a sliding surface that allows the ball robot to slide on, and at a sufficiently high speed, quickly bring the robot to the desired working area. Typically, the sliding surface consists of a linear combination of one or more state variables.

[0003] However, during robot movement, especially on complex or unstable ground, wheel slippage or skidding may occur. This slippage causes a deviation between the robot's actual trajectory and the expected trajectory. Current technologies for robot speed control only adjust the robot's speed based on preset trajectory and speed parameters, failing to adequately consider the speed error caused by slippage. This results in a significant discrepancy between the robot's speed and the expected speed. In other words, existing sliding mode control methods have low robustness to parameter uncertainties and external disturbances during actual robot movement, leading to low accuracy and stability of the ball robot's trajectory. Summary of the Invention

[0004] This invention provides a motion control method, system, and storage medium for a ball robot. By comprehensively considering multiple factors such as the actual trajectory, trajectory error, actual acceleration, slip error value, and preset outer loop sliding surface function and inner loop sliding mode function, it can generate precise position control signals and torque control signals, thereby achieving precise control of the ball robot's motion trajectory and speed. This effectively solves the problem in the prior art that the speed error caused by slip is not fully considered, resulting in low accuracy and stability of the ball robot's motion trajectory.

[0005] An embodiment of the present invention provides a motion control method based on a ball robot, comprising:

[0006] Based on the actual trajectory and the expected trajectory of the ball robot, the corresponding trajectory error is obtained. Based on the trajectory error and the preset outer ring sliding surface function, a position control signal for controlling the movement of the ball robot is generated.

[0007] Based on the actual trajectory, expected trajectory, trajectory error, and position control signal of the ball robot, generate the current velocity signal of the ball robot;

[0008] The slip error value is calculated based on the trajectory error and the preset correction dynamics formula;

[0009] A corresponding speed error signal is generated based on the speed signal and the desired speed signal. Then, the torque control signal of the ball robot is calculated based on the speed error signal, the slip error value and the preset inner loop sliding mode function.

[0010] The torque input torque of the ball robot's motor is controlled according to the torque control signal.

[0011] Preferably, the step of generating a position control signal for controlling the movement of the ball robot based on the trajectory error and a preset outer loop sliding surface function includes:

[0012] The position control signal used to control the movement of the ball robot is calculated according to the following formula:

[0013] ;

[0014] in, For the preset outer ring sliding surface function, The corresponding calculated value is the position control signal used to control the movement of the ball robot. For trajectory error, This is the derivative corresponding to the trajectory error. and For different gain matrices.

[0015] Preferably, generating the current velocity signal of the ball robot based on its current actual trajectory, desired trajectory, trajectory error, and position control signal includes:

[0016] Obtain the actual trajectory of the ball robot and perform a second derivative on the actual trajectory to obtain the second derivative function corresponding to the actual trajectory;

[0017] Obtain the desired trajectory of the ball robot, and perform a second derivative on the desired trajectory to obtain the second derivative function corresponding to the desired trajectory;

[0018] The current velocity signal of the ball robot is calculated using the following formula:

[0019] ;

[0020] in, This indicates the current speed signal of the ball robot. Let be the second derivative function corresponding to the desired trajectory. Let be the second derivative function corresponding to the actual trajectory. Let be the derivative function corresponding to the desired trajectory. The first coefficient gain matrix is ​​preset. This is the position control signal used to control the movement of the ball robot.

[0021] Preferably, the step of calculating the slip error value based on the trajectory error and a preset correction dynamics formula includes:

[0022] The modified dynamics formula is constructed based on the following formula:

[0023] ;

[0024] in, For generalized speed, For generalized coordinates, The inertia matrix, The matrix represents the Coriolis force and the centripetal force. For the input transformation matrix, The preset input torque, This represents the error term caused by the slip parameter;

[0025] Based on the trajectory error, a virtual input is generated:

[0026] ;

[0027] in, This is a virtual input. and For different gain matrices, For trajectory error;

[0028] The slip error value is used as an error term, and a calculation formula for the slip error value is generated based on the modified dynamics formula and the formula for virtual input:

[0029] ;

[0030] ;

[0031] in, This represents the currently calculated slip error value.

[0032] Preferably, before calculating the torque control signal of the ball robot, the method further includes:

[0033] The currently calculated slip error values ​​are weighted and summed according to the following formula to obtain the updated slip error value:

[0034] ;

[0035] in, This is the updated slip error value. This represents the number of updated slip error values. This is the slip error value from the last update.

[0036] Preferably, the step of calculating the torque control signal of the ball robot based on the speed error signal, the slip error value, and the preset inner loop sliding mode function includes:

[0037] The torque control signal of the ball robot is calculated using the following formula:

[0038] ;

[0039] ;

[0040] ;

[0041] For torque control signal, Let be the derivative function corresponding to the desired velocity signal. , and For different gain matrices, For speed error signal, For the desired speed signal, This is the current speed signal of the ball robot. This is the updated slip error value. The second coefficient gain matrix is ​​preset. This is the preset third gain coefficient matrix. The first coefficient gain matrix, the second coefficient gain matrix, and the third coefficient gain matrix are all different, which are preset inner loop sliding mode functions.

[0042] Based on the above method embodiments, the present invention provides corresponding system embodiments.

[0043] One embodiment of the present invention provides a motion control system based on a ball robot, including: a position controller, a slip observer, a speed controller, and a torque control module;

[0044] The position controller is used to obtain the corresponding trajectory error based on the actual trajectory and the expected trajectory of the ball robot, and to generate a position control signal for controlling the movement of the ball robot based on the trajectory error and the preset outer ring sliding surface function.

[0045] The position controller is also used to generate the current speed signal of the ball robot based on the actual trajectory, expected trajectory, trajectory error and position control signal corresponding to the ball robot.

[0046] The slip observer is used to calculate the slip error value based on the trajectory error and a preset correction dynamics formula;

[0047] The speed controller is used to generate a corresponding speed error signal based on the speed signal and the desired speed signal, and then calculate the torque control signal of the ball robot based on the speed error signal, the slip error value and the preset inner loop sliding mode function.

[0048] The torque control module is used to control the motor input torque of the ball robot according to the torque control signal.

[0049] Preferably, the position controller is used to generate a position control signal for controlling the movement of the ball robot based on the trajectory error and a preset outer loop sliding surface function, including:

[0050] The position controller is used to calculate the position control signal for controlling the movement of the ball robot according to the following formula:

[0051] ;

[0052] in, For the preset outer ring sliding surface function, The corresponding calculated value is the position control signal used to control the movement of the ball robot. For trajectory error, This is the derivative corresponding to the trajectory error. and For different gain matrices.

[0053] Preferably, the slip observer is used to calculate the slip error value based on the trajectory error and a preset correction dynamics formula, including:

[0054] The slip observer is used to construct the modified dynamics formula according to the following formula:

[0055] ;

[0056] in, For generalized speed, For generalized coordinates, The inertia matrix, The matrix represents the Coriolis force and the centripetal force. For the input transformation matrix, The preset input torque, This represents the error term caused by the slip parameter;

[0057] Based on the trajectory error, a virtual input is generated:

[0058] ;

[0059] in, This is a virtual input. and For different gain matrices, For trajectory error;

[0060] The slip error value is used as an error term, and a calculation formula for the slip error value is generated based on the modified dynamics formula and the formula for virtual input:

[0061] ;

[0062] ;

[0063] in, This represents the currently calculated slip error value.

[0064] Based on the above method embodiments, the present invention provides corresponding storage medium embodiments.

[0065] Another embodiment of the present invention provides a storage medium, the computer-readable storage medium including a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to execute the motion control method based on a ball robot described in the above-described embodiment of the invention.

[0066] The following benefits can be obtained by implementing the present invention:

[0067] This invention provides a motion control method, system, and storage medium for a ball robot. During the robot's movement, the invention acquires the actual trajectory of the ball robot in real time and compares it with the desired trajectory to obtain the corresponding trajectory error. The outer loop sliding surface function is a commonly used design tool in sliding mode control, which can dynamically adjust the control input based on the trajectory error to achieve precise trajectory tracking. Therefore, based on the trajectory error and the preset outer loop sliding surface function, this invention can generate a position control signal for controlling the ball robot's current motion trajectory. To further precisely control the ball robot's current speed, this invention first acquires the ball robot's current actual acceleration and generates the ball robot's current speed signal based on the actual acceleration, trajectory error, and position control signal. Furthermore, based on the observed trajectory, the calculated trajectory error, and a preset correction dynamics formula, a slip error value is calculated. After obtaining the slip error value... Subsequently, the present invention can generate a corresponding speed error signal based on the current speed signal and the desired speed signal of the ball robot. Finally, based on the speed error signal, the slip error value, and the preset inner loop sliding mode function, the current torque control signal of the ball robot is calculated. Thus, the speed control of the ball robot can be achieved through the torque control signal. The present invention can fully consider the speed error and slip error caused by the slip phenomenon when deriving the final torque control signal. Compared with the prior art, the present invention can generate accurate position control signals and torque control signals by comprehensively considering multiple factors such as actual trajectory, trajectory error, actual acceleration, slip error value, and preset outer loop sliding surface function and inner loop sliding mode function. This achieves precise control of the ball robot's motion trajectory and speed, and enables the ball robot to quickly adapt to changes caused by parameter uncertainty and external interference, thereby improving the accuracy and stability of the ball robot's motion trajectory. Attached Figure Description

[0068] Figure 1 This is a flowchart illustrating a motion control method based on a ball robot according to an embodiment of the present invention.

[0069] Figure 2 This is a schematic diagram of the motion control process of a ball robot provided in an embodiment of the present invention.

[0070] Figure 3 This is a schematic diagram of a motion control system based on a ball robot provided in an embodiment of the present invention. Detailed Implementation

[0071] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0072] like Figure 1 The diagram shown is a flowchart illustrating a motion control method for a ball robot according to an embodiment of the present invention. The motion control method for the ball robot includes:

[0073] Step S1: Obtain the corresponding trajectory error based on the actual trajectory and the desired trajectory of the ball robot. Based on the trajectory error and the preset outer ring sliding surface function, generate a position control signal for controlling the movement of the ball robot.

[0074] Step S2: Generate the current velocity signal of the ball robot based on the actual trajectory, expected trajectory, trajectory error, and position control signal of the ball robot.

[0075] Step S3: Calculate the slip error value based on the trajectory error and the preset correction dynamics formula;

[0076] Step S4: Generate a corresponding speed error signal based on the speed signal and the desired speed signal, and then calculate the torque control signal of the ball robot based on the speed error signal, the slip error value and the preset inner loop sliding mode function.

[0077] Step S5: Control the motor input torque of the ball robot according to the torque control signal.

[0078] The motion control method based on a ball robot of the present invention can be applied to the motion control system of a ball robot. The system mainly consists of a sliding observer, an inner loop velocity controller and an outer loop position controller. The present invention can use a dual-loop sliding mode control method to design the control law. The outer loop position controller realizes trajectory tracking and generates a velocity signal that can be sent to the inner loop, while the inner loop velocity controller can realize speed control through sliding mode.

[0079] In a preferred embodiment, such as Figure 2 As shown, the application principle of this invention is as follows: the position controller of the outer ring calculates the trajectory error between the actual trajectory detected in real time by the state sensor and the desired trajectory. In addition, this invention also introduces acceleration monitoring in the design of the outer ring sliding surface, so as to generate the current speed signal of the ball robot by using the actual acceleration, trajectory error and position control signal corresponding to the ball robot, and finally send the speed signal to the speed controller of the inner ring.

[0080] Meanwhile, the slip observer monitors the error caused by slip in real time. After being filtered by a filter, the error is transmitted to the inner loop speed controller. The inner loop speed controller can then calculate the ball robot's torque control signal based on the speed error signal, the slip error value, and the preset inner loop sliding mode function to obtain speed compensation, thereby achieving stable motion control of the robot.

[0081] For step S1, in a preferred embodiment, the present invention can monitor the actual trajectory of the robot in real time, and then, based on the trajectory expected by the robot, obtain the current trajectory error, and calculate the current position control signal based on the sliding surface function of the outer loop:

[0082] ;

[0083] in, For the preset outer ring sliding surface function, The corresponding calculated value is the position control signal used to control the movement of the ball robot. For trajectory error, This is the derivative corresponding to the trajectory error. and For different gain matrices.

[0084] It is understood that the main steps of the sliding mode control of the present invention include: sliding surface design, which designs a suitable sliding surface based on the mathematical model of the system and the control objective; and control law design, which designs a control law based on the definition of the sliding surface so that the system state slides on the sliding surface.

[0085] Typically, a control law consists of two parts: sliding surface control and sliding mode regulator. Sliding surface control is used to quickly bring the system state into the sliding mode, while the sliding mode regulator is used to keep the robot sliding on the sliding surface. This invention achieves precise trajectory tracking through the outer-loop sliding surface function, allowing the ball robot system state to slide along the sliding surface to reach the desired state point. Furthermore, this invention also implements the design of the inner-loop sliding mode function. Unlike the outer loop, the inner-loop sliding mode function is primarily used to track and regulate velocity to achieve sliding surface control. In sliding mode control, the inner-loop sliding mode function is usually closely related to the system's dynamic characteristics, used to adjust the sliding speed and direction of the system state on the sliding surface.

[0086] By designing the inner loop sliding mode function, it can be ensured that the ball robot's speed can quickly and stably approach the desired speed trajectory when sliding on the sliding surface. When the system speed deviates from the desired speed, the inner loop sliding mode regulator will take effect, correcting the speed deviation by adjusting the control input, so that the system speed returns to the desired trajectory. Therefore, the sliding mode control method of this invention can achieve precise tracking and adjustment of the ball robot's trajectory and speed through the synergistic effect of the outer and inner loops.

[0087] In a preferred embodiment, for step S2, the outer loop sliding surface function ensures that the system state can slide along the desired trajectory, while the inner loop sliding mode function guarantees the stability of the system speed and tracking performance. In the coordinated control of the outer and inner loops of this invention, to further precisely control the current speed of the ball robot, this invention also acquires the ball robot's current actual acceleration and generates the ball robot's current speed signal based on the actual acceleration, trajectory error, and the position control signal calculated in step 1. This current speed signal is then sent to the inner loop speed controller to achieve speed compensation and precise control.

[0088] Specifically, when generating the ball robot's current velocity signal based on the ball robot's current actual trajectory, desired trajectory, trajectory error, and position control signal, the process is as follows:

[0089] First, obtain the actual trajectory of the ball robot, and then perform a second derivative on the actual trajectory to obtain the second derivative function corresponding to the actual trajectory.

[0090] Based on the expected trajectory of the ball robot, the second derivative of the expected trajectory is obtained to obtain the second derivative function of the expected trajectory;

[0091] Based on the sliding surface function of the outer ring, the derivative function corresponding to the actual acceleration, and the derivative function corresponding to the desired acceleration, we can obtain:

[0092] ;

[0093] Then we have:

[0094] ;

[0095] Therefore, based on the above speed signal calculation formula, the current speed signal of the ball robot can be obtained according to the current actual acceleration, actual trajectory and position control signal, and the current speed signal can be sent to the speed controller in the inner loop.

[0096] in, This indicates the current speed signal of the ball robot. Let be the second derivative function corresponding to the desired trajectory. Let be the second derivative function corresponding to the actual trajectory. Let be the derivative function corresponding to the desired trajectory. The first coefficient gain matrix is ​​preset. This is the position control signal used to control the movement of the ball robot.

[0097] Therefore, by introducing the acquisition and calculation of acceleration signals into the design of the outer ring sliding surface, this invention allows for a deeper understanding and utilization of the dynamic characteristics of the ball robot. Since acceleration signals reflect the rate of change of an object's velocity, introducing acceleration information into trajectory tracking enables more accurate prediction and control of the object's motion state. When the object's velocity is about to change significantly, the control system can make advance adjustments through acceleration calculation and judgment, ensuring that the ball robot moves more accurately along the desired trajectory.

[0098] For step S3, in a preferred embodiment, in order to solve the problem of deviation between the robot's actual motion trajectory and the expected trajectory caused by slippage, the present invention designs a sliding observer to observe the error caused by slippage.

[0099] First, this invention uses d'Alembert's principle and the principle of virtual work to establish the multibody dynamics equations of the spherical robot. It can be understood that the spherical robot consists of a spherical shell and an internal driving platform, and the angular velocities of the spherical shell and the internal motion platform in the coordinate system are chosen as generalized velocities. That is, the angular velocities of the spherical shell and the motion platform are... Angular acceleration is The velocity of the center of mass is and the acceleration of the center of mass is ;

[0100] Due to the generalized active force of each generalized velocity and generalized inertial force If the sum is zero, then we have:

[0101] ;

[0102] From this, we can obtain the system's dynamic equations, and the generalized driving force is:

[0103] ;

[0104] in and These are the principal vector and principal moment of the forces acting on a rigid body. The principal vector... It is gravity, the force of motion. It is the torque generated by the servo motor. and If the deflection velocity and deflection angular velocity correspond to each generalized velocity, then the generalized inertial force is:

[0105] ;

[0106] ;

[0107] in, and These are the principal vector and principal moment of inertial force. It's about the quality of each component. Since the inertia matrix is ​​that of a rigid body, combining the equations above, the dynamic equations of the system can be obtained as follows:

[0108] ;

[0109] in For generalized speed, For generalized coordinates, The inertia matrix, The matrix represents the Coriolis force and the centripetal force. For the input transformation matrix, This is the preset input torque.

[0110] When an appropriate observer gain is selected and the robot's reference trajectory is given, the observation error of the sliding parameter can quickly converge to 0, thus obtaining the error term caused by the sliding parameter. The disturbance caused by the sliding is then introduced into the system's dynamic equations as an error term caused by the sliding parameter. Therefore, the corrected dynamic formula can be derived as follows:

[0111] ;

[0112] in, This represents the error term caused by the slip parameter.

[0113] Furthermore, the present invention can generate a virtual input based on the trajectory error, which can then map the above equation to:

[0114] ;

[0115] The virtual input constructed using trajectory errors Specifically:

[0116] ;

[0117] in, and For different gain matrices, For trajectory error, , Represents the actual trajectory. If we represent the desired trajectory, then the sliding mode observer can be designed as follows:

[0118] ;

[0119] The slip error value is then used as an error term, and a calculation formula for the slip error value is generated based on the modified dynamics formula and the virtual input formula:

[0120] ;

[0121] in, This represents the currently calculated slip error value.

[0122] Therefore, based on the pre-established modified dynamic formula and the virtual input generated based on the trajectory error, the present invention can obtain the calculation formula for the slip error value. The present invention can solve for the current slip error value by observing the trajectory and the trajectory error, and then transmit the slip error value to the speed controller to obtain speed compensation and thus realize speed adjustment.

[0123] In a preferred embodiment, before transmitting the slip error value to the speed controller, i.e., before calculating the torque control signal of the ball robot, the estimation of the slip-induced error still has uncertainty. To further accurately obtain the estimated slip error value, this invention also introduces a recursive mean filter, which can be used to weight and sum the currently calculated slip error value according to the following formula to obtain the updated slip error value:

[0124] ;

[0125] in, This is the updated slip error value. This represents the number of updated slip error values. This is the slip error value from the last update.

[0126] Therefore, by calculating the slip error value in real time, this invention can accurately understand the difference between the current trajectory and the desired trajectory, thereby enabling the speed controller to make targeted adjustments to reduce deviations in the trajectory tracking process and allowing the ball robot to move more accurately along the desired trajectory.

[0127] When external disturbances or system uncertainties exist, calculating the slip error value can help the system identify and respond to these changes in a timely manner. Furthermore, through speed compensation, the system can quickly adjust its state to maintain trajectory tracking stability, thereby enhancing the system's robustness. This invention further implements a recursive averaging filter to smooth the input signal, reducing the impact of noise on the slip error value. During real-time trajectory tracking, noise in sensor data or calculations can cause fluctuations in the slip error value, affecting the accuracy of speed control. Filtering the slip error value using a recursive averaging filter effectively reduces noise interference and improves trajectory tracking stability.

[0128] The speed adjustment based on the calculation and monitoring of slip error value in this invention can make the control strategy more flexible and efficient. It can dynamically adjust the output of the speed controller according to different trajectory error conditions to achieve better control performance.

[0129] For step S4, in a preferred embodiment, calculating the torque control signal of the ball robot based on the speed error signal, the slip error value, and the preset inner loop sliding mode function includes:

[0130] The torque control signal of the ball robot is calculated using the following formula:

[0131] ;

[0132] ;

[0133] ;

[0134] For torque control signal, Let be the derivative function corresponding to the desired velocity signal. , and For different gain matrices, For speed error signal, For the desired speed signal, This is the current speed signal of the ball robot. This is the updated slip error value. The second coefficient gain matrix is ​​preset. This is the preset third gain coefficient matrix. The first coefficient gain matrix, the second coefficient gain matrix, and the third coefficient gain matrix are all different, which are preset inner loop sliding mode functions.

[0135] Understandably, this invention uses an integral sliding surface to design the sliding function of the inner loop. That is:

[0136] ;

[0137] in, It's a speed error. If we consider the desired speed, we can further obtain:

[0138] ;

[0139] Extracting the torque from the above formula, the desired torque control signal can be calculated using the following formula:

[0140] ;

[0141] Understandable, and Both are gain coefficient matrices. To reduce chattering in the inner loop sliding mode, this invention also employs relay characteristics for continuity, meaning the sign function sgn in the above equation can be replaced with:

[0142] ;

[0143] in, If the value is a very small constant, then this invention can achieve continuous processing of the sliding mode function of the inner loop through relay characteristics after obtaining the value of the sliding mode function of the inner loop, so that the output of the sliding mode function of the inner loop no longer undergoes abrupt changes when it approaches zero, so as to achieve a smoother transition.

[0144] Substituting the estimated slip error compensation into the equation, the desired torque control signal is obtained as follows:

[0145] ;

[0146] in, The torque control signal is used to complete the design of the entire speed controller of this invention. However, in practical applications, using the sign function `sgn` for calculations in sliding mode control can lead to problems such as jitter. Specifically, the sign function `sgn`, also known as the sign function, is widely used in mathematics, primarily to return the sign of a number. Its definition is as follows:

[0147] If x > 0, then sgn(x) = 1;

[0148] If x=0, then sgn(x)=0;

[0149] If x < 0, then sgn(x) = -1.

[0150] However, the switching characteristics of the sign function sgn may have the following problems: when the input variable x changes slightly near the zero value, the output of the sign function will suddenly jump from -1 to 1 (or from 1 to -1). This discontinuous change will lead to the so-called "jitter" problem. In sliding mode control, this jitter will be detrimental to the stability and control accuracy of the system.

[0151] To address this issue, this invention introduces a relay characteristic to perform continuous processing on the symbol function. The purpose of continuous processing is to prevent the output of the symbol function from abruptly changing as x approaches zero, instead allowing for a smoother transition. Specifically, through the relay characteristic, a small interval can be defined near x=0. Within this interval, the output of the symbol function is no longer fixed at -1 or 1, but rather transitions smoothly as x changes.

[0152] The continuous processing of this invention can reduce jitter in sliding mode control, make the switching characteristics smoother, help the speed controller converge, and improve the stability and control accuracy of the ball robot.

[0153] For step S5, in a preferred embodiment, the present invention can control the motor input torque of the ball robot according to the currently generated torque control signal, such as... Figure 2 As shown, the present invention can send a torque control signal to the ball robot dynamics system through a speed controller to adjust the input torque of the ball robot, thereby adjusting the ball robot's movement speed and direction.

[0154] Furthermore, this invention utilizes trajectory error and slip error values ​​to generate torque control signals, enabling more precise control of the ball robot's speed and direction. Even when the ball robot executes complex trajectories or performs high-speed movements, it exhibits smoother and more stable motion performance, reducing unnecessary vibrations and deviations. When the ball robot encounters new environments or task requirements, the torque control signal can be rapidly adjusted based on the current error values ​​to adapt to the new situation, ensuring that the ball robot can stably and quickly reach the desired trajectory and sliding surface.

[0155] Therefore, by comprehensively considering trajectory error and slippage error values, the present invention enables the torque control signal to more accurately reflect the deviation between the ball robot's current trajectory and the desired trajectory, thereby allowing for more precise adjustment of the ball robot's motion state and enabling it to more closely track the desired trajectory, thus improving the accuracy of trajectory tracking.

[0156] In summary, this invention establishes a complete and accurate dynamic model of a spherical mobile robot, including slip error. Furthermore, through a robust sliding mode controller with inner and outer loops, it achieves stable motion control of the robot and reduces its uncertainty. An acceleration term is introduced into the outer loop control to enhance the dynamics of trajectory tracking, and the sign function is replaced with relay characteristics in the inner loop control to reduce jitter. Moreover, this invention designs a slip observer incorporating a recursive mean filter, enabling the observation and estimation of slip velocity and reducing trajectory error.

[0157] like Figure 3 As shown, based on the above embodiments of various motion control methods for ball robots, the present invention provides corresponding system-specific embodiments;

[0158] One embodiment of the present invention provides a motion control system based on a ball robot, including: a position controller, a slip observer, a speed controller, and a torque control module;

[0159] The position controller is used to obtain the corresponding trajectory error based on the actual trajectory and the expected trajectory of the ball robot, and to generate a position control signal for controlling the movement of the ball robot based on the trajectory error and the preset outer ring sliding surface function.

[0160] The position controller is also used to generate the current speed signal of the ball robot based on the actual trajectory, expected trajectory, trajectory error and position control signal corresponding to the ball robot.

[0161] The slip observer is used to calculate the slip error value based on the trajectory error and a preset correction dynamics formula;

[0162] The speed controller is used to generate a corresponding speed error signal based on the speed signal and the desired speed signal, and then calculate the torque control signal of the ball robot based on the speed error signal, the slip error value and the preset inner loop sliding mode function.

[0163] The torque control module is used to control the motor input torque of the ball robot according to the torque control signal.

[0164] In a preferred embodiment, the position controller is configured to generate a position control signal for controlling the movement of the ball robot based on the trajectory error and a preset outer loop sliding surface function, including:

[0165] The position controller is used to calculate the position control signal for controlling the movement of the ball robot according to the following formula:

[0166] ;

[0167] in, For the preset outer ring sliding surface function, The corresponding calculated value is the position control signal used to control the movement of the ball robot. For trajectory error, This is the derivative corresponding to the trajectory error. and For different gain matrices.

[0168] In a preferred embodiment, the slip observer is used to calculate the slip error value based on the trajectory error and a preset correction dynamics formula, including:

[0169] The slip observer is used to construct the modified dynamics formula according to the following formula:

[0170] ;

[0171] in, For generalized speed, For generalized coordinates, The inertia matrix, The matrix represents the Coriolis force and the centripetal force. For the input transformation matrix, The preset input torque, This represents the error term caused by the slip parameter;

[0172] Based on the trajectory error, a virtual input is generated:

[0173] ;

[0174] in, This is a virtual input. and For different gain matrices, For trajectory error;

[0175] The slip error value is used as an error term, and a calculation formula for the slip error value is generated based on the modified dynamics formula and the formula for virtual input:

[0176] ;

[0177] ;

[0178] in, This represents the currently calculated slip error value.

[0179] It should be noted that the system embodiments described above are merely illustrative. The controllers or modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules; they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings of the system embodiments provided by this invention, the connection relationships between modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement this without any creative effort.

[0180] Those skilled in the art will understand that, for convenience and simplicity, the specific working process of the system described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0181] Based on the above embodiments of various motion control methods for ball robots, the present invention provides corresponding embodiments of storage media.

[0182] One embodiment of the present invention provides a storage medium including a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to execute a motion control method based on a ball robot as described in any embodiment of the present invention.

[0183] The storage medium is a computer-readable storage medium, and the computer program is stored in the computer-readable storage medium. When the computer program is executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium can include: any entity or system capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RM), electrical carrier signals, telecommunication signals, and software distribution media, etc.

[0184] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.

Claims

1. A motion control method based on a ball robot, characterized in that, include: Based on the actual trajectory and the expected trajectory of the ball robot, the corresponding trajectory error is obtained. Based on the trajectory error and the preset outer ring sliding surface function, a position control signal for controlling the movement of the ball robot is generated. Based on the actual trajectory, expected trajectory, trajectory error, and position control signal of the ball robot, generate the current velocity signal of the ball robot; The slip error value is calculated based on the trajectory error and the preset correction dynamics formula; A corresponding speed error signal is generated based on the speed signal and the desired speed signal. Then, the torque control signal of the ball robot is calculated based on the speed error signal, the slip error value and the preset inner loop sliding mode function. The input torque of the ball robot's motor is controlled according to the torque control signal; The step of generating a position control signal for controlling the ball robot's motion based on the trajectory error and a preset outer ring sliding surface function includes: The position control signal used to control the movement of the ball robot is calculated according to the following formula: ; in, For the preset outer ring sliding surface function, The corresponding calculated value is the position control signal used to control the movement of the ball robot. For trajectory error, This is the derivative corresponding to the trajectory error. and For different gain matrices; The step of generating the ball robot's current velocity signal based on the ball robot's current actual trajectory, desired trajectory, trajectory error, and position control signal includes: Obtain the actual trajectory of the ball robot and perform a second derivative on the actual trajectory to obtain the second derivative function corresponding to the actual trajectory; Obtain the desired trajectory of the ball robot, and perform a second derivative on the desired trajectory to obtain the second derivative function corresponding to the desired trajectory; The current velocity signal of the ball robot is calculated using the following formula: ; in, This indicates the current speed signal of the ball robot. Let be the second derivative function corresponding to the desired trajectory. Let be the second derivative function corresponding to the actual trajectory. Let be the derivative function corresponding to the desired trajectory. The first coefficient gain matrix is ​​preset. This is the position control signal used to control the movement of the ball robot; The step of calculating the slip error value based on the trajectory error and the preset correction dynamics formula includes: The modified dynamics formula is constructed based on the following formula: ; in, For generalized speed, For generalized coordinates, The inertia matrix, The matrix represents the Coriolis force and the centripetal force. As the input transformation matrix, The preset input torque, This represents the error term caused by the slip parameter; Based on the trajectory error, a virtual input is generated: ; in, This is a virtual input. and For different gain matrices, For trajectory error; The slip error value is used as an error term, and a calculation formula for the slip error value is generated based on the modified dynamics formula and the formula for virtual input: ; ; in, This is the currently calculated slip error value; Before calculating the torque control signal for the ball robot, the following steps are also included: The currently calculated slip error values ​​are weighted and summed according to the following formula to obtain the updated slip error value: ; in, This is the updated slip error value. This represents the number of updated slip error values. This is the slip error value from the last update; The step of calculating the torque control signal of the ball robot based on the speed error signal, the slip error value, and the preset inner loop sliding mode function includes: The torque control signal of the ball robot is calculated using the following formula: ; ; ; For torque control signal, Let be the derivative function corresponding to the desired velocity signal. , and For different gain matrices, For speed error signal, For the desired speed signal, This is the current speed signal of the ball robot. This is the updated slip error value. The second coefficient gain matrix is ​​preset. This is the preset third gain coefficient matrix. The first coefficient gain matrix, the second coefficient gain matrix, and the third coefficient gain matrix are all different, which are preset inner loop sliding mode functions.

2. A motion control system based on a ball robot, characterized in that, The motion control method based on a ball robot as described in claim 1 is used; the motion control system includes: a position controller, a slip observer, a speed controller, and a torque control module; The position controller is used to obtain the corresponding trajectory error based on the actual trajectory and the expected trajectory of the ball robot, and to generate a position control signal for controlling the movement of the ball robot based on the trajectory error and the preset outer ring sliding surface function. The position controller is also used to generate the current speed signal of the ball robot based on the actual trajectory, expected trajectory, trajectory error and position control signal corresponding to the ball robot. The slip observer is used to calculate the slip error value based on the trajectory error and a preset correction dynamics formula; The speed controller is used to generate a corresponding speed error signal based on the speed signal and the desired speed signal, and then calculate the torque control signal of the ball robot based on the speed error signal, the slip error value and the preset inner loop sliding mode function. The torque control module is used to control the motor input torque of the ball robot according to the torque control signal.

3. A storage medium, characterized in that, The storage medium includes a stored computer program, wherein, when the computer program is executed, it controls the device where the storage medium is located to perform a motion control method based on a ball robot as described in claim 1.