Saturday, February 23, 2013

General architecture and risks

So, the general idea is that the computer vision will occur on the host PC, and that the host pc will send some sort of command to the atmega.  And then the atmega will handle the real-time control. Some of these details are a bit sketch at the moment.

Breakdown of the tasks:
  1. Computer:
    1. Minimum function: handshake w/ atmega
    2. Basic functionality A:  console "joystick" program
    3. Basic functionality B:   run face-detection example, and generate distance from center
    4. Basic functionality B2: if the face thing doesn't work, try using a light.
    5. Full functionality:  Combine these two!
    6. super functionality:  auto-tuning.
  2. Atmega:
    1. Basic functionality A: handshake with PC
    2. Basic functionality B: loop that blinks LEDs based on PC commands
    3. Basic functionality C: timed open-loop moves in response to PC commands
    4. Full function: PID control? feed-forward control?
    5. other test case: light detector
  3. Hardware design:
    1. Blink LEDs
    2. Motor drivers
    3. Motor physical mounting etc, camera mounting

Knowledge risks:
  1. OpenCV. Haven't used it before.   Hoping to mitigate this by largely using samples.  
  2. USB on Windows. really haven't used this before. before I've used linux and everything was just file-like and life was fairly easy, although there's probably some details I'm forgetting. Same for MATLAB.  Looks like some good info here: http://playground.arduino.cc/Interfacing/CPPWindows
  3. Reading from serial on the atmega. 
Technical risks:
  1. Loop speeds.  The vision loop is going to be limited to probably 10-60hz. The motor control may need to be faster than that. I might want the motor to make small movements and then wait for new as opposed to doing a naive PID.
  2. Motor power.  I remember my motor being a 12V motor. Not sure how much current it will pull at 5v. Probably more than the USB can handle. I have 9V battery too, not sure if that will power the 5V side. I think it does. There's a 1A regulator, ON 117-5 on the board.
  3. Affixing camera to motor, affixing motor to something rigid.  We'll start with tape.

No comments:

Post a Comment