## 3 Self-Adaptive-Coefficient Double-Power Sliding Mode Control Algorithm
### Design of Control Law Based on Estimated Model  
The patient and the ground environment inevitably interfere with the lower limb rehabilitation exoskeleton robot, which leads to the model error between the established dynamic model and the actual dynamic model. Therefore, this paper regards the established dynamic model as an estimated dynamic model. Using the computed torque method, we designed an estimated control torque based on the estimated dynamic model. The established dynamic model of the lower limb rehabilitation exoskeleton robot in this paper is shown in Equation (1). Taking the established dynamic model as an estimated dynamic model, we rewrite Equation (1) as follows. \[\overline{M}(\mathbf{\theta})\ddot{\mathbf{\theta}}+\overline{C}(\mathbf{\theta},\dot{\mathbf{ \theta}})\dot{\mathbf{\theta}}+\overline{G}(\mathbf{\theta})=\overline{\mathbf{\tau}} \tag{5}\]  
where \(\overline{M}(\mathbf{\theta})\) is an estimate of the actual inertia matrix \(M(\mathbf{\theta})\); \(\overline{C}(\mathbf{\theta},\dot{\mathbf{\theta}})\dot{\mathbf{\theta}}\) is an estimate of the actual centrifugal force and Coriolis force matrix \(C(\mathbf{\theta},\dot{\mathbf{\theta}})\); \(\overline{G}(\mathbf{\theta})\) is an estimate of the actual gravity term \(G(\mathbf{\theta})\); and \(\overline{\mathbf{\tau}}\) is an estimate of the actual control torque \(\mathbf{\tau}\). Therefore, it can be seen from Equation (6):  
\[\left[ \begin{array}{cc}\overline{M}_{11}&\overline{M}_{12}\\ \overline{M}_{21}&\overline{M}_{22}\end{array} \right]\ddot{\mathbf{\theta}}+\left[ \begin{array}{cc}\overline{C}_{11}&\overline{C}_{12}\\ \overline{C}_{21}&\overline{C}_{22}\end{array} \right]\dot{\mathbf{\theta}}+\left[ \begin{array}{c}\overline{G}_{11}\\ \overline{G}_{21}\end{array} \right]=\left[ \begin{array}{c}\overline{g}_{11} \\ \overline{g}_{21}\end{array} \right] \tag{6}\]  
Considering that the patient and the ground environment will inevitably interfere with the lower limb rehabilitation exoskeleton robot, the actual dynamic model of the lower limb rehabilitation exoskeleton robot can be expressed as follows. \[M(\mathbf{\theta})\ddot{\mathbf{\theta}}+C(\mathbf{\theta},\dot{\mathbf{\theta}})\dot{\mathbf{ \theta}}+G(\mathbf{\theta})+\mathbf{\tau}_{d}=\mathbf{\tau} \tag{7}\]  
where \(\mathbf{\tau}_{d}=\left[ \begin{array}{cc}\mathbf{\theta}_{d11}&\mathbf{\theta}_{d21}\end{array}  \right]^{\mathrm{T}}\) is interference, which reflects the interference from the patient and the ground. \(|\mathbf{\tau}_{d}|\leq\mathbf{f}\), and \(\mathbf{f}\) is a positive constant matrix. Because the actual inertial parameters of the lower limb rehabilitation exoskeleton robot cannot be accurately obtained. The actual inertia matrix \(M(\mathbf{\theta})\), the actual centrifugal force, and Coriolis force matrix \(C(\mathbf{\theta},\dot{\mathbf{\theta}})\), the actual gravity term \(G(\mathbf{\theta})\), and the actual interference \(\mathbf{\tau}_{d}\) are unknown. Based on the computed torque method, a nonlinear feedback control law was designed as the estimated control torque \(\overline{u}\) for each joint of the robot and expressed as follows. \[\overline{u}=\overline{M}(\mathbf{\theta})\ddot{\mathbf{\theta}}_{r}+\overline{C}( \mathbf{\theta},\dot{\mathbf{\theta}})\dot{\mathbf{\theta}}_{r}+\overline{G}(\mathbf{\theta}) \tag{8}\]  
Figure 3: The control block diagram. where \(\dot{\mathbf{\theta}}_{r}\) and \(\ddot{\mathbf{\theta}}_{r}\) are the speed control laws to be designed. During the trajectory tracking control of the lower limb rehabilitation exoskeleton robot, the robot needs to track a time-varying target trajectory \(\mathbf{\theta}_{d}(t)\). To perform the trajectory tracking of the robot, the speed control laws \(\dot{\mathbf{\theta}}_{r}\) and \(\ddot{\mathbf{\theta}}_{r}\) were designed as follows  
\[\left\{ \begin{array}{l}\dot{\mathbf{\theta}}_{r}=\dot{\mathbf{\theta}}_{d}+\mathbf{\Lambda e }\\ \ddot{\mathbf{\theta}}_{r}=\ddot{\mathbf{\theta}}_{d}+\mathbf{\Omega e}\end{array} \right.