skid4_control
SoftTurnController.hpp
Go to the documentation of this file.
1 /* Generated from orogen/lib/orogen/templates/tasks/Task.hpp */
2 
3 #ifndef SKID4_CONTROL_SOFTTURNCONTROLLER_TASK_HPP
4 #define SKID4_CONTROL_SOFTTURNCONTROLLER_TASK_HPP
5 
6 #include "skid4_control/SoftTurnControllerBase.hpp"
7 #include <motor_controller/PID.hpp>
8 #include <base/samples/Joints.hpp>
9 
10 namespace skid4_control {
11  class SoftTurnController : public SoftTurnControllerBase
12  {
13  friend class SoftTurnControllerBase;
14  protected:
15  enum State {
18  };
19 
20  double turnSpeed;
24  double turnVariance;
25 
27  double Kp;
28  double Ki;
29  double Kd;
30  double N;
31  double B;
32  double Tt;
33  double YMin;
34  double YMax;
35 
36 
37  motor_controller::PID leftPid;
38  motor_controller::PID rightPid;
39  base::samples::Joints lastStatus;
40 
41  base::samples::Joints startStatus;
42 
43  double leftController(double wantedSpeed, const base::samples::Joints &status);
44  double rightController(double wantedSpeed, const base::samples::Joints &status);
45 
46  double getSpeed(const base::samples::Joints& status, const std::vector< std::string >& joints);
47 
48  public:
49  SoftTurnController(std::string const& name = "skid4_control::SoftTurnController");
50 
52 
66  bool configureHook();
67 
73  // bool startHook();
74 
89  void updateHook();
90 
97  // void errorHook();
98 
102  // void stopHook();
103 
108  // void cleanupHook();
109  };
110 }
111 
112 #endif
113 
double B
Definition: SoftTurnController.hpp:31
base::samples::Joints startStatus
Definition: SoftTurnController.hpp:41
Definition: SoftTurnController.hpp:17
Definition: Controller.hpp:9
bool configureHook()
The following lines are template definitions for the various state machine.
Definition: SoftTurnController.cpp:25
double translationalSpeed
Definition: SoftTurnController.hpp:21
SoftTurnController(std::string const &name="skid4_control::SoftTurnController")
Definition: SoftTurnController.cpp:10
double Ki
Definition: SoftTurnController.hpp:28
~SoftTurnController()
Definition: SoftTurnController.cpp:15
State
Definition: SoftTurnController.hpp:15
Definition: SoftTurnController.hpp:16
double YMin
Definition: SoftTurnController.hpp:33
motor_controller::PID rightPid
Definition: SoftTurnController.hpp:38
double Tt
Definition: SoftTurnController.hpp:32
double leftController(double wantedSpeed, const base::samples::Joints &status)
Definition: SoftTurnController.cpp:94
double turnVariance
maximum allowed displacement while turning
Definition: SoftTurnController.hpp:24
friend class SoftTurnControllerBase
Definition: SoftTurnController.hpp:13
double YMax
Definition: SoftTurnController.hpp:34
double getSpeed(const base::samples::Joints &status, const std::vector< std::string > &joints)
Definition: SoftTurnController.cpp:72
double Kp
PID Configuration.
Definition: SoftTurnController.hpp:27
base::samples::Joints lastStatus
Definition: SoftTurnController.hpp:39
Definition: SoftTurnController.hpp:11
double turnSpeed
Definition: SoftTurnController.hpp:20
double rightController(double wantedSpeed, const base::samples::Joints &status)
Definition: SoftTurnController.cpp:109
State state
Definition: SoftTurnController.hpp:22
double N
Definition: SoftTurnController.hpp:30
void updateHook()
Definition: SoftTurnController.cpp:124
motor_controller::PID leftPid
Definition: SoftTurnController.hpp:37
double Kd
Definition: SoftTurnController.hpp:29