Monday, March 7, 2011

AVC Bot: Maiden Voyage in 5 days!

I'll post a few more updates this week as we count down the few remaining days until...

DATA BUS

...has its maiden voyage in front of friends and family.

Oh, did I not tell you? I've come up with a name for the robot.

Encoders

I'll post an article all about the wheel encoders I installed on Data Bus over the weekend. I was going to use a circuit I built for Pokey, but it sucks in this application and caused all kinds of jitter and erroneous readings.

I decided to implement a simple schmitt-trigger comparator circuit. The breadboard prototype seemed to work brilliantly, so I just finished fabricating and populating the PCB. It appears to work as intended. Whew.

The hardware lays the necessary groundwork for the robot to reliably determine vehicle speed and distance traveled. On Saturday I may have to navigate solely by dead reckoning. We'll see.

Ideally I plan to supplement GPS position fix information with dead reckoning information for enhanced precision and accuracy.

Steering

Mysterious geometries...
I just despise trial-and-error programming. I wasted tons of time on Pokey doing just that a few years ago. This time around I want to mathematically model as much as I can.

Case in point: steering. I'll write up a complete article later. Suffice it to say, I wanted to find a mathematical function to turn a relative bearing (to the next waypoint) into a steering value so the robot exhibits a consistent and predictable steering behavior.

I have a feeling this is going to be advantageous when it comes time to dodge barrels and other robots.

Acceleration

New ESC, Motor!
Truth be told, my robot isn't supposed to dodge any other robots. It's hopefully going to simply outrun them! You can't run into them if they're all behind you!

That means the robot has to go pretty fast, which has other implications about which I'll be posting soon, too. One of the upshots of outrageous speed is that the robot will have to apply brakes when approaching obstacles and turns.

The stock ESC doesn't have a decent braking system so I ordered an ESC with proportional brakes along with a more powerful motor. (Insert evil laugh here). As you can see, they already arrived in the evening mail.

In reality, I probably won't need a faster motor because the robot's speed is limited by sensor range. Maybe. Depending on how much time and luck I have.

For Saturday, to keep things simple, I'll have the robot travel at a fairly slow, constant speed.

Kalman Filtering

Kalman Filtering is still kicking my butt (or, my brain's butt... or...?).

I probably don't strictly need it for Saturday but I'll most likely need it for the competition. Either that or I'll have to implement some other type of filtering and sensor fusion.

Alright, enough for tonight. Back to work... more updates in the next few days.

No comments:

Post a Comment