Example #1
0
 def get_state(self):
     return opensim.State(self.state)
Example #2
0
from osim.env import RunEnv
import opensim

env = RunEnv(visualize=True)
observation = env.reset(seed=0)

s = 0
for s in range(50000):
    d = False

    if s == 30:
        state_old = opensim.State(env.osim_model.state)
        print("State stored")
        print(state_old)
    if s % 50 == 49:
        env.osim_model.revert(state_old)
        state_old = opensim.State(state_old)
        print("Rollback")
        print(state_old)

    o, r, d, i = env.step(env.action_space.sample())
Example #3
0
    opensim.Vec3(0, 0, 0),
    opensim.Vec3(0, 0, 0))

bodyGeometry = opensim.Ellipsoid(0.1, 0.1, 0.1)
bodyGeometry.setColor(opensim.Gray)
blockos.attachGeometry(bodyGeometry)

model.addComponent(pj)
model.addComponent(blockos)
#block = opensim.ContactMesh('block.obj',opensim.Vec3(0,0,0), opensim.Vec3(0,0,0), blockos);
block = opensim.ContactSphere(0.4, opensim.Vec3(0, 0, 0), blockos)
model.addContactGeometry(block)

# Reinitialize the system with the new controller
state0 = model.initSystem()
state = opensim.State(state0)

# Change max force
muscleSet.get(0).setMaxIsometricForce(100000.0)

# Get ligaments
ligamentSet = []
for j in range(20, 26):
    ligamentSet.append(
        opensim.CoordinateLimitForce.safeDownCast(forceSet.get(j)))

for i in range(1000):
    # Set some excitation values
    for j in range(muscleSet.getSize()):
        controllers[j].setValue(((i + j) % 10) * 0.1)
Example #4
0
    def reset(self):
        if not self.state0:
            self.state0 = self.model.initSystem()
            self.manager = opensim.Manager(self.model)

        self.state = opensim.State(self.state0)