Home | Design | Code | Tips

Welcome


Day 1: Monday, January 5, 2009

We attended the first lecture of 6.270. It was very, uh, informative. We came a little late, but at least we took some notes (or we would have, but Kat fell asleep).

We decided to start work after lunch. Or after Festivus. Or just not today.

-- Melissa

Day 2: Tuesday, January 6, 2009

We began to brainstorm for our robot and doodled a bit on the whiteboards, drawing out the game board and the various models.

We discussed the best strategies for gaining points or even better, keeping the other team from getting points. What's better, getting more small balls or more big balls? How will we raise the flag?

Strategies:
* effective – dump truck
* sneaky – using independent, but connected parts to trip up our opponent, drag the balls where we want them
* aggressive – ruin the playing field for the opponent


We mostly decided on the most effective approach.

Kat and Rena got to work on the chassis. We have some dimensions in mind and are just building a possible model to test for stability.

The one foot by one foot size limitation seemed like a problem for a bit, but we had some ideas of how to work through them. Rena thought of interlacing jaws so that we could conserve space.

We haven't really considered how to do the flag raising. I guess that's a question for another day.

-- Melissa

Day 3: Wednesday, January 7, 2009

Rena and I fixed the wheelgear box thingy. Melissa is trying to make the robot. She accidentally built too many walls – or rather, the wrong walls. She started off by making the wall of 34 nubs, and crossbraced it strangely. It was cute. I didn't take a picture of it. :( Now she's made (or well, was making, now fixing) a box of 34 x 28. :D It'll work out in the end. Also, she's making everything symmetrically, so she does not have any 6-nubs. Jeremy, on the other hand, thinks it should be symmetrical. >_< Everything's symmetrical! She's using little pieces where she can be using long pieces. At least Rena agrees with me.

Also, Rena thinks it's good to build a failbot first. Now we're on Failbot 2.0. We're going to rebuild this bot so many times. It'll be awesome.

She [Melissa] also hates everybody. Especially this robot.

-- Katherine

Day 4: Thursday, January 8, 2009

Failbot 3.0 was critiqued during Workshop 1 and we've gotten advice on how to make it stronger without using up pieces and how we could improve the mobility. The robot was too solid at first which used up all of our red beams. Wheels were not effective in tank drive due to skidding. Michael recommended we use casters instead, sort of like a shopping cart.

Also, we realized we needed to size down our robot to make room for sensors and other modifications. There was a possible issue with the placement of the motors as well. We dismantled the robot fully and started from scratch.

Three hours later, we finished Failbot 4.0. We've already decided we will change this version since we don't really like the idea of casters. It makes it way too difficult to go forwards and backwards without getting the wheels jammed. However, the chassis seems pretty strong since it survived a rigorous shake and drop test.

For now, I'M DEAD. I HATE ROBOTS.

-- Melissa

Day 5: Friday, January 9, 2009

I moved the wheels since we have reevaluated our plan and are now going for steering wheels instead of casters. I had to sacrifice some stability to make room for where the servos would go. Also, I needed to shift things towards the outside so that we had more room in the center for motors and the possible filtration site for small balls. The updated Failbot 4.5 did not seem so bad.

We considered beginning our coding, but ultimately put it off.

-- Melissa

Day 6: Saturday, January 10, 2009

We realized there was a problem with the drive wheels. Apparently, we placed the spacers in incorrectly and thus it makes the gear train sound unhappy.

Sammy pointed out the problem and we are fixing it now.

Rena is disassembling the gearboxes in order to make them rotate smoothly. At this stage, we have noticed that an axel in the wheel broke, probably due to the stress of multiple drop tests. We blame Michael.

Katherine is preparing to mount servos above our steering wheels.

-- Melissa

Remade servo'd wheels so that they were slightly shorter. This should improve stability. We've also turned the turntables upside down so that we can drive the wheels.

Other than that, we've moved out of our room and into the hallway between Swahl's room and ours. This essentially means everyone hates us 'cause everyone wants to walk through it.

Swahl found my quesadilla (however you spell that). SO MUCH CHEESE. -dies-

-- Katherine

Day 7: Sunday, January 11, 2009

went to lab in the evening to solder the motors and sensors
we now have breakbeam sensors, bump sensors,

Day 8: Monday, January 12, 2009

Set Rena and Melissa to programming the robot. I've already got code, but it'll be good practice.

-- Katherine

Day 9: Tuesday, January 13, 2009

Revamping my code to uh ... be more awesome and modual. Also ... wrote up this. Ended up putting my code on the bot. Tried to get Swahl to check us off. He wouldn't. Got Samuel instead. He didn't even know what the assignment was ... or how to check us off ... in any case. I think we're checked off.

Also went to buy flip flops at Old Navy. :D

Wrote this up in a matter of two hours or so after Salsa.

1. We would like for your team to write up a design plan for the coming days. This can be a 2-page written document describing: (a) Your robot's game strategy. Which balls will your robot go for? When will it worry about raising its flag (if ever)? How will your robot adapt to mistakes along the way?

We plan to spend approximately the first 75 seconds of the match gathering the small and large balls and placing them in the goals. Then, in the last 15 seconds we will drive to the flagbox and raise our flag.

The first step is to determine which starting orientation the robot has been placed in. The robot will spin around and detect the black and white sections of the corners with the IR LED/Phototransistor. Then it will drive down the long side of the game board, 12" away from the wall. With two claw arms in front the robot will be able to scoop up the balls into the front of the robot. We will have to test this strategy to determine how many balls can be picked up at a time, but in the best case we will be able to grab all the balls on one long side of the board. We will then close the claws in front and back up to our goal, turning when we get close to the wall (detected with a distance sensor). A basket will lift up and dump the large and small balls into our goal. Depending on how much time we have left, we may be able to grab a second set of balls, or we may drive directly to the flagbox and raise our flag.

(b) What mechanical/electrical features will this strategy require? How soon can your team prototype these ideas?

IR LED/Phototransistor Pair
Bump Sensor
Shaft Encoding
"Jaws"
Lever/Lift


(c) What is your team's timeline for the next two weeks? Set reasonable deadlines for yourselves, and plan for Murphy's Law. Everything that can go wrong will go wrong.

Tuesday, January 13 drive wheels are functional with working motors robot is programmed to drive forward and then backward when bump sensor pressed

Friday, January 16 all motors and servos for robot movement are mounted and functional steering wheels are able to turn robot is programmed to drive forward, backward, and turn

Sunday, January 18 robot is able to move within a box area due to turning, bump sensing, etc. some strategy for board movement is inputted, where to go first, etc.

Monday, January 19 jaws are constructed and attached to the robot jaws can open and close

Tuesday, January 20 robot has lever arm with working servo able to lift the weight of small/big balls over the wall

Wednesday, January 21 all mechanical aspects complete sensors for bump, light, etc. are all working able to raise the flag with gear/servo combo

Friday, January 23 robot programmed for motion/sensing, able to navigate the board can move from starting position on board and begin ball collection no matter what orientation/location

Sunday, January 25 ball is able to collect balls and close jaws when backing up able to lift balls when backed against the wall

Monday, January 26 robot is programmed to raise/lower flags

Tuesday, January 27 final mechanical improvements and debugging

-- Katherine

Day 10: Wednesday, January 14, 2009

We uh ... tried to switch in our break beam sensors. They're too narrow. They couldn't find the right ones. :( Rena wanted to play with gyros, but Melissa ended up playing Fallout 3. XP

-- Katherine

Day 11: Thursday, January 15, 2009

REBUILT ROBOT (Failbot 4.9.1) ... slightly. It's shorter now so that we can have bigger claws (YAY!). Mounted a pully for the breakbeam sensor to act as a shaft encoder (not mounted yet). We got our real breakbeam sensors, for that matter. Also gearified the servo. Got to snip off the ends of the servo, which just hopped off and ran away. Yeah ... no idea where those went. -whistles innocently- Since we had to add another gear anyways in order to mount the pully, we also shifted our wheel back one space so that we can have a second motor attached if we want to. Also made the decision to go to one servo steering. ... Also, the servo isn't on the robot. The drive wheels are on, though. :D Worth something, right? -sigh-

Melissa soldered the new breakbeams. Rena and I worked on the rest.

It was also funny. After salsa, we meant to go to lab after eating. Melissa wanted to take a shower, so she headed back. Wolfe, Rena, and I had lunch and then headed back. So we get back, and Melissa lolls around for a while. I try to get her out ... failure. Jeremy comes by, and we ask him to join us going to lab. Melissa takes so long that Rena went to Medical to get shots and came back. By the time Jeremy was ready, Wolfe had finally finished taking a shower. Jermy couldn't find his keys ... which basically means that Wolfe managed to get ready before Jermy. Rena was ready before Melissa. ALL SORTS OF FAIL.

Michael helped us with our servo.

-- Katherine

Day 12: Friday, January 16, 2009

Day 13: Saturday, January 17, 2009

Had to do square dancing with our bot. Used a gyro. Took us about an hour after deadline, but hey, it worked. We got Michael to check us off. He just put his foot next to Failbot 4.9.2 and decided that it had to come back to that spot or else FAIL. I didn't really expect it to come back to the same spot, but it kind of just went along in a semi-square-ish-shape and ... headed back home. Ran right for his foot. He was all like, "I thought it'd hit the wall. Didn't think it'd work." SO HAH. Failbot has a lapse of notfail. It didn't work so well prior to that test. I think his foot being there helped it home. xP

Swahl stole our green board for Mystery Hunt.

-- Katherine

Day 14: Monday, January 18, 2009

Got up at 3:30pm or so because Rena kicked me out of bed. -yawns- Went to lab at 5pm. Wolfe encouraged going to Aikido at 7pm. 'Cept I had killed my back the day prior, so instead, I went to the student center to get Rena, Mesa and me some food at 7pm. Now ... FAILBOT 4.9.3 CAN FLAIL. Nom'd Michael's arm. Uses two servos. Also, figured out how to correct for line-i-ness with encoders. That was ... something of a little fail on my part. First the encoders were flipped ... and then I realized that the motors were also flipped. DJGIRMG FAIL. Although, I'm not sure why it didn't work when the encoders and the motors were flipped. It should've, right? It would've just been double backward, which is forward. Anyways ... :S Basically, I need to remember to always check that I'm plugged into the ports I say I am in the programming.

At one point we wanted to use the ... I forgot what I was going to say.

-- Katherine

We also built the ramp and the lifter mechanisms. Need to see if it'll actually work.

-- Katherine

Day 15: Tuesday, January 19, 2009

Meant to make Flailbot into Technobot ... failed. Played Halo 3 instead.

... Also. Went to lecture. It went something like this
... wait 15 minutes ...
Someone: We're going to e-mail 6.270 staff saying we're leaving.
Random Staff: I'm here. I'll go up to lab to see what's up. -goes to lab-
Michael: -walks in- Hey all. Wait. Where's your lecturer? I just came for the pizza. ... I'll go check what's up.
Random Staff: -walks back in- I'll uh ... give you the lecture. Pizza in 30. -almost walks out-
CONFUSION. What?
Random Staff: I need to get the laptop -walks out-
Michael: -walks in- NO LECTURE! PIZZA UPSTAIRS.
People: But the other guy...
Michael: I talked to him...
People: But can't eat in lab...
Michael: You can in the hallway.
People: ... But what about PIDs?
Michael: You want to know about PIDs? I'll tell you about PIDs...

At this point we walk out.

-- Katherine

Day16: Wednesday, January 20, 2009

Went to lab. Did a lot of stuff. Decided to go to Shaw's around 10pm. Melissa was still soldering. Rena and I decided to screw around on Facebook for half an hour. Went to Shaw's. Mesa soldered the IR/transistor pairs.

-- Katherine

Day 17: Thursday, January 22, 2009

I ... think nothing happened. We had salsa.

-- Katherine

Day 18: Friday, January 23, 2009

Had to resolder the IR/transistor pairs. Rena and Mesa are currently trying to mount the claws. Decided to get rid of dump for now. We'll see where we're at next week. IR sensors now work. It's pretty fantastic.

We tried to reinforce the caster wheel in the front, but the robot exploded. I guess we need a new bot. 80

-- Katherine

P.S. Rena should blog. P.P.S. Also... the robot got named RageBot when it got eyebrows.

Tuesday/Wednesday, January 27/28, 2009

We spent the past few days mostly trying to get our PID code to work, so that our robot would drive straight. Finally, after troubleshooting and redoing a lot of the code, we got it to work. Programming the robot to follow a routine after we got driving straight and turning to work was relatively straightforward, but required a lot of testing. We started out by testing on a half-board marked out with masking tape in the hallway, then realized that we needed a whole board and went to lab. On the last day, for some definition of "day," we fixed our driving code, programmed our routine, added a spinning wheel in the back to interact with the flagbox, resoldered one of our breakbeam sensors, scored more than two balls for the first time, and generally had much less fail. Our interpersonal relationships were somewhat strained by our lack of sleep.

Impounding at 5pm had a soundtrack of "Hall of the Mountain King" and "The Final Countdown," courtesy of MMP.

--Rena

Thursday, January 29, 2009 (Competition Day)

Our seeding match was uneventful. Our robot worked well. After food at Stata and a lively StarCraft discussion, we started work on our poster. We named our robot SALAZAR. Our poster has our robot's front claws "crumpling" the sheet of paper. It also has a testimonial from the New York Times.

We went into the competition with an expectation of mediocrity. After winning our first two matches, we got sort of worried that we weren't failing as much as we were planning to. Losing our next match comforted us somewhat, except that since the tournament was double elimination, we were actually in the top seven teams (out of 21).

Our robot was more reliable than many other teams, which gave us an unexpected advantage. We won two other matches, which placed us in the final round against GladOS, the most advanced and awesome robot in the competition. We lost. It was perfect - there was no way we wanted to beat GladOS, because we knew their team had put in so much more effort and made a much more advanced and effective design than we had. Our second place finish could not have been any better.



Home | Design | Code | Tips