Region V 2009
Competition Documentation
- Region V 2009 Robotics Rules and Information on Region V Conference website
Todo List
Software
- using CodeSourcery? Gxx Lite toolchain
- using serial bootloader
- code is in repository under users/nstiurca/boot_loader
- accompanying serial programming utility (sflash) comes included in DriverLib/StellarisWare?
- SBL currently is 1.3KB, which leaves 2KB footprint. If it can be squeezed down to <1KB, it only needs to leave 1KB footprint
- perhaps remove some of the error checking?
- competition code is in repository under region5/region5_2009
- most of the drivers were copied/adapted from RASLib
- some parts need to be optimized/cleaned up/readapted for the new hardware (as opposed to the Roboathon hardware)
- encoder code needs to be optimized, and verify correctness/accuracy of position tracking using encoders
- using CMUcam for color detection and hopefully some basic vision as well
- interface through serial port
- CMUcam can operate in either polled or continuous data acquisition modes
- can't really begin work or make much progress on actual competition code until Mechanical and Electrical progress catches up
Mechanical Parts
- use a small bowl to "grab" the boxes in order to drag them to their destination
- mounted on a hinge
- comes up/down as powered by a servo
- mount encoders
- coaxial to the drive wheels, but not connected to the drive shafts/wheels
- track motion on table accurately without introducing error if drive wheels slip while ac-/de-celerating (encoder wheels should never slip since they have relatively low inertia)
- mount battery
- mount on bottom so as to have a low center of mass
- mount CMUcam
- away from bowl if used for vision & to help navigate
--- OR ---
cut hole in top of bowl, and point camera into bowl if only used to detect cube colors
- mount blinking LED detector
- just less than 8" above table surface
- should be able to revolve, mounted on either a servo or stepper motor
- no part of the robot should rise 8" (or more) above the table surface
Electronics
- band pass filter to detect frequency of blinking LEDs
- redesign Intro Board
- add second serial port
- beefier motor controllers
- add switch for boot/program mode
- bootloader checks if a pin (currently PB4) is high or low to decide if it should await a software update, or load the application
- reposition pins to better accommodate current hardware
- change M1 and M2 pins to work with Faulhaber 2224 U006 SR IE2-512 20/1 14:1 motors
- encoder pins are unused since we are using external encoders not attached to the drive shafts
- map old motor +/- pins to pins 1&2 on Faulhaber ports (see the Faulhaber encoder pinout diagram)
- make sure servo pins work with Hitec HS-322HD servos
- these are our standard servos, so this should already work
- make ports for encoders
- each encoder needs 2 GPIO pins, 5V, and Gnd
- make JTAG pins more accessible
- change M1 and M2 pins to work with Faulhaber 2224 U006 SR IE2-512 20/1 14:1 motors
- if possible, put battery port sideways so as to reduce board height
- board may (should) be expanded (width & height)
