- 3.0.2 models module.
Quadrotor.hpp
Go to the documentation of this file.
1 /**********************************************************************************************************************
2 This file is part of the Control Toolbox (https://github.com/ethz-adrl/control-toolbox), copyright by ETH Zurich.
3 Licensed under the BSD-2 license (see LICENSE file in main directory)
4 **********************************************************************************************************************/
5 
6 #pragma once
7 
8 #include <iostream>
9 #include <memory>
10 
11 #include <ct/core/core.h>
12 
15 
16 
17 namespace ct {
18 namespace models {
19 
20 class Quadrotor final : public ct::core::ControlledSystem<quadrotor::nStates, quadrotor::nControls>
21 {
22 public:
24  : ct::core::ControlledSystem<quadrotor::nStates, quadrotor::nControls>(controller)
25  {
26  }
27 
28  Quadrotor(const Quadrotor& arg) : ct::core::ControlledSystem<quadrotor::nStates, quadrotor::nControls>(arg) {}
29  Quadrotor* clone() const override { return new Quadrotor(*this); }
31  const ct::core::Time& t,
33  ct::core::StateVector<quadrotor::nStates>& derivative) override
34  {
35  derivative = quadrotor_ode(state, control);
36  }
37 };
38 }
39 }
void computeControlledDynamics(const ct::core::StateVector< quadrotor::nStates > &state, const ct::core::Time &t, const ct::core::ControlVector< quadrotor::nControls > &control, ct::core::StateVector< quadrotor::nStates > &derivative) override
Definition: Quadrotor.hpp:30
Quadrotor(std::shared_ptr< ct::core::Controller< quadrotor::nStates, quadrotor::nControls >> controller=nullptr)
Definition: Quadrotor.hpp:23
const size_t nControls
Definition: declarations.hpp:13
const size_t nStates
Definition: declarations.hpp:12
Quadrotor * clone() const override
Definition: Quadrotor.hpp:29
quadrotor::state_vector_t quadrotor_ode(const quadrotor::state_vector_t &x, const quadrotor::control_vector_t &u)
Definition: quadrotor_ode.cpp:18
Quadrotor(const Quadrotor &arg)
Definition: Quadrotor.hpp:28
double Time
ControlledSystem(const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
Definition: Quadrotor.hpp:20