2 Wheel Drift

I have a 2 wheeled robot - 2 GM10's with little thin wheels. I've hooked them up to an arduino with an L293. I have it going forwards, backwards & turning well enough. The problem is when going forward, it seems to drift to the right slightly. Any suggestions as to what the problem might be? Do I need wider wheels? A proper castor? (ATM, the front of the chassis rests on the ground).

Basically, what I'm asking is, with 2 small motors and thin wheels, can I expect a bot to go in a perfectly straight line?

Thanks!

Nothing

It can’t be done (cheaply).

Basically, both sides of your system are different. Your motors have a slightly different lengh of wire winding, your gearboxes have different amounts of friction, your wheels are slightly different diameters and have different amounts of friction with the ground, one wheel might encounter more dust thanthe other one… etc.

You could add rotation sensors to make sure the two wheels are going at the same speed, which overcomes the differences in the systems up to the point they meet the wheels, but the wheels might still be slightly different diameters, etc…

What makes matters worse is that the two halves of the system are different in completely unpredictable ways. We can’t know how old or how used each motor is or the difference between them, for example.

I would put my neck out and say the only way to get a bot to go in a perfectly straight line is using GPS or a compass.

(Now, I sit back and wait for all the comments from the number of people who think they have robots which go in “perfectly” straight lines.)

perfectly straight

Macdonag’s comment on the castor inspired me.

Would a dragging castor not have a big effect on the deviation? The longer the castor’s tail (in relation to the width between wheels), the better? I am thinking wind vane on a wind turbine.

Yes

Indeed, I can think of very little which does not affect the straightness of the path!

Castors are a pain sometimes. If the bot is tootling along in a relatively straight line, then stops and turns through what should be a known angle, it will not achieve it. the nature of a castor is that the centre cannot be the pivot point. So as the castor starts to turn, it pushes the robot back or forward ever so slightly.

Likewise, having just turned, the castor will be lying out to one side. If the robot then sets off on what should be a straight line, as the castor strightens relative to the bot, it will pull the bot off course.

pain or gain?

I was hoping to hear the opposite :sunglasses: .

I was comparing the straightening effect of a vane with that of a dragged objectin the robot’s “tail”. Hoping it would somehow form some sort of directional negative feedback. That would help the vehicle maintain a straight course. It would not guarantee it. And it would probably make turning less accurate.

Rik

given that all BOA said is

given that all BOA said is right, i think the problem can be mitigated but by building the robot case correctly… My first robot (the one on the picture) had no correction system but it showed very little deviation. Some thing you could check:

-Is the weight in the middle? ie maybe your battery pack is placed more on a side than on the other.

-Is the contact point of the draggin on the middle? If the piece of the case that touches the ground is on one side, i think it can affect direction greatly.

-Is the case symmetrical? ie maybe it’s longer/wider/heavier on one side.

Does anything go straight?
Sometimes we like our world to be orderly. And a robot traveling a strsight line can be good, but is it really necessary? I believe that if you simply keep track of where you are going, the straightness of getting there doesn’t really matter. And the process of keeping track (odometry) can actually give a tool to “straighten” with, if need be.

Philosophical
Stuff is either straight or it isn’t in my world. I believe I may have mild OCD.

those lenses

those lenses do tend to see only details

BOA_CLOSE.gif

Just do what I do…
Just wrap dog-hair around the fast side.

self stabilizing technology
the faster shaft will tend to collect dog hair faster than the slow one anyway, providing for balance in the Force

Dog Hair
Household pets are a good source for dog hair.

Chris has more homework
He’s gotta write a component page on the stuff!

Thanks

Thanks for all the comments. I’m thinking that the structure is a large factor in all of this. Initially, there was little weight over the wheels, so they didn’t really move the bot along by much. Now I’ve moved the battery ot provide weight, but it’s been done in a haphazard way. I haven’t paid any attention whasoever to distribution of weight.

My plan is to build a simple plastic chassisto place it all on, and figure out a nice place for the battery. Add a hemisphere to the chassis to steady it and see how it goes.

I’ll let you guys know.

Thanks

g

I had this same problem with
I had this same problem with AREV. My current plan is to get a gyrometer (3 axis) and assist the robot. I will also PWM the motors.

"Sometimes we like our world

"Sometimes we like our world to be orderly. And a robot traveling a strsight line can be good, but is it really necessary? I believe that if you simply keep track of where you are going, the straightness of getting there doesn’t really matter. And the process of keeping track (odometry) can actually give a tool to “straighten” with, if need be."

Yes, yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes , yes!!!

IMHO it is only fun if you can make your robot half way limb on one side / motor, and it just compensates… because it just strives to go where it is aiming to go.

That is because I am an 100% arty. This one of the most secure ways of telling if you are an arty or techie. Techies are looking for robots to go in order so they can tell where it is, measured etc. Arties do not care, they strive on making therobot “understand” what the goal is, and then just get there by humbing, bumping, driving or jumping :smiley:

That’s to assume you can’t
That’s to assume you can’t be both. Besides, an understanding of why something happens (in this case drift) can only help with future work, arty or otherwise. So I understand where you’re coming from, but I’m still going to try to make my robot more accurate :slight_smile:

Toe Out

Oooh I read about this last night. How sad is that?

The directional stability of a wheeled robot will be greatly improved if the wheels have slight "toe out". That means that the wheels are not perfectly vertical, they angle slightly outwards towards the bottom. Without drawing a picture, seen from the front or back your robot would look a little bit like an "A". A heay robot with cheap or no axle bearings will probably achieve this naturally.

Mike

I do not believe the

I do not believe the “A-shape” or any other ways of distorting the wheels will do anything but possibly slow down the speed, and so both limit the sliding… but also limit the forward motion.

Near-prefect angled wheels will give you a near perfect straight line. But as stated above; why would you want that?

In my world the programming, sensors, brains should ensure that the robot reaches it’s goal, even if the wheels are completely out of sync & order. This is why it is given brains; to decide where to go, and compensate for whatever distortion the surroundings may cause.This is why it is autonomous, and not just dumb like a cheap copying-machine or a train etc.