Simulation behavior in GPU is different with in CPU


  1. Collision. Everything goes well while in CPU. (sim_params.use_gpu_pipline = False)
    [ Placeholder for video, it will be attached in comment, cuz I’m a new user. ]
    The collision with moving objects is ignored while in GPU. (sim_params.use_gpu_pipline = True)

    The only difference in code for the above two is the value of sim_params.use_gpu_pipline.

  2. Wrong position of actors that are created with only-one link URDF.
    The position of an actor will have an offset that is relating with the value of of the only link element in the URDF. For example:

<?xml version="1.0" ?><robot name="simple_table">
    <link name="base">
            <origin rpy="1.571 0 0" xyz="0.000 0.000 0.000"/>
                <mesh filename="chair.obj" scale="0.050 0.050 0.050"/>
            <origin rpy="0 0 0" xyz="0.000 0.000 1.000"/>
                <box size="1.000 0.900 1.500"/>

The above URDF will be rendered perfectly good while use_gpu_pipepine = False. But it has a offset while use_gpu_pipeline = True.

As I said in the ticket description, attaching video here.

Hi @qi_xiaofeng,

We’ll take a look. Do you have a chance to share the python script and the assets you used?