Class AnglePIDController

Public

Implements a PID controller for the angular velocity of an agent following a curve.

The PID controller is formulated for small angles (see https://en.wikipedia.org/wiki/Small-angle_approximation), but extends well to large angles. For small angles, if y(t) is the curve/agent position, then y'(t) is the angle and y''(t) is the angular velocity. This controller outputs an angular velocity, meaning it controls y''(t).

See https://en.wikipedia.org/wiki/PID_controller

Public Static Methods

Control (followingStrength, angle, curveAngle, curveCurvature, curveDistanceSigned, speed, maxRotationSpeed, maxOnSpotRotationSpeed, isStationary, dt, allowRotatingOnSpot)

How much to rotate and move in order to smoothly follow a given curve.

Public Static