Modelling straight motion of a object without impulses from the surface

Discussion in 'Modeling' started by Nikola, Mar 11, 2020.

  1. Dear all

    I am working with the environment shown in this video () where a puck slides on a flat surface. When pushing the object, I would like the object moving on a straight line. Intuitively, I started defining
    condim="3" so that there should be no torsional friction and therefore no curves.

    However, the puck is not moving on a straight line but often on a curve. Setting condim="4" and inceasing the torsional friction, so that the object does not rotate, helps but did not solve the problem.

    I observed that the puck slightly penetrates the table while moving and I expect that this is the reason for those random impulses. Is there a way to get rid of it? I am not sure how I can play with the solimp and solref parameters and if setting springdamper="1 1" might be a problem.

    Thanks in advance
    Nikola

    <body name="table0" pos="2.12441906 0.75018422 0.2">
    <geom size="1.425 1.4 0.2" type="box" condim="4" solimp="0.97 0.97 0.01" solref="0.01 1" name="table0" material="table_mat" mass="2000" friction="0.1 0.5 0.0001"></geom>
    </body>

    <body name="object0" pos="0.025 0.025 0.02">
    <joint name="object0:joint" type="free" springdamper="1 1"></joint>
    <geom size="0.025 0.02" type="cylinder" solimp="0.97 0.97 0.01" solref="0.01 1" condim="4" name="object0" material="puck_mat" friction="0.1 0.5 0.0001" mass="1"></geom>
    <site name="object0" pos="0 0 0" size="0.02 0.02 0.02" rgba="1 0 0 1" type="sphere"></site>
    </body>