The rough and unedited 6.270 Journal. Mariano Alvira Team #1. 1/04/2000 Today was the first lecture. This contest will be very interesting. Chijioke and I had a similar reaction to the problem with sorting the different blocks. Our inital ideas is some sorta conveyor belt with a light sensor to distingish between the blocks. Speed is an important issue, Chijioke pointed out that the staircase is probably too slow to be worth getting the two profs on top of it. I am also worried about the speed and reliability of any retirval/sorting/depsiting system that can be made from lego. I proposed the possibility of a bulldozer type approach. Simply running across the top and bottom of the table and depositing the blocks in the opponents jail. Assuming a full and sucessful run (depositing all of the blocks in the opponets jail) across the top of the table, the following scores are possible: Hack : 2 - +6 Prof.: 1 - -9 Total: -3 Stud: 4 - -12 Hack: Stud: 2 - +6 2 - -6 Total: 0 3 - +9 1 - -3 +6 4 - +12 0 - 0 +12 Possible Scores: -15, -9, -3 Stud: 3 - -9 Hack: 1 - +3 Hack: Stud: 1 - +3 3 - -9 Total: -6 2 - +6 2 - -6 0 3 - +9 1 - 0 +9 Possible Scores: -15, -9, 0 Stud: 2 - -3 Hack: 2 - +3 Hack: Stud: 0 - 0 2 - -6 Total: -6 1 - +3 1 - -3 0 2 - +6 0 - 0 +6 Possible Scores: -9, -3, +3 Stud: 1 - -3 Hack: 3 - +9 Hack: Stud: 0 - 0 4 - -12 Total: -12 1 - +3 3 - -9 -6 Possible Scores: -3, +3 Stud: 0 - 0 Hack: 4 - +12 Hack: Stud: 0 - 0 4 - -12 Total: -12 Possible Scores: -3 All possible scores(instances): -3(3), +3(2), -9(3), -15(2), 0(1) It seems to me, that based on luck alone one could do reasonably well with this technique. However, I don't think it is possible to win. Based on the layout and scoring rules every block can produce the same scoring effect by placeing it in your jail, or the oppents jail. A sorting mechanism would produce consitently better scores every time, but a dumb bulldozer provides base functionallity a decent chance at going far. In other words, a quick chassis that can navigate the board seems like a good place to start. Collisions with other robots might be a navagational problem. 1/05 - 1/07/00 MECHANICAL UPDATE So these last couple days were fun and exiting. I now hate lego's. I hate the sound they make when they snap together, I hate there blueness (yes, all of ours are blue), I hate their 6:5 ratio, I HATE THERE PLASTIC BEING. In other words, we are working on a chaiss design. The most important thing in building any mobile object is that it can move and it can move well. I feel resposive design is essential to robots. It has to move the way we want it to on demand. It cannot be sluggish, tip over, or get caught on things when it turns. Hence my frustration. I have experimented with some chassis design. My first experiment was with a cart that had indpendant shock absorbers. This chassis was remarkably good at rolling over things and still go striaght. We could easily push it from one jail to the other by rolling over the steps. It had over one inch clearance, allowing us to roll over blocks as well without distubing them. It was also pretty easy to roll over the wall. This could be bad. It was very small and didn't have much room to mount motors or gears. The suspension also bottomed out with about 5 hawker cells, which effectivly defeats the purpose of suspension. Currently I'm working on a chassis that will allow multiple motors to be attached to the same wheel, and gear room for a small gear ratio, maybe as small as 27:1 or even 9:1. I am hesitant to play with motors and such until we have a controller board to goof around with. We are planning on envoking tank style sterring, prbably only the back wheels will be powered, but I could power the front wheels with a drive chain...hmmm.. STRATEGIC UPDATE This table is messed up. There are many ways to score big, but no way to score all of the possible points. Pushing profs into the oppents jail gives you the largest net score rise, but its highly risky to do since you are putting profs on there campus where they could give they opponent points. Of course you could also develop a very sophisticated lego contraption to retrieve, sort, and then reject or save blocks. If succesful, this would also yeild many points. A contraption like this is far beyond what I feel like building out of lego in this time frame. It can definatly be done. But this stratagey has a serious tactical flaw which I will elaborate on later. I feel the two "easy hackers" are a red herring. A collection method requires a collection device which is far from easy. I don't put to much stock in relying on a bulldozer to push a block anywhere except out of the way. The friction on the table is very hard and the blocks jump when shoved. Regardless, time is of the essence. This blocks only give you 8 points for traversing 10 ft. and turning twice. An attack robot could easily stop your before you get the first block back. You could also push profs onto your side and get some points. This is very easy to do to the two profs in the middle, by driving bettween them and then flipping arms back to knock them onto campus. Then there is the attack bot, who scores so points quickly, then proceeds to bash his opponent. This robot as the advantage that it stops the opponent from scoring. It would be easy to program, and there is no reason why it couldn't always carry out its task (unless it ran off the table). The trick is scoring quickly and stopping them from scoring, but if you make the right chassis this should be attainable. Its kinda like a game of paper/rock/scissors. Its sorters/profs/attackers. Attacker vs. Sorter Attacker wins. Assuming the attacker is much faster than the Sorter the attacker wins since it succedes in imobilizing the sorter while it still containes hacker and students. Attacker vs. Prof Prof pushes to opponents jail. Draw. They meet in middle and get stuck. Attacker. If its slightly faster and scores a point somehow. Attacker. The Prof is much faster, but not fast enough to get to the jail in time. Prof. If the prof recovers the profs faster and deposits before the attack gets to him Attacker vs. Attacker May the faster on win. Prof vs. Sorter. Prof pushes to jail. Prof. Sorters will be slow. And a prof pusher is gonna offset any score the sorter could get. Prof collects to his campus Sorter. 12 points will not beat 24. So what is the moral of the story? Build a damn fast robot that can pickup a few points along the way to its march of terror. It also should get the crowd into it so they think you win even if you don't. One way to do this is to include a voince IC and loudspeaker that said all kinds of cool things. DESIGN UPDATE. Lots of motor. Good mobility. Shaft encoders. IR sensors. Thats pretty much what it comes down to. I am contemplating the fesability of a compass sensor. It would be really usefull for a robot to know what direction it was facing relative to North.... 1/08/00 Lego frustration wearing off. Break taken, no work done. 1/09/00 I have attempted to install JDK on my Athenized Linux machine. ver 1.1.8 had some problems, I kept getting Seg Faults. Java in the java lacker doesn't work either. I'm going to DL 1.1.6 and see if that works. Tonight we will be working at Senior House, hopefully we will finalize a chassis design. 1/10/00 The back half of the chassis is complete. It features the thin n' wide tires in a dual configuration. The gear ratio is 27:1. There is enough spacce to mount four motors per wheel. The structure is well braced and I'm very confident this will be our final chassis. 1/11/00 The front half is completed. A very sturdy platform is made to hold the microcontroller and a pivoting wheel mounted to a servo. We are using fat n' think tires for the steering wheels. They are mounted on separate axles to provide nice pivoting. The sturucture is well braced overall, the axles don't spin as well as I would like. But I'll finish that later. 1/12/00 Attempted to get Java to work. Failed. 1/13/00 Chijioke and I discussed several features of the chassis. We decided that it was good and produced a battle plan for the next things to do. Next is to mount the motors, servos, and buldozer this weekend and hava a fully functional mechanical design by the time the microcontrollers come Mon. I produced a whip for the profersors that will probably work to hit them back onto our campus. Its hard to say until I mount a chain to a motor and see how it spins. Our robot is almost 12" wide, so where we mount these whips might be a slight problem. We shall see. I java 1.1.6 to work. This is a good thing. I'll start brushing up on my Java soon. 1/14/00 Chijioke and I went to the lab. We mount 8 cog gears to our 8 motors. I spent the majority of the time bracing our chassis here and there to get the axles to spin perfectly. One still spins better than the other, but they spin so well now it doesn't matter much. Chijoke gathered a lot of intelligence from the other teams. One team is basically doing what we are doing, except they stop on the hill to grab the profs and push them striaght into the opponetns jail. Our robot will destroy this one. 1/15/00 Today the spaces for the eight motors were dremmled out of the lego. We also contemplated bulldozer designs and prototyped and attach device. Currently we are thinking of using shock absobers to keep the bulldozer down and have it wheeled so it can go up the steps. We are missing the metal connector for our serial cable. We could not assemble this. We decided on a schedual for the next week or so. Sun. 16 - Robot will move Solder everything Mount batteries Construct and mount ramp. Mon. 17 - connect everything (sensors, motor, microcontroller). finish ramp. finsih everything structural. produce some general code. Tue. 18 - Coding Wed. 19 - Coding Thur. 20 - Mon. 24 Debugging In short, two days to finish everything structural, two days to generate the code, and four days to make it work. Ugh. 1/16/00 Lots of stuff got done today. We are working right on schedual. Motors mounted. Awwwwwww yeah. Four motors per wheel, Massive power attianed. Each tested with a 6 volt power supply, all spin well. This baby is gonna burn. (Thats a technical term) Serial cable assembled. Adjusted turntable to allow servo to be mounted on the underside to leave room for the batteries. Mounting tiles and 24 cog gear mounted to the servo. The actual mounting of the servo to The People's Champ will be done tomarrow. We decided that the batteries will be shrink wrapped standing in a row and will lie down underneath the microcontroller. A shelf for the controller needs to be built. The mounting assembly and shape of the bulldozer has been finalized. In order to fit into the size requirement the bulldozer starts raised, and falls into place with a jerk of the motors. A "shopping cart" wheel will be placed in the front of the bulldozer to allow it to clear the steps and to turn freely. A prototype buldozer has been fashioned out of cardboard. The real one will be made from the base plate, reinforced with angle irons. The assembly has been described as a cone of death, hell spawn, demon robot, etc... Everyone who has seen it really likes it. Tomarrow the following will be accomplished. Mount Servo Assemble and mount batteries Mount controller board (above battery bay) Produce and mount IR array Contstruct and mount bulldozer Test and mount whips and that should be a complete robot. (except for the whole code part) 1/19/00 I have a wholoe slew of dirty words to say to whoever is responsible for this whole controller board snafu. Look, the concept for this contest kicks. Its a shame that this whole thing has become a completly mismanaged mass of lego's, people, and two types of late controller boards. I'm real disapointed that this has turned out to be very little fun at all. I don't appretiate the little commentary, the know it all opinions, nor the complete lack of responiblitiy you guys take in this contest. It is not our fault we want the boards you promised. Your job is to run the contest and to provide the parts/means for participating in the contest. Your work has not been completly without merit. But you have only done half of the job. Whenever I create anything, I ask what kind of job I am doing. My answer better be good. If its not, I fix it. You need to do the same. I would would do everything in my power to make sure that this did not happen agian. I'm so disillusioned right now I can't even think stright. ugh. whats the point of even trying now... the only one I can think of is that I finish what I start, and I do my best at all times. I hope that next years contestants will never feel like this. 1/21/00 Okay. Now that the controller board ordeal is over we can get back to work. We are using the Foo board. The motor wiring is fine, and the axles spin well. The Champ has a lot of power and moves at a controlable speed. One problem which has just come up is that The Champ is very top heavy, he may tip over when he goes up the steps. We will have to fix this, probably by moving the batteries some place else. I have managed to lose the supplies for the bulldozer twince now. I'll probably have to buy another set. The whips seem like they are going to work fine. I have assembled the battery charger and IR beacon. Today, hopefully, we will finish all assembly, so we can get to coding this beast. We have already started some code..... 1/22/00 I'm sick of this contest. I shouldn't be having to test chassis NOW... I should've had a controller board weeks ago to test... After I seriouly considered leaving my box full of parts in the lab and never returning, we have decided to at least qualify. Thats all we can hope for at this stage in the game. In case you are wondering, the robot we have worked on is now completly disassembled. Our current plan is to rebuild something that moves and hope for the best from there. We would like to still implement the bulldozer and the whips, but at this point I can't be to sure of my sainity. One thing is for sure, somebody is going to get an email about this. I just need to figure out who. 1/26/00 So allow me to recap the last 4 days. Chijioke has built this beatuiful chassis. It has two gear chains per wheel. We can run it at 135:1 or 27:1. Currently I am working on the code to accerate at 135:1 then switch to 27:1. I'm not sure if I will get that done in time for the contest. The chassis also features a removed IR beacon and batter station. After orientation The People's Champion drives away from its beacon and battery pack. Leaving IR followers bewildered and releasing us from the Hawker's wieght. To score we are flipping back profs with our whips. Then we are driving to the opponets jail and whipping anything in it out. We hope to run into the opponet at this time. We stil have to qualified. We are going to do that befoe impounding tonight. I have the code written for calibration, starting, and determining our orientation. This set of code has been thoughly tested and debugged. The original code was pretty good. Only minor changes had to be made. The incomplete code is the code for moving around. What needs to be done is turn calibration and drive stright calibration. Certiain times need to be hard-coded in to get the motion correct. This is the bulk that needs to be completed. As far as hardware, we simply need to attach the IR beacon, and permently attach the whips. Other note: Tues, 2 p.m. I passed out due to exhuastion. I had been up since Sun 5 p.m. and complete much code. If you do the math I had been awake for 45 hours. Sleep dep. sucks. I was shaking and lost most control around 2:30. During that half hour between 2 and 2:30 I had managed to walk home, notify several people about my state and arranged for them to check up on me. I had also called my parents. My Dad is a doctor and he helped me a lot. I woke up this morning with a slight headache and a little weakness. I feel a little jittery. I hava hockey at 1 pm till 3. After that I'm going to the lab and we are going to qualify. 1/28/00 So the contest is over now. We never qualified. The winner is King Louie, a robot who used arms to pull back the profs everytime. Its too bad we didn't get the Champ ready in time, we had a good complement stratagy to King Louie. Overall the contest was okay. Very tiring though, and perhaps more effort at the end than what it was worth. Some parts were fun, others were not. The best description I came up with was a rating of medium fun with a huge standard deviation. The Champ is still a great robot, even if it never worked. I'm very proud of it. For some reason, I keep think to myself what you guys told us about debegging time. Remeber, "Take the time you think you'll need for debugging and triple it.". I'm just wondering if you followed your own advice or not. Regardless, you made it impossible for us to do that. I think there are very few people who can say "Our robot worked the way it was suppose to." so it goes.