Thursday, April 14, 2011

AVC Bot: Ups and Downs

A few quick notes: (1) pictures of the robot are forthcoming, don't worry! I want to finish painting and mounting the body, first. (2) I'll tell you all about the AHRS and other sensors I bought in a future post. I purchased several options and wanted to wait until I had something working before talking about it.

Building this robot has been quite an exhausting roller-coaster ride. Repeatedly cresting the triumph of success followed by stumbling face first into the muddy ditch of failure.

Just when I was about to give up, I got the robot to navigate autonomously. Then when I was finally feeling hopeful and tested the robot at the nearby school, everything went to crap again. That was Tuesday. The robot consistently veered wildly off course.

Compass Problems

Light green: actual path, Dark Green: confused robot path
I drove the robot manually between points A, B, E, D, and back to A to collect data. The rectangular, light green plot above is the GPS reading and is very, very close to the real path.

The dark green path is the dead reckoning plot based on using the robot's compass and as you can see it is severely distorted from reality.  Talk about disheartening

The bogus plot has all the signs of a magnetic field distortion to my eye. And a bad distortion at that. But it's not a hard iron distortion from the robot chassis; the compass headings looked nearly perfect when I tested them at starting point A.

As some readers have suggested, there may be a distortion introduced by the motors' magnetic fields. I'll have to test that theory. I'd placed the compass on a mast 40cm from the motors hoping to reduce that effect.

I can always move the mast forward. I can increase the height, too, with the tradeoff of a higher center of gravity. The robot exhibits pretty serious body lean around corners already.

Whatever the case, I need decent dead reckoning. GPS is going to be unreliable through at least 1/4 of the SFE course.  I'd like better accuracy than pure GPS can provide to increase the robot's chances of circumnavigating the building while dodging barrels.

GPS Success

On the upside, the GPS seems to be providing very good fixes since I installed a silly little-- actually I better keep that detail to myself for now. I don't want to give everything away to the competition :)

Anyway, the result of the modification is that I'm now getting up to an 8-satellite lock in my basement and a 10-sat lock in the garage. That's pretty amazing, if you ask me.

So, worst case, I may be able to navigate part way around the SFE building purely by GPS.

And I still have the high zoot AHRS I bought. I've been unable to resolve its magnetometer issues. But I can turn off that sensor and run the AHRS purely on gyro and accelerometer. That might be just enough...

Hmm... a plan is forming...

Obstacle Detection Problems

Meanwhile I'm having big problems with one of my only two long range IR sensors which dashes my original plans for obstacle avoidance. Another letdown, unless I can get to the cause of the problem fast or order a new sensor with expedited shipping.

I'm also considering using two sonar sensors. I've got the necessary parts on order, but they won't arrive until a few days before the competition leaving little time to code a solution.

Doomed?

Navigation issues have eaten up the last month that I'd hoped to devote to obstacle avoidance.

I'm pretty much past the point where there's time left to make major changes.  I'll have to hope I can find some clever way to cobble together the myriad mess of stuff I have now into something that halfway works.

I'm really on the precipice of failing to pull everything together. Which sucks given how long I've worked on this robot. There's quite a few problems to diagnose and fix, a lot of code left to write, test, and refine.

Sadly this is about the same situation I ran into with Pokey.  Last week and still working on the basics. Maybe I didn't learn anything from that experience, after all.

Just over a week left.

1 comment:

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