Friday, April 27, 2012

AVC: First Autonomous Runs

I've finished up the code required for Data Bus to run autonomously from waypoint to waypoint.

Unfortunately, the robot's performance is awful, resembling the circular meandering of a drunken butterfly.

I whipped up a Processing program to graphically display what the robot thought it was doing.

In the video capture, Data Bus is the green ellipse. The white line shows reported bearing to the next waypoint, depicted as a red circle. All other waypoints are blue.


It appears to me that the robot is over-correcting when trying to steer to the next waypoint. It's also possible that the steering control is lagging too far behind the position and bearing estimation.

At least now I have some idea of what is happening.

Current in-development version of the Processing program is here.

Tuesday, April 24, 2012

AHRS, IMU and Acceleration


World and Car axes
In working on my 2012 AVC entry, Data Bus, I've been evaluating the use of a 3D IMU (Inertial Measurement Unit) and AHRS (attitude heading reference system) to provide an accurate heading estimate.


An IMU is comprised of some combination of gyros, accelerometers, and magnetometers and can provide enough sensor data to estimate attitude and heading in 2D or 3D.

These sensors plus onboard processing to determine attitude and heading, is called an Attitude and Heading Reference System (AHRS).

The AHRS fuses sensor data to determine which way is North and which way is "Down" and then it computes heading and vehicle attitude.

That is, provided it doesn't change velocity or direction....

Friday, April 20, 2012

Road Testing an ARM LPC2101: Part 2

At long last I've successfully programmed my ARM7. I developed my own breakout board and switched to an LPC2103, an upgraded version of the LPC2101 I started the road test with.


Creating a simple "Hello World" application on an ARM7 proved to be non-trivial but now I have it sorted out for an LPC2103. Here's everything you need to know to get started with your LPC2103...