In a maze environment, the agent could walk through the wall.

Discussion in 'Modeling' started by lin, Mar 7, 2018.

  1. lin

    lin

    I'm working on a maze environment, and making an agent could solve the maze. I define some geoms of boxes in the worldbody to represent walls. But during the exploration, the agent could walk through the walls, and go into the box and even outside the maze.

    How can I solve this problem? Thanks!
     
  2. Emo Todorov

    Emo Todorov Administrator Staff Member

    Assuming the collision mechanism is configured properly and the contacts are being detected (you should check this), the following will help:
    -- reduce the time step
    -- make the walls thicker
    -- make the contacts harder
    -- make sure the contact solver is converging; if not, increase the number of iterations
     
  3. lin

    lin

    After I decrease the first element of friction, the agent cannot go through the wall now. Still, I wonder what parameters influence the thickness and hardness of geoms.
     
  4. Emo Todorov

    Emo Todorov Administrator Staff Member

    The thickness is a geom parameter. So is the hardness. There is a lot of technical documentation online. You cannot expect to use MuJoCo effectively unless you read it... there is a good reason it was written in the first place.
     
  5. lin

    lin

    I have read the online documentation, but it's still a little tough for me, a CS student, to understand those terminologies and formulations now~~~
    For my understanding, the parameters "density" and "solimp" influence the "thickness" and "hardness" respectively. Is this right?
    Thanks a lot for your recent help:)
     
    Last edited: Mar 9, 2018
  6. Emo Todorov

    Emo Todorov Administrator Staff Member

    Geom density is used at compile time to infer the mass and inertial properties of the geom if these are left undefined. It has nothing to do with thickness or hardness.

    The thickness of the geom is determined by the shape and size.

    The hardness of the contact is determined by the solimp and solref properties. You can read about this here:

    http://www.mujoco.org/book/modeling.html#CSolver