Closed vivanov879 closed 4 years ago
Hi @vivanov879 - I have migrated this project into MarathonEnvs - Note: it does use a heightmap - you can see some of the other environments use randomized terrains.
In my local branch, I have added a few more animations, however, I broke the backflip so I have not pushed that code yet.
I'm working towards a general player controller - similar to this - but it would be good to hear/understand your interest
@Sohojoe Joe, thanks, I installed the repo and ran the environments you implemented. I implemented RL algorithms in mujoco, but the results I got were very unnatural. So I am looking to work it out how to make good looking agents as in deep mimic paper.
I read through your scripts StyleTransfer002Agent.cs and StyleTransfer002Animator.cs. Can you please clarify for me where did you get the specific values for the quaternions and translations in body parts, for example:
MimicBone("left_shin", "mixamorig:LeftLeg", "mixamorig:LeftFoot", new Vector3(.0f, .02f, .0f), Quaternion.Euler(0, 0, 180));
As for the general pipeline, my understanding is that we set the rigid bodies positions to match the positions positions of animations corresponding to the current time into the animation by interpolation. In case there is a collision we let the Unity's rigid body collider do the collision, and we do not match the rigid body position according to animation during the collision.
@vivanov879 for the mimicBone: initially I had some code that read the Mojoco script which created the Humanoid. But this was hard to work with, so I exported one the model that the script made and then hand tunned some changes to reduce overlaps. The MimicBone code I tweaked by hand to make my model reference the mocap bones.
re general pipeline - yes, there is a phase parameter in the observation space that goes from 0 to 1 (0=start of animation, 1=end of animation) - this is the same approach as DeepMimic.
The backflip is hard to train so it may be easier to start with the walk animation (you can swap this in the Unity animation controller)
If you are looking for a very smooth simulation, the Ubisoft researcher guy implemented a smooth function which he said mitigates the jitter (I want to implement this at some point). Both DeepMimic and the Ubisoft guy implemented a PD controller which they say improves training time
Thanks for explanation. Can you share the paper for PD controller? I might implement that as part of my online RL course I am taking. I created a ticket on marathon-envs project since I couldn't start training on my ubuntu machine. Will you look that up?
On Apr 30, 2020, at 11:36 PM, Joe Booth notifications@github.com wrote:
@vivanov879 https://github.com/vivanov879 for the mimicBone: initially I had some code that read the Mojoco script which created the Humanoid. But this was hard to work with, so I exported one the model that the script made and then hand tunned some changes to reduce overlaps. The MimicBone code I tweaked by hand to make my model reference the mocap bones.
re general pipeline - yes, there is a phase parameter in the observation space that goes from 0 to 1 (0=start of animation, 1=end of animation) - this is the same approach as DeepMimic.
The backflip is hard to train so it may be easier to start with the walk animation (you can swap this in the Unity animation controller)
If you are looking for a very smooth simulation, the Ubisoft researcher guy implemented a smooth function which he said mitigates the jitter (I want to implement this at some point). Both DeepMimic and the Ubisoft guy implemented a PD controller which they say improves training time
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Sohojoe/ActiveRagdollStyleTransfer/issues/14#issuecomment-622096317, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAESBIXXMIVOXVOVJ56PHW3RPHONTANCNFSM4MTEGVEQ.
this is the paper that has the smooth controller (they also implemented a PD controller) - these are my notes / what i copied from the paper:
this is the paper about the PD controller
@Sohojoe Have you implemented the PD controller in any of your repos?
@Zju-George - sorry for the slow response, no I've not implemented a PD Controller - I've wanted to try but never gotten around to it
Hi. This is an amazing poject. I am looking to check out your repo. Do you think it is possible to add a height map around an agent as the original deep mimic paper did? I wonder whether Unity allows to extract the height map somehow. If it does, we can train a model with various obstacles around the agent, and make it run with obstacles around it.