Commit Graph

228 Commits

Author SHA1 Message Date
Andrew Tridgell ae790750ed AP_TECS: fixed adjusting speed without airspeed sensor
the pitch trim variable that was not connected in aparm is needed to
allow tuning of the flight speed using PTCH_TRIM_DEG and
TRIM_THROTTLE.

This was broken in 4.4.x by this PR:

https://github.com/ArduPilot/ardupilot/pull/22191
2024-03-14 09:33:55 +09:00
Paul Riseborough de080b2499 AP_TECS: Remove unused variable 2024-03-14 09:33:55 +09:00
Paul Riseborough 1654bacc2b AP_TECS: Add /0 protection 2024-03-14 09:33:55 +09:00
Paul Riseborough 1aeb0ba23c AP_TECS: Add option for speed to increase up to FBW max during descent 2024-03-14 09:33:55 +09:00
Andrew Tridgell f51fa31aae AP_TECS: fixed param names in comments 2024-01-23 15:00:30 +11:00
Andrew Tridgell 2c73c56403 AP_TECS: convert LAND_PITCH_CD to LAND_PITCH_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 7d5685c55f AP_TECS: convert LIM_PITCH_MIN/MAX -> PTCH_LIM_MIN/MAX_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell d65809ffc1 AP_TECS: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell c8813677b3 AP_TECS: convert remaining uses of TRIM_ARSPD_CM to AIRSPEED_CRUISE 2024-01-23 15:00:30 +11:00
Andrew Tridgell b1e6c1de41 AP_TECS: change TRIM_ARSPD_CM to AIRSPEED_CRUISE 2024-01-23 15:00:30 +11:00
Tim Tuxworth b1c8511386 AP_TECS: use new pitch_trim in degrees 2024-01-23 15:00:30 +11:00
Peter Barker 512c1f030f AP_TECS: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Peter Barker 7f43facb37 AP_TECS: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
coleschon af898220e7 AP_TECS: improve velRateMin scaling wrt airspeed 2024-01-08 17:10:28 +11:00
Iampete1 97101b6bd0 TECS: move to new `using_airspeed_sensor` ahrs method 2023-10-31 10:39:21 +11:00
Mark Agate 31bc321b70 AP_TECS: log SKE weight since both weights are now [0,1] 2023-10-24 10:44:12 +11:00
Andrew Tridgell 4a181ede62 AP_TECS: fixed descent or lack of climb bug
this fixes a state where we either cannot climb or descend in an
uncontrolled manner in a TECS controlled mode

the conditions under which this happened were:

- _use_synthetic_airspeed_once was true due to quadplane takeoff
- we left _thr_clip_status as MAX from previous use of synthetic airspeed
- then run without airspeed

note that this can also impact users with an airspeed sensor if they
disable it or it fails in flight, particularly during a climb
2023-09-28 20:37:41 +10:00
Henry Wurzburg a901d23de4 AP_TECS: correct/expand param metadata re synth airspeed 2023-09-26 09:04:51 +10:00
Peter Barker 99012bd525 AP_TECS: ensure good TECS state before running update_pitch_throttle
update_pitch_throttle can be called when update_50hz hasn't run in a very long time, or ever.  This requires a main loop rate >50Hz, and for the mode change to occur in the same loop that update_50Hz doesn't run but update_pitch_throttle does.
2023-09-10 12:32:13 +10:00
Andy Piper 2e2491f4ff AP_TECS: remove unused variables 2023-07-13 11:02:40 +10:00
Henry Wurzburg 5df9b8abf1 AP_TECS: set FW landing speed if not set 2023-07-04 10:24:30 +10:00
Henry Wurzburg 5dc7bfc718 AP_TECS: correct metadata for FLARE_HGT 2023-04-11 08:54:45 +10:00
Iampete1 6d552a32d7 AP_TECS: protect against low airspeed in reset 2023-02-19 10:20:03 -08:00
Ryan Beall 1d70180809 AP_Landing: Add Landing Max Throttle Option 2023-01-24 10:19:56 +11:00
Ryan Beall 4355d852b1 AP_TECS: Update documentation to alert user of maximum allowed 2023-01-24 10:19:56 +11:00
Andrew Tridgell abb3cdd6b8 AP_TECS: added max throttle time for takeoff with no airspeed sensor 2023-01-15 12:17:27 +11:00
Paul Riseborough 403d51b39f AP_TECS: Remove unused TECS_LAND_PTRIM parameter 2022-12-06 10:23:59 +11:00
Paul Riseborough 93ae6f1739 AP_TECS: Remove duplicate setting of flare pitch upper limit 2022-12-01 15:19:27 +11:00
Paul Riseborough dab61bf3ef AP_TECS: Fix flare initialisation bug 2022-12-01 15:19:27 +11:00
Paul Riseborough 9234e5168f AP_TECS: Fix TECS_OPTIONS documentation 2022-11-18 05:43:59 +11:00
Paul Riseborough d449ed885a AP_TECS: Protect against too small values of TECS_HDEM_TCONST 2022-11-18 05:43:59 +11:00
Paul Riseborough ec9445757e AP_TECS: Fix TECS_LAND_PTRIM documentation typos 2022-11-18 05:43:59 +11:00
Paul Riseborough 0840bf5a21 AP_TECS: Implement improved control loops 2022-11-18 05:43:59 +11:00
Peter Barker d438cd9ed2 AP_TECS: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Iampete1 3e8e846d1d AP_TECS: reset vdot filter if not been called 2022-10-11 10:41:25 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Paul Riseborough 3f7071772e AP_TECS: Assume flight at cruise speed if speed measurement not available 2022-09-26 14:17:53 +10:00
Joshua Henderson e338e4cdb6 AP_TECS: use TECS log bitmask in constructor 2022-08-09 09:44:50 +10:00
Ryan Beall 033266f94b TECS.cpp: Remove redundant throttle saturation 2022-07-23 18:23:27 -07:00
murata 531e92db8f AP_TECS: Unify coding style for if statements 2022-07-01 11:54:46 -07:00
Ryan Beall 77f922a1ae AP_TECS.cpp: remove line copy error
This was a copy paste error that is duplicated in the correct spot (in line 530)
2022-06-30 20:06:33 +10:00
Ruffalo-sunghwan 286e0f261e AP_TECS : correct comment spelling 2022-05-24 20:27:45 +09:00
Peter Barker e1dd53eb17 AP_TECS: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Hall 98c5704b92 AP_TECS: add reset throttle I function 2021-12-22 18:46:14 +11:00
Ryan Beall beecca8da9 AP_TECS: Connsider throttle saturation in height demand limiting 2021-11-25 15:02:09 +11:00
Samuel Tabor 27078bccda AP_TECS: Log input height demands. 2021-11-23 11:15:50 +11:00
Iampete1 e0f03a3e09 AP_TECS: no longer child of SpdHgtController 2021-11-13 08:05:39 +11:00
Iampete1 d69d493ea6 AP_TECS: use float for get_throttle_demand 2021-10-20 18:29:58 +11:00
Andrew Tridgell 61d5910d0a AP_TECS: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
Andrew Tridgell a789bb372b AP_TECS: added get_max_sinkrate() API 2021-06-05 13:05:30 +10:00