I’ve been at this airport for about 12 hours, awake for about 36. My flight status is officially resolved. I was on standby for two flights that were full, then switched from flying IAD -> BDL to ORD -> BDL. I’m going to arrive in Hartford around midnight. More than likely I’ll be too tired to do anything . . . unless I’m hyped up on adrenaline at the thought of finally arriving – so chances are I won’t get to do any hardware testing of any sort till Saturday morning.
So far at the airport I’ve:
- Outlined robot low, mid, and high level routines.
- Coded I2C functions to start and read ultrasonic sensor.
- Coded A2D function to perform repeated conversions on A2D pins.
- Coded quadrature encoder state machine to increment position counter.
- Coded capture interrupt routines to track state of encoder outputs.
- Coded capture interrupt routine to measure accelerometer pulse width.
Code-wise, I still need to:
- Write/port PID routines to process a PID structure (two motor/wheel speeds and one gravity/acceleration).
- Create bitmap of standard arena map.
- Write/port path planning functions.
- Create search route for robot.
- Code routine to operate servo (for arm that puts out candle).
- Write position update code that tracks robot’s x,y,theta position as well as registering robot with arena bitmap.
- Write high level code that guides robot through each state of the competition (startup, search for candle, return home).
- Write code that maintains robot heading.
- Write code that keeps robot at least a fixed distance from any wall.
- Write code that checks for obstacles or checks sensor readings to determine when end of hallway has been reached.
- Write code that integrates all of this to the high level planning.
Construction/Assembly -wise, the following still needs to be done:
- Create and test tone detector circuit.
- Assemble new gearbox.
- Attach encoder wheels and position wheel encoders.
- Assemble robot frame.
- Design, create, and test candle detection.
- Attach all sensors to robot frame.
Of course, all the code I’ve written so far today will need to be debugged and tested as will all the code I’ve yet to write. Unfortunately, I’m pretty tired of coding now. . . I’ll have until 7pm Saturday to qualify for competition on Sunday, but I think it’s a big stretch to get all of that stuff accomplished in time. I’ll check the rules to see if I can determine the exact minimum necessary for qualification. It may be possible to code something that is able to pass quals then I can continue feverishly working Saturday night and Sunday morning.
This reminds me of IGVC, except since I was coding in Matlab and CCSC, thing were a heck of a lot easier and could be written, tested, and debugged much faster.