Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Ardupilot
GitHub Repository: Ardupilot/ardupilot
Path: blob/master/libraries/AC_AttitudeControl/AC_AttitudeControl_TS.h
9693 views
1
#pragma once
2
3
/// @file AC_AttitudeControl_TVBS.h
4
/// @brief ArduCopter attitude control library
5
6
#include "AC_AttitudeControl_Multi.h"
7
8
class AC_AttitudeControl_TS : public AC_AttitudeControl_Multi
9
{
10
public:
11
using AC_AttitudeControl_Multi::AC_AttitudeControl_Multi;
12
13
// empty destructor to suppress compiler warning
14
virtual ~AC_AttitudeControl_TS() {}
15
16
// Ensure attitude controllers have zero errors to relax rate controller output
17
// Relax only the roll and yaw rate controllers if exclude_pitch is true
18
virtual void relax_attitude_controllers(bool exclude_pitch) override;
19
20
21
// Commands a body-frame roll angle (in centidegrees), an euler pitch angle (in centidegrees), and a yaw rate (in centidegrees/s).
22
// See input_euler_rate_yaw_euler_angle_pitch_bf_roll_rad() for full details.
23
virtual void input_euler_rate_yaw_euler_angle_pitch_bf_roll_cd(bool plane_controls, float body_roll_cd, float euler_pitch_cd, float euler_yaw_rate_cds) override;
24
25
// Commands a body-frame roll angle (in radians), an euler pitch angle (in radians), and a yaw rate (in radians/s).
26
// Used by tailsitter quadplanes. Optionally swaps roll and yaw effects as pitch nears 90° if plane_controls is true.
27
virtual void input_euler_rate_yaw_euler_angle_pitch_bf_roll_rad(bool plane_controls, float body_roll_rad, float euler_pitch_rad, float euler_yaw_rate_rads) override;
28
};
29
30