1 Introduction

Several different worn exoskeletons have been developed to support the elderly's daily activities [1,2,3,4,5,6]. A number of exoskeletons based on quasi-passive elements and soft materials have also been recently developed [7, 8] for the elderly, but their functionality is limited in the sense that it is very challenging for these exoskeletons to provide a varying level of desired assistance to the user over the complete gait cycle. Therefore, for worn exoskeletons current-controlled DC drives (CCDC drives) are still the most recommended joint actuators to use for their superior load torque compensation performance, quick response and their ability to provide the desired level of varying assistance to the user [9]. Lower weight requirement for these exoskeletons limits the number and size of the joint actuators to be used. This weight reduction invariably implies a lower count and size of the joint actuators. Hence, the low number of joint actuators entails a low active degree of freedom (LADOF) for the exoskeleton, while the smaller actuator size implies limited actuator bandwidth and gear ratio [10]. This limitation, combined with rigid contact supports (primarily used to attach the human user physically), deteriorates the physical human–robotic interaction (pHRI) performance, primarily due to four main reasons. Firstly, due to limited gear ratio, the disturbing net load torque on the joint actuators is not sufficiently reduced to be ignored and severely deteriorates the joint actuator's tracking performance [9]. This joint net load torque, which arises from a complex interaction between the exoskeleton and the human limbs at multiple contact points, is highly nonlinear, uncertain and coupled. All the nonlinearity of the human exoskeleton joint space dynamics is contained in this net joint load torque [9]. Therefore, it is of paramount importance that this disturbing load torque on the exoskeleton's joint actuators is minimized to linearize the human exoskeleton system and allow the design of simple linear joint controllers for the system, with improved tracking performance. Secondly, the limited power actuators suffer from limited force bandwidth and actuation signal saturation. In turn, this inadequacy results in poor transient response and high impedance due to the reflected moment of inertia [11, 12]. Therefore, the performance of any impedance control strategy [13,14,15,16,17] trying to reduce the endpoint contact impedance of the exoskeleton gets severely affected. The desired contact point impedance is very difficult to realize in practice due to limited force bandwidth and actuation signal limitation of the actuators [10]. This issue, combined with rigid contact supports for a LADOF exoskeleton, strongly affects the assistive device's pHRI performance. The effect of rigid contact supports on pHRI for a LADOF upper body exoskeleton has been analyzed in detail in [10]. Thirdly, the exoskeleton's active degree of freedom (ADOF) is reduced due to fewer actuators. This, coupled with the unavoidable slight axial misalignment between the human and the exoskeleton joints, using rigid contact support results in increased and fast undesired interactive forces between the human and assistive devices [10]. This effect, combined with the actuator's limited force bandwidth, strongly reduces the exoskeleton's pHRI performance. Lastly, due to high load torques and large controller bandwidths, the joint actuators can potentially go into saturation which can significantly reduce their tracking performance and, in turn, can strongly reduce the pHRI performance of the exoskeleton [18].

Quite recently, several techniques have been proposed to improve the pHRI performance of the LADOF exoskeletons, suffering due to the factors mentioned above [9, 10, 18]. For example, it has been shown in [10] (for a 4-ADOF fixed upper body exoskeleton test rig) that instead of using the classical rigid supports, the end support impedance control performance in task space is effectively improved (with reduced undesired interactive forces) by using 3-D (mechanically decoupled) passive compliant supports. These passive compliant supports contain three passive compliant elements that can independently sense the 3-D interactive forces between the human and the exoskeleton. Furthermore, it has been mathematically shown in [10] that the stiffness of the respective passive compliant element of the support limits the maximum contact point impedance of the exoskeleton in a particular direction. It is also shown theoretically and practically in [10] using the upper body test rig that this approach results in an improved and safer pHRI performance for an assistive device.

To efficiently compensate the coupled nonlinear human–machine joint torques and to effectively linearize the human–machine joint dynamics, a joint space disturbance observer-based dynamic load torque compensator (DOB-based-DLTC) is initially proposed in [9], with its vectorial form recently proposed in [10]. Furthermore, a stability and performance analysis of the proposed DOB-based-DLTC w.r.t to different bandwidths has been recently presented in [18] along with a hybrid switching strategy to prevent the joint actuators from going into saturation. It has been shown in [18] that this approach simultaneously improves the stability and performance of the proposed DOB-based-DLTC in [9] and, in turn, the pHRI performance of the exoskeleton.

The work proposed in this paper is in continuation of the work done in [1, 2, 9, 10, 18, 19]. The motivation for this work is to design and develop a lower body exoskeleton so that the latest developed techniques in [9] [18] and [10] could be effectively applied to improve the pHRI performance of lower body exoskeletons. The exoskeleton initially developed in [1, 19] is designed to follow particular defined desired trajectories in joint space, resulting in strong interactive forces between the human and the exoskeleton. The exoskeleton also suffers from considerable weight and inertia. These drawbacks, coupled with very rigid contact supports, result in poor pHRI performance of this exoskeleton. The lower body exoskeleton designed in [2] has a lower weight and uses standard force control techniques to follow the human movement, but uses rigid contact supports, which result in interactive forces, not in the desired direction, which causes the force sensors at the supports to get corrupted and hence results in poor force control and poor pHRI performance for the exoskeleton.

Therefore, to practically verify the pHRI improvement for an actual wearable lower body exoskeleton, afforded by the improved task space impedance control techniques (with mechanically decoupled passive compliant contact supports) as proposed in [10], in conjunction with the new joint space load torque compensation techniques as proposed in [9, 10, 18], the design of a novel 4-ADOF lower body exoskeleton is presented with four passive degrees of freedom (PDOF) per leg. The mechanical design is presented in detail in Sect. 2. These load torque compensation techniques require accurate sensing of the joint load torques; therefore, innovative compact joint assemblies have been designed with integrated torque sensors to correctly sense the joint load torques (as shown in Sect. 2) and with incremental and absolute encoders to sense the joint positions and velocities accurately as well. Novel contact supports for thigh and shank have also been designed, with mechanically decoupled 3-D passive compliance to allow the implementation of the improved impedance control techniques in [10] as shown in Sect. 2. Special design considerations have been considered to reduce the undesired interactive forces between the human and assistive device. A methodology of selecting and verifying the joint actuators and estimating the desired assistive forces at the contact supports based on human user joint torque requirements and the degree of assistance is also thoroughly presented in Sect. 3. A new CAN bus-based distributive master–slave control architecture has been proposed in Sect. 5 to properly implement the new techniques based on [9, 10, 18]. Operational state flowcharts for both the master and slave controllers are also proposed in Sect. 5. The design details of the developed embedded control card and control box are also presented in the same section. A new control strategy capable of imparting simultaneous impedance-based force tracking control at the passive, compliant supports of the exoskeleton while using DOB-based-DLTC at the joint space is presented in Sect. 6. Experimental gait data-based simulation results, justifying the use of passive compliant arm supports in combination with DOB-based-DLTC for assistive exoskeletons, employing the proposed control strategy, are finally presented in Sect. 7.

2 Mechanical design

To provide physical assistance to the human user for his lower body daily activities (walking, sit to stand), a 4-ADOF LADOF exoskeleton is designed as shown in Fig. 1. Apart from reducing the ADOF for the exoskeleton, special design considerations are considered to reduce the exoskeleton's overall estimated weight (without the control box) to be less than 23 kg. Since joint actuators are the biggest contributed to the exoskeleton’s overall weight, their proper selection is pivotal in this regard. Proper selection of joint actuators in turn requires accurate estimation of each joint’s load torque and power requirements. (These requirements have been found and are presented in detail in Sect. 3.2 and Sect. 3.3) Furthermore, to ensure that the designed exoskeleton complies with low-risk physical assistance robot standards, namely EN-ISO 13482, the exoskeleton is designed to provide a maximum of 50% assistance to human users weighing 70 –110 kg with a height from 1.5 to 1.8 m. To reduce the size and weight of the exoskeleton but still be able to assist the human effectively, the actuators for hip and knee joints were selected to meet torque and power requirements for a medium gait speed of \(2.4\text{ km}/\text{h}\). State-of-the-art harmonic drives (as described in detail in Sect. 2.2) were used as gearheads for each actuator to reduce the weight and size of joint assemblies and, in turn, the overall weight of the exoskeleton.

Fig. 1
figure 1

Proposed design of LADOF lower limb exoskeleton with mechanically decoupled passive compliant contact supports

Fig. 2
figure 2

Proposed structural design for, LADOF lower body exoskeleton with 4-ADOF and 8-PDOF using passive compliant contact supports

Aluminum alloy with high tensile strength and low weight density properties was used to design a lightweight but robust structure of the exoskeleton (as described in Sect. 2.1). Since the ADOFs for both the exoskeleton's hip and knee joints are along the sagittal plane, the respective 3-D compliant contact supports are designed to sense the contact forces only along the same plane. To properly sense these contact forces, the compliant contact supports for the thigh and shank are correspondingly attached to their respective support structures near the knee and ankle joint assemblies, as shown in Fig. 3. The exoskeleton's thigh, shank and waist structures are adjustable using respective unique sliding adjustment mechanisms to allow proper fitting for users with different body frames and physiques.

Fig. 3
figure 3

Proposed design of 3-D compliant support attachment and sliding length adjustment mechanism

The sliding mechanism for the thigh support structure is shown explicitly in Fig. 3. The dimensions of these structures are shown in Fig. 2, while the corresponding values are shown in Table 1. The designed range of motion (ROM) values for the different DOF are listed in Table 2.

Table 1 Structural design dimensions for the exoskeleton in Fig. 2
Table 2 Range of motion values for different DOFs per leg of LADOF exoskeleton shown in Fig. 2

2.1 Structural design

The proposed structural design for the designed exoskeleton is shown in Fig. 2. The structural design of the proposed exoskeleton is based on some initial work done in [2]. Special aluminum grade material namely AL-7175-T73 was used to design the exoskeleton. This material promises high tensile and yield strengths but with low weight density which in turn has enabled a robust structure design but with reduced overall weight. FEM-based stress analysis simulations were done in Autodesk Inventor™ to optimize the structure design for strength and robustness. To effectively assist the human in his daily activities while ensuring a reduced weight of the exoskeleton, assistance to the human is provided only in the sagittal plane of hip and knee joints (for respective flexion/extension DOFs). On the other hand, to allow the human's unassisted natural movement, the exoskeleton is also designed to support 8-PDOF with 4-PDOF per leg. Furthermore, for each hip joints, internal–external rotation and abduction–adduction DOFs are passive, while for each ankle joint DOFs, i.e., dorsi–plantar flexion and inversion–eversion DOFs are passive, as listed in Table 2. The supported active and passive DOFs for the designed exoskeleton are also, respectively, shown in Fig. 2.

2.2 Joint assemblies

New joint space load torque compensation techniques like DOB-based-DLTC and hybrid DOB-based-DLTC have been proposed in [9, 18]. These techniques are shown to effectively compensate for the highly uncertain and nonlinear joint torques at the exoskeleton's active joints due to nonlinear human–machine dynamics and interaction. For proper implementation, these compensation techniques require accurate sensing of the joint load torques at all the exoskeleton's active joints. The proper implementation of the impedance control technique proposed in [10], on the other hand, requires accurate sensing of the joint position and velocity along with a proper gear head for all the active joints of the exoskeleton. Furthermore, the joint assemblies need to be designed with the lowest possible weight and size, making the design and concept of such an assembly quite challenging. Therefore, novel joint assemblies are designed to meet the above requirements compactly to ensure proper implementation of the proposed techniques for all four active joints of the lower body exoskeleton in Fig. 1. Each joint assembly primarily consists of a motor torque–sensor assembly, a harmonic drive as a gearhead and an absolute encoder with housing for absolute position sensing, as shown in Fig. 4c. The cross-sectional view of the developed joint assembly is shown in detail in Fig. 4d. The motor torque–sensor assembly, in turn, consists of a brushless DC motor as a joint actuator, an incremental encoder as a joint speed sensor and an integrated torque sensor with proper housing. The designed motor torque–sensor assembly is shown in Fig. 4a. The load torque sensor is proposed to be designed with three sensing beams to effectively sense the axial load torques about the axis of rotation of the respective joint. Four strain gauges on each side of the sensing beams are to be mounted in a full-bridge configuration for enhanced sensitivity, effective noise cancelation and efficient temperature compensation [20, 21]. The housing of the torque sensor is so designed that only the axial rotational torques are to be transmitted to the sensor while all the other undesired torques primarily due to axial or radial load forces are to be taken up by the housing, using two independent support bearings, as shown in the cross-sectional view in Fig. 4b. This, hence, in turn, ensures accurate sensing of the shaft load torque.

Fig. 4
figure 4

Proposed design of joint assembly with integrated torque sensor for the lower body exoskeleton Fig. 1. a Motor torque–sensor assembly. b Quarter-sectional view of motor torque–sensor assembly. c Complete joint assembly. d Quarter-sectional view of complete joint assembly

2.3 3-D compliant limb supports

To improve the endpoint impedance control performance of the designed lower body exoskeleton so as to reduce the undesired interactive forces between the human and the machine, innovative 3-D passive compliant limb supports are proposed for the respective thigh and shank limbs, as shown in Fig. 1. The design of passive compliant supports for the lower body exoskeleton is primarily motivated by [10], where improvement in pHRI by using such supports has been demonstrated for an impedance-controlled upper body exoskeleton. The designed thigh compliant support for the lower body exoskeleton is shown explicitly in Fig. 5, while its attachment to the respective support structure is shown in Fig. 3. A load sensor is proposed along the Y-axis of the support to sense the sagittal plane's interactive forces. Since the exoskeleton is designed to support the human only along the sagittal plane, only one such load sensor is required per support. It is imperative from a functionality perspective that mechanically decoupled passive compliance is provided by the support while maintaining low friction and undesired play [10]. This requirement is ensured by suggesting a pair of passive springs about an independent miniature roller-based slide table along each axis, as shown in Fig. 5. A roller-based slide table for each axis is suggested to ensures mechanical decoupling and low friction, which is imperative for imparting the desired level of passive compliance along each support axis. Limited PDOF is also suggested about the Y-axis to allow proper alignment of the human limb with that of the support axis, as illustrated in Fig. 5. Although from a control perspective, the passive compliance only along the support direction, i.e., Y-axis, is of relevance, the proposed passive compliance along the X- and Z-axes and the limited PDOF about Y-axis provides the necessary flexibility (for human limb agronomics) required to protect the load cell sensor against the forces not aligned with the desired sensing direction (i.e., the Y-axis). In turn, this design approach ensures accurate sensing of the interactive forces along the direction of control and suggests better fitting and comfort to the human by reducing the amount of stress and undesired interactive forces in line with the non-supportive directions. A combination of Velcro belt with mechanical back limb support is designed to attach the respective human limb support, as shown in Fig. 5.

Fig. 5
figure 5

Proposed design of limb support with mechanically decoupled 3-D passive compliance

2.4 Foot assembly

To properly assist the human during each phase of the walking cycle (stance phase, single-support phase and double-support phase), each phase's start and end instant must be appropriately measured [22,23,24]. Therefore, a 2-PDOF foot assembly is designed for each exoskeleton leg with two load cells, one at the toe to detect toe-off and the other at the heel to detect heel strike. The load cells are suggested to be mounted through a separate pressure plate with sliding steel pins to allow proper force application and sensing, as shown in Fig. 6. The two PDOFs, on the other hand, provide the necessary freedom to the human user for proper walking. In addition, the rubber studs at each foot assembly transfer the exoskeleton's weight to the ground during stance and single-support phases, relieving the human of the exoskeleton's weight during these phases. Furthermore, the load cells allow proper measurement of the ground reaction forces at each foot of the exoskeleton to estimate the center of pressure. Estimating the center of pressure is pivotal in applying advanced stability-controlled techniques to the exoskeleton [25, 26] (Fig. 7).

Fig. 6
figure 6

a Proposed design of foot assembly for the exoskeleton. b Cross-sectional view of the load cell assembly at A-A´

Fig. 7
figure 7

Frame definition for the single leg of the lower body exoskeleton with 2 ADOF

3 Actuator selection

The exoskeleton's power and load torque requirements for active hip and knee joints must be correctly estimated to ensure proper selection of the joint actuators. This, in turn, requires proper estimation of the assistive load torque and estimation of dynamic load torque for the exoskeleton itself. The activities considered to be assisted by the designed lower body exoskeleton are walking, sit to stand and standing. Since walking is an essential activity entailing the most considerable power and torque requirements [27], it is selected to estimate the actuator requirements for the three different gait speeds of the elderly.

3.1 Human torque requirement

The exoskeleton needs to assist the human user; therefore, the torque required (for human walking) must be first estimated accurately to correctly find the exoskeleton's assistance torque requirement. For this purpose, mean walking gait curves for human knee and hip joints are first found in the sagittal plane using walking gait data in [28] for eighteen elderly persons (age 62–79 years, mean height 161 cm, mean weight 66.33 kg and mean stride length of 1.0 m). The gait curves have then been found (using this data) over a complete gait cycle at three different walking speeds, i.e., for a slow speed of 1.68 \(km/hr\), a medium speed of 2.4 \( \text{km}/\text{h}\) and a fast speed of 3.1 \(km/hr\). The mean gait curves for the angular position, velocity and acceleration of human knee and hip joints are, respectively, shown in Fig. 8a–c, while the associated required human joint torques \({\tau }_{{h}_{\text{hip}}}\) and \({\tau }_{{h}_{\text{knee}}}\) are shown in Fig. 8d. It is to be noted that the gait curves in Fig. 8 have been found by considering joint flexion and joint extension as positive and negative quantities, respectively. Figure 8d shows that a considerably large human torque is required for a small increase in walking speed, hence indicating that the human torque requirement for the exoskeleton is strongly dependent on the walking speed of the elderly.

Fig. 8
figure 8

Human gait curves for the hip and knee joints in the sagittal plane at three different gait speeds (slow \( 1.68 \,\text{km}/\text{h}\), medium \( 2.4\text{ km}/\text{h}\) and fast \( 3.1\text{ km}/\text{h}\)). a Joint angles \({\varvec{q}}\). b Joint angular velocities \(\dot{{\varvec{q}}}\). c Joint angular accelerations \(\ddot{{\varvec{q}}}\). d Associated required human joint torques \({{\varvec{\tau}}}_{h}\)

3.2 Exoskeleton torque requirements

The designed exoskeleton's ankle joint has two PDOF, as shown in Fig. 6; hence, no load torques are expected to be produced on the exoskeleton's active hip and knee joint due to ground reaction forces. The human user himself is supposed to provide the corresponding torque for the ground reaction forces. Therefore, there is no considerable coupling between the dynamics of the exoskeleton's two legs, and hence, the dynamic load torques for the active hip and knee joints could be found by considering each leg's dynamics individually. Since both the legs are symmetrical, a kinematic and dynamic model for a single leg with 2-ADOF is found using the Denavit–Hartenberg (D–H) parametric approach. The frame definitions for the exoskeleton's single leg are shown in Fig. 7, while the corresponding D–H parameters are listed in Table 3. If \({{q}_{m}}_{1}\),\({{q}_{m}}_{2}\) are the measured joint angles of hip and knee joints, respectively, then the joint angle vector \({\varvec{q}}\in {\mathbb{R}}^{2}\) is defined as

$${\varvec{q}} = \left[ {q_{{\left( {hip} \right)}}\ q_{{\left( {knee} \right)}} } \right]^{{\varvec{T}}} ,$$
(1)

where \({q}_{(hip)}={{q}_{m}}_{1}+{{q}_{o}}_{1}\) and \({q}_{(knee)}={{q}_{m}}_{2}+{{q}_{0}}_{2}\). Here \({{q}_{0}}_{1}\),\({{q}_{0}}_{2}\) are the associated joint angle offsets, as shown in Table 3. The dynamic torque \({{\varvec{\tau}}}_{exo}\) \(\in\) \({\mathbb{R}}^{2}\) required for the 2-ADOF exoskeleton leg is therefore simply given by the forward dynamic equation as

Table 3 D–H parameters for the 2-ADOF single leg of the lower body exoskeleton
$${{\varvec{\tau}}}_{\text{exo}}=\left[\begin{array}{c}{{\tau }_{\text{hip}}}_{exo}\\ {{\tau }_{\text{knee}}}_{exo}\end{array}\right]={{\varvec{M}}}_{\text{exo}}\left({\varvec{q}}\right)\ddot{{\varvec{q}}}+{{\varvec{C}}}_{\text{exo}}\left({\varvec{q}},\dot{{\varvec{q}}}\right)\dot{{\varvec{q}}}+{{\varvec{g}}}_{\text{exo}}\left({\varvec{q}}\right)\boldsymbol{ }.$$
(2)

where \({\varvec{q}}\) is the joint angle vector defined in (1), \({{\varvec{M}}}_{\mathbf{e}\mathbf{x}\mathbf{o}\boldsymbol{ }}\left({\varvec{q}}\right),\) \({{\varvec{C}}}_{\mathbf{e}\mathbf{x}\mathbf{o}}\left({\varvec{q}},\dot{{\varvec{q}}}\right)\) \(\in\) \({\mathbb{R}}^{2\times 2}\) are the respective inertial Mass and Coriolis matrices for the exoskeleton leg while \({{\varvec{g}}}_{\mathbf{e}\mathbf{x}\mathbf{o}}\left({\varvec{q}}\right)\) \(\in\) \({\mathbb{R}}^{2}\) is the gravity vector found using the respective transformations and the inertial parameters [29].

To effectively assist the human in its daily activities, it is imperative that the exoskeleton closely follows the angular joint positions, velocities and accelerations of the corresponding human joints. Therefore, the dynamic load torque \({{\varvec{\tau}}}_{exo}\) is found for three different gait speeds using (2) with the angular position \({\varvec{q}}\), angular velocity \(\dot{{\varvec{q}}}\) and angular acceleration \(\ddot{{\varvec{q}}}\) given by the corresponding mean gait curves in Fig. 8a–c. The found dynamic load torques (\({{\tau }_{hip}}_{exo}\), \({{\tau }_{knee}}_{exo})\) for the hip and knee joint are then, respectively, shown in Fig. 9a and it is seen that both these torque are also increasing functions of human gait speed.

Fig. 9
figure 9

Actuator requirements for lower body exoskeleton for providing 50% assistance to the human user with \({\varvec{q}}\), \(\dot{{\varvec{q}}}\), \(\ddot{{\varvec{q}}}\) and \({{\varvec{\tau}}}_{h}\) given by the mean gait curves in Fig. 8ad, at three different gait speeds for elderly. a Required joint dynamic torque for the exoskeleton alone \({{\varvec{\tau}}}_{exo}\). b Required assistance joint torque \({{\varvec{\tau}}}_{assist}\)c Required joint net torque \({{\varvec{\tau}}}_{net}\). d Required joint actuator power \({{\varvec{p}}}_{req}\)

3.3 Net torque and power requirement

The lower body exoskeleton is required to provide maximum assistance of 50% to the human user. The required assistance torque \({{\varvec{\tau}}}_{assist}\boldsymbol{ }\in {\mathbb{R}}^{2}\) is, therefore, given in terms of the required human torque as

$${{\varvec{\tau}}}_{\text{assist}}=({a}_{\text{assi}st})\left[\begin{array}{c}{{\tau }_{\text{hip}}}_{assist}\\ {{\tau }_{\text{knee}}}_{\text{assist}}\end{array}\right]=\boldsymbol{ }{{(a}_{\text{assist}}){\varvec{\tau}}}_{h}.$$
(3)

Here, \({a}_{\text{assist}}=\) 0.50 for maximum assistance and \({{\varvec{\tau}}}_{h}=\left[\begin{array}{c}{\tau }_{{\text{h}}_{\text{hip}} }\\ {\tau }_{{\text{h}}_{\text{knee}}}\end{array}\right]\) is the estimated human torque, as shown in Fig. 8d.

The assistance torque \({{\varvec{\tau}}}_{assist}\) found using (3) is shown in Fig. 9b for three different gait speeds. The net torque requirement for active joints of the exoskeleton can therefore be given from (1), (2) and (3) as

$${{\varvec{\tau}}}_{\text{net}}=\left[\begin{array}{c}{{\tau }_{\text{hip}}}_{\text{net}}\\ {{\tau }_{\text{knee}}}_{\text{net}}\end{array}\right]=\boldsymbol{ }{{\varvec{\tau}}}_{\text{exo}}+\boldsymbol{ }{{\varvec{\tau}}}_{\text{assist}}.$$
(4)

The estimated net torques for hip and knee joint actuators using (4) are shown in Fig. 9c. The output power requirement \({{\varvec{p}}}_{\text{req}}\boldsymbol{ }\in\) \({\mathbb{R}}^{2}\) for the actuators can therefore be computed from (4) as.

$${{\varvec{p}}}_{\text{req}}=\left[\begin{array}{c}{p}_{\text{hip}}\\ {p}_{\text{knee}}\end{array}\right]={{\varvec{Q}}}_{{\varvec{\tau}}}\dot{{\varvec{q}}}.$$
(5)

Here, \({{\varvec{Q}}}_{{\varvec{\tau}}}\) =\(\text{diag}\left\{{{\varvec{\tau}}}_{\text{net}} \right\} \in\) \({\mathbb{R}}^{2x2}\) is the net torque matrix and \(\dot{{\varvec{q}}}=\left[\begin{array}{c}{\dot{q}}_{\text{hip}}\\ {\dot{q}}_{\text{knee}}\end{array}\right]\) is the desired joint velocity vector for respective hip and knee joints and given by the human gait velocity curves in Fig. 8b.

The estimated output power required for hip and knee joint actuators for three gait speeds is shown in Fig. 9d. To keep the size and weight of the exoskeleton small but still be able to assist the human effectively (\({{\varvec{\tau}}}_{\text{assist}}\) =50% of\({{\varvec{\tau}}}_{h}\)), the actuators for hip and knee joints are suggested for the peak motoring power requirements corresponding to the medium gait speed (\( 2.4\text{ km}/\text{h})\) in Fig. 9d. Figure 9d also shows that the selected actuators need to perform in both the motoring and the generation modes to meet the said requirements. In motoring mode, the power is to be consumed from the battery and considered positive, while for generation mode, the power is to be delivered back to the battery and considered negative. The peak motoring power requirement for medium gait speed is found to be about 100 W, as shown in Fig. 9d. Therefore, 48 V, 100 W brushless motors (EC-60 from Maxon™) with respective harmonic drive gearheads of 80:1 and 50:1 were selected for the exoskeleton's active hip and knee joints to meet the said requirements. The specifications of the selected actuators are shown in Table 4.

Table 4 Proposed actuator specifications for the lower body exoskeleton in Fig. 2

To verify the performance of the suggested actuators, the output torque speed requirements (in Figs. 8b and 9c) for both the joints, at three different speeds are mapped on the characteristic curves of the respective actuators and shown in Fig. 10a and b. The allowed operational area for the actuators' motoring mode is limited by the torque speed characteristic curve, while the actuators' continuous torque operation region is limited by its power rating curves, as shown in Fig. 10a and b. The input current and voltage requirements (\({{\varvec{i}}}_{act}\),\({{\varvec{v}}}_{act}\in\) \({\mathbb{R}}^{2}\)) for both the actuators can be found in terms of the actuator’s parameter (in Table 4) as

$$\begin{array}{*{20}{l}}{{\varvec{i}_{{\text{act}}}} = }&{\left[ {\begin{array}{*{20}{l}}{{i_{{\text{act}}_{hip}}}}\\{{i_{{\text{act}}_{knee}}}}\end{array}} \right] = {\varvec{\eta} ^{ - 1}}\varvec{K}_{{\tau}} ^{ - 1}{\varvec{\tau} _{{\text{net}}}} + {{\varvec{i}}_{nl}},}\\{{{\varvec{v}}_{{\text{act}}}} = }&{\left[ {\begin{array}{*{20}{c}}{{{{v}}_{{\text{act}}}}_{{{hip}}}}\\{{{v}_{{\text{act}}}}_{{{knee}}}}\end{array}} \right] = {\varvec{K}}_{\text{s}}^{ - 1}\mathop {\dot{{\varvec{q}}}}_{nl}\, +\, {{\varvec{R}}_{\text{w}}}{{\varvec{i}}_{{{nl}}}}.}\end{array}$$
(6)
Fig. 10
figure 10

Speed torque requirements for active joints in Figs. 8b and 9c (over one gait cycle) mapped on the respective characteristic curves of the selected actuators (specs. in Table 4) for three different walking speeds. a Hip-actuator torque-speed requirements. b Knee-actuator torque-speed requirements. c Hip-actuator corresponding input current and voltage requirements. d Knee-actuator corresponding input current and voltage requirements

where

\({{\varvec{i}}}_{{nl}}={{{\varvec{K}}}_{{\varvec{\tau}}}}^{-1}{{\varvec{\tau}}}_{f},\) \({\dot{{\varvec{q}}}}_{nl}=\dot{{\varvec{q}}}+{{\varvec{K}}}_{s},\)

$${\varvec{\eta}}=\text{diag}\{{\eta }_{\text{hip}},{\eta }_{\text{knee}}\},$$
$${{\varvec{K}}}_{\tau }=diag\{{k}_{{\tau }_{hip}},{{k}_{\tau }}_{knee}\},$$
$${{\varvec{K}}}_{s}=\text{diag}\left\{{k}_{{\text{s}}_{\text{hip}}},{{k}_{\text{s}}}_{\text{knee}}\right\}, {{\varvec{R}}}_{w}=\text{diag}\left\{{r}_{{\text{w}}_{\text{hip}}},{{r}_{\text{w}}}_{\text{knee}}\right\}.$$

Vectors \({{\varvec{\tau}}}_{net}\) and \(\dot{{\varvec{q}}}\) in (6) are the torque and speed requirements shown in Figs. 8b and 9c, respectively, while matrices \({\varvec{\eta}},\)\({{\varvec{K}}}_{\tau }\), \({{\varvec{K}}}_{s}\), \({{\varvec{R}}}_{w}\) \(\in\) \({\mathbb{R}}^{2x2}\), respectively, represent the gear ratio, torque constant, speed constant and phase-to-phase winding resistance matrices of the actuators. Vectors\({{\varvec{i}}}_{nl}\), \({\dot{{\varvec{q}}}}_{nl}\) in (6), respectively, represent the no-load current and no-load speed of the actuators. The found values of \({{\varvec{i}}}_{\text{act}}\) and \({{\varvec{v}}}_{\text{act}}\) and plotted for three different gait speeds and, respectively, shown in Fig. 10c and d. The continuous and discontinuous current operation areas, along with operational limits for both actuators, are also clearly shown in Fig. 10c and d. Figure 10 shows that the actuators for the hip and knee joints of the exoskeleton need to operate in all four quadrants (2-motoring and 2-generation regions) to satisfy their respective torque-speed requirements. Since the maximum peak input power required for both the actuators is found to be 356W with a maximum peak actuator current of 10A (Table 5), a four-quadrant compatible 400W motor driver (EPOS4-Compact-50/8-CAN from Maxon™) was selected for each actuator. Since the power is to be drawn and returned to the battery during the motoring and generation operation of the actuators, the battery selected must also properly source and sink the maximum peak actuator current of 10.0 A to avoid large voltage spikes at the input, especially during generation operation.

Table 5 Selected actuators' performance evaluated at peak power, peak net torque and peak speed requirements for the active hip and knee joints, using the parameters listed in Table 4

Figure 10a and b shows that the speed and torque requirements for both the knee and hip joints at low and medium gait speeds remain within the continuous torque area of the respective actuators. Furthermore, the corresponding input current and voltage requirements for these speeds also remain in the continuous-current operation area of the respective actuator, as shown in Fig. 10c and d. Therefore, at low and medium-gait speeds, the selected actuators can safely deliver the respective required torques and speeds for the exoskeleton's active joints without exceeding their respective power ratings. For fast gait speed, though the torque speed requirements for hip and knee joint map onto the discontinuous area of operation of the respective actuators for a short duration per gait cycle, but these requirements always remain within the allowed operational area of the respective actuator as seen in Fig. 10a and b. Hence, the respective joint actuators also achieve fast-gait speed requirements at the cost of higher power dissipation, as seen by the corresponding current and voltage requirements in Fig. 10c and d.

3.4 Selected actuators evaluation and factor of safety

The selected actuators' performance is evaluated based on the actuators' respective safety factors found in terms of the actuators' parameters listed in Table 5. These factors are obtained for peak input power \({p}_{{\text{joint}}_{\text{pk}}}\), peak net torque \({\tau }_{{\text{joint}}_{{\text{net}}_{\text{pk}}}}\) and peak speed \({\dot{q}}_{{\text{joint}}_{\text{pk}}}\) requirements for three different gait speeds and are defined as follows.

Peak torque safety factor \(=\frac{{\tau }_{{\text{act}}_{\text{max}}}}{{\tau }_{{\text{joint}}_{{\text{net}}_{\text{pk}}}}} ,\)

Peak power safety factor \(=\frac{{p}_{\text{act}}}{{p}_{{\text{joint}}_{\text{pk}}}}\),

Achievable speed safety factor \(=\frac{{\dot{q}}_{{\text{act}}_{\text{max}}}}{{\dot{q}}_{{\text{joint}}_{\text{pk}}}}\).

Here, \({\tau }_{{\text{act}}_{\text{max}}}\), \({p}_{\text{act}}\) and \({\dot{q}}_{{\text{act}}_{\text{max}}}\), respectively, represent the maximum actuator torque, power and speed. From these factors, it is seen that the selected actuators for hip and knee joints are expected to give high performance for slow-gait speed with high power, torque and speed safety factors together with respective average motoring efficiencies of 71 and 68%. The RMS input power requirements per gait cycle for hip and knee actuators at slow-gait speed are also reasonably low compared to actuators' power ratings and are found to be only 11 and 10 W, respectively. The safety factors obtained for medium gait speed are also noticeably good, with respective average motoring efficiencies of 67 and 64%. Though the power factor for the hip actuator is seen to be 0.89 for the medium-gait speed, the hip actuator's performance is not affected as the actuator is expected to be slightly overloaded only for a short time per gait cycle with a satisfactory speed safety factor of 1.8, under peak load conditions. The RMS input power requirements per gait cycle for both actuators at medium gait speed are also considerably less than the actuators' power ratings and are found to be 35 and 23 W, respectively. For fast-gait speed, it is seen that though the peak power safety factor is relatively low with respective values of 0.28 and 0.73 for hip and knee actuators, the torque and speed safety factors are reasonably satisfactory with respective average motoring efficiencies of 61 and 62%. The RMS input power requirements per gait cycle for both the joints at fast-gait speed are still less than the actuators' power ratings and are found to be 95 and 52 W, respectively. Therefore, the selected actuators can still work at a fast-gait speed but with larger overloading and more considerable power dissipation per gait cycle.

4 Desired assistive force

If \({{\varvec{\tau}}}_{assist}\) \(\in\) \({\mathbb{R}}^{2}\) is the net required assistance torque to be provided by the exoskeleton, then this assistive torque can be written in terms of the desired assistive forces \({{\varvec{f}}}_{{e}_{{assist}_{thigh}}}^{*}\) and \({{\varvec{f}}}_{{e}_{{assist}_{shank}}}^{*}\in\) \({\mathbb{R}}^{3}\) at the corresponding thigh and shank support as

$$\begin{aligned} {\varvec{\tau}}_{{{\text{assist}}}} = & \left[ {\begin{array}{*{20}c} {\tau_{{{\text{assist}}_{{{\text{hip}}}} }} } \\ {\tau_{{{\text{assist}}_{{{\text{knee}}}} }} } \\ \end{array} } \right] \\ & \quad = {\varvec{J}}_{{v_{e} }} \left( {\varvec{q}} \right)^{{\varvec{T}}}_{{{\text{thigh}}}} \varvec{ f}_{{e_{{{\text{assist}}_{{{\text{thigh}}}} }} }}^{*} + {\varvec{J}}_{{v_{e} }} \left( {\varvec{q}} \right)^{{\varvec{T}}}_{{{\text{shank}}}} {\varvec{f}}_{{e_{{{\text{assist}}_{{{\text{shank}}}} }} }}^{*} , \\ \end{aligned}$$
(7)

where

$${{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{\text{thigh}}=\left[\begin{array}{cc}{{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{{\text{thigh}}_{\text{hip}}}& \begin{array}{cc}\vdots & {{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{{\text{thigh}}_{\text{knee}}}\end{array}\end{array}\right]={{\varvec{R}}\left({\varvec{q}}\right)}_{\text{thigh}}^{-1}\boldsymbol{ }{{{\varvec{J}}}_{v}({\varvec{q}})}_{\text{thigh}}$$
$${{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{\text{shank}}=\left[\begin{array}{cc}{{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{{\text{shank}}_{\text{hip}}}& \begin{array}{cc}\vdots & {{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{{\text{shank}}_{\text{knee}}}\end{array}\end{array}\right]={{\varvec{R}}\left({\varvec{q}}\right)}_{\text{shank}}^{-1}\boldsymbol{ }{{{\varvec{J}}}_{v}({\varvec{q}})}_{\text{shank}}$$

In Eq. (7), the matrices \({{\varvec{R}}\left({\varvec{q}}\right)}_{\text{thigh}}\), \({{\varvec{R}}\left({\varvec{q}}\right)}_{\text{shank}}\) \(\in\) \({\mathbb{R}}^{3x3}\) are the corresponding rotation matrices while \({{{\varvec{J}}}_{v}({\varvec{q}})}_{thigh}\), \({{\boldsymbol{ }{\varvec{J}}}_{v}({\varvec{q}})}_{\text{shank}}\), \({{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{\text{thigh}}\), \({{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{\text{shank}}\) \(\in\) \({\mathbb{R}}^{3x2}\) represent the respective velocity Jacobian and end-effector velocity Jacobian matrices of thigh and shank compliant supports. For the designed exoskeleton shown in Fig. 7, the partition matrix \({{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{{\text{thigh}}_{\text{knee}}}\) \(\in\) \({\mathbb{R}}^{3x1}\) in Eq. (7) is a null matrix. Therefore, the desired assistive forces \({{\varvec{f}}}_{{e}_{{\text{assist}}_{\text{thigh}}}}^{*}\), \({{\varvec{f}}}_{{e}_{{\text{assist}}_{\text{shank}}}}^{*}\) corresponding to the desired assistive torques \({\tau }_{{\text{assist}}_{\text{hip}}}\), \({\tau }_{{\text{assist}}_{\text{knee}}}\) can then be found from (7) as.

\({{\varvec{f}}}_{{e}_{{\text{assist}}_{\text{shank}}}}^{*}= {\left({{{\varvec{J}}}_{{v}_{e}}\left({\varvec{q}}\right)}_{{\text{shank}}_{\text{knee}}}^{T}\right)}^{\dagger}{\tau }_{{\text{assist}}_{\text{knee}}}\)

$${{\varvec{f}}}_{{e}_{{\text{assist}}_{\text{thigh}}}}^{*}={\left({{{\varvec{J}}}_{{v}_{e}}\left({\varvec{q}}\right)}_{{\text{thigh}}_{\text{hip}}}^{T}\right)}^{\dagger}\left({\tau }_{{\text{assist}}_{\text{hip}}}-{{{\varvec{J}}}_{{v}_{e}}\left({\varvec{q}}\right)}_{{\text{shank}}_{\text{hip}}}^{T} {{\varvec{f}}}_{{e}_{{\text{assist}}_{\text{shank}}}}^{*}\right).$$
(8)

where \(\dagger\) represents the pseudo-inverse while \({{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{{\text{thigh}}_{\text{hip}}}\), \({{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{{\text{shank}}_{\text{hip}}}\), \({{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{{\text{shank}}_{\text{knee}}}\in\) \({\mathbb{R}}^{3x1}\) are the partition matrices for the corresponding end-effector velocity Jacobians matrices \({{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{\text{thigh}}\), \({{{\varvec{J}}}_{{v}_{e}}({\varvec{q}})}_{\text{shank}}\) in (7).

For the required assistance torque \({{\varvec{\tau}}}_{assist}\) (found using the human torque requirements and exoskeleton’s dynamics) shown in Fig. 9b, the corresponding desired assistive forces\({{\varvec{f}}}_{{e}_{{\text{assist}}_{\text{thigh}}}}^{*}\), \({{\varvec{f}}}_{{e}_{{\text{assist}}_{\text{shank}}}}^{*}\) in their respective compliant support reference frames are found using (8) and shown in Fig. 11 for three different gait speeds. It is seen that these forces only contain the y-component\({f}_{{e}_{{y}_{\text{thigh}}}}^{*}\), \({f}_{{e}_{{y}_{\text{shank}}}}^{*}\) with all the other components \({f}_{{e}_{{x}_{\text{thigh}}}}^{*},\) \({f}_{{e}_{{z}_{\text{thigh}}}}^{*} ,\) \({f}_{{e}_{{x}_{\text{shank}}}}^{*},\) \({f}_{{e}_{{z}_{\text{shank}}}}^{*}\) equal to zero. Therefore, only the y-component of the forces in the compliant supports need to be sensed and controlled to provide the desired level of assistance given by \({{\varvec{\tau}}}_{assist}\), thereby correctly justifying the use of one force sensor along the y-direction in each compliant support as shown in Fig. 5. To correctly estimate the desired assistive forces\({{\varvec{f}}}_{{e}_{{\text{assist}}_{\text{thigh}}}}^{*}\), \({{\varvec{f}}}_{{e}_{{\text{assist}}_{\text{shank}}}}^{*}\) at any instant using the predetermined \({{\varvec{\tau}}}_{assist}\) curve like the one shown in Fig. 9b, it is imperative that the current phase of the gait cycle is continuously estimated correctly in a predictive fashion using modern techniques like [30,31,32] by using the adaptive oscillators, IMU or foot load sensors. For an improved pHRI perspective, the compliant elements' stiffness of the compliant supports is desired to be low [3], but the amount of mechanical displacement permissible primarily limits the compliant element's lower stiffness value. Furthermore, a lower stiffness value would also limit the desired impedance value for the support [10]. Therefore, with a permissible mechanical displacement of 33 mm and a corresponding peak desired assistive force of 200 N (Fig. 11), the stiffnesses\({k}_{{s}_{{y}_{\text{thigh}}}}\), \({k}_{{s}_{{y}_{\text{shank}}}}\) of the passive springs along the sensorized y-direction is suggested to be 6.0 N/mm. A nominal length of 35 mm and a diameter of 15 mm are suggested to ensure a linear operation of the spring for all the desired assistive forces.

Fig. 11
figure 11

Desired assistive forces corresponding the desired assistive torque shown in Fig. 9b at the thigh and shank compliant supports in their respective frame of references as shown in Fig. 7

5 Suggested control architecture

To properly implement the advanced control techniques [9, 10, 18] as suggested in Sect. 1 for the proposed design of lower body exoskeleton, a distributed master–slave control structure (motivated by some initial work done in [19]) is suggested, as shown in Fig. 12. The top-level control is to be implemented by the master controller, while the local joint-level control is intended to be implemented by the respective joint-level slave controller for each leg's active joint. The operational flow of impedance-based assistive force control employing DOB-based-DLTC is, respectively, shown in Figs. 13 and 15 for master and slave controllers of the exoskeleton during walking assistance mode.

Fig. 12
figure 12

Proposed Master–slave distributed control structure for the lower body exoskeleton shown in Fig. 1

Fig. 13
figure 13

Suggested operational flowchart for master controller in Fig. 12 for walking assistance mode using DOB-based-DLTC impedance-based force control

5.1 CAN communication protocol

To ensure robust and fast communication between the master and slave controllers, each leg's master and respective slave controllers are linked through two dedicated system CAN buses, i.e., system CAN bus 1 and system CAN bus 2, as shown in Fig. 12. A CAN message-based communication protocol has been developed based on the work done in [19] to ensure proper communication between the slaves and the master controller. The sender and receiver IDs are embedded into the message type for proper reception and decoding. The CAN message is broadcasted on the CAN bus by the sender, only to be received by the intended recipient. Three different types of CAN messages have been defined for the system CAN busses. All slave controllers sent the current joint positions' velocities and accelerations at fixed intervals to the master as CAN data messages. Master and the controllers send CAN error messages to transfer error information, while a CAN time stamp message is sent by the master controller to all the slaves every second to ensure proper synchronization of all the controllers in time, which is indicated visually by toggling an LED on the salve and master controllers.

The operational flow of CAN messages for master and slave controllers is shown in Figs. 13 and 15. The CAN bus is to be continuously polled by the controller (master or slave) to check for CAN message reception. Upon receiving a CAN message, the message is decoded for type (data or error message) and sender ID. The data are then to be extracted and stored in the respective data buffer for a CAN data message reception depending on the received ID. For master CAN error message reception, the message is evaluated for criticality, and if found critical, a critical error message is sent to all the slaves, and the user is informed accordingly. If the error message is not critical, a corrective error message is to be sent to the respective slave controller with corrective action embedded in the error message. If the received error message is critical for slave controllers, an emergency stop is to be activated for the local joint; otherwise, the error message is decoded to perform the suggested corrective action in the error message.

5.2 Suggested user HMI module

The master controller is suggested to be interfaced with the user HMI module via a Bluetooth connection, as shown in Fig. 12.

Serial Bluetooth radio modules (SPBT2632C2A) are recommended for this purpose. The HMI module is suggested to provide the user with the exoskeleton's critical control functionality. It has to configure the exoskeleton's functionality by sending configuration data to the master controller, i.e., mode and level of assistance, sample time, desired impedance/controller parameters and kinematic/dynamic parameters. The HMI module is also responsible for informing the user of the current state and errors of the exoskeleton system.

5.3 Suggested master-level control structure

The master controller is suggested to implement the top-level system control for the exoskeleton in real time. The master controller performs proper initialization of all the system CAN busses, ADCs and timers after receiving configuration data from the user. It also has to scale the already stored mean-normalized desired assistive load torque curve with respect to the user's height and weight.

Master controller is to then register and acknowledge all the slave joint controllers on the two system CAN busses as registered CAN nodes. At each interrupt, the task space position velocity and acceleration of end-effectors compliant supports are first to be calculated from the respective supports kinematics for the currently received joint data (position velocity and acceleration of active joints). The direction and magnitude of desired assistive forces in the respective support reference frames are then to be estimated from the scaled desired assistive load torque curve using the information of the current gait phase, which, in turn, is to be continuously estimated by using the toe and heel force sensors and IMU data for each foot assembly, as discussed in Sect. 4.

The current interactive forces between the human limb and the exoskeleton are suggested to be measured at each compliant support to compute the force error (w.r.t the estimated desired assistive force) in the respective support’s frame of reference. This force error must then be transformed to the inertial frame using the respective rotation matrices of the supports to properly implement the force-based impedance control in task space for each compliant support. Furthermore, the current task space position, velocity and acceleration of the human limb at the contact supports must be fed to the impedance control law as desired values. These desired values could be estimated using human limb forward kinematics for the mean joint position, velocity and acceleration curves as shown in Fig. 8a–c, which in turn require continuous estimation of the current gait phase [30,31,32]. Alternatively, these desired values could also be estimated by estimating the deformation of compliant elements using the measured interactive forces and then subtracting it from the respective estimates of current task space positions for contact supports, as discussed in [10]. The desired task space accelerations for each compliant support are then computed using the desired task space impedance control law (having its desired parameters set by the user) [10]. The desired velocities are then in turn computed from the desired accelerations and sent to respective slave joint controllers to be tracked in real time over the system CAN busses as CAN data messages.

5.4 Suggested joint-level slave control structure

The detail of the suggested joint-level control structure is shown in Fig. 14. It comprises of a slave controller, a brushless motor controller, a joint assembly (as explained in Sect. 2.2), a sensorized 3-D compliant support (as discussed in Sect. 2.3), digital and absolute encoders, an inline transducer amplifier for compliant support and a torque sensor signal conditioning card. The slave controller is responsible for providing the local joint-level control to the joint assembly. The slave controller is interfaced through two CAN busses. The system CAN bus interfaces the respective slave controllers to the master controller while a local CAN bus interfaces a CANopen™-based motor driver ((EPOS4-Compact-50/8-CAN from Maxon™) to its respective slave controller, as shown in Fig. 14. This suggested interface allows the slave controller to configure, control and monitor the motor driver over the local CAN bus and allows it to receive and send joint position and velocity information from the motor driver. The high-resolution digital encoder, coupled to the motor's back-end, is proposed to ensure an accurate measurement of joint position and velocity even for short sampling times. The absolute encoder, coupled directly to the joint shaft, is proposed to ensure a correct joint position estimation, especially at startup. In addition, a CAN protocol compatible with CANopen™ protocol is developed for the slave controller to ensure robust communication with the motor driver over the local CAN bus. The slave controller's operational flow is shown in Fig. 15 for the walking assistance mode using DOB-based-DLTC impedance control. After initializing its ADCs, timers and CAN busses, the slave controller has to send its slave ID to the master controller to be registered as CAN node. The slave, after successful acknowledgment, then waits for the reception of configuration data (i.e., control mode, sample time, local controller parameters desired and starting joint position) from the master controller. Based on the data received, the local motor driver is to be initialized and checked for successful initialization in the desired mode (current control mode in our case) several times over the local CAN bus before sending a critical error message to the master controller. Upon success, the sample timer with the desired sample time is to be initialized to allow local joint-level control to be implemented in real time.

Fig. 14
figure 14

Detail of suggested joint-level slave control structure shown in Fig. 12

Fig. 15
figure 15

Suggested operational flowchart for slave control in Fig. 14 for human walking assistance using DOB-based-DLTC impedance-based force control

At each timer interrupt, the local CAN bus and the CAN data buffers are to be read (by the slave controller) to get the respective current joint velocity (sent by the local motor driver) and the latest desired velocity (sent by the master controller) for implementing the local servo velocity control. The current load torque on the local joint actuator shaft is then measured from the interfaced load torque sensor to find the desired reference values for the motor driver, using the DOB-based-DLTC technique as proposed in [9, 18]. The computed desired reference values are then to be sent to the local motor driver over the local CAN bus for implementing motor control. The motor driver is continuously monitored for error messages and communicated to the master controller for necessary corrective measures.

5.5 Force sensing amplifiers

To provide the necessary gait phase and ground reaction information to the master controller, load cells at the toe and heel of each foot assembly (as shown in Fig. 6) are interfaced to the master controller through dedicated inline (UV-Series-24 V), Honeywell™ transducer amplifiers. These amplifiers feature a highly regulated excitation supply (for the sensor bridge), a high S/N ratio, programmable gain and a wide-range zero-error calibration. The ability to sense the ground reaction forces allows the master controller to not only correctly estimate the continuous phase of the gait cycle [30,31,32] but also allows it to make critical decisions (for the respective slave controllers) to correctly implement the high-level strategies to ensure exoskeleton's stability and control [25, 26]. In addition, force load sensors at each compliant support are suggested to be interfaced with the respective slave controller through dedicated UV-Series inline transducer amplifiers.

5.6 Embedded control card

To practically implement the proposed CAN bus-based master–slave control architecture for the designed lower body exoskeleton, a dedicated embedded control card has also been developed, as shown in Fig. 16. The developed control card can serve as both the slave and the master controllers. The card supports two CAN buses, which could then, in turn, be used as system or local CAN buses. The cards use a 32-bit RISC floating-point microcontroller (AT32UC3C) at 66-MHz with 512-KB as internal flash memory and 8-MB as additional external flash memory (AT45DB081). The card also incorporates a nine-axis (gyro + accelerometer + magnetometer) inertial measurement unit (MPU-9150) to facilitate inertial measurement and a Bluetooth radio module (SPBT2632C2A) to ensure radio communication between the master controller and the user HMI module. The card that also supports 6-ADC channels (for sensor interfacing), 2-DAC outputs, 2-PWM ports and 2 digital encoder input interfaces (to facilitate servo motor control applications) is also shown in Fig. 16.

Fig. 16
figure 16

Developed embedded control card for master–slave control architecture

5.7 Control box

The design of a control box is suggested to properly house and mount all the exoskeleton's associated electronics and to provide proper interfaces to all the sensors and joint actuators. The proposed implementation of the master–slave control architecture for the lower body exoskeleton requires an embedded control card to serve as the master controller, while another four embedded control cards are required to serve as slave controllers. Master and slave controllers are linked locally within the control box through the two system CAN busses on the respective control cards, while each slave is linked to its respective motor driver over the local CAN bus (as discussed in detail in Sect. 5.3 and  Sect. 5.4) using four 2-pin shielded connectors. All the control cards are facilitated to be appropriately mounted using stackable mounting assemblies, as shown in Fig. 17. The four inline transducer amplifiers for the compliant supports and four transducer amplifiers for the foot sensors (as discussed in Sect. 5.5) are suggested to be mounted using double-stack mounting assemblies and interfaced to the respective master and slave control cards, as shown in Figs. 12 and 14, respectively. These amplifiers are suggested to be interfaced to their respective load sensors through eight 4-pin shielded connectors. To provide JTAG programming interfaces to master and slave control cards, five DB9 programming ports are also suggested in the control box.

Fig. 17
figure 17

Suggested design of control box for lower body exoskeleton shown in Fig. 1, with cover removed

The control box is also designed to house a 48 V 10Ah, 13S4P battery, with 25R 18650 lithium cells. The maximum average current requirement per gait cycle for each joint is estimated to be 1.4A. Hence, the four joint actuators' net current requirement is about 5.6 A; therefore, the selected battery is expected to power the exoskeleton for at least 1.5 h. The 48 V, 10A power supply to the four joint actuators is to be provided through respective 2-pin power connectors. A charging interface is also suggested for the battery through a 15A, 2-pin power connector. The power turn-on/off control for the exoskeleton is to be provided through a 10A indicator power switch, as shown in Fig. 17. A regulated 24 V supply to all the embedded control cards and inline amplifiers in the control box is ensured through a dedicated 48 V to 24 V, 5A, DC–DC convertor.

Housing the control cards, inline transducer amplifiers, DC–DC converter and battery in one place not only localizes the system CAN busses between master and slave controllers but also localizes the respective wires for power supply and interfacing, resulting in shorter wires and therefore reduced electromagnetic interference.

6 Proposed control strategy

One possible way to safely provide the desired level of assistance by the exoskeleton is to control the shank contact support using the impedance control law while controlling the thigh contact support only in the null space of the shank contact support, as suggested in [10]. This approach is not possible in the suggested LADOF-based design of the exoskeleton, as there is no null space available in the Jacobian of the shank support in which to control the thigh support to provide the desired level of assistance (since the active degree of freedom at the shank support is only two which is less than the desired 3-ADOF). Therefore, a new control strategy is proposed for the designed lower body exoskeleton, capable of imparting simultaneous impedance-based force tracking control for both the thigh and shank contact supports, while using both the proposed passive compliant contact supports and DOB-based-DLTC for improved pHRI performance of the exoskeleton. The proposed control strategy while considering the operational flow of master and slave controllers (shown in Figs. 13 and 15) is shown in detail in Fig. 18. The simultaneous assistive force tracking control for both the thigh and shank supports is made possible by proposing separate force-based impedance control laws in task space for each contact support, whereas the joint reference acceleration for each joint, i.e., \({\ddot{q}}_{{\text{r}}_{(hip)}}, {\ddot{q}}_{{\text{r}}_{(knee)}}\), is individually generated by the respective impedance control law, as shown in Fig. 18. The complete control law for the proposed strategy is given as 

$$\begin{aligned}{\ddot{\varvec{x}}}_{ra} = & {\ddot{\varvec{x}}}_{{h_{\left( {{\rm{thigh}}} \right)}}}^{\ast} + {\left( {{{\varvec{M}}_{{d_{\left( {{\rm{thigh}}} \right)}}}}} \right)^{ - 1}}\left( { - {{\varvec{K}}_{{f_{\left( {{\rm{thigh}}} \right)}}}}{{\varvec{e}}_{{f_{\left( {{\rm{thigh}}} \right)}}}} - {{\varvec{B}}_{{d_{\left( {{\rm{thigh}}} \right)}}}}{{\dot {\varvec{e}}}_{\left( {{\rm{thigh}}} \right)}} - {{\varvec{K}}_{{d_{\left( {{\rm{thigh}}} \right)}}}}{{\varvec{e}}_{\left( {{\rm{thigh}}} \right)}}} \right),\\ {\ddot{\varvec{x}}}_{rb} = & {\ddot{\varvec{x}}}_{{h_{\left( {{\rm{shank}}} \right)}}}^{\ast} + {\left( {{{\varvec{M}}_{{d_{\left( {{\rm{shank}}} \right)}}}}} \right)^{ - 1}}\left( { - {{\varvec{K}}_{{f_{\left( {{\rm{shank}}} \right)}}}}{{\varvec{e}}_{{f_{\left( {{\rm{shank}}} \right)}}}} - {{\varvec{B}}_{{d_{\left( {{\rm{shank}}} \right)}}}}{{\dot {\varvec{e}}}_{\left( {{\rm{shank}}} \right)}} - {{\varvec{K}}_{{d_{\left( {{\rm{shank}}} \right)}}}}{{\varvec{e}}_{\left( {{\rm{shank}}} \right)}}} \right),\\ {\ddot{\varvec{q}}}_{ra} = & \left[ {\begin{array}{*{20}{c}}{\ddot{\varvec{q}}}_{r{a_1}}\\ {\ddot{\varvec{q}}}_{r{a_2}}\end{array}} \right] = {\left( {~{{\varvec{J}}_v}{{\left( {\varvec{q}} \right)}_{\left( {{\rm{thigh}}} \right)}}} \right)^{\dagger}} \left( {{{\ddot{\varvec{x}}}_{ra}} - {{\dot {\varvec{J}}}_v}{{\left( {\varvec{q}} \right)}_{\left( {{\rm{thigh}}} \right)}}\dot {\varvec{q}}} \right),\\ {\ddot{\varvec{q}}}_{rb} = & \left[ {\begin{array}{*{20}{c}} {\ddot{\varvec{q}}}_{r{b_1}}\\ {{{\ddot{\varvec{q}}}_{r{b_2}}}}\end{array}} \right] = {\left( {~{{\varvec{J}}_v}{{\left( {\varvec{q}} \right)}_{\left( {{\rm{shank}}} \right)}}} \right)^{\dagger}} \left( {{{\ddot{\varvec{x}}}_{rb}} - {{\dot {\varvec{J}}}_v}{{\left( {\varvec{q}} \right)}_{\left( {{\rm{shank}}} \right)}}\dot {\varvec{q}}} \right),\\ {\ddot{\varvec{q}}}_r = & \left[ {\begin{array}{*{20}{c}} {{{\ddot{\varvec{q}}}_{{r_{\left( {{\rm{hip}}} \right)}}}}}\\ {{{\ddot{\varvec{q}}}_{{r_{\left( {{\rm{knee}}} \right)}}}}}\end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{{\ddot{\varvec{q}}}_{r{a_1}}}}\\{{{\ddot{\varvec{q}}}_{r{b_2}}}}\end{array}} \right].\end{aligned}$$
(9)
Fig. 18
figure 18

Proposed control strategy for simultaneous control of compliant thigh and shank contact supports of the lower body exoskeleton employing impedance-based force tracking control in task space and DOB-based-DLTC compensator in the joint space for improved pHRI performance

Here,

$${{\varvec{e}}}_{\left(thigh\right)}={{\varvec{x}}}_{{h}_{\left(thigh\right)}}^{*}-{{\varvec{x}}}_{{exo}_{\left(thigh\right)}},$$
$${{\varvec{e}}}_{\left(shank\right)}={{\varvec{x}}}_{{h}_{\left(shank\right)}}^{*}-{{\varvec{x}}}_{{exo}_{\left(shank\right)}},$$
$${{\varvec{e}}}_{{{\varvec{f}}}_{\left(thigh\right)}}={{\varvec{f}}}_{{assist}_{\left(thigh\right)}}^{*}-{{\varvec{f}}}_{{assist}_{\left(thigh\right)}},$$
$${{\varvec{e}}}_{{{\varvec{f}}}_{\left(shank\right)}}={{\varvec{f}}}_{{assist}_{\left(shank\right)}}^{*}-{{\varvec{f}}}_{{assist}_{\left(shank\right)}},$$
$${{\varvec{f}}}_{{assist}_{\left(thigh\right)}}^{*}={{\varvec{R}}\left({\varvec{q}}\right)}_{(thigh)}{{\varvec{f}}}_{{e}_{{assist}_{\left(thigh\right)}}}^{*},$$
$${{\varvec{f}}}_{{assist}_{\left(shank\right)}}^{*}={{\varvec{R}}\left({\varvec{q}}\right)}_{(shank)}{{\varvec{f}}}_{{e}_{{assist}_{\left(shank\right)}}}^{*},$$
$${\varvec{q}}={\left[{q}_{(hip)}{q}_{(knee)}\right]}^{{\varvec{T}}},$$
$${{\varvec{q}}}_{h}^{\boldsymbol{*}}={\left[{q}_{{h}_{(hip)}}^{*} {q}_{{h}_{(knee)}}^{*}\right]}^{{\varvec{T}}}$$

\({{\varvec{x}}}_{{h}_{\left(thigh\right)}}^{*}={col vec}_{3}\left\{{{\varvec{T}}\left({q}_{{h}_{\left(hip\right)}}^{*}\right)}_{\left(thigh\right)}\right\},\) \({{\varvec{K}}}_{{f}_{(thigh)}}=diag\left\{{k}_{{f}_{(thigh)j}}\right\}\),

\({{\varvec{x}}}_{{h}_{(shank)}}^{*}={col vec}_{3}\left\{{{\varvec{T}}\left({q}_{(hip)},\boldsymbol{ }{q}_{{h}_{(knee)}}^{*}\right)}_{(shank)}\right\},\) \({{\varvec{K}}}_{{f}_{(shank)}}=diag\left\{{k}_{{f}_{(shank)j}}\right\}\),

\({{\varvec{x}}}_{{exo}_{(thigh)}}={col vec}_{3}\left\{{{\varvec{T}}\left({\varvec{q}}\right)}_{(thigh)}\right\},\) \({{\varvec{x}}}_{{exo}_{(shank)}}={col vec}_{3}\left\{{{\varvec{T}}\left({\varvec{q}}\right)}_{(shank)}\right\}\),

\({{\varvec{M}}}_{{{\varvec{d}}}_{(thigh)}}={{\varvec{M}}}_{{{\varvec{d}}}_{(shank)}}=diag\left\{{m}_{{d}_{j}}\right\},\) \({{\varvec{B}}}_{{{\varvec{d}}}_{(thigh)}}={{\varvec{B}}}_{{{\varvec{d}}}_{(shank)}}=diag\left\{{b}_{{d}_{j}}\right\}\),

\({{\varvec{K}}}_{{{\varvec{d}}}_{(thigh)}}={{\varvec{K}}}_{{{\varvec{d}}}_{(shank)}}=diag\left\{{k}_{{d}_{j}}\right\},\) for j = 1 to 3.

Here \({q}_{{h}_{(hip)}}^{*}\), \({q}_{{h}_{(knee)}}^{*}\) represent the desired human joint positions values and are given by the respective hip and knee joint trajectory curves in Fig. 8a while \({\varvec{q}}={\left[{q}_{(\text{hip})}{q}_{(\text{knee})}\right]}^{{\varvec{T}}}\) represents the current joint position vector of the exoskeleton. The vectors \({{\varvec{x}}}_{{h}_{(\text{thigh})}}^{*}\), \({{\varvec{x}}}_{{h}_{(\text{shank})}}^{*}\) represent the desired human task space positions of the respective contact supports while \({{\varvec{x}}}_{{\text{exo}}_{(\text{thigh})}}\), \({{\varvec{x}}}_{{\text{exo}}_{(\text{shank})}}\) represent the actual task space position of the respective contact supports. The \({{\varvec{f}}}_{{e}_{{\text{assist}}_{(\text{thigh})}}}^{*}\), \({{\varvec{f}}}_{{e}_{{\text{assist}}_{(\text{shank})}}}^{*}\) represent the desired assistive forces on the human in the respective thigh and shank support frames. These desired forces have been found using the net torque requirement of the exoskeleton in Sect. 3.3 and are shown in Fig. 11. It is seen in Fig. 11 that \(x\) and \(z\) component of both the desired assistive forces, i.e., \({f}_{{e}_{{x}_{(\text{thigh})}}}^{*},{f}_{{e}_{{z}_{(\text{thigh})}}}^{*},{f}_{{e}_{{x}_{(\text{shank})}}}^{*}\) and \({f}_{{e}_{{z}_{(\text{shank})}}}^{*}\) are zero, and the assistance is only provided along the y-axis by the y-force components, i.e., \({f}_{{e}_{{y}_{(\text{thigh})}}}^{*}\) and \({f}_{{e}_{{y}_{(\text{shank})}}}^{*}\), respectively. The required gait phase needs to be linearly estimated from the measured cycle time of the previous gait cycle. The necessary gait cycle time is to be measured from the heel-strike event to the toe-off event for each leg. Both heel-strike and toe-off events are to be reliably detected using the respective foot sensor data of each leg. The actual assistive forces on human, i.e., \({{{\varvec{f}}}_{e}}_{{\text{assist}}_{(\text{thigh})}}\), \({{{\varvec{f}}}_{e}}_{{\text{assist}}_{(\text{shank})}},\) at the respective contact supports are to be measured in the support end-effector frames using the respective force sensors as discussed in detail in Sect. 2.3. To ensure proper control, it is proposed that \({{\varvec{x}}}_{{h}_{(\text{thigh})}}^{*}\) is estimated using \({q}_{{h}_{(hip)}}^{*}\) while \({{\varvec{x}}}_{{h}_{(\text{shank})}}^{*}\) is estimated using the actual current position of the hip joint \({q}_{(hip)}\) (instead of \({q}_{{h}_{(\text{hip})}}^{*}\)) and the desired human knee joint position \({q}_{{h}_{(\text{knee})}}^{*}\). Gains \({{\varvec{K}}}_{{f}_{(\text{thigh})}}\) and \({{\varvec{K}}}_{{f}_{(\text{shank})}}\) in (9), respectively, represent the force error gain matrices for thigh and shank supports. Since both the desired and actual assistive forces are considered as the forces on human, the terms (\({{\varvec{K}}}_{{f}_{(\text{thigh})}}{{\varvec{e}}}_{{f}_{(\text{thigh})}})\) and (\({{\varvec{K}}}_{{f}_{(\text{shank})}}{{\varvec{e}}}_{{f}_{(\text{shank})}})\) have been considered negative in the impedance control laws in (9). The reference velocity for the joint space velocity control is found from \({\ddot{{\varvec{q}}}}_{r}\) as \({\dot{{\varvec{q}}}}_{r}=\left[\begin{array}{c}{\dot{q}}_{{r}_{(\text{hip})}}\\ {\dot{q}}_{{r}_{(\text{knee})}}\end{array}\right]=\int {\ddot{{\varvec{q}}}}_{r} dt\).

The control law for the DOB-based-DLTC for the 2-CCDC drives is given in terms of the reference current control input \({{\varvec{i}}}_{r}\) and follows from [10] as

$${{\varvec{i}}}_{{\varvec{r}}}=\left[\begin{array}{c}{i}_{{r}_{(\text{hip})}}\\ {i}_{{r}_{(\text{knee})}}\end{array}\right]{={{\varvec{N}}}_{{\varvec{D}}{\varvec{c}}}}_{f}\left(s\right)\boldsymbol{ }{{\varvec{\eta}}}^{-1}{{\varvec{\tau}}}_{{\varvec{L}}}+{{\varvec{H}}}_{{\varvec{c}}}{{\varvec{K}}}_{{{\varvec{t}}}_{n}}^{-1}{{\varvec{\tau}}}_{{\varvec{e}}}^{\boldsymbol{*}},$$
(10)

where

$${{\varvec{\tau}}}_{{\varvec{e}}}^{\boldsymbol{*}}=\left[\begin{array}{c}{\tau }_{{e}_{(\text{hip})}}^{*}\\ {\tau }_{{e(}_{\text{knee})}}^{*}\end{array}\right]={\left({\varvec{I}}-{{\varvec{Q}}}_{{\varvec{o}}}(s)\right)}^{-1}\left({{\varvec{\tau}}}_{{\varvec{r}}}-{{\varvec{Q}}}_{{\varvec{o}}}(s){{\varvec{G}}}_{{{\varvec{T}}}_{n}}^{-1}(s){\varvec{\eta}}\dot{{\varvec{q}}}\right),$$
$${{\varvec{\tau}}}_{{\varvec{r}}}=\left[\begin{array}{c}{\tau }_{{r}_{(\text{hip})}}\\ {\tau }_{{r}_{(\text{knee})}}\end{array}\right]={\varvec{C}}\left(s\right){\varvec{\eta}}\left({\dot{{\varvec{q}}}}_{r}-\dot{{\varvec{q}}}\right).$$

Here \({\varvec{\eta}}= \text{diag}\{{\eta }_{j}\}\) is the gear ratio matrix, \({{{\varvec{N}}}_{{\varvec{D}}{\varvec{c}}}}_{f}\left(s\right)={{\varvec{N}}}_{{\varvec{D}}{\varvec{c}}}\left(s\right){{\varvec{Q}}}_{{\varvec{D}}{\varvec{c}}}\left(s\right)=\text{diag}\left\{{{n}_{DC}\left(s\right)}_{j}{{q}_{DC}\left(s\right)}_{j}\right\}\) is the realizable DLTC matrix, \({{\varvec{Q}}}_{{\varvec{D}}{\varvec{c}}}\left(s\right)=diag\left\{{{q}_{Dc}\left(s\right)}_{j}\right\}\) is the cascaded low-pass filter matrix for proper implementation of DLTC, and \({{\varvec{Q}}}_{{\varvec{o}}}\left(s\right)=diag\left\{{{q}_{o}\left(s\right)}_{j}\right\}\) is the cascaded low-pass filter matrix for proper implementation of DOB. Matrix \({{\varvec{H}}}_{{\varvec{c}}}=\text{diag}\{{{h}_{c}}_{j}\}\) is the current feedback gain matrix while \({{\varvec{K}}}_{{{\varvec{t}}}_{n}}\)=\(\text{diag}\{{{k}_{t}}_{j}\}\) is the constant torque matrix for the CCDC drives of the exoskeleton. Vector \({{\varvec{\tau}}}_{{\varvec{L}}}={[{\tau }_{{L}_{\left(\text{hip}\right)}} {\tau }_{{L}_{\left(\text{hip}\right)}}]}^{T}\) is the sensed load torque using the torque sensor as discussed in Sect. 2.2. Transfer function \({{{\varvec{G}}}_{{\varvec{T}}}}_{n}\left(s\right)=\text{diag}\left\{{{{ g}_{T}}_{n}\left(s\right)}_{j}\right\}\) is the nominal forward torque dynamics matrix of the brushless motors from \({{\varvec{\tau}}}_{e}^{*}\) to \(\dot{{\varvec{q}}}\) while \({\varvec{C}}\left({\varvec{s}}\right)=\text{diag}\left\{{c\left(s\right)}_{j}\right\}\) is joint space velocity controller matrix. Here j = 1 to 2. Detailed description of transfer functions \({{{\varvec{N}}}_{{\varvec{D}}{\varvec{c}}}}_{f}\left(s\right)\), \({{\varvec{Q}}}_{{\varvec{o}}}\left(s\right)\), \({{\varvec{Q}}}_{{\varvec{D}}{\varvec{c}}}\left(s\right)\) and \({{{\varvec{G}}}_{{\varvec{T}}}}_{n}\left(s\right)\) is given in detail in [10]. The complete control law for the proposed control strategy for the lower body exoskeleton employing the DOB-based-DLTC is therefore completely defined by Eqs. (9) and (10).

7 Simulated results

The comparative simulated results for assistive force tracking of the designed lower body exoskeleton are shown in Fig. 19a–c. The found mean desired assistive force curves (shown in Fig. 11) for each contact support (based on the 18 elderly people experimental gait data [28] as discussed in Sect. 4) were used as desired assistive force inputs for both the contact supports. All the practical saturation limits for the selected actuators and the power drivers were considered during the simulation.

Fig. 19
figure 19

Simulation results of assistive force tracking for the designed lower body exoskeleton. (a)-(c) Assistive forces \({f}_{{e}_{{y}_{thigh}}}\), \({f}_{{e}_{{y}_{shank}}}\) tracking results compared for three different values of \({k_{{s_{th}}}}\), \({k_{{s_{sh}}}},\) (stiffness of the contact supports) while using the DOB-based-DLTC with the desired impedance parameters as \({m}_{{d}_{j}}=0.1, {b}_{{d}_{j}}=147, {k}_{{d}_{j}}=320\). a At slow-gait speed, b at medium-gait speed, c at fast-gait speed. d Comparative velocity tracking error results for hip and knee joint actuators at slow gait speed with desired impedance parameters as \({m}_{{d}_{j}}=0.2, {b}_{{d}_{j}}=112, {k}_{{d}_{j}}=320\)

These results are presented for a single leg of the exoskeleton, for increasing values of the passive compliant element stiffness \({k}_{s}\) (of the contact supports). These comparative results have been found for three different gait speeds, i.e., medium, slow and fast speeds, while using the DOB-based-DLTC at the joint space level. The detailed kinematic and dynamic model of the exoskeleton leg (presented in Sect. 3.2) along with a detailed model of DOB-based-DLTC CCDC drive in [10] was used in tandem with the proposed control strategy (presented in Fig. 18) to obtain the results for required assistance at each contact support. The desired impedance parameters for the task space impedance control law in (9) were selected to be \({{m}_{d}}_{j}=0.1\), \({{b}_{d}}_{j}=147\) and \({{k}_{d}}_{j}=320\). The force error gains were selected to be \({{k}_{{f}_{(\text{thigh})}}}_{j}\)=1.2, \({{k}_{{f}_{(\text{shank})}}}_{j}\)=1.8. The designed bandwidths of the velocity controllers \({c\left(s\right)}_{j}\), DOB filters \({{q}_{DC}\left(s\right)}_{j}\) and DLTC filters \({{q}_{o}\left(s\right)}_{j}\) for both the joints are listed in Table 6.

Table 6 Designed bandwidths for DOB-based-DLTC drives

The \({k_{{s_{th}}}}\) and \({k_{{s_{sh}}}},\) respectively, represent the stiffness of the compliant elements for the proposed thigh and shank supports of the exoskeleton. Increasing the stiffness of the support implies that the interface between the human and the exoskeleton is made stiffer. From a pure robotic perspective where it is desired to accurately track the desired trajectories in time, it is desired that the exoskeleton is stiff, as this ensures small steady-state errors. But high stiffness of the exoskeleton is not a desired feature when force feedback control of interactive forces is required (as discussed in detail in Sect. 1). It is well known that the stiffer the interface is between two dynamically interacting bodies, the more difficult it is to control and realize a desired low contact point impedance, primarily due to the limited bandwidth of actuators [11, 12]. Hence, controlling the interacting force between these bodies is further difficult to regulate, which in turn results in large overshoots and settling times for the force response.

Therefore, it is seen from the results in Fig. 19 that with a high value of support stiffness \({k_{{s_{th}}}}\) and \({k_{{s_{sh}}}},\) (i.e., with a stiffer interface between the human and the exoskeleton), the desired assistive force feedback control is less stable with large overshoots and hence large settling time. This, hence, results in a decreased pHRI performance of the exoskeleton, even though an impedance control strategy is used to control the contact point impedance. But, on the other hand, it also exhibits a low steady-state force tracking error, which is expected, as the interface between the human and exoskeleton is now stiffer.

For a lower value of support stiffness \({k_{{s_{th}}}}\), \({k_{{s_{sh}}}},\), the interface between the human and the exoskeleton is less stiff, and hence, it is seen from the results shown in Fig. 19 that the desired assistive force feedback control (for both the contact supports) is much more stable with lower overshoots and hence fast settling time (for all the gait speeds), therefore ensuring an improved and stable pHRI performance of the exoskeleton, as the desired low contact point impedance is better achieved and realized. On the other, it has a slightly higher steady-state force tracking error, which is also expected, as the interface between the human and exoskeleton is now less stiff. This has been the main motivation and hypothesis for proposing the compliant element supports in the first place, i.e., to further improve the pHRI performance of an impedance-controlled exoskeleton, as given in Sect. 1.

Therefore, it is seen that the proposed control strategy can successfully impart simultaneous impedance-based assistive force tracking control of the exoskeleton at both contact supports with the selected actuators (as discussed in Sect. 3). Furthermore, as compared to the classical ridged contact supports, using passive, compliant arm supports (as discussed in Sect. 2.3 with reduced passive stiffness) in combination with impedance-based force control not only results in improved and stable force tracking performance of the exoskeleton but also allows lower values of desired impedance to be effectively realized with stability.

To clearly see the improvement afforded by the DOB-based-DLTC, comparative velocity tracking error simulation results for both hip and knee joint actuators are explicitly shown in Fig. 19d. These results are presented for a slow-gait speed force tracking with task space impedance parameters set as \({m}_{{d}_{j}}=0.2, {b}_{{d}_{j}}=112, {k}_{{d}_{j}}=320\). Hybrid switching strategy as proposed in [18] has been used to prevent the actuators from going into saturation. It is seen that the average velocity tracking error for hip and knee joint actuators with the proposed compensator (DOB-based-DLTC) is reduced by −7.1 dB (max) and −1.16 dB (max), respectively. This implies that the load torques on the respective joint actuators are better compensated by the use of DOB-based-DLTC, which in turn results in better performance of the joint actuators with lower vibrations and better force tracking performance.

8 Conclusion

A complete design of a LADOF (4-ADOF) lower body exoskeleton from a mechanical, electrical and control architectural perspective has been proposed in this paper. The design is based on the requirements derived for the effective and practical implementation of the recent control techniques [9, 10, 18] for improved pHRI performance of the exoskeleton system. The work presented is in continuation of the work done in [1, 2, 9, 10, 18, 19]. New joint assemblies have been suggested for the exoskeleton's active joints to enable practical implementation of the newly proposed DOB-based-DLTC techniques [4, 12] to improve their load torque compensation performance. To practically implement the recent impedance control technique [10] for improved task space pHRI performance of the exoskeleton, novel 3-D passive, compliant supports are suggested with proper force sensors and amplifiers. A requirement-based methodology (based on 18 elderly people end-user group data) has been developed to properly select and evaluate the exoskeleton's actuators and estimate the desired assistive force for both compliant supports. A CAN-based distributed master–slave control architecture is also suggested for scalability and reliability. Local CAN-based motor drivers have been suggested to improve the modularity and controllability of the system. Detailed operational flows for master and slave controllers have been presented, showing the steps and methodology involved in implementing the recent control techniques using the proposed CAN-based distributed control architecture. The salient features and concepts of the developed embedded control card (used as slave/master controller) and the control box are also presented to explain the hardware capabilities and its interfacing topology. A new control strategy for simultaneous control of thigh and shank contact supports of the lower body exoskeleton employing impedance-based force tracking control in task space and DOB-based-DLTC compensator at the joint space is finally presented. It is shown that this strategy, in combination with the passive, compliant supports and DOB-based-DLTC, is not only able to provide the desired level of assistance to the user effectively but also ensures a better and safer pHRI performance of the exoskeleton. Experimental data-based simulation test results justifying the use of proposed passive compliant supports in combination with DOB-based-DLTC for assistive exoskeletons while employing the proposed strategy are lastly presented to verify an improved pHRI performance for the proposed lower body exoskeleton.