Team Four/Journal

From Maslab 2007

Jump to: navigation, search
Maslab teams
Team 1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · 10 · 11 · 12 · 13 · 14 · 15 · 16 · 17 · 18
Team Four’s Journal

Jan 8 Our pegbot worked quite well after some small tweaking. We assembled the OrcBoard with minimal fuss, and now we're ready to get started on the real machine!

Jan 9 We started to narrow our design ideas to a collection design that uses a helix roll, and a flipper roller. Danny mentioned rotating concentric circles to collect the balls, but releasing them would be a problem. We also finished the range sensor code, and found that range sensors suck.

Jan 10 So, we decided that the helix formation would probably be the best design for the ball collector. I still think that a good back up plan would be using a vacuum as a suction device and accurately dunmp one ball everytime. Zach is finishing the checkpoint one paper while Juan works on the isometric drawings for some of the parts we envision. We got the ball-finding code for checkpoint one working.

Jan 11 Checkpoint One was today. Zach got blue line filtering to work. Steve wrote some code that used the gyro to make the robot go straight and turn to a precise angle. Danny started hashing out the class hierarchy. We are planning to build the chassis this weekend.

Jan 12 We got the robot going straight today. The code for turning to a precise angle has just a few minor bugs. We encountered a big problem when we tried to test our code outside of lab. The robot's IP address started with 10.202 and could not connect to our CVS server. Eventually we realized that this 10.202 IP was the MIT DHCP registration site. We took out the wireless card, connected it to another computer, and registered it with DHCP. It worked after that.

Jan 14 Steve started working on goal detection. We also determined our class hierarchy and refactored some of the ball detection code.

Jan 15 Juan started building the motor mounts. Danny started working on the code for mapping and navigation. The plan is to store barcodes as nodes of a graph and use the graph to navigate around the playing field.

Jan 16 Steve continued work on goal detection and scoring. This is a hard problem because the robot needs to approach the goal straight on, or else scoring is difficult because there is not much room for error when releasing balls into the goal. Recognizing the slant is tricky, especially since there are often noise points at the edges of goals.

Jan 17 Steve finished the scoring code. We are falling behind on building the robot because Juan is stuck in 2.670 and he is by far the best on our team at machining parts.

Jan 18 Danny unveiled his super-modular graph ADT for navigating the playing field. Our plan is to go from barcode to barcode, finding balls along the way, and noticing which goals are next to which barcodes. We will also use the barcodes to identify which areas of the field we have been to before.

Jan 19 Steve started fixing the barcode reader. Danny had started this a few days ago, but ran into problems with distinguishing the black of the barcodes from the black of the carpet. Juan finished 2.670, so he can hopefully build the robot over the weekend.

Jan 21 Steve continued work on the barcode reader. The current code identifies the wall/carpet boundary on either side of the barcode, draws a line between the boundary points, and uses the line to determine the bottom of the barcode.

Jan 22 Barcode reader finished. Juan finally finished the motor mounts. Zach has been mostly involved in another project and may not stay with Maslab until the end. At this point we still don't have anything resembling a robot.

Jan 23 Juan and Steve spent all day building the robot. We mounted the caster wheels in the front, mounted all of the computer accessories on the robot body, and put the camera at the center of a raised platform in the front. We still don't have all of our sensors (bump sensors and IR sensors) mounted, and the ball collector hasn't even been started yet. But we do have a robot to test our code on now.

Jan 24 We tried to get a basic navigation procedure put together for the mock contest, but failed. The robot would just cycle back and forth between two barcodes, or fail to read a barcode and go in circles. We decided to implement a random walk as a fallback if the robot can't see any new barcodes from where it is.

Jan 25 We skipped the mock contest and wrote the random walk today. We also soldered the bump sensors together.

Jan 26 We mounted the bump sensors on the robot, and Juan started on the ball collector.

Jan 29 Zach dropped the course. We still don't have the ball collector finished, and we're also behind on testing. At this point we don't know if we'll be able to participate in the competition.

Jan 30 Juan finished the ball collector today, giving us exactly a day and a half to test ball collection, scoring, and some of the navigation as well. We used a three-spoke design instead of the helix after discovering that the helix was too small to reliably collect balls. We permanently mounted the camera and gyro. Juan and Steve spent a long time in lab testing the vision and navigation algorithms and adjusting sensors. Danny only joined us for a couple hours at the end. This has basically been a two-man team for the last two weeks.

Jan 31 All day in lab testing ball collection. Because of the motor needed to rotate the ball collector, our ball collector was significantly narrower than our robot. Steve did not realize this when he wrote the code, and thus the balls tended to hit the edges of the ball collector or miss the collector by a few inches (even though the ball was inside the wheel of the robot). Steve tried to fix this by decreasing the maximum distance the ball could be off-center, thus making the robot's adjustments finer. This did not fix the problem. After trying various hacks for several hours, Steve decided to increase the tolerance, making the adjustments coarser. Surprisingly, this fixed the problem immediately. Apparently the robot was missing the ball because it was overshooting, and a higher tolerance let it go straight toward the goal.

Later in the day we attached pieces of wood or sheet metal to the bump sensors in order to cover a larger area. Before, the robot could hit a wall a small distance away from where one of the bump sensors was, and the bump sensor would not register as being pressed. After attaching the wood and metal, the robot never got stuck on walls.

Feb 1 We didn't do much today before impounding. Steve debugged the scoring code (which was tested successfully on the pegbot) while Juan glued the zip-ties on the ball collector in place.

Personal tools