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...

Saturday, April 14, 2012

Automate Denver! (instead of demo)

I'd planned a Data Bus Demo today but foolishly cancelled, listening to the weather reports of rain and cold. Of course, this is Colorado, and weather reports always lie. It's a beautiful day today. That figures. I'll try again in late April or early May. I'm getting close on pose estimation. That's the last piece of the navigation puzzle, then it's on to obstacle detection and avoidance.

Meanwhile I headed down to Club Workshop for the Automate Denver! event which was moved to Saturday.

Violet and I saw a variety of cool robots including a dancing humanoid, a giant, wicked-looking AVC robot, a cool remote controlled ball called a Sphero from Orbotics, the Gamma Two Robotics sentry robot, and some others. Here are some pictures...

Friday, April 13, 2012

AVC: Data Bus Interfaces and Conveniences

Less than 3 months left before the Sparkfun AVC as I write this. I'd love to build out a full-blown, pretty-looking ground control system that controls every aspect of Data Bus but there's simply no time.

On the flip side, spending all my time fighting bubblegum, duct tape, and bailing wire solutions wastes time and burns me out.

Building a few convenience features into your experimental robot is a good idea. Here are some examples of time-saving features I've added to Data Bus. Read on...

Tuesday, April 10, 2012

AVC: Scrambling for Saturday

Happy National Robotics Week!

As you no doubt recall, in celebration of the week I'm hosting a Data Bus Demo this Saturday for friends and family and a few local AVC participants.

I'm scrambling to get the robot ready. Late nights of Kalman filtering, complimentary filters, bug chasing and more. Here's what I've been up to...

Friday, April 6, 2012

AVC: Precision Gyro Calibration Reloaded

Here's the updated 2012 version of the gyro calibration I performed on Data Bus in 2011.

The goal as before is improved heading accuracy. Target: L3G4200D on a Pololu minIMU-9.

Last time I used my "high precision rate gyro calibrator," a 1970's Realistic Lab-400 Direct Drive turntable. I used it again this time. I also used by gyro/magnetometer calibration machine.

High Precision Gyro Rate Calibrator
Gyro/Magnetometer calibraiton machine.
Alright then. Let's get on with it...

Tuesday, April 3, 2012

AVC: Initial Data Logging

Data Bus prepares for a nighttime logging mission
After all these many months Data Bus finally logged some real world data! What excitement! Two weeks away from the big demo! Eek!

Why'd I wait so long to run the robot in the real world? I wanted to take my time understanding the problem better than I did last time so I would be, hopefully, less surprised by the results and closer to a working solution.

Here are the results of three separate runs, driving the robot around slowly outside the house AND two runs at Sparkfun!