Commit Graph

135 Commits

Author SHA1 Message Date
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