Library containing Crazyflie 2.0 controller classes: - Attitude estimator - Horizontal estimator - Vertical estimator - Attitude controller - Horizontal controller - Vertical controller - Mixer

HorizontalController/HorizontalController.h

Committer:
fbob
Date:
2018-10-05
Revision:
17:f682b4a5686d
Parent:
16:54d2f299e404
Child:
21:169cc2b1d2ff

File content as of revision 17:f682b4a5686d:

#ifndef HorizontalController_h
#define HorizontalController_h

#include "mbed.h"
#include "Parameters.h"

class HorizontalController
{
  public:
    // Class constructor
    HorizontalController();
    // Control reference roll and pitch angles (rad) given reference horizontal velocities (m/s) and current horizontal velocities (m/s)
    void control(float u_r, float v_r, float u, float v);
    // Control roll and pitch references (rad) given reference horizontal velocities (m/s) and current horizontal velocities (m/s) on take-off
    void control_take_off(float u_r, float v_r, float u, float v);
    // Roll and pitch references (rad)
    float phi_r, theta_r;
  private:
    // Control reference angle (rad) given reference horizontal velocity (m/s) and current horizontal velocity (m/s) with given time constant (s)
    float control_single(float velocity_r, float velocity, float T_velocity);  
};

#endif