roshask-0.2.1: Haskell support for the ROS robotics framework.

Safe HaskellNone
LanguageHaskell2010

Ros.Topic.PID

Description

PID related functions for Topics.

Synopsis

Documentation

pidUniform2 :: Fractional a => a -> a -> a -> Topic IO a -> Topic IO a -> Topic IO a Source

pidUniform2 kp ki kd setpoint t runs a PID controller that transforms Topic t of process outputs into a Topic of control signals designed to steer the output to the setpoints produced by Topic setpoint using the PID gains kp, ki, and kd. The interval between samples produced by the Topic is assumed to be 1.

pidUniform :: Fractional a => a -> a -> a -> a -> Topic IO a -> Topic IO a Source

pidUniform kp ki kd setpoint t runs a PID controller that transforms Topic t of process outputs into a Topic of control signals designed to steer the output to the given setpoint using the PID gains kp, ki, and kd. The interval between samples produced by the Topic is assumed to be 1.

pidFixed2 :: Fractional a => a -> a -> a -> a -> Topic IO a -> Topic IO a -> Topic IO a Source

pidFixed2 kp ki kd setpoint dt t runs a PID controller that transforms Topic t of process outputs into a Topic of control signals designed to steer the output to the setpoints produced by Topic setpoint using the PID gains kp, ki, and kd, along with an assumed fixed time interval, dt, between samples.

pidFixed :: Fractional a => a -> a -> a -> a -> a -> Topic IO a -> Topic IO a Source

pidFixed kp ki kd setpoint dt t runs a PID controller that transforms Topic t of process outputs into a Topic of control signals designed to steer the output to the given setpoint using the PID gains kp, ki, and kd, along with an assumed fixed time interval, dt, between samples.

pidTimed2 :: Fractional a => a -> a -> a -> Topic IO a -> Topic IO a -> Topic IO a Source

pidTimed2 kp ki kd setpoint t runs a PID controller that transforms Topic t of process outputs into a Topic of control signals designed to steer the output to the setpoints produced by Topic setpoint using the PID gains kp, ki, and kd. The system clock is checked for each value produced by the input Topic to determine the actual sampling rate.

pidTimed :: Fractional a => a -> a -> a -> a -> Topic IO a -> Topic IO a Source

pidTimed kp ki kd setpoint t runs a PID controller that transforms Topic t of process outputs into a Topic of control signals designed to steer the output to the given setpoint using the PID gains kp, ki, and kd. The system clock is checked for each value produced by the input Topic to determine the actual sampling rate.

pidStamped2 :: Fractional a => a -> a -> a -> Topic IO a -> Topic IO (a, a) -> Topic IO a Source

pidStamped2 kp ki kd setpoint t runs a PID controller that transforms Topic t of process outputs into a Topic of control signals designed to steer the output to the given setpoint using the PID gains kp, ki, and kd. Values produced by the Topic t must be paired with a timestamp and thus have the form (timeStamp, sample).

pidStamped :: Fractional a => a -> a -> a -> a -> Topic IO (a, a) -> Topic IO a Source

pidStamped kp ki kd setpoint t runs a PID controller that transforms Topic t of process outputs into a Topic of control signals designed to steer the output to the given setpoint using the PID gains kp, ki, and kd. Values produced by the Topic t must be paired with a timestamp and thuse have the form (timeStamp, sample).