Commit Graph

149 Commits

Author SHA1 Message Date
Andrew Tridgell 006185f08a AP_InertialNav: fixed example build 2014-10-24 12:10:40 +11:00
Randy Mackay 0e11189c35 AP_InertialNav: add comments 2014-10-20 11:12:54 +09:00
Jonathan Challinger 5e381280dc AP_InertialNav: update properly if home position moves 2014-10-20 10:59:50 +09:00
Randy Mackay 023b2c0d6b AP_InertialNav: fixed use of ahrs.get_velocity with EKF disabled 2014-10-09 16:43:24 +09:00
Andrew Tridgell 7b02d326f6 AP_InertialNav: fixed use of _ahrs.get_relative_position_NED() with EKF disabled
this prevents a floating point error caused by using an uninitialised
vector3 when switching between DCM and EKF control in AP_InertialNav

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-10-09 18:30:20 +11:00
Randy Mackay 102b71cde3 InertialNav: add credit to Tony Lambregts 2014-08-31 13:23:03 +09:00
Andrew Tridgell f0f25eb1d7 AP_InertialNav: fixed example build 2014-08-13 21:48:35 +10:00
Randy Mackay 009f42b2e1 InertialNav: do not reset velocity after glitch clears 2014-08-04 11:31:46 +09:00
Randy Mackay 538372c02c InertialNav: remove accessor to set time_constants 2014-08-01 15:14:43 +09:00
Randy Mackay 2951fb50e9 InertialNav: fix example sketch 2014-07-29 11:51:49 +09:00
Randy Mackay 4db4471f49 INav_EKF: accept baro_glitch in constructor
Required so it can create an InertialNav object
2014-07-28 22:16:19 +09:00
Randy Mackay 322f527c4f InertialNav: skip baro updates when glitching
Also resets inertial nav alt estimate once glitch clears
2014-07-28 22:16:19 +09:00
Andrew Tridgell c1650eed7a AP_InertialNav: fixed example build 2014-07-25 17:54:37 +10:00
Randy Mackay 6f60ce3d6e Inav_EKF: init member and remove hal reference to reduce compiler warnings 2014-07-16 14:40:39 +09:00
Randy Mackay e27ff75a71 AP_InertialNav: remove virtual qualifier from error_count 2014-07-16 14:38:50 +09:00
Randy Mackay 9e2cd93b2d AP_InertialNav: init members to reduce compiler warnings 2014-07-16 14:38:46 +09:00
Randy Mackay 1e888e5c34 AP_InertialNav: append f to floating point constants
Reduces some compiler warnings
2014-07-16 14:38:43 +09:00
lthall 4072fcd99e Inav: use horizontal body frame for accel corrections 2014-06-21 14:58:59 +09:00
Ju1ien 28ce66f314 INav: clear historic z-axis position estimate when set_altitude called 2014-06-06 18:42:42 +09:00
Hug0 6b0d5f9770 AP_InertialNav: fix pos error degradation rate
degrate position_error to 10% over 2 seconds (assumes 5hz update rate)
must be *0.7943 instead of 0.7934
2014-05-08 23:09:39 +09:00
Randy Mackay 0e065e4894 AP_InertialNav: get_velocity_xy const 2014-04-21 21:59:38 +09:00
Randy Mackay 2ddc414f4d InertialNav: replace safe_sqrt with pythagorous2 2014-04-01 20:43:53 +09:00
Andrew Tridgell bc0c9ad6d5 AP_InertialNav: fixed example build 2014-04-01 06:38:25 +11:00
Andrew Tridgell d04d33a02d AP_InertialNav: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell 271ba3a6bc AP_InertialNav: fixed example build 2014-03-24 12:03:47 +11:00
Andrew Tridgell ba8c4b86a0 AP_InertialNav: fixed example build 2014-03-19 12:14:08 +09:00
Randy Mackay ae59bef6d1 AC_INav: fix example sketch 2014-02-15 06:09:08 +11:00
Andrew Tridgell a88212eb7a AP_InertialNav: fixed EKF version for new AHRS API 2014-02-15 05:48:24 +11:00
Andrew Tridgell c995f994c5 AP_InertialNav: make some functions protected 2014-02-15 05:48:18 +11:00
Andrew Tridgell 47f541e143 AP_InertialNav: implement InertialNav in terms of AHRS when available 2014-02-15 05:48:16 +11:00
Andrew Tridgell 658110dd8c AP_InertialNav: added AP_InertialNav_NavEKF wrapper class 2014-02-15 05:48:15 +11:00
Andrew Tridgell 99097d80a1 AP_InertialNav: use AHRS home location 2014-02-15 05:48:15 +11:00
Andrew Tridgell cfc612b251 AP_InertialNav: use references to AHRS and baro 2014-02-15 05:29:45 +11:00
Andrew Tridgell 4671aaa367 AP_InertialNav: fixed example build 2013-12-17 11:51:37 +11:00
Randy Mackay dacca04b21 INav: record error_count when GPS msg is late 2013-11-21 17:02:02 +09:00
Randy Mackay a147eeb1e3 INav: degrade pos error slowly on loss of GPS
When GPS message is late by 100ms or we are glitching, degrade the GPS
vs inertial nav position error to 10% over 2 seconds instead of
immediately setting it to zero.  This avoids jumpy position estimates
when the GPS misses an update
2013-11-18 23:19:57 +09:00
Andrew Tridgell 55b7903456 AP_InertialNav: update for AHRS API changes 2013-11-04 21:21:42 +11:00
Jason Short 1c7d9f43c1 InertialNav: fix for get_velocity_xy
forgot to sq
2013-11-03 10:14:01 +09:00
Jason Short 2de6dbd3d8 InertialNav: added get_velocity_xy 2013-11-02 21:34:45 +09:00
Andrew Tridgell c5b36ef3d2 AP_InertialNav: fixed example build 2013-10-27 22:11:59 +11:00
Randy Mackay 4348a272bf AP_InertialNav: remove unused velocity fns
remove get_longitude_velocity and get_latitude_velocity
2013-10-27 13:41:55 +09:00
Randy Mackay 8fc16d5cdf AP_InertialNav: add comments, make ahrs const from neurocopter
These fixes are provided by neurocopter but with my name because of
merge conflicts
_position and _velocity vectors added to save some floating point add
operations
unused reference to ins in constructor removed
2013-10-27 13:41:50 +09:00
Randy Mackay e23135faa1 AP_InertialNav: bug fix for gps delay handling 2013-10-27 13:41:40 +09:00
Tobias cfaaf4b1e7 AP_InertialNav: rename AP_Buffer functions, fix delay handling bug
The most recent value was used instead of the intended historical value
as indicated by the comment.
2013-10-27 13:41:38 +09:00
Tobias 6c825eace2 AP_InertialNav: move variable definitions to elide unused default
construction of objects (saves 106 bytes)
2013-10-27 13:41:32 +09:00
Tobias c9f68fcd1b AP_InertialNav: remove unused AP_InertialSensor pointer 2013-10-27 13:39:10 +09:00
Tobias cbff58e2ed AP_InertialNav: add comments, rename incorrectly named member,
initialize member, remove redundant assignment
adjustments to original commit by randy
2013-10-27 13:39:08 +09:00
Andrew Tridgell 19ba07a3f9 AP_InertialNav: updates for new GPS API 2013-10-24 14:22:47 +11:00
Randy Mackay e5c5084e76 InertialNav: fix example sketch 2013-09-26 14:40:32 +09:00
Randy Mackay 262fcb301a InertialNav: rename set_current_position to set_home_position 2013-09-24 21:41:19 +09:00
Randy Mackay 81dd4f8b0c InertialNav: integrate GPS glitch detection 2013-09-24 21:41:13 +09:00
Andrew Tridgell e1aa6e3ff1 libraries: fixed examples for no flash_leds() callback 2013-09-19 18:38:28 +10:00
Andrew Tridgell c64950e4f5 AP_InertialNav: changed to AP_Vehicle.h 2013-09-13 11:45:10 +10:00
Andrew Tridgell a2902d4a0f AP_InertialNav: fixed example build 2013-08-30 13:01:38 +10:00
Andrew Tridgell 6b5ee80b70 AP_InertialNav: fix for new AP_Math API
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:06 +10:00
Andrew Tridgell 47450a9b40 AP_InertialNav: fixed example build 2013-07-15 14:10:40 +10:00
Andrew Tridgell 9da13f3775 AP_InertialNav: fixed indent-tabs-mode 2013-05-30 09:54:53 +10:00
Andrew Tridgell c3738ed344 AP_InertialNav: fixed example build 2013-05-08 16:45:21 +10:00
Randy Mackay 30faf87715 InertialNav: use AP_Math's longitude_scale 2013-05-05 14:32:25 +09:00
Randy Mackay c20eac7a70 AP_InertialNav: use standard LATLON_TO_CM, DEG_TO_RAD constants 2013-05-04 15:04:55 +09:00
Randy Mackay 8122a32114 InertialNav: reduce XY TC to 2.5 (was 3)
More objective testing is required to arrive at the ideal number but 2.5
seem better than 3.0 at reducing "toiletbowling" and anecdotal evidence
does not show much downside.
2013-04-30 12:52:28 +09:00
Andrew Tridgell 1849aca0e9 AP_InertialNav: optimise some multiplies 2013-04-22 13:26:49 +10:00
Andrew Tridgell 3d325043b0 AP_InertialNav: make some more functions const 2013-04-22 12:21:58 +10:00
Andrew Tridgell 08c57c2587 AP_InertialNav: reduce number of multiplies 2013-04-22 12:21:58 +10:00
Andrew Tridgell 0a25d6220a AP_InertialNav: initialise _gps_last_time
found with valgrind
2013-04-17 23:02:13 +10:00
Andrew Tridgell b69481f74d AP_InertialNav: fixed build of example 2013-04-15 14:09:38 +10:00
Randy Mackay fc972e2d42 InertialNav: add get_velocity method 2013-04-14 10:38:23 +09:00
Randy Mackay cdb532a594 Copter: bug fix for loiter target 2013-04-11 18:24:20 +09:00
Randy Mackay 777c6a308e AP_InertialNav: use shared GRAVITY_MSS constant 2013-04-05 11:48:41 +09:00
Randy Mackay 6816c45c39 InertialNav: reduce Z-axis time constant to 5 2013-04-01 11:51:12 +09:00
Randy Mackay 38e81adae0 InertialNav: remove unnecessary "virtual" from function definitions
This saves about 30bytes of RAM
2013-03-19 17:51:16 +09:00
Randy Mackay c9571ad543 InertialNav: remove 3sec limit on position est after losing GPS 2013-03-16 18:15:59 +09:00
rmackay9 6f1035debc InertialNav: added 300ms timeout after which error from gps heading will be set to zero 2013-01-22 18:37:54 +09:00
Jonathan Challinger 6565d83e73 InertialNav: Fixed signs, remove body-frame rotation, apply correction at 100hz. 2013-01-22 18:37:45 +09:00
James Bielman 5631f865b2 Update floating point calculations to use floats instead of doubles.
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Randy Mackay 109b1069d8 AP_InertialNav: added constraint to how large local accelerometer offset corrections can become 2013-01-13 19:55:09 +11:00
James Bielman 264db3670e AP_Baro: Add CONFIG_MS5611_SERIAL option to choose between SPI and I2C.
- Update ArduCopter and ArduPlane modules to pass the correct serial
  driver to the MS5611 driver.
- Update barometer examples, assuming SPI.
2013-01-03 13:48:06 -08:00
rmackay9 55e6544e64 AP_InertialNav: added parameter descriptions 2013-01-02 16:17:00 +09:00
Andrew Tridgell 374af1cd14 build: change from Arduino.mk to apm.mk 2013-01-02 17:29:37 +11:00
rmackay9 92e271e517 AP_InertialNav: increase baro delay to 0.5 sec (was 0.2sec) to allow slower baro updates on APM1 2013-01-02 09:55:37 +11:00
rmackay9 af4d998697 AP_InertialNav: correct lat/lon to cm 2013-01-02 09:55:37 +11:00
rmackay9 37b56662bd AP_InertialNav: Jason's bug fix to inertial nav velocity and position calculations 2013-01-02 09:19:39 +11:00
rmackay9 41cc1c74d8 AP_InertialNav: increase time constant for Z axis to 7 seconds 2013-01-02 09:19:17 +11:00
rmackay9 557f4e65de AP_InertialNav: small performance improvement by replacing mul_transpose with direct multiplication of Z axis accel correction to specific elements of dcm 2013-01-02 09:12:40 +11:00
rmackay9 e9fa5dec0f AP_InertialNav: make use of ahrs library's get_accel_ef method to save some cpu cycles 2013-01-02 09:11:25 +11:00
Andrew Tridgell 463a089e5c InertialNav: fixed example build 2012-12-22 12:50:31 +11:00
Andrew Tridgell a1187519a8 AP_HAL: use AP_HAL_BOARD_DRIVER in remaining test sketches 2012-12-20 14:52:37 +11:00
Pat Hickey eb530b86e8 move Arduino.mk to /mk/Arduino.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell 7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Andrew Tridgell 62e396167a AP_InertialNav: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Pat Hickey f935f1ae31 AP_InertialNav: did my best at a meaningful test sketch
* the existing test sketch was just the InertialSensor test
2012-12-20 14:51:30 +11:00
Pat Hickey af4806666f AP_InertialNav: ported to AP_HAL 2012-12-20 14:51:30 +11:00
rmackay9 6cf94e20e7 AP_InertialNav_test: small change to #include in example sketch 2012-12-10 00:49:09 +09:00
rmackay9 154e3c33f7 ArduCopter, AP_InertialNav: consolidated ThirdOrderComplementaryFilter into AP_InertialNav to save about 200bytes of RAM 2012-12-10 00:43:11 +09:00
rmackay9 35f94a6f71 AP_InertialNav: increase Z axis default time constant to 3.0 (was 1.5) 2012-12-07 12:57:12 +09:00
Andrew Tridgell c7dd042909 InertialNav: update example for new interface 2012-11-30 07:15:19 +11:00
rmackay9 b13264c884 AP_InertialNav: reanme AP_InertialNav and ThirdOrderCompFilter classes to resolve desktop build compiler errors 2012-11-07 22:24:00 +09:00
rmackay9 61dd405910 AP_InertialNav: removed IMU.h to fix compiler error from example sketch 2012-11-07 19:48:13 +09:00
rmackay9 7f190b8494 AP_InertialNav: first implementation of inertial nav library 2012-11-07 19:20:49 +09:00