Subject:
|
Re: What is the best way to eliminate mechanical error trough software
|
Newsgroups:
|
lugnet.robotics.handyboard
|
Date:
|
Tue, 12 May 1998 00:47:24 GMT
|
Original-From:
|
Will Bain <willbain@cs.umtSPAMLESS.edu>
|
Viewed:
|
1454 times
|
| |
| |
At 03:38 PM 5/11/98 -0400, Darkman wrote:
> The problem is that one of the motors is 2 RPM slower than the other therefore the robot tends to drift toward the side of the slower motor.
> I have a few ideas on how to accomplish this, but two heads are better than
one, so I'm looking for some input to help me write an efficient program to
keep the robot moving straight.
I handled this type of problem by creating a new process that simply
monitors motor speed settings and encoder counts (global variables), and
changes a speed setting in proportion to the difference between the encoder
counts of the two drive wheels. There's a global speed setting for each
wheel, and a third global that represents the desired "throttle" setting.
To go forward in a perfectly straight line, simply change the throttle
value. The monitor process periodically checks this throttle value and does
whatever is needed to achieve the desired encoder counts on each wheel. It
also determines when a wheel is stalled. My robot zigs a little bit at
first, and then tracks straight as an arrow.
--Will
, ,
__@_/ \_@__ |/
| /__, o @_/
)\ ) ( \ (\/\\,
~~~~~~~~~ ' ` ~~~~~~~~~~~ ` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wendy Parson, The real problem is not whether machines think,
Will Bain, but whether men do.
& Tatoosh --B. F. Skinner
|
|
1 Message in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|