Team Nine/Journal

From Maslab 2006

Jump to: navigation, search
Maslab teams
Team 1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · 10 · 11 · 12 · 13 · 15
Team Nine's Journal · Paper

Image:hotbot.gif

Contents

Team Nine Stands at Armageddon and Battles For Their Lord

And kill them wherever you find them, and drive them out from whence they

drove you out, and persecution is severer than slaughter ... but if they do

fight you, then slay them; such is the recompense of the unbelievers.

~Koran, 2:191

Today the battle is joined - MASLab has begun. There are but twenty-six days until our victory. --muthas Also, SVN repository is setup with commit emails and access control. --Jrigling 14:22, 8 January 2006 (EST)

Day One

Our team is off to a running start and had the Eden, Orcboard and pegbot all assembled within the opening hour of the competition. Subsequently we ran Hello_World, stuck the components together and ate lunch. The ultimate goal for the day is to take a few sample pictures and maybe get the joystick to run the pegbot (though that's shooting pretty high).

Smooth sailing so far except that my lunch was served improperly -- a surmountable problem.

--Mespence 16:02, 9 January 2006 (EST)

Later that evening

Very little got accomplished. We did finalize an image grabbing program but it has not been tested to my knowledge.

--Mespence 11:14, 10 January 2006 (EST)


Day Two

We have fixed a few bugs on ImageGrabber. Also made BotClient to work on my laptop.

--Jrigling 12:27, 10 January 2006 (EST)

The day's checkpoint was pased with an IR wall sensor and BotClient. We were checked off after some frantic hacking and a problem dealing with motor driving.

Problems included:

  • The robot not stopping immediately after being told to halt. Momentum's a bitch.
  • The motors not receiving enough current to run -- nonlinear functions are a bitch.
  • The BotClient API is confusing (couldn't figure out that BotClient class was for client not the robot) -- redundancy is a bitch.

However, great success was found and we're all overjoyed at the moment.

This has been the major task of the afternoon. Now retiring home to discuss software engineering.

--Mespence 15:52, 10 January 2006 (EST)

Later that Evening

We wrote a motor driver class and figured out the structure of our control system for checkpoint one. Motor Driver class was tested and works. Will likely write some rudimentary image processing code later tonight and then call it quits.

Another note, we have scrawled a rudimentary software design on a large whiteboard. It is massively helpful.

--Mespence 02:44, 11 January 2006 (EST)


Day Three

After Bigtime wrote up the control code and I made the image processing code better, we completed checkpoint one. The robot turns right in small increments, stops when it finds a red ball, and sends the image out via BotClient. Oh boy. Now off to lunch and then work on barcode processing/figuring out mechanical design goals.

--Gautham Arumilli 14:05, 11 January 2006 (EST)

Later That Evening/Early Morning

Bigtime and I have been working diligently on the software front. Bigtime wrote control code to have the robot center on the red ball and drive towards it until the ball passes out of the camera's field of view, as well as improving our motor control code. I wrote code to locate barcodes in our images. RANSAC barcode reading will be done tomorrow.

--Gautham Arumilli 04:35, 12 January 2006 (EST)

I completely reconstructed our temporary robot. This platform may be the test bench for mechanical designs. The pegbot was taken completely apart leaving only the 2 motors, battery, EDEN/orcboard (they are one piece), orcpad, camera, and caster. I made a new base out of 3/8" plywood measuring 12x12 inches before any cuts. I decided to put the wheels on a centerline at 5 " from the rear. (Note, the Center of the wheel does not correspond to the center of the mounting bracket, it is offset) I also decided to keep the overall width of the robot at 12 inches for now, so notches were cut in the base to make room for the wheels. The battery sits behind the wheels and over the caster. Since this is the heaviest part of the robot (for now anyway), this keeps everything level. The original pegboard was then mounted as a second layer to the bot, about 7 inches above the base. The EDEN and OrcPad are mounted on top of it in the rear. The camera mount supplied with the Logitech 3000 did not please us. So I took apart the camera, replaced the black nub at the bottom with a 1/4-20 x 1" and tightened a nut to it. This then attached to a piece of wood that can be adjusted for best viewing angle (up/down) between the two platforms. Its just a couple hours of work that should help us get a better idea of how our final robot might behave with the code we are writing now. It also helps prepare for Checkpoint Two.

--Jrigling 07:07, 12 January 2006 (EST)


Day Four

After a bit of coding (interrupted by lunch), I setup our barcode reading (not RANSAC right now, should be) code and the control code for the checkoff. Everything worked smoothly and we checked off on the barcode reading. I'll make this code use RANSAC soon.

--Gautham Arumilli 16:09, 12 January 2006 (EST)

The attempts to get working wandering code were thwarted by a confusing method in the (largely unwritten) gyro API and a general misunderstanding of the gyro's inner workings. It will be refined tonight and checkpoint two will be passed tomorrow. Hopefully with more seeking and fewer infinite loops telling the robot to spin in a circle.

--Mespence 16:15, 12 January 2006 (EST)

I installed two short range IR rangers. It turns out that MASLAB has the GP2D120 instead of the GP2D12. This just means that it has an effective range of 1.5 to 12 inches rather than 4 to 30 inches. They are mounted under the upper layer of the bot angled away from center about 30 degrees or so.

--Jrigling 16:49, 12 January 2006 (EST)

Later that Evening

This evening I fiddled around with the wandering code while my drunken teammates pontificated for hours about the directions we are taking the robot. They will doubtless have forgotten this by the morning but I am pleased that a number of excellent ideas have been put forward.

The wandering code also took several significant steps forward by adding IR support to various classes we use to close in on the ball. Our testing was limited. I hope that lab testing tomorrow will reveal sucessful code.

As a note, the gyro has been abandoned for now. The calibration is odd and its interactions with the motors are unpleasant at best. We're looking into using a digital compass instead. We're also hoping that we can get some encoders soon, they'll be very helpful.

--Mespence 04:43, 13 January 2006 (EST)


Day Five

After an arduous day of incremental improvements to our control code. Checkpoint two was passed. We need quad phase encoders and a working gyro. Will fiddle with those in the near future.

--Mespence 16:31, 13 January 2006 (EST)


Day Six

In the evening (after a long day filled with fmily interactions and swim meets for varying team members) we started installing quadrature phase encoders on the robot and wrote some more formal wall detection and wall following code.

After a few initial glitches, in which the robot's interpretation of the instruction to follow a wall involved turning away from it and backing up at full speed, we got the robot to jerkily follow a wall.

Long largely sucessful night.

--Mespence 22:19, 15 January 2006 (EST)


Day Seven

Radio and I attempted to optimize wall following and make encoders work. I wrote some encoder test code and Radio used it extensively. I also attempted to make some navigation code which utilized the encoder.

Gautham started optimizing our blue line filter.

Muth put on a movie called Space Zombie Bingo which was so terrible that I wanted to shoot him twice in the chest. Because he has yet to outlive his usefulness I refrained, but he should know that his life is at risk. If anyone ever offers to show you this movie, be well aware that they are not your friend and their intentions are nothing but evil.

--Mespence 02:27, 17 January 2006 (EST)

After the infamous experience of Leeches, I'd think you would all understand if I chose the movie whose box was covered in all-but-nude women rather than one covered in dead zombie Confederate soldiers. However, I concur with your decision to shoot me twice in the chest on account of how bad that movie was.

--Muthas 19:16, 17 January 2006 (EST)


Day Eight

Radio fiddled with the encoders and it was revealed that the left one likely had some rough solder joints. Subsequently, he shoved the encoder in the oven to reflow the solder.

I continued writing the encoder navigation code -- we ought to be able to make precise turns and move precise distances by the end of the evening, only awesome will ensue.

--Mespence 02:27, 17 January 2006 (EST)

Also worth noting, we refrained from watching Curse of the Cannibal Confederates tonight which likely improved productiviy by about 500%. Also, Muth wasn't killed.

--Mespence 02:36, 17 January 2006 (EST)


Day Nine

Blanks are legal, apparently. But the question is: when Muth sees the campus police again, will I be in cuffs? On an unrelated note, the design review is coming along well.

--Muthas 19:19, 17 January 2006 (EST)

The Design Review is here in all its glory! Also, LMP's stupid ppt-to-pdf converter sucks ass and likes it, it wasted 15 minutes of my time and just froze.

--Muthas 21:18, 17 January 2006 (EST)

Tonight we fiddles with the QPE a bit until we made them work. I think we just moved the input from port 0 to port 3. I don't actually think that there is a hardware problem in the OrcBoard, but rather that magic fixed the sensor. I also manufactured a one-way gate on the front of the bot to allow us to collect a possession point during the Check Off. Gautham worked on a least squares line fitting technique to do blue line filtering. We hope to never need to bloat our final code with it because of hardware tricks. Also, some of image processing code was restructered to take advantage of the hierarchial nature of Object Oriented Programming. Now we have a method for find goals (but only one at a time). Bigtime also made progress with the navigation and control code. The bot seems to reliably follow walls and avoid very simple obstacles. It will search for balls while doing that. Muth read more about blanks after finishing the design slides (nice work btw). We again failed to make the parts order we hoped to make. I crashed solidwoks 7 or 8 times trying to make perforated sheets (anyone know how to do this right?). Diner was also very good tonight: Pasta Shells in a six Cheese and hot sausage sauce (with more cheese on top).

--Jrigling 06:21, 18 January 2006 (EST)


Day Ten

I contributed to the code. Maybe. Sort of. Actually I just added a line to /etc/orcd.conf to allow us to run the program from the OrcPad. I feel like I have been useful.

--Jrigling 15:27, 18 January 2006 (EST)

Still working out bugs in the control code. Managing the speed of the motors has proven to be very difficult and we may abandon simultaneous differential steering in favor of something more effective, like stepped steering. Promises to be a long night in lab.

--Mespence 22:04, 18 January 2006 (EST)

Moments after posting the previous entry I discovered a bug in our motor driver code which was causing (some of) the wall following code. Things are looking much brighter now that the code isn't under the impression that the motors are at full steam when they have stopped.

--Mespence 22:11, 18 January 2006 (EST)

I guess it is still Day Ten. I am hungry; I think I might go get some donuts. I love donuts. Muth and I worked on mechanical systems for a while tonight after painting some pieces of a mock playing field. Just like in Ocean's Eleven, we will video tape ourselve winning the contest two nights before it ever starts. Any way, not to give away all of our big sercrets, we rebuilt the robut again. The base plate has stayed mostly the same. The motors moved apart about 3/4 of an inch to accomodate the 3 inch drum that rotates in the middle of the robot. We also manufactured that device. It needs to be mounted in order to make good tests. The camera is now at the back of the robot and at 11 inches above the ground. Tests show that when aimed correctly, this puts the blue line at the top of our image. Although it still loses everything about 8-10 inches in front of it.

--Jrigling 07:51, 19 January 2006 (EST)


Day Eleven

At the mock competition our checkpoint three code choked on wall following in a characteristic manner. As a result our driving around phase wasn't terribly sucessful -- this needs work badly. I feel a ground up overhaul coming on.

However, the picture taking phase of the mock competition went very smoothly. Many images of the mock playing field and 26-100 were taken. Some of them may be useful. I don't know, I'm not a Doctor.

However, the greatest victory so far today was that we were publicly commended for helping with contest setup. Makes me feel all warm and fuzzy inside. Moral high ground, here I come.

It is worth noting that we caved and watched Curse of the Cannibal Confederates (which IMDB tells us was originally Curse of the Screaming Dead) and it was dull and poorly acted but at least mildly amusing, especially when compared with the screeching train wreck of a movie called Space Zombie Bingo.

--Mespence 14:52, 19 January 2006 (EST)

Dinner was delightful. We made off with many of ITA's tamales and in general stuffed ourselves. The presentation was mildly interesting but not as appealing as it could be because all of our interests are all strictly EE related (I like device physics and electrochemistry, Gautham does power systems and feedback design, Radio is interested in RF technology and Muth studies ants ... and terrorism ... and bombs ... none of which go well with the air industry.)

All in all a good time was had all around.

--Mespence 15:58, 20 January 2006 (EST)

Later that Evening

Nothing productive. I banged my head against the wall following code and nothing came of it.

--Mespence 15:58, 20 January 2006 (EST)


Day Twelve

The swarming lecture was awesome! Highly enjoyable. Had Muth been there he would have crapped himself repeatedly from the amount of awesome. Odd how he seems to miss every lecture about both robots and ants.

In other good news, wall following is actually working (after only a few more hours banging my head against it) and Gautham almost has multi-object recognition running.

--Mespence 16:16, 20 January 2006 (EST)

Ed. note: Luckily, I'm actually familiar with robots and ants, otherwise I'd be totally bummed. Speaking of which, I found an ant carrying some food on my chair recently; I really need to start an ant farm in my room. Luureeluurah!

--muthas (later that day)


Day Thirteen

I donated one of my own IR rangefinders to the maslab robot and made a new cable for it (the one we had didn't work), so frontwards wall avoidance should work. The new rangefinder is attached to the camera mounting bracket but can be moved easily when the complete ball collector is in place. I would've gotten a mounting bracket for the ball collector and picked up a few of the longest-range IR rangefinders (~180cm) but I woke up at 5:30pm and that didn't work.

--muthas 11:59pm, 21 January 2006 (EST)


Day Fourteen

The team spent most of the day sleeping or working on other projects but I got some rudimentary ball approach code working unreliably. It will bear significant improvement in the near future.

Did not get further upgrades because we played a game of football in the street; its not the healthiest game, but it is one of the most fun ones out there.

--Mespence 15:40, 23 January 2006 (EST)


Day Fifteen

It snowed! That's pretty cool all things considered. Except that we didn't really want to haul the robot through the weather. Worked out of the dormitory instead.

--Mespence 15:40, 23 January 2006 (EST)

After some extensive fiddling our appproach code seems to work. It doesn't work smoothly but it does eventually find a ball and a goal. Will bear some refinement, a goal for tomorrow.

--Mespence 13:06, 24 January 2006 (EST)


Day Sixteen

I have been working for Redwire, LLC for the past couple days. We are manually soldering boards that measure 6"x7" and have over 250 resistors, 200 caps and 20 chips -- all surface mount. They are 0805s though, so its not too bad. Each board take 8-10 man hours to complete. So I haven't gotten much done on the bot. Today we plan to make our ball collection system operational. We now have another motor mount for the ball collecting motor, so we should be able to get things moving. We will complete a wooden prototype now, noting what changes need to be made for the final version of the bot. My desk shift has been fairly boring and I have been too lazy to look at the code for our bot. I am hungry. I think some pasta and meat sauce will hit the spot. I think I will sit here until the end of my shift dreaming about sprial spaghetti soaked in steamy sweet savory sauce, oh yeah, and meat. On a side note, the mock course I have set up to test in has been threated by our house manager. He says that the Cambridge building inspector will shut us down for tripping hazards. Right.

--Jrigling 11:50, 24 January 2006 (EST)

Went into lab and tested out FSM and wall following code. After realizing they weren't working spectacularly especially in small areas we altered the wall following system to look ahead for wall avoidance rather than relying strictly on finding the wall in front. May be a non-permanent change, works pretty well on small fields, but its not too fast.

Also, quad phase encoders broke themselves. Unfortunate.

Mechanical redesign happening tonight.

Anders is late for reflashing orc boards, this makes us upset.

--Mespence 16:27, 24 January 2006 (EST)


Day Seventeen

Given that its 10:30am and I'm finding everything funny, you can bet I've been up all night working on this "roh-bot". Work proceeded as follows:

  • 1) discussed ball catchment system with Radio, many bad trig approximations used, decided to use a sheet metal funnel on an incline.
  • 2) dammit folks, clean the damn shop up when you're done with it -- its not our job to fix your mess.
  • 3) attempted to make sheet metal system with Radio, but lack of proper metalworking tools made resulting thing craptacular; God cries briefly before returning to more important things like persecuting various peoples, playing cards with angels.
  • 4) "Down tuu in a luureeluurah!" plays on radio, increasing credibility of "they play that damn song once every 15 minutes" statements.
  • 5) sheet metal funnel discarded in favor of something that doesnt suck; this leads to a wire-based vertical storage system a la Rube Goldberg.
  • 6) stupid roller-based ball grabber discarded in favor of simpler one made using nothing but wood and screws.
  • 7) screw-based drum for scooping up balls works beautifully except when it gets tangled in own power cords -- film at 11.
  • 8) largest damn ham steak this side of the mississippi ingested by Radio; two more would fill him, thrill him, potentially kill him.
  • 9) wires in wire-ball-holder system exchanged for wooden dowels in an equilateral triangle arrangement that just barely fits the ball because of its ease in fabrication.
  • 10) all praise be with Allah, for our wooden-dowel-vertical-triangular-ball-holder system seems to work perfectly; this is a decidedly good thing since it was already 7:30am and I was too tired for another jihad.
  • 11) since our amazingly craptastic "machine screws forcibly inserted into wooden dowels without threads or measurements" actually worked, I must have cancer.
  • 12) malignant cancer.
  • 13) radio begins work on rev. 2 robot base while I finish work on the wooden ball tower.
  • 14) Bigtime awakens and checks on our progress - we are disappointed that the robot mechanics are not entirely done, but major headway has been made.
  • 15) reassembled robot for code testing during daylight hours; it's basically the same as before except the wall-following IR sensors are over the wheels now to help prevent misreads during turns.
  • 16) cleaned up what we used in the shop; cursed at the other turdmongers who made the place such a craphole to work in.
  • 17) wrote incoherent/misspelt/offensive log entry and went to bed.

Now seeing as I do live in random hall you might expect me to make some comment about how this is the 17th day of MASLab and there are 17 points in my log entry, but instead I'd like to point out that whoever was setting off the dry ice bombs tonight was a total pansy - they sounded like farts through a silencer at 20 yards.

Pathetic.

--muthas 10:52, 25 January 2006 (EST)

The wall following code was tested with the new sensor placement and discovered to need some modifications. It turns out that said modifications make the robot kick ass and take names when following walls. It goes so fast! Here's hoping this doesn't throw off the camera.

I was somewhat worried when I woke up to find the mechanical design unfinished, but our early revision has served admirably during testing today and I've no doubt that ball destroyer 2.0 will be finished by the end of this evening.

--Mespence 13:44, 25 January 2006 (EST)

It is always worrisome when one looks at ones code and thinks "How the f@#& does that work?" Our ball approach code worries me for that reason, but it does work pretty well. Packing up and leaving lab for a swim meet, I'll consider rousing our currently unconscious mechanical tema to get to work revising.

--Mespence 14:22, 25 January 2006 (EST)

Later that evening

Gautham and I added a rather dumb software timer to the robot and ascertained that it started from the Orcpad. Mechanical stuff started happening.

--Mespence 12:28, 26 January 2006 (EST)


Day Eighteen

Mechanical redesign was completed last night and I forgot to grab our power supply for the purpose of testing it, curses!

New robot looks good though. We'll see how it performs after I figure out how to get all of the electrical bits reconnected.

--Mespence 12:26, 26 January 2006 (EST)

Mock contest one was an unmitigated catastrophe. We did however learn a number of valuable things like

  • Make certain that people get done with their assigned tasks.
  • Make certain that all necessary parts of the robot are present at the competition
  • Mechanical changes often necessitate code changes.
  • Motor behavior is funny and the non-linear code value -> torque mapping is very frustrating.

We plan to take these to heart and iron all of the problems with this run out in testing over the next few days. Then implement mapping and cross our fingers.

--Mespence 15:44, 26 January 2006 (EST)


Day Nineteen

Spent the first half of the day at home finishing up the mechanical design -- everything that was wrong yesterday has been cleaned up. Heading to lab for testing once new quad phase encoder patterns dry and some final soldering is completed.

Three cheers for Radio for finishing the job. It may be late, but its done none the less.

--Mespence 14:35, 27 January 2006 (EST)

DigitalOutput seems broken. Like it doesn't work at all on any port kind of broken. Which means we can't actuate the solenoid that controls spitting out the balls. Bigtime and I created a SolenoidTest program and are shipping it off to the staff to check on it.

--Gautham Arumilli 16:51, 27 January 2006 (EST)


Day Twenty

Spent all night (3rd time in the past 4 days, actually) working on robot electromechanical systems. It is done, as far as I am concerned - the hardware works, the sensors on it now work, everything is bolted down and all wires are carefully run, battery power cables are managed properly, power sharing for our solenoid goes through the protection fuse, cable clamp points are in place all around the robot, etc.

Assuming we dont add more sensors and that none of the current stuff breaks, that's it. Thank goodness, cause if it took any more time i'd probably have drop-kicked the fscker off the top of the building.

Though today was good - actually, its been pretty bitchin' - I must go now. Dont touch my stuff, cause you know it is mine. Missing you already,

--muthas

 important notes:
 * none of the IR rangefinder sensors are plugged in, since I didn't 
 want to mix them up port-wise and break them
 * the digital output line (yellow, 22ga. solid wire) that controls the
 relay is just hanging, also because of concerns in where to connect it
 * same also goes for the shaft encoders - didn't know what 2 ports to 
 connect them to
 * the usb cable between the orcboard and the computer is all tangled,
 I tried to fix it but couldnt
 * the motors may be connected in a weird order, but you should be able
 to figure out which one goes where (ie left-drive to port 1, lifter 
 to port 3, ...)

--muthas 13:05, 28 January 2006 (EST)

Small modifications were made to the chassis since I fixed it all earlier - the IR sensors were lifted up a bit so they would see over any obstacles, the battery cables were firmly attached to the chassis, and the Orcboard was screwed into place. During the process I accidently drilled an 1/8" hole in one of the lead-acid batteries, prompting the classic engineer yell "shitshitshitmothershiterfuckfuckshitohcrapfuckknockersshit!" while I yanked the battery off the robot and threw it across the table. New batteries are installed (undrilled) and everything is good.

Due to wiring concerns there were several changes to the port connections, these have been updated in the java code (and, if i recall, pinout.txt)

Now done, I'll write the mechanical portion of the paper while grooving to The Killers Somebody Told Me. Also, a skylight just broke on campus in building 1, but I didn't do it, I swear.

--muthas (after waking up from his nap)

holy crap in a peanut! someone fell through the skylight, apparently. reports say they're not dead, but that includes both 'alive' and 'undead', so I'm gonna start carrying my ramset around with me, just in case...

--muthas (even later)


Day Twenty-One

Muth pronounces new blasphemies daily: "holy crap in a peanut" indeed.

It's late and the whole team is pulling together, at the same time, in the same room. Unusual. Settling in for a long night of final modifications before mock contest two.

--Mespence 03:49, 30 January 2006 (EST)

Disaster strikes as FatBot 2.0 proves even heavier than we expected. The new mechanical design instantly drains even our finest batteries such that we can't run the motors. Some mechanical work is in progress.

In other news, Gautham implemented a slick multi-green blob recognition system and optimized our picture scanning algorithm. I implemented a method to check if we're stuck using the double fisted tour de force of quadrature phase encoders and software engineering. (By the way, the latter of those two technical knock-out punches is really awesome -- I only needed to change two pieces of code once the appropriate functions were written. Thank God for good low level code supporting crappy upper levels.)

Ed. Note: the above text is attributed to Bigtime, though that is by no means certain.

This was indeed my work. Mostly of several hours ago. The more surreal bits are more recent though.

--Mespence 07:35, 30 January 2006 (EST)

Gautham's room just browned out; that sucks bigtime (not Bigtime). On an unrelated note, fatbot has had some minor reconstructive surgery:

  • IR sensors mounted in a more permanent fashion so as to avoid reflections off the base superstructure.
  • we scrapped the MASLab motors for driving the robot since they sucked balls and liked it; they couldn't handle the heft of the new robot frame (though they sure could handle the heft of your mother last night, wooooooo! buuuurn!) The new motors are mine - higher torque, slightly slower, also made for 12V so we wont be undersupplying them constantly.
  • new cable runs for the sensors and motors to make them easier to reposition as fine adjustments are made.

All in all a fun evening of crap, followed by the installation of linux on my new averamac while enjoying the emotastic Fallout Boy's Sugar, We're Going Down. Word to your mother, bitches!

--muthas 07:03, 30 January 2006 (EST)

The new motors work spectacularly, driving the robot into and through walls without a care in the world. However, small changes will be needed for the quadrature encoders to work (the newer motors required new holes in the drive mount brackets, so the encoders dont fit as well anymore) and thus the robot has been taken doooownstairs (possibly for a cream soda).

PS - gautham, the word gullible is written on the ceiling. Zam!

--muthas 07:31, 30 January 2006 (EST)

The new robot is has grown from a naive youngster into a hulking, surly teenager - a fact made apparent when it demolished two of our personal contest area walls. Screw "FatBot 2.0", this machine is now "SVN Destructo" after my amusing svn command mistype while working on my personal robot Destructo and my destructive tendencies.

Image:svndestructo.jpg

Its 8:15am, time for jihad. Catastrophic Valiant Kim-Chee Earthquake Stomp-Kick, GO!

Bigtime: "The robot just raped our playing field!"

--muthas 08:15, 30 January 2006 (EST)

* * * *

MASLab: A Brief Aside

If you had told me when I was 8 years old that there would one day be TV shows featuring nothing but robots fighting each other, I probably would have flipped out. I would have counted down the days to that glorious, unimaginable future. But now, watching those little toaster ovens roll around and bump into each other just makes me want to change the channel.

How about this: Let's eliminate the featherweight-bots category. I'm sorry, but watching a slightly modified dustbuster fight for its existence is about as interesting as a walk in the park. How about pitting two mechanized tanks against each other for a change?! It would be like "MrooooooooW! Pow pow pow! Ker-BLOOM!"

Also, maybe it's that these contests lack a human element. No humans are ever in danger. How about upping the ante for the robot teams, maybe strap the programmers' infant children onto the robots so each battle has some real stakes? Now, that's a Robot War!

In fact, why are these robots being contained at all? They should loom over our streets and our homes, hunting down hobos, sick children, and the elderly. That way, we could all be part of the action... (taken from ["The Onion"])


Maybe its the fact I'm tired, or maybe its the fact our robot is going around destroying everything in sight - I don't know, I'm not a doctor - but I think maslab's competition could be more interesting (both to watch and to be in) if there were less rules governing how the robots must act. Imagine a world of:

  • your challenge is to get these balls into these goals in this amount of time
  • no fires, please
  • here is a metric assload of parts and tools, have at it!

wouldn't that be more interesting and require more from us as participants?

Maybe, maybe not. I'm not a doctor. But all that said, MASLab is still a fun time, and I just like to bitch.

--muthas 08:44, 30 January 2006 (EST)

Editors Note: Not brief.


Today I refined one of the best 'inventions' I have ever had at MIT. Every Engineer has these moments of redesign that totally revolutionize something's effectiveness but ultimately work in the same way as 'revision 1.0'. In between setting up mock playing fields to prepare for mock contests and upgrading the motors on "SVN Destructo" I decided to provide some breakfast for the team. I suppose I should start from the beginning: Last year I invented "Waconup". I had been eating a large amount of WAffles, baCON, and syrUP for breakfast at 7:00 pm. Some think decided that these three things should be one. Yes, I attempted to create a breakfast shake containing waffles, bacon, and syrup. The blender had a little trouble mixing it all together until I added more syrup. This was a little mistake. The breakfast shake contained all of my favorite things, but was just too thick to eat/drink. I attempted to add orange juice to thin out the mix. The result looked and smell like vomit. I was crushed that my great idea was a failure. But as I said earlier, sometimes a simple change in design can make enormous differences. Instead of creating a breakfast shake, now I create breakfast sandwiches. I know that this is done be Burger King, McDonalds, etc. with biscuits and sausage. Only recently has McDonalds realized that syrup is essential: The McGriddle. Now I individually prepare the waffles and bacon before piling clumps of the steamy pig between layers of hot waffles. The whole thing is essentially covered in syrup. Its messy. Its tasty. Its finger licking good. Needless to say the presence of food greatly improved our productivity (after the brief moment of inactivity while we stuffed our faces). Everyone on the team loves food--some more than others. Oh, and the robot is more awesome now. I am not sure if it is suppose to plow over walls, but it does. It makes me laugh. Sometimes it makes me almost cry: Our little robot is all grown up now. I might sleep for a little now, then off to campus later to see the bot in action again.

--Jrigling 09:37, 30 January 2006 (EST)


Day Twenty-Two

I suppose that its kind become day twenty-two by this point.

After a long evening of discovering various mechanical issues and getting them dealt with I finally got to sit down with the robot and update the code for the new chassis this morning, but I haven't had as much time as I'd like. The "I'm Stuck" code is hypersensitive and triggers all the time and the wall following has become alarmingly sluggish. What's worse is that I spent over a half hour trying to debug the wrong piece of code.

Worrisome, but I've got 10 minutes before we need to go to the competition, here's hoping something starts working better.

--Mespence 12:33, 30 January 2006 (EST)

Working much better after a few small modifications. Now we just need to move the IR sensors far enough away from the edge of the robot that it can't gte over confused. Another night's work.

--Mespence 12:43, 30 January 2006 (EST)

We consider ourselves as having gotten 4th place in the mock competition after successfully escaping the starting position. Evenually one of the walls got stuck in the robot's glory hole but we had a good run. Some small glitches to work on later tonight include ball sensing and acquisition (ballsaq), goal approach system (gas) and implementing the "Oh no! I'm stuck on a wall" code.

Hope that tonight's work goes smoothly.

--Mespence 01:03, 31 January 2006 (EST)

your log entries don't have enough swears in them, so hell damn fart boobs, you jerkwads.

Also, minor adjustments made to the IR sensor placement (they're back towards the center of the robot again, ugh, but raised up a bit) and the Phillips Head Death Driver (made using two Screws of Damnnation and a dowel made from the Armoire of Despair) has been epoxied to its motor's shaft, for maximum damage-dealing capabilities.

--muthas 02:03, 31 January 2006 (EST)


Day Twenty-Three

The day was inaugurated by developing a TARGET_LOCK_ACQUISITION state for our FSM and our first really successful run around a playing field which was punctuated by long periods of svn_destructo trying to do unspeakable things to the walls of the playing field. It rammed itself against them and made violent groaning noises -- we were mildly disturbed.

--Mespence 03:31, 31 January 2006 (EST)

Or aroused.

ROBOTS ARE T3H SHIZNITE!!!!11!!!11111

Editor's Note: Probably Muth.

A productive evening -- we had great luck cleaning up our ball and goal seeking algorithms. Some of the triggers are a little off, but we've had a lot of success in general. Tomorrow we clean up our goal approach code, implement a check for being stuck in one place and work on associating goals and barcodes.

--Mespence 06:31, 31 January 2006 (EST)

While in lab with Bigtime, I managed to get all of our object recognition done in one pass through the image. Not sure exactly how much more efficient this is, but it works, and it really should've been done from the beginning, considering it's fairly intuitive.

Our object recognition code doesn't use fancy algorithms or operate at blinding speed. But it does work reliably right now, which is good. I guess you could call it "robust".

--Gautham Arumilli 07:30, 31 January 2006 (EST)

Checkpoint Three: Passonomicon. Acceptisizalized!

--Mespence 02:00, 1 February 2006 (EST)


Day Twenty-Four

Good News: More changes to wall following result in a robot which almost never gets stuck. Implementation of the gyro (at long last, only three weeks after we first tried to use it) results in accurate turns and neat features like remembering the original heading.

Bad News: Still can't tell if we've collected balls. Ball motor jams if we pick up two balls, preventing further ball collection.

Summary: Awesome.

--Mespence 03:22, 1 February 2006 (EST)

Disaster strikes.

One of our quad phase encoders crapped out, the other has become flaky and both of our wheels are loose. What's worse is that both members of our mechanical team are in other states (Pennsylvania and a drunken stupor) and thus cannot fix these problems until one or the other returns.

A frustrating setback at a critical time.

Editor's note: I've gone to visit several exceedingly cute girls, will return sometime. -muthas

--Mespence 04:45, 1 February 2006 (EST)

Updated firmware. Haven't tested yet because computer won't boot. A hung-over Radio may have fixed our quad phase encoders -- will check when computer runs.

--Mespence 16:21, 1 February 2006 (EST)


Day Twenty-Five, or My How The Bitterness Grows

We're making the final push for a functional robot; we're in lab doing some testing and adjustment:

On the agenda for the night:

  • Fsck with the ball deposition system until we can drop one ball at a time.
  • Associate barcodes and goals in images.
  • Make a scanning mode in order to associate barcodes and goals in the images.
  • Clean, test, repeat
  • Prettify the robot and the code (pull all the profanity we publish to the BotClient)

--Mespence 02:05, 2 February 2006 (EST)

It was realized that we need a stronger spring to run the ball deposition method and photodiodes to scan for the presence of balls. Neither are readily available, one is a locked in an office and the other requires heavy modification to our current hardware. As a result, we need to begin the hunt for a janitor and a pair of pliers -- not necessarily in that order.

--Mespence 02:35, 2 February 2006 (EST)

Robot is smarter! That is more good.

--Mespence 07:12, 2 February 2006 (EST)

Our robot has reverted to its old ways of interacting with walls ... in a sensual manner. To compensate, the IR sensors have been angled forward slightly. We'll see how it works.

Ball column has also been modified so we don't get bouncing balls and we can check if balls are present using phototransistores.

--Mespence 11:45, 2 February 2006 (EST)

Our goal approach code was revolutionized once we realized that our robot didn't actually drop balls into goals (as previous testing had indicated). Now numerous new (simple) behaviors have been implemented to handle depositing balls including one wacky trick that takes advantage of its natural wall fornicating instincts.

We are having significant trouble using the solenoid because we cannot supply enough power to actuate it during an actual field test. As a result we got approval to strap a whole bunch of AA batteries to the robot and pray that they solve all our problems.

We were however confronted with the threat of severe loss of productivity in getting the components for the solenoid revolution. Thankfully enough, Muth swooped to our rescue returning from wherever he was to help us grab and set up the battery pack.

Editor's Note: I gave up being home - with a girl - to work on this fscking robot. What the hell kind of priority system is that, huh? Now I just want to pipe bomb a bus full of nuns or nuke Iran or something. Maybe a room full of robots at the competition, I'm not too picky. -muthas

--Mespence 15:01, 2 February 2006 (EST)

Our workaround for the solenoid power issue can be described using only one word: ghettofabulousinomicon.

--Mespence 16:01, 2 February 2006 (EST)

To elaborate: the solder is being applied using a mini-blowtorch, our common-ground wire is actually part of an oscilloscope probe I cut off a scope I found lying around somewhere that absolutely definitely probably wasn't lab, and God is crying because of what we've done. WTF.

If any of the TAs read this: we didn't do it, and if you don't believe us, we're sorry we did it.

-- muthas 16:59, 2 February 2006 (EST)

BIGTIME WHERE ARE YOU, WAIT HE'S HERE NOW! HOORAY! BUT YOU STOLE THE ONLY XLARGE TSHIRT (IS THAT LIKE XSEXY OR SALAMI-XMEAT??) YOU BASTARD!

-- muthas end-of-working-period (EST)

An Hour... for Revenge

The last sixty minutes of our actual MASLab worktime revolved crap with code, but since I still dont know what a "Java" is or where to find one probably shouldn't write about it. Nonetheless, things are looking well - our last 5 minute test run scored us around 18 points. Also, the battery pack for the solenoid is gone, possibly to parts unknown. I guess we aren't using the solenoid then? Jim pointed out that our code could've been better had it been massively threaded and used semaphores to signal between the threads. But whatever, time for fun now...

On an unrelated note, I was just sitting in the 6.270 final competition and was forced to ask: why is MASLab such a sausage fest? Give us women, dammit! HOT WOMEN!

--muthas, over and out 21:20, 2 February 2006 (EST)

A Better Explanation

Sorry about my teammate, he's a bit of a jackass. Not like you couldn't tell that from the previous posts. Oh, I kid Muth, I kid...

Yeah, the last hour before impounding (we were last to impound) was a whirlwind. Against all advice that warned us we shouldn't do it, we basically reworked a significant chunk of our FSM in the last hour to deal with the fact that our robot was getting stuck in an infinite loop basically dry-humping a goal when it tried to approach it, and to also deal with the fact that the robot didn't have very good aim or distance to goals when it actually tried to shoot balls. Not to mention the fact that the solenoid consistently refused to work on the playing field all day, regardless of how perfectly it performed off it, so the robot couldn't actually shoot balls. Anyways, after my frantic fuddling with the FSM (which I really only understood on the surface, but learned pretty damn quickly in the circumstances), and Radio's removal of the solenoid, we got a robot that worked pretty well in a couple of test situations. It's not perfect by any means, but it was a hell of a save. I'm still not sure how we did it. And I'm not sure how we'll do competition day, but those 18 points came on a large field with only one goal. Hope that bodes well for us...

Well, it was a whirlwind. Skill/craziness/not sleeping much has taken us this far. Here's hoping for a little bit of luck come competition day...

--Gautham Arumilli 01:36, 3 February 2006 (EST)

P.S. All of our floormates seem to be outside partying. Yet all of us are sleeping or about to sleep. It's been a long day...


Day Twenty-Sex

if our robot doesnt win, I'm gonna burn this whole damn place down. Allahu akhbar!

--Muthas 10:35, 3 February 2006 (EST)

Please forgive my teammate, he's a jackass.

--Mespence 12:25, 3 February 2006 (EST)

Watching our run during the competition will be entertaining if only to hear Muth make a fool of himself.

I can see it now, after our robot hits a wall...

Uhhhhhhhhhhhhhhhhhhh, yeaaaaaaaaaaaaah!!!!!!!!!!!!!! That's robot loving, folks...

I slept for a decent amount of time, and I'm still delirious...

--Gautham Arumilli 10:55, 3 February 2006 (EST)

Bigtime says that the religious slurs go to far. I say that they don't go far enough - after all, nobody has said anything about them.

I can't wait to MC this thing, though it'd be nice if I knew how the software worked. I can say a lot about the mechanics and sensors, but as for the code, well, nobody has told me what a java is.

I hope you have a taste for insanity... and sun-dried tomatoes... cause you're gonna need it. Word.

--your mother bent over all night long, 3 February 2006 (EST)

Imagine what I said before, only put it here instead of three posts up.

--Mespence 13:12, 3 February 2006 (EST)

WHAT THE FUCK IS UBANTU?! ALSO THIS IS MY BLOG NOW, I SHOULD KEEP UPDATING IT CONSTANTLY.

I THINK MY CAPSLOCK IS STUCK AND OUR TEAM IS SPONSORED BY REDWIRE FUCK YOUR MOM.

--MUTHAS 17:38, 3 FEBRUARY 2006 (EST)

Sitting at the competition with my friends, I realize that I'm boned as far as explaining the piece of crap. However, I can count on the incompetence of others to make ours look better.

As such, I now submit for your approval a fatwa declaring that our robot must win. I dare you to prove me wrong, ulema.

--Muthas 17:59, 3 February 2006 (EST)

also... jo mamma jo mamma jo mamma jo mamma jo mamma ... jo mamma!

--Muthas 17:42, 3 February 2006 (EST)

Editor's Note: The second ellipsis replaced an entire page of the same "jo momma" stuff.

The final competition was dissappointing because, after burning our false start on a problem which we should have caught in our testing suite, we gave up second place to a ridiculous mechanical problem. Our balls became stuck in the column thanks to a piece of foam which was used only when our solenoid was still part of the robot and this messed up the ball sensors and trapped the robot in an infinite loop. Curses upon loose ball tolerances and a lack of testing fields on game day.

That said, the exhibition round revealed a few other flaws in our code like the "I've almost got a ball but I'm throwing it away" behavior.

All in all a frustrating evening.

--Mespence 20:17, 3 February 2006 (EST)

"Worst damn day of my life." -andrew "muthas" muth

--muthas at end of competition, 3 February 2006 (EST)

The Day After The Day Before Today

Looking back, yesterday wasn't the worst day of my life. It wasn't even close. Sure, it could've gone better, but that's life.

Today, however, is the worst damn day of my life. I worked from midnight till 8am, got a few scant hours of sleep before a hail of gunfire hit the window next to my head, then had to go clean up the 5th floor lab for 3 hours.

Crapshit.

--Muthas 22:27, 4 February 2006 (EST)

Piss, piss, piss. Bitch, bitch. Moan, moan, moan, moan, moan ...

Would you like some cheese with your whine?

--Mespence 04:14, 5 February 2006 (EST)

Editor's note: Yes, cheddar please. And make it extra sharp.

Spring Term 2006

After MASLab, my days just don't seem full until I call a jihad on someone. Hmm... maybe I should call a jihad on that.

Whoa, mindfuck.

--Muthas 16:54, 7 February 2006 (EST)

Frankly Muth, your existence is more or less a jihad on everything.

By the way, please excuse my teammate, he's a jackass.

--Mespence 20:02, 7 February 2006 (EST)

I'M NOT A JACKASS, I'M JUST MISUNDERSTOOD, DAMMIT! GAWSH!

--muthas after posting his resume, 9 February 2006 (EST)

Epilogue

I've been doing some thinking and realized something: in MA (and on MIT campus, to be precise) the possession of various... things... might actually carry some sort of mandatory sentencing. I'm not too worried, but its important for my 'In Case of Emergency...' planning, namely should I just hide in the spaces near the shaft until the cops leave then run for it, or should I steal a cab and bolt for Canada.

Just food for thought. My thoughts mostly, but maybe yours too.

Where you at dawg?? Got the whole city behind us!

--Muthas 05:12, 20 February 2006 (EST)

Editor's note: Canada, while far less superior for escaping than mexico or colombia, was chosen for two reasons:

  • its closer.
  • given my flawless spanish accent, i'd be caught in about 0.3 seconds. 0.5 if I have a sombrero and am carrying tacos in both hands.

Personally, I don't really want to know what its like in a Mexican prison. Just picky, I guess.