How can I create a scene that a gear rolling along the track? RackAndPinionJoint seems not meet the requirement

As you can see in this picture, I want the gear to roll on the track, and the track is not straight, I add the RevolutionJoint between the gear and the body-mesh which hopes to move along the track together, and then, add the PrismaticJoint to the body-mesh. Finally, add the RackAndPinionJoint between the gear and the track. however, it failed and there are two problems:

----First, the RackAndPinionJoint cannot move along the curved path, is there any other way to realize it?
----Secondly, when I add the FixJoint to the track, there comes the warning :
2022-10-29 13:55:34 [Warning] [omni.physx.plugin] PhysicsUSD: CreateJoint - cannot create a joint with disjointed body transforms: /Root/track/FixedJoint
and I cannot find anywhere wrong, here is the usd file. Any advice would be greatly appreciated!

trackproblem.usd (1.5 MB)