Hey friend
I am sure you have seen those videos of robots falling over. You know, the ones where an expensive humanoid robot takes a step slips on a slightly slick patch of floor and ends up as a heap of scrap metal.
It is pretty funny to watch. For people who work with robots it is a big problem. Why can a little kid walk around a room filled with toys without any issues while a robot with a powerful computer brain falls over as soon as the floor gets a bit dusty?
The reason is not that the robot is not smart enough. It is because of the physics of Contact Dynamics and Friction.
1. The Nightmare of Discontinuity
Most of the time when we do math things are smooth. If you push a swing it moves a little. If you push it harder it moves more.. When something comes into contact with something else it is different. It is discontinuous.
One moment the robots foot is in the air. There is no force. The moment it hits the ground and there is a big upward force. This happens fast and it can make the robots control system go crazy.
We use something called Complementarity Constraints to model this.
The foot is either above the ground with no force. The foot is touching the ground with a positive force.
It is really hard to control this on and off switch thousands of times per second without the robot falling
2. The Friction Cone: The Invisible Boundary
Walking is basically a controlled fall. To move forward you push against the ground.. You can only push so hard before your foot slips. This is because of something called the Coulomb Friction Model.
Imagine a cone coming up from the point where the foot touches the floor. This is the Friction Cone.
Long as the total force vector stays inside the cone the foot stays on the ground. If the force vector goes outside the cone the foot slips.
The problem is that the shape of the cone changes all the time. A slippery floor has a cone while a carpeted floor has a wide one. If the robot thinks it is on carpet but steps on a piece of paper its math is wrong. It falls over.
3. The “Rigid Body” Lie
In books we treat robots like they are perfectly stiff.. In reality robots are not perfectly stiff.
There is a bit of flexing in the joints some squishiness in the feet and even a bit of give in the floor. When a heavy robot moves these little deformations add up.
If the control algorithm does not account for this it might calculate the Center of Pressure incorrectly. If the Center of Pressure moves outside the foot the robot will tip over. It is like trying to balance a building on a small point.
4. Why Simulators Struggle
You might think, “Can’t we just practice this in a simulation?”
We try, we have a problem. Simulating friction is really hard because it is not one thing it is a complicated mix of tiny surface bumps, temperature and moisture.
Most simulators use something called Soft Contact models to make the math easier. These often do not work well in the real world. This is why a robot can look great in a simulation but struggle in the world.
My Personal Take
We have been trying to solve this problem with math for a long time.. The real solution is coming from something called Whole-Body Control combined with machine learning.
The best humanoid robots today are not just calculating friction they are learning to react. They expect to slip. They use special sensors to detect when they are falling. They can then move to stop themselves from falling.
The future of humanoid robots is not about finding a way to make them not slip it is about making them comfortable, with the real world. We are not just teaching them to walk we are teaching them how to deal with mistakes.