Modeling Wheels - Troubleshooting

Discussion in 'Modeling' started by Omir, Dec 6, 2017.

  1. The model:

    I am modeling a small robot that has a differential drive setup (two wheels), where the front edge of the robot drags on the ground. This combination of a box and two cylinders can generate a lot of contact points. I think part of my problem is that in reality the soft rubber wheels aren't rigid, but in the simulator they don't deform at all. Any help is appreciated.

    The problem:

    Currently I have some issues. When I am applying torque to the wheels the model seems to vibrate rather than translate smoothly. The simulator seems to cycle through subsets of the contact points. In one time-step a wheel is arbitrarily not in contact with the ground and that wheel can accelerate. In the next time-step that fast moving wheel is arbitrarily chosen to be in contact with the ground and this produces a sudden force, causing the robot to jerk forward. This cycles continues in something that does not resemble real life.

    Things I have tried:
    • I have tried playing around with solref and solimp with limited success. Making the values too under-damped amplifies the problem, but making it overdamped does not eliminate the problem.
    • I have tried reducing the friction coefficient of the box and increasing the friction coefficient of the wheels. This provided some small benefit. Now rather than vibrating in place, it vibrates while translating as well.
    • I have tried increasing the power of the wheel motors. If you make them strong enough the robot does translate in a seemingly realistic way, but there is still this strange jerky regime if you only use a fraction of your maximum torque.