How to make a rigidbody (3D) balance upright?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By DXB6

So I want a rigidbody3d to be able to be knocked over or nudged by anything and have it balance itself upright. I’ve sort of made a solution to this by adding a constant central force to it and setting the center of mass to it’s feet, but doing that makes it take too long to balance and it ends up flying once it’s oriented correctly.

And to be more specific, I don’t just want to lerp the angle to the correct orientation, I want it to add the forces required to make it balance. Think of it as one of those inflatable punching bags. When you punch it, it reorients itself upright in a back and forth bobbing motion.