Getting Robot to Drive Straight with Basic Kit

Hello, I am using the Osoyoo Model-3 Robot Car Kit for Arduino and I am doing a project where I need to follow a predetermined path with the robot. We have the code to make the car go forward, left, and right, as given by Osoyoo Lesson One. However, when I tell the car to go forward or turn 90 degrees, it is wildly inconsistent and imprecise. Is there any way we can make the car more consistent without using any extra parts, aside from what's in the kit? Unless I am missing something from the kit or there are built-in encoders on some part that I do not realize, I do not believe we have any encoders. So is there any way to increase consistency and accuracy?

I have tried adjusting the speed of the individual motors to make it go straight, but it is still inconsistent.

The pictures show a bunch of gears. Did you lubricate the gears and axle bushings so they all turn easily?

If there are no wheel encoders, it appears that the only built in sensor for steering is the line tracking array.

The negative reviews on the Amazon product page are pretty telling, and I don't think it is worth the asking price.

1 Like

Wheels can slip on the surface, even if it looks / feels the same. There is not much that can be done about that.

1 Like

For many reasons you cant rely on the motors to give you accurate positioning.
You cant even use the wheel position, with a sensor, because when driving, the wheels slip on the surface.
You need a signal to tell the vehicle where it is and which way it is pointing.
An optical guide line is the easiest way.
If you MUST manage the direction without that then perhaps you could adapt the signal from an optical mouse to give more information. Or change the front to use a castor wheel with sensors.

Thank you for the replies, since we can't use guidelines in the presentation I will try to use lubrication for the wheels and I'll also try using johnerrington's solution. Maybe I can get wheels that do not slip as much also?

Or even try to make your existing wheels less slippery, by sand papering the surface of the wheels.

This is probably because devices are not connected to the correct shield pins, and the wrong sensor is telling the program to do the wrong thing.

This youtube video has many links in the "more" section that will let you understand your kit.

These kit cars give new users problems. I downloaded one kit guide and code and saw many errors. I corrected and uploaded a drawing and many single-device programs to let the new user focus on one device at a time, and not the complete kit. I think your kit has a L293 motor driver, which takes commands similar to the L298N.

I made a steering simulation that might help you gain control of your kit. I suggest disconnecting everything but the motors, then edit this simulation to use the motor driver pins your kit uses.

A wheel can not drive without some slip; and the co-efficient of friction will not be a constant.

To measure speed and direction you need a wheel that is free to rotate

Get a magneto to give you the real heading nd then use a PID to do the motor control.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.