https://maslab.mit.edu/2011/w/index.php?title=Special:NewPages&feed=atom&hideliu=&hidepatrolled=&hidebots=&hideredirs=&limit=20&offset=20110110065956&namespace=0Maslab 2011 - New pages [en]2024-03-29T11:04:00ZFrom Maslab 2011MediaWiki 1.16.0https://maslab.mit.edu/2011/wiki/Team_ElevenTeam Eleven2011-01-09T23:39:29Z<p>Kiarash: </p>
<hr />
<div>[[File:How-to-draw-a-smiley-nerd.jpg]]<br />
<br />
<br />
Team members:<br />
<br />
<br />
Kiarash Adl, William Souillard-Mandar, Tim Robertson, Kristen Anderson</div>Kiarashhttps://maslab.mit.edu/2011/wiki/Team_Eleven/JournalTeam Eleven/Journal2011-01-09T21:46:50Z<p>Kranders: </p>
<hr />
<div>Day 1, Jan 3<br />
<br />
*team gets to know each other better <br />
*thinking about the idea<br />
<br />
Day 2, Jan 4<br />
<br />
*Mechanical design finalized<br />
*Some ideas for AI<br />
<br />
Day 3, Jan 5<br />
<br />
*Robot moves <br />
*working on the design and the code<br />
<br />
Day 4, Jan 6<br />
<br />
*Vision code works<br />
<br />
Day 5, Jan 7<br />
<br />
Day 6, Jan 8<br />
<br />
Day 7, Jan 9<br />
<br />
*Group meeting present: William, Kristen, Kiarash, Gil <br />
*New software architecture<br />
<br />
Jan 13,14,15: Stupid Laser cutter</div>Kiarashhttps://maslab.mit.edu/2011/wiki/Team_Three/AssignmentsTeam Three/Assignments2011-01-09T00:07:16Z<p>Cookies: </p>
<hr />
<div>== Maslab RoBot Build Schedule ==<br />
<br />
<table style="background:#D9FADD" border="1" cellpadding="2" cellspacing="0"><br />
<br />
<tr valign="top"><br />
<th width="100px" style="background:#93FAA0">Sunday</th><br />
<th width="135px" style="background:#93FAA0">Monday</th><br />
<th width="135px" style="background:#93FAA0">Tuesday</th><br />
<th width="135px" style="background:#93FAA0">Wednesday</th><br />
<th width="135px" style="background:#93FAA0">Thursday</th><br />
<th width="135px" style="background:#93FAA0">Friday</th><br />
<th width="100px" style="background:#93FAA0">Saturday</th><br />
</tr><br />
<br />
<tr valign="top"><br />
<td><b>1/2</b><br />
<table border="1"> <tr> <td><p> Welcome to IAP@MIT </p> </td> </tr> <br />
<tr> <td><p> Team 3 Presents: </p><br />
<p> Audren Cloitre</p> <p>Stephanie Lin</p> <p>Faye Wu</p> <p>James White</p> </td> </tr> </table><br />
</td><br />
<br />
<td><b>1/3</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Checkpoint 1 </p> </td> </tr> </table><br />
<table style="background:#93EEF7" border="1"> <tr> <td style="background:#D7F4F7"><p> Build Pegbot</p> <p>Brainstorm Strategy and Robot Functionality</p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> uOrcBoard Intro</p> </td> </tr> </table><br />
</td><br />
<br />
<td><b>1/4</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Checkpoint 2 </p> </td> </tr> </table><br />
<table style="background:#93EEF7" border="1"> <tr> <td style="background:#D7F4F7"><p>Decide on Strategy and Robot Design</p> <p>CAD Day 1 of 5</p></td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Bump Sensor, Encoder and Robot Reaction to Feedback </p> </td> </tr> </table><br />
</td><br />
<br />
<td><b>1/5</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Checkpoint 3 </p> </td> </tr> </table><br />
<table style="background:#93EEF7" border="1"> <tr> <td style="background:#D7F4F7"><p> CAD Day 2 of 5 </p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Camera and Camera Vision </p> <p>Optimize Encoder </p> </td> </tr> </table><br />
<table border="1"> <tr> <td><p>Clean Lab@10pm</p> </td> </tr> </table><br />
</td><br />
<br />
<td><b>1/6</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Checkpoint 4 </p> </td> </tr> </table><br />
<table style="background:#93EEF7" border="1"> <tr> <td style="background:#D7F4F7"><p> CAD Day 3 of 5 </p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Encoders, Gyro and PID Controller </p> </td> </tr> </table><br />
</td><br />
<br />
<td><b>1/7</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Checkpoint 5 </p> </td> </tr> </table><br />
<table style="background:#93EEF7" border="1"> <tr> <td style="background:#D7F4F7"><p> CAD Day 4 of 5 </p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Main FSM and Structure of Code </p> <p>More PID</p> </td> </tr> </table><br />
</td><br />
<br />
<td><b>1/8</b><br />
<table style="background:#93EEF7" border="1"> <tr> <td style="background:#D7F4F7"><p> CAD Day 5 of 5 </p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Behavior 1 & 2 </p> <p>More PID</p></td> </tr> </table><br />
</td><br />
</tr><br />
<br />
<!--WEEK2--><br />
<tr valign="top"><br />
<td><b>1/9</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> CAD Model Complete </p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Behaviors 3 & 4 </p> </td> </tr> </table><br />
</td><br />
<br />
<td><b>1/10</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Checkpoint 6 </p> <p> Mock Competition 1</p> </td> </tr> </table><br />
<table style="background:#93EEF7" border="1"> <tr> <td style="background:#D7F4F7"><p> Machining Day 1 of 3</p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Behaviors 5 & 6 </p> <p>Vision Code Improvement</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/11</b><br />
<table style="background:#93EEF7" border="1"> <tr> <td style="background:#D7F4F7"><p>Machining Day 2 of 3</p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Behavior 7 & 8</p> <p>Vision Code Improvement</p></td> </tr> </table><br />
</td><br />
<br />
<br />
<td><b>1/12</b><br />
<table style="background:#93EEF7" border="1"> <tr> <td style="background:#D7F4F7"><p> Machining Day 3 of 3</p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Navigation Done</p> <p>Vision Code Improvement</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/13</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Final Robot Frame Built </p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Navigation Improvement</p> <p>Vision Code Improvement</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/14</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Checkpoint 7 </p> <p> Mock Competition 2</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/15</b><br />
<table border="1"> <tr> <td><p> MIT Mystery Hunt </p></td> </tr> </table><br />
</td><br />
</tr><br />
<br />
<!--WEEK3--><br />
<tr valign="top"><br />
<td><b>1/16</b><br />
<table border="1"> <tr> <td><p> MIT Mystery Hunt </p></td> </tr> </table><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Mechanical Improvement </p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Behavior Improvement</p><p>Sensor Calibration</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/17</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Mechanical Improvement </p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Behavior Improvement</p><p>Sensor Calibration</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/18</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Mechanical Improvement </p> </td> </tr> </table><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Behavior Improvement</p><p>Sensor Calibration</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/19</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Checkpoint 8 </p> <p> Mock Competition 3</p></td> </tr> </table><br />
<table border="1"> <tr> <td><p>Sponsor Dinner</p> </td> </tr> </table><br />
<table border="1"> <tr> <td><p>CleanLab@10pm</p> </td> </tr> </table><br />
</td><br />
<br />
<td><b>1/20</b><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Test and Adapt</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/21</b><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Test and Adapt</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/22</b><br />
<table border="1"> <tr> <td><p> GSC Ski Trip </p></td> </tr> </table><br />
</td><br />
</tr><br />
<br />
<!--WEEK4--><br />
<tr valign="top"><br />
<td><b>1/23</b><br />
<table border="1"> <tr> <td><p> GSC Ski Trip </p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/24</b><br />
<table border="1"> <tr> <td><p> GSC Ski Trip </p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/25</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p>Seeding</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/26</b><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Test and Adapt</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/27</b><br />
<table style="background:#D8FD95" border="1"> <tr> <td style="background:#F1FDDC"><p> Test and Adapt</p><p> Final Code check</p></td> </tr> </table><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p>Robot Impound at 5</p></td> </tr> </table><br />
</td><br />
<br />
<td><b>1/28</b><br />
<table style="background:#FE9B96" border="1"> <tr> <td style="background:#FEDFDD"><p> Final Competition </p></td> </tr> </table><br />
<table border="1"> <tr> <td><p>Competition Tear Down</p> </td> </tr> </table><br />
</td><br />
<br />
<td><b>1/29</b><br />
<table border="1"> <tr> <td><p>Clean Lab</p> </td> </tr> </table><br />
</td><br />
</tr><br />
<br />
</table><br />
<br />
== Maslab RoBot Hardware Design ==<br />
<br />
=== Handdrawn Design ===<br />
<br />
=== CAD Design (preliminary) ===<br />
<table> <br />
<tr> <td> [[Image:Isometric.PNG|x250px|alt="CAD Drawing Isometric"]] </td> <br />
<td> [[Image:Front.PNG|x250px|alt="CAD Drawing Front"]] </td> <br />
<td> [[Image:Left.PNG|x250px|alt="CAD Drawing Profile"]] </td> </tr> <br />
<br />
<tr align="center"> <td> Isometric View </td> <td> Front View </td> <td> Profile View </td> </tr><br />
</table><br />
=== CAD Design (final) ===<br />
[[Image:Final CAD.JPG|alt="CAD Drawing Final Isometric"]] <br />
=== Photographs ===<br />
<br />
== Maslab RoBot Software Architecture ==<br />
<br />
== Maslab RoBot Strategy ==<br />
<br />
<table cellpadding="5" cellspacing="5" rules="none" border="1"> <tr> <td><br />
[[Image:BlackBox.jpg|alt=Black Box]]<br />
</td> </tr><br />
<tr> <td align=center width=100px>Our strategy lies hidden behind a black box, waiting to be revealed.</td> </tr> </table></div>Linschttps://maslab.mit.edu/2011/wiki/Team_SixTeam Six2011-01-08T00:32:24Z<p>Xavier: added team members names</p>
<hr />
<div>Team SLAMBA<br />
<br />
Michael Olague<br />
<br />
Piper "Wings" Hunt<br />
<br />
Shawn Westerdale<br />
<br />
Xavier Jackson</div>Xavierhttps://maslab.mit.edu/2011/wiki/Build.xmlBuild.xml2011-01-06T20:25:06Z<p>Maslab: </p>
<hr />
<div><pre><br />
<project name="ant-tutorial" default="build" basedir="."><br />
<!-- CHANGE THESE THREE VALUES FOR AUTOMATIC UPLOAD --><br />
<property name="robotIP" value="18.62.31.60"/><br />
<property name="destDir" value="/home/maslab/code"/><br />
<property name="username" value="maslab"/><br />
<property name="binDir" value="bin"/><br />
<property name="srcDir" value="src"/><br />
<br />
<target name="build"><br />
<!-- This does deep dependency checking on class files --><br />
<depend srcdir="${srcDir}" destdir="${binDir}" cache="depcache" closure="true"/><br />
<!-- This compiles all the java --><br />
<javac srcdir="${srcDir}" destdir="${binDir}" includes="**/*.java" debug="true" classpath="lib/maslab.jar:lib/orc.jar"/><br />
</target><br />
<!-- Clean everything --><br />
<target name="clean"><br />
<delete><br />
<fileset dir="${binDir}" includes="**/*.class"/><br />
<fileset dir="${binDir}" includes="**/*~" defaultexcludes="no"/><br />
</delete><br />
</target><br />
<!-- Upload files to robot --><br />
<target name="upload" depends="build"><br />
<exec executable="rsync"><br />
<arg line="-e ssh -avr ${binDir} ${username}@${robotIP}:${destDir}"/><br />
</exec><br />
</target><br />
</project><br />
</pre></div>Maslabhttps://maslab.mit.edu/2011/wiki/Team_One/AssignmentsTeam One/Assignments2011-01-05T02:20:34Z<p>Eronsis: </p>
<hr />
<div>Scoring Strategy<br />
<br />
Upon activation, the bot will begin randomly driving around picking up balls with a roller as it drives over them and holds them in a storage area. It will not differentiate between our balls and the opposing team’s balls because it is advantageous to us to have both colors on the other side of the yellow wall. While collecting balls, the robot will watch for yellow walls even though it does not intend to shoot yet. If it sees any, it will attempt to record the location of the wall using a magnetometer (digital compass) and odometry so it may return to face the wall more quickly when the time comes.<br />
<br />
As the balls enter, they trip a switch so the robot can keep track of how many balls it’s holding. When it has picked up about 3 balls (exact quantity subject to change), it will switch to searching for a yellow wall to launch the balls over using a flywheel. The robot will look for the distance to the wall with an IR sensor and adjust the flywheel speed to ensure clearing the wall with minimal risk of overshooting. After expending its ammo, the robot will reenter search and gather mode.<br />
<br />
[[Image:harvester.png]]<br />
<br />
'''Team Calendar'''<br />
<br />
[[Image:Team Schedule.png]]<br />
<br />
'''Software Thread Structure'''<br />
<br />
[[Image:Software FSM.png]]</div>Eronsishttps://maslab.mit.edu/2011/wiki/Team_TenTeam Ten2011-01-04T20:54:49Z<p>Maslab10: </p>
<hr />
<div>Composed of: Arvin Shahbazi Moghaddam, Wojciech Musial, Tongji Li, Alex Teuffer<br />
<br />
Our Epic Journal! [http://maslab.mit.edu/2011/wiki/Team_Ten/Journal]<br />
or the assignments[http://maslab.mit.edu/2011/wiki/Team_Ten/Assignments]...</div>Maslab10https://maslab.mit.edu/2011/wiki/Team_Ten/AssignmentsTeam Ten/Assignments2011-01-04T19:56:31Z<p>Maslab10: </p>
<hr />
<div>'''January 04, 2011'''<br />
'''Tuesday 14:20'''<br />
'''Assignment 2'''<br />
----<br />
<br />
''Strategy'':<br />
So far, we've decided to concentrate on getting all the balls over the wall. However, we do have some other potential strategies about scoring in the goals that might be considered as well.<br />
<br />
''Software Design'': There will be several Java classes which will compose our robot's software. There will be a class which will process the optical as well as other sensor data from the cameras and sensors which will give the robot a sense of its surroundings. It will "tell" the robot the distance to the surrounding walls as well as the balls in sight. A control class will communicate with a driving class to decide the robot's movements based on what the sensors and camera detect. The robot will pick up balls and then decide what color the ball is and whether it should score it or keep it. There will also be a timer running which will control the strategy our robot will use (which varies with time).<br />
<br />
''Mechanical Outline'': Our robot will have three levels. The first level will be the entrance for the balls which will be collected using a motor turning a horizontal spindle of rubber bands mounted across the front of the robot. The balls will be pushed by this spindle onto a very short and low ramp after which the balls will roll into a channel that will lead the balls to a conveyor belt. This conveyor belt will be housed in a vertical half-pipe which will drop the balls onto the third level of our robot. This third level is essentially a box with no top which is inclined so that balls tend to roll to the front part of the robot. The very front edge of the third level of the robot will have a door like that of a pickup truck which lays flat to let out all of the balls that were collected.<br />
We want to keep the battery on the lowest level of the robot so that we can keep our center of mass closer to the ground. The camera, computer will be attached to the second level.<br />
<br />
''Schedule'' [[File:Schedule.jpg]]</div>Maslab10https://maslab.mit.edu/2011/wiki/Team_Six/AssignmentsTeam Six/Assignments2011-01-04T19:31:00Z<p>Wings: </p>
<hr />
<div>__TOC__<br />
<br />
==Checkoff One==<br />
<br />
Repository has our Hello World program.<br />
<br />
==Checkoff Two==<br />
<br />
Journal, day 2, has our plans for our robot.<br />
<br />
==Checkoff Three==<br />
<br />
Repository has our IR Drive code.<br />
<br />
==Checkoff Four==<br />
<br />
Result of our color detection: http://web.mit.edu/wings/Public/Maslab/picouttest.png<br />
<br />
==Rest of Checkoffs==<br />
<br />
See journal.</div>Wingshttps://maslab.mit.edu/2011/wiki/Team_ThirteenTeam Thirteen2011-01-04T17:47:28Z<p>Rhan: </p>
<hr />
<div>'''Lucky number thirteen. Hell yeah.'''<br />
<br />
<br />
Dmitri Megretski [dmegret@mit.edu]<br />
<br />
Rebecca Han [rebecca.han@mit.edu]<br />
<br />
Kevin Ellis [ellisk@mit.edu]<br />
<br />
Bayley Wang [bayleyw@mit.edu]</div>Rhanhttps://maslab.mit.edu/2011/wiki/Team_Thirteen/JournalTeam Thirteen/Journal2011-01-04T17:30:48Z<p>Rhan: </p>
<hr />
<div>== M. 01-03-2011 ==<br />
<br />
'''tl;dr''': Team 13 is operating at half-power for the first week; Kevin and Bayley will join us starting next Monday. Dima and Rebecca are working extra hard to meet the Checkpoints and be ready for Mock Contest 1.<br />
<br />
'''Current progress''': Absentees aside, we nonetheless completed Checkpoint 1 by the deadline. Pegbot is now capable of 1) moving in a circle or in a straight path and 2) communicating with eeePC via Bot Client.<br />
<br />
'''Future direction''': Strategy discussion. Rebecca will study what former groups have done, what has worked, what hasn't, etc. Our choice of strategy will likely dictate (and in turn, also be dictated by) the hardware details of our robot. Team 13 would like to receive input from all members, so efforts are being made to hold a real-time discussion with Kevin and Bayley. Dima hopes to have finished our robot by the end of the week.<br />
<br />
== T. 01-04-2011 ==<br />
<br />
'''tl;dr''': Successful analog input (specifically, a test voltage) reading from the orcboard. However, IRRangeFinder still eludes us. The value for range hovers around an apparently arbitrary ~0.12 for no good reason.<br />
<br />
'''Current progress''': Our robot is going to operate on a basic principle that it picks up as many balls as it can find via the use of a roller, elevates them a small distance by means of an Archimedes screw (inspired by Team 3 from 2003) and store them in a hopper where they will all be docked at the first goal/yellow-wall that the robot finds.<br />
<br />
The software architecture consists of several states - explore/random motion, wall follow, scan surroundings, and three separate action states to handle balls/goals/yellow walls - that will be controlled by timers. If the robot has spent a certain amount of time on one task unsuccessfully, it may be stuck and the timers are intended to protect against that. In addition, we plan on coding very robust explore/random and wall follow programs, relying on the camera vision coding heavily only when the robot stops intermittently to scan its surroundings. Having located something of interest, it then needs to drive in a straight line, which we can hopefully achieve by specifying velocity rather than WPM for the motors/wheels. <br />
<br />
As far as Checkpoint 3 is concerned, after a lot of confusion with ADC ports, it transpires that we have been specifying the wrong port, and hence have received no meaningful feedback from the AnalogInputs instantiated. Now we are getting a voltage reading that does respond accurately when we hook it up to a test circuit.<br />
<br />
'''Future direction''': Kevin and Bayley are still AWOL. Team 13 does not panic yet, however (although Team 13 is beginning to worry/wonder where the rest of the team is). Rebecca is going to spend tomorrow drafting a code for finding and approaching walls. Dima plans to finish CADing and ordering parts by tomorrow night, at the latest. Team 13 will take the pegbot into lab tomorrow afternoon and maybe get some help with the IR sensors. Probably will also set up and start working on the webcam and vision coding tomorrow night, after the Checkpoint.<br />
<br />
== W. 01-05-2011 ==<br />
<br />
== R. 01-06-2011 ==<br />
<br />
== F. 01-07-2011 ==<br />
<br />
== S. 01-08-2011 ==<br />
<br />
== M. 01-10-2011 ==</div>Rhanhttps://maslab.mit.edu/2011/wiki/Team_Seven/JournalTeam Seven/Journal2011-01-04T05:33:15Z<p>Rjmel: </p>
<hr />
<div>'''Pre-IAP:<br />
'''<br />
Our team met for 30 min on December 9th 2010 so we could talk about ideas and time availability of the team members.<br />
<br />
Present: N'Sink, Rafa, Roberto<br />
Absent: Javi<br />
<br />
'''MASLAB DAY 1:<br />
'''<br />
Due to problems in flights, half the team could not make it the first day. Rafa and Roberto worked tirelessly against bad firmware and annoying battery clips to make the robot talk to the computer as well as move the robot forward for the first time.<br />
<br />
After getting the first checkpoint done, N'Sink came back to Boston and sat down with PeloLoco to discuss mechanical designs. We considered numerous design strategies for a ball thrower but we came across many difficulties and decided to build a dribbling robot first, and then explore the possibility of extending it.<br />
<br />
Now off to a good nights sleep!<br />
<br />
'''MASLAB DAY 2 Jan 4th'''<br />
<br />
Worked on the CAD in the morning. We are using a rubber band mechanism as a dribbler and a foot by foot robot. After several flight and health problems our entire team was able to meet for the first time and worked in getting a good prototype done for the the coder to play with.<br />
<br />
[[File:CAd.jpg]]<br />
<br />
'''DAY 3 Jan 5th<br />
'''<br />
We got together and built a totally new pegbot in lab. We mounted the camera and one IR sensor and coded the robot to back up from a wall using the IR range.<br />
<br />
'''DAY 4 Jan 6th<br />
'''<br />
First parts of the dribbler were laser cut. Our two coders are tirelessly working on vision code which is being harder than what we thought. We decided to use as less screws as possible in mounting our real robot to be able to mount it/dismount it easily and quickly.<br />
<br />
'''DAY 5 Jan 7th'''<br />
The lower body for the robot was cut out of acrylic and final design details were finalized for the mounting of the dribbler. Coder figured out the vision code.<br />
<br />
<br />
'''Day 8 Jan 10th'''<br />
First Mock competition with our pegbot. The vision code was not implemented in this robot and we navigated via a random walk using the IR sensors. However right before the mock one of the IR sensors broke down and we had to run using only one. The pegbot was able to displace many balls and was also able to hold one ball under its possession. However the way that the wheels had been mounted was not very reliable and one of our wheels fell off. We learned a lot for our next robot.<br />
<br />
'''Day 9 Jan 11th'''<br />
We cut out a bigger and thicker chassis out of 3/8" Acrylic. We also redesigned the way the computer was going to be held in the robot. And for fun we cut out little acrylic ducks that took longer to cut than our chassis. Thus our name the mighty patos.<br />
[[File:Example1.jpg]]<br />
<br />
<br />
'''Day 10 Jan 12th'''<br />
Snow day!<br />
<br />
[[File:Example2.jpg]]<br />
<br />
'''Day 11 Jan 13th'''<br />
Building Day all-day. N'sink and PeloLoco spent all day at Edgerton making the robot. Wheels have been mounted and dribbler is almost finished. We need to get together tomorrow and finish the last small details to complete the mounting of sensors and the ball storage space.<br />
<br />
'''Day 12 Jan 14th'''<br />
Second mock contest. We spent all morning trying to finalize the details to make the robot operational for the mock. After many improvised solutions to our robot we competed in the mock and managed to collect 4 balls using only a random walk. We especially liked the aggressiveness of the robot.<br />
<br />
'''Day 13 Jan 15th'''<br />
Solved mounting of IR sensors and also built a more sturdy ball collection space using aluminum sheet.</div>Rjmelhttps://maslab.mit.edu/2011/wiki/Team_SevenTeam Seven2011-01-04T05:24:25Z<p>Rjmel: </p>
<hr />
<div>Team Seven Heaven;<br />
<br />
Members:<br />
<br />
Rafa "Noventa Mil" Crespo<br />
<br />
Roberto "PeloLoco" Melendez<br />
<br />
Javi "El Perdido" Ramos<br />
<br />
Christian "N'Sink" Segura</div>Rjmelhttps://maslab.mit.edu/2011/wiki/Checkoffs_and_Sensor_PointsCheckoffs and Sensor Points2011-01-04T03:01:12Z<p>Yichen: /* Seeding Results */</p>
<hr />
<div>==Sensor Points==<br />
Team 1: Extra motor, 2 extra drive wheels ~5 points<br />
<br>Team 2: Gyro, 2 IR sensors, 2 encoders, 3 long range IR, 2 extra motors (not drive) ~30 points<br />
<br>Team 3: Gyro, 2 Servos, 2 encoders, 4 IR sensors, 2 breakbeams ~28 points<br />
<br>Team 6: Gyro, 2 drive motors, 4 IR sensor, 1 servo ~35 points<br />
<br>Team 7: 5 IR sensors, 0 servo, 2 drive motors ~34 points<br />
<br>Team 9: Gyro, 2 Long range IR sensors, second battery charger, 2 encoders, 1 Servo, 3 motors ~28 points<br />
<br>Team 10: Gyro, Camera, 2 encoders, drive motor ~7 points<br />
<br>Team 11: Gyro, Drive Motor, 3 IR sensors, servo ~24 points<br />
<br>Team 13: 1 IR sensor, 2 encoders, 1 drive motor, 1 servo, 1 long, 2 short ~28 points<br />
<br />
==Checkpoint 1==<br />
Team 1 (checked off by Ellen)<br />
<br>Team 2 (checked off by Ellen)<br />
<br>Team 3 (checked off by Ellen)<br />
<br>Team 6 (checked off by Ellen)<br />
<br>Team 7 (checked off by Ellen)<br />
<br>Team 9 (checked off by Ellen)<br />
<br>Team 10 (checked off by Ellen)<br />
<br>Team 11 (checked off by Ellen)<br />
<br>Team 13 (checked off by Ellen)<br />
<br />
==Checkpoint 2==<br />
Team 1 (checked off by Ellen)<br />
<br>Team 2 (checked off by Ellen, David, Geza)<br />
<br>Team 3 (checked off by David, Geza)<br />
<br>Team 6 (checked off by David, Geza)<br />
<br>Team 7 (checked off by Ellen, Jessica)<br />
<br>Team 9 (checked off by Ellen, Jessica)<br />
<br>Team 10 (checked off by Ellen)<br />
<br>Team 11 (checked off by David)<br />
<br>Team 13 (checked off by Ellen, Buro)<br />
<br />
==Checkpoint 3==<br />
Team 1 (checked off by Ellen)<br />
<br>Team 2 (checked off by Eric)<br />
<br>Team 3 (checked off by Ellen)<br />
<br>Team 6 (checked off by Ellen)<br />
<br>Team 7 (checked off by Ellen)<br />
<br>Team 9 (checked off by Ellen)<br />
<br>Team 10 (checked off by Eric)<br />
<br>Team 11 (checked off by Ellen)<br />
<br>Team 13 (checked off by Eric)<br />
<br />
==Checkpoint 4==<br />
Team 1 (checked off by Ellen and Darthur)<br />
<br>Team 2 (checked off by Darthur)<br />
<br>Team 3 (checked off by Ellen)<br />
<br>Team 6 (checked off by Sam)<br />
<br>Team 7 <br />
<br>Team 9 (checked off by Darthur)<br />
<br>Team 10 (checked off by Darthur)<br />
<br>Team 11 <br />
<br>Team 13<br />
<br />
==Checkpoint 5==<br />
Team 1<br />
<br>Team 2 (checked off by Ellen)<br />
<br>Team 3 (checked off by Sam)<br />
<br>Team 6 <br />
<br>Team 7 (obviously they can do this. ^_^)<br />
<br>Team 9 (checked off by Eric)<br />
<br>Team 10 <br />
<br>Team 11 (checked off by Ellen)<br />
<br>Team 13 (obviously they can do this. ^_^)<br />
<br />
==Checkpoint 6==<br />
Team 1 (checked off by Ellen and Eric)<br />
<br>Team 2 (checked off by Ellen and Eric)<br />
<br>Team 3 (checked off by Ellen and Eric)<br />
<br>Team 6 (checked off by Ellen and Eric)<br />
<br>Team 7 (checked off by Ellen and Eric)<br />
<br>Team 9 (checked off by Ellen and Eric)<br />
<br>Team 10 (checked off by Ellen and Eric)<br />
<br>Team 11 (checked off by Ellen and Eric)<br />
<br>Team 13 (checked off by Ellen and Eric)<br />
<br />
=== Mock 1 Results ===<br />
<br />
{| class="wikitable"<br />
|-<br />
! Team<br />
! Score (Red)<br />
! Balls Displaced (Red)<br />
! Score (Green)<br />
! Balls Displaced (Green)<br />
|-<br />
| 1<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 2<br />
| 1<br />
| 1<br />
| 3<br />
| 3<br />
|-<br />
| 3<br />
| 0<br />
| 1<br />
| 0<br />
| 0<br />
|-<br />
| 6<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 7<br />
| 1<br />
| 1<br />
| 0<br />
| 0<br />
|-<br />
| 9<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 10<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 11<br />
| 1<br />
| 3<br />
| 0<br />
| 1<br />
|-<br />
| 13<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|}<br />
<br />
==Checkpoint 7==<br />
Team 1 (checked off by Sam and Jessica)<br />
<br>Team 2 (checked off by Sam and Jessica)<br />
<br>Team 3 (checked off by Sam, Jessica, and Ellen)<br />
<br>Team 6 (checked off by Sam and Ellen)<br />
<br>Team 7 (checked off by Sam, Jessica, and Ellen)<br />
<br>Team 9 (checked off by Ellen)<br />
<br>Team 10 (checked off by Ellen and Jessica)<br />
<br>Team 11 (checked off by Jessica and Sam)<br />
<br>Team 13 (checked off by Jessica and Ellen)<br />
<br />
=== Mock 2 Results ===<br />
<br />
{| class="wikitable"<br />
|-<br />
! Team<br />
! Score (Red)<br />
! Balls Displaced (Red)<br />
! Score (Green)<br />
! Balls Displaced (Green)<br />
|-<br />
| 1<br />
| 0<br />
| 1<br />
| 0<br />
| 1<br />
|-<br />
| 2<br />
| 2<br />
| 2<br />
| 19<br />
| 6<br />
|-<br />
| 3<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 6<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 7<br />
| 2<br />
| 3<br />
| 4<br />
| 4<br />
|-<br />
| 9<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 10<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 11<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 13<br />
| 1<br />
| 1<br />
| 5<br />
| 5<br />
|}<br />
<br />
==Checkpoint 8==<br />
Team 1 (checked off by Ellen and Buro)<br />
<br>Team 2 (checked off by Ellen and Buro)<br />
<br>Team 3 (checked off by Ellen and Buro)<br />
<br>Team 6 (checked off by Ellen and Buro)<br />
<br>Team 7 (checked off by Ellen and Buro)<br />
<br>Team 9 (checked off by Ellen and Buro)<br />
<br>Team 10 (checked off by Ellen and Buro)<br />
<br>Team 11 (checked off by Ellen and Buro)<br />
<br>Team 13 (checked off by Ellen and Buro)<br />
<br />
=== Mock 3 Results ===<br />
<br />
{| class="wikitable"<br />
|-<br />
! Team<br />
! Score (Red)<br />
! Balls Displaced (Red)<br />
! Score (Green)<br />
! Balls Displaced (Green)<br />
|-<br />
| 1<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 2<br />
| 21<br />
| 7<br />
| 25<br />
| 8<br />
|-<br />
| 3<br />
| 30<br />
| 6<br />
| 19<br />
| 4<br />
|-<br />
| 6<br />
| 1<br />
| 1<br />
| 1<br />
| 2<br />
|-<br />
| 7<br />
| 5<br />
| 5<br />
| 5<br />
| 6<br />
|-<br />
| 9<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 10<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 11<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|-<br />
| 13<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|}<br />
<br />
== Seeding Results ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Team<br />
! Score (Red)<br />
! Balls Displaced (Red)<br />
! Score (Green)<br />
! Balls Displaced (Green)<br />
! Total Score<br />
|-<br />
| 1<br />
| 2<br />
| 4<br />
| 0<br />
| 2<br />
| 2 (6)<br />
|-<br />
| 2<br />
| 44<br />
| 9<br />
| 31<br />
| 6<br />
| 75 (15)<br />
|-<br />
| 3<br />
| 12<br />
| 7<br />
| 0<br />
| 2<br />
| 12 (9)<br />
|-<br />
| 6<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
| 0 (0)<br />
|-<br />
| 7-A<br />
| 4<br />
| 6<br />
| 1<br />
| 2<br />
| 5 (8)<br />
|-<br />
| 7-B<br />
| 0<br />
| 1<br />
| 0<br />
| 1<br />
| 1 (1)<br />
|-<br />
| 9<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
| 0 (0)<br />
|-<br />
| 10<br />
| 1<br />
| 1<br />
| 1<br />
| 1<br />
| 2 (2)<br />
|-<br />
| 11<br />
| 5<br />
| 5<br />
| 6<br />
| 1<br />
| 11 (6)<br />
|-<br />
| 13<br />
| 13<br />
| 9<br />
| 10<br />
| 10<br />
| 23 (19)<br />
|}<br />
<br />
== Impounding ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Team<br />
! Team Picture and T-shirts<br />
! Interview<br />
! Sensor Points<br />
! Impound<br />
|-<br />
| 1<br />
| Yes<br />
| Yes<br />
| 17<br />
| Yes<br />
|-<br />
| 2<br />
| Yes<br />
| Yes<br />
| 31<br />
| Yes<br />
|-<br />
| 3<br />
| Yes<br />
| Yes<br />
| 22<br />
| Yes<br />
|-<br />
| 6<br />
| Yes<br />
| Yes<br />
| 14<br />
| Yes<br />
|-<br />
| 7-A<br />
| Yes<br />
| Yes<br />
| 12<br />
| Yes<br />
|-<br />
| 7-B<br />
| Yes<br />
| Yes<br />
| 20<br />
| Yes<br />
|-<br />
| 9<br />
| Yes<br />
| Yes<br />
| 42<br />
| Yes<br />
|-<br />
| 10<br />
| Yes<br />
| Yes<br />
| 9 + Camera<br />
| Yes<br />
|-<br />
| 11<br />
| Yes<br />
| Yes<br />
| <br />
| Yes<br />
|-<br />
| 13<br />
| Yes<br />
| Yes<br />
| 30<br />
| Yes<br />
|}</div>Yichenhttps://maslab.mit.edu/2011/wiki/Team_Two/AssignmentsTeam Two/Assignments2011-01-04T02:58:02Z<p>Cathywu: /* Software Design */</p>
<hr />
<div><br />
== Strategy ==<br />
<br />
Get balls over walls<br />
<br />
<br />
<br />
== Mechanical Design ==<br />
<br />
Our robot serves as a reliable platform for the software vision and control systems. As such it should be sturdy, constructed quickly, have extremely low mechanical failure rates, be able to withstand hours of testing, and be robust to positioning errors.<br />
<br />
The robot's structural members will be built primarily from acrylic sheet. It will utilize a rubber band roller powered by a DC motor to collect balls and 4-bar linkage hopper actuated by a servo to get balls over the wall. DC geared motors will drive no-slip wheels.<br />
<br />
The robot's sensor suite will include the camera, 5 IR sensors, the gyroscope, encoders, and 2 bump sensors for scoring alignment.<br />
<br />
== Software Design ==<br />
<br />
Use a simple state machine. Have a good testing suite and several debugging tools. Write fast vision code. Fork off threads for camera and other sensors to operate.<br />
<br />
== Schedule ==<br />
<br />
[[File:Calendar.png|1600px|thumb|left|The calendar we set out to follow, which also turned out to be pretty accurate to what we did.]]</div>Dfouriehttps://maslab.mit.edu/2011/wiki/Team_Two/JournalTeam Two/Journal2011-01-04T01:51:39Z<p>Dfourie: /* Day 26, Friday January 28 */</p>
<hr />
<div>== Legend ==<br />
(L)eighton, (D)an, (S)tan, (C)athy<br />
<br />
== Pre IAP ==<br />
<br />
D, L, S, C met a couple times for organizational purposes before winter break. Video conferenced with strategy and design details during winter break after each reading a few old papers and giving some thought to MASLAB<br />
<br />
D designed most of the mechanical aspects of the robot and drew it out in SolidWorks<br />
<br />
L looked into better batteries and encoders. Read about sensors<br />
<br />
C went through the vision tutorial and wrote some custom vision code, started setting up development environment (git, eclipse, ant, botclient, feh, v4l4j, etc.), started sketching out software architecture<br />
<br />
== Day 1, Monday January 3 ==<br />
L, C we attended lecture and then assembled our pegbot and got it driving. Trying to get a jump on the work ahead of us, we took pictures of the field and of the balls with our webcam for vision testing and started to wire up several IR sensors and a gyro.<br />
<br />
D finalized 4-bar synthesis for the mechanism that raises the ball hopper up over the wall. He also figured out how everything will fit inside the robot's circular footprint.<br />
<br />
== Day 2, Tuesday January 4 ==<br />
<br />
D got the majority of the detailed mechanical design finished.<br />
<br />
C tried to fix a problem with the v4l4j library by setting up a VM with Ubuntu 10,10 and a whole new dev environment on her machine, since certain camera functionality didn't work without v4l4j and v4l4j didn't work with her version of Ubuntu.<br />
<br />
C helped S and L set up eclipse projects and git working directories.<br />
<br />
C, S, L discussed software design.<br />
<br />
C went to get shop-trained.<br />
<br />
L rigged up some sensors.<br />
<br />
== Day 3, Wednesday January 5 ==<br />
<br />
D did more detailed CAD, set up files for rapid cutting, and created an assembly plan so we can start building this weekend.<br />
<br />
L, C attended lecture, troubleshooted and tested sensors (IR, gyro), worked through checkpoint 3<br />
<br />
L assembled encoders, planning to put them on pegbot tomorrow<br />
<br />
S worked on setting up software framework<br />
<br />
C got camera working with personal machine (thanks, staff!), configured ant, set up convenient routine for running robot remotely<br />
<br />
== Day 4, Thursday January 6 ==<br />
<br />
L, S, C attended lecture<br />
<br />
L mounted encoders, wired up LED for debugging, helped debug checkpoint 4<br />
<br />
S continued working with software framework: main loop, state machine, sensor abstraction<br />
<br />
C wrote and tested a basic PID controller, worked on checkpoint 4, wrote some edge detection code<br />
<br />
== Day 5, Friday January 7 ==<br />
<br />
D, L, S, C we met to get D up to speed, since he got in last night<br />
<br />
D measured components to make sure that they fit the mechanical design, made a prototype roller to test out functionality<br />
<br />
L wired up a controller for powering the roller's motor, helped C debug checkpoint 5<br />
<br />
S helped C debug checkpoint 5, worked on wall following code<br />
<br />
C worked on checkpoint 5, eventually got a PD controller running that tracks and approaches a red ball<br />
<br />
== Day 6, Saturday January 8 ==<br />
<br />
D battled with obstreperous machines and got everything cut.<br />
<br />
L built a controller for our fourth motor, did other random electronics stuff, and built our very own field.<br />
<br />
C started writing sensor classes and finished checkpoints 4 and 5.<br />
<br />
S attacked wall-following.<br />
<br />
== Day 7, Sunday January 9 ==<br />
<br />
D machined hubs and didn't cut the hopper because he didn't have 1/16" Al.<br />
<br />
D and L did post-processing on the cut materials and assembled the majority of the robot. Left to do is mounting the hopper.<br />
<br />
C finished up sensor classes and wrote and tested color calibration code.<br />
<br />
== Day 8, Monday January 10 ==<br />
<br />
C wrote the checkpoint 6 code (button start, timing, color calibration) and wrote the ball picking up code in preparation for the mock competition.<br />
<br />
S finished some classes for velocity control and wall following (still untested).<br />
<br />
L mounted the buttons to start the robot for the mock competitions.<br />
<br />
C, L and S debugged the robot at the mock competition. Then we won the mock competition!<br />
<br />
C, S divided up the rest of the software areas.<br />
<br />
== Day 9, Tuesday January 11 ==<br />
<br />
L wired up limit switches and bump sensors and prototyped the break-beam sensor.<br />
<br />
D cut and installed the hopper and worked on the ball intake ramp.<br />
<br />
S debugged wall-following control.<br />
<br />
C wrote software to optimize image processing and ported our mock 1 code to the state machine framework.<br />
<br />
== Day 10, Wednesday January 12 ==<br />
<br />
C got most of the rest of the vision work done, including smoothing, down-sampling, and worked on blue-line filtering.<br />
<br />
S managed to get real-time parameter updating working! and succeeded with wall-following.<br />
<br />
L did lots of wiring, installed break beam sensor, defined I/O ports, got the roller motor PWM circuit going.<br />
<br />
D installed curved ball guide, wired up the new battery pack, and tweaked various things on the robot.<br />
<br />
== Day 11, Thursday January 13 ==<br />
<br />
C tested the code from mock 1 that was ported to the state machine framework, worked on more sensor abstractions, implemented timeouts.<br />
<br />
S finished writing wall following.<br />
<br />
D, L, S, C tested wall following on a simple field. <br />
<br />
C wrote scoring code.<br />
<br />
D, L, S, C tested wall following, picking up balls and scoring all together.<br />
<br />
== Day 12, Friday January 14 ==<br />
<br />
L, S, C tested, tweaked our code from the first mock competition ported over to a state machine framework.<br />
<br />
L, C tested, tweaked our scoring mechanism and code<br />
<br />
S, C made a state machine that incorporates wall following, mock competition 1, and scoring.<br />
<br />
S debugged wall following<br />
<br />
C added timeouts in code, wrote better color calibration utility<br />
<br />
L, D, S, C tested, tweaked, tested, broke the robot (oops), tested, tested, tested, won mock 2, got a lot of sleep<br />
<br />
D, L repaired the robot<br />
<br />
== Day 13, Saturday January 15 ==<br />
A slow day for us. We recovered from mock comp 2 and the all nighter that came before.<br />
<br />
D fabbed robust "whiskers" for the bump sensors. Made a pack of A123 lithium polymer batteries that the bot could use.<br />
<br />
L prototyped replacing encoders with geartooth break beam sensors. Attempted to acquire a static IP on MIT's wireless. Started rewiring.<br />
<br />
S started to revise the wall-following code after mock 2.<br />
<br />
C started improving vision code w/ down-sampling and reduced the number of stills sent to botclient.<br />
<br />
== Day 14, Sunday January 16 ==<br />
<br />
S coderodered all night and day and made a stronger, faster, smoother, better wall following state.<br />
<br />
L got break beam encoders working!<br />
<br />
D made more battery options.<br />
<br />
C added a better vision calibration test, and made vision processing faster.<br />
<br />
== Day 15, Monday January 17 ==<br />
<br />
L, S fixed wall following - now it's a lot smoother. <br />
<br />
S started working on a wheel velocity controller. Tabled it -- encoders aren't good enough, and motion is fine for now.<br />
<br />
C started fixing synchronization issues in the vision code. Before, the robot was acting on incomplete vision data. Goal is to only pull complete (but slightly old) vision data.<br />
<br />
C implemented more ball fetching and scoring logic and LED debugging (color indicators), started optimizing generation of RGB to HSV lookup table, trimmed timeouts<br />
<br />
== Day 16, Tuesday January 18 ==<br />
<br />
D, S, L, C tested and tweaked robot, modified gains, broke the robot, fixed the robot, test test test<br />
<br />
C fixed concurrent programming issues, worked in stuck handling, bump detection, added more SM logic, added some random behavior<br />
<br />
C, S worked on stuck detection<br />
<br />
== Day 17, Wednesday January 19 ==<br />
Mock 3 and sponsor dinner! We went in and did our run early in an attempt not to spend hours optimizing to each field.<br />
<br />
== Day 18, Thursday January 20 ==<br />
A slow day after mock 3 and sponsor dinner. We have begun to pinpoint failure modes and work relentlessly to resolve them.<br />
<br />
C worked on getting stuck detection with respect to bump sensors working robustly. Wrote code for new bump sensors. Implemented basic memory scheme used exclusively for helping stuck detection. Reserved 26-100 for a full day of testing on Sunday.<br />
<br />
S worked on stuck detection with respect to motor currents.<br />
<br />
L was a debug demon.<br />
<br />
D cut and installed new back angled plate, new front bump sensor, and moved angled IR sensors to the top plate.<br />
<br />
== Day 19, Friday January 21 ==<br />
<br />
S got relatively robust stuck detection using motor current and a double filter (sliding window + min time steps above threshold. Started working on encoder tick visualization and stuck detection. Started straighter wall following.<br />
<br />
D and L mounted side bump sensors on the top half of the robot.<br />
<br />
C fixed false scoring where the robot would hit a tower and see the yellow wall and try to score. More reliable scoring over convex yellow walls. More reliable ball counting with breakbeam. Faster ball scanning.<br />
<br />
== Day 20, Saturday January 22 ==<br />
<br />
D fixed the hopper, which was starting to get stuck when lowering<br />
<br />
D, L, C debugged<br />
<br />
S continued work on motor current<br />
<br />
C improved scoring, ball collection, ball counting reliability and logic, added some time-based strategies, added code to prevent balls from jamming under the hopper<br />
<br />
== Day 21, Sunday January 23 ==<br />
With the blessing of MIT and the MASLAB staff we set up a full field in 26-100 and tested from 11am to 5am. The major fix was of the day was ball-jamming, which is no longer a significant problem thanks to some repositioning and a ramp to block balls from going underneath the hopper while it is extended.<br />
<br />
== Day 22, Monday January 24 ==<br />
dan<br />
<br />
== Day 23, Tuesday January 25 ==<br />
stan<br />
<br />
== Day 24, Wednesday January 26 ==<br />
<br />
S, L, D, C continued work on final paper<br />
<br />
D switched out the drive motor that didn't break during the seeding tournament<br />
<br />
== Day 25, Thursday January 27 ==<br />
leighton <br />
<br />
== Day 26, Friday January 28 ==<br />
WE WON!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1</div>Lbarneshttps://maslab.mit.edu/2011/wiki/Team_Ten/JournalTeam Ten/Journal2011-01-04T00:15:43Z<p>Maslab10: </p>
<hr />
<div>'''Monday January 3rd, 2011'''<br />
<br />
We managed to write the HelloWorld code, implement a simple robot, and run a simple program on its motors to show that it works. In the way of doing this, we confronted two problems. First problem was that we were unable to communicate with the uorc board. The problem was with the board and was solved by short circuiting the Estop. The second problem was that the motors were connected so tight to the wooden board that they did not move. We solved the problem by loosing them. We're hungry!!!<br />
<br />
----<br />
<br />
'''Tuesday January 4th, 2011'''<br />
<br />
We have discussed strategy, structural and mechanical design and are still discussing strategy!! Plus we are deciding who gets to keep their computer plugged in to the wall. Unfortunately, plugs only come in pairs. We have a really good schedule set up and are planning to follow it even if it mean building the robot in the next 5 days! However, we are quite pleased with our design and feel that any obstacles will only make us stronger!!<br />
<br />
----<br />
<br />
'''Wednesday January 5th, 2011'''<br />
<br />
Today we completed checkpoint 3. We ate subway sandwiches. Two of us got trained at Edgerton. We chose the design for our robot. We failed at naming our robot. Voitek is trying to do all the coding tonight for both checkpoint 4 and 5. YES! <br />
The design of our robot consists of two Archimede's screws and a collection basket on the top level of our robot to throw balls over the opposing team's wall. Simple and effective<br />
Over and out.<br />
<br />
<br />
----<br />
<br />
'''Thursday January 6th, 2011'''<br />
<br />
Completed two archimede's screws which are the direct opposite of each other. Preliminary ball elevating operations succeeded but we need to attach three shafts for it to work correctly.<br />
We completed two checkpoints in one day today as well (4 and 5).<br />
<br />
<br />
----<br />
<br />
'''Friday January 7th, 2011'''<br />
<br />
Completed two shafts that will make the archimede's screws spin. <br />
Ordered gpu online. <br />
Began work on encoders.<br />
<br />
<br />
----<br />
<br />
'''Saturday January 8th 2011'''<br />
<br />
Continued work on encoders.<br />
<br />
----<br />
<br />
''' Sunday January 9th 2011'''<br />
<br />
Continued work on encoders.<br />
Cut wood for the screw casing which will be attached to the back of the robot. <br />
We plan to have an operational robot by tuesday.<br />
<br />
----<br />
<br />
''' To be continued :] '''<br />
<br />
----<br />
<br />
''' Tuesday January 11th '''<br />
<br />
After some tinkering it seems that 1 screw will work much better than 2 screws, especially in terms of stability. So we reconfigured the designs. <br />
<br />
----<br />
<br />
''' Wednesday January 12th '''<br />
<br />
Epically snowed out of the lab.<br />
<br />
----<br />
<br />
''' Friday January 14th 2011 '''<br />
<br />
Mock Contest today!! So we found out that our robot was slightly too close to the ground so we had to cut the guides on the bottom of the robot. So we took the robot apart after the mock to work on it. During the interview we put our robot together for a picture and it looked awesome!( with the exception of no orc board, computer or battery ) It looked as though our robot will be running by will power!!<br />
Front door was made and hopefully trap all the balls bwahahaha... <br />
----<br />
<br />
''' Saturday January 15th 2011 '''<br />
<br />
Took robot apart again :] this time to put on the new epic mice encoders. They are attached with a spring system making them versatile to the change in terrain. Now just gotta code them perfectly >.<<br />
<br />
----<br />
<br />
''' Sunday January 16th 2011 '''<br />
<br />
Wrote code for PID!!<br />
<br />
----<br />
<br />
''' Monday January 17th 2011 '''<br />
<br />
Measured camera angles and positions relative to our center for parameters of the vision program. Found an infinite loop in the vision program. Everything should be working better. Although mice are not being cooperative and only one work at a time.<br />
<br />
----<br />
<br />
''' Tuesday January 18th 2011 '''<br />
<br />
Found that mice input different data than what the program expected and that's why we couldn't find the mice input when we initiate the program! Calibrating our cameras by using a graphical ground to travel on.<br />
<br />
----<br />
<br />
''' Wednesday January 19th 2011 '''<br />
<br />
So the robot will be name HITMAN: AGENT 47<br />
With some more coding we may be able to not only graphically show the audience the where the balls are but also a map of the maze that we have traversed so far. And keep calibrating the cameras!!<br />
<br />
----<br />
<br />
''' Friday January 21th 2011 '''<br />
<br />
Front gate is officially on!! And it works quite well?! Less than a dollar's worth of wire and cardboard with a bit of hot glue does the job! The mother board and orc are officially installed and ready to go!<br />
<br />
----<br />
<br />
''' Saturday January 22nd 2011 '''<br />
<br />
So we are getting new battery supply!! 2 sets of car batteries which will charge the motherboard and orc board! They even fit quite well too! And we still have to keep calibrating the cameras for the best results.<br />
<br />
----<br />
<br />
''' Monday January 24th 2011 '''<br />
<br />
The gear seem to have stopped staying attached to the screw. We can fix that! Also, we put sliders on the mice to prevent it from getting stuck and breaking. More camera calibration is in effect :]<br />
<br />
----<br />
<br />
''' Tuesday January 25th 2011 '''<br />
<br />
Mock 4.</div>Maslab10https://maslab.mit.edu/2011/wiki/Team_Three/JournalTeam Three/Journal2011-01-03T23:19:46Z<p>Cloitre: </p>
<hr />
<div><h3>January 3rd: Where Everything Started</h3><br />
<br><ul><br />
<li>Day one. Team is ready. Team is willing to show off... but uORC is not.</li><br />
<li>After assembling the pegbot and linking the (fancy) eeePC to our PC via the bot client, we encountered a serious problem. The uORC would not respond because of firmware.</li><br />
<li>Good news : the same program works on a previous version of the uORC (all our work is not vain !)</li><br />
<li>Final positive event : we tore down the webcam in order to get the essential (the printed circuit) and it still works.</li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 4th: The Grand Design</h3><br />
<br><ul><br />
<li>Day two. Met in the morning, discussed the game. We have a plan: watermill+waterpark slides+catapult style robots with layers, just like an onion (or a cake).</li><br />
<li>After the group interview, we put all our sensors together and tested them. Everything works! We are on a roll.</li><br />
<li>What's next? CADed most of the components we have already today and will finish the robot architecture tomorrow.</li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 5th: The Grand Design Part II</h3><br />
<br><ul><br />
<li>CADing more stuff and started vision code</li></ul><br><hr><br><br />
<br />
<h3>January 6th: The All Seeing Eye</h3><br />
<br><ul><br />
<li>Yesterday involved much work, and we were all to tired to journal.</li><br />
<li>Video code and Cinnamon Toast Crunch abounds, and we are recognizing objects and taking names. (Of the objects)</li><br />
<li>With the rest of tonight we'll be wrapping up the PID controller using the quad encoders -- so far seems good. Tomorrow during the day, we will combine this with the camera error and be ready to win Mock 1.</li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 7th: The Puppy</h3><br />
<br><ul><br />
<li>Some camera/PID communication code went slightly kaput at the last minute, so we took the less elegant approach of not using PID for Checkpoint 5. We still completed it just fine, found balls, etc -- and noted that the robot looked like a puppy chasing balls.</li><br />
<li>Everybody is still helping out with the CAD design, which is looking more and more like a finished product. Where to put the laptop, though?</li><br />
<li>Some people will be working on finishing the CAD and fabricating the robot, while some are working on making the pegbot able to score some goals to win pizza at Mock 1.</li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 8th: Sensory Saturday </h3><br />
<br><ul><br />
<li>Time to place sensors on the pegbot. Lets check all of them, two encoders, gyro, bumps, IR, breakbeam.</li><br />
<li>Audren and Faye are working around the clock to finish the robot from their CAD models. Final check on the CAD design before sending it to the lasercutter.</li><br />
<li>??? What is the best way to design the ball ramp? Respects to waterpark designers. </li><br />
<li>??? What is the best way to design the ball scooper? Thinking strongly of using a kitchen utensil, can you guess which one?</li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 9th: CADing Continues </h3><br />
<br><ul><br />
<li>Unsatified with the design, more modifications have been made. </li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 10th: Mock 1 </h3><br />
<br><ul><br />
<li>Lasercutting delayed because with the preset parameters, the 1/4" acrylic didn't get cut all the way through.</li><br />
<li>Mock 1 run does exactly what we want it to do. Spin and aim for the closest ball. We displace one. Yes! </li><br />
<li>Filling our bellies with our own pizza, Feta and Jalapeno, Sausage and Mushroom, coding continues. </li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 11th: Lasercutter Mastered </h3><br />
<br><ul><br />
<li>Central Machine Shop is out of 1/4" acrylic, so we make due with 3/8". To the reader: Buy acrylic early.</li><br />
<li>Cut, cut, cut ... </li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 12th: Snow Day </h3><br />
<br><ul><br />
<li>[http://voices.washingtonpost.com/capitalweathergang/2011/01/snowstorm_breezes_through_nyc.html Boston Buried, We Were Trapped]</li><br />
<li>Audren walked to lab and found it empty. Proceed to assembly the camera mount. </li><br />
<li>Jamie is coding up a storm -- PID, wall detecting, ball finding -- all a piece of cake.</li><br />
<li>Chances at winning Mock 2 without a properly tested robot are small, but we might be able to pull it off.</li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 13th pm - 14th am: Race to Mock 2</h3><br />
<br><ul><br />
<li>Coding happened all night long, and a lot got done, but there are still some screw-ups, along with the finished robot product being different from the testing platform</li><br />
<li>After debugging some crashing into wall behavior for quite some time, it was found that a wheel was loose. Hard to avoid walls with a loose wheel; that's what I always say.</li><br />
<li>Robot completion is nearing in the AM. For Mock 2 we will not be able to score over the yellow wall, however we plan to use our incomplete robot to score in regular goals. Retrofitting of a makeshift arm+servo mechanism is underway, and could be promising.</li><br />
<li>A Mock 2 victory is looking very distant at the moment. However, unlike Mock 1, it is a possibility.</li><br />
</ul><br />
<br><hr><br><br />
<br />
<br />
<h3>January 14th: Mock 2</h3><br />
<br><ul><br />
<li>Whole day assembly in preparation for the mock competition. No ball slide. Arm hastily put together. No drawbridge. Minimal scoring mechanism. </li><br />
<li>Ready, Set, Charge, ---> Ram the Wall</li><br />
<li>Wheel determined to be too low and would get stuck on carpet bumps. Plan to raise in next CAD revision.<br />
<li>Before final run, Wheel Falls Off</li><br />
<li>Hurried off to Rental Equipment Fitting. (We are going on a team ski trip)</li><br />
</ul><br />
<br><hr><br><br />
<br />
<br />
<h3>January 15th: Extreme Makeover - The Robot Edition</h3><br />
<br><ul><br />
<li>+BallSlide, ++Drawbridge</li><br />
<li>CADing new wheel design</li><br />
</ul><br />
<br><hr><br><br />
<br />
<br />
<h3>January 16th: Second Sunday</h3><br />
<br><ul><br />
<li>Bought an Al tube as backup for the BallSlide</li><br />
<li>Final final CAD layout</li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 17th: Tinkering</h3><br />
<br><ul><br />
<li>Lasercut new wheels</li><br />
<li>Playing with all the bump sensors, Count:8</li><br />
<li>Attempted arm design and finished drawbridge design</li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 18th - 19th am: Race to Mock 3</h3><br />
<br><ul><br />
<li>Finished arm design</li><br />
<li>Remounted bump sensors because the epoxy came off.</li><br />
<li>All-Night Code</li><br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 19th: Mock 3</h3><br />
<br><ul><br />
<li>Found out that the bump sensors were mounted above the wall, and need to lower them.</li><br />
<li>Give the Monsieur a moustache.</li><br />
<li>Change strategy at the last moment to WIN!</li><br />
<li>Food was delicious, sponsors liked our robot.</li><br />
</ul><br />
<br><hr><br><br />
<br />
<br />
<h3>January 20th: Code code code !</h3><br />
<br><ul><br />
<li>As Monsieur Robot is somehow operationnal, James could test his code on it<br />
<li>MechE designers chill out<br />
</ul><br />
<br><hr><br><br />
<br />
<br />
<h3>January 21th: Rush before skiing</h3><br />
<br><ul><br />
<li>Code keeps on improving<br />
<li>Start the design of an acrylic ramp that would be more reliable than the wooden prototype<br />
<li>Left lab early to catch the bus for Sunday River.<br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 22nd to 24th: On the slopes by -20 degree Fahrenheit</h3><br />
<br><ul><br />
<li>The team takes some rest before the last week.<br />
<li>Sunday river is awesome.<br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 25th: Back in the business</h3><br />
<br><ul><br />
<li>Back to code improvement<br />
<li> The design of the acrylic ramp is finalized <br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 26th: Fixing details</h3><br />
<br><ul><br />
<li>The ramp is laser cut and assembled. It works just fine<br />
<li> Breakbeam sensors are built and mounted on Monsieur Robot. Now we can catch balls more reliably.<br />
<li> the two front bump sensors are replaced by new ones. They are more sturdy and look like they can handle several hours of use.<br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 27th: What else?</h3><br />
<br><ul><br />
<li>A small modification in the code makes a huge difference. Monsieur Robot goes slower and makes less mistakes<br />
<li>The wheels became loose again. We decide to change the screws with unused ones and loctite them. we never had any problem with those again.<br />
<li> We impound our Monsieur robot for the night. Tomorrow is gonna be a big day for him!<br />
</ul><br />
<br><hr><br><br />
<br />
<h3>January 28th: This it!</h3><br />
<br><ul><br />
<li>Final competition. We finish 2nd after losing twice against team 2 at the winner bracket final and overall final.<br />
<li>We did not encountered any kind of failure during the entire competition nor changed the code in between rounds. Monsieur Robot worked perfect!<br />
<li> Most importantly, Monsieur Robot won the best dressed award - the secret goal of our team from the very beginning :)<br />
</ul><br />
<br><hr><br><br />
<br />
<br />
<!-- Title: The final Cut --></div>Cloitrehttps://maslab.mit.edu/2011/wiki/Team_Six/JournalTeam Six/Journal2011-01-03T19:31:15Z<p>Wings: </p>
<hr />
<div>__TOC__<br />
<br />
==January 3rd, 2011==<br />
<br />
First time writing the date this year, and I (Piper) got it right! W00! Anyway, our team began Maslab in an extremely sleep-deprived state, which made things very amusing. (I was incredibly giggly...) (I am journaling this sleep-deprived. Expect lots of exclamation points and smiley faces!)<br />
<br />
Problems we ran into with our code: our "Hello, World!" statement won't print without being in an infinite loop. We're not entirely sure why, but this problem didn't carry over to our Drive class (which we used to get our second component of the checkoff - the robot drove forward for three seconds). This is a good thing, because interrupting the infinite loop didn't work, and we can't make infinity last only three seconds :). After a little debugging, our code successfully drove the robot forward for three seconds and stopped.<br />
<br />
With the actual board, we were able to attach our wheels, motors, and castor to our base. We had trouble securing all our wires to the microboard, since the crimping didn't seem to clamp the wires down all the way. We also had to short our emergency stop (due to Maslab adjusting some of the code this year) before our robot could work. But worked it did! And we got a checkoff! And then it broke again! After replacing a fuse and soldering the insides of our battery clips, our attachments were more secure and the robot worked again :).<br />
<br />
<br />
'''[x] Since one of our motors were initially wired backwards, our ground and power do not follow the standard color convention. We should rewire this.<br />
<br />
'''[x] Double check to see that when our code decides the robot is moving forward, the robot is moving forward instead of backwards.<br />
<br />
==January 4th, 2011==<br />
<br />
'''Possible algorithm for robot''': The algorithm runs as long as the timer is noted less than 3 minutes (180 seconds). The first ball seen will have its color noted and be saved in a variable called our_color. As soon as this is established, search the map for goals, the goals are determined as follows: if a yellow wall is seen, drive up to it and use the ir sensor to determine whether or not the depth of the wall varies along its length. If the wall does vary, save the location of the goal in a list called goals_loc[]. When the number of goals is greater than 2 (or if more than 30 seconds have elapsed), then begin to look for balls. Whenever a ball is found, look for the nearest goal and transfer the ball to that goal. Do this as long as the timer has not gone over 2 minutes. After two minutes, whenever a ball is found, if the distance between the ball and the nearest known wall to the opponents side is less than the distance to the nearest known goal, then save the distance and calculate a random number between 0 and 1 and save it to rand_n. Should rand_n > e ^ -(d_togoal-d_towall), throw the ball over the wall, else, throw the ball into the goal. Stop after 3 minutes.<br />
<br />
'''Robot strategy''': We decided that we are stronger on the course 6 side of the spectrum than the course 2 side of the spectrum. We're going to keep our robot design relatively simple, with a conveyor belt and accompanying pinball-machine-like doors to pull balls into the robot and drop them into a compartment. On the side, we will have a door that opens when told so that we can drop all our balls into the goal. We decided not to drop balls onto the other side in order to keep our robot simple so that we can focus on our code.<br />
<br />
'''Schedule'''<br />
<br />
* Michael - Since Maslab is his main IAP commitment, he'll code in the evenings and possibly during the day. <br />
* Shawn - Work until 4pm every day, code at night with Michael.<br />
* Piper - Work on building between lecture (or late mornings when lecture isn't happening) and 7pm daily.<br />
* Xavier - Work on building between lecture (or late mornings when lecture isn't happening) and 7pm daily.<br />
<br />
'''Other'''<br />
* Piper did shop training today.<br />
* Xavier did laser training today.<br />
<br />
<br />
'''[x] TA gave us a suggestion for fixing the code problem we had on the first day. Try it out. [it works now! yay!]'''<br />
<br />
== January 5th, 2011 ==<br />
<br />
'''New robot strategy''': We came to realize that our original robot design was problematic. Our design had a lot of failure modes. The conveyor belt roller would have to be very small so that the ball would be pulled up it rather than pulled away, and the doors pushing the ball onto the roller would have to be well synchronized. We decided to start from scratch, and came up with something we believe will work much better. So, yay! :)<br />
<br />
We're going to have a scoop with a slanted arm leading down, away from the robot. We will scoop the ball, then rotate the arm up so that it rolls down the arm into our collection box. This requires another motor with a decent amount of torque, and will likely be our main expense. Our collection box will be at least 6" above the ground. Our computer, battery, and orc board will live under the collection box. The collection box itself will be slanted towards a drawbridge on the back, which we will use a servo to open and close. With this design, we believe that building will be easier, ball collection will be more predictable, and we will now be able to score over the wall! <br />
<br />
We are currently working on a SolidWorks design. <br />
<br />
'''Other labwork''': We were able to successfully attach our new sensor to the orc board and calibrate it. (The distance is 16.93*output+1.624.) We decided that for consistency, we're going to be American and use inches. We got the robot to go up to a wall, sense it, stop, and turn. Thus earning Checkpoint 3! Yay! We started working on our image processing/camera, as well as making some cutouts to envision our robot better.<br />
<br />
'''Other''': Piper is no longer as sleep-deprived or as sick! Thus, the journaling is less scatterbrained. Bwaha. Shawn is somehow getting his thesis work done despite also doing Maslab! Xavier is sore from Ultimate frisbee (and has practice again tonight lol)! Michael is having trouble constantly switching between Mac OS, Ubuntu, and Windows.<br />
<br />
'''Other other''': Our print statement during testing was "Scully Scully Scully Scully Scully". This amused Michael greatly. Piper may or may not be obsessed with the X Files.<br />
<br />
<br />
<br />
'''[x] Possibly move wheels more towards the middle of our board. [we're probably going to with a two-wheel-two-caster operation<br />
<br />
'''[x] Figure out the torque needed on the new motor (weigh the balls?) [balls are super light]<br />
<br />
==January 6th, 2011==<br />
<br />
'''Lab''': Shawn and Xavier worked on robot design while Michael worked on the Checkoff 4 imaging problem. Piper joined Michael after the H-bridge tutorial. Also soldered a header together so that we could short our ESTOP in a less painful way :).<br />
<br />
'''Other''': Piper went to the H-bridge tutorial. Below are her random notes.<br />
<br />
* Current sense lines, always ground them. Both enable A and enable B should be tied to Vss. Input 1 and input 2 are tied to enable A and 3/4 are supplied to B. Orcboard output 5V needs to be connected to 5V line. Need to ground battery to ground and ground orcboard to ground. Supply voltage needs to be connected to the 12V line on battery.<br />
* Control-c might stop the code but not the motor. Make sure to clear the ports so that the motor stops in time.<br />
* Data sheet here: http://web.mit.edu/6.186/2011/Lectures/L298.pdf<br />
* There was an email sent out about shutdown hooks. We should look here: : http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html#addShutdownHook(java.lang.Thread)<br />
<br />
'''Other other''': <br />
<br />
* Michael and Piper have been arguing about who's a better Mexican for the past half hour.<br />
* And then a Spanish-speaking machine called Xavier's phone. He might be part of the Mexican mafia, and thus be most Mexican of all.<br />
* Robot beta plan (Piper's way): Robot is a giant skewer. Robot skewers other team's robot until dead. Robot then skewers own balls and tosses skewer onto other side. Profit!<br />
* Robot charlie plan (Shawn's way): robot is a giant vacuum. Robot vacuums up all balls. Robot fires all balls at the other team's robot. Profit!<br />
* Violence is the answer.<br />
* Robot delta plan (Shawn's other way): Build a plane. Collect balls upon takeoff. Dump on other side. Should be easy, right? :D<br />
* We were really happy to realize that our journal was long, thus writing the final paper will likely be super easy. Then we realized only about a quarter of the information here would actually be useful to our papers >.> :D<br />
<br />
<br />
'''[x] Figure out why our motors are so temperamental.<br />
<br />
'''[x] Decide where we want our sensors and camera.<br />
<br />
==January 7th, 2011==<br />
<br />
'''Labwork''': Our code can find red, blue, green, and yellow things! Yay, Checkoff Four! We also now have a full cardboard mockup of our robot, so we can start building. We're currently hard at work on the Checkoff Five code.<br />
<br />
'''Weekend plan''':<br />
* CODE CODE CODE<br />
* SolidWorks ? [decided not to do this because we have a physical model]<br />
<br />
'''Future plan''':<br />
* Use Monday's mock competition as a place to test our detection code and robot movement<br />
* Make robot parts and build this week!<br />
<br />
==January 10th, 2011==<br />
<br />
'''Lab''': SO MUCH CODING!!!!!! We did a lot of coding today, as well as revised our strategies for post-mock-competition. (Our robot isn't fully built yet, so our idealized code wouldn't have worked for this mock competition.) We ran into a lot of problems getting our camera to work :( Hopefully we'll be able to spend Tuesday-Thursday building and constructing for our robot, and testing our more finalized code by Thursday evening.<br />
<br />
'''Other''':<br />
* New robot strategy: Our robot will totally not be a trained puppy with an orcboard taped to it. It may ''look'' that way, but we promise the drool is purely synthetic.<br />
<br />
'''Other Other''':<br />
* "How can Farrah Fawcett die? She was so cool!"<br />
* Batman hasn't died because he is ''actually'' cool.<br />
<br />
<br />
'''[x] Figure out why our repository is sad. (We ended up not using the repository.)<br />
<br />
==January 11th, 2011==<br />
<br />
'''Lab''': EVEN MORE CODING OMGZ!!!! We also made some progress on making our design REAL! We have dimensions ready and hinges designed so that we can spend the rest of the week building, hoping to be done by Thursday evening. We got the camera to supply tracking! Now it accurately gives information to the controller and gives recommendations on what way the robot should turn.<br />
<br />
Michael then doubled the speed of image processing. We were doing the main process twice.<br />
'''Other''':<br />
* Beakman is better than Bill Nye, but no one ever saw Beakman :/<br />
* Xena was way more attractive than Bill Nye.<br />
* We have been in Maslab forever. <br />
* Piper hates computers. (But she really loves them.)<br />
* The passage of time is truly a mystery. "How did it 6pm?!"<br />
* Michael is obsessed by the song "Vagabond" from 500 Days of Summer (a movie that makes him cry).<br />
<br />
==January 12th, 2011==<br />
<br />
Snow day!!!! Michael did some angle from image data calculations and got stressed when he couldn't work it out so he came to annoy Piper.<br />
<br />
==January 13th, 2011==<br />
<br />
'''Lab''': Since lab was closed yesterday, we're now working on getting our pieces for the bot today. We decided to go with plexiglass, which is a bit more difficult to cut, so we've changed to lasering it. Our robot can now hopefully work its way ok around walls. Yay for metalwork and running to the hardware store to get hinges. (If only Economy Hardware weren't closed :(.)<br />
<br />
'''Other''':<br />
* Descent was the best game ever.<br />
* Scully is really, really short. Like, 5th grader short. And she's the same height as Piper.<br />
<br />
==January 14th, 2011==<br />
<br />
'''Lab''': After many interesting events last night/this week where the world just did NOT want us to build, we finally got our lasercutting-of-the-plexiglass done! Yay! We also made l-bars and other things to prepare for finally building this thing, which we will do tomorrow. We got checkoff 7 by discussing our current code as well as our plans for our robot design.<br />
<br />
'''Other''':<br />
* Shawn and Piper attended a wedding, and hence look incredibly snazzy today.<br />
<br />
== January 17th, 2011 ==<br />
<br />
'''Lab''': Our robot is finally a Real Thing now! It's assembled and shiny. We had to make some small modifications/redrilling. It looks like for our scoop, we'll be attaching the motors to string, having drawbridges for both our scoop and our open door. The Plexiglas might distort some of our images, so Michael will be writing code tonight to account for this. <br />
<br />
'''Other''':<br />
* Mystery Hunt was ''fantastic''! Xavier was on the winning team, and thus will be writing next year's Hunt! Shawn and Piper have finally thawed out from running around Harvard at 3am.<br />
<br />
== January 18th, 2011 ==<br />
<br />
'''Lab''': We can program our servo to do what we want! We also learned to use a lathe (at the Edgerton) , and thus made nifty pullies. We placed our center wedge in, and placed it such that balls will roll out of the opening. Our teeth for our scoop is complete.<br />
<br />
'''Other''':<br />
* We have figured out our strategy utilizing Portal guns. Unfortunately, GLaDOS does not exist. Yet.<br />
<br />
== January 19th, 2011 ==<br />
<br />
'''Lab''': Our robot is almost done! We currently have our teeth and servo taped to our robot instead of bolted in, our IR sensors and bump sensors need to be plugged in, attach string to our drawbridge motors, and rewire our drawbridge motors. We'll probably add a spacer so that our scoop doesn't encounter enough friction to stop our robot. This should all be doable within the next day or so. After that, it looks like we'll just have debugging ahead of us (haha, "just"). We need to recalibrate our colors and integrate our new sensors into the code.<br />
<br />
'''Other''':<br />
* Piper's love allows aliens to cure cancer. Do not question X Files logic.<br />
* Did we ever mention our most dastardly winning scheme? Teams don't seem to change their laptop passwords, so it'd be awfully easy to ssh in and...<br />
* Our robot's particularly ferocious appearance have led us to finally decide on a name... '''Steampunk Cthulhu'''. (But the OrcBoard's name is still scully.)<br />
<br />
== January 20th, 2011 ==<br />
<br />
'''Lab''': We are no longer using tape to keep our servo and teeth and various other parts together! We have lost our ghetto! We remachined a few parts and got some new ones (like our servo attachment) at Edgerton. Our servo is finally attached and done. Our drawbridge is ACTUALLY FUNCTIONAL!!!1!!eleventy!!! Our drawbridge uses pink strings, which only make Steampunk Cthulhu more fierce. It turns out gorilla glue is not sufficient for our teeth, so we're currently using tape. Yay, ghetto again!<br />
<br />
<br />
'''[x] Redo teeth?<br />
<br />
'''[x] Latch down collector plate so that the motors don't start drawing itself up instead of the scoop<br />
<br />
== January 24th, 2011 ==<br />
<br />
OH MAN LAST-MINUTE STUFF NOTHING COULD POSSIBLY GO WRONG!<br />
<br />
'''Lab''': Today's a day for odds and ends, in that the bulk of our robot is built and we're attaching our last (but crucial) bits. Our teeth are now bolted to our robot. Our collector plate will be bolted to the rest of our robot so that it does not raise when the scoop is supposed to raise.<br />
<br />
'''Other''': <br />
* IN THE NAME OF COMPASSION AND MEDICAL SCIENCE, I CAN SAVE MANY LIIIIIIVVESSSS IF YOU GIVE ME ONE MAN. (Jekyll & Hyde is coming to MTG soon!)<br />
<br />
'''[x] Attach bump sensors and IR to OrcBoard {though no longer using IR sensors}<br />
<br />
''[x] Do we want to play with a gyro? {No}<br />
<br />
''[x] Maybe something for our balls to slide off of when released, to make sure they go over the wall<br />
<br />
''[x] Scotch tape to smooth out teeth (or a stop for our scoop? {no})<br />
<br />
== January 25-27th, 2011 ==<br />
<br />
'''Lab''': CODE CODE CODE CODE c'mon Mrs. Cthulhu, why don't you work?? ;_;<br />
<br />
<br />
'''Other''':<br />
* JOSIE AND THE PUSSSYCATTSSSSS<br />
<br />
"What are you guys doing?" <br />
"We're spoiling Star Wars for wings again."<br />
"What? I already know what happens. That one dude is the guy's father and everything is fine."<br />
"Just like that, huh?"<br />
<br />
<br />
'''[ ] Make sure to tighten all our bolts before we turn in our robot<br />
<br />
''[ ] String/motor relationship should be improved for consistent winding.<br />
<br />
<br />
== Additional Notes ==<br />
<br />
<br />
Notes From Xavier <br />
<br />
<br />
'''tldr for teams that want to know what we learned.'''<br />
<br />
Our team did what we came to maslab to do. Everyone had their own goals in mind and I think that we all ended up getting more than we were both asking or hoping for, One thing that we did not do that I imagine there have been heated discussions about is defined roles. This is only in the sense that we did not tell anyone "This is your job, you must do this." It was more of a "Thank you for picking this thing to do to help the team."<br />
<br />
<br />
This worked out really well in all but one instance and that was with respect to our code. The roles that we intended to have were split into two groups, building and coding. Our two strongest coders would write and handle the code and everyone else got to build. What developed was a complex hierarchy of task management where I did most of the building after discussing the design with Shawn and Wings would keep us on track by not only updating our list of things we planned to do and checking that we had done them but also writing our journal entries and eventually contributing heavily to the final paper Wings and Shawn would also solder and construct other parts that would be used to build the robot. This system worked great for the part of the team that used it. We would talk to each other, sanity check all of our ideas, and even propose alternative ideas of varying quality so that we could come to an agreement on what a good solution would be. This did not happen for our code and that was our downfall.<br />
Before I potentially offend Michael it should be noted that he was perfectly competent, friendly, and wrote a lot of time consuming code, all the while looking for more ways in which he could help the team. There was simply a disconnect between communicating how the code acted and what the code needed. The rest of the tea was always aware of what code had been written, such as the state machine or the vision processing code. What we did not know is how it intended to handle the information that it got. This made Michael too important to the team and the only member of the team that if the team lost the others would not be able to function productively and when he got sick during the final week of IAP it brought our progress to zero until he felt well enough to write more code (which he proceeded to do for > 24 of the next 32 hours.) During this time we finally got a chance to really debug the code for the first time and a large percentage of the issues we were dealing with could have been dealt with previously if we had been having productive conversations about the cod and also if Michael had some for of physical thing he could have used to test with. Overall I am glad that we got through maslab together, we would most certainly do better if we knew what we now know, and I hope that if you skipped to the end you take the time to have more than a single person who understands and can work on the code.<br />
<br />
== Competition Day ==<br />
<br />
YAYYYYY it's done!<br />
<br />
Shawn, Xavier, and Michael had a running bet on how many times Wings would say "ponies" in the course of the month. Shawn won at around 50 ponies. Wings was incredibly amused to find this out.</div>Wingshttps://maslab.mit.edu/2011/wiki/Team_OneTeam One2011-01-03T17:58:42Z<p>Andreali: </p>
<hr />
<div>Maslab team 1<br />
<br />
Note: Our team name is part of a game. The game's objective is to come up with the most bizarre/awesome/awkward team name EVER!<br />
<br />
List of names thus far:<br />
<br />
* Sheila [Allan]<br />
* Troll Ex Machina [Erons]<br />
* Ghost of the Navigator [Erons]<br />
* Ghost of the Captivator [Erons]<br />
* Infidel Castro Motor Oil [Erons]<br />
* S.T.R.O.N.G. A.R.M. [For Muth]<br />
* The Pink Yeast Beast from the East [Red]<br />
* ROFLCOPTER [Erons]<br />
* Instruments of Pain [Erons]<br />
* if(config){18.111.97.222} [Andrea]</div>Andrealihttps://maslab.mit.edu/2011/wiki/Team_One/JournalTeam One/Journal2011-01-03T17:57:21Z<p>Andreali: </p>
<hr />
<div>'''Day 0 (Jan 02):'''<br />
<br />
-Discussion over Skype of strategy, organization and task allocation. (E,C,Al,M)<br />
<br />
'''Day 1 (Jan 03):'''<br />
<br />
*Lectures 0, 1 and 2 were attended. (C,Al,An)<br />
*Built the peg bot with two casters<br />
*Sent messages from the eeePC to Allen's laptop<br />
*Made robot drive forward to fulfill checkpoint 1<br />
<br />
'''Day 2 (Jan 04)<br />
<br />
*Andrea attended laser cutter training at Edgerton<br />
*Attended lecture (C, Al, An)<br />
*Discussed our schedule, strategy, code architecture, mechanical design with Ellen for checkoff 2<br />
*Cory attended general shop training at Edgerton<br />
*Allan worked on vision code<br />
*Andrea worked on sensor implementation<br />
*Cory and Erons began prototypes of the shooter and roller component. We decided to work in Random's shop and EE lab for the evening because we had ready access to various odds and ends to make our prototypes out of.<br />
*Andrea and Allan survived a day with each other coding.<br />
<br />
[[Image:AndreaAllan.jpg]]<br />
<br />
''' Day 3 of captivity (Jan 05)<br />
*Captors have completed checkpoint three last night<br />
*Botclient continues to provide problems, will address<br />
*Decided to re-porpoise robot to kill captors in sleep<br />
*Matt has returned from the sunny west!<br />
*Cory slept through lecture on accident because taking the red-eye back to boston from California destroyed his sleep cycle. He apologizes.<br />
*Replaced left motor<br />
*Turned in checkpoint three<br />
*Purchased materials for the robot<br />
*Set up git (Thanks Matt)<br />
*Erons found a potential candidate for a shooter motor underneath his bed<br />
[[Image:What9000.jpg|frame|none|alt=WHAT 9000?!?| *This motor is rated at 25,500 RPM at 7.2Volts. Our design only requires 2000 RPM to launch balls about 5 metres]]<br />
<br />
''' Day 4 of captivity (Jan 06)<br />
*Captors made me identify a ball<br />
*Weapon system (shooter) prototyped, the fools plan to arm me<br />
*Structure CAD work well under way, should be finished soon<br />
*Wander code began<br />
<br />
''' Day 5 of captivity (Jan 07)<br />
*CADs being finalized for laser cutting on Saturday and Sunday<br />
*Worked on the interface between the high RPM motors and the rollers<br />
*Worked on PD code<br />
<br />
'''Day 6-7'''<br />
*Light workload for the weekend because going full throttle for the entire month would kill us. Coders programmed a little, meches refined the design in anticipation of laser cutting and waited for parrts to arrive.<br />
<br />
''' Day 9 of captivity (Jan 11)<br />
*My battle armor has been laser cut, assembly in progress (waiting for parts in the mail<br />
*PID controller for ball targeting complete<br />
*Vision code being reworked<br />
*Ball conveyor being being constructed<br />
<br />
'''Days 10-12'''<br />
*Cory editing here. I have grown bored of the captivity joke that erons was running. I am writing these journal entries retroactively. We did not sleep properly in this time window. Dates lost all meaning. <br />
*The mechEs put together the laser cut bits. the force of friction alone turned out to be enough to hold the pieces of plastic together for testing purposes, so we didn't bolt anything. <br />
*The roller functions but needs streamlined before competition.<br />
*In an attempt to reduce friction in the shooter and roller, we inserted bushings into the holes. HOWEVER,in doing so, we both made the bot ugly and (in the shooter's case) threw our carefully machined holes out of whack. parts of the robot will probably be re-cut.<br />
*lots of work was done at weird times of day at MITers. Holy crap people are seriously there at all times of day.<br />
*The coders continued developing their respective code sections. Matt did vision, Allan's doing PID and i think Andrea was doing the wandering/ball-searching algorithm <br />
<br />
''' Day 13 (Jan 15)<br />
<br />
[[Image:RoboRage.png]]<br />
<br />
<br />
<br />
'''Weekend - 16th and 17th'''<br />
*Due to a combination of crappy sleep cycles and other things, we took a light weekend. The coders either rested or went to participate in Mystery Hunt. Meches re-CAD-ed.<br />
<br />
<br />
'''MLK Jr Day:'''<br />
*The replacement laptop appears to have various issues that the coders have been dealing with while trying to test varying code snippets. Some bin files were messed up and things like that. Ideally one of them will update this journal entry with specifics.<br />
*The new parts were re-laser-cut, with extra allowances for things like bushings and the electronics. Also the back plate now features a sweet phoenix-looking thing that was painted on the wall in Allan's room by a previous resident.<br />
<br />
<br />
'''Jan 24:'''<br />
*The issues with the drive motors have been fixed. Our shooter is being replaced with a servo dumping gate<br />
*Ball rollers are still flaky, but being updated and worked on<br />
*On the new robot: wall fol following +ball gathering + wall acquisition is all checked and works<br />
*Magnetometer code is being written. Here is an image of the...errr ''fabulous'' data we have:<br />
[[Image: MagnitomiterDataBad.jpeg]]<br />
[[Image: MagnitomiterDataBad2.jpeg]]<br />
<br />
<br />
'''Jan 25:'''<br />
*The Magnetometer is working! Look at the beautiful data. <br />
[[Image: MagnitomiterDataGood.jpeg]]</div>Andreali