ATAT doesn't tip over when you push the top. It's actually really hard to get it to fall over. It also seems to be trembling slightly when stationary on the ground.
The player isn't affected by gravity or other forces. A possible fix for this is to remove the resetForces() call and tweak the physics properties to let friction stop the player (like real life). We might have to change the model for the player to a cylinder or something.
There are a few awkward things: