47 #include <mathlib/mathlib.h> 88 if (airspeed > _param_fw_airspd_min.get() * _param_rwto_airspd_scl.get()) {
96 if (alt_agl > _param_rwto_nav_alt.get()) {
103 if (_param_rwto_hdg.get() == 0) {
114 if (alt_agl > _param_fw_clmbout_diff.get()) {
168 return navigatorRoll;
198 _param_rwto_max_thr.get();
199 return throttle < _param_rwto_max_thr.get() ?
201 _param_rwto_max_thr.get();
205 return _param_rwto_max_thr.get();
245 return _param_rwto_max_pitch.get();
#define mavlink_log_info(_pub, _text,...)
Send a mavlink info message (not printed to console).
constexpr _Tp constrain(_Tp val, _Tp min_val, _Tp max_val)
static orb_advert_t * mavlink_log_pub
float getYaw(float navigatorYaw)
taking off, get ground clearance, roll 0
RunwayTakeoffState _state
state variables
float getPitch(float tecsPitch)
float getMaxPitch(float max)
Runway takeoff handling for fixed-wing UAVs with steerable wheels.
fly towards takeoff waypoint
constexpr T radians(T degrees)
Vector2< float > Vector2f
static hrt_abstime hrt_elapsed_time(const hrt_abstime *then)
Compute the delta between a timestamp taken in the past and now.
float getThrottle(float tecsThrottle)
__BEGIN_DECLS typedef void * orb_advert_t
ORB topic advertiser handle.
constexpr _Tp min(_Tp a, _Tp b)
void init(float yaw, double current_lat, double current_lon)
RunwayTakeoff(ModuleParams *parent)
constexpr _Tp max(_Tp a, _Tp b)
clamped to runway, controlling yaw directly (wheel or rudder)
float getMinPitch(float sp_min, float climbout_min, float min)
float getRoll(float navigatorRoll)
matrix::Vector2f getStartWP()
matrix::Vector2f _start_wp
void update(float airspeed, float alt_agl, double current_lat, double current_lon, orb_advert_t *mavlink_log_pub)
__EXPORT hrt_abstime hrt_absolute_time(void)
Get absolute time in [us] (does not wrap).
climbout to safe height before navigation, roll limited
hrt_abstime _initialized_time