Friday, April 1, 2011

AVC Bot: Progress, Caffeine, More to do

I've been pretty busy, not sleeping a lot, drinking an enormous amount of coffee. And that's no foolin' :)

Only 20-some days left and the tendrils of sleep-deprived madness claw at the edges of my frayed mind...

I've been here before...

Data Bus with second deck and IR rangers mounted
  • Added a second deck for mounting navigation sensors
  • Remounted GPS, gyro and compass
  • Revised the power supply. Twice.
  • Redesigned the RC kill/takeover board, built and installed it
  • Installed larger skidplate / bumper
  • Ordered, received, and mounted Sharp long range IR sensors
  • Interfaced EZ1 Sonar to the main code base
  • Installed body mounting posts and test fit the body
  • Repaired the broken RC receiver antenna
  • Revised code for Vcc-independent gyro rate calculation
  • Experimented offline with simple position estimation
  • Ordered a fancy AHRS and some other enhanced sensors
To Do
  • Mount Sonar
  • Code up IR Ranger distance calculation
  • Implement obstacle detection
  • Mount and interface the new AHRS and/or other sensors
  • Complete GPS/AHRS/Dead Reckoning sensor fusion
  • Experiment with obstacle avoidance navigation options
Down to the Wire

For the last several days, I've been telling myself that I will win or lose this competition this week.

Not on April 23. But now.

I've been here before with Pokey a few years ago, working on crucial, high level functionality until the bitter end, the day of, in fact. The result was catastrophic, albeit entertaining, failure.

Prior experience says that if I don't push hard and get the navigation buttoned up and the obstacle detection in place in the next few days I am probably not going to pull this off at all. It all rides on what else I can get done this week. So I've been going all out.

What seems like 3 weeks left is more like one because I need a week or two of testing, debugging and refining, and a few days to get all my tools, supplies, and equipment organized for the event.

Compass Errors

Some of my readers have offered some great insights on compass errors and other issues. Thanks!!
  • Magnetic field distortions from vehicle electrical systems, particularly motors
  • Mapping and correcting for errors at multiple compass headings
  • Tilt compensation may be an issue
I will test the first, implement the second, and for the third I've ordered new sensors, including a complete off-the-shelf AHRS.

Gyro Errors

The gyro's bias and scale factor are proportional--and very sensitive--to supply voltage, so I realized I should have calculated gyro rate using a voltage-independent value for Scale Factor. Like the datasheet said. RTFM.

I hope this will eliminate most of the gyro error I've been seeing. I'm preparing the robot to run more tests to find out for certain.

Last Minute Changes

As alluded to above, I'm changing the AHRS design for Data Bus.

There's inherent risk in changing the design this late in the game. I can think of at least one example of a 2010 AVC entrant who was bitten by last minute changes.

On the other hand, the risk of failure due to inadequate sensors is real, high, and quite familiar to me from my experiences with Pokey. I think it outweighs the risk of implementing a new design.

AHRS Options

So I have a few AHRS options on order. The key was to find options that were relatively low risk to implement and which would provide short cuts versus continuing along the current path.

  • Supplement: add 2dof of gyro, 3dof of accelerometer, and 3dof of compass to the system
  • Replacement: replace the compass with 3-axis magnetometer & accelerometer, with code available
  • Wholesale Change: replace gyro and compass with complete 9dof AHRS with developed firmware
Oddly enough, the last option, wholesale change, is probably the least risky. It requires nothing more than reading some serial data to receive heading information periodically. All the sensor fusion is written in the sensor's firmware.

There's some pride lost in doing it all myself, true. But from the very beginning, I've viewed this project as one of COTS systems integration rather than from-scratch development.

The other two options still require sensor fusion but should eliminate, first and foremost the tilt errors from the compass.


Note: Only a member of this blog may post a comment.