stanfordnmbl/osim-rl

Using fixed step size in opensim_rl

shakibaRafiee opened this issue · 2 comments

Hello.

I am trying to run some simulations in the OpenSim-rl, and I was wondering if there is a way I can have more control over the integration process.

I am working on a modified version of the sim_L2M2019_controller1 example, and I need to run it with a fixed-time step.
I have tried to use manager.setIntegratorMaximumStepSize() and manager.setIntegratorMinimumStepSize() functions to force the model use a fixed-time step. Unfortunately, it seems like that a good number of functions that were developed for the OpenSim python package, are not included in the OpenSim-rl. I was hoping that someone here could help me run the code with a fixed time step.

Best,
Shakiba

Hey, I'm having the same issue. How did you solve it?

Thanks in advance,

Queralt

Hi Queralt,

I ended up using the "setDTArray" function. It gets an OpenSim-array as an input this is how I defined it for my code:

self.stepsize = 0.01 # simulation step size
T = 20 # simulation duration
dt_intg = self.stepsize/100 # integration step size
DT_Array = opensim.ArrayDouble(dt_step, int(T/dt_intg)).getAsVector()
self.manager.setDTArray(DT_Array)

Hope this helps.