modules
simulator
include
mvsim
PID_Controller.h
Go to the documentation of this file.
1
/*+-------------------------------------------------------------------------+
2
| MultiVehicle simulator (libmvsim) |
3
| |
4
| Copyright (C) 2014-2024 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
{
14
struct
PID_Controller
15
{
16
PID_Controller
() =
default
;
17
18
double
KP
= 1.0,
KI
= 0,
KD
= 0;
19
double
max_out
= 0;
20
22
double
compute
(
double
err,
double
dt);
23
26
void
reset
();
27
28
private
:
29
double
lastOutput
= 0;
30
double
e_n
= 0,
e_n_1
= 0,
e_n_2
= 0;
31
};
32
}
// namespace mvsim
mvsim
Definition:
Client.h:21
mvsim::PID_Controller::e_n_2
double e_n_2
Definition:
PID_Controller.h:30
mvsim::PID_Controller::PID_Controller
PID_Controller()=default
mvsim::PID_Controller::KP
double KP
Definition:
PID_Controller.h:18
mvsim::PID_Controller
Definition:
PID_Controller.h:14
mvsim::PID_Controller::compute
double compute(double err, double dt)
Definition:
PID_Controller.cpp:15
mvsim::PID_Controller::KI
double KI
Definition:
PID_Controller.h:18
mvsim::PID_Controller::KD
double KD
Definition:
PID_Controller.h:18
mvsim::PID_Controller::reset
void reset()
Definition:
PID_Controller.cpp:41
mvsim::PID_Controller::lastOutput
double lastOutput
Definition:
PID_Controller.h:29
mvsim::PID_Controller::e_n
double e_n
Definition:
PID_Controller.h:30
mvsim::PID_Controller::e_n_1
double e_n_1
Definition:
PID_Controller.h:30
mvsim::PID_Controller::max_out
double max_out
For clamping (0=no clamp)
Definition:
PID_Controller.h:19
mvsim
Author(s):
autogenerated on Wed May 28 2025 02:13:08