Hey, so I'm making a rover similar to the Curiosity rover that just landed on mars. I am not worried about the joints for each wheel right now. Currently I have a box representing the body and 6 wheels on the edge tied to the rover with a revoluteJoint. The problem is that I'm having an issue getting the right amount of control from the wheels. The rover body has a mass of 130, and each of the wheels have a mass of 5. The ground and the wheels both have default materials.
The problem is that when I give the motors a speed of 10 where all of the wheels are headed in the same direction, the rover itself rotates up as if the wheels' rotation directly causes the rover's rotation on the same axis. I can be in mid-air and the rover's rotation is still directly caused by the wheel's rotation.
Now, if I give the wheels a speed of 4, the effect is not as noticeable but the rover doesn't travel nearly as fast as I would like.It you can also start causing the rover to rock back and forth if you time a change in the wheels at the right time.
What I would like is for the rover to have little no rotation at all on the same axis as the wheels when I am driving on a flat surface but for the rover to have the ability to flip if lets say the rover went over very rocky terrain. ie: I need the wheels to have no effect on the rover's rotation except to drive and steer the rover as it should.
Thanks
Wheel push back on rover
Re: Wheel push back on rover
It sounds like it's a matter of tuning. The SuspensionCarDemo in the BEPUphysicsDemos shows a robust joint-and-entity vehicle.
Some key details:
-If it flips too easily, adjust the distribution of mass. An easy way to do this is to offset the collision shape from the origin of rotation using entity.CollisionInformation.LocalPosition.
-Watch out for excessive mass ratios. Combined with rigid constraints, this can cause instability.
-Make sure the motors are tuned such that they don't jerk the whole structure around when they activate.
-Tune the friction so that the wheels don't just spin out. Spinning out means there's a whole lot of torque being applied without making much forward progress.
Some key details:
-If it flips too easily, adjust the distribution of mass. An easy way to do this is to offset the collision shape from the origin of rotation using entity.CollisionInformation.LocalPosition.
-Watch out for excessive mass ratios. Combined with rigid constraints, this can cause instability.
-Make sure the motors are tuned such that they don't jerk the whole structure around when they activate.
-Tune the friction so that the wheels don't just spin out. Spinning out means there's a whole lot of torque being applied without making much forward progress.