source: flair-src/trunk/demos/TwoWheelRobotCircleFollower/ugv/src/CircleFollower.h @ 376

Last change on this file since 376 was 376, checked in by Sanahuja Guillaume, 10 months ago

up ugv

  • Property svn:eol-style set to native
File size: 1.3 KB
Line 
1//  created:    2020/12/09
2//  filename:   CircleFollower.h
3//
4//  author:     Guillaume Sanahuja
5//              Copyright Heudiasyc UMR UTC/CNRS 7253
6//
7//  version:    $Id: $
8//
9//  purpose:    demo cercle avec optitrack
10//
11//
12/*********************************************************************/
13
14#ifndef CIRCLEFOLLOWER_H
15#define CIRCLEFOLLOWER_H
16
17#include <Thread.h>
18
19namespace flair {
20    namespace gui {
21        class PushButton;
22    }
23    namespace filter {
24        class TrajectoryGenerator2DCircle;
25                class Pid;
26    }
27    namespace meta {
28        class MetaVrpnObject;
29    }
30    namespace sensor {
31        class TargetController;
32    }
33}
34
35class CircleFollower : public flair::core::Thread {
36    public:
37        CircleFollower(std::string name,flair::sensor::TargetController *controller);
38        ~CircleFollower();
39
40    private:
41
42        enum class BehaviourMode_t {
43            Default,
44            Circle
45        };
46
47        BehaviourMode_t behaviourMode;
48        bool vrpnLost;
49                flair::sensor::TargetController *controller;
50
51                void Run(void);
52        void StartCircle(void);
53        void StopCircle(void);
54
55        flair::filter::Pid *uX, *uY;
56
57        flair::gui::PushButton *startCircle,*stopCircle,*button_kill;
58        flair::meta::MetaVrpnObject *targetVrpn,*uavVrpn;
59        flair::filter::TrajectoryGenerator2DCircle *circle;
60};
61
62#endif // CIRCLEFOLLOWER_H
Note: See TracBrowser for help on using the repository browser.