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

Ros.TopicPID

Description

PID related functions for Topics.

Synopsis

Documentation

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

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

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

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

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

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

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

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

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).