Newton has a very flexible custom joint system. Instead of offering basic joints like ball and socket or hinge, it allows to implement this yourself. So you can set up your joint limits with custom callback code, e.g. to model a cone limit.
And you can also add motors which you control by setting target acceleration. Additionally you can set the max force / or torque such motor is allowed to generate to achieve this target.
Newton then solves for torques and forces. The results are very accurate, the joints are stiff and exact. Meanwhile there is almost no error left - in my video the joints were much softer than they are now.
And that's what Newton gives me. The rest (all that i talked about here) is my work. Starts with creating rigid bodies for each limb, and connecting them with joints so you get a ragdoll.
Meanwhile Newton has a new WIP feature for robotics, walking ragdolls etc. I have not used it yet. But IIRC it works by adding a virtual joint to the end effectors (e.g. hands and feet). Then you can controll those limbs by pulling the virtual effector target.
The solver solves for the full pose and joint forces, and it cares for balancing as well. No need here to use motors or calculate target joint accelerations. So this should be very easy to use in comparison to my approach, but it is still complex to learn and setup i expect.
Other physics engines also have similar functionality. Havok has (or had) ragdoll animation system, PhysX has accurate robotic joints now.
Personally i tried ODE, my own, Havok, and Bullet. Havok was quite good, but you can not expect so much accuracy from any of those. Natural Motion uses it's own solver to get joint torques, for example.
Newton blew me away. I expected nothing from a small engine made from one guy. But contrary to the others, it really works. Accurate, support for big mass ratios, flexible and fast. Has no soft bodies and cloth yet, though.
No matter what, what you need in any case is hierarchical skeleton data structure. The same thing we use for animation, basically a tree of transform nodes, using matrices etc. That's already quite some stuff to learn, if you never did yet.