ODE Middleware

I can’t say I fully understand your problem. That is, I think I understand what you’re trying to do, but don’t fully comprehend how nor what is actually going wrong. I generally avoid using quaternions directly, and instead prefer to extract HPR from them, which I feel a lot more comfortable with.

Still, though, the setQuat() method in the physicalObject (and thus the kinematic object) is just a convenience method. It does nothing more than passing the quaternion to the nodepath and the geom. So there’s really not much that could go wrong there.

Now, just to clarify, are you working on an AI vehicle or a car?

In either case, though, if you want smooth turning then perhaps you should take a look into PandaSteer. It might not be 100% what you’re looking for, but it might give you some idea of how you can make this using vectors and Panda’s lookAt functionality.

Obviously, the easiest way to achieve smooth turns in Panda is to use an HprInterval, but obviously this is not a universal solution and is the most useful for scripting events (such as in-engine cut scenes) rather than anything else.