Colony Introduction - 2008¶
Plan organized by week
- Week 3 - Wireless
- Use PowerPoint presentation for reference
- Simple Packets - No Token Ring
- Send packets from one robot to another
- Make second robot change orbs in response to button press on first robot
- Example: - they can choose Robot 2's response themselves, if they like
- Press Button 1 on Robot 1, Robot 2's orbs turn red
- Press Button 2 on Robot 1, Robot 2's orbs turn blue
- NOTE: must call orb_enable() after wl_init()
- Example: - they can choose Robot 2's response themselves, if they like
- Token Ring
- Sensor Matrix
- Print out to see what it (format themselves) (?)
- Follow-the-leader / Lemmings
- Sensor Matrix
- Week 2 - Analog, BOM, FSMs
- Analog
- Buffered vs. Unbuffered
- Analog loop for everything but BOM - runs in background reading analog values
- Rangefinders, Wheel, Battery
- Analog loop for everything but BOM - runs in background reading analog values
- Use wheel to control motor speed
- Buffered vs. Unbuffered
- BOM - MUST USE ROBOTS WITH OLD BOM
- To transmit
- bom_leds_on(BOM_ALL), bom_leds_off(BOM_ALL)
- To receive
- bom_refresh(BOM_ALL), bom_get_max()
- Use BOM to seek beacon robot
- Recommend to use move(v,w) for motion
- To transmit
- FSMs
- Three states - use orbs to indicate state
- 1. run-around (obstacle avoidance, drive in a circle, etc...) - press button to begin seeking
- 2. seek beacon robot - stop when you are close to beacon robot (rangefinders)
- 3. stop, wait to begin again - press button to restart
- Three states - use orbs to indicate state
- Analog
- Week 1 - Short Lessons
- Move straight forward (2 seconds), backwards (2 seconds), spin (3 seconds)
- Red, Green, Blue orbs (advanced: cycled by button presses)
- Rangefinder (avoid obstacles - maybe just stop and back up)
- For Documentation, go to docs/index.html
- Week 1
- Friday Presentation
- Mission, History, People
- Robots Overview
- Introduction to Colony Outline
- Motivation
- Overview
- Weekly Meeting structure
- Separation into groups
- Basic C tutorial
- Work Meeting
- Learning Objectives
- Power-based Movement
- delay_ms()
- Lights
- Rangefinders
- Serial Debug
- Simple if/else behavior
- Buttons
- Extras
- Potentiometer
- Buzzer
- Short Lessons
- Move straight forward (2 seconds), backwards (2 seconds), spin (3 seconds)
- Red, Green, Blue orbs (advanced: cycled by button presses)
- Rangefinder (avoid obstacles - maybe just stop and back up)
- For Documentation, go to docs/index.html
- Application
- Navigate a maze
- Learning Objectives
- Friday Presentation
- Week 2
- Friday Presentation & Work Meeting Learning Objectives
- FSM
- Encoders
- Analog
- BOM
- Short Lessons
- Friday Presentation & Work Meeting Learning Objectives
- Week 3
- Friday Presentation & Work Meeting Learning Objectives
- Wireless Packets
- XBee Debug
- Token Ring
- Short Lessons
- Friday Presentation & Work Meeting Learning Objectives
- Week 4
- Friday Presentation
- AVR features
- Code abstraction
- Work Meeting
- Learning Objectives
- Drivers
- Reading datasheets
- Lessons
- Code a EEPROM driver
- Program a behavior that saves state
- Learning Objectives
- Friday Presentation
- Week 5
- Friday Presentation
- Work Meeting
- Open Challenge
- Week 6
- Friday Presentation
- Autonomous Recharging
- ColoNet
- Your idea here
- Work Meeting
- Split AR and CN
- Friday Presentation
- AR
- Week 1
- Robot -> Charge Board
- ATTiny nuances
- I2C
- Homing
- Week 2
- Wireless Structure
- Charging Bay
- Week 1
- ColoNet
- Week 1
- Server
- Week 2
- Client
- Week 3
- GUI
- Week 1