I’m trying to figure out how to maintain airspeed. In test flights, airspeed demand is set correctly and remains flat, but airspeed fluctuates with external factors.
The ultimate goal of this project is this aircraft, but the test flights here are with a simple 3-channel, 1-meter wingspan flying wing (v4.3.5). The challenge is to configure AP to maintain a demanded airspeed regardless of energy input. This use case is relevant to JATO, bungee launch, winch launch, aerotow, gliders in thermals, air-drop (think 1947 X-1) and other situations where AP cannot control thrust.
To simulate this setup, ESC output is a direct passthrough from a channel that has no effect on AP, and the throttle input is constant at 1000 uSec. Since throttle input is not a factor in AP’s computation, I graph battery current as a proxy for thrust. The graphs show a constant spdem
at 16 m/s. They also show the airspeed fluctuate with available thrust.
What I want to achieve is the aircraft pitching up to maintain the demanded airspeed until it either slows down to spdem
or runs out of its pitch limit. The test AC can climb indefinitely at 80-degree pitch in FBWA (has a very flat-pitch prop), but TECS doesn’t seem to demand anywhere near as much, so airspeed increases instead.
What am I missing?
Log is here:
Key parameters:
# prioritize speed over altitude targets
TECS_SPDWEIGHT,2
# "GilderOnly"
TECS_OPTIONS,1
# throttle input has no effect on target airspeed in auto-throttle modes
THROTTLE_NUDGE,0
# TX channel 16 is a 2-position switch, sends constant 1,000 uSec
RCMAP_THROTTLE,16
# left stick on channel 3 is not an input to AP
RC3_OPTION,0
# ESC is passthrough from the left stick; essentially a manual throttle in any mode including Auto
SERVO3_FUNCTION,142
# source for TECS.spdem
TRIM_ARSPD_CM,1600
# 80 degree pitch up limit; aircraft can sustain this climb angle in FBWA; it has a very flat prop
LIM_PITCH_MAX,8000
LIM_PITCH_MIN,-2500
# these seem to have no observable effect
TECS_PTCH_FF_V0,15
TECS_PTCH_FF_K,-0.06
The test aircraft, here with our newest intern David.