The Lonely Left

Friday, December 01, 2006

The Chronicles of Team Overload: Costume and Pics

We were encouraged to create a costume for our robots, and have them play sounds when they performed important actions like grabbing or delivering gold. It seemed only fitting to clad ours in wrapping paper patterned with the official Carnegie Mellon tartan.
From that point, the clear choice for sound effects was clips from the movie Braveheart. When opened the connection between the robots and their laptops, they used Mel Gibson's rallying cry, "They can take our lives, but they'll never take our freedom!". Then, as play began, they issued a challenge to our opponents, "Are ye ready for a war?!". Also, as a celebration for successfully grabbing a gold, they would randomly choose one of five short clips from famous songs performed on bagpipes, including "When the Saints Come Marching In" and "Ode to Joy".

Here is a picture of my teammates, Geoff on the left and Gary in the middle, setting up for this morning's competition.
Here is a picture of our competitors, Team Red Hair.

I didn't have my camera yesterday to take a picture of Robocops, the winner of the best costume. They had some battery powered flashing lights that even spun in circles like an on actual cop car.

I should also add that the fates didn't want these pictures to get taken. I checked my camera's batteries last night, and it said it was half full, but it can only indicate full, half full, and empty. Well, it must have been closer to empty that it wanted to admit because when I turned it on at the competition it wouldn't take a picture and the batt warning light started flashing. Fortunately, the campus is small enough I could jog across to the store and get replacements. Then, I got home and went crawling under my desk to plug it into my new desktop, only to discover it doesn't have a serial port! I guess the technology has gone the way of the floppy drive into obsolescence. I had to pull out my old laptop with its broken screen and hook up my new monitor to download the pictures.

The Chronicles of Team Overload: Friday - Competition Day 2

Rats, foiled again! One of our robots broke down, never moving out of its starting position, and blocking the functioning robot from more than half the gold. It had passed all our initial checklist items, testing that the sonars were running and the wheels were powered by twitching in place. Sadly, when we hit play the sonars actually turned off, and it just sat there while the laptop tried to order it to move to the first gold. We could only reach 2 gold pieces, so we were eliminated, placing 4th overall of the 10 teams.
Here is what the final bracket looked like at the end of the competition. You'll notice both the third place team, Clown Baby, and us only ever lost to the teams that got first and second. However, we never got to compete against Clown Baby ourselves, blurring the line between third and fourth in my eyes.

Thursday, November 30, 2006

The Chronicles of Team Overload: Thursday - Competition Day 1

Well, despite having a first round bye, we had an early first match at 8:00am. Fortunately, apart from that, the day got off to a good start as we left with our first victory. Our opponents had a lot of trouble getting the laptops to communicate with the robots, so there may have been hardware issues involved, but they both hit walls fairly early, leaving ours full run of the field. One of ours successfully delivered one gold and had picked up its second before being eliminated for taking out a wall. The other continued and delivered 3 before it was not able to make any more progress because its path to the remaining pieces were blocked by our dead robot.

Well, our robots thought they won the second round. It’s too bad they were wrong. We hadn’t realized our way of moving forward to grab the gold with the magnet had a slight flaw because it hadn’t reared its head in previous competitions. The result was that three of the 4 golds our robots reached got left behind. They then dumbly wandered over to the drop offs empty handed, ignorant of their mistake. Apart from that, our performance was beautiful, only loosing one robot by the end of the event. Our opponents only got two pieces of gold before both were terminated for grazing walls, but that beat our one true delivery, bumping us down to the loser’s bracket.

Having enough time to fix our flaw before our next competition, we pulled out another victory. It was an intense start, with both teams placing the highest priority on the same gold, so it was a true race right at the start. Sadly, their balance between speed and accuracy was more weighted towards speed than ours, so they arrived several seconds before us. They were backing away from the wall, holding the gold, while we were driving forward to grab it ourselves. However, in the long run, our accuracy won the day, actually allowing both robots to survive to the end. Although I haven’t seen all the competitions, I can proudly say that was the first of those I did see where either team had two live robots at the end.

At the end of the day, here is the bracket.

Our victory keeps us alive, and now we cannot place lower than 4th of the 10 teams. Our first match tomorrow, against Red Hair, has me the most worried. I did not see the loss that put them in the loser’s bracket, but I do know they have been very consistent overall. It may partly depend on the overall shape of the maze. They are another team that chose a higher speed for straight-aways, but when they turn they take more time to correct for any error that may have resulted in. That means that if it is a very windy maze, we should have the advantage because they will correct at every turn, but if it has long corridors, they may gain the upper hand.

The Chronicles of Team Overload: Tuesday - Prelims

During class on Tuesday, each team got one chance to compete, and the number of gold pieces they retrieved determined the ranking going into the competition. None of the teams managed to get all 5 of the pieces of gold in that round’s maze. The way the competition was set up, there were only two matches (therefore 4 out of the 10 teams) in the first round, meaning 6 teams got a first round bye. We got 3 golds, and our performance earned us one of those byes.

The Chronicles of Team Overload: Background

This week will bring to a close one of my favorite classes of any I’ve had the opportunity to take here at Carnegie Mellon. However, it’s going out with at bang as all ten teams compete in a double elimination showdown. The event is spread over the whole week, with the final round scheduled for sometime around noon on Friday.

The object of this course was to learn to program a wheeled robot to navigate through a maze. Each week, we were given an assignment that would build on the previous week’s work and advance the code towards the final goal. It began with simple tasks such as driving in a straight line a specified distance or turning to face a certain angle. Then, we began stringing those commands together so it could navigate a maze without crashing into walls when given an exact list of commands. Many advances later, we arrived at the final version, which meets the following requirements:
1. Given a file containing information about the shape of a maze, the robot can figure out how to drive from wherever it is to the closest goal (It’s goals are either pieces of “gold” it has to pick up, or places it has to drop them off.)
2. When it reaches a section of the maze containing gold, the robot can process an image from a USB camera to find it and then grab it with a magnet attached to the front.
3. Making use of wireless communication, the robot can plan with an allied robot to gather the gold without running into each other.
4. The “gold” is blue construction paper attached to a metal bracket which is placed on a wall of the maze. Two mazes are placed side by side so that some walls are shared, so the gold pieces set on these walls is up for grabs for either of our robots or either of our opponents robots. Part of our robots’ planning is determining which gold pieces are higher priority because our opponent has access to them, and which are lower priority because only our robots can reach them.

Robot Specs:
The robot is a cylinder about 1 foot tall and 1.5 feet in diameter. It has three wheels. The two large wheels are powered independently, while the third on the back can swivel freely, allowing the robot to turn freely. It also has 16 sonar emitters around the side so it can “see” the walls around it to a somewhat limited extent. (These sonars are very unreliable, and as a result, most of our effort had to go into creating code that could handle it, and even now at the end of the semester, most teams still graze walls from time to time.) A laptop running the code sits on to, connected to both the robot and the USB camera.

Competition week:
If a robot grazes a wall, the instructor turns it off and leaves it where it is, potentially blocking the other robot from reaching a piece of gold. Due to the poor quality of the sonars, having all four robots shut down for this reason is the most frequent termination condition. This means the winner is usually the one who has the more robust code that can last long enough to get a few more golds. Otherwise, it ends when both teams have collected all the gold they can reach.

Sunday, January 15, 2006

A glimpse inside my mind

My thought process in creating title and URL for this blog is fairly representative of the inexplicable tangents my mind jumps between. I share it with you know.

"What theme should my blog be? Maybe I can get an idea from something in my room. Oooh, my poster. I don't actually like chess, but I could use some other game for my theme. Hmmm, how about Euchre? Why do they make the Jacks of trump be the best? It's wierd enough I could use that as my theme. Maybe something about the left bower. That's good, with that I also tie in my left handedness. I could do a post about the troubles "my people" face, like 3-ring binders. Stupid rings always getting in the way of my hand. People might not get the theme though. Not everyone I know knows that the Jacks of trump are called the Right and Left Bowers. They might think I had just mispelled when I meant Bauer, like the guy from 24. Oh man, 24 starts tonight. It's going to be great. Haha, his name is even Jack. Jack Bauer, and the Jacks in Euchre are bowers. I guess one of my first posts will just have to be an explination."


I don't plan on updating this very often. I just created an account so I could comment on other's blogs, specifically I decided I might as well create this, and I may try to update it a couple times a week in the beginning, but I have no delusions that I'll keep it up for any significant length of time.