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

Last change on this file since 377 was 377, checked in by Sanahuja Guillaume, 4 years ago

ugv update

  • 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,*ugvVrpn;
59 flair::filter::TrajectoryGenerator2DCircle *circle;
60
61};
62
63#endif // CIRCLEFOLLOWER_H
Note: See TracBrowser for help on using the repository browser.