|
Hello,
I am curious about how does servo really work...
For example, if I have a robot lifting left leg to the front at initial state
and
in controller, I use command " wb_servo_set_motor_force(joint[2], 0); " which
will turn off the left hip servo of robot.
What i understand is that after press run, the left leg of robot should
automatically rotating around the hip rotation axis by gravity, and finally,
robot will be in the two legs standing post.
But in simulation, after i press run, the leg is just stay where it is, nothing
moved. what happen here?
After that, i tried to understand and I noticed that the servo will be able to
rotate only when some part of robot touch ground, for example, when foot is
touching the flat floor and upper body of robot twists, then hip can rotate side
way automatically. (but not when foot is not touching the floor)
Is this correct ?
Are there any configuration so that the leg of robot can rotate by gravity?
And would "control_p" help about this? because I saw it said to control gain of
motor, just set the "control_p" , which i also tried by setting "control_p" = 0
but it also doesn't work.
thanks a lot,
di_second
|