Team Five/Journal

From Maslab 2012
Jump to: navigation, search

Contents

Pre IAP

We met in person before winter break to discuss organizational/meta-level stuff.

(sleepy, may fill in later)

Day 1: Jan 9

Gary looked into the OpenCV libraries and worked on vision code.

Amanda and Tim assembled the pegbot, and Anthony got a basic drive program running, completing Checkpoint 1. This took longer than expected due to electrical problems that mysteriously went away after some tinkering, and problems with the stock Arduino command decoder that wouldn't allow the motors to be driven backward.

We met and decided on the general mechanical design of the robot, agreeing to prototype scoring mechanisms but mostly leaning toward a dumper/launcher. We also decided how to spend our sensor points and what we intended to order online (most notably omni-wheels).

Gary and Tim took the pegbot and eeePC home to work on Checkpoint 2 with a bump sensor.

Day 2: Jan 10

Before lab, Tim ordered omni-wheels and obtained motors and other parts from MITERS.

Amanda, Tim, and Anthony discussed mechanical design. Amanda prototyped a catapult mechanism and Tim did CAD, finishing the base, sensor ring, and drive train setup and hoping to finish the chassis and catapult at home. He claims he's getting better at it so it'll go faster tomorrow.

Anthony worked on Checkpoint 2 and general code structure, while Gary continued to work on vision and ball recognition, working toward Checkpoint 4. Amanda started looking into IR sensor setup.

More electrical problems.

Day 3: Jan 11

Right after lecture, we talked about strategy and software architecture and came up with a general plan for robot behavior, involving memorizing ball locations using odometry.

Tim continued CADing. Gary worked on ball recognition code (todo: image library) and started working with mouse odometry. Amanda troubleshooted electrical problems. Anthony began calibrating the short range IR and ran into problems with sensor readings being wildly inconsistent, possibly due to electrical connection problems.

Agenda for tomorrow:

  • Finish(?) CAD
  • Fix electrical problems and calibration
  • Implement some state machine logic
  • Checkpoints 2 and 4
  • Begin fabrication?

Day 4: Jan 12

Amanda and Anthony troubleshooted the Arduino and found out that our ground was not actually connected to ground, which explained some of our problems. Amanda resoldered the board. Anthony updated arduino.py, started to work on state machine logic, and ran off to party with Manic Sages. Gary played around with vision and multiprocessing and debugged the updated arduino.py. Tim continued to work on CADing.

More unidentified problems with the board cropped up. We haven't been able to check off the checkpoints, though we do have the code ready at least for Checkpoints 2 and 4.

Agenda for tomorrow and over the weekend:

  • Yell at the Arduino until it works
  • Outline general code structure
  • Checkpoints 2 and 4
  • Fabrication

Day 5: Jan 13

Tim continued CADing and talked with Jamie (from staff) to try to fix electrical problems. The motor controller started smoking, which was not a good sign. We discovered that one of our motors only had 6 ohms of resistance, and probably fried both the motor controller and its replacement. Hour and a half later, the bot still won't move.

Anthony and Gary sketched out a diagram of software architecture. We're going to have a Mapping process that takes vision and odometry input to compute and update relative ball positions. We also decided to have a thread continually updating sensor values from the Arduino so that we don't have to wait for serial communication all the time. Anthony rewrote arduino.py, hopefully for the final time, to accomplish the latter. Gary debugged his vision and odometry code, did vision calibration, and began to work with two mice.

Tim went to MITERS to finish CADing and start building.

Agenda for tomorrow:

  • Ask Sam to yell at the Arduino until it works
  • Create software modules that don't exist yet (Control, Mapping)
  • Checkpoints
  • Build

Day 6: Jan 14

Not much happened in lab today; Gary and Anthony were at Mystery Hunt and Tim was sleeping after building all night.

Gary reports that two-mouse odometry works well. We debugged the new arduino interface. Tim set to work on building a drive base for us to work on.

Agenda:

  • Omniwheel drive
  • Have a bot that can approach balls on Tuesday

Day 7: Jan 15

Tim finished a rough omniwheel drive base to program on. Gary improved vision processing speed by orders of magnitude by using Cython.

Other than that, not much going on. Hunt wrap-up. We would like to have lab open tomorrow.

Agenda in lab tomorrow:

  • Omniwheel drive
  • Ball collection (both software and mechanical)

Day 8: Jan 16

Implemented omniwheel drive, in theory, as well as handling multiple motor controllers. Wasn't able to test it because electrical problems. Sam helped us debug it all day, not much luck. Gary wrote a UI for vision calibration.

Day 9: Jan 17

Tried to get robot working for Mock 1. Electronics worked intermittently and then stopped working again. Blew a few fuses and took a 0 on the mock. Got a new Arduino and resoldered it, still running into problems. Refactored code. Started implementing mapping and closed-loop control.

Agenda for tomorrow:

  • Everything

Day 10: Jan 18

Gary filled in implementation details in the software. Tim and Anthony got electronics working, hopefully for good. Tim went off to solder the connections down and work on build.

Agenda:

  • Test omniwheel drive and control code
  • Test mapping and vision on the field?

Day 11: Jan 19

We broke a couple more motor controllers. Hopefully they will be the last.

Tim and Anthony made all the electrical connections nice and asked for a new motor controller. It works! We decided to go for completing checkpoints before asking for a new motor controller. We got checkpoint 2 working.

Agenda for tomorrow:

  • Gary and Anthony complete checkpoints 2, 4, and 5, and get a new moter controller
  • Tim goes to Edgerton and continues building the robot
  • Meet with staff
  • Test omniwheel drive and odometry in the field

Day 12: Jan 20

We ran into issues.

Agenda for tomorrow:

  • Regain sanity.

Day 13: Jan 21

We got a new Arduino shield and resoldered some things. Tim finished building the new robot base and mounted the omniwheels on it.

Day 14: Jan 22

Break.

Day 15: Jan 23

Mock competition 2. We let the robot run in circles for a bit. Afterward, we found several problems, including that two of the serial ports on the Arduino didn't work (RX1/TX1 and RX3/TX3), so we could only use motor controllers in the other two.

Tim redesigned the base and is getting it watercut soon. Gary, Amanda, and Anthony troubleshooted the motors and swapped in new ones.

Day 16: Jan 24

Tim was building.

Anthony, Amanda, and Gary debugged motor problems one motor at a time. In the process, we accidentally burned out our last motor controller (by disconnecting and then reconnecting the motor while things were running), swapped in a new one, and then most of our weird unexplained problems went away, so we concluded that the motor controller was probably being stupid. We still haven't had success with any port other than RX2/TX2, so our priority is to verify this and then see if we can get a new Arduino, since we'll definitely need more than 2 controlled motors.

Agenda for tomorrow:

  • Final mechanics
  • Test motors with Arduino ports; possibly get a new one
  • Test omniwheel drive on the ground and drive control with odometry

Day 17-19: Jan 25-27

We decided to ditch the Qik motor controllers and use H bridges and PWM output instead, since staff guessed that all our problems might be caused by trying to run too much current through the Qiks. Tim looked into wiring that up while Anthony hacked the Servo library and wrote a wrapper for PWM-controlled outputs.

We also tested ball collection and experimented with servos.

We also kind of forgot to keep journal.

Day 20-21: Jan 28-29

Gone for ESP retreat.

Day 22: Jan 30

Tim and Gary got the H bridges working, and Tim started soldering bump sensors.

The robot moves! It even translates sideways. However, due to the weight of the robot and the slippage from omniwheels, it doesn't drive very well on the carpet.

Ball collection works. Scoring "works" but we don't have the logic actually coded yet.

Todo:

  • Test control
  • Test behavior
  • Stuck detection
  • Various mechanical things -- Tim knows better than I
Personal tools