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

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?

UserRevisionLine numberNew 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;