Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Node.js PID controller
JavaScript Makefile
branch: master
Failed to load latest commit information.
lib Update index.js
test Update index.js
.gitignore first commit
Makefile first commit
README.md readme
index.js first commit
package.json 0.0.2

README.md

node-pid-controller

Simple Node.js PID controller

pid

Installation

  $ npm install node-pid-controller

Example

Let's take the example of a car cruise control. We want the car driving at 120km/h.

Create a Controller instance

var Controller = require('node-pid-controller');
var ctr = new Controller(0.25, 0.01, 0.01); // k_p, k_i, k_d

Set the target

ctr.setTarget(120); // 120km/h

Get the correction

var correction = ctr.update(110); // 110km/h is the current speed

Real example

Normally, you use the correction to a measure, in a closed loop

var goalReached = false
while (!goalReached) {
  var output = measureFromSomeSensor();
  var input  = ctr.update(output);
  applyInputToActuator(input);
  goalReached = (input === 0) ? true : false; // in the case of continuous control, you let this variable 'false'
}

Test

mocha test

Author

Philmod <philippe.modard@gmail.com>

Something went wrong with that request. Please try again.