// generated from rosidl_adapter/resource/msg.idl.em
// with input from control_msgs/msg/JointControllerState.msg
// generated code does not contain a copyright notice

#include "std_msgs/msg/Header.idl"

module control_msgs {
  module msg {
    @verbatim (language="comment", text=
      "This message presents current controller state of one joint.")
    struct JointControllerState {
      @verbatim (language="comment", text=
        "It is deprecated as of Humble in favor of SingleDOFStateStamped.msg" "\n"
        "Header timestamp should be update time of controller state")
      std_msgs::msg::Header header;

      @verbatim (language="comment", text=
        "The set point, that is, desired state.")
      double set_point;

      @verbatim (language="comment", text=
        "Current value of the process (ie: latest sensor measurement on the controlled value).")
      double process_value;

      @verbatim (language="comment", text=
        "First time-derivative of the process value.")
      double process_value_dot;

      @verbatim (language="comment", text=
        "The error of the controlled value, essentially process_value - set_point (for a regular PID implementation).")
      double error;

      @verbatim (language="comment", text=
        "Time between two consecutive updates/execution of the control law.")
      double time_step;

      @verbatim (language="comment", text=
        "Current output of the controller.")
      double command;

      @verbatim (language="comment", text=
        "Current PID parameters of the controller.")
      double p;

      double i;

      double d;

      double i_clamp;

      boolean antiwindup;
    };
  };
};
