Exoskeleton control method, system, exoskeleton system, terminal device, and computer program product
By acquiring the joint motion trajectory and torque of the target user, and optimizing the assistance parameters using the expected trajectory prediction model and joint force comprehensive index, the problem of the lack of active participation of the exoskeleton system in the rehabilitation training of stroke patients is solved, achieving precise on-demand assistance and promoting the recovery of patients' motor function.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SOUTHERN UNIVERSITY OF SCIENCE AND TECHNOLOGY
- Filing Date
- 2025-05-07
- Publication Date
- 2026-05-19
AI Technical Summary
Existing exoskeleton systems lack active patient participation in assisting rehabilitation training for stroke patients in the later stages of motor dysfunction, which hinders the motor recovery process and fails to provide precise, on-demand assistance.
By acquiring the actual motion trajectory and torque of the target user's joints, the assist parameters are optimized using the expected trajectory prediction model and joint force comprehensive index, and the target assist torque is calculated to achieve precise on-demand assist control of the exoskeleton.
It enables precise, on-demand assistance for stroke patients, increases their active participation, and promotes the recovery of motor function.
Smart Images

Figure CN120363156B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of exoskeleton control technology, and in particular relates to an exoskeleton control method, system, exoskeleton system, terminal device and computer program product. Background Technology
[0002] Stroke is a leading cause of hemiplegia and paralysis. Currently, novel treatment methods utilizing robotic assistive devices such as exoskeletons to help patients regain impaired motor function are being extensively researched. Studies have shown that exoskeletons can provide stroke patients with high-intensity rehabilitation training while reducing reliance on manual, intensive physical therapy and lowering medical costs.
[0003] Assisted rehabilitation strategies for stroke patients in the early stages of motor dysfunction typically involve an exoskeleton guiding the patient to follow a desired training trajectory. With the exoskeleton's assistance, the patient possesses basic walking ability without needing to actively participate in the assisted movements. However, this training model, lacking active patient involvement, may hinder the patient's motor recovery process and is therefore unsuitable for some patients, such as those with differentiated limb motor abilities in the later stages of stroke motor dysfunction.
[0004] Therefore, there is an urgent need for an exoskeleton control method to control the exoskeleton and provide precise assistance to patients with different limb movement abilities. Summary of the Invention
[0005] In view of this, embodiments of this application provide an exoskeleton control method, system, exoskeleton system, terminal device, and computer program product to achieve precise and on-demand assistance to the target joints of the target user by controlling the exoskeleton.
[0006] A first aspect of this application provides an exoskeleton control method, which controls the exoskeleton to provide assistance when a target user triggers exoskeleton assistance, the method comprising:
[0007] Obtain the actual motion trajectory and target joint torque of the first and second sides of the target joint of the target user;
[0008] The actual motion trajectory of the first side of the target joint is input into the expected trajectory prediction model to obtain the expected motion trajectory of the second side of the target joint;
[0009] Based on the comprehensive force index of the target joint, the assist parameters are iteratively optimized to obtain new assist parameters. The comprehensive force index of the target joint is calculated based on the actual motion trajectory of the first and second sides of the target joint and the torque of the target joint.
[0010] The target assist torque is calculated based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters.
[0011] The exoskeleton is controlled to provide assistance based on the target assist torque.
[0012] Return to the steps of obtaining the actual motion trajectory and target joint torque of the first and second sides of the target user's target joint.
[0013] In one implementation of the first aspect, the step of iteratively optimizing the assist parameters based on the comprehensive force index of the target joint to obtain the assist parameters includes:
[0014] If a proxy model exists and the iteration termination condition is not triggered, proceed to the step of training the proxy model based on the dataset;
[0015] Evaluate the comprehensive joint force index corresponding to each initial assist parameter and construct a dataset;
[0016] Build an agent model;
[0017] The agent model is trained based on the dataset;
[0018] New assist parameters are determined by optimizing the acquisition function;
[0019] Evaluate the new joint force comprehensive index corresponding to the new assist parameters, and update the dataset;
[0020] If the new joint force comprehensive index is less than the current optimal value, then the current optimal value is updated to the new joint force comprehensive index, and the initial value of the current optimal value is the minimum value of the joint force comprehensive index corresponding to the initial assist parameter.
[0021] When the iteration termination condition is triggered, the assist parameter corresponding to the current optimal value is determined as the optimal assist parameter.
[0022] In one implementation of the first aspect, the comprehensive index of joint force exertion corresponding to any assist parameter is evaluated, including:
[0023] The target assist torque is calculated based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters.
[0024] When assisting the exoskeleton control based on the target assist torque, the actual motion trajectory and target joint torque of the first and second sides of the target user's target joint are obtained.
[0025] Based on the actual motion trajectories of the first and second sides of the target joint and the torque of the target joint, the comprehensive index of joint force corresponding to the assist parameters is calculated.
[0026] In one implementation of the first aspect, the step of calculating the joint force comprehensive index corresponding to the assist parameter based on the actual motion trajectory of the first and second sides of the target joint and the torque of the target joint includes:
[0027] The symmetry factor is calculated based on the actual joint angles and actual joint angular velocities of the first and second sides of the target user.
[0028] The comprehensive index of joint force is calculated based on the symmetry factor and the target joint torque.
[0029] In one implementation of the first aspect, calculating the target assist torque based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters includes:
[0030] Calculate the difference between the expected motion trajectory of the second side and the actual motion trajectory of the second side at the critical nodes of the support phase or swing phase;
[0031] The target assist torque is calculated based on the assist parameters, the difference, and the assist torque calculation formula.
[0032] In one implementation of the first aspect, obtaining the actual motion trajectory and target joint torque of the first and second sides of the target user's target joint includes:
[0033] The original motion trajectories of the first and second sides of the target user are collected, and the original motion trajectories are filtered to obtain the actual motion trajectories of the first and second sides of the target joint.
[0034] The original joint torque of the target joint is collected and normalized to obtain the target joint torque of the target user.
[0035] A second aspect of this application provides an exoskeleton control system, including:
[0036] The data acquisition module is used to acquire the actual motion trajectory and target joint torque of the first and second sides of the target user's target joint;
[0037] The desired trajectory prediction module is used to input the actual motion trajectory of the first side of the target joint into the desired trajectory prediction model to obtain the desired motion trajectory of the second side of the target joint.
[0038] The assist parameter optimization module is used to iteratively optimize the assist parameters based on the comprehensive force index of the target joint to obtain the assist parameters. The comprehensive force index of the target joint is calculated based on the actual motion trajectory of the first and second sides of the target joint and the torque of the target joint.
[0039] The assist torque calculation module is used to calculate the target assist torque based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters.
[0040] The assist control module is used to control the exoskeleton to provide assistance based on the target assist torque.
[0041] A third aspect of this application provides an exoskeleton system, including an exoskeleton and an exoskeleton control system as described in the second aspect.
[0042] A fourth aspect of this application provides a terminal device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the exoskeleton control method as described in the first aspect.
[0043] A fifth aspect of this application provides a computer program product including a computer program that, when run, causes the exoskeleton control method as described in the first aspect to be executed.
[0044] The beneficial effect of the first aspect of the embodiments of this application is that by introducing a comprehensive index of joint force calculated based on the actual motion trajectory of the first and second sides of the target joint of the target user and the target joint torque, the active participation of the patient can be considered. Based on the comprehensive index of joint force, the assistive parameters are iteratively optimized to obtain assistive parameters. Then, based on the obtained assistive parameters, the target assistive torque and the exoskeleton assistive control based on the target assistive torque are performed. By dynamically adjusting the assistive parameters based on the human-in-loop to optimize the assistive control, precise on-demand assistance to the target user can be achieved.
[0045] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0046] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0047] Figure 1 This is a schematic diagram illustrating the implementation process of the exoskeleton control method provided in the embodiments of this application;
[0048] Figure 2 This is a schematic diagram of the structure of the exoskeleton control system provided in the embodiments of this application;
[0049] Figure 3 This is a schematic diagram of the exoskeleton system provided in the embodiments of this application;
[0050] Figure 4 This is a schematic diagram of the terminal device provided in the embodiments of this application;
[0051] Figure 5 This is a schematic diagram of a computer program product provided in an embodiment of this application. Detailed Implementation
[0052] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0053] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.
[0054] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0055] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."
[0056] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0057] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0058] This application provides an exoskeleton control method to achieve precise, on-demand assistance to a target user's target joints via an exoskeleton. The exoskeleton control method provided in this application introduces a comprehensive joint force index calculated based on the actual motion trajectories of the first and second sides of the target joint and the target joint torque. This index considers the patient's active participation. Iterative optimization of assistance parameters is performed based on the comprehensive joint force index to obtain assistance parameters. Then, target assistance torque and exoskeleton assistance control based on the obtained assistance parameters are performed. By dynamically adjusting the assistance parameters based on the human-in-the-loop principle to optimize assistance control, precise, on-demand assistance to the target user is achieved.
[0059] The exoskeleton control method provided in this application can be applied to the control center of an exoskeleton, such as mobile phones, tablets, wearable devices, vehicle-mounted devices, augmented reality (AR) / virtual reality (VR) devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), and other terminal devices. This application does not impose any restrictions on the specific type of terminal device.
[0060] like Figure 1 As shown, in one embodiment, this application provides an exoskeleton control method that controls the exoskeleton to provide assistance when a target user triggers exoskeleton assistance. The method includes:
[0061] Step S11: Obtain the actual motion trajectory and target joint torque of the first and second sides of the target joint of the target user.
[0062] In the application, the target user's target joints have differentiated movement capabilities on their first and second sides. The first side is the healthy side, and the second side is the affected side. The affected and healthy sides represent the target user's left and right sides, respectively. When the exoskeleton is a lower limb exoskeleton, the target joints include joints in the lower limb, such as the hip, knee, and ankle joints. The application allows for the selection of multiple target joints as needed, enabling simultaneous multi-target joint assistance, such as simultaneous assistance to the hip and knee joints, or simultaneous assistance to the knee and ankle joints.
[0063] In applications where the exoskeleton is an upper limb exoskeleton, the target joints include lower limb joints such as the shoulder, elbow, and wrist. It is understandable that, in natural movement, although upper limb movements do not possess the synergy of lower limb movements (e.g., walking involves the coordination of the left and right legs), synergy can still be simulated by actively controlling the upper limb joints to perform the same or similar movements simultaneously (e.g., the left and right arms extend and flex simultaneously).
[0064] Step S12: Input the actual motion trajectory of the first side of the target joint into the expected trajectory prediction model to obtain the expected motion trajectory of the second side of the target joint.
[0065] In one embodiment, the desired trajectory prediction model is trained using a biomechanical dataset based on the target joint and the following loss function:
[0066]
[0067] Where, θ i Let i be the true angle of the i-th sample. Let be the predicted angle for the i-th sample. Let λ represent the square of the L2 norm, λ be the L2 regularization coefficient, and w be the weight vector. For L2 regularization terms;
[0068] The desired trajectory prediction model is used to input the actual motion trajectory of the first side of the target joint and output the desired motion trajectory of the second side of the target joint.
[0069] In applications, training the expected trajectory prediction model includes:
[0070] The network architecture for the desired trajectory prediction model is designed, where the feature extractor based on a convolutional neural network consists of two convolutional layers, two fully connected layers, two max-pooling layers, and two ReLU layers. Furthermore, to improve the network's generalization ability, batch normalization is performed after the fully connected layers and each convolutional layer.
[0071] Set the training-related hyperparameters, including selecting the Adam optimizer for training, setting its learning rate to 0.0001, batch size to 64, and maximum training epochs to 1000.
[0072] The biomechanics dataset was randomly divided into a training set (70%) and a validation set (30%) for model training and validation.
[0073] Supervised learning is performed based on the defined training set to ensure that the neural network can accurately predict the trajectory of the affected joint using human walking information. The loss function is:
[0074]
[0075] After each epoch of training, the validation set is used to test the trajectory prediction performance of the model.
[0076] Repeat the training process a predetermined number of times, such as 1000 times, and select the model that performs best on the validation set as the final expected trajectory prediction model.
[0077] Step S13: Based on the comprehensive force index of the target joint, perform iterative optimization of the assist parameters to obtain the assist parameters. The comprehensive force index of the target joint is calculated based on the actual motion trajectory of the first and second sides of the target joint and the torque of the target joint.
[0078] In application, whether the assist parameters are new or optimal depends on whether the iterative optimization has ended. Assist parameters obtained during iterative optimization are considered new, while those obtained after iterative optimization have ended are considered optimal.
[0079] Step S14: Calculate the target assist torque based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters.
[0080] Step S15: Assist the exoskeleton control based on the target assist torque.
[0081] Step S16: Return to step S11, which is the step of obtaining the actual motion trajectory and target joint torque of the first and second sides of the target joint of the target user.
[0082] In one embodiment, step S13 involves iteratively optimizing the assist parameters based on the comprehensive joint force index of the target joint to obtain the assist parameters, including:
[0083] Step S130: If a proxy model exists and the iteration termination condition is not triggered, proceed to the step of training the proxy model based on the dataset.
[0084] In application, the iteration termination conditions include reaching the maximum number of iterations or the convergence of the joint force comprehensive index (when the improvement amount of multiple consecutive iterations is less than a preset threshold).
[0085] Step S131: Evaluate the joint force comprehensive index corresponding to each initial assist parameter and construct a dataset.
[0086] In the application, a search space X and a maximum number of iterations T are set, and initial auxiliary parameters are selected within the search space X using Latin hypercube sampling (LHS). This includes n initial auxiliary parameters. n can be 5 to 10 times the dimension of the auxiliary parameters.
[0087] The GaitSymmetry and Joint Effort Index (GSJEI) was evaluated for each initial assist parameter to obtain the following results. And construct the dataset D0 = {x, y}.
[0088] Step S132: Construct the agent model.
[0089] In the application, the Gaussian Process (GP) model was selected as the surrogate model.
[0090] Step S133: Train the agent model based on the dataset.
[0091] In application, for the t-th iteration, based on the current dataset D t-1 Training a Gaussian Process (GP) as a surrogate model to model the probabilistic mapping relationship between the auxiliary parameter x and the objective function GSJEI: p(GSJEI|D t-1 )~GP(μ(x),k(x,x')); where, p(GSJEI|D t-1 ) refers to the current dataset D t-1 Given the objective function GSJEI, the posterior probability distribution is given by μ(x), where μ(x) is the mean function and k(x,x) is the mean function. ′ ) is the covariance function (kernel function).
[0092]
[0093] in, is the signal variance, used to control the overall amplitude of the function output; l is the length scale, which determines the smoothness of the function.
[0094] Step S134: Determine new assist parameters by optimizing the acquisition function.
[0095] In application, the expected improvement (EI) acquisition function α is selected. EI (x) To lead the new assist parameter selection mechanism:
[0096] α EI (x)=E[max(0,GSJEI1-GSJEI 1,min -ξ)];
[0097] Among them, GSJEI 1,min For dataset D t-1 The current minimum (optimal) value of the joint force comprehensive index is ξ, which is an exploration term that can prevent the algorithm from converging to a local optimum too early.
[0098] Improve the acquisition function α by maximizing the expected value. EI (x), in the t-th iteration, determine the new auxiliary parameter x. t :
[0099]
[0100] Where arg min represents the search for the desired improved acquisition function α. EI (x) is the smallest assist parameter.
[0101] Step S135: Evaluate the new joint force comprehensive index corresponding to the new assist parameters, and update the dataset.
[0102] In application, evaluate the new assist parameter x. t The corresponding new comprehensive index of joint force is obtained as y t y t =GSJEI+∈;
[0103] Wherein, ∈ is the noise term, used to simulate measurement errors such as sensor noise and fluctuations in gait data acquisition.
[0104] In the application, the new data point (x) obtained in the t-th iteration will be... t ,y t Add the dataset to obtain the dataset D after the t-th iteration. t :D t =D t-1 ∪{(x t ,y t )}.
[0105] Step S136: If the new joint force comprehensive index is less than the current optimal value, then update the current optimal value to the new joint force comprehensive index. The initial value of the current optimal value is the minimum value of the joint force comprehensive index corresponding to the initial assist parameter.
[0106] In application, if y t <GSJEI 1,min Then update the current optimal value GSJEI. 1,min For y t .
[0107] Step S137: If the iteration termination condition is triggered, determine the assist parameter corresponding to the current optimal value as the optimal assist parameter.
[0108] In application, the iteration termination condition is triggered when the maximum number of iterations T is reached or GSJEI converges, thus completing all iterations. After completing all iterations, the final surrogate model is used to expand the parameter space X. T Selecting the optimal solution x * :
[0109]
[0110] Where, μ T (x) is the GSJEI prediction of the objective function of the Gaussian process with respect to parameter x at the Tth iteration, and arg min represents the search for the objective function μ. T (x) is the smallest assist parameter.
[0111] In application, after the iterative optimization is completed, the assist parameters remain as the optimal assist parameters.
[0112] In one embodiment, evaluating the comprehensive joint force index corresponding to any assistive parameter includes:
[0113] Step S171: Calculate the target assist torque based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters.
[0114] Step S172: When assisting the exoskeleton control based on the target assist torque, obtain the actual motion trajectory and target joint torque of the first and second sides of the target joint of the target user.
[0115] Step S173: Calculate the joint force comprehensive index corresponding to the assist parameter based on the actual motion trajectory of the first and second sides of the target joint and the torque of the target joint.
[0116] In one embodiment, step S173, which calculates the comprehensive joint force index corresponding to the assist parameters based on the actual motion trajectories of the first and second sides of the target joint and the torque of the target joint, includes:
[0117] Step S1731: Calculate the symmetry factor based on the actual joint angles and actual joint angular velocities of the first and second sides of the target user.
[0118] In applications, the motion trajectory includes joint angles and joint angular velocities. The Symmetry Factor (SF) is an indicator of gait symmetry, calculated by comparing the joint angles θ and angular velocities of the affected and healthy sides. Quantification is performed; the closer SF is to 1, the higher the bilateral symmetry. The specific formula is as follows:
[0119]
[0120] Where, θ impaired and θ healthy These are the joint angles on the affected and healthy sides, respectively, in degrees (°). and These are the joint angular velocities on the affected and healthy sides, respectively, in degrees per second (° / s).
[0121] Step S1832: Calculate the joint force comprehensive index based on the symmetry factor and the target joint torque.
[0122] In applications, the symmetry factor (SF) is compared with the target joint moment (τ). joint Combined, the GSJEI (General Joint Force Index) is generated:
[0123]
[0124] Where, τ joint γ represents the target joint torque, reflecting the force exerted by the target joint on the affected side; γ = [γ SF ,γ τ ] represents the weighted coefficient vector, where γ is the weighted coefficient vector in this application. SF =0.6 (gait symmetry weight), γ τ =0.4 (joint force weight); ⊙ represents the Hadamard product (element-by-element multiplication).
[0125] In one embodiment, step S14, calculating the target assist torque based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters, includes:
[0126] Step S141: Calculate the difference between the expected motion trajectory of the second side and the actual motion trajectory of the second side at the critical node of the support phase or swing phase.
[0127] In applications, calculating the difference between two trajectories at critical nodes in the support or swing phase includes calculating the difference in joint angles and the difference in joint angular velocities.
[0128] Step S142: Calculate the target assist torque based on the assist parameters, the difference, and the assist torque calculation formula.
[0129] In applications, taking the hip and knee joints as target joints as examples, the angle difference e between the desired motion trajectory and the actual motion trajectory of the second side of the hip and knee joints at the critical nodes of the support or swing phase is calculated using the following formula. hip ,e knee and angular velocity difference
[0130] e hip =θ estimated,hip (t)-θ measured,hip (t),
[0131] e knee =θ estimated,knee (t)-θ measured,knee (t),
[0132]
[0133] In application, the assist parameters are two-dimensional, including the joint damping coefficient and the joint stiffness coefficient. The formula for calculating the assist torque is as follows:
[0134]
[0135] Where, N d,hip N is the damping coefficient of the hip joint. d,knee K is the damping coefficient of the knee joint. d,hip K is the stiffness coefficient of the hip joint. d,knee τ is the stiffness coefficient of the hip joint. hip and τ knee These are the assist torques of the hip and knee joint motors of the exoskeleton, respectively.
[0136] In one embodiment, step S11, obtaining the actual motion trajectory and target joint torque of the first and second sides of the target joint of the target user, includes:
[0137] Step S111: Collect the original motion trajectories of the first and second sides of the target user, and filter the original motion trajectories to obtain the actual motion trajectories of the first and second sides of the target joint.
[0138] Step S112: Collect the original joint torque of the target joint and normalize the original joint torque to obtain the target joint torque of the target user.
[0139] In the application, taking the hip and knee joints as the target joints as examples, four inertial measurement units are fixed on the thighs and calves of the target user on both sides to collect the original motion trajectory of the target joints (including the actual joint angle and angular velocity). At the same time, the torque motor of the target joint of the exoskeleton collects the original joint torque of the first and second sides of the target joint.
[0140] First, apply a fourth-order Butterworth low-pass filter to the original motion trajectory. Its transfer function can be expressed as:
[0141]
[0142] Where s is a complex variable in the Laplace domain, f c is the cutoff frequency, and n is the filter order.
[0143] The original joint torque is then normalized according to the target user's body weight (BW) to obtain the target joint torque, i.e. (Unit: Nm / kg)
[0144] In the application, timestamps are used to synchronize the patient's actual movement trajectory with the target joint torque data, and Kalman filtering is used to fuse multi-source signals to eliminate noise interference.
[0145] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0146] This application also provides an exoskeleton control system for executing the steps described in the exoskeleton control method embodiments. The exoskeleton control system can be a virtual appliance in a terminal device, run by the terminal device's processor, or it can be the terminal device itself.
[0147] like Figure 2 As shown, the exoskeleton control system 200 provided in this application embodiment includes:
[0148] The data acquisition module 201 is used to acquire the actual motion trajectory and target joint torque of the first and second sides of the target user's target joint.
[0149] The expected trajectory prediction module 202 is used to input the actual motion trajectory of the first side of the target joint into the expected trajectory prediction model to obtain the expected motion trajectory of the second side of the target joint.
[0150] The assist parameter optimization module 203 is used to iteratively optimize the assist parameters based on the joint force comprehensive index of the target joint to obtain new assist parameters or optimal assist parameters. The joint force comprehensive index of the target joint is calculated based on the actual motion trajectory of the first and second sides of the target joint and the torque of the target joint.
[0151] The assist torque calculation module 204 is used to calculate the target assist torque based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters.
[0152] The assist control module 205 is used to control the exoskeleton to provide assistance based on the target assist torque.
[0153] In one embodiment, the assist parameter optimization module 203 is used to:
[0154] If a proxy model exists and the iteration termination condition is not triggered, proceed to the step of training the proxy model based on the dataset;
[0155] Evaluate the comprehensive joint force index corresponding to each initial assist parameter and construct a dataset;
[0156] Build an agent model;
[0157] The agent model is trained based on the dataset;
[0158] New assist parameters are determined by optimizing the acquisition function;
[0159] Evaluate the new joint force comprehensive index corresponding to the new assist parameters, and update the dataset;
[0160] If the new joint force comprehensive index is less than the current optimal value, then the current optimal value is updated to the new joint force comprehensive index, and the initial value of the current optimal value is the minimum value of the joint force comprehensive index corresponding to the initial assist parameter.
[0161] When the iteration termination condition is triggered, the assist parameter corresponding to the current optimal value is determined as the optimal assist parameter.
[0162] In one embodiment, the exoskeleton control system 200 further includes a joint force comprehensive index calculation module 206, used for:
[0163] The target assist torque is calculated based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters.
[0164] When assisting the exoskeleton control based on the target assist torque, the actual motion trajectory and target joint torque of the first and second sides of the target user's target joint are obtained.
[0165] Based on the actual motion trajectories of the first and second sides of the target joint and the torque of the target joint, the comprehensive index of joint force corresponding to the assist parameters is calculated.
[0166] In one embodiment, the joint force comprehensive index calculation module 206 is used to calculate a symmetry factor based on the actual joint angles and actual joint angular velocities of the first and second sides of the target user.
[0167] The comprehensive index of joint force is calculated based on the symmetry factor and the target joint torque.
[0168] In one embodiment, the assist torque calculation module 204 is used for:
[0169] Calculate the difference between the expected motion trajectory of the second side and the actual motion trajectory of the second side at the critical nodes of the support phase or swing phase;
[0170] The target assist torque is calculated based on the assist parameters, the difference, and the assist torque calculation formula.
[0171] In one embodiment, the data acquisition module 201 is used to acquire the original motion trajectories of the first and second sides of the target user, and filter the original motion trajectories to obtain the actual motion trajectories of the first and second sides of the target joint.
[0172] The original joint torque of the target joint is collected and normalized to obtain the target joint torque of the target user.
[0173] In applications, the modules in an exoskeleton control system can be software program modules, or they can be implemented through different logic circuits integrated in a processor, or they can be implemented through multiple distributed processors. For example... Figure 3 As shown, this application embodiment also provides an exoskeleton system 300, including an exoskeleton 301 and an exoskeleton control system 200 as described in this application embodiment.
[0174] Figure 4 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Figure 4 As shown, the terminal device 4 in this embodiment includes: at least one processor 40 ( Figure 4 (Only one is shown) a processor, a memory 41, and a computer program 42 stored in the memory 41 and executable on the at least one processor 40, which, when executing the computer program 42, implements the steps in any of the above-described embodiments of the exoskeleton control methods.
[0175] The terminal device may include, but is not limited to, a processor 40 and a memory 41. Those skilled in the art will understand that... Figure 4 This is merely an example of terminal device 4 and does not constitute a limitation on terminal device 4. It may include more or fewer components than shown in the figure, or combine certain components, or different components. For example, it may also include input / output devices, network access devices, etc.
[0176] The processor 40 can be a Central Processing Unit (CPU), but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0177] In some embodiments, the memory 41 may be an internal storage unit of the terminal device 4, such as a hard disk or memory of the terminal device 4. In other embodiments, the memory 41 may be an external storage device of the terminal device 4, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the terminal device 4. Furthermore, the memory 41 may include both internal and external storage units of the terminal device 4. The memory 41 is used to store the operating system, applications, bootloader, data, and other programs, such as the program code of the computer program. The memory 41 can also be used to temporarily store data that has been output or will be output.
[0178] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.
[0179] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0180] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps described in the various method embodiments above.
[0181] like Figure 5 As shown, this application embodiment provides a computer program product 5, including a computer program 50. When the computer program 50 is run, the steps in the above-described exoskeleton control method embodiments are executed.
[0182] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when 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 files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a device / terminal equipment, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.
[0183] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0184] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0185] In the embodiments provided in this application, it should be understood that the disclosed terminal devices and methods can be implemented in other ways. For example, the terminal device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0186] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0187] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. An exoskeleton control method, characterized in that, The method of controlling the exoskeleton to provide assistance when the target user triggers exoskeleton assistance includes: Obtain the actual motion trajectory and target joint torque of the first and second sides of the target joint of the target user; The actual motion trajectory of the first side of the target joint is input into the expected trajectory prediction model to obtain the expected motion trajectory of the second side of the target joint; Based on the comprehensive force index of the target joint, the assist parameters are iteratively optimized to obtain the assist parameters. The comprehensive force index of the target joint is calculated based on the actual motion trajectory of the first and second sides of the target joint and the torque of the target joint. The target assist torque is calculated based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters. The exoskeleton is controlled to provide assistance based on the target assist torque. Return to the step of obtaining the actual motion trajectory and target joint torque of the first and second sides of the target joint of the target user; Among them, the joint comprehensive force exertion index is The calculation formula is as follows: in, It is a symmetry factor. The target joint torque reflects the force exerted by the target joint on the second side. This is a weighted coefficient vector. The gait symmetry weight is 0.
6. The force exerted by the joint is weighted at 0.
4. It represents the Hadamardi (or Hadama) stack; The formula for calculating the symmetry factor SF is as follows: in, Let be the joint angle on the first side. This refers to the joint angle on the second side. The joint angular velocity on the first side. ω represents the joint angular velocity on the second side.
2. The exoskeleton control method as described in claim 1, characterized in that, The auxiliary parameters are iteratively optimized based on the comprehensive joint force index of the target joint to obtain the auxiliary parameters, including: If a proxy model exists and the iteration termination condition is not triggered, proceed to the step of training the proxy model based on the dataset; Evaluate the comprehensive joint force index corresponding to each initial assist parameter and construct a dataset; Build an agent model; The agent model is trained based on the dataset; New assist parameters are determined by optimizing the acquisition function; Evaluate the new joint force comprehensive index corresponding to the new assist parameters, and update the dataset; If the new joint force comprehensive index is less than the current optimal value, then the current optimal value is updated to the new joint force comprehensive index, and the initial value of the current optimal value is the minimum value of the joint force comprehensive index corresponding to the initial assist parameter; When the iteration termination condition is triggered, the assist parameter corresponding to the current optimal value is determined as the optimal assist parameter.
3. The exoskeleton control method as described in claim 2, characterized in that, Evaluate the comprehensive joint force output index corresponding to any assistive parameter, including: The target assist torque is calculated based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters. When assisting the exoskeleton control based on the target assist torque, the actual motion trajectory and target joint torque of the first and second sides of the target user's target joint are obtained. Based on the actual motion trajectories of the first and second sides of the target joint and the torque of the target joint, the comprehensive index of joint force corresponding to the assist parameters is calculated.
4. The exoskeleton control method as described in claim 3, characterized in that, The comprehensive joint force index corresponding to the assist parameters is calculated based on the actual motion trajectories of the first and second sides of the target joint and the torque of the target joint, including: The symmetry factor is calculated based on the actual joint angles and actual joint angular velocities of the first and second sides of the target user. The comprehensive index of joint force is calculated based on the symmetry factor and the target joint torque.
5. The exoskeleton control method according to any one of claims 1 to 4, characterized in that, The calculation of the target assist torque based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters includes: Calculate the difference between the expected motion trajectory of the second side and the actual motion trajectory of the second side at the critical nodes of the support phase or swing phase; The target assist torque is calculated based on the assist parameters, the difference, and the assist torque calculation formula.
6. The exoskeleton control method according to any one of claims 1 to 4, characterized in that, The acquisition of the actual motion trajectory and target joint torque of the first and second sides of the target user's target joint includes: The original motion trajectories of the first and second sides of the target user are collected, and the original motion trajectories are filtered to obtain the actual motion trajectories of the first and second sides of the target joint. The original joint torque of the target joint is collected and normalized to obtain the target joint torque of the target user.
7. An exoskeleton control system, characterized in that, include: The data acquisition module is used to acquire the actual motion trajectory and target joint torque of the first and second sides of the target user's target joint; The desired trajectory prediction module is used to input the actual motion trajectory of the first side of the target joint into the desired trajectory prediction model to obtain the desired motion trajectory of the second side of the target joint. The assist parameter optimization module is used to iteratively optimize the assist parameters based on the comprehensive joint force index of the target joint to obtain the assist parameters. The comprehensive joint force index of the target joint is calculated based on the actual motion trajectories of the first and second sides of the target joint and the torque of the target joint. The comprehensive joint force index is... The calculation formula is as follows: in, It is a symmetry factor. The target joint torque reflects the force exerted by the target joint on the second side. This is a weighted coefficient vector. The gait symmetry weight is 0.
6. The force exerted by the joint is weighted at 0.
4. It represents the Hadamardi (or Hadama) stack; The formula for calculating the symmetry factor SF is as follows: in, Let be the joint angle on the first side. This refers to the joint angle on the second side. The joint angular velocity on the first side. The joint angular velocity on the second side; The assist torque calculation module is used to calculate the target assist torque based on the desired motion trajectory of the second side of the target joint, the actual motion trajectory of the second side of the target joint, and the assist parameters. The assist control module is used to control the exoskeleton to provide assistance based on the target assist torque.
8. An exoskeleton system, characterized in that, Includes an exoskeleton and an exoskeleton control system as described in claim 7.
9. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the exoskeleton control method as described in any one of claims 1 to 6.
10. A computer program product, characterized in that, Includes a computer program, which, when executed, causes the exoskeleton control method as described in any one of claims 1 to 6 to be performed.