source: flair-src/trunk/demos/OpticalFlow/uav/src/DemoOpticalFlow.h@ 242

Last change on this file since 242 was 214, checked in by Sanahuja Guillaume, 7 years ago

matrix

File size: 2.1 KB
RevLine 
[122]1// created: 2011/05/01
2// filename: DemoOpticalFlow.h
3//
4// author: Guillaume Sanahuja
5// Copyright Heudiasyc UMR UTC/CNRS 7253
6//
7// version: $Id: $
8//
9// purpose: demo optical flow
10//
11//
12/*********************************************************************/
13//------------
14
15#ifndef DEMOOPTICALFLOW_H
16#define DEMOOPTICALFLOW_H
17
18#include <UavStateMachine.h>
19
20namespace flair {
21 namespace core {
[214]22 class Matrix;
[122]23 }
24 namespace gui {
25 class GroupBox;
26 class DoubleSpinBox;
[124]27 class PushButton;
[122]28 }
29 namespace filter {
30 class OpticalFlow;
[155]31 class OpticalFlowCompensated;
[122]32 class OpticalFlowSpeed;
33 class LowPassFilter;
[142]34 class EulerDerivative;
[122]35 class CvtColor;
36 }
37 namespace sensor {
38 class TargetController;
39 }
40}
41
42class DemoOpticalFlow : public flair::meta::UavStateMachine {
43
44 public:
45 DemoOpticalFlow(flair::sensor::TargetController *controller);
46 ~DemoOpticalFlow();
47
48 protected:
49 void SignalEvent(Event_t event);
50 void ExtraCheckJoystick(void);
[155]51 void ExtraCheckPushButton(void);
[165]52 void ExtraSecurityCheck(void);
[122]53 const flair::core::AhrsData *GetReferenceOrientation(void);
54
55 flair::gui::GroupBox* opticalFlowGroupBox;
56 flair::gui::DoubleSpinBox *maxXSpeed,*maxYSpeed;
[214]57 flair::core::Matrix *opticalFlowReference;
[122]58 flair::filter::Pid *u_x, *u_y;
59 flair::filter::CvtColor* greyCameraImage;
60 flair::core::AhrsData *customReferenceOrientation;
[214]61 flair::core::Matrix *opticalFlowRealSpeed,*opticalFlowRealAcceleration;
[122]62
63 private:
64 flair::filter::OpticalFlow *opticalFlow;
[155]65 flair::filter::OpticalFlowCompensated *opticalFlowCompensated;
[142]66 flair::filter::OpticalFlowSpeed *opticalFlowSpeedRaw;
67 flair::filter::EulerDerivative *opticalFlowAccelerationRaw;
[155]68 flair::gui::PushButton *startOpticalflow,*stopOpticalflow;
69 void StartOpticalFlow(void);
[163]70 flair::filter::LowPassFilter* opticalFlowSpeed;
71 flair::filter::LowPassFilter* opticalFlowAcceleration;
[165]72 bool flagCameraLost;
[122]73};
74
75#endif // DEMOOPTICALFLOW_H
Note: See TracBrowser for help on using the repository browser.