By analyzing the total linear and angular momentum, we can enhance the humanoid robot balancing. The linear momentum is the same as the centroid velocity. The angular momentum ensures the robot will not rotate to fall down. Since the momentum vector has a linear relationship with the joint speed vector, we can calculate joint speeds which will realize the desired momentum.
But the most important thing is that how do we calculate the momentum matrix in a fast way. As a result, I propose a quick way to calculate the floating base momentum matrix in analytical form. By using Matlab simple function, the analytical form can be largely reduced, meaning that the computation load for the numerical value can be largely decreased.
We can use an easy example to illustrate this Momentum Algorithm. The picture above show a planar robotic leg floating in the space. G denotes the global or inertial coordinate in Cartesian space. COG denotes the center of Gravity. B denotes the Base coordinate and 0 to 3 represent the local leg coordinates.
Calculation of Floating base momentum matrix in analytical form
The P and L are represented as total linear momentum and angular momentum respectively. The general form means that the angular momentum is calculated by rotating about the pivot (G). After we seperating the base link velocity, the general form becomes the normal form.