build some wheel motorized things

I need some advice on how to build a working rigid body thing, I’m new to rigid body simulation (but not to blender).
My plan is to have a somehow unpredictable movement for simple mechanical creature
the simplest solution is to use a kind of wheel that is not perfectly round.



I’ve a doubt how i should set up the rigid body constraints to get the result.
At the moment I’ve used a mesh with an hole (wheel) and a build-in-the-mesh pivot to keep the wheel and the main body together.
I’ve connected the body and the wheel whit an empty object containing a “motor” constraint, it works, but I wonder if this is the correct solution.
Maybe it should be better to use some other kind of constraint to connect the wheel and the body (but allowing indipendednt wheel rotation and “motor power”).
Can somebody explain which is the best practice to get the result?
Thank you very much, regards.