An adaptive control method for an upper limb training robot
By performing dynamic modeling and parameter identification on the upper limb training robot, passive, assisted, and active modes are designed, and the energy domain stiffness coefficient K is calculated using fuzzy rules to achieve adaptive mode switching. This solves the problem of insufficient adaptability in existing technologies and improves training effectiveness and user participation.
Patent Information
- Application Number
- CN202310073909.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-07
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2043-02-07
AI Technical Summary
Existing upper limb training robot control strategies lack adaptive adjustment capabilities, failing to meet the needs of different users, resulting in poor training effects, and manually adjusting impedance parameters is time-consuming and inconvenient.
An adaptive control method based on task performance and impulse assessment is adopted. By performing dynamic modeling and parameter identification on the upper limb training robot, three modes are designed: passive, assisted, and active. The energy domain stiffness coefficient K is calculated using fuzzy rules to achieve adaptive mode switching. Combined with inverse dynamics feedforward compensation and PD controller feedback compensation strategies, adaptive auxiliary force is provided.
It improves the quality of robot dynamic control, enhances user participation, enables adaptive adjustment of robot training strategies to meet the needs of different users, and improves training effectiveness.
Smart Images

Figure CN116068881B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot control technology, and in particular to a method for adaptive control of an upper limb training robot. Background Technology
[0002] Repetitive training of a certain intensity can increase upper limb motor skills, but due to a shortage of professionals, robotic upper limb training control methods have been extensively researched. Robot-assisted upper limb training is more intensive, longer-lasting, and more repetitive. Using robots can increase the number and duration of training sessions while reducing personnel costs.
[0003] Currently, various control strategies exist, such as using PID controllers and nonlinear controllers to track pre-set trajectories and guide user training. However, this single training mode fails to leverage user initiative, resulting in poor training outcomes. Traditional fixed impedance controllers also cannot fully meet the needs of diverse users. Furthermore, manually adjusting impedance parameters is typically time-consuming and inconvenient. Currently, there is a lack of control strategies capable of adaptively adjusting training modes and providing different assistive forces; therefore, developing an adaptive control method for upper limb training robots is essential. Summary of the Invention
[0004] This invention provides an adaptive control method for upper limb training robots based on task performance / impulse assessment. The controller can accurately assess the user's motor ability and provide minimal intervention during training to maximize user engagement.
[0005] An adaptive control method for an upper limb training robot includes the following steps:
[0006] A dynamic model is created for the upper limb training robot to obtain a dynamic model, and the parameters of the dynamic model are identified.
[0007] The upper limb training robot is designed with three modes: passive, assisted, and active.
[0008] The parameters of the obtained dynamic model are subjected to inverse dynamic feedforward compensation plus PD controller feedback compensation control strategy as a passive mode control strategy;
[0009] A variable stiffness energy domain control strategy is used as the auxiliary mode control strategy.
[0010] Use zero-force control strategy as the active mode control strategy;
[0011] The upper limb training robot adaptively switches modes based on the input signals it receives.
[0012] The upper limb training robot is designed with three modes: passive, assisted, and active.
[0013] Passive mode:
[0014] In passive mode, robot inverse dynamics feedforward compensation plus PD controller feedback compensation are used to track the desired trajectory. In this mode, the robot takes the lead in controlling the motion.
[0015] Assist mode:
[0016] The dynamic equations of the robot in joint space under assisted motion mode are described by the following formula:
[0017]
[0018] In the formula, q∈R n×1 It's the joint angle. Let represent the derivative with respect to q. Let M denote the second derivative with respect to q, where M ∈ R. n×n Let C represent the inertia matrix, ∈ R. n×n Let G represent the centripetal force and Coriolis matrix, where G∈R n Let f represent the gravity matrix, f∈R n Let R represent the friction force matrix, τ∈R n In the actuator output torque, J represents the Jacobian matrix, and T represents the matrix transpose. This represents the gradient of the designed energy domain. F represents the damping force. ext ∈R n This represents the contact force applied by the subject to the end of the robotic arm;
[0019] Active mode:
[0020] In active mode, the robot employs a zero-force control strategy that provides both gravity and friction compensation.
[0021] The energy domain design for the assist mode is represented by the following model:
[0022]
[0023] In the formula φ i (p) represents an energy element. It is a constant scalar. The sampling point is represented by p, the current position is represented by T, the matrix transpose is represented by K, the energy domain stiffness coefficient is represented by N, and the number of sampling points is represented by N.
[0024] Calculate the weight values of N sampling points for the energy at point p using the Gaussian kernel function:
[0025]
[0026] Where σ i It is a smoothing parameter that controls the area affected by each energy element.
[0027] Define normalized weights
[0028]
[0029] Total energy at point p:
[0030]
[0031] Energy domain gradient:
[0032]
[0033] The energy domain stiffness is adaptively changed according to fuzzy rules:
[0034] The robot uses the received input signals as input to the fuzzy inference system. The membership function of the fuzzy sets is defined by five triangular functions. The fuzzy sets of each input are named Minimal (VS), Small (S), Medium (M), Large (B), and Maximum (VB), and the fuzzy sets of the output linguistic variables are named Zero (ZO), Positive Minimal (PS), Positive Medium (PM), and Positive Large (PB). The fuzzy inference system mainly includes three stages: fuzzification, rule-based fuzzy inference, and defuzzification. After these three stages, the output energy domain stiffness K is scaled to [0, 12] using a scaling factor.
[0035] When the input signal received by the training robot switches from passive mode to assisted mode according to the switching criteria, the switching from the inverse dynamics feedforward compensation plus PD controller feedback compensation control strategy to the variable stiffness energy domain control strategy includes:
[0036] The values of the force sensor at the end of the robotic arm are obtained, and the impulse within a certain time is calculated based on the force sensor values. When the impulse is greater than the set threshold, the control strategy is switched from the inverse dynamics feedforward compensation plus PD controller feedback compensation to the variable stiffness energy domain control strategy.
[0037] When the training robot switches from the assisted mode to the passive mode based on the input signal received, the switching from the variable stiffness energy domain control strategy to the inverse dynamics feedforward compensation plus PD controller feedback compensation control strategy includes:
[0038] The system acquires a dataset of position information of the robotic arm's end effector over a certain period of time, calculates the center point and the point furthest from the center point in the dataset, and switches from the variable stiffness energy domain control strategy to the inverse dynamics feedforward compensation plus PD controller feedback compensation control strategy when the distance between the furthest point from the center point and the center point is less than a set threshold.
[0039] Compared with the prior art, the present invention has the following advantages:
[0040] This invention, by identifying parameters of robot dynamics, overcomes the nonlinear time-varying characteristics of robots to a certain extent, effectively improving the dynamic control quality of robots. It employs fuzzy rules to calculate the energy domain stiffness coefficient K, enabling the robot to adaptively adjust the magnitude of the auxiliary force. Three training modes—passive, assisted, and active—are designed, and the different modes can be switched based on the signals acquired by the robot, achieving adaptive switching of the robot's control strategy during training. Attached Figure Description
[0041] Figure 1 This is a block diagram of the robot's passive mode control.
[0042] Figure 2 This is a control block diagram for the robot's assisted mode.
[0043] Figure 3 This is a flowchart of fuzzy reasoning.
[0044] Figure 4 For the membership functions of the fuzzy set input and output;
[0045] Figure 5 Input / output surface plots for fuzzy rules;
[0046] Figure 6 This is a flowchart illustrating the mode switching criteria. Detailed Implementation
[0047] An adaptive control method for an upper limb training robot, comprising:
[0048] A dynamic model is created for the upper limb training robot to obtain a dynamic model, and the parameters of the dynamic model are identified.
[0049] The upper limb training robot is designed with three modes: passive, assisted, and active.
[0050] The parameters of the obtained dynamic model are subjected to inverse dynamic feedforward compensation plus PD controller feedback compensation control strategy as a passive mode control strategy;
[0051] A variable stiffness energy domain control strategy is used as the auxiliary mode control strategy.
[0052] Use zero-force control strategy as the active mode control strategy;
[0053] The upper limb training robot adaptively switches modes based on the input signals it receives.
[0054] (1) Perform dynamic modeling on the upper limb training robot to obtain a dynamic model, and perform parameter identification on the dynamic model to obtain the parameters of the dynamic model;
[0055] (2) Design three modes for the upper limb training robot: passive, assisted, and active.
[0056] Passive mode:
[0057] The parameters of the obtained dynamic model are subjected to inverse dynamic feedforward compensation plus PD controller feedback compensation control strategy as a passive mode control strategy, and the control block diagram is as follows. Figure 1 As shown.
[0058] Assist mode:
[0059] A variable stiffness energy domain control strategy is used as the auxiliary mode control strategy, and the control block diagram is as follows: Figure 2 As shown, in assisted mode, the robot also provides inverse dynamics feedforward compensation plus friction compensation. The dynamic equations of the robot in joint space in this mode are described by the following formula (1):
[0060]
[0061] In the formula, q∈R n×1 It's the joint angle. Let represent the derivative with respect to q. Let M denote the second derivative with respect to q, where M ∈ R. n×n Let C represent the inertia matrix, ∈ R. n×n Let G represent the centripetal force and Coriolis matrix, where G∈R n Let f represent the gravity matrix, f∈R n Let R represent the friction force matrix, τ∈R n In the actuator output torque, J represents the Jacobian matrix, and T represents the matrix transpose. This represents the gradient of the designed energy domain. F represents the damping force. ext ∈R n This represents the contact force applied by the subject to the end of the robotic arm;
[0062] (3) Energy domain design:
[0063] N points are uniformly sampled from the design trajectory:
[0064]
[0065] This represents the position information of the robot's end point at the i-th point in Cartesian space. (D) P This is a dataset of discrete expected trajectories for the robot.
[0066]
[0067] Energy element φ i (p) Based on the location of the sampling point The position of point p determines the outcome. It is a constant scalar, and K is the energy domain stiffness coefficient. For each energy element φ i (p), point p is attracted to the sampling point. The force is from Given. From formula (3), it can be seen that the larger the value of K, the more points p and sampling points... The greater the distance, the greater the attraction.
[0068] Calculate the weight values of N sampling points for the energy at point p using the Gaussian kernel function:
[0069]
[0070] Where, σ i 是 Control the smoothing parameters of the region affected by each energy element. The total energy at point p is:
[0071]
[0072] Define normalized weights
[0073]
[0074] Total energy at point p:
[0075]
[0076] Within the energy domain, the energy at each sampling point is the same. Energy domain gradient:
[0077]
[0078] In the sampled dataset D p Above, the gradient expectation of the designed energy domain is zero. Therefore, for the energy domain parameters... The choice of can be transformed into solving a convex optimization problem, as shown in equation (9):
[0079]
[0080] subjectto
[0081]
[0082]
[0083]
[0084] In the formula, Θ is a set of N constant scalars.
[0085] The force generated by the energy domain is a constant value that changes according to spatial position. If the user's arm deviates from the designated trajectory during movement, a normal force will be generated under the influence of the energy domain. The magnitude of the normal force can be adjusted by modifying the stiffness coefficient K.
[0086] Damping force design:
[0087] In torque control mode, if the robot's motion is controlled solely by the energy domain, the following will occur: the robot's speed increases before reaching the target point, and decreases after reaching the target point. If the effect of friction is ignored, the robot will oscillate near the target point. To solve this problem, a damping force can be added to the energy domain, i.e.:
[0088]
[0089] In the formula, u is the damping force. Let B be the energy domain gradient, B be the damping coefficient, and x be the position of the robot's end effector. Let x be the differential.
[0090] If B is positive definite, then for all It consumes energy, thereby reducing oscillations and ensuring the robot eventually stops. If B=0, the robot will continue to move while the total energy remains constant, which is the sum of the initial kinetic energy and the initial virtual energy.
[0091] (4) Design of a variable stiffness adaptive controller:
[0092] The variable stiffness adaptive controller uses task performance / impulse as the evaluation metric, and its calculation formula is as follows:
[0093]
[0094]
[0095]
[0096] Error i x represents the error of the robot's end effector deviating from the target trajectory at the current i-th point.i y i Let x0 and y0 represent the coordinates of the current i-th point, x0 and y0 represent the coordinates of the center of the circle, R represent the radius of the circle, Score represent the score for one revolution, and N represent the number of sampling points for one revolution. a t3 represents the momentum of a week's exercise, and t3 represents the time of a week's exercise.
[0097] The design of the energy domain stiffness adaptive law K follows these principles: When the user's mobility is weak, the task score is low, and the impulse is large, it indicates that the user has made considerable efforts but still cannot complete the task well, so the energy domain stiffness coefficient K should be increased. When the user can achieve a high score and complete the training task with the robot's assistance, the energy domain stiffness coefficient K should be decreased to stimulate the user's initiative during the training process.
[0098] Based on the above principles, fuzzy rules are used to calculate the energy domain stiffness coefficient K. The fuzzy inference system mainly includes three stages: fuzzification, rule-based fuzzy inference, and defuzzification, and its structure is as follows: Figure 3 As shown. The average task score (Score) and impulse (I) of the user in the i-th training task are selected. a As input to the fuzzy system. This is achieved by using a scaling factor k. s and k i The input variables are scaled to the universes of discourse [60, 95] and [0.5, 1.5], respectively. Similarly, the output K is scaled to [0, 12].
[0099] The membership function of a fuzzy set is defined by five triangular functions, such as... Figure 4 As shown. Figure 4 (a) Figure 4 (b) Figure 4 (c) are the membership functions for the fraction of one revolution, the impulse of one revolution, and the energy domain stiffness coefficient K, respectively. The fuzzy sets of each input are named Minimum (VS), Small (S), Medium (M), Large (B), and Maximum (VB), and the fuzzy sets of the output linguistic variables are named Zero (ZO), Positive Small (PS), Positive Medium (PM), and Positive Large (PB).
[0100] In the fuzzy inference stage, an "If-Then" type language based on fuzzy rules is adopted. The fuzzy rules shown in Table 1 are set according to the on-demand assistance principle and further improved through experiments. The input / output surface diagrams of the proposed fuzzy rules are shown below. Figure 5 As shown.
[0101] Table 1 Fuzzy Rule Table
[0102]
[0103]
[0104] (5) Active mode:
[0105] The zero-force control strategy is used as the active mode control strategy, that is, the robot only provides gravity compensation and friction compensation;
[0106] Compared to the active mode, the active mode lacks the damping force and the normal assist force provided by the energy field, allowing the user to move freely and without restriction.
[0107] (6) Design of adaptive mode switching criteria:
[0108] Figure 6 The flowchart illustrates the mode switching process. When the input signal received by the upper limb training robot meets the switching criteria from passive mode to assisted mode, the control strategy switches from the inverse dynamics feedforward compensation plus PD controller feedback compensation to the variable stiffness energy domain control strategy. When the input signal received by the upper limb training robot meets the switching criteria from assisted mode to passive mode, the control strategy switches from the variable stiffness energy domain control strategy to the inverse dynamics feedforward compensation plus PD controller feedback compensation control strategy.
[0109] 6.1 Switching from Assisted Mode to Passive Mode
[0110] If the user has insufficient muscle strength, the primary training method relies on the robot to assist the user's movements. If the robot's training mode is in assisted mode, the user will not be able to complete the training task. Therefore, the actual motion trajectory of the robotic arm's end effector can be sampled within time period t1. If the displacement within time period t1 is less than l0, it indicates that the user cannot complete the training task, and the assisted training mode is switched to passive training. The specific algorithm is as follows:
[0111]
[0112] p0 = mean(D x (15)
[0113]
[0114] l = norm(p0 - p) max (17)
[0115]
[0116] In the formula D x This represents a dataset containing N samples of the robotic arm's end-effector positions taken within time t1. Indicates the position of the robotic arm's end effector, R 3 Let p represent a three-dimensional vector space, where p0 represents the center position of the dataset, expressed as the average value. maxThe value of p0 represents the sampling point farthest from the center of the dataset, and l represents the difference between p0 and p1. max The distance is α, which represents the switching flag. If l is less than the switching threshold l0, the training mode switches to passive training. Based on the user's motion information, it is easier to determine the user's actual motor ability.
[0117] 6.2 Switching from passive mode to assisted mode
[0118] The impulse of a force acting on an object, which varies with time, is the integral of that force over a certain period of time. Impulse is a vector quantity, and it can be used to detect a user's movement intention and ability. Human-machine interaction forces can be measured using force sensors installed at the end of a robotic arm. In passive training, if a user exerts force for a period y2, the impulse I over time t2 can serve as an indicator of the transition from passive to assisted mode. The reason impulse is used as the evaluation metric instead of work is that the parameters of friction or the dynamic model are difficult to fully compensate for using feedforward in control. Therefore, it's possible for the displacement to be zero while the user still experiences interaction force. In this case, work cannot reflect the user's true movement intention, but impulse can.
[0119] When I exceeds the switching threshold I0, the training mode switches to assisted training, with an energy domain stiffness coefficient of 0.025. The switching threshold I0 can be determined experimentally: assuming the time for one cycle of normal movement under assisted training is T, calculate the impulse... The range of values for I0 is: I0∈(0.2I1,0.5I1).
[0120] Example 1
[0121] When a user first starts the circle drawing task, the mode is assisted mode. The system will calculate the user's average task score and the impulse I for one cycle of movement in the i-th training task according to formulas (11)-(13). a If the calculated score is greater than 95, the mode will switch to active mode in the next circle drawing task. In active mode, the user is in complete control of the movement and the robot does not provide any assistance.
[0122] If the calculated score is no greater than 95, then the average task score and the impulse I for one cycle of exercise... a This will be used as the input to the fuzzy system, and will be processed using a scaling factor k. s and k iThe input variables were scaled to the universes of discourse [60, 95] and [0.5, 1.5], respectively. The membership functions of the fuzzy sets were defined by five triangular functions. The fuzzy sets of each input were named Minimal (VS), Small (S), Medium (M), Large (B), and Maximum (VB), and the fuzzy sets of the output linguistic variables were named Zero (ZO), Positive Minimal (PS), Positive Medium (PM), and Positive Large (PB). In the fuzzy inference stage, an "If-Then" type language based on fuzzy rules was used, and the output of the fuzzy system was finally obtained through defuzzification. Similarly, the output K was also scaled to [0, 12]. Finally, the obtained energy domain stiffness coefficients were input into the system to change the magnitude of the auxiliary force to achieve an adaptive auxiliary effect.
[0123] When a user lacks sufficient muscle strength or is unable to complete the task of drawing a circle, the primary training method relies on the robot to assist the user's movement. If the robot training mode is in assisted mode, the user will not be able to complete the training task. Therefore, the actual motion trajectory of the robotic arm end can be sampled within time period t1 according to formulas (14)-(18). If the motion displacement is less than l0 within time period t1, and the user cannot complete the rehabilitation training task, then the assisted training mode will be switched to passive training.
[0124] In passive training, if the user exerts effort in the desired direction of motion for a period of time t2, then the impulse I during time t2 can be used as an indicator of switching from passive mode to assisted mode. When I is greater than the switching threshold I0, the training mode switches to assisted training, and the assisted mode takes an energy domain stiffness coefficient of 0.025.
Claims
1. An adaptive control method for an upper limb training robot, characterized in that, Includes the following steps: A dynamic model is created for the upper limb training robot to obtain a dynamic model, and the parameters of the dynamic model are identified. The upper limb training robot is designed with three modes: passive, assisted, and active. The parameters of the obtained dynamic model are subjected to inverse dynamic feedforward compensation plus PD controller feedback compensation control strategy as a passive mode control strategy; A variable stiffness energy domain control strategy is used as the auxiliary mode control strategy. Use zero-force control strategy as the active mode control strategy; The upper limb training robot adaptively switches modes based on the input signals it receives. The dynamic equations of the robot in the joint space under the assisted mode are described by the following formula: ; In the formula, It's the joint angle. Indicates to The differential, Indicates to The second differential, Represents the inertia matrix. Representing centripetal force and the Coriolis matrix, Represents the gravity matrix. Represents the friction force matrix. This indicates the actuator output torque. Represents the Jacobian matrix. Indicates matrix transpose. This represents the gradient of the designed energy domain. Indicates damping force. This represents the contact force applied by the subject to the end of the robotic arm; The model used to design the gradient of the energy domain is represented as follows: ; In the formula Energy element It is a constant scalar. Indicates the location of the sampling point. Indicates the current position. Indicates matrix transpose. Represents the energy domain stiffness coefficient. Indicates the number of sampling points; Calculate using Gaussian kernel function Point energy Weight values for each sampling point: ; In the formula, It is a smoothing parameter that controls the area affected by each energy element; Define normalized weights : ; Total energy at point p: ; Energy domain gradient: ; 。 2. The adaptive control method for the upper limb training robot according to claim 1, characterized in that, The passive mode uses robot inverse dynamics feedforward compensation plus PD controller feedback compensation to track the desired trajectory. In this mode, the robot takes the lead in controlling the motion.
3. The adaptive control method for the upper limb training robot according to claim 1, characterized in that, The zero-force control strategy includes gravity compensation and friction compensation.
4. The adaptive control method for the upper limb training robot according to claim 1, characterized in that, Energy domain stiffness coefficient Adaptive change using fuzzy inference: The robot uses the received input signals as input to the fuzzy inference system. The membership function of the fuzzy set is defined by 5 triangular functions. The fuzzy set of each input is named as Minimum (VS), Small (S), Medium (M), Large (B) and Maximum (VB). The fuzzy set of the output linguistic variable is named as Zero (ZO), Positive Small (PS), Positive Medium (PM) and Positive Large (PB). After three stages—fuzzification, rule-based fuzzy inference, and defuzzification—the output energy domain stiffness coefficients are then calculated using a scaling factor. Zoom to .
5. The adaptive control method for the upper limb training robot according to claim 1, characterized in that, The upper limb training robot performs adaptive mode switching based on the input signals received, specifically including: When the input signal received by the upper limb training robot meets the switching criterion from passive mode to assisted mode, it switches from the inverse dynamics feedforward compensation plus PD controller feedback compensation control strategy to the variable stiffness energy domain control strategy. When the input signal received by the upper limb training robot meets the switching criterion from assisted mode to passive mode, it switches from the variable stiffness energy domain control strategy to the inverse dynamics feedforward compensation plus PD controller feedback compensation control strategy.
6. The adaptive control method for the upper limb training robot according to claim 5, characterized in that, When the input signal received by the upper limb training robot meets the switching criterion from passive mode to assisted mode, the control strategy switches from the inverse dynamics feedforward compensation plus PD controller feedback compensation to the variable stiffness energy domain control strategy, specifically including: The values of the force sensor at the end of the robotic arm of the upper limb training robot are obtained, and the impulse over a period of time is calculated based on the force sensor values. When the impulse exceeds a set threshold, the control strategy is switched from the inverse dynamics feedforward compensation plus PD controller feedback compensation to the variable stiffness energy domain control strategy.
7. The adaptive control method for the upper limb training robot according to claim 6, characterized in that, When the input signal received by the upper limb training robot meets the switching criterion from assisted mode to passive mode, the control strategy switches from the variable stiffness energy domain control strategy to the inverse dynamics feedforward compensation plus PD controller feedback compensation control strategy, specifically including: The system acquires a dataset of position information of the end effector of the upper limb training robot over a period of time, calculates the center point and the point farthest from the center point in the dataset, and switches from the variable stiffness energy domain control strategy to the inverse dynamics feedforward compensation plus PD controller feedback compensation control strategy when the distance between the point farthest from the center point and the center point is less than a set threshold.