# Model Predictive Control of Running Biped Robot
## 2 Model of Biped Robot  
Since the dynamics of a biped robot is nonlinear, it is difficult to generate a running trajectory of a biped robot by using a linear MPC. To address this problem, the model of a biped robot is designed as D-LIPM, which is split into two sub-models: horizontal and vertical models. For the D-LIPM, the biped robot is assumed as a single mass with a ground contact through a mass-less bar, an IPM, as shown in Figure 1, a single mass of \(m\), located at the COM of the robot, represents the whole body of the robot; point \(O\) which is the origin of the X-Y Cartesian coordinate frame denotes the center of the foot on the ground in a support phase; \(P=[x\quad y\quad z]^{T}\) denotes the position of the COM of the biped robot; and \(P_{ZMP}=[x_{ZMP}\quad y_{ZMP}\quad 0]^{T}\) denotes the ZMP at which the resultant ground reaction force (GRF) is applied. The dynamics of this simplified model [18] in the sagittal plane during support phase \(i\) can be written as  
\[\dot{x}_{i}(t_{i}) = \frac{g+\dot{z}_{i}(t_{i})}{z_{i}(t_{i})}\Big{(}x_{i}(t_{i})-x_{i} ^{ZMP}\Big{)},\quad(0\leq t_{i}\leq T_{s}^{i}), \tag{1}\]  
where \(t_{i}\) denotes the time during \(i\)-th phase, since the landing foot landed on the ground at the end of flight phase \(i-1\). \(T_{s}^{i}\) denotes the duration of the support phase \(i\); \(x_{i}\) and \(z_{i}\) denote the horizontal and vertical position of the COM, respectively; \(g\) denotes the gravitational acceleration, and \(x_{i}^{ZMP}\) denotes the horizontal coordinate of the ZMP. To separate the horizontal and vertical dynamics, it is assumed that  
\[\lambda_{i}^{2} \triangleq \frac{g+\dot{z}_{i}(t_{i})}{z_{i}(t_{i})},\quad(0\leq t_{i}\leq T _{s}^{i}), \tag{2}\]  
where \(\lambda_{i}\) is constant at least during \(0\leq t_{i}\leq T_{s}^{i}\). Then, Equation (1) can be split into  
\[\dot{x}_{i}(t_{i}) = \lambda_{i}^{2}\Big{(}x_{i}(t_{i})-x_{i}^{ZMP}\Big{)}, \tag{3}\]  
and  
\[\dot{z}_{i}(t_{i}) = \lambda_{i}^{2}z_{i}(t_{i})-g. \tag{4}\]  
This model of split dynamics is linear and thus we called it D-LIPM. An appropriate value will be assigned for \(\lambda_{i}\) based on the desired motion in the vertical direction. Figure 1: A simplified model of a biped robot in a support phase. The solution to Equation (4) with initial conditions of \(z_{i}(0)=z_{i}^{0}\) and \(\dot{z}_{i}(0)=\dot{z}_{i}^{0}\) is  
\[z_{i}(t_{i}) = B_{z}^{i}e^{\lambda_{i}t_{i}}+C_{z}^{i}e^{-\lambda_{i}t_{i}}+\frac {g}{\lambda_{i}^{2}},\quad(0\leq t_{i}\leq T_{s}^{i}), \tag{5}\]  
and thus  
\[\dot{z}_{i}(t_{i})=\lambda_{i}(B_{z}^{i}e^{\lambda_{i}t_{i}}-C_{z}^{i}e^{- \lambda_{i}t_{i}}),\quad(0\leq t_{i}\leq T_{s}^{i}), \tag{6}\]  
where  
\[B_{z}^{i} = \frac{1}{2}\left(z_{i}^{0}+\frac{\dot{z}_{i}^{0}}{\lambda_{i}}- \frac{g}{\lambda_{i}^{2}}\right),\] \[C_{z}^{i} = \frac{1}{2}\left(z_{i}^{0}-\frac{\dot{z}_{i}^{0}}{\lambda_{i}}- \frac{g}{\lambda_{i}^{2}}\right).\]  
Note that \(z_{i}^{0}\) and \(\dot{z}_{i}^{0}\) are computed based on the motion at the end of support phase \(i-1\) and the subsequent flight phase. If there is no external force applied at the robot other than the gravitational force during a flight phase, whose duration is \(T_{f}^{i-1}\), these initial position and velocity are related to the condition at the end of support phase \(i-1\):  
\[z_{i}^{0} = -\frac{g}{2}(T_{f}^{i-1})^{2}+\dot{z}_{i-1}(T_{s}^{i-1})T_{f}^{i- 1}+z_{i-1},\] \[\lambda_{i}^{2} \triangleq \frac{g+\dot{z}_{i}(t_{i})}{z_{i}(t_{i})},\quad(0\leq t_{i}\leq T _{s}^{i}), \tag{2}\]0  
For easy understanding, all the parameters associated with timing and phases are described in \[\lambda_{i}^{2} \triangleq \frac{g+\dot{z}_{i}(t_{i})}{z_{i}(t_{i})},\quad(0\leq t_{i}\leq T _{s}^{i}), \tag{2}\]1  
Suppose there is the desired vertical speed at the end of the support phase \(i\), i.e., \(t=T_{s}^{i}\), and that is \(V_{z,d}^{i}\).