Michael Hope
3edb5ad123
Pulled in the missing headers.
2014-02-22 19:55:47 +01:00
Michael Hope
1259455092
Imported chunks of i2cdevlib b6836bb46e248574816356a6a0a589718b6949fa.
2014-02-22 19:54:03 +01:00
Michael Hope
7a63e672df
Removed i2cdevlib from submodules. I need a fork instead.
2014-02-22 19:50:41 +01:00
Michael Hope
5c03c4f5cb
Added a cstdlib stub for i2cdevlib.
2014-02-22 19:33:31 +01:00
Michael Hope
535f0a0c58
Added i2cdevlib as a git external.
2014-02-22 19:21:39 +01:00
Michael Hope
e9322bdbbe
Bound in the rate of turn controller.
2014-02-22 19:20:29 +01:00
Michael Hope
22bb0ba309
Bound in the IMU to the rover.
2014-02-22 19:20:00 +01:00
Michael Hope
8a5089b262
Added a utility to bump and restore control variables.
2014-02-22 19:18:33 +01:00
Michael Hope
6b79ef6b1e
Pull the logs out of the rover while pushing.
2014-02-22 19:16:03 +01:00
Michael Hope
0a335c01ae
Check if the IMU is 'good' and periodically re-initialise if not.
2014-02-22 19:14:47 +01:00
Michael Hope
3cab0d0e71
Change stub ports so they try to open, but stub out on failure. Allows some ports to be used.
2014-02-21 22:47:52 +01:00
Michael Hope
e1e56169b8
Bound the IMU into the rest of the interface and made it send.
2014-02-21 22:46:56 +01:00
Michael Hope
c95e4f4598
Added build rules for i2cdevlib.
2014-02-21 22:45:39 +01:00
Michael Hope
db6b03c272
Added a combined MPU 6050 and I2C driver.
2014-02-21 22:44:41 +01:00
Michael Hope
c8e216bd08
Switch to the GPS tick using status so other things like the switch position can be checked.
2014-02-16 17:04:53 +01:00
Michael Hope
9d96112bd4
Switch the heading controller to derrive off the GPS tick.
...
Add in differential control.
2014-02-16 17:04:11 +01:00
Michael Hope
2fec29e7ac
Add the differential term to the PID controller.
2014-02-16 17:01:24 +01:00
Michael Hope
631fff6621
Ping the controller with new GPS readings when they arrive.
2014-02-16 17:00:21 +01:00
Michael Hope
7f49aa400f
Switch to a dynamic libgo.
...
Use rsync to push the binary faster.
2014-02-16 16:59:02 +01:00
Michael Hope
ed3858a54a
Updated the config to the latest test results.
...
Configure glog at startup.
2014-02-16 16:58:14 +01:00
Michael Hope
9190feff16
Added a README.
2014-02-09 20:47:54 +01:00
Michael Hope
44c3873135
Changed the end of stream test so the stub ports work again.
...
Minor tidy up to the tests so they build.
2014-02-09 20:35:51 +01:00
Michael Hope
9ef917dcc8
Added some more golang notes.
2014-02-09 20:35:45 +01:00
Michael Hope
dbb2fddbb4
Switched to the new config parser.
2014-02-09 20:34:58 +01:00
Michael Hope
daf18a13da
Created a simple command line to struct parser.
2014-02-09 20:16:20 +01:00
Michael Hope
657e04fdd4
Fixed an overflow where the intermediate is greater than UINT16_MAX.
2014-02-02 15:15:12 +01:00
Michael Hope
ed899fe947
Add logging to all of the inputs and outputs.
...
Changed to a struct style for all logging. Gives easier post processing.
Changed the heading controller to dump state all the time for checking.
Added watchdogs to everything.
2014-02-02 15:13:39 +01:00
Michael Hope
2a18ac1655
Bump the serial rate to 57600 baud.
...
Update the default settings of all the things.
2014-02-02 15:13:08 +01:00
Michael Hope
da89290188
Fixed the decoding of pongs.
...
Switched the error handling to match link (fatal on error).
2014-02-02 15:12:03 +01:00
Michael Hope
231d1bae7a
Pull the GPS stats out into a class for easy dumping.
...
Log a fatal error if the serial read fails.
2014-02-02 15:09:46 +01:00
Michael Hope
39f87bc63d
Switch to using gccgo to see if that solves the runtime lockup.
2014-02-02 15:06:53 +01:00
Michael Hope
bd796af05b
Added more checks around the tick resolution.
...
Changed to match the new crystal.
Upped the baud rate to 57600. 12 MHz divides well to most rates...
2014-02-02 15:04:14 +01:00
Michael Hope
e3fb665c8d
Changed the servos to be biased around 1.5 ms to handle the new 12 MHz
...
clock.
2014-02-02 15:02:53 +01:00
Michael Hope
6aa37305fc
Changed the clock to match the new crystal.
...
Changed remote flashing to use temporary files instead of needing a tree.
Removed fuse setting as it's done in the bootloader.
2014-02-02 15:00:32 +01:00
Michael Hope
e969717881
Add a roverif specific bootloader configuration.
...
* Set the bootloader status LED
* Set the crystal to 12 MHz
* Up the baud rate to 57600 using double rate
2014-01-29 20:49:36 +01:00
Michael Hope
aab625d7e6
Imported the Arduino 1.5.4 bootloader.
2014-01-29 20:44:27 +01:00
Michael Hope
dc7be912cb
Add GPS and Event hooks into all controllers.
...
Fix a bug in converting 0-360 headings into -Pi to Pi radians.
Bind in the rest of the waypoint controller.
2014-01-26 16:06:52 +01:00
Michael Hope
a9ac957323
Switched to go-flags.
...
Create a PID for each controller dimension.
Support the waypoint controller.
2014-01-26 16:05:12 +01:00
Michael Hope
c1af8d554f
Added in go-flags.
2014-01-26 16:04:38 +01:00
Michael Hope
d21216390b
Added the position/waypoint controller.
2014-01-23 21:44:25 +01:00
Michael Hope
575f428586
Added the position recorder state machine.
2014-01-21 22:09:21 +01:00
Michael Hope
5d2f714c8d
Add hooks for the heading controller.
...
Pull umin out into a parameter.
Bind in the switch thread.
2014-01-21 22:07:28 +01:00
Michael Hope
430221bf86
Also pull in golang/glog.
2014-01-21 22:07:04 +01:00
Michael Hope
abcd0a2b88
Switch the PID controller to error based to push the heading wrap
...
around up into the heading controller.
Let the deadband apply in positive and negative directions.
Apply the drive limit after all calculations.
2014-01-21 22:04:44 +01:00
Michael Hope
1d731aacaa
Change the heading controller to allow jogging by 90 degrees or 180
...
degrees based on the steering input. Should allow doing squares as a
test.
2014-01-21 22:03:32 +01:00
Michael Hope
f80ee7387f
Add a button press/hold handler.
2014-01-21 22:01:53 +01:00
Michael Hope
35ea1cd73e
Switch to glog to allow verbosity levels.
...
Add button bindings and handling.
Add a slow heartbeat to show in the log.
2014-01-21 22:00:59 +01:00
Michael Hope
ae71751509
Pulled the other PID parameters out so they can be used in heading
...
mode.
Added a heading controller.
Changed the PID controller to work on error so the heading controller
can handle the wrap around.
Support deadbands in both directions.
2014-01-19 11:28:33 -08:00
Michael Hope
c4ccc24c4e
Updated the default gains based on the good speed run.
2014-01-19 11:07:24 -08:00
Michael Hope
da2790c647
Add a system identification controller that sets the speed based on
...
the dial.
Pull the PID parameters out into command line flags.
Change the speed setpoint to 17.5 km/h as 10 is too slow to control.
2014-01-19 10:18:44 -08:00