My previous walking controller is based on LIPM which requires the robot the keep its CoM at a constant height which imposes great constraints on the motion the robot can perform. Here, the SLIP model has been introduced to generate the vertical motion [1] [2]. The splitting of the dynamics is shown below (figure adapted from [1]). By splitting the model in this way, the majority of the robot's physical dynamics are captured while keeping the model computationally effcient.
The only problem of the this approach is the justification of the decoupling of the dynamics which is also omitted in both [1] and [2].
References
[1] Apgar, Taylor, et al. "Fast Online Trajectory Optimization for the Bipedal Robot Cassie." Robotics: Science and Systems. 2018.
[2] Mordatch, Igor, Martin De Lasa, and Aaron Hertzmann. "Robust physics-based locomotion using low-dimensional planning." ACM SIGGRAPH 2010 papers. 2010. 1-8.
In the whole-body controller, we formulate the control problem as a QP problem. Normally, multiple tasks are involved, we can resolve the tasks conflicts in a weighted apprach or strict hierarchical approach. Specifically, the problem can be formulated as weighted QP or Hierarchical QP.
More details can be found here.
Swtching from RBDL to Pinocchio for kinematics and dynamics calculation because pinocchio provide more functionalities and computational efficiency.
A comparison between RBDL and Pinocchio can be found here.
Rigid contacts
no deformation for the contact surface
no relative movement between contact points (foot w.r.t. ground)
DoF reduced due to the contact
Compliant contacts
contact induces forces between the bodies in contact
the force may related to the deformation and other contact properties such as contact stiffness.
DoF not changed