nicrusso7 / rex-gym

OpenAI Gym environments for an open-source quadruped robot (SpotMicro)
Apache License 2.0
973 stars 130 forks source link

Question about real robot and servos #14

Closed fgolemo closed 3 years ago

fgolemo commented 3 years ago

Heyhey Nicola,

Great work with the repo and the robot! I have a question about the servos: You're using the standard MG996R servos, right? And they don't give you any position feedback or torque feedback or literally any kind of feedback, right? I have one here and all it does is it accepts incoming PWM signals and then goes to the corresponding position. My question is why do you have the Rex.GetMotorTorques() function in your robot class (or rather why is it part of your observation)? My concern is that a policy that was trained in simulation wouldn't transfer to the real robot if the state doesn't contain this information.

Cheers, Flo

nicrusso7 commented 3 years ago

Hi @fgolemo, thanks for your interest in rex-gym! yes the current robot version is using MG996R servos. However the motor model (motor.py) converts the desired positions to torques when the _accurate_motor_model_enabled flag is True (see https://github.com/nicrusso7/rex-gym/blob/82dea26bcd8896da06240bcc3abd4de5b4696430/rex_gym/model/rex.py#L598). In the observation, that list is empty (for now).

Moreover, I'm near to implement a new leg design that comes with brushless motors :)

Feel free to reopen this issue if you have any other question!