Joint reaching equilibrium in weird location

Discussion in 'Simulation' started by Ivan Yevenko, Jul 26, 2020.

  1. I'm attempting to create a position actuator that rotates about the z axis of the base of my robot arm model, but upon loading the model and letting the simulation run for several timesteps, the joint turns to a qpos of about -1 and oscillates.

    Some things I've tried to fix this include:
    • In the body's <joint> tag:
      • High damping (Same results but slower and with a big overshoot)
      • High friction loss (Same but slower)
      • High stiffness (No apparent effect)
    • In the body's <geom> tag:
      • Setting solimp and solref to values that worked in other examples
      • High friction (Made the joint rotate to the same position at a barely perceivable slow rate)
    • Removing gravity
    • Adding explicit <contact> pairs
    • In the <option> tag, setting noslip_iterations to a positive value

    On top of the unwanted joint rotation, writing to ctrl also doesn't seem to affect my model at all. One thing I noticed, however, was that a positive value for noslip_iterations actually completely removed both the turning and the oscillations but writing to ctrl still had no effect. To me this indicates that the Noslip solver just locks the joint and prevents any kind of motion.

    I've attached my .xml file with all but the first joint commented out. All I'm doing to run it is loading the sim and stepping and rendering in a loop with mujoco-py.

    I would really appreciate any help I can get on this. Thanks.

    Attached Files: