1 Introduction

As the elderly population and individuals with limb dysfunction continue to increase, medical staffs, caregivers, and medical resources are highly demanded to provide assistance in walking, nursing care, and daily living. Impaired mobility significantly reduces life expectancy in patients; rehabilitation training is required to recover and regain their mobility. Therefore, it is necessary to develop assistive devices using state-of-the-art technologies. Also, therapists can at least have their heavy work of rehabilitation training partially reduced. With the advance of robotic technologies, an exoskeleton type of robot has been developed, such as wearable robots. It is an integrated system combining human intelligence and machine power. The interaction between the exoskeleton robot and the user is much closer than with other types of robots. The underlying medical problems make its realization quite challenging.

A survey carried out by the United Nations revealed that people older than 60 years accounted for 11.5% of the global population in 2012 and the figure will nearly double in 2050 [1]. By the year of 2050, aging will be even worse in China and European countries where > 30% of the population will be elderly. The frailty of elderly people is reflected on reduced daily physical activities such as walking infrequently. Since muscle mass and strength are significantly reduced in elders [2], various types of robots have been developed for assistive purposes, e.g., robot walking helpers, such as lower limb robotic exoskeletons (LLRE), i-Go [3], MIT-MANU assisting the elderly in walking, and end-effector robots [4]. Moreover, the assistive exoskeletons could assist the elderly or individuals with mobility disorders in terms of power and motion tasks [5]. To control a robot walking helper, Spenko et al. [6] used a variable damping model to increase the walking stability. The exoskeletons designed by Aquirre and Peshkin [7] and Kong et al. [8] employed a torque sensor and spring devices to compensate for the inertia of the mechanism. Yi et al. [9] presented an active disturbance rejection control (ADRC)-based strategy, which was applied to track the human gait trajectory for a lower limb rehabilitation exoskeleton. Song et al. [10] applied a novel design with an assistive torque generation and compliant motion of a knee for an LLRE.

The following studies on master controllers include the development of a robot control system [4], movement balance [6], gravity compensation [7,8,9], and gait control [10], resulting in heavy duty for the master controllers. These master controllers are involved in complex designs and large computations. The major reason that computers were still used as master controllers is because similar functions could not be incorporated into a compact chip. Technically, a commercial motor controller could not provide sufficient responses for the robot’s needs [7,8,9,10]. To achieve high performance, the design of motor controllers with servo drives for bandwidth improvement was presented [11, 12], but the impact of the external load was not considered.

This paper presents a LLRE of aluminum alloy with adjustable mechanisms. A four-motor control system with four Maxon brushless direct current (BLDC) motors and four harmonic reducers (HD) was developed and installed in the LLRE for the hips and knees, respectively. The master and slave motor controllers were developed for the LLRE. The Texas Instruments (TI)-embedded chip (TMS320F28069) was used as the master controller, while four TI controller boards (DRV8301-TMS320F28069) were used as slave motor controllers. The master controller was used to provide the gait commands to complete the walking patterns. To simplify the task, the master controller only deals with the gait commands, without performing complex feedback controls, while the complex feedback algorithms were completed by the four slave motor controllers, respectively. To obtain robust LLRE motion, a high bandwidth algorithm was developed to enhance the response and stability of the master and slave motor controllers. To enhance the mobility and maintain a high response bandwidth, the variation of the external load torque induced by the LLRE motion was considered. Therefore, an external load torque observer was developed to compensate for the external load torque. Finally, the motion trajectory of each joint was compared with the gait commands to analyze the dynamic response.

2 Methods

2.1 LLRE Structures

A controller system with four Maxon BLDC motors was developed and installed in the hips and knees of the LLRE for testing by humans. The motors and the HDs were fixed by a connecting plate and a coupling, as shown in Fig. 1. This connecting plate reduced the stress of the motors, while the HDs avoided any damage to the motor and reducer. The integrated development of the slave motor controller system and LLRE were assembled and tested in terms of the response bandwidth and stability of motion trajectory compared to the patient’s gait. The SolidWorks software was used to design the adjustable LLRE mechanism and calculate the inertia of the human lower limbs with the LLRE, as shown in the Fig. 2. The weight of the mechanism designed in this paper was similar to the weight of the commercial product, such as Free Bionics (20 kg) in Taiwan, Fourier Intelligence (20 kg) in China, and Rewalk (23 kg) in Israel. Moreover, the inertia was fed back to the calculation of the external load torque for the slave motor controllers. In addition, to enhance the torque of each joint, the reduction ratio of the HD must be designed. The equation of motion of the LLRE was developed. The free body diagram of the force on knees and hips was constructed, as shown in Fig. 3. The dynamic models of the hip and knee were obtained, as shown in Eqs. (1) and (2), respectively. Considering the hips and knees as the supporting points, the mass of the hips and knees on the LLRE were m1 and m2, respectively;

$$\begin{aligned} T_{hip} = & \,m_{1} g \times \sin \theta_{1} \times \frac{{l_{1} }}{2} + m_{2} g \times \left( {\sin \theta_{1} \times l_{1} + \sin \theta_{2} \times \frac{{l_{2} }}{2}} \right) + m_{3} g \times \left( {\sin \theta_{1} \times l_{1} + \sin \theta_{2} \times l_{2} + \cos 45^{ \circ } \times \frac{{l_{3} }}{2}} \right) \\ & + \;m_{3} g \times (\sin \theta_{1} \times l_{1} + \sin \theta_{2} \times l_{2} ) + \sin \theta_{1} \times m_{4} g \times l_{1} = {\text{I}}_{1} \ddot{\theta }_{1} + {\text{I}}_{2} \ddot{\theta }_{2} \\ \end{aligned}$$
(1)
$$T_{knee} = m_{2} g \times \sin \theta_{2} \times \frac{{l_{2} }}{2} + m_{3} g \times \left( {\sin \theta_{2} \times l_{2} + \cos 45^{ \circ } \times \frac{{l_{3} }}{2}} \right) = {\text{I}}_{2} \ddot{\theta }_{2}$$
(2)

where l1 was the length of the thigh, l2 was the length of the leg, l3 was the length of the foot, θ1 was the angle of hips, θ2 the angle of knees, m3 was the mass of foots, m4 was the mass of knees, and g was the gravitational acceleration.

Fig. 1
figure 1

Prototype of the LLRE with 4 HDs, master/slave motor controllers, and 4 Maxon motors

Fig. 2
figure 2

SolidWorks 3D image of LLRE: a adjustable LLRE structures, b simulated human lower limbs with LLRE

Fig. 3
figure 3

Force balance diagram of the LLRE leg

The force balance was used as given by Eqs. (1) and (2) to estimate the torque required for the hips and knees, respectively. The maximum torque required for the hips and knees were ~ 30 and 6.5 Nm, respectively. Besides, a safety factor of 1.5 was considered. Therefore, this paper selected the rated torque of a motor as 0.5 Nm. Then the reduction ratio of 1:100 was adopted to obtain 50 Nm.

2.2 Master Controller

The master controller was established with a TI chip. The controller local area network (CAN) protocol was used to interconnect the torque and speed commands to the slave motor controllers, as shown in Fig. 4. The gait pattern at comfortable walking speed was obtained by utilizing a six-camera infrared motion capture system (Oqus 100, Qualisys AB, Gothenburg, Sweden), as shown in Fig. 5. Therefore, the hip and knee joint angular velocity in gait could be obtained, as shown in Fig. 6. These joint angular velocities were used as a speed command to control the hips and knees. In addition, although an infrared motion capture system was utilized to capture a healthy human gait, different patient gaits could also be captured and installed in the master controller for different patient rehabilitation, respectively.

Fig. 4
figure 4

The architecture of the LLRE system including the four Maxon motors, coupling, adjustable mechanism, master and slave motor controllers

Fig. 5
figure 5

A motion capture system to analyze and acquire walking gait

Fig. 6
figure 6

The speed of the hips and knees of the gait where the maximum speed of hips was ~ 58 θ/s and the maximum speed of knees was ~ 37 θ/s

2.3 Architecture of the Slave Motor Controllers

For the slave motor controllers, the external load and inertia of the LLRE were considered. The control performance of the speed loop is an important factor in LLRE controllers. In this study, a speed control was utilized to control the LLRE motion and trajectory.

2.3.1 Design of the Traditional PI Controller

The conventional controller design approach gave the following results. Go was an open loop speed transfer function including a controller and a motor mechanical model. The pole-zero elimination method was used in (s + ki/kp) = (s + Bm/Jm), and Eq. (3) was obtained.

$$G_{0} (S) = \frac{{k_{p} (s + k_{i} /k_{p} )}}{s} \cdot \frac{1}{{J_{m} (s + B_{m} /J_{m} )}} = \frac{{k_{p} }}{{J_{m} \cdot s}}$$
(3)
$$G_{c} (s) = \frac{{\frac{{k_{p} }}{{J_{m} }}}}{{s + \frac{{k_{p} }}{{J_{m} }}}} = \frac{{\omega_{m} }}{{s + \omega_{m} }}$$
(4)

where kp was the proportional gain, ki was the integral gain, Jm was the motor inertia and Bm was the friction coefficient. Thus, the closed loop transfer function became Eq. (4); ωm was the bandwidth of speed loop. Therefore, the proportional and integral gains of speed controller were obtained:

$$\begin{aligned} k_{p} = \omega_{m} \cdot J_{m} \hfill \\ k_{i} = \omega_{m} \cdot B_{m} \hfill \\ \end{aligned}$$
(5)

2.3.2 The Developed High Bandwidth Speed Controller Design

The proposed high bandwidth control strategy is shown in Fig. 7. The load observer was temporarily ignored and studied later. The open-loop transfer function of the speed loop GON (s) is represented by Eq. (6). The simplified closed-loop transfer function of the current loop Gcc (s) is shown in Eq. (7), where Tc is the current loop time constant. The speed loop consisted of a PI controller, calculation delay (TTN), speed filter delay (TFN), and a motor mechanical model. In the design, the bandwidth of current loop was much larger than the bandwidth of the speed loop; the current loop Gcc (s) could then be ignored

$$G_{ON} (s) = K_{PN} \left[ {1 + \frac{1}{{s \cdot T_{NN} }}} \right]\frac{1}{{s \cdot \left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right) + B_{m} }}G_{cc} \frac{{e^{{ - sT_{TN} }} }}{{1 + s \cdot T_{FN} }}$$
(6)
$$C_{cc} (s) = \frac{1}{{T_{c} \cdot s + 1}}$$
(7)

where KPN and TNN are the PI controller gain and time constant in the speed loop, respectively. Jm, JL, and KT are the motor inertia, LLRE inertia, and torque constant, respectively.

Fig. 7
figure 7

The proposed high bandwidth control strategy in the speed loop with external load torque observer

Since the speed filter delay (TFN) was much larger than calculation delay (TTN) and the coefficient of friction (Bm) was much smaller than JL and Jm, the speed loop, Eq. (6) was simplified to Eq. (8).

$$G_{ON} (s) \approx \frac{{K_{PN} (1 + s \cdot T_{NN} )}}{{s^{2} \cdot \left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)T_{NN} \left( {1 + s \cdot T_{FN} } \right)}}$$
(8)

According to the symmetric optimal method [11], the design parameter α was introduced. The main mean of the symmetrical optimum was to choose the crossover frequency at the geometric mean of the two corner frequencies.

The α value was obtained as ~ 2 to 4, and the controller gain (KPN) and speed controller time constants (TNN) are given by Eqs. (9) and (10), respectively. The closed loop transfer function GCN(s) is given by Eq. (11).

$$K_{PN} = \frac{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)}}{{\alpha T_{FN} }}$$
(9)
$$T_{NN} = \alpha^{2} T_{FN}$$
(10)
$$G_{CN} (s) \approx \frac{{(1 + s \cdot T_{NN} )}}{{s^{3} \cdot \left( {\frac{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)T_{NN} T_{FN} }}{{K_{PN} }}} \right) + s^{2} \cdot \left( {\frac{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)T_{NN} }}{{K_{PN} }}} \right) + s \cdot T_{NN} + 1}}$$
(11)

2.3.3 External Load Torque Observer

The external load torque interfered in the speed loop could not be measured directly. Thus, an observer of the external load torque was developed to estimate the variation of the current and speed of the motors. The Mechanical Eq. of the permanent magnet synchronous motor (PMSM) is expressed as Eq. (12).

$$T_{e} = J\frac{{d\omega_{m} }}{dt} + B_{m} \omega_{m} + \tau_{L}$$
(12)
$$J = J_{m} + \frac{{J_{L} }}{{HD^{2} }}$$
(13)

where J is the inertia of the motor and LLRE mechanism, τL is the external load torque, and Te is the electromagnetic torque of the motor.

For most applications, the load torque τL was a slow time-varying variable whose difference could be expressed as follows:

$$\frac{{d\tau_{L} }}{dt} = 0$$
(14)

Then, the mathematical model of the motor speed loop Eq. (15) was obtained from Eqs. (12)–(14).

$$\left[ {\begin{array}{*{20}c} {\frac{{d\omega_{m} }}{dt}} \\ {} \\ {\frac{{d\tau_{L} }}{dt}} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} { - \frac{{B_{m} }}{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)}}} \\ {} \\ 0 \\ \end{array} \begin{array}{*{20}c} { - \frac{1}{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)}}} \\ {} \\ 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} \omega \\ {} \\ {\tau_{L} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {\frac{1}{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)}}} \\ {} \\ 0 \\ \end{array} } \right]T_{e}$$
(15)

Based on the Gopinath theory [13], external load torque observers could be established effectively.

$$\frac{{d\hat{\tau }_{L} }}{dt} = \frac{l}{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)}}\tilde{\tau }_{L} + \left[ {\frac{{lB_{m} }}{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)}} + l\frac{d}{dt}} \right]\omega_{m} - \frac{l}{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)}}T_{e}$$
(16)

The observer coefficient (l) was defined as [14]:

$$l = - \frac{{2\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)}}{T}$$
(17)

where T was sampling time based on the speed sampling frequency (fsp), \(\tilde{\tau }_{L}\) was the intermediate variable of the external load torque observer, and \(\hat{\tau }_{L}\) was the estimate of the external load torque.

In this proposed external load torque observer, the dynamic part and the static part were considered This proposed external load torque observer was defined according to Eq. (15), where \(\frac{{d\omega_{m} }}{dt}\) was the acceleration of the exoskeleton during motion. Moreover, \(\frac{{d\omega_{m} }}{dt}\) multiplied the observer coefficient l to obtain the dynamic load torque of the mechanism. The frequency domain estimation Eq. (18) of the external load torque observer was obtained from Eq. (16). The proposed external load torque observer is shown in Fig. 8:

$$\hat{\tau }_{L} = \frac{{\left( {\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)s + B_{m} } \right)l\omega - l{\text{T}}_{e} }}{{\left( {J_{m} + \frac{{J_{L} }}{{HD^{2} }}} \right)s - l}}$$
(18)
Fig. 8
figure 8

External load torque observers

Also, the external load torque observer in the slave controller was used as a balance correction, which could compensate the dynamic moment of the mechanism in motion to achieve the effect of subsidizing the balance [13, 14].

3 Results

3.1 Specifications

The motors on the hips and knees of the LLRE were controlled by sequence to enable a comfortable walking gait. The experimental results verified the proposed controller design method. The experimental block diagram of the developed servo motor driver is shown in Fig. 9. TI DRV8301-TMS320F28069 was used to achieve the control strategy. The signals of the current and speed were output by the D/A converter. The specifications of the experimental system and the servo motor are shown in Table 1.

Fig. 9
figure 9

Block diagram of the developed master/slave motor driver with CAN structure

Table 1 Specifications of the PMSM

3.2 Verification of Slave Motor Controller

To verify the bandwidth of the slave motor controllers, the motors were installed on the hips and knees of the LLRE for the testing. Figure 10 shows the closed loop bandwidth analysis of the hip and knee motors. Figure 10a shows the simulated Bode diagram of the hips. When the speed response delay was ~ 90°, the resulting bandwidth was 118 Hz. Figure 10b shows the experimental results of the hips. A sinusoidal excitation was input as an input value to examine the speed performance. When the amplitude and frequency of the speed reference were 100 rpm and 114 Hz, respectively, the resulting speed response delay was approximately 90°. It was found that the simulated and actual experiment were consistent with each other. Figure 10c, d show the simulated and experimental results of the knees, respectively. When the phase delay was 90°, the simulated and experimental results of frequency were 157 and 160 Hz, respectively. The simulated and experimental results showed good agreement with each other.

Fig. 10
figure 10

The bandwidth of the slave motor controllers was verified on the LLRE: a the simulated of Bode diagram of the hips, b the experimental bandwidth of the hips. c The simulated Bode diagram of the knees, d the experimental bandwidth of the knees

3.3 Verification of External Load Torque Observer

To estimate the external torque during the gait, the gait curve of the hips and knees were approximated by a function as shown in Fig. 11; the result was substituted into Eqs. (17) and (18) to obtain the simulated external load torques. The maximum speed of the hips reached 611 rpm, and the maximum speed of knees was 307 rpm. Figure 12 shows a comparison of the external load torques between the simulated and measured values with the walking gait, where the estimated external load torque was measured by the D/A converter. Figure 12a shows that the trend of the external load torque of the hips was consistent with both the simulation and measurement. The maximum external load torque of hips was 0.235 Nm and the maximum error was 0.075 Nm. However, a slight error was observed because there were other dynamic characteristics such as acceleration and inertia that were not considered in the simulation. Similarly, the trend of torsion was also consistent with the simulation and measurement of the knees in Fig. 12b. The maximum external load torque of knees was 0.045 Nm and the maximum error was 0.033 Nm. Therefore, the correctness of this external load torque estimation method was validated and used in the compensation of the system.

Fig. 11
figure 11

The experimental walking gait of the hips and knees

Fig. 12
figure 12

The external load torque of the LLRE while walking compared with the gait: a comparison of the simulated and measured external load torque of the hips, b comparison of the simulated and measured external load torque of the knees

4 Discussion

Walking experiments were carried out under the protection of safety facilities. The wearer’s weight was ~ 65 kg and height was ~ 174 cm. We installed straps on the waist, thighs, calves and ankles on the exoskeleton to fix the tester with this robotic mechanism. The user could adjust the dimensions of the LLRE system before walking. Two experiments were conducted by this high-bandwidth PI strategy. Figure 13 shows the trajectory in the complete hips and knees gait cycle, respectively. We considered the height ratio of the human body in the design of the mechanism to conform the structure to the human body. Therefore, the LLRE has good safety in wearing. The master controller issued a pre-set gait to the slave motor controllers via CAN protocol and drove the hip and knee motors to respond. Figure 14a, b show the tracking performance by a traditional PI control strategy for the gait of the hip and knee motors. On the hips, the speed response delay was about 0.02 s and the maximum velocity error was 160 rpm. On the knees, the speed response delay was about 0.01 s and the maximum speed error was 75 rpm. Figure 14c shows the tracking errors of the hips and knees by the traditional PI control strategy. The hip error fell within the range of − 100 to 160 rpm, while the knee error was at − 30 to 75 rpm. Figure 14d, e show the tracking performance by a high-bandwidth PI control strategy for the gait of the hip and knee motors. On the hips, the speed response delay was about 0.0005 s and the maximum speed error was 75 rpm. On the knees, the speed response delay is about 0.0001 s and the maximum speed error was 50 rpm. Figure 14e shows the two tracking errors by this high bandwidth PI control strategy. As shown in Fig. 14f, the hip error was within the range of − 50 to 75 rpm and the knee error was within the range of ± 50 rpm. Compared to the traditional PI control strategy, we posit that a high bandwidth control strategy may improve the human gait tracking performance.

Fig. 13
figure 13

Human walking test wearing the LLRE

Fig. 14
figure 14

Comparison of the traditional PI and the developed high bandwidth PI control strategies: a, b the trajectory tracking of the hip and knee motors, respectively, by the traditional PI control strategy, c the trajectory error of the two in traditional PI control strategy, d, e the trajectory tracking of the hip and knee motors, respectively, by this high bandwidth PI control strategy, f the tracking errors of two by the high bandwidth PI control strategy

In addition, the master controller did not need to process the closed loop control because we had considered the maximum value of the acceleration to avoid exceeding the limit of the slave motor system output in the design of the mechanism. Taking this for example, the maximum acceleration of the knee in the gait was about 9.15 rad/s2 and the acceleration of the slave after HD was increased to 12.8 rad/s2. Therefore, the acceleration of the slave motor system was sufficient to handle the feedback response. The experimental results prove this fact, as shown in Fig. 14. Moreover, the feature of the design was that the slave motor system could fully handle the feedback, whereas the master controller was only responsible for issuing commands. This design enabled the master controller to reduce complex feedback control, which was now handled separately by the four slave motor systems.

To clearly compare the performance of our method with the traditional PI control strategy, the root mean square error (RSME) was defined to examine the control performance as follows:

$$RSME = \sqrt {{{\sum\limits_{k = 1}^{N} {\left\| {e(k)} \right\|^{2} } } \mathord{\left/ {\vphantom {{\sum\limits_{k = 1}^{N} {\left\| {e(k)} \right\|^{2} } } N}} \right. \kern-0pt} N}}$$
(19)

where N was the size of error vector and e(k) was the tracking error.

The gait tracking errors were calculated, as shown in Fig. 15. The gait tracking errors of both the hip and the knee motors by our proposed method were smaller than the counterpart results from the general PI control strategy. It is worth noting that the tracking error on the hips was significantly reduced from ~ 83 to ~ 23. The knee was not improved significantly as the variation of the external load torque of hip was larger than that of the knee during motion. As shown in the Fig. 12a, the external load torque on the hip was large, but the variation in external load torque of knee was small (Fig. 12b). Therefore, the RSME improvement of the knee was less obvious than that of the hip.

Fig. 15
figure 15

RSME comparison between the traditional PI and proposed high bandwidth PI control strategy

5 Conclusions

Taken together, herein, we presented a multi-axis motor control system for the LLRE. The results showed that HDs reduced the transmission system and increased the torque output. To reduce the weight of the adjustable mechanism, lightweight aluminum alloy did decrease the LLRE weight and supported the wearer without significant deformation. The whole-system development of the multi-axis slave motor controller system, master controller and LLRE were assembled and tested in terms of gait trajectory and response. The high bandwidth speed controller and the external load torque observer were designed in the slave motor controllers. After the simulated and experimental verification, the response frequency of the hips reached 115 Hz, and the response frequency of the knees reached 158 Hz. The correctness of this external load torque estimation method was validated and used in the compensation of the system. The master controller input walking gait commands to the slave motor controllers, and the gait tracking were further analyzed. The experimental results showed that our proposed high-bandwidth PI control strategy drastically reduced the speed error for the hips. The RSME of the hip’s tracking error was significantly decreased by 74%. The development of this LLRE with a master controller/the slave motor controllers strategy through CAN protocol shows potential for the medical-assistive application.