Problems with starting differential controller and moving my car by pressing keys in space

Problems with starting differential control and moving the car by pressing keys in space.

  1. I took an example from the isaac sim assets (https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0/Isaac/Samples/Rigging/MockRobot/mock_robot_rigged.usd) added it to the default scene and connected the differential controller. Without any additional steps, the car control works.

  2. In the second step I try to create a default scene with all the necessary properties such as “physical scene”, “lighting”, etc.
    I create a car with my own hands and it seems to me almost identical to the one in the example. A cube that I pull out into a rectangle. I create wheels from cylinders and connect them as a revolver connection. I also reproduce the structure through xform for meshes.

For the second non-working file, I must say that I managed to implement the scene in such a way that it runs without errors. And yet, when I press the buttons (wsda), I do not see any reaction from the machine.

Colleagues, I ask for help, because I am stuck and cannot figure out the documentation myself.

Isaac Sim Version

5.0.0

Operating System

Ubuntu 22.04

Read here

watch youtube.

not_working.txt (62.1 KB)

works_fine.txt (36.9 KB)

Colleagues, exactly the next morning I found the problem. For the sake of history, I will write that the problem was that I did not have the values ​​specified

float drive:angular:physics:damping = 10000 float drive:angular:physics:targetVelocity = 0

so, must be:

```
def PhysicsRevoluteJoint “wheel_joint_right” (
prepend apiSchemas = [“PhysicsDriveAPI:angular”]
)
{
float drive:angular:physics:damping = 10000
float drive:angular:physics:targetVelocity = 0
uniform token physics:axis = “Y”
rel physics:body0 = </mock_robot/body/body>
rel physics:body1 = </mock_robot/wheel_right/wheel_right>
float physics:breakForce = inf
float physics:breakTorque = inf
point3f physics:localPos0 = (0, -1.5, 0)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 6.664002e-8, 0, 0)
quatf physics:localRot1 = (0.70710677, -0.70710677, 0, 0)
}

def PhysicsRevoluteJoint “wheel_joint_left” (
prepend apiSchemas = [“PhysicsDriveAPI:angular”]
)
{
float drive:angular:physics:damping = 10000
float drive:angular:physics:targetVelocity = 0
uniform token physics:axis = “Y”
rel physics:body0 = </mock_robot/body/body>
rel physics:body1 = </mock_robot/wheel_left/wheel_left>
float physics:breakForce = inf
float physics:breakTorque = inf
point3f physics:localPos0 = (0, 1.5, 0)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 6.664002e-8, 0, 0)
quatf physics:localRot1 = (0.70710677, -0.70710677, 0, 0)
}
```