Logs

Team 29  
  6.270 Autonomous Robot Competition 2002  
Where To?  
Main
The Robot
Photos
 - prototyping
 - building
 - final robot
 - in action
 - other teams
 - us
Logs


 January 31st   
 Contributed by: buddhika

logCOMPETITION DAY!

We picked up the robot in the morning and had a close to perfect run in our second round. However, due to a loose peg one of our blocking carts fell as we hit the ridge.

In the evening, in the third round we had a dream run. The crowd reaction was awesome and it was nice to see our robot work the way it was supposed to in front of the audience! :)

Unfortunately, luck wasn't with us. In the fourth round we did get two balls in and mounted the ridge but couldn't travel the ridge. We were perplexed by this, and found out a while later that the new paint on the board had thickened the ridge and our robot was now getting stuck on the ridge. Luckily the other robot failed and we still won he match - but we were worried now...

We asked the organizers to run us on the table we knew we worked on because of the table configuration changing, and while we did run on that table in the next round we ran on the other side - and as luck would have it that side also had the paint problem! So again we couldn't travel the ridge and ended up losing that round. So, that was the end of our run in the competition.

However, we had a pleasant surprise waiting for us when the organizers picked our robot for the "organizers favorite award"! It was a gag gift in the form of a huge KFC Bucket with a 5 dollar gift certificate in it :) But we were content.

All in all we are happy :)

 


 January 30th   
 Contributed by: buddhika

logToday we just kept running our robot all day long. Until impounding thats all we did. And we had perfect runs most of the time, and the only imperfections involved being unable to block our own goal. We also did all the admin stuff in the afternoon, prepared the second battery. Performed code review and made minor changes in our caliberation code and just ran it.

When impounding came, we were pretty confident we had done a good job and it would run as long as no more wierd things happened!

 


 January 29th   
 Contributed by: buddhika

logWe got into lab very early today! A good nights rest helped us.

We spent the whole morning testing out different positions for our breakbeam sensors and also doing some ultra paranoid shielding of our sensors. Our final version for this was approved by Jan and so eventough we still failed when we shone a lamp ultra close to the bot - we moved on.

We added in our error correction code today. Basically we found different cases where we could fail and wrote code that could possibly work in fixing the problems. All the runs we had that day were always good in the sense that we deployed. But we were worried by the fact that we saw the error correction code coming into play too often. However, We did get to see the error correction code actually working and that probably positive.

We re-caliberated turns and tried to make our straights go straight. But, we were having wierd issues with both of these and ultimately decided that any corrections we made didn't fix things sufficiently and stuck with out old configurations.

Tommorrow is IMPOUNDING day!

 


 January 27th   
  Contributed by: buddhika

logIn the morning we ran a few runs and felt we were running on the ridge fine. Thereafter we were concerned about lining up properly on the board center so that we could deploy our blocking cart effectively.

We also added a timeout for the case where we might have had problems picking up the first ball. And thereafter we added in code to detect if we were in danger of being too close to the wall when hitting the ridge, and make a correction for it.

We started trying to use the plexiglass in the center to align ourselves. But we couldn't align ourselves properly. However, we did deploy once and had a perfect run. Neil B. saw it and so did a few other teams. Neil B. was quite impressed by it and told us that the other teams were worried.

Finally, we tried putting on some masking tape on the castor to reduce the friction coefficient. We lined up a lot better now. But we still had a few failures in deployment. So, we changed the carts and made them smaller. Sean was trying to figure out how the small carts could block balls, but then Steve realised that the chutes wouldn't take in the carts so we could effective block the chutes and that was good enough for us!

 


 January 26th   
 Contributed by: buddhika

logWe spent the entire day working on runnign on the ridge. We kept fine tuning the part on our robot that actually caught and rode the ridge - a lot of effort was put in controlling the friction exerted on the robot. We also noticed that the bad runs last night might be caused by the board being somewhat slanted against us and also due to our motors stalling for too long and overheating the control chips.

Later in the night, we took part in the mock competition. We got two balls in, but lost because the other robot was fortunate to accidently get a ball in our goal. Ofcourse we couldn't block anything yet since we didn't have code to perform that function.

We spent the post "Mock Competition" time working on the ridge trying to fix it up more. We also wrote in the symmetric code for running the white side.

 


 Janaury 25th   
 Contributed by: buddhika

logToday assignment 4 was due. So we worked on writing up code and testing our robot to work in such a manner that we could show that we could score points during a game - this was the requirement for assignment 4.

We spent much of the day perfecting our two ball pickup and orientation code and managed to convince Manu that it worked that night - we were one of the few teams to qualify with more than one ball being scored!

Thereafter, we went on caliberating our robot and fine tuned our straight runs. We changed the shaft encoding somewhat. We also added "ski's" on the front of the robot so it could glide on the ridge effectively. We also started adding code to run on the ridge on the black side. We noticed that the ridge runs were slow.

 


 January 24th   
 Contributed by: buddhika

logThe sensors were mounted today. We also started caliberating turns - and we noticed that our rubber bands kept coming off. We tried hot gluing the rubber bands but it didn't work all that great.

Figuring we couldn't do rubber bands, we decided to try tyres on the robot - Sean had to re-change our robot structure to accomodate the tyres.

That night after putting in the tyres we re-caliberated turns for the tyres.

 


 January 23rd   
  Contributed by: buddhika

logToday when we came into lab we had rebuilt the entire front portion of our robot which held the tether. However, upon making a few runs we realised that the robot structure was weak against hitting the ridge and that we had lego pegs coming out on impact.

So, we rebuilt the structure again and made it stronger - this involved redoing the work we had done the night before in building our tether holder and cart holders.

We were finally happy with the structure we had - and it had noticeably less flex in it. We also made a cable for the break beam sensors and tested them. Initially we thought there was a problem with one of the ports used for shaft encoding. But discovered that it was a peculiarity of the HandyBoard and if we restarted IC we would work fine.

We also wired and prepared all our sensors for mounting today. However, we didn't go ahead and mount them yet.

 


 January 22nd   
  Contributed by: buddhika

logOoops! We went into the 001 lab and it didn't work! So, our release mechanism failed during testing on the board. We found out that the release mechanism is actually quite sensitive: both to board alignment and the angle. The actual release worked but the deployment was flawed and we didn't block the two goals consistently.

We spent the entire day, deploying and re-deploying looking for the flaws in our design and little by little managed to improve it until we were convinced we could make this part of our robot work.

Deciding we needed a break, we left lab early and went out to watch "Black Hawk Down".

 

 January 21st   
 Contributed by: buddhika

logToday is Martin Luther King day and therefore the labs were closed. Steve's room was our workspace and Sean did a great deal of improvements on our bracings. We also worked on the cart holders and release mechanisms. We had to use a rubber band to implement our release mechanism. The gearbox just couldn't handle the force exerted by the carts. Tomorrow we're gonna check it out in lab - hope it works.. hope it works!

 


 January 20th   
  Contributed by: buddhika

logWe went into lab again today. Found out that our robot's weight wasn't balanced quite right to do ridge following. Essentially the robot's wheels kept slipping at alarming rates as it tried to ride the ridge. Sice this wasn't too good for our strategy we set out to to find and fix the problem.

The problem occurred due to the weight not being sufficiently high on the portion outside the trough. This meant that the wheels weren't being forced on to the board and so had the opportunity to slip. We decided the best way to counter this was to add more weight on the wheel and did so by mounting a battery cells each on the wheel areas. Thereafter we went on to mount the handy board and the other battery in a manner we felt was most efficient. It helped us lower our center of gravity and reduce the likelihood of tipping over as well.

 


 January 19th   
  Contributed by: buddhika

logToday was a very productive and ego boosting day. After finally waking up and getting to work around noon. We managed to build a mirror image of our new wheel/gearbox design and mount the new driving mechanisms on.

Then we headed into lab. Firstly, we found we had really good speed now. Secondly, our ridge following worked really well since we had the torque needed to get over the initial static friction.

Then we tested it on catching the ridge and riding it. Both worked well. Finally, we placed the balls as they would be in the ideal situation when we had picked up one ball and were going to know over the other. We ran the robot such that it would put both those balls in the chute and race along the ridge towards the center.

It WORKED! So, we're psyched. But we still need to figure out how to get the second ball inside the robot. Sean's thining about it tonight... hope he comes up with something good!

 


 January 18th   
  Contributed by: buddhika

logSo its the big day. We went into lab and tested out the basic robot we had. It has most of our critical functionality in it so we were excited.

Unfortunately we didn't see the kind of speeds we were envisioning. However, we did go on to put in some sensors and satisfy Manu that we had met the requirements for Assignment 3 - we had our robot drive up to a wall, detect collision with it, back up and make a turn.

However, during our own testing we had problems with speed and ridge following which are critical to our strategy. After much discussion we decided to try and mount a second motor and reduce the number of gears we have.

We spent most of the evening at Steve's place working on new gearboxes. After much playing around we finally go tsomething we liked. A gearbox with 2 motors and a 1:27 ratio with fewer gears than we had before. It seemed to run smooth so we hoped it would work well.

We worked so late, we had to get to IHOP to find food! So, now we're looking forward to getting the new design working tomorrow!

 


 January 17th   
 Contributed by: buddhika

logToday we spent the time focusing on building good gear boxes at a 27:1 ratio. After fiddling around most of the day we built one that seemed good. Steve also managed to mount our Servos in a stable manner. Tomorrow we'll test it out in lab and also do the needful to complete assignment 3.

 


 January 16th   
  Contributed by: buddhika

logToday, Steve and Sean spoke to the TA's and discussed the legalities of cutting up the base plate so that we could use it as a tether for our "blocking carts". After receiving their blessing they went ahead and cut up the board. They also drilled hole so now we can connect up the pieces to make a tether using the gray pegs. The tethers seem to work much better than the ones we had previously using LEGO beams. We spend the evening working on a 1:27 gear box that would fit the dimensions we wanted and still ran smoothly. Tomorrow we'll put those gearboxes in with the wheels and mount the servos to get the complete base of our robot.

 


 January 15th   
 Contributed by: buddhika

logToday we devoted our entire time to prototyping different gearboxes and gear ratios. We ran the test-bots on Steve's kitchen floor and had great fun measuring the distance they covered in 2 seconds. As expected we found a rise in this distance as we increased the gear ratio and then a decrease. We selected the peak in this trend:27 to be our gear ratio. We also built a prototype "release" mechanism for the blocking carts. Seems workable using a motor and making it stall. Dunno if thats such a great idea. But the prototype does achieve the task we envisioned. We, now have 3 days to use the knowledge we came up with in the last two days to build our robot sufficiently far that we can meet the third assignment requirements on Friday.

 


 January 14th   
 Contributed by: buddhika

logToday we got down to some "real" work. We built a prototype for the "Cart" that we wanted to use to block the chutes. Our initial prototypes and tests on this proved promising. Next, Sean built a base on which to do some Gearbox testing so we could find an optimal ratio. These two activities took up most of our time. We also made a trip to the lab to test the feasibility of "ridge following": where we would move across the board to its center by following the ridge. Riding off the board completely and catching the ridge while doing so proved to be a highly reliable excercise. Our new strategy is looking promising!

 


 January 12th and 13th   
  Contributed by: buddhika

logWe didn't work much this weekend. Decided to "take a break". The wisdom of that decision will be apparent in the days to come. However, we did meet up a few times briefly and took those opportunities to discuss some ideas we had come up with on our own. We want to do some prototyping of these ideas to test their feasibility on Monday and Tuesday.

Meanwhile, we seem like we are set on the strategy of getting 2 balls, then running to the middle to release blocking carts.

We suspect that many other teams might also have the same strategy but hopefully we can carry out our strategy much faster.

 


 January 11th - strategy   
  Contributed by: steven

strategySo.. Buddhika managed to come up with a really nice way to tether a cart with lego and let it roll down the trough and block the goals.

Initially it wasn't working really well but somehow with a lot of luck we managed to make it work pretty well. With this cart we probably won't need to bother with line following or tracking the robot at all. It looks like we can just get our balls in, run to the middle, then block both goals with the cart.

What we are still unsure about is the number of balls we are going to try to enter before proceeding to block. If we just get 1 ball, an opponent will be able to get 2 balls in before our blocking mechanism deploys. If we get in 2 balls, an opponent may be able to get 3 balls in before the blocking mechanism deploys. now.. if we get 1 ball in, we would be able to beat a robot that spends time trying to get 3 balls in... kinda unsure at this point of time.

 

 January 11th   
 Contributed by: buddhika

logOur final lecture was today. More info on sensors and coding tips. Was useful, although the coding part wasn't really new. The sensors actually seem useful AND reliable. We also attended the workshop on gear boxes and motor mounting. So now we can "legoize" motors. We went into lab and "legoized" our motors and picked up the distance sensor - now this is a cool piece of hardware. Also, we tested out a prototype for an idea involving releasing two carts in the trought to fall through and block the two scoring chutes. The tests were promising and we decided to incorporate it into our evoling strategy.

 


 January 10th - strategy   
  Contributed by: steven

strategySo here are the two possible strategies that we presented for our second assignment.

Both strategies started with entering the two closest balls by moving to pick up the ball further from the goal, then ramming the closer ball over the ridge over the goal while dropping the second ball in.

The first strategy involved proceeding to pick up the 3 balls along a line that is not obstructed by the block and then ramming them straight over the ridge and into the trough. This would hopefully secure 5 balls in total and result in a fairly high score.

The second strategy involved getting the first two balls as quickly as possible, then following the line parallel to the trough while tracking and following the opponent robot. This would hopefully prevent the opponent from driving close the the trough and hence scoring any more balls. Assuming that we could get in the first two balls as fast as possible, this should ensure that the opponent gets in at most the same number of balls as us, hence a double win.

 
 January 10th   
  Contributed by: buddhika

logToday we first went for the 3rd workshop which was titled "Code 1: Basic Control and Robot Skills". The excercise they had set up for us involved writing code to make a pre built robot perform line following. Mr.C(han) who was still quite hot on the C skills after 824 made short work of that. Our code worked pretty well and we were done quite quickly. Did help us understand the merits and applications of different censors. Afterwards we went and typed up our strategy in preperation for the meeting with Manu and the 2 Neils. We met with Manu and the two Neils in the evening and went on to explain our strategy. They were OK with it, although it was obvious our strategy wasn't exceptional in any way. (Essentially we were gonna pick up two balls and then follow the other robot trying to block it). Niel B. had some great tips the actual mechanics for the robot. Manu was also very helpful with the strategy and Neil S. also had some useful insights. With the feedback we got in mind, we headed back to discuss our plans further. It became obvious that our strategy would evolve but we felt we had started off well.

 


 January 9th   
  Contributed by: buddhika

logToday we had our second lecture. We're pretty comfortable with the game itself now, and our ideas seem to focus on using both the board and the rules to our advantage. Some pretty whack ideas are being thrown around. We learnt about how to use the Handyboard and a brief overview of the API we needed to control our robot. We also seem to be converging on a strategy which we like. We need to present it tomorrow to Manu and the two Niels (our Organizer and two TA's). So, we talked about it a lot after lecture and decided on a strategy to present.

 


 January 8th  
 Contributed by: buddhika

logToday we spent most of the day discussing potential strategies. Essentially we wanted to try and come up with all possible feasible strategies so that we could pick one which might be likely to succeed more often than not. We also attended Workshop 1 and learnt about Lego assembly and bracing (something I hadn't known about). We had to make a 4" cube which could withstand a 5' drop. Our product survived the first test drop but had minor failures in the following tests.

 


 January 7th   
  Contributed by: buddhika

logToday, we had our first lecture. Sean and I arrived back in the US yesterday and while he didn't have to deal too much with jet lag my sleep cycle seems messed up. We learnt about this year's comeptition and also received our robot kits. Some pretty cool stuff in it. We had an assignment due tomorrow, so we went ahead and completed the assignment back at Steven's place. Also went to lab and got checked off. Feels like this is gonna be one hectic month. Will discuss strategy and pick one in the next few days.

 

 Copyright © 2001 Buddhika Kottahachchi, Sean Lie, Steven Chan