# Controllable Height Hopping of a Parallel Legged Robot
## 4 Control Strategy  
### Virtual Model Controller  
VMC is a direct but efficient control method that gives the robot some desired dynamic performances similar to a realistic physical system. In whole leg control, VMC provides an intuitive approach that uses the joint torque to imitate virtual component effects such as springs and dampers, and there are many instances in bipedal walking. In our controller, the robot leg is controlled as an ideal mass-spring-damper model, while, in experimental performance, the leg moved under the combined effect of the ideal input and the actual physical configuration.  
Figure 5a shows the simplified leg model with one mass point and a massless link mechanism based on Cartesian coordinates, while Figure 5b shows the corresponding virtual model with a spring-damper system based on a polar system. The normal effect of the linear spring system is used to control the leg length \(l\), while the tangential effect of the torsional spring system is used to maintain the leg angle \(\theta\) at a target value. In the model in Figure 5b, according to the definition of VMC, the virtual force can be written as:  
\[\left\{\begin{array}{c}f_{spr}=k_{vl}(l_{ori}-l)-c_{vl}l\\ \tau_{spr}=k_{vl}(\theta_{ori}-\theta)-c_{vl}\dot{\theta}\end{array}\right. \tag{11}\]  
where \(k_{vl}\) is the virtual linear spring stiffness and \(c_{vl}\) is the virtual damping coefficient; \(k_{vl}\) and \(c_{vl}\) are the corresponding terms for the virtual torsional spring; \(l\) and \(l_{ori}\) are the actual and desired leg lengths (distance from point A to E in Figure 5a), respectively; and \(\theta\) and \(\theta_{ori}\) are the actual and desired leg angles (angle \(\theta\) in Figure 5b), respectively.  
After that, the desired virtual force and torque are transformed into the corresponding foot produced force in Cartesian coordinates as \(\dot{f}_{x}\) and \(\dot{f}_{z}\), which can be used to calculate the joint torque required to generate this foot force. Ultimately, because the internal modeling effect in dynamic motion is far less than the torque output, we consider to directly control \(\mathbf{\tau}_{S}\) in the VMC closed loop, and regard the rest of the robot system as a whole dynamics model for height control, in which the specific parameters can be estimated through simulation and experiment. Therefore, we assigned the calculated target torque to \(\mathbf{\tau}_{S}\) as the input. The control law can then be written as:  
\[\mathbf{\tau}_{S}=\mathbf{J}_{P}^{T}\mathbf{f}_{spr}=\mathbf{J}_{P}^{T}(\mathbf{K}_{\mathrm{v}} \cdot\Delta\mathbf{p}-\mathbf{C}_{\mathrm{v}}\cdot\dot{\mathbf{p}}) \tag{12}\]  
where \(\mathbf{J}_{P}\) is the Jacobian matrix between the joint torque and the foot force in polar coordinates; \(\mathbf{p}=[l,\theta]^{T}\); and \(\mathbf{f}_{spr}\), \(\mathbf{K}_{\mathrm{v}}\) and \(\mathbf{C}_{\mathrm{v}}\) are the corresponding vectors or matrices in (11). In general, we can control the desired dynamic characteristics of the robot leg by varying the given virtual model parameters and implement the virtual force by producing the desired motor torque.