modules
simulator
include
mvsim
PID_Controller.h
Go to the documentation of this file.
1
/*+-------------------------------------------------------------------------+
2
| MultiVehicle simulator (libmvsim) |
3
| |
4
| Copyright (C) 2014-2023 Jose Luis Blanco Claraco |
5
| Copyright (C) 2017 Borys Tymchenko (Odessa Polytechnic University) |
6
| Distributed under 3-clause BSD License |
7
| See COPYING |
8
+-------------------------------------------------------------------------+ */
9
#pragma once
10
11
namespace
mvsim
12
{
13
struct
PID_Controller
14
{
15
PID_Controller
() =
default
;
16
17
double
KP
= 1.0,
KI
= 0,
KD
= 0;
18
double
max_out
= 0;
19
21
double
compute
(
double
err,
double
dt);
22
25
void
reset
();
26
27
private
:
28
double
lastOutput
= 0;
29
double
e_n
= 0,
e_n_1
= 0,
e_n_2
= 0;
30
};
31
}
// namespace mvsim
mvsim
mvsim::PID_Controller::KD
double KD
Definition:
PID_Controller.h:17
mvsim::PID_Controller::KP
double KP
Definition:
PID_Controller.h:17
mvsim::PID_Controller::e_n
double e_n
Definition:
PID_Controller.h:29
mvsim::PID_Controller::lastOutput
double lastOutput
Definition:
PID_Controller.h:28
mvsim::PID_Controller
Definition:
PID_Controller.h:13
mvsim::PID_Controller::PID_Controller
PID_Controller()=default
mvsim::PID_Controller::reset
void reset()
Definition:
PID_Controller.cpp:41
mvsim::PID_Controller::max_out
double max_out
For clamping (0=no clamp)
Definition:
PID_Controller.h:18
mvsim::PID_Controller::compute
double compute(double err, double dt)
Definition:
PID_Controller.cpp:15
mvsim::PID_Controller::e_n_1
double e_n_1
Definition:
PID_Controller.h:29
mvsim::PID_Controller::e_n_2
double e_n_2
Definition:
PID_Controller.h:29
mvsim::PID_Controller::KI
double KI
Definition:
PID_Controller.h:17
mvsim
Author(s):
autogenerated on Tue Jul 4 2023 03:08:21