Team Twelve/Journal

From Maslab 2013
(Difference between revisions)
Jump to: navigation, search
Line 97: Line 97:
  
 
The robot parts came in in the evening.
 
The robot parts came in in the evening.
 +
 +
==Day 10: Wed. January 16==
 +
Today we started assembling the robot. David worked more on vision and Holden started on basic mapping with the IR sensor and IMU. Roxana went to Central Machine Shop to get some parts and later to Edgarton to make some stuff.
 +
 +
Unfortunately, much of today's code got deleted (because we didn't understand GitHub) and then the robot body broke. But Roxana laser cut the body again.
 +
 +
==Day 11: Thu. January 17==

Revision as of 16:51, 17 January 2013

Contents

Day 1: Mon. January 7

Preliminaries

First we divided tasks, so everyone is an expert in one area.

  • Melody is figuring out how Arduino works.
  • Roxana will figure out how all the electrical parts work.
  • David will figure out how to implement computer vision (understand OpenCV).
  • Holden will figure out finite state machines and navigation.

The roles may change as we progress. Other categories include understanding EE vs. MechE stuff

Our tentative meeting schedule is simply every day after lecture.

Building a robot

Laying out all the gadgetry on the table, we felt like we had just landed in the middle of a foreign country without knowledge of the language. We had no idea how to build anything at first, asked a lot of stupid questions (multiple times), and did a bunch of stupid things (screwing up screwing things in, connecting wires wrong, blowing up the battery, etc.). Roxana and Holden put the wheels, etc. together; David worked on setting up the laptop; Melody worked on programming in Arduino; Melody and Roxana studied and implemented the circuits; and then we all huddled around our robot making last-minute fixes. At around 7:40 THE ROBOT MOVED! Just one wheel because the other hadn't been programmed, but still. We were psyched. Team 12 was the eight (not twelfth) to complete Checkpoint 1.

File:Team12robot day1.jpg

Day 2: Tue. January 8

Planning

From 11 to 12:30 we brainstormed ideas of our robot. Our tentative strategy is to

  • hold onto balls until ~2:30
  • deposit balls into pyramid

We debated whether to use an arm or ramp to pick up balls. For tomorrow,

  • Melody will write a schedule for IAP
  • Roxana will sketch a design
  • David wrote out a strategy
  • Holden will plan the software architecture.

Checkpoint 2

In the afternoon we worked on programming the pegbot to turn at a wall. Roxana and Melody soldered the wires and connected the IR sensor. David learned OpenCV (for Thursday's checkpoint). Holden programmed a simple finite state machine to avoid walls. However, the program still had bugs in it when lab closed at 8pm.

Evening work

We met in MacGregor C-entry to make plans for the robot. We studied past years' designs. We decided that from now on

  • Holden and David will program the robot. They started by drawing a state diagram.
  • Melody and Roxana will build the robot. They sketched possible designs.

Day 3: Wed. January 9

Pegbot

Checkpoint 2

Holden debugged the code (the problem was calling arduino.run() before setting the connections). We went to the field to test. First one wheel fell off. Then we tested again and the other wheel fell off. Roxana fixed the wheels and at 3:10 we passed Checkpoint 2 (the 11th team to do so)!

Our robot now implements the following simple behavior:

  • It turns (left) when it gets close to a wall.
  • When it gets too close it backs up.



Plans, moving forward

After the checkpoint,

  • Roxana and Melody made robot drawings,
  • David used OpenCV to pick out a red ball from the camera image, and
  • Holden I modularized the code, and added the states responsible for looking for/approaching the ball.

Yesterday we came up with a "conveyor belt" design, but realized that we had misunderstood how the "Archimedes screw" (last year's winning design) worked. After we understood it, we decided that we would implement the Archimedes screw because it is a mechanically simpler way to lift balls.

We presented our plans and got some useful advice (for the builders, make sure the robot doesn't tip over; for the programmers, plan out the threads).

Roxana and Melody will work on a prototype for the robot. In the evening they went to Edgarton to cut two wheels out of pegboard, to make a rubber band roller.

Day 4: Thurs. January 10

David and Holden integrated the code for recognizing balls and the state machine, so that the robot will move towards red balls. Unfortunately we ran into technical issues with the arduino driver and camera.

Roxana and Melody planned the ball receptacle for the pegbot, and started assembling the pegbot with a fresh board.

Day 5: Fri. January 11

In the wee hours of the morning David got OpenCV installed on the eeePC and fixed the communication problem.

Roxana and Melody built a second layer onto the pegbot. The bottom layer will store balls.

David coded a ball recognizer using a breadth-first-search, adding neighboring pixels to the search tree when they are close enough to red in HSV space. Holden wrote a PID controller for approaching balls and logged sensor values.

We tested the robot on the playing field, but the code was buggy and the robot had a hard time tracking the ball. Holden (and Roxana) brought the robot back to MacG for more testing.

Day 6: Sat. January 12

Today we assembled the roller and ramp for the pegbot and made sketches for our robot. David got the vision code working: it now gives the coordinates of the center of the ball and the area.

Day 7: Sun. January 13

David coded the vision system to recognize multiple balls, pick the closest, and find the area (for distance measurement), and worked on a GUI for color calibration. Holden integrated the vision code with the state machine, and fixed a threading problem that made the vision system hog time. Roxana went to Edgarton to custom-make a metal part. (Thanks to Roxana and Melody for running places while the rest of us sat in MacGregor.) Melody and Roxana worked on drawing/CADing and assembling the whole robot (with electronics and roller). We tested the robot but then Holden disassembled the motor and broke it:(

Day 8: Mon. January 14

Today we put the pegbot together (we replaced the motor and secured the connections) and, after testing (we had the robot pause when turning when it saw a ball, to give the vision system time to react), went to do Mock 1. Our robot ate up 3 green balls; to get to the third ball it ran through a wall. For red balls it only got 1 before it got stuck. We were ranked first (we were the only team who showed up, took possession of balls, and had our scores recorded). We talked more about design for the actual robot. Melody will finish CADing tonight so the pieces can be laser cut tomorrow.

Day 9: Tue. January 15

David made a beautiful GUI for the program. Holden researched the IMU. Roxana went to Edgarton and Mark taught her to made an Archimedes screw. Melody finished CADing, and submitted the files to Tyler's group for laser cutting. Melody and Holden rewired the circuit.

The robot parts came in in the evening.

Day 10: Wed. January 16

Today we started assembling the robot. David worked more on vision and Holden started on basic mapping with the IR sensor and IMU. Roxana went to Central Machine Shop to get some parts and later to Edgarton to make some stuff.

Unfortunately, much of today's code got deleted (because we didn't understand GitHub) and then the robot body broke. But Roxana laser cut the body again.

Day 11: Thu. January 17

Personal tools