erwincoumans / motion_imitation

Code accompanying the paper "Learning Agile Robotic Locomotion Skills by Imitating Animals"
Apache License 2.0
1.17k stars 292 forks source link

Brief explanation of input data format #4

Closed stedn closed 4 years ago

stedn commented 4 years ago

Could you include just a brief explanation of the input data format in your readme? I've dug down into the MotionData class and found that it should represent a pose of the form [root position, root orientation, joint poses (e.g. rotations)], but I'm still a bit confused what that entails. I don't understand why they would each be of length 19.

Is there some documentation on this format for a pose.

stedn commented 4 years ago

I've dug a little deeper and I see that the first 3 datapoints per frame are position and the 4 after are rotation. I imagine the remaining 12 data-points are joint poses, but I'm still unsure what format they take.

erwincoumans commented 4 years ago

Indeed, the mocap data represents the pose of the robot, root_position, x,y,z in world space root_orientation, a quaternion x,y,z,w, in world space then the joint poses (joint angles), since there are 4 legs, each leg has 3 motors (shoulder, hip and knee) you get 12 dofs for the legs, so 19 in total.

The mocap format is the same as used in DeepMimic, see the readme here: https://github.com/xbpeng/DeepMimic

Do you have more specific question about above?

stedn commented 4 years ago

Ah thank you, the reference to the DeepMimic docs was what I was needing. Thank you. I threw out a quick PR to add it for others https://github.com/google-research/motion_imitation/pull/5.

(it can be hard to find simple things like this in the closed Issues sometimes)

erwincoumans commented 4 years ago

Thanks, done.