Qpos angular position outside of xml joint range

Discussion in 'Support requests' started by Cedric, Aug 22, 2019.

  1. Hello,

    I'm using Walker2d and the ranges of each joints are specified in the xml file in degrees. (e.g. [-150, 0] for the thigh). However, the values corresponding to that joint in qpos (e.g. qpos[3]) can fall outside that range. This angle is in radian, should fall into [-150, 0](degrees) = [-2.61, 0](rad) but sometimes takes values like -2.96, 0.69 etc.

    Is this a problem of reference? Maybe the joint range in the xml refers to the body while the angle in qpos refers to the background reference?

    How can I get the range of qpos angular values given the xml joint range (in python, using mujoco_py)?

    Thank you for your time
     
  2. Emo Todorov

    Emo Todorov Administrator Staff Member

    Joint limits are soft, like all other constraints in MuJoCo. So the joint angle can be outside the range. If you change the softness parameters to make the limit harder, the violation will go down. Re mujoco-py, I am not using it and don't know really know what its API looks like. I imagine it would give you access to mjModel.jnt_range somehow.