机器人 2023, Vol. 45 Issue (1): 58-69 0

YAN Zheping, YANG Haoyu, ZHANG Wei, GONG Qingshuo, LIN Fantai, ZHANG Yu. Trajectory Tracking Control of Hexapod Robot Based on Model Prediction and Central Pattern Generator[J]. ROBOT, 2023, 45(1): 58-69.

Trajectory Tracking Control of Hexapod Robot Based on Model Prediction and Central Pattern Generator
YAN Zheping , YANG Haoyu , ZHANG Wei , GONG Qingshuo , LIN Fantai , ZHANG Yu
College of Intelligent Systems Science and Engineering, Harbin Engineering University, Harbin 150001, China
Abstract: In order to imitate animals in their excellent athletic ability and adaptability to environments, a trajectory tracking control method is proposed for the bionic hexapod robot. Firstly, the kinematics model of the robot is established, then the velocity and the angular velocity of the robot are combined with the CPG (central pattern generator) parameters by the steering parameter, and the transfer function is designed. Then the model predictive controller and the CPG network are combined through the transfer function, a CPG-based model predictive controller (MPC-CPG) is proposed, and its stability is proved. Finally, simulations and experiments are carried out for the robot to track the circular trajectory and the linear trajectory. Experiments show that under the condition of initial error, the robot can quickly eliminate the position error and the heading angle error by the MPC-CPG controller, and track the reference trajectory. The position error in trajectory tracking is always kept in -0.1~0.1 m, and the heading angle error is kept in -27°~20°. With the MPC-CPG controller, the robot not only has a high trajectory tracking accuracy, but also shows good motion smoothness and coordination, which further verifies the effectiveness of the proposed MPC-CPG controller.
Keywords: hexapod robot    kinematics    CPG (central pattern generator)    transfer function    model predictive control    trajectory tracking

1 引言（Introduction）

2 基于CPG的运动学模型（Kinematics model based on CPG）

 \begin{aligned} \dot {\alpha} _i = &-\varpi _i y_i +\mu \alpha _i ({H_i^2 -\alpha _i^2 -\beta _i ^2})+ \\ & h_i ({\alpha_{i-1} \cos \varphi _i +\beta_{i-1} \sin \varphi_{i, i-1}}) \\ \dot {\beta} _i = \; &\varpi _i \alpha _i +\mu \beta _i ({H_i^2 -\alpha _i^2 -\beta _i ^2})+ \\ & h_{i+1} ({\alpha_{i+1} \sin \varphi_{i+1} +\beta_{i+1} \cos \varphi_{i, i+1}}) \end{aligned} (1)

3.1 基于运动学模型的误差模型

 \begin{align} \dot{\boldsymbol\chi} ={\boldsymbol f}(\boldsymbol\chi, \boldsymbol u) \end{align} (17)

 \begin{align} \dot{\boldsymbol\chi}_{\rm r} ={\boldsymbol f}(\boldsymbol\chi_{\rm r}, \boldsymbol u_{\rm r}) \end{align} (18)

 \begin{align} \boldsymbol\xi (k| t)= \begin{bmatrix} \tilde {\boldsymbol\chi} (k| t) \\ \tilde {\boldsymbol u} (k-1| t) \end{bmatrix} \end{align} (23)

 $$$\begin{cases} \boldsymbol{\xi}(k+1 | t) =\tilde{\boldsymbol{A}}_{k, t} \boldsymbol{\xi}(k | t)+\tilde{\boldsymbol{B}}_{k, t} \Delta \boldsymbol{U}(k | t) \\ \boldsymbol{\eta}(k | t) =\tilde{\boldsymbol{C}}_{k, t} \boldsymbol{\xi}(k | t) \end{cases}$$$ (24)

 \begin{align} J(k+1)=\;& \sum _{i=1}^{N_{\rm p}} \| {\boldsymbol \eta} (k+1+i | k+1) -{\boldsymbol \eta} _{\rm r}(k+1+i | k+1) \| _Q^2 + \sum _{i=0}^{N_{\rm c} -1} ( \| \Delta {\boldsymbol u}(k+1+i | k+1) \| _{R}^2 + \| {\boldsymbol \varepsilon} (k+1+i | k+1) \| _{\rho} ^2 ) \\ =\;& \sum _{i=2}^{N_{\rm p}} \| {\boldsymbol \eta} ^* (k+i | k)-{\boldsymbol \eta} _{\rm r} (k+i | k) \| _Q^2 + \sum _{i=1}^{N_{\rm c} -1} ({ \| \Delta {\boldsymbol u}^* (k+i | k) \| _{R}^2 + \| {\boldsymbol \varepsilon} ^* (k+i | k) \| _{\rho} ^2}) \\ = \;&\sum _{i=1}^{N_{\rm p}} \| {\boldsymbol \eta} ^* (k+i | k)-{\boldsymbol \eta} _{\rm r} (k+i | k) \| _Q^2 + \sum _{i=0}^{N_{\rm c} -1} ({ \| \Delta {\boldsymbol u}^* (k+i | k) \| _{R}^2 + \| {\boldsymbol \varepsilon} ^* (k+i | k) \| _{\rho} ^2})- \| {\boldsymbol \eta} (k | k)-{\boldsymbol \eta} _{\rm r} (k | k) \| _Q^2 - \\ & \| \Delta {\boldsymbol u}(k | k) \| _{R}^2 - \| {\boldsymbol \varepsilon} (k | k) \| _{\rho} ^2 \\ =\;&V^* (k)- \| {\boldsymbol \eta} (k | k)-{\boldsymbol \eta} _{\rm r} (k | k) \| _Q^2 - \| \Delta {\boldsymbol u}(k | k) \| _{R}^2 - \| {\boldsymbol \varepsilon} (k | k) \| _{\rho} ^2 \end{align} (35)

 \begin{align} V^* (k+1) \leqslant J(k+1) \leqslant V^* (k)- \| {\boldsymbol \eta} ^* (k)-{\boldsymbol \eta} _{\rm r} (k) \| _Q^2 - \| \Delta {\boldsymbol u}^* (k) \| _{R}^2 - \| {\boldsymbol \varepsilon} ^* (k) \| _{\rho} ^2 \end{align} (36)

 \begin{align} V^* (k+1)\leqslant V^* (k) \end{align} (37)

 图 5 控制框架 Fig.5 Control framework
4 仿真和实验（Simulation and experiment）

 $$$\begin{gathered} 0 \leqslant v \leqslant 1.5\\ \leqslant \omega \leqslant 1\\ -0.05 \leqslant \Delta v \leqslant 0.05\\ -0.05\leqslant \Delta \omega \leqslant 0.05 \end{gathered}$$$ (38)

 图 6 圆周轨迹跟踪的仿真结果 Fig.6 Simulation results of the circular trajectory tracking

 图 7 跟踪圆周轨迹时MPC控制器的输出 Fig.7 MPC controller output of in the circular trajectory tracking

 图 16 各关节转角 Fig.16 Rotation angle of each joint

 图 17 圆周轨迹跟踪实验 Fig.17 Circular trajectory tracking experiment
 图 18 圆周轨迹跟踪的实验结果 Fig.18 Experimental results of the circular trajectory tracking

 图 19 直线轨迹跟踪实验 Fig.19 Linear trajectory tracking experiment
 图 20 直线轨迹跟踪的实验结果 Fig.20 Experimental results of the linear trajectory tracking

5 结论（Conclusion）