source: flair-src/branches/semaphore/demos/PidStandalone/uav/src/PidUav.h@ 116

Last change on this file since 116 was 105, checked in by Bayard Gildas, 7 years ago

Passage du "framework" à flair

File size: 1.1 KB
Line 
1// created: 2016/06/01
2// filename: PidUav.h
3//
4// author: Gildas Bayard
5// Copyright Heudiasyc UMR UTC/CNRS 7253
6//
7// version: $Id: $
8//
9// purpose: Uav class showing the incidence of pid parameters choice
10//
11//
12/*********************************************************************/
13
14#ifndef PID_UAV_H
15#define PID_UAV_H
16
17#include <UavStateMachine.h>
18
19namespace flair {
20 namespace core {
21 class cvmatrix;
22 }
23 namespace gui {
24 class GroupBox;
25 class DoubleSpinBox;
26 }
27 namespace filter {
28 class Pid;
29 }
30 namespace sensor {
31 class TargetController;
32 }
33}
34
35class PidUav : public flair::meta::UavStateMachine {
36public:
37 PidUav(flair::meta::Uav *uav,
38 flair::sensor::TargetController *controller);
39 ~PidUav();
40
41protected:
42 void SignalEvent(Event_t event);
43 void ExtraCheckJoystick(void);
44
45private:
46 void ComputeCustomTorques(flair::core::Euler &torques);
47 bool StartCustomMode();
48 void StartOscillatingMode();
49 flair::filter::Pid *my_uPitch, *my_uRoll;
50 enum class BehaviourMode_t { Default, Oscillating };
51 BehaviourMode_t behaviourMode;
52};
53
54#endif // PID_UAV_H
Note: See TracBrowser for help on using the repository browser.