Main Page
Namespaces
Classes
Files
File List
include
hector_quadrotor_controller
pid.h
Go to the documentation of this file.
1
#ifndef HECTOR_QUADROTOR_CONTROLLER_PID_H
2
#define HECTOR_QUADROTOR_CONTROLLER_PID_H
3
4
#include <
ros/node_handle.h
>
5
6
namespace
hector_quadrotor_controller
{
7
8
class
PID
9
{
10
public
:
11
struct
parameters
{
12
parameters
();
13
bool
enabled
;
14
double
time_constant
;
15
double
k_p
;
16
double
k_i
;
17
double
k_d
;
18
double
limit_i
;
19
double
limit_output
;
20
}
parameters_
;
21
22
struct
state
{
23
state
();
24
double
p
, i,
d
;
25
double
input
, dinput;
26
double
dx
;
27
}
state_
;
28
29
public
:
30
PID
();
31
PID
(
const
parameters
&
parameters
);
32
~PID
();
33
34
void
init
(
const
ros::NodeHandle
¶m_nh);
35
void
reset
();
36
37
double
update
(
double
input,
double
x,
double
dx,
const
ros::Duration
& dt);
38
double
update
(
double
error,
double
dx,
const
ros::Duration
& dt);
39
40
double
getFilteredControlError
(
double
& filtered_error,
double
time_constant
,
const
ros::Duration
& dt);
41
};
42
43
}
// namespace hector_quadrotor_controller
44
45
#endif // HECTOR_QUADROTOR_CONTROLLER_PID_H
d
d
hector_quadrotor_controller::PID::parameters::enabled
bool enabled
Definition:
pid.h:13
hector_quadrotor_controller::PID::parameters_
struct hector_quadrotor_controller::PID::parameters parameters_
hector_quadrotor_controller
Definition:
handles.h:42
hector_quadrotor_controller::PID::state::p
double p
Definition:
pid.h:24
hector_quadrotor_controller::PID::parameters::limit_i
double limit_i
Definition:
pid.h:18
ros::NodeHandle
hector_quadrotor_controller::PID
Definition:
pid.h:8
hector_quadrotor_controller::PID::PID
PID()
Definition:
pid.cpp:55
hector_quadrotor_controller::PID::state::dx
double dx
Definition:
pid.h:26
hector_quadrotor_controller::PID::init
void init(const ros::NodeHandle ¶m_nh)
Definition:
pid.cpp:65
hector_quadrotor_controller::PID::~PID
~PID()
Definition:
pid.cpp:62
hector_quadrotor_controller::PID::update
double update(double input, double x, double dx, const ros::Duration &dt)
Definition:
pid.cpp:87
hector_quadrotor_controller::PID::parameters::k_d
double k_d
Definition:
pid.h:17
hector_quadrotor_controller::PID::parameters::k_p
double k_p
Definition:
pid.h:15
node_handle.h
hector_quadrotor_controller::PID::state
Definition:
pid.h:22
ros::Duration
hector_quadrotor_controller::PID::state_
struct hector_quadrotor_controller::PID::state state_
hector_quadrotor_controller::PID::parameters
Definition:
pid.h:11
hector_quadrotor_controller::PID::reset
void reset()
Definition:
pid.cpp:76
hector_quadrotor_controller::PID::parameters::limit_output
double limit_output
Definition:
pid.h:19
hector_quadrotor_controller::PID::parameters::k_i
double k_i
Definition:
pid.h:16
hector_quadrotor_controller::PID::parameters::parameters
parameters()
Definition:
pid.cpp:44
hector_quadrotor_controller::PID::state::input
double input
Definition:
pid.h:25
hector_quadrotor_controller::PID::parameters::time_constant
double time_constant
Definition:
pid.h:14
hector_quadrotor_controller::PID::getFilteredControlError
double getFilteredControlError(double &filtered_error, double time_constant, const ros::Duration &dt)
Definition:
pid.cpp:141
hector_quadrotor_controller
Author(s): Johannes Meyer
autogenerated on Sun Jul 10 2016 04:30:48