#include <controller.h>
Public Member Functions | |
PidObject () | |
PidObject () | |
Private Member Functions | |
void | doCalcs () |
void | doCalcs () |
void | getParams (double in, double &value, double &scale) |
void | getParams (double in, double &value, double &scale) |
void | pidEnableCallback (const std_msgs::Bool &pid_enable_msg) |
void | pidEnableCallback (const std_msgs::Bool &pid_enable_msg) |
void | plantStateCallback (const std_msgs::Float64 &state_msg) |
void | plantStateCallback (const std_msgs::Float64 &state_msg) |
void | printParameters () |
void | printParameters () |
void | reconfigureCallback (pid::PidConfig &config, uint32_t level) |
void | reconfigureCallback (pid::PidConfig &config, uint32_t level) |
void | setpointCallback (const std_msgs::Float64 &setpoint_msg) |
void | setpointCallback (const std_msgs::Float64 &setpoint_msg) |
bool | validateParameters () |
bool | validateParameters () |
Private Attributes | |
bool | angle_error_ = false |
double | angle_wrap_ = 2.0 * 3.14159 |
double | c_ = 1. |
double | control_effort_ = 0 |
ros::Publisher | control_effort_pub_ |
std_msgs::Float64 | control_msg_ |
double | cutoff_frequency_ = -1 |
ros::Duration | delta_t_ |
double | derivative_ = 0 |
std::vector< double > | error_ |
std::vector< double > | error_deriv_ |
double | error_integral_ = 0 |
std::vector< double > | filtered_error_ |
std::vector< double > | filtered_error_deriv_ |
bool | first_reconfig_ = true |
double | integral_ = 0 |
double | Kd_ = 0 |
double | Ki_ = 0 |
double | Kp_ = 0 |
double | lower_limit_ = -1000 |
double | max_loop_frequency_ = 1000 |
int | measurements_received_ = 0 |
double | min_loop_frequency_ = 1 |
bool | new_state_or_setpt_ = false |
ros::Publisher | pid_debug_pub_ |
std::string | pid_debug_pub_name_ |
std::string | pid_enable_topic_ |
bool | pid_enabled_ = true |
double | plant_state_ |
ros::Time | prev_time_ |
double | proportional_ = 0 |
double | setpoint_ = 0 |
std::string | setpoint_topic_ |
std_msgs::Float64 | state_msg_ |
double | tan_filt_ = 1. |
std::string | topic_from_controller_ |
std::string | topic_from_plant_ |
double | upper_limit_ = 1000 |
double | windup_limit_ = 1000 |
Definition at line 41 of file controller.h.
void PidObject::doCalcs | ( | ) | [private] |
void pid_ns::PidObject::doCalcs | ( | ) | [private] |
void PidObject::getParams | ( | double | in, |
double & | value, | ||
double & | scale | ||
) | [private] |
void pid_ns::PidObject::getParams | ( | double | in, |
double & | value, | ||
double & | scale | ||
) | [private] |
void PidObject::pidEnableCallback | ( | const std_msgs::Bool & | pid_enable_msg | ) | [private] |
void pid_ns::PidObject::pidEnableCallback | ( | const std_msgs::Bool & | pid_enable_msg | ) | [private] |
void PidObject::plantStateCallback | ( | const std_msgs::Float64 & | state_msg | ) | [private] |
void pid_ns::PidObject::plantStateCallback | ( | const std_msgs::Float64 & | state_msg | ) | [private] |
void PidObject::printParameters | ( | ) | [private] |
void pid_ns::PidObject::printParameters | ( | ) | [private] |
void PidObject::reconfigureCallback | ( | pid::PidConfig & | config, |
uint32_t | level | ||
) | [private] |
void pid_ns::PidObject::reconfigureCallback | ( | pid::PidConfig & | config, |
uint32_t | level | ||
) | [private] |
void PidObject::setpointCallback | ( | const std_msgs::Float64 & | setpoint_msg | ) | [private] |
void pid_ns::PidObject::setpointCallback | ( | const std_msgs::Float64 & | setpoint_msg | ) | [private] |
bool PidObject::validateParameters | ( | ) | [private] |
bool pid_ns::PidObject::validateParameters | ( | ) | [private] |
bool pid_ns::PidObject::angle_error_ = false [private] |
Definition at line 76 of file controller.h.
double pid_ns::PidObject::angle_wrap_ = 2.0 * 3.14159 [private] |
Definition at line 77 of file controller.h.
double pid_ns::PidObject::c_ = 1. [private] |
Definition at line 86 of file controller.h.
double pid_ns::PidObject::control_effort_ = 0 [private] |
Definition at line 58 of file controller.h.
Definition at line 101 of file controller.h.
std_msgs::Float64 pid_ns::PidObject::control_msg_ [private] |
Definition at line 104 of file controller.h.
double pid_ns::PidObject::cutoff_frequency_ = -1 [private] |
Definition at line 81 of file controller.h.
ros::Duration pid_ns::PidObject::delta_t_ [private] |
Definition at line 64 of file controller.h.
double pid_ns::PidObject::derivative_ = 0 [private] |
Definition at line 70 of file controller.h.
std::vector< double > pid_ns::PidObject::error_ [private] |
Definition at line 98 of file controller.h.
std::vector< double > pid_ns::PidObject::error_deriv_ [private] |
Definition at line 98 of file controller.h.
double pid_ns::PidObject::error_integral_ = 0 [private] |
Definition at line 67 of file controller.h.
std::vector< double > pid_ns::PidObject::filtered_error_ [private] |
Definition at line 98 of file controller.h.
std::vector< double > pid_ns::PidObject::filtered_error_deriv_ [private] |
Definition at line 98 of file controller.h.
bool pid_ns::PidObject::first_reconfig_ = true [private] |
Definition at line 65 of file controller.h.
double pid_ns::PidObject::integral_ = 0 [private] |
Definition at line 69 of file controller.h.
double pid_ns::PidObject::Kd_ = 0 [private] |
Definition at line 73 of file controller.h.
double pid_ns::PidObject::Ki_ = 0 [private] |
Definition at line 73 of file controller.h.
double pid_ns::PidObject::Kp_ = 0 [private] |
Definition at line 73 of file controller.h.
double pid_ns::PidObject::lower_limit_ = -1000 [private] |
Definition at line 92 of file controller.h.
double pid_ns::PidObject::max_loop_frequency_ = 1000 [private] |
Definition at line 107 of file controller.h.
int pid_ns::PidObject::measurements_received_ = 0 [private] |
Definition at line 108 of file controller.h.
double pid_ns::PidObject::min_loop_frequency_ = 1 [private] |
Definition at line 107 of file controller.h.
bool pid_ns::PidObject::new_state_or_setpt_ = false [private] |
Definition at line 61 of file controller.h.
std::string pid_ns::PidObject::pid_debug_pub_name_ [private] |
std::string pid_ns::PidObject::pid_enable_topic_ [private] |
Definition at line 102 of file controller.h.
bool pid_ns::PidObject::pid_enabled_ = true [private] |
Definition at line 60 of file controller.h.
double pid_ns::PidObject::plant_state_ [private] |
Definition at line 57 of file controller.h.
ros::Time pid_ns::PidObject::prev_time_ [private] |
Definition at line 63 of file controller.h.
double pid_ns::PidObject::proportional_ = 0 [private] |
Definition at line 68 of file controller.h.
double pid_ns::PidObject::setpoint_ = 0 [private] |
Definition at line 59 of file controller.h.
std::string pid_ns::PidObject::setpoint_topic_ [private] |
Definition at line 102 of file controller.h.
std_msgs::Float64 pid_ns::PidObject::state_msg_ [private] |
Definition at line 104 of file controller.h.
double pid_ns::PidObject::tan_filt_ = 1. [private] |
Definition at line 89 of file controller.h.
std::string pid_ns::PidObject::topic_from_controller_ [private] |
Definition at line 102 of file controller.h.
std::string pid_ns::PidObject::topic_from_plant_ [private] |
Definition at line 102 of file controller.h.
double pid_ns::PidObject::upper_limit_ = 1000 [private] |
Definition at line 92 of file controller.h.
double pid_ns::PidObject::windup_limit_ = 1000 [private] |
Definition at line 95 of file controller.h.