Pr airbound 4575 rc11 fixes - #132
Conversation
- AP_Scripting: expose rate PID info to Lua via get_rate_pid_info(axis) - Adds lua_get_rate_pid_info() binding returning a table of PID fields (P, I, D, FF, target, actual, error) for roll (0), pitch (1), or yaw (2) rate controllers. Used to compute control effort (|P + D + FF|) from Lua. - Add get_attitude_control() public accessor to QuadPlane - Add despitch, roll and yaw
…ed pitch (#111) * Remove controller desaturation in control effort * Add desaturation logic for Desired servo tilt * Add logging for VH Power * Add hard limit for pitch angle setpoint * Add new parameters in default.param * Add logging for the position controller demanded pitch --------- Co-authored-by: Manuraj P M <[email protected]>
* introduced parameter LND_DET_TIM that controls how many milliseconds before disarm is detected * add disarm watchdog and disable weathervane after touchdown * Weathervane disable logic changed * expose land detection timing as params Q_LND_RELAX_MS and Q_LND_LLIM_MS --------- Co-authored-by: Stefard100 <[email protected]>
* Fix feedforward_scalar calculation when thrust angle error exceeds limits in AC_AttitudeControl.cpp
* add resume after autobailout
This reverts commit ea58cdf.
Reduce the Roll angle P gain to 3.75
…KEOFF and NAV_TAKEOFF
Greptile SummaryThis PR bundles rc3–rc11 changes for ArduPlane 4.5.7.5, covering VTOL flight safety improvements, a redesigned autobailout system, door-control script fixes, new Lua scripting bindings, PID tuning, and a feedforward scalar correction.
Confidence Score: 4/5Safe to merge with one fix: the wrong-variable disable guard in The autobailout redesign is substantial and mostly well-structured. One concrete defect was found: Files Needing Attention:
|
| Filename | Overview |
|---|---|
| ArduPlane/quadplane.cpp | Removed now timestamp from tailsitter_in_vtol_transition(), dropping the 1-second post-FW-flight grace window (previously flagged). |
| libraries/AC_AttitudeControl/AC_AttitudeControl.cpp | Adds VTOL pitch clamping via new PIT_CLIP_MAX parameter, and corrects the feedforward scalar formula to linearly fade from 1→0 over the TH2 to TH3 thrust-error range. |
| libraries/AP_Motors/AP_MotorsTailsitter.cpp | Removed pitch/yaw tilt headroom constraint and limit.yaw flag; yaw integrator windup risk during saturation (previously flagged). |
| libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6C-bdshot/scripts/autobailout.lua | Major redesign adding rate-based pitch prediction, rolling window analytics, mode-resume-on-recovery, and takeoff inhibit. Contains a wrong-variable disable guard that causes constant autobailout if AUTOB_PIT_LIM is set negative per the comment. |
| libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6C-bdshot/scripts/ab_door_auto_control.lua | Replaces landing-latch mechanism with one_forward_transition_complete flag; doors now open in VTOL only after the first FW transition is confirmed. |
| libraries/AP_Scripting/lua_bindings.cpp | Adds four new Lua bindings with correct nullptr guards, all returning a single table. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[update loop] --> B{autobailout_active?}
B -- No --> C[is_vtol_pitch_exceeding_limit]
B -- No --> D[is_predicted_vtol_pitch_exceeding_threshold]
C -- true --> E[trigger_autobailout]
D -- true --> E
E --> F[set_mode QLoiter\nautobailout_active = true\npre_bailout_mode saved]
B -- Yes --> G{current_mode == QLOITER?}
G -- No --> H[Manual Override\nautobailout_active = false]
G -- Yes --> I{post_bailout_samples >= WINDOW\navg_err < avg_lim\npeak_ang < peak_lim\nresume_count < max}
I -- Yes --> J[set_mode pre_bailout_mode\nautobresume_count++]
I -- No --> K[Stay in QLoiter]
J --> L{PIT_LIM negative bug?}
L -- AUTOB_PIT_LIM negative --> M[threshold < 0\nabs always > threshold\ninstant re-trigger]
M --> E
Reviews (2): Last reviewed commit: "Change version 4.5.7.5-rc11-fixes" | Re-trigger Greptile
Notion Page:
https://app.notion.com/p/airbound/airbound-develop-add-4-5-7-5-rc11-features-3a521adf4be980f59aa4f2a9fb6e1913?source=copy_link