Team Five Journal

January 30th

Team Mood: Drunk & happy

Music: la-la-la-la-la-la, boom-boom-boom, la-la-la

5:42am

Hey, this is Dumi and this will probably be my last entry in this journal. I just wanted to thank Matt and John for being great lab partners; it was fun working with you guys and thanks for raising my morale (or at least trying :)) when I felt like shooting myself and quitting. Also, I'd like to thank all staff members for putting the effort to organize this class/contest and for being helful and friendly on so many occasions (in particular, Chris, Ed and Finale).

WARNING: PEOPLE THAT SUFFERED FROM A HEART ATTACK, ARE IN THEIR 7TH MONTH OF PREGNANCY, GET UPSET EASILY OR DON'T CARE ABOUT MY PERSONAL OPINIONS SHOULD NOT READ THIS.

I realize there were many teams that deserved the engineering award, including the team that won it; still I was a little disappointed we didn't get it -- I thought our robot was pretty complex and well done, even if it was assembled in the last 2 days; and I thought we had good ideas/implementation for our strategy, image processing and robot control, even if we never managed to put everything together. Oh well, better luck/work next time, I guess.

One last thing: there were 2 teams that I liked in particular, not because of their robots/ideas, but because I got a chance to talk to them and they were fun people that didn't treat me with arrogance. That's teams 4 and 13. If you guys are reading this... Team 4: it was nice chatting with you during the all-nighter we all had, and I'm sorry you had to do everything in 2 people (although it should probably be you who should be sorry for us, since you scored more points :)). Team 13: your arm was really nice, and I'm sorry you didn't win the contest.

Have fun in your spring term, and good luck with your future robotics work (if MASLab wasn't enough for you :)).

January 28th

Team Mood: Hopeful

Music: Quietly waiting for robot judgment hour

2:35pm

We didn't make any big changes to our robot today, as the staff suggested. We realized we might mess up something important if we did. However, there were a few bugs that we previously knew about but that we never had time to correct. We made minor changes to correct these. We also decided to use the exploring round as an exhibition of the work we did with bar code recognition. We won't be able to use that information in the scoring round though.

January 27th

Team Mood (update): Tired but Excited! (second update): now we're just tired; very little excitement left.

Music: Auditory hallucinations

6:35pm

Our robot stopped moving suddenly. We dont know what happened. Maybe we fried some motors, which would be really bad. Or maybe it just needs to cool down a little bit. Anyway, Matt and I are too tired now to care about it, so we'll try to figure it out tomorrow from 1pm to 4pm.

5:56pm

This is John. I haven't really updated much, but I am sorta worried now, as Matt and Dumi play stupid math puzzles while our valuable testing time dwindles away. One mechanical issue remains: to seal up any holes inside that the ball could roll off the ramp into. At this point, our scoring code is so bad that we might just leave it the holes and hope for the 1 point we would gain. I think if i went with a simpler design, they may have had more time to test these parts of code. I'm not sure if i want to drink first.. then sleep or sleep and then drink, but memories of this need to be erased. The screw was really a surprise that it worked so well, but at this point i'm not even sure i want to shore up some of the crappy hacks left on the robot, like the spring that starts things on the aquaduct being held with electrical tape. I think every sentence i've said in the last hour has been about testing... and Matt just started to listen. Let's see how things go.

5:46pm

What made me care so much about doing well in this contest? I have been up for 32 hours now, of which I have spent approximately 30 (with some breaks) in lab.

5:14pm

I (Matt) am still somewhat optimistic and hoping to pull something together. We got lucky and have a late draw on the impounding, which means that we can try a couple more test runs on the playing field. I particularly want to make sure we don't bump into anything. We'll make an attempt at dropping balls off, but we'd have to get fairly lucky with our alignment to do it properly. John has made the trapdoor work pretty well. We probably won't get to use the barcode graph, but we will try to test it once when some of the teams clear out of here. We'll still run the exploring round in the contest and maybe publish a bunch of images.

4:51pm

We're almost done assembling the robot. Everything works except the mechanism that's supposed to open the gate on the aqueduct. The software doesnt work that well. The exploring round seems to work ok, although we wish we had more time to try different algorithms; the scoring round code apparently can find balls and collect them (and the robot can lift them up), but we didnt have time to test the code that uses the information from the exploring round, so we're not gonna use it for the contests :(; and our mouse hole aligning code doesnt do a good job either -- we think we'll have to be REALLY lucky to drop balls over the mouse hole. Of course, taking into account that we tested our exploring round only ~10 times, and our scoring round ~5 times, and also the fact that yesterday morning we were still using the peg board robot, there's a big chance our robot will just stop at some point on the playing field, not stop after 3 minutes, or do some other crazy s... stuff.

12:18pm

Usually I'm not a pessimist, but the more time passes, the more I feel like we won't be able to make it. We have every single part we need (hardware and software), but somehow, when we put them together, nothing seems to work well from the beginning to the end. And I don't think we have time to test/fix many things before 5pm, which really sucks; i'm pretty sure we'll do much worse than teams that implemented only a random walk, even though our code is so much more complex and interesting, and probably even worse than teams that don't even try to score points over the mouse hole, even though our paddle wheel, Archemedes screw and aqueduct are again so much more complex and neat ideas (in my opinion).

Anyway, I'm glad I took this class, because it made me realize something: I NEVER WANT TO DEAL WITH ROBOTS AGAIN. Having to constantly deal with mechanical errors that always pop up when you think you're finally done, sucks.

10:43am

I just woke up Dumi and John. They are on their way here. I bought some super glue earlier today but we're running out again. I might eat the rest to help stay awake.

10:04am

I got the screw to work! It is pretty reliable and can carry 4 balls on it at once.

9:21am

I'm in lab and I'm freakin' tired. But things are going really well. Our mechanical systems were going to be a leap of faith. So far, they're working better than we should have expected given the amount of testing we'd done (zero). I'm very carefully trying the motors, stopping higher and higher current thresholds. If it goes too high, they will break stuff (they're high torque motors and will kill the glue and plastic gears that they are attached to). The screw can elevate 4 balls at once. It still has trouble initiating balls, but I have some ideas of how to fix that.

The paddle wheel was having a little more trouble. It keeps breaking the bond to it's gear. It also takes a lot of torque to push the balls up the ramp... more than the superglue bond can handle. We're going to try to think of a different way to secure the gear, but the motor is definitely powerful enough to handle lifting the balls up the ramp. They then roll very nicely into the bottom slot of the screw.

A few more tweaks and we'll be handling multiple balls at a time, capturing and lifting. I'd like to secure some of our supports a little more strongly though. One group recommended epoxy. I'll talk to John when he wakes up, because he's the mechanical guy and he knows a lot more about this stuff than me.

7:36am

Matt doesn't really know the team members of the teams that are currently in lab. He also doesn't know what exactly would be useful right now. He is feeling a little lonely because all of his friends have left. There is glue drying though, which is somewhat interesting. There is caffeine somewhere too, but too much sugar seems to be having bad effects already. Maybe a diet coke (yuck)?

7:16am

Dumi and John went home for naps. Matt is still in lab because he hates himself. He's not sure if he will take a nap. His productivity level is in the toilet right now, but going to sleep might result in not waking up very long before impounding. There were new issues with the robot driving straight when we went to the new body. He has fixed it, and it now lines up a ball and drives over it pretty well. When Dumi gets back he should be able to continue testing the scoring round.

Some stuff is also getting glued together. Soon, I might try to test the thresholds of the paddle wheel and screw motors.

3:45am

Holy crap, it's already 3:45? Matt is in lab making some minor corrections to our robot control. We had to use a couple of creative solutions to stop our archimedes support from scraping the ground, but we think it is ok now. We've shut down the bot to let it cool for a while. Dumi went out for a smoke, and John called to say he's coming and bringing food.

A little earlier, we tried the exploring round code. It wasn't pretty, but it came up with a graph of about half of the playing field that was mostly correct. The only problem was that when it saw gaps between walls it often thought that they were barcodes. This shouldn't be a problem in the actual contest. Matt is correcting an issue with turning, and then we will move on to testing some other stuff. We may return to the exploring round eventually and try to clean things up a little bit, but we are fairly happy with how it worked the last time. It is very accurate with barcodes now (except the gaps in walls). We have quite a lot of trouble with hallways still. That is something we might try to work on.

At some point we will have to test our mechanical systems for picking up and elevating balls. We are putting that off though, which may be a bad idea.

Team Mood: Still concerned, but better than yesterday

Music: Motor wheels spinning

1:09am

Matt discovered that one of our aluminum plates touches the ground. We think this causes problems with driving straight. We'll try to fix this now. Somehow, we're regressing instead of progressing again. Right now, I feel like getting drunk, cutting my veins with the razor and going to bed. Hopefully, the light of the morning will bring more inspiration...

12:29am

Our team took a break and should soon get back to work. We assembled our robot (everything except the aqueduct, which John should attach in the morning), and we recalibrated some speeds/thresholds. I'm in 34-500 right now, waiting for Matt to come to start testing stuff. Hopefully, the exploring round will work well, and we'll be able to spend most of the remaining time on the scoring round.

January 26th

Team Mood: We're f^$&ed.

Music: Desperation cries in our minds.

3:12pm

We continue assembling our robot and we have the code for mouse hole alignment (which means we should have the entire code done). The problem is that we tested our code very little or not at all. But hopefully our robot will be assembled in a few hours, and then we'll have the entire night and morning for testing.

Right now, our mouse hole alignment code should be very conservative: it should not drop the balls unless it's VERY sure it aligned properly to the mouse hole and it got to the wall. I think this is the right thing to do, because we don't want to get 0 points, only because we dropped all our balls -- we still hope to be able to pick up balls -- in the wrong spot. However, if we have enough time to play around with the alignment method, we'll try to relax a few constraints and see what happens.

Anyway... John is assembling the robot right now; Matt was helping him, but had to leave for a little while; and I'm done writing the code, so I guess I'll try to help John assemble the robot, or at least entertain him.

1:22am

We had a VERY frustrating day today. We sucked at the mock contest; we're not done with the robot yet; we haven't ran a single test for the scoring round yet; we're still not sure about our exploring round (because the wheels on the pegbot stick out and they constantly catch a wall when we try to run tests). Obviously, our morale is not very high right now. However, we still have some hope that we'll be able to finish* stuff before the contest: taking into account that the exploring round worked pretty well yesterday, we hope that it won't take us much time to make it work on our final robot once we have it assembled; also, since the scoring round uses code similar to the exploring round, we hope it won't take us long to debug it.

John went to a lab now to cut the last parts of the robot. Matt is moving everything from the peg board to our final robot and will go to bed after that. I'm eating some chili and then I'll go to bed too and enjoy my weird nightmares 'til morning. Hopefully, we'll resume work before noon, which will give us 30 hours until the D-hour**.

* finish == get something working that would allow us to score at least 1 point to pass checkpoint 2.
** D-hour == Dont-care-anymore-because-we-just-handed-in-our-robot-hour

January 25th

Team Mood: The best we had in the last 10 days (until the mock contest -- then it turned into the worst we had in 10 days)

Music: Who cares?

8:10pm

Our robot sucked at the mock contest. We're not sure yet if it was because of software bugs or the change in robot's mass (we changed our robot this morning). Anyway, the code for our scoring round should be complete now (except the last step, which is aligning to the goal), so I hope we'll be able to test/debug/fix both rounds tonight and have them working by tomorrow. Meanwhile, on the mechanical side, John continues to work on assembling the robot. We still need to assemble the Archemedes screw and the top container and fix camera/compuer/batery/IR sensors more reliably to the robot.

3:40am

I ran the exploring round a few more times with bar codes in different places, and it worked pretty well (finally!). Everytime the robot detected 8-9 bar codes (out of 9) and more than half of the edges; the graph of bar codes was always connected (now I realize that I should have tested the exploring round on an unconnected graph; will do this tomorrow). Detecting/preventing wall bumping seems to be working pretty well too. The robot never got stuck into a wall when moving forward, and detected very quickly bumps that happened when turning left/right. It even avoided partial walls: when moving to a barcode, the robot encountered a wall that blocked only the "left half" of it; the robot turned a little to the right, avoided the wall, then corrected its direction to the destination barcode.

The only problem seems to be the speed; I'd really like it to move/turn faster. I think the main reason for the slowdown is waiting 0.5s everytime when we set motor voltages to 0. But I might have a solution for that (we'll test it probably tomorrow after the mock contest) and we might be able to hack something up for the scoring round that will not have to deal with stopping motors at all.

1:30am

Dumi thinks he finally managed to get the exploring round working. He needs to do more tests, however. Matt and John are at Senior House; they continue assembling the robot. It seems like we'll be able to test our exploring round at tomorrow's mock contest, and hopefully test parts of the scoring round too.

January 24th

Team Mood: We don't know

Music: Rammstein

8:18pm

John has been working on assembling the robot the entire day. Meanwhile, Matt and Dumi have been working on the exploring round. Unfortunately, we haven't gotten a lot of stuff done so far, because we ran into an unexpected motors behavior: they need to be stopped for a while before changing their direction of spinning, or otherwise there's a big spike in the current. First, we thought our thresholds were low, so we tried to increase them. It didn't work. Then we tried to do some other things, which again didn't work. Finally, after figuring out what was wrong, we decided to wait 400ms before every move/rotation, and it seems to work. However, we spent a lot of time on this, and although we were pumped up at the beginning of the day, our morale is pretty low now, because we're tired, we haven't accomplished much (so far), and we're hungry.

January 23rd

Team Mood: Somewhat sleepy

Music: spinning fans in 34-500

3:36pm

There are 4+ robots/people constantly on the playing field, so we can't test anything. We're going home to write more code and hopefully test/fix everything tomorrow.

2:53pm

Problems started cropping up again in things that we had thought were fully tested and operational. We tried for a while to determine the source of the problem, and then realized that the wooden spacer on one of our front wheels had cracked in half. Unfortunately, since the lab is closed and neither Dumi nor Matt carry tools on their person, we cannot continue our tests until we find either some duct tape or a screwdriver.

2:18pm

After a failed attempt to come to the lab yesterday (due to hangovers and such), Matt and Dumi are finally here. The plan for today is to test/debug/finish the exploring round, glue new encoders to the wheels and test/fix the detection of walls when the robot is moving backwards. John will probably have the final robot built by tonight or tomorrow night.

January 21st

Team Mood: Pumped!

Music: Eye of the Tiger

6:31pm

We have been working hard today. John is building parts for the final structure. He is almost done with them and will begin assembly soon. Dumi has been working on the exploration round code. Problems keep popping up with barcode recognition. It has been tough. Matt has worked on making small angle turns more accurate and making the robot stop before bumping into walls. That has gone well. He is now going to fix the encoders.

1:46pm

The team is ready to rock today. We don't have a real robot, we can't score any points, and we are all somewhat hung over. Doesn't matter! Dumi and Matt have been on a roll for the past couple of days. John was down yesterday but we think he'll be back up today (when he wakes up).

Matt tested the accuracy of the IR sensors and found that they worked well from 4 to 25 inches. This means if we recess them 4 inches into the robot, we'll have an accurate view of about half a meter in front of it.

Dumi is working on the exploring round code and making some changes. We anticipate being able to navigate around obstacles, so we no longer care if paths between barcodes are partially blocked. Also, we would like to record the approximate ball density around barcodes.

January 20th

Team Mood: Concerned

Music: Smirnoff

7:55pm

Dumi managed to debug his code that determines the distance/angle to an object on the field using only the frames captured from the camera. We ran a few tests and we got some good results: the error for the distance seems to always be at most 5-10cm, even when the distance is about 1.2 meters (which we think is fine, since we're going to use it only as a rough estimate) and the angle seems to be pretty accurate too. So it seems like we won't need to use a long-range IR sensor (which would take up points, and wouldn't probably work for distances >1m).

7:00pm

Dumi and Matt are having another long night in lab. We have gotten a lot done today. We have set up another IR sensor. We calibrated both sensors much more accurately, and mounted them on the sides of the robot. We are still using a highly upgraded version of the pegbot as we await John's construction.

Dumi is trying to correct his methods that gather angle and distance information on objects in an image. Matt is preparing to do some testing on the robot's wall avoidance and bump recognition. The final bot will have it's wheels inside, so the only time that it should bump would be during turning or travelling backwards. We will have short range IR sensors on the front corners of the bot, and they will be facing forward. This should ensure that we see walls coming when moving forward. It also will allow us to recognize and go around obstacles that are partially blocking our forward motion.

Dumi and Matt are hoping to run a few more tests and then head home. It has been a pretty long day, but fairly productive.

4:50pm

The group has continued to work away at various tasks. We didn't manage to get any information from the mock contest. Matt is working on integrating another short range IR sensor into the robot. Dumi is trying to get distances and angles from a picture. It works pretty well with balls, but there are some problems with barcodes and goals. He is trying to fix that now.

John has cut some of the pieces for the bot, and is currently trying to bend part of the aqueduct channel.

3:02pm

Matt and Dumi came to lab shortly after 12 today. We ran a couple of tests and then made an attempt at the mock contest, but we failed to do anything useful. We are now testing and fixing different things related to robot control and the exploring round algorithm.

John has started manufacturing the parts for the final robot.

January 19th

Team Mood: Somewhat more Optimistic

Music: Green Day for Dumi; wheels spinning for John and Matt

8:15pm

We finally got our robot to do the Checkpoint #2 task. There is no staff member around to check us off, unfortunately. We are still a little worried that it will have problems if it bumps into walls. We'll try to check off tomorrow morning if there is staff present before the mock contest.

6:36pm

We have finished a lot of code for today. Matt modified the driving class to alert the user when walls were hit. Dumi finished writing a class to explore a new playing field. Hopefully we will be able to check off tonight and then have a chance to test our exploring methods on the mock playing field tomorrow. We'd really like to know what their effectiveness will be on a large field, and we won't get another chance to test on such a field.

John has been giving himself carpal tunnel syndrome by cutting little pieces of brass tubing for spokes for our lifter. He has to grip them really hard, and needed a few hand massages to get through all of it.

5:50pm

Matt wrote some code to deal with bumping into walls. Dumi wrote the (untested) code for the exploring round. John made some progress on building the robot. It seems like we're having a productive day.

January 18th

Team Mood: no comment

Music: no comment

7:15pm

We failed to check off once again, but we are getting closer. Our robot currently has no wall avoidance. We will work on that tomorrow. Other than that, the ball lineup and attack seems to work, and the wandering is adequate to discover new rooms. If we can just avoid bumping into walls, we should be able to grab a ball.

6:44pm

Progress is finally going forward instead of backward again. Dumi and Matt have been tweaking the strategy code to do a little wandering and then try to drive over a ball. It's looking pretty good so far, and they are going to try it with different arrangements of the ball on the course. For the initial arrangement they tried, it worked well (and the ball was obstructed).

4:06pm

Matt is in lab by himself (again). He has tried to fix a few more bugs. He's going to test the Checkpoint #2 code in a little while. He thinks that it should work at this point, except that the wandering algorithm is not very interesting and might not find new rooms. However, it should be good enough to find an obstructed ball that is actually in the same room.

Then again, we have thought that the Checkpoint #2 code was close for quite a while, but it hasn't happened. It seems like barely a step up from Checkpoint #1, but we have had all kinds of problems with it. It has been very frustrating.

January 17th

Team Mood: Under the weather

Music: Matt's head banging against the desk

6:20pm

We weren't so productive today. We are still working on Checkpoint #2. We fixed some old bugs that kept popping up, but we are still quite far from the checkpoint. We'll continue tomorrow.

4:29pm

Matt has been in lab working on some of the bugs that were mentioned yesterday. In particular, the robot control class had some new stuff pop up. Moving backwards had also never been tested. It has all been fixed now, and should operate properly. This shouldn't cause us any more problems in the future.

John came briefly to measure a few things. He has gone back home to continue modeling the final design on his fancy computer programs. He plans to have it finished tonight, so that he can begin cutting the materials tomorrow. The rest of the team is hoping that the final structure will be finished by the end of the week.

Dumi has attempted to implement some methods to determine distance and angle from a camera capture. He hasn't tested these methods yet though, so we will not use them as we continue to try for the checkpoint.

January 16th

Team Mood: Depressed

Music: None

4:17pm

Dumi and Matt have been trying for a while to make the robot chase a red ball, but haven't been very successful. Random bugs popped up in different places for no reason (even in code that we tested before). Anyway, we'll continue working on this tomorrow. We wish we didn't show up to the lab at all today.

January 14th

Team Mood: Interested

Music: Weird french words spoken by the members of the nearby team

7:31pm

Mike is dropping the class, so we thought we should update our team picture:

John: Oh my God, they've killed Mike!
Matt: You bastards!

team5_updated.jpg

6:11pm

The Sh*tBot turned out to be a big failure. It was not much of a surprise to any of us. The aluminum runners didn't work at all. We are glad, however, that we learned our lesson and we will definitely make sure that no part of the final bot touches the ground. Consequently, we did not hit the checkpoint today. We think our code was good enough to work, with a little more testing. However, the state of our machinery didn't allow testing without us getting really angry and wanting to stomp on it.

We are thinking we will probably reassemble the pegbot in order to make the checkpoint. John is away for the weekend but plans to start construction of the final structure next week. He said that he wouldn't even work desk for the whole week, just so that he could focus on the bot and on losing more money in poker. Matt and Dumi are going home after a long week full of many highs and even more lows!

5:57pm

Last test of our Sh*tBot v1.0, then we're going home to burn it. After all, it's Friday night. F*$& work on Friday night!

5:13pm

Dumi is unhappy: he realized that the smaller the resolution of a frame is, the crappier his bar code detection code is, and the larger the resolution is, the slower the entire image processing is. :( So we'll probably stick with the 160 x 120 resolution and hope that somehow we'll be able to detect the bar codes correctly (we dont know yet how we're gonna do it).

1:49pm

Matt is in lab doing some odds and ends. John came earlier and made a pair of small aluminum runners for the front of the robot. Our prototype will not have front wheels, but will slide around on aluminum. Yes, it's crappy. But we already knew that. Hopefully the final will look nothing at all like the prototype.

Dumi hasn't gotten here yet, but as soon as he does, we'll start trying to get the robot to capture a ball. I'm fairly confident that we can get that done by a reasonable hour this afternoon.

January 13th

Team Mood: Lonely

Music: Silence

5:19pm

It has been another fairly productive day. Dumi has been working on his image processing code some more. Matt got the driving to an acceptable level of accuracy. It doesn't drive pretty though. John compared it to the drunk uncle who crashes your car after drinking too much on the holiday family visit.

John has been trying to finish up the prototype. After a little bit of panic by Dumi and Matt earlier today, it does look like we'll have something that will be able to pick up a ball or two by tomorrow.

2:47pm

Matt, Dumi, and John are all in lab now. Matt has finshed testing the encoders and will manually calibrate them when he has a chance. John is trying to complete the prototype chassis so that we have something to use tomorrow. Dumi is still working on the image processing code.

12:53pm

Matt has arrived in lab! The rest of the team is not here yet. Dumi was awake, but is probably coding at home. John is out shopping... for robot parts... maybe.

January 12th

Team Mood: A little sad

Music: Get well music for John

7:04pm

My new quick hack for detecting the order of squares on the bar codes didnt work very well (we still have a few bar codes that are left out). But I believe I know a way to fix this, and hopefully will do it by tomorrow. Now Matt and I are going home.

6:46pm

Matt and Dumi are going to head home soon. Matt tested some elements of the robot control that required encoders without first testing that the encoders worked. That was pretty silly. He's going to write some test cases to determine how well the encoders actually work tonight, and then go from there.

Dumi has been working hard at fixing the image processing to pick up barcodes. He is giving it one last quick test and then we'll be finished for the day. All in all it was a fairly productive day. However, the team is getting very concerned about the hardware, which is not in good shape right now. The prototype chassis is almost useless right now. The paddle wheel showed potential, but now doesn't work at all. We'll have to really work hard at it to put something together by the end of the week. Some redesign might be necessary, and we might have to ditch the idea of building a complete prototype robot and just start work on the final.

5:56pm

Matt and Dumi have been testing the image processing on the playing field. We put all kinds of objects in the frame, and it worked pretty well. However, there are still some issues with picking barcodes. Sometimes they mysteriously do not show up. We're hoping it's just a problem with the HSV values that we've set for green and black. On the plus side, the image processor is running at a robust 75 milliseconds per frame.

Matt has finished up with the encoders and is ready to test the robot control class. The robot's services are currently required for further image processing testing, but as soon as it becomes available, Matt will take it out for a spin and see how it works. Rotating was fairly accurate yesterday, with accuracy limited only by the enormous drift on the gyro. Still, it was good for 45 and even 90 degrees (not too good for a 360 spin though). Today we'll test whether it can move a requested distance and then stop.

5:26pm

Dumi found a fix for our image processing that has sped it up to less than one tenth of a second. We are going to test it on the playing field to see how it performs with lots of different objects in the frame. We're really excited, because in the past couple of days we have been somewhat worried about the speed of our processing. When we first tried it, it took 3 seconds to process an image. Yesterday Dumi got it down to 4 tenths, and today it's below one tenth.

4:36pm

John isn't feeling too good today. Dumi and Matt are working alone in lab. So far it has been fairly productive despite a late start. We have finally wired together our encoders. For a while we weren't sure whether we'd end up using them, thinking we might use vision to correct our driving. When we realized how long image processing can take, we decided that we at least needed to be able to drive fast in a straight line, and that the encoders could make sure we would be able to do that.

Using the gyro, the team has discovered that turning less than 90 degrees can be fairly accurate. Matt's next task is to finish putting together the encoder systems and then test whether the robot can drive set distances.

Dumi is currently attempting to discover the angle of view of the camera as precisely as possible. This information will help us with many things, such as lining up objects in the center of the screen (without having to do too many visual corrections) and also finding the distance to objects.

January 11th

Team Mood: Busy!

Music: Keys are crackling, bringing plenty of new code

5:35pm

Dumi finished optimizing the image processing code. It's still somewhat slow (~0.4 seconds to process a frame on the robot), but it seems to be very robust and does a full analysis of the frame. Now the plan is to fully process every 10th frame (or so), and quick-process the other 9 frames, using the information we get from the fully processed frame. Sounds good in theory, doesnt it? :)

4:15pm

The team has been in lab for quite a while, working away at different things. Dumi has been trying to further optimize his image processing code. He is currently working on sampling the image to reduce the amount of processing necessary. Matt is working on robot control, and John has been busy at work on the mechanical prototype.

Things are going pretty well. Team chemistry has hit a new high, as John has been thoughtful about his past bad behavior and is spreading the love. Without Mike the team is never complete, but most team members have been able to bravely work through his absence.

January 10th

Team Mood: Somber

Music: A horror movie soundtrack would be appropriate

6:45pm

Dumi and Matt are going home! Dumi thinks that the image processing code will be very functional and somewhat optimized by tomorrow morning. Matt has started working on the robot controller. Tonight our team members will lose some more money to card sharks (like Bert)!

5:35pm

Dumi came to the rescue again. John finished the paddle wheel and is going to finish mounting it today. Hopefully we will be able to transfer everything onto the prototype chassis tomorrow. We can then start more rigorous testing of the properties of our mechanical design.

2:32pm

John and Matt are in lab right now after a long night. John is preparing to construct the paddle wheel for ball collection on our prototype. Matt is trying to figure out what the *#%@^ is wrong with the robot computer/camera everything. He's worried that something bad has happened.

January 7th

Team mood: High spirits

Music: Saws and motors from the Maslab workshop

6:35pm

It has been a frustrating day in the image department. Code that was working yesterday has suddenly stopped working, and we can't really continue until HSV conversion gets fixed. Dumi wrote a converter which should be useful for testing image processing code, but anything that we need to do on the robot while moving won't work because the converter is too slow.

We tried one last time, and we aren't even taking pictures anymore. There seems to be some problem with our camera. Overall a very frustrating day. We'll start over tomorrow.

We are starting cleanup and will leave soon probably.

6:05pm

Dumi wrote a RGB -> HSV conversion function that seems to work (although it's not very fast). He found out that his image processing code is buggy (obviously), but since it's 6pm+ on a Friday night, he feels lazy so he doesnt want to start debugging it now. Maybe he'll do it later tonight (if he's not too wasted) or tomorrow.

5:21pm

The team had a strategy meeting and came up with some ideas for a prototype robot. John is going to start work on building it. It will have a recessed paddle that will push balls into a ground-level storing area. Eventually, the goal is to have a storing area on top of the robot that will be able to easily dump balls down into the goals. We decided that we wanted to avoid using any type of gripper or lifter on the front of the robot because of the accuracy requirements and the amount of time it would take to collect a single ball.

Also, we've talked a bit about our strategy during the exploring round and scoring rounds. We're still not sure what we want to do, but we really like the feedback-based behavior model. We'll do some work and maybe start testing different things when we have a prototype.

12:38pm

Dumi just woke up. It seems like the maslab.jar file hasn't been modified yet so he's angry he can't test his image processing code.

January 6th

Team Mood: Quiet, with a sprinkle of Thoughtful

Music: John's headphones again

8:25pm

Damn it! Cannot test my code, because of a ClassCastException in maslab.camera.Camera.rgbToHsv(). Hopefully the staff will fix this soon or give me a work around...

7:11pm

I (Dumi) showed up to the lab a few hours ago and added a few more hacks to the Matt's hacky code. We showed a staff member that the robot can find a ball and went home. On our way back, we talked a little bit about what our robot should do in the exploring round.

4:25pm

John has made quite a bit of progress with the prototype. He is building a pair of arms that will sweep balls up a ramp. Matt is still working on chasing a red ball, but he's not that good at it. Dumi has finished a lot of his image processing code and is currently debugging it. Lab was a little bit uneventful today. John is about to leave and Matt is close to giving up for the day.

3:29pm

John and Matt have been hard at work in lab. John has been constructing a prototype base with some sweepers, so that we can test the usefulness of different mechanical systems for grabbing balls. Matt has been working on getting the robot to drive towards red balls. So far, it drives towards them slowly and only if they are directly in front of it.

Dumi is currently at home base (Senior House) writing code for image processing. He is working on locating balls, goals and barcodes in images.

January 5th

Team Mood: Sleepy

Music: None

6:33pm

Last team member is leaving lab. Tomorrow we'll work on ball recognition and experiment with ultrasound and the gyro. We'll also start getting our robot to drive towards a ball.

5:15pm

Matt and John are still in lab working on various things. We've soldered together an ultrasound sensor for testing. However, we do not think we are likely to use it on the final robot. Also, we are currently finishing assembly on our encoders, so that we can begin testing feedback on robot movement. Matt is coding up some short tests to use for playing around with the different sensors currently on the robot.

3:59pm

We checked out our stuff. I'm happy.

3:53pm

I think we're finally done with this task. I'm still a little pissed off it took us so long (mostly because of that USB port and the inability to hold the bars exactly straight), but I guess I'm mostly happy I'll be able to go home soon and work on image processing... or should I watch more Southpark episodes?

2:32pm

Dumi and Matt took the computer apart and made a bigger space in the box for the USB cables to fit through. John has acquired some sensors to play around with. We have now uploaded the code and will attempt to recognize how many green squares are on a barcode. We'll save the more complicated task of figuring out the order of green and black squares for later.

2:02pm

Matt brought the robot. We have the first version of the program and the robot seems to be running fine, but we cannot test it yet, because one of our USB ports is blocked and we need both of them. :( Hopefully, we'll fix this soon and there's won't be much to debug in the program.

1:27pm

I'm starting working on the bar code recognition. The goal is to finish it before Matt comes. Then we can plug our camera, get everything working and go home. Hopefully, this stuff shouldn't take more than an hour.

January 4th

Team Mood: Pensive and slightly low energy

Music: Rap overflow from John's headphones

6:18pm

Why not? I know there are signs, but I doubt somebody will complain... people seem too polite here. :)

Anyway, Matt and I finally finished calibrating the IR sensor and we got some decent results. So we're going home now, and we'll resume the work tomorrow. Hopefully I, John and Mike will be as pumped up about it as Matt was today.

5:09pm

John has returned to his desk job, but does not lose sight of the MASLab goal. He is making solid models of the motors, servo, and a possible servo driven rotation device for the IR sensor.

John has also decided to order food... maybe Wing-It or Chicago's. Too bad people in lab can't order out.

4:16pm

John is getting info on our possible motor and servos to evaluate their usefulness

Futaba - S3003 Torq/Spd 4.8V Torq/Spd 6.0V Bearing Size Weight oz. 44/.23 57/.19 Top 1.6 x 0.8 x 1.4 1.30

Couldn't find much other stuff.... units above are probably oz.inches and rpm???

Note: John is a big dork.

4:05pm

The team is currently in stagnation mode. We have been trying to get the IP address out of the computer, but have been unsuccessful. As soon as we have the IP, we'll be able to load up Dumi's code, and hopefully the robot will then perform as specified in the staff's goals for today.

3:42pm

Everyone showed up after a long lunch break. Mike brought Gooseberry's and his laptop. John helped Matt finish the soldering and Dumi is done with the motion code. Should be out of here pretty soon.

3:05pm

Three fourths of Team Five is currently missing. Matt is attempting to solder a short range IR sensor together. He is sad about having to go it alone, but was too pumped up to join the others for coffee.

January 3rd

Team Mood: Equal parts Enthusiasm and Optimism

Music: None, but someone is watching Seinfeld

5:03pm

The team has been hard at work soldering the orcpad and gyro together, continuing work on blue line filtering, and putting together the pegbot and other components. Mike has left lab, which has resulted in a few tears shed by some of the weaker team members. Dumi has gotten the orcpad started up, and the gyro chip is done.

3:29pm

Mike showed up to lab! The rest of the team rejoiced.

3:12pm

Dumi and Matt did some work on the blue line filtering. Matt was rusty at his coding, but Dumi came to the rescue!

John is currently attempting to assemble the small orcpad without a soldering iron. He has not been very successful.