|
[DPRG] DPRG Outdoor Challenge Lessons Learned
Subject: [DPRG] DPRG Outdoor Challenge Lessons Learned
From: John Abshier
jabshier at kc.rr.com
Date: Thu May 15 11:02:20 CDT 2008
I used a Traxxas E-Max with stiffer springs and replacement gears to get the
lowest ratio possible. The stock motor controller was not able to provide
good control at low speeds so I replaced it with a Parallax HB-25. The
HB-25 is easy to control and just works. Navigation relies on an encoder to
provide distance and a compass to provide direction. After calculating the
robot's X, Y, and direction, the perpendicular distance to the current path
is calculated. A steering command is calculated to bring the robot back to
the line segment (sort of a P control that could use an I term). Speed
control is also a simple proportional error feedback control. To mount the
encoder I used a short section of aluminum tubing that was close to a press
fit to the short nub of the motor shaft on the rear of the motor. Loctite
was used to make sure the tube stays on. The external diameter of the tube
1/8" matches a U.S. Digital encoder. A 100 count per revolution encoder on
the motor shaft results in a high encoder frequency, but the Propeller chip
has no problem with it. The CMPS03 compass is one that I had. It has
serious limitations because it is not tilt compensated. In testing at home
it is also strongly affected by buried pipes. One partial solution would be
to mount the compass higher. Another partial solution would be better
software and a rate gyro. If I have commanded the robot to drive straight
and the compass shows a turn, I should use the information that I am driving
straight. Likewise, if the compass and the rate gyro differ, that
information could be used. One way to combine the three sources of
information would be a Kalman filter, but I don't understand Kalman filters
that well yet. A simpler approach would be to just ignore the compass if it
differs too much from the turn command or rate gyro. I am debating what I
will replace the CMPS03 with. A tilt compensated compass is about $300.
SparkFun has a 6 axis IMU for $500, but it has no software. Honeywell has a
tilt compensated compass with a rate gyro (price unknown). Of course the
"gold standard" is the MicroStrain sensor that JBot and Tarzan used. I
recently added an XBee board to send logging data to a PC. Some sort of
logging (send via RF or store for post run download) is essential. The
microprocessor used was a Parallax Propeller. I did all of my programming
in Spin. Parallax provided assembly language objects for floating point
math (I may rewrite for integer math if I need more computing resources),
servo control, and reading encoders. A big mistake was powering the
steering servo from regulated 5 volt power. The voltage drop on short turns
caused the sonar sensors to reset and only report 2^16-1 centimeters. That
killed my ability to try challenge 3.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.dprg.org/pipermail/dprglist/attachments/20080515/320c884e/attachment.html
More information about the DPRG mailing list
|