I'm trying to execute the code with the provided example but noticed that the visualizer is showing a slow animation for the agent in the simulated environment. In the paper, you mentioned that the method was tested with real time input from a user, so I suppose that it should be running at reasonable frames per second for real time performance which is not the case in my testing. Debugging the code shows that the function step from env_humanoid_tracking that forwards the simulation using the target poses it got from the expert is taking 0.0257 seconds for each execution on an intel i7 10th gen 2.3 Ghz CPU, which is quite long for real time simulation.
I think that the problem is from the actuation function self._agent[i].actuate(pose=target_pose, vel=None), since running only the basic motion tracking controller using python env_humanoid_tracking.py gives a run time of 0.003 seconds on average for the step function that doesn't use the custom actuate function.
Also, looking at the actuate function, there is a for loop over the joints of the simulated character and the operations are completely independent, so I think that there is a way to parallelize them for better performance. Either this or maybe I missed something that made the animation slower.
Hello,
I'm trying to execute the code with the provided example but noticed that the visualizer is showing a slow animation for the agent in the simulated environment. In the paper, you mentioned that the method was tested with real time input from a user, so I suppose that it should be running at reasonable frames per second for real time performance which is not the case in my testing. Debugging the code shows that the function step from env_humanoid_tracking that forwards the simulation using the target poses it got from the expert is taking 0.0257 seconds for each execution on an intel i7 10th gen 2.3 Ghz CPU, which is quite long for real time simulation.
I think that the problem is from the actuation function
self._agent[i].actuate(pose=target_pose, vel=None)
, since running only the basic motion tracking controller usingpython env_humanoid_tracking.py
gives a run time of 0.003 seconds on average for the step function that doesn't use the custom actuate function.Also, looking at the actuate function, there is a for loop over the joints of the simulated character and the operations are completely independent, so I think that there is a way to parallelize them for better performance. Either this or maybe I missed something that made the animation slower.
I hope that you have an idea about this. Thanks!