2.2. Body Weight Support System
The overall conceptual design of the online variable-stiffness BWS system is shown in
Figure 1. This device seamlessly integrates both active dynamic and passive static weight-unloading principles. It comprises two actively controlled electric drives in a closed-loop configuration. One drive generates the desired force, while the other dynamically adjusts the stiffness, functioning like a virtual elastic spring element. Both force-generating units exert their influence on the patient through a polyester rope connected to a harness worn by the patient. The length of the rope can be adjusted with an electric winch, allowing the system to be tailored to accommodate patients of different sizes.
To ensure a stable force and smooth walking experience for patients, two electric drives are implemented for the real-time adjustment of the suspension rope. The two electric drives are assembled onto the corresponding left and right mounting plates, respectively, using hexagonal screws. Additionally, the pulley components and force sensors are installed on the left and right mounting plates. The lifting rope, wound around the capstan, intricately threads through the pulley components to establish a connection between the two force sensors. The configuration links the lifting rings via the central output pulley assembly, forming the suspension assembly of the device.
The electric drive comprises a servo motor, reduction gear, capstan, and an absolute rotary encoder. The reduction gear is strategically positioned between the capstan and the servo motor. The output of this reduction gear rotates in unison with the flange, securely connected by bolts, thereby driving the capstan to rotate simultaneously. The capstan’s other end is bolted to the bearing support end cover, from which a short shaft extends outward. This shaft connects to the encoder via a coupling, enabling the encoder to record data such as the capstan’s rotation speed. Once this information is transmitted to the host computer, precise instructions are sent to the motor. This orchestrated process allows the host computer to control the drum rotation in real time, enhancing the stability of force for patients during walking.
The entire framework uses an xPC Target real-time kernel to enable real-time data transmission from the BWS system (
Figure 2). We selected the YASKAWA-SGM7J-08A servo motor (Yaskawa America, Waukegan, IL, USA), with a rated power of 750 W and a rated torque of 2.39 N·m, for its high efficiency and precision, which are essential for the operation of our BWS system. This choice ensures that the motor can handle the dynamic loads and provide the necessary power for supporting the body weight effectively. The control program for the BWS system is programmed in MATLAB Simulink, with instructions transmitted to the xPC Target computer via a network cable. Simultaneously, data from the motor and force sensor are relayed back to the host PC via National Instruments (NI) acquisition cards. This intricately designed system ensures seamless information flow, fostering effective communication and synchronization between the user interface, control software, and the real-time components of the BWS system.
2.3. Controller
The online variable-stiffness intelligent anti-gravity dynamic suspension system consists of two active drive systems. System 1 employs admittance control to enable the on-line adjustment of the simulated spring stiffness by adjusting relevant parameters in the control system. System 2 provides the stable unloading force of the whole system by determining the relevant parameters in the control system. The realization principles of these systems are introduced below.
For an active dynamic body weight support (BWS) system, the objective is not only to accommodate the static unweighting of the body but also to minimize the inertial forces generated during dynamic processes [
19]. Hence, as an effective BWS system, reductions in weight should correspondingly decrease inertial forces, ultimately providing users with a more comfortable experience. The auxiliary force is described as follows:
In the formula, represents the weight compensation; represents the inertial force compensation; and and are proportional coefficients that control the size of the required compensation force. For the weight force compensation, represents the mass of an individual; represents the acceleration of gravity; and represents the vertical acceleration of an individual. Note that when is determined, it remains constant and becomes the primary unloading force of the system. Furthermore, can be adjusted in response to changes in the acceleration observed in human motion dynamics. Given that the magnitude of is limited during walking, the value of falls within a narrow range, primarily ensuring comfort for the subjects. Therefore, is crucial in achieving adjustability through the control algorithm.
In our suspension system, the rope passes through a movable pulley output component, winds around a fixed pulley component connected to an S-type tension sensor, and is anchored to a fixed pulley assembly on the short side support plate before winding into the capstan. This arrangement allows for the vertical movement of the rope. These components generate auxiliary forces to compensate for weight and dynamically adjust to human movements or environmental conditions, thereby reducing muscular effort. Since two driving systems act on a traction rope, if the expected driving force is
, the expected driving force of system 1 is
, while that of system 2 is
. Their relationship with the auxiliary force is as follows:
Specifically, the desired driving force of the system is controlled by the admittance control algorithm. Admittance control is a force–position control strategy that ensures precise control over the force and position of the load by managing the system’s admittance [
21]. This method incorporates an inner loop focused on position control and an outer loop centered on force control; specifically, a desired position generated by the second-order admittance model is adjusted to conform to a predefined position trajectory before being forwarded to the position control’s inner loop for final adjustments. The implementation process is shown in
Figure 3.
The core expression of the admittance control module in the flow chart is as follows:
Among them, represent the inertia, damping, and stiffness characteristics, respectively; the dynamic properties of the robot can be altered by adjusting these parameters. represent the expected acceleration, velocity, and trajectory of the target, respectively. represent the initial expected acceleration, velocity, and trajectory of the target, respectively. is the difference between the actual contact force and the expected force . In the control module, the S-type pressure sensor is connected to the fixed pulley assembly, allowing to be measured in real time. The actual output position, , is converted by the servo motor encoder.
The transfer function of admittance control is as follows:
In order to improve the performance of the admittance control, we added links such as balancing noise, displacement, and speed compensation on the basis of the admittance control, as shown in
Figure 4. The purpose of the compensator is to prevent large variations in the displacement and speed of the subject, thereby avoiding discomfort. When the displacement exceeds the prescribed limits, the algorithm will reduce the displacement appropriately, and it maintains the subject within acceptable bounds; when the displacement is within these bounds, the speed will be mildly adjusted to prevent excessive movement of the traction rope. The function of noise balancing is to mitigate minor disturbances in the system.
In this admittance control configuration, the system compliance can be easily adjusted by modifying the values
. The principle of the position control module in the control chart involves designing a position controller to track
. The position controller used in this study is a proportional–differential (PD) controller. The mathematical expression of the PD controller used for position control is as follows:
In the formula, is the proportional gain, which controls the influence of the proportional part. is the differential gain, which controls the influence of the differential part. Since are known, in Formula (4) remains the only unknown. Once the reference contact force is set, the above differential equation can be solved. The solution to this differential equation is a time-varying function. Subsequently, the expected position is continuously adjusted via the position closed loop in Formula (6), drawing the driving load mechanism progressively closer to this target value until it stabilizes at the desired position.
In the steady state, the force balance equation of the controller becomes Equation (7), and the stiffness can be adjusted by modifying
.
Since
and
are adjustable, we can configure two distinct driving systems by setting appropriate parameter values. Therefore, when the relevant parameters in the control system are dynamically adjusted, drive system 1 can be obtained, thus realizing the online adjustment of the simulated spring stiffness. By setting fixed parameters in the control system, drive system 2 can be established, which is designed to deliver a stable unloading force throughout the system. The specific parameters are listed in
Table 1.
By integrating admittance control principles with two active drive systems and employing an automatic control algorithm to ensure consistent weight loss, the components—sensor, rope, and active drive system—function cohesively as a unified suspension system. This configuration allows the intelligent anti-gravity dynamic suspension system, equipped with adjustable online stiffness, to synchronize the center of gravity precisely with the user’s gait cycle. Consequently, this system achieves stable force control and dynamic weight management effectively.
2.4. Evaluation
A comprehensive evaluation of the body weight support (BWS) system was conducted, focusing on two primary dimensions: 1. to explore the displacement and force variations in ropes across different participants under various stiffness settings and to observe the system’s real-time performance under conditions of online variable stiffness, assessing its adaptability and responsiveness; and 2. to evaluate the consistency of the weight reduction among the same participants under different stiffness settings, aiming to determine the most suitable stiffness parameters tailored to the unique needs of specified participants.
Prior to the experiment, the system was calibrated using standard weights as an initial step. Subsequently, participants were instructed to walk on the treadmill (
Figure 5), and force signals were measured to calculate both the average and maximum unloading errors. The results demonstrated that the system is suitable for patients weighing up to 200 kg, with a maximum dynamic unloading capacity of 150 kg. Upon receiving the automatic unloading control command, the motor engaged, lifting the participant to the desired unloading force. Throughout the walking training session, the system maintained a consistent unloading force with minimal fluctuation. Notably, the required unloading can be adjusted in real time during walking training without interrupting the treadmill activity or physically lifting the patient.
In weight unloading rehabilitation training, it is crucial to gradually reduce the unloading weight mass based on the patient’s recovery progress until they can independently support their own weight without relying on the BWS system. Inadequate weight unloading can lead to muscle injury, whereas excessive weight unloading may fail to achieve the desired rehabilitation effect. In this experiment, five healthy subjects with weights ranging approximately from 50 kg to 100 kg were selected. Half of their body weight was unloaded during the training. The treadmill was set to a walking speed of 4 km/h, and the stiffness of the system varied from 0 to 1000 N/m. NI acquisition cards with a sampling frequency of 2 kHz were employed to capture accurate data. During each experiment, the subjects walked on the treadmill for a duration of 1 min. A pre-written MATLAB program (R2024a) was utilized to record the displacement, tension, and other relevant data during the walking process. To ensure reliability and validity, each experiment was repeated three times, allowing for comprehensive data collection and analysis.