DPRG
DPRG List  



[DPRG] DPRG Outdoor Challenge Lessons Learned

Subject: [DPRG] DPRG Outdoor Challenge Lessons Learned
From: David dpa at io.isem.smu.edu
Date: Fri May 16 10:13:13 CDT 2008

Howdy,

John, thanks for the feedback and analysis of your DPRG ORC robot
entry "This line left intentionally blank," which, for those not
there, took first place in challenge #2, the 100 foot Borenstein
square.

I didn't think of it at the time but I wish we had aimed your robot
to run over the curb to the west onto the meadow next to the parking
lot, and back, to see how moving across a 3D surface would have
effected your 2D navigation technique.  Have you ever tried this?

Here's a video (6M mpg) of an early version of jBot doing an
out-and-back over two curbs for testing.  My suspicion is that
your robot might do just as well, with the compass errors
canceling each other out:

<http://www.geology.smu.edu/~dpa-www/robo/jbot/jbot_2curbs.mpg>

I think the compass + rate gyro scheme that you mention below might
also do pretty well on uneven ground, but this is all conjecture at
this point.  Would be really nice to have some actual experience to
back that up one way or the other.

If it turns out that an full axis IMU really is required, Robert Scheer
has a team in Portland working on a home brew device which hopefully
they will sell to folks outside their club when finished,  I believe
the target price is well under $300 but again, this is all conjecture.

As a final note, the Microstrain IMU comes with all sorts of possible
adjustments to improve factory performance for a particular use.  My
experience is that any adjustments I've attempted only made the thing
work worse than the factory defaults.  I offer this as a single data
point (me) that tuning a 27 parameter 9 axis IMU is not a trivial task.

A question on your steering algorithm, do you run into any sort of
overshoot or oscillation of the steering by using a P-only control?
Does the robot have a deadband or other means of reducing or damping
the steering control?  Same question for velocity control.

Congratulations on your win last weekend, looks like you are (or soon
will be) ready to move on to the more difficult challenges!

best regards,
dpa


John wrote:
> 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.
>

More information about the DPRG mailing list

Copyright © 1984 - 2006 Dallas Personal Robotics Group. All rights reserved.
Website Design by NCC

For the latest robot news visit robots.net