PDA

View Full Version : Differential drive systems



Resilient
02-17-2009, 10:36 PM
I am trying to decide on a differential drive system.

I am wondering if I should go with normal motors or stepper motors. I am interested in steppers because I am working with two continuous drive servos and having a difficult time getting them to operate at identical speeds. Its my understanding that this is something that stepper motors help solve.

Like always, I am working to minimize cost over all else, so if I can extract components from other things, all the better.

I want to control the motors via my Axon or SCC-32 servo controller so I will need a motor controller that is compatible with that.

Ideas? Suggestions? I am looking at maybe the Sabertooth 5A if I decide on the brushed motors.

I am much less sure what to do if I decide on steppers. They seem odd and confusing to me.

Adrenalynn
02-18-2009, 12:27 AM
No motor ever runs at the same speed. That's a large chunk of what encoders are for. Also look up "PID".

Get you started here: http://www.seattlerobotics.org/Encoder/200108/using_a_pid.html

Ironman
02-18-2009, 05:07 PM
why do your motors need to move at the same speed?

if it's because you want to drive straight, then you might want to take a look at this
http://www.dprg.org/articles/2009-02a/

there are other factors to be taken into account, the calibration method used by that group is suppose to be awesome, i've never used it myself though.

Adrenalynn
02-18-2009, 05:42 PM
At first blush, that appears to be a fixed correction factor. Great in dissimilar wheel situations, but all motors have variable (nearly unpredictable) differences. That's why R/C has adjustable trim.

PID is still the optimum correction mechanism.

Again, though, I just skimmed the article you posted. Apologies if I missed the point!

robologist
02-18-2009, 10:04 PM
Steppers probably aren't the best solution but PID with your servos could work well, as Lynn pointed out, in maintaining the pair at a close equivalent speed. The speed will need to be measured with some type of feedback mechanism, usually quadrature encoders, which can also be used in odometry for the robot.

The Borenstein UMBMark pointed out is good in correcting errors of tracking where the robot is going, giving a systematic method to quantify those errors in odometry of the robot, regardless of what speed the wheels are going.

Resilient
02-18-2009, 11:05 PM
So its sounding like I may just stick with my modified servos sense it doesn't sound like I would gain much in precision in switching to motors with a motor controller.

What would you all suggest for measuring actual wheel rotation count or rotation speed?

Thanks
J

robologist
02-18-2009, 11:52 PM
The Wheel Watcher WW-01 (http://www.nubotics.com/products/ww01/index.html) is probably the most effective way to add feedback to a servo. Buying a pair is $50 or so. US Digital has one low cost encoder (http://usdigital.com/products/encoders/incremental/rotary/kit/e4p/) for $23 each, but it might be difficult tying it to a servo, though not impossible.

lnxfergy
02-19-2009, 09:27 AM
The Wheel Watcher WW-01 (http://www.nubotics.com/products/ww01/index.html) is probably the most effective way to add feedback to a servo. Buying a pair is $50 or so. US Digital has one low cost encoder (http://usdigital.com/products/encoders/incremental/rotary/kit/e4p/) for $23 each, but it might be difficult tying it to a servo, though not impossible.

Second the Wheel Watcher suggestion. Also, you probably wouldn't need full PID control for both channels, it's likely that letting one channel run free, and using it as the setpoint for the other channel would work. Probably wouldn't need an integral part either....

Those US Digital encoders would probably be very hard to mount to a servo... and what would you save, $2 per channel?

-Fergs