Auterion App SDK
Auterion SDK is a library that can be used by AuterionOS apps to communicate with the system.
Loading...
Searching...
No Matches
control.hpp
1/****************************************************************************
2 *
3 * Copyright 2023 Auterion AG. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice, this
9 * list of conditions and the following disclaimer.
10 *
11 * 2. Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
14 *
15 * 3. Neither the name of the copyright holder nor the names of its contributors
16 * may be used to endorse or promote products derived from this software without
17 * specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 *
31 ****************************************************************************/
32
33#pragma once
34
35#include <auterion_sdk/control/common/attitude_control.hpp>
36#include <auterion_sdk/control/common/rate_control.hpp>
37#include <auterion_sdk/control/fixedwing/dynamics_control.hpp>
38#include <auterion_sdk/control/multicopter/body_frame_dynamics_control.hpp>
39#include <auterion_sdk/control/multicopter/global_frame_goto_control.hpp>
40#include <auterion_sdk/control/multicopter/local_frame_dynamics_control.hpp>
41#include <auterion_sdk/control/multicopter/local_frame_goto_control.hpp>
42#include <auterion_sdk/control/vtol/transition_control.hpp>
43
44namespace auterion {
45
55using ModalityConfig = std::variant<
60
66using Setpoint =
71
73} // namespace auterion
Placeholder config.
Definition attitude_control.hpp:55
Represents a setpoint to control attitude and thrust.
Definition attitude_control.hpp:46
Placeholder config.
Definition rate_control.hpp:55
Represents a setpoint to angular rates and thrust.
Definition rate_control.hpp:46
Placeholder config.
Definition dynamics_control.hpp:35
Represents a setpoint to control course, altitude, equivalent airspeed, height rate and lateral accel...
Definition dynamics_control.hpp:23
Placeholder config.
Definition body_frame_dynamics_control.hpp:65
Represents a setpoint to control velocity, accleration, heading and angular rate in body frame.
Definition body_frame_dynamics_control.hpp:54
Sets controller's default speed limits for global goto setpoint.
Definition global_frame_goto_control.hpp:65
Represents a setpoint for controlling the global frame position and heading.
Definition global_frame_goto_control.hpp:54
Placeholder config.
Definition local_frame_dynamics_control.hpp:65
Represents a setpoint to control velocity, accleration, heading and angular rate in local frame.
Definition local_frame_dynamics_control.hpp:54
Sets controller's default speed limits for local goto setpoint.
Definition local_frame_goto_control.hpp:98
Represents a setpoint for controlling the local frame position and heading.
Definition local_frame_goto_control.hpp:88
Placeholder config.
Definition transition_control.hpp:32
Represents a setpoint for lateral control during a vtol transition.
Definition transition_control.hpp:23
std::variant< RateSetpoint::Config, AttitudeSetpoint::Config, multicopter::BodyFrameDynamicsSetpoint::Config, multicopter::LocalFrameDynamicsSetpoint::Config, multicopter::LocalFrameGotoSetpoint::Config, multicopter::GlobalFrameGotoSetpoint::Config, fixedwing::DynamicsSetpoint::Config, vtol::TransitionSetpoint::Config > ModalityConfig
Type alias for representing various configuration options for mode control.
Definition control.hpp:59
std::variant< RateSetpoint, AttitudeSetpoint, multicopter::LocalFrameDynamicsSetpoint, multicopter::BodyFrameDynamicsSetpoint, multicopter::LocalFrameGotoSetpoint, multicopter::GlobalFrameGotoSetpoint, fixedwing::DynamicsSetpoint, vtol::TransitionSetpoint > Setpoint
Type alias for representing various types of setpoints.
Definition control.hpp:70