erwincoumans / motion_imitation

Code accompanying the paper "Learning Agile Robotic Locomotion Skills by Imitating Animals"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

position drifting happens when set v=0 in whole_body_controller_example.py

zhuyijie88 opened this issue · comments

In this function,

_generate_example_linear_angular_speed(t)

I set the linear and angular velocity both zero. When simulated robot A1 marks time for tens of seconds, it drifts from the origin position gradually. I want to know the reason of this phenomenon, is it attributed to unprecise dynamic modeling? How do we fix it?

The mpc model (inertia, center of mass location) is not very accurate, probably causing some drift. Also, convex mpc ignores feet mass, but there is some mass. There maybe other reasons for drift (feet collision, bit of sliding perhaps).

One workaround (hack) could be to measure drift compensate through the velocity.