David's dead reckoning code for the LVBots competition on March 6th. Uses the mbed LPC1768, DRV8835, QTR-3RC, and two DC motors with encoders.
Dependencies: PololuEncoder Pacer mbed GeneralDebouncer
main.h@27:2456f68be679, 2014-03-01 (annotated)
- Committer:
- DavidEGrayson
- Date:
- Sat Mar 01 01:46:35 2014 +0000
- Revision:
- 27:2456f68be679
- Parent:
- 24:fc01d9125d3b
- Child:
- 28:4374035df5e0
Fixed a major bug in the line following (reduceSpeed return value was not used). Made finalSettleIn better by adding an integral term and increasing the settleSpeed from 200 to 300.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DavidEGrayson | 21:c279c6a83671 | 1 | #pragma once |
DavidEGrayson | 21:c279c6a83671 | 2 | |
DavidEGrayson | 21:c279c6a83671 | 3 | #include "reckoner.h" |
DavidEGrayson | 21:c279c6a83671 | 4 | #include "line_tracker.h" |
DavidEGrayson | 21:c279c6a83671 | 5 | |
DavidEGrayson | 21:c279c6a83671 | 6 | void waitForSignalToStart(); |
DavidEGrayson | 24:fc01d9125d3b | 7 | void findLineAndCalibrate(); void loadCalibrationAndFindLine(); // two alternatives |
DavidEGrayson | 21:c279c6a83671 | 8 | void turnRightToFindLine(); |
DavidEGrayson | 21:c279c6a83671 | 9 | void followLineToEnd(); |
DavidEGrayson | 21:c279c6a83671 | 10 | void driveHomeAlmost(); |
DavidEGrayson | 21:c279c6a83671 | 11 | void finalSettleIn(); |
DavidEGrayson | 21:c279c6a83671 | 12 | |
DavidEGrayson | 21:c279c6a83671 | 13 | void updateReckonerFromEncoders(); |
DavidEGrayson | 21:c279c6a83671 | 14 | float determinant(); |
DavidEGrayson | 21:c279c6a83671 | 15 | float dotProduct(); |
DavidEGrayson | 22:44c032e59ff5 | 16 | bool calibrationLooksGood(); |
DavidEGrayson | 21:c279c6a83671 | 17 | |
DavidEGrayson | 21:c279c6a83671 | 18 | extern Reckoner reckoner; |
DavidEGrayson | 21:c279c6a83671 | 19 | extern LineTracker lineTracker; |