Problems with starting differential control and moving the car by pressing keys in space.
-
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.
-
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)
}
```