Commit Graph

107 Commits

Author SHA1 Message Date
Randy Mackay 7fbdaa3c65 AC_PrecLand: LAG to float and use main loop rate
also includes other changes from peer review:

- check_inertia_buffer renamed to init_inertial_buffer and nullptr checks removed to make it more clear this should only be called once
- init_inertial_buffer made private
- add check that inertial_buffer_size is never less than 1
- fixup comments
2018-09-21 16:38:35 +09:00
Randy Mackay 40d4bcb84a AC_PrecLand: rename BUFFER to LAG and add alloc failure check
avoids issue where LAG parameter is set too large which would lead to trying to access unallocated memory
inertial buffer is only allocated at startup to avoid memory leak
2018-09-21 16:38:35 +09:00
fnoop 02da34a246 AC_PrecLand: Add PLND_BUFFER parameter and move to AP_HAL::utility::RingBuffer, #6297
AC_PrecLand: Add PLND_BUFFER parameter and move to AP_HAL::utility::RingBuffer, ##6297

AC_PrecLand: Fixup int type, #8892

AC_PrecLand: Add PLND_BUFFER parameter and move to AP_HAL::utility::RingBuffer, ##6297

Update screwed up submodules from rebase
2018-09-21 16:38:35 +09:00
Peter Barker 0a7399ae7d AC_PrecLand: use AHRS singleton, remove pointless initialisations 2018-08-17 21:14:57 +09:00
fnoop bfceb5dd32 AC_PrecLand: Improve logging
Add unit/multiplier of new fields to log structure
Fix new log structure
2018-08-08 10:23:26 +09:00
Pierre Kancir 6fe0597399 AC_PrecLand: replace AP_InertialNav by AHRS 2018-04-17 17:21:35 +09:00
Peter Barker 7cc808543f AC_Precland: use ins singleton 2018-03-16 00:37:35 -07:00
Andrew Tridgell 9ba8097502 AC_PrecLand: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Lucas De Marchi b29a183a74 AC_PrecLand: add static create method 2017-09-26 03:01:21 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas de56459887 AC_PrecLand: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Andrew Tridgell 5d4400f1b7 AC_PrecLand: added BUS parameter for precision landing
allow selection of i2c bus for irlock
2017-04-14 08:47:39 +10:00
Jonathan Challinger 9979e4bbe5 AC_PrecLand: fix usage of distance_to_target 2017-03-29 14:45:56 +09:00
Jonathan Challinger a772e1bd3d AC_PrecLand: add parameters for camera position relative to the CG 2017-03-29 14:45:56 +09:00
Randy Mackay 8f1d122766 AC_PrecLand: add ACC_P_NSE parameter 2017-03-29 14:45:50 +09:00
Randy Mackay 5dd5c22c39 AC_PrecLand: build IRLock on all boards 2017-03-29 14:45:49 +09:00
Randy Mackay 1fb6d468c6 AC_PrecLand: non functional changes including adding comments 2017-03-29 14:45:38 +09:00
Jonathan Challinger 2a29d7fedd AC_PrecLand: rework estimation, add EST_TYPE param 2017-03-29 14:36:22 +09:00
Michael du Breuil d71533dc2b AC_PrecLand: Update for AHRS NED changes 2017-02-13 09:23:14 +11:00
Randy Mackay bdf49c8a01 AC_PrecLand: add override and fix formatting 2017-02-03 17:26:42 +09:00
Randy Mackay 974a6f48c6 AC_PrecLand: remove check of type when using distance-to-target 2017-02-03 17:26:40 +09:00
fnoop 438ffd870a AP_PrecLand: consume distance_to_target as alternative to rangefinder_alt
Resolves issue #5636
2017-02-03 17:26:37 +09:00
Jonathan Challinger 86406199a9 AC_PrecLand: reserve parameter indices 2016-12-20 09:21:51 +09:00
Andrew Tridgell 50db4d362d AC_PrecLand: use new in-tree IRLock driver 2016-11-28 08:26:58 +11:00
Peter Barker fd5f79b238 AC_PrecLand: a pure-ArduPilot simulated SITL precision land backend 2016-11-18 09:41:56 +09:00
Peter Barker 4df4ba1956 AC_PrecLand: make SITL_Gazebo an alternate backend
Preprocessor directives were used to hack in the use
of AP_IRLock_SITL.  Instead, make it a full backend itself.
2016-11-18 09:41:56 +09:00
Peter Barker d2285ace6c AC_PrecLand: remove unneeded empty handle_msg 2016-11-18 09:41:56 +09:00
Peter Barker 03710beb18 AC_PrecLand: make handle_msg impure and do nothing 2016-11-18 09:41:56 +09:00
murata c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Jonathan Challinger 8df4add729 AC_PrecLand: trust initial velocity less 2016-10-14 10:46:22 +09:00
Jonathan Challinger ec73f563ad AC_PrecLand: do not fuse EKF velocity 2016-10-14 10:46:16 +09:00
Jonathan Challinger 7405f82d61 AC_PrecLand: add ekf to estimate vehicle-relative target velocity 2016-10-14 10:46:05 +09:00
John Hsu a8cf38b366 SITL: implement Gazebo SITL for IRLock tracking. 2016-10-13 12:03:20 +11:00
Randy Mackay 3c87f67212 AC_PrecLand: initialise some members
This was not a real problem but it resolves some Covarity warnings
2016-08-08 13:31:28 +09:00
Tom Pittenger ccb0151816 AC_PrecLand: set param "Enable" to be FLAG_ENABLE 2016-08-04 11:29:45 -07:00
Randy Mackay 65038c753c AC_PrecLand: re-order init to resolve compiler warning 2016-07-23 14:49:21 +09:00
Jonathan Challinger 8fe0c1b05b AC_PrecLand: don't run if not enabled 2016-07-12 18:40:25 +09:00
Jonathan Challinger e84d1581ab AC_PrecLand: use new irlock interface, refactor backend interface 2016-07-12 18:40:25 +09:00
Jonathan Challinger 0eac5a5c8f AC_PrecLand: remove zero terms from math 2016-07-04 16:57:06 +09:00
Jonathan Challinger f74e162451 AC_PrecLand: redo math, simplify interface 2016-07-04 16:57:06 +09:00
Allan Matthew d01db0edd6 AC_PrecLand: remove PI controller, speed limits as they are unused 2016-05-06 11:04:12 +09:00
Lucas De Marchi 4e9ca31cb9 AC_PrecLand: replace header guard with pragma once 2016-03-16 18:40:39 +11:00
Randy Mackay c829ec0c2c AC_PrecLand: add missing parameter description
Thanks to Thomas Stone for finding this
2016-01-07 17:35:18 +09:00
Randy Mackay bea69521c8 AC_PrecLand: velocity PI controller into parent class 2015-12-31 15:30:33 +09:00
Lucas De Marchi 2591261af6 Global: rename min and max macros to uppercase
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.

Changes generated with:

	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Randy Mackay d13b4c2dc3 AC_PrecLand: init members to resolve compile warning 2015-11-12 14:43:38 +09:00
Randy Mackay 175f5654c1 AC_PrecLand: fix backend compile error 2015-11-12 14:42:44 +09:00
Lucas De Marchi 831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
squilter 9de2ec04f6 AC_PrecLand: update comments to reflect change from bf_angle to angle 2015-10-26 09:45:05 +09:00
squilter 9e7099f5ee AC_PrecLand: implement frame of reference 2015-10-26 09:45:03 +09:00
squilter e409bd0a58 AC_PrecLand: rename bf_angle to angle 2015-10-26 09:45:01 +09:00
Daniel Nugent 58b7bf1588 AC_PrecLand: add companion computer implementation 2015-09-11 20:56:08 +09:00
Daniel Nugent 2f92876865 AC_PrecLand: remove const from get_angle_to_target 2015-09-11 20:56:07 +09:00
Daniel Nugent 21ac12f1c3 AC_Precland: bug fix to update ef angles only with new readings 2015-09-11 20:56:05 +09:00
Andrew Tridgell 2ce0f4c171 AC_Precland: fixed build under cygwin
the IRLock driver only builds on PX4 at the moment
2015-09-02 10:10:04 +10:00
Randy Mackay bf08fc317c AC_PrecLand: correct include paths 2015-08-31 18:00:26 +09:00
Randy Mackay c06593f987 AC_PrecLand: precision landing lib for IR-Lock and companion computer 2015-08-31 18:00:25 +09:00