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
ApproximateTurningRadius
(followingStrength)
An approximate turning radius the agent will have in an open space.
Public
Static
Control
(settings, followingStrength, angle, curveAngle, curveCurvature, curveDistanceSigned, speed, remainingDistance, minRotationSpeed, isStationary, dt)
How much to rotate and move in order to smoothly follow a given curve.
Public
Static
FollowingStrengthToRotationSpeed
(followingStrength)
Public
Static
RotationSpeedToFollowingStrength
(speed, maxRotationSpeed)
Given a speed and a rotation speed, what is the approximate corresponding following strength.
Public
Static
Private/Protected Members
DampingRatio
Private
Static