Hello~
I'm recently trying to build a robot simulator using Bullet Physic Library. (Great Thanks to Bullet Team for the work!!!)
I use C#/XNA 4.0 as the main program structure, and thus the "BulletSharp by anthrax11" is adopted. (Thanks to anthrax11 too!!!)
I modified the RagdollDemo and integrate the MotorDemo to let the ragdoll stand and move limbs.
The capsuleShapes are replaced by boxShapes, and the joints of legs are hinge constraint.
The setup parameters are as follows:
-----------------------------------------------------------------------------------------------------------
Joint OverrideNumSolverIterations = 30
World SolverIterations = 20
Sole size = 0.15f, 0.06f, 0.36f --> for width / height / length
Joint MuscleStrength = 1.5f
ground.Friction = 0.5f
ground.RollingFriction = 0.5f
ground.SetAnisotropicFriction(groundShape.AnisotropicRollingFrictionDirection, AnisotropicFrictionFlags.AnisotropicRollingFriction);
rigidBody.Friction = 1
rigidBody.RollingFriction = 0.3f
rigidBody.SetAnisotropicFriction(shape.AnisotropicRollingFrictionDirection, AnisotropicFrictionFlags.AnisotropicRollingFriction);
The whole ragdoll structure is about 36Kg
-----------------------------------------------------------------------------------------------------------
In order to let user controll the joint angle all the time, I use world's TickCallback to make ragdoll related rigidbodies keep active.
the current result is shown in this picture:
HumanoidSim_20130924.png
(Note: The cubes in the picture are simply drawn at the rigidbody's center, not the actual rigidbody size)
The two main problems:
1. The joints are not "hard" enough, it should be the iteration solver issue...
2. The rigidBodies at the "sole" position slightly sink into the ground with a minor tilt angle, and the whole ragdoll structure drift around...
and it looks like there's no friction force exists...(Coused by impulse-based algorithm ?)
I've tested changing the friction parameters, but it doesn't help...
As I know, the DARPA VRC's Gazebo simulator and the V-REP robot simulator also adopt Bullet as their physic library, but their simulation result look good to me. There's no above-mentioned problems...
Could anyone help with the that?
Maybe the featherstone algorithm is the fundamental solution?
You do not have the required permissions to view the files attached to this post.