-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
36 lines (32 loc) · 1.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<html>
<head>
<title>Gratefulfrog PID Controller Demos</title>
<script type="text/javascript" src="processing.js"></script>
<style>
p {width: 1500px}
</style>
</head>
<body>
<h1>PID Controller Demos</h1>
<p>This is a Processing.js web-based version of my <a href="https://en.wikipedia.org/wiki/PID_controller">PID controller</a> following a sinusoidal displacement. The red target moves back and
forth according to a sin law. It's linear and angular velocity are adjustable by the large buttons. Hovering the mouse over the
button will display the resulting velocity in case of click.
</p>
<p>The green follower knows nothing of the behavior of the target. It simply measures the horizontal and vertical distances between the target center and
its own center and feeds them to the 2 PID controllers as error input with a setpoint of 0. Each PID calculates a new velocity (horizontal or vertical) for the
follower.
</p>
<p>The radius of the follower is is a weighted maximum for the last 10 cycles. The idea is to keep the radius as small as possible.
</p>
<p> The values of Kp,Ki,Kd were empirically determined by means of the <a href="https://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method">Ziegler-Nichols method.</a> You can manually adjust the
Kp,Ki,Kd parameters to see the consequences on the follower's behavior.
</p>
<ul>
<li><a href="figure8.html">Figure 8</a>: Demonstration of 2 PID controllers used to control horizontal and vertical velocities in
tracking a target as it executes a figure 8, </li>
<li><a href="linear.html">Back and Forth</a>: Demonstration of a single PID controller acting on horizontal velicity so as to
track a target as it moves back and forth.</li>
</ul>
</body>
</html>