Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2012/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2012/w/includes/Sanitizer.php on line 1550
Team Six/Journal - Maslab 2012

Team Six/Journal

From Maslab 2012
Jump to: navigation, search

Contents

Day 1: 1/9/12

Hello, world! There exists a wiki.

In the beginning Redshift created some design ideas and the Pegbot. Now the Pegbot was pretty square and also didn't drive straight, darkness was over the Pegbot because it didn't have sensors (although the camera showed promise).


Quotes

Bianca: Can you talk and solder at the same time?

Will: Yes, but I might burn myself.


Tej: Do we really need to test this again?

Will: It will make me feel really good.

Day 2: 1/10/12

Split into two groups--Bianca and Will on mechanics, Tej and Ryan on software.

Bianca and Will: Went to Stata loading dock; got lots of rollers, gears, axles from printers. Mocked up a shooter mechanism. Shooter will have two wheels (same as drive wheels) driven at 300-400rpm by a geared up drive motor (as it stands now). Came up with initial design for robot as a whole. Will will CAD up shooter model and possibly robot too.

Tej and Ryan: Worked on mocking up overall software organization. Worked on getting Checkpoint 2 ready--sensor readings had lag on the order of seconds. Problems: analog/digital pins different; problems with arduino.py?; lagging, etc.

Day 3: 1/11/12

Split into two groups again, same as before--Bianca and Will on mechanics, Tej and Ryan on software.

Bianca and Will: Tested a roller mechanism using rubber bands and printer parts. Discovered that it was not feasible. Looked at FRC Aim High ('06) robots, and decided on a ferris wheel design. Cue lots of discussing design. Went to a bike shop/MITERS/hardware store looking for an appropriately sized wheel, no luck. (Did find sliders.) Decided that Will would make a wheel in Edgerton tomorrow after training. Mocked up robot in cardboard (Yay Charles!) and started sketching designs. Tomorrow: CAD, and hopefully a Woodbot (Yay Rudolph!) by the end of the day.

Tej and Ryan: Talked over the software design with the whole group. We were calling too many things State Machines before. We had a general type of class with a step function that took in input and gave out some form of output. Since we couldn't agree on what to call this, we just named then "Blargh"s. We also decided to wrap Blarghs or chains of Blarghs in processes. We could then link these together with pipes, and get a highly modular form of data flow.

Structure: Blargh structure.jpg When we're left alone on a chalkboard, things tend to get a little crazy: Crazy plans.jpg


Naming scheme

Blargh: Basically a class that contains the step function, allowing them to be chained

Charles: Cardbot (Cardboard robot mockup)

Ferrous: The Ferris wheel in our new design

GLADOS: Eee PC

HAL: Camera

Hubble/Hubbaly/Hubbaly Hubbaly: Acrylibot (Final robot)

Rudolph: Woodbot (Wood robot mockup)



Quotes

Bianca: It looks like a gravestone with a hat.


Will: Let's call it a blargh.


Tej: I know Tej said something but I don't remember what it was. Grr.... Someone else updating the wiki should fix this. (Tej - I have no idea what I said!)

Day 4: 1/12/12

Today, we taught it obstacle avoidance and blogging [1].

Kept working in split up groups. Bianca and Will worked on CADding; Bianca mocked up the shooter in SolidWorks, Will worked on the acrylic portions of the chassis in QCAD. Today/tomorrow, Bianca will take those files and convert them to SolidWorks files. Will also went to Edgerton training and made a draft ferris!

While the ferris itself seems to be within acceptable deviation, the shaft-collar / mounting things are more difficult. The first draft ferris mount does not make the ferris perpendicular to the shaft. Will designed a second draft mount that should alleviate these problems, mostly because it has four set screws.

At Edgerton, Will also learned that the shafts collected from printers may not be useful, as they may be chrome plated and therefore too hard to cut with a normal band saw. Will shall test these at Edgerton tomorrow.

Tej and Ryan tried to eliminate lagginess in the arduino connection. They messed around with both arduino.py and arduino2.py trying to optimize for fastest responsiveness. Everything we got was unacceptably slow. We ultimately decided to rewrite the entire arduino.py and arduino firmware.

Long and short of things: mechanical design is coming along and we'll hopefully have Charles done over this weekend. We have huge laggy issues with the software; Tej and Ryan are did testing to determine where this issue might be and correct it. Ultimately deciding to rewrite the arduino connection software/firmware.

Addition to the glossary:

Margaret: Pegbot (robot made with the pegboard)

Day 5: 1/13/12

Bianca had mystery hunt/moving dorms to do, so she wasn't in lab very much. Will Finished CADing the parts for Woodbot (There are 13 parts, 8 unique parts). QCAD's method of moving parts is weird, so it has proved impossible to make a sheet so far. Will wasn't able to get access to a laser cutter after checking with Edgerton, CSAIL, and the Hobby shop, so it was decided that a bandsaw would have to do. As part of getting supplies for the woodbot, Will spotted a large Lab machine in the trash pile.

The rest of the day was spent disassembling it for parts. Will also injured his right thumb in the process. Between the parts from the machine and parts brought by Bianca's parents, we look to be in a pretty good spot.

Tomorrow, the MechE side of things will attempt to get the parts cut and start assembly.

On the software side, Tej and Ryan made great forward progress. The EEE PC and Arduino can now be interfaced with no visible delay. As of the time of writing, Tej was working on making sure that all sensor ports and motors were dynamically declared when the Arduino is run, as this will allow us to focus completely on the Python code.

Quotes:

Tej: So,... there's something wrong with our code. Ryan: Whoa.

Day 6: 1/14/12

Short work day (lab was only 12 - 5, and Bianca was busy with Mystery Hunt, Ryan was simply Not Here).

Tej and Will worked mostly independently.

Will got parts laser cut out of acrylic today, and they look fantastic. There may need to be a few modifications to make everything fit in the bot but it we should have everything we need to make a mock-up bot by Tuesday. Unfortunately Edgerton was not open today, so Will was not able to start making some necessary parts and put the bot together.

Tej continued to debug why the motor would cause the firmware to crash in the dynamic system. Ultimately this was fixed and sent to Sam. The arduino wrapper was modified to work correctly with the new Arduino class. Tej was able to get the original Checkoff 2 code working, and the response time was great! Tej and Will passed Checkoff 2.

We are now officially open source!! See https://code.google.com/p/maslab-team-6/ for our code.

Glossary:

Kartik - Our cart.

Quotes:

Sadly nothing quote-worthy today :(

Day 7: 1/15/12

Mostly a coding day.

Tej went to a classroom to think about and sketch out some plans for mapping and localization. Pictures of the chalkboard work:

Localization.jpg

Ryan worked on image processing. By the end of the day he was able to detect balls mostly correctly.

Day 8: 1/16/12

We had lots of mis-communication in the morning, but ultimately wound up meeting and working at Random shop to get Rudolph somewhat up and working. Turns out Random shop worked out really well and may have some materials (wood, metal pipe, surgical tubing) that could be pretty useful.

We also took lots of picture in lab of the field for use with Ryan's vision processing software.

Day 9: 1/17/12

Mock contest 1!

We scrambled to get our act together and unfortunately fell short by a little bit. Code-wise, we were not able to get our vision processing working (the C++ library was compiled for 64 bit instead of 32 bit... >.<). Ultimately we went with randomly moving around. Because we managed to switch one of the motor wires, though, and the wheel slipping on turning, it turned more into "turn in a circle... stop ... turn in a circle". We did have a robot that moved, though, and realistically only fell short by maybe an hour of two's worth of work.

After relaxing (and maybe doing an HSSP interview or two) Tej went back to the lab to clean up all the hackery that we put in (specifically the vision module). He found out that building the opencv library from scratch was totally unnecessary as it was already in the repository for Ubuntu. Unfortunately lacking a webcam, he cleaned up the code and left it at that. He then got some research into opencv methods that may come in handy and came up with the following very general sketch of image processing (to ultimately clean up and structure the image processing code):

Vision processing 0.jpg Vision processing 1.jpg Vision processing 2.jpg

All in all, we think we're in a pretty good place right now, and hope to soon have a robot that will move based on image processing in vaguely intelligent ways.

Day N: 1/20/12

Whoops, we've kind of missed a lot of journals.

Quotes:

Ryan: Will, Bianca, it might work better if you don't both talk at the same time.

Bianca: It works fine!

Tej: They're asynchronous blarghs!


Will: I think I don't like the salt on the sidewalk because if I licked the sidewalk now I feel like it would be less pleasant.

Day N+1: 1/31/12

Yay we missed more journals!

We came up with a philosophy today: "Do cool shit and don't write about it in the journal."

Also, we have 210482 lines of code total. The majority of that is in our hsvSerial file (about 50MB), our music file, and our CAD files, but still... Yay!

Random Pictures

How we planned to win: Master plan.jpg The robot1.jpg The robot2.jpg Will and the robot.jpg Redshift.jpg

Personal tools