Open hojae-io opened 4 months ago
I have noticed the same thing. When running legged gym with the default anymal c rough terrain task, the iteration time is around 1.1 seconds while the same task in Isaac Lab is at least 2 seconds per iteration or more. According to the printout and my summaries it seems like most of the increase is in the collection time, not the learning time, so I also suspect it is an issue with orbit/isaac lab. Note I was running in a containerized cluster environment so I know i had the same hardware and software as the default config. As far as i can tell the tasks are the same in legged_gym and in isaac lab, so there shouldn't be an increase like this. This nearly doubles the training time, so I would really appreciate if this could be investigated.
Yes, some slowdown is expected from the legged-gym as there are changes in the environment's implementation. Out of my mind, these are as follows:
Recently, we updated the framework to use lazy-tensors, so we hope that reduces some of the performance gaps you see.
Interesting, thank you for the timely response. Would you recommend I disable the ray casting calculations somehow? Or is that not possible?
Hi all,
I was using IsaacGym for my humanoid learning before and have recently moved to Orbit.
One thing that has been bothering me for a while is that I observe that the training speed in Orbit is about 40% slower than in IsaacGym.
Although I wouldn't mention every parameters here, I double checked that almost all params ( physx settings, runner settings etc.) are same.
While I was tracking down where the difference is originating from, I ended up at simulator update code in decimation for-loop.
Here's the Orbit's simulator update code in
rl_task_env.py
:Here's the IsaacGym's simulator update code in
legged_robot.py
:As you might see, each
Line 1,2,3,4
is functionally corresponding. So I measured the execution time of eachLine
for line-by-line comparison and here's the results.As you can see, multiplying the difference of the total time by num_steps_per_env ((0.05983 - 0.03725) x 24 = 0.542 s) explains why the Orbit is slower roughly 40% than IsaacGym in my case.
Here are my questions:
self.scene
where we update the robot articulation and the sensors. I would appreciate if you can guide me if I'm missing any important parameter setting to make Orbit faster.Thank you for the help in advance! Best,