Public Member Functions | Private Member Functions | Private Attributes | List of all members
pid_ns::PidObject Class Reference

#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
 
ros::Time last_setpoint_msg_time_
 
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
 
double setpoint_timeout_ = -1
 
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
 

Detailed Description

Definition at line 41 of file controller.h.

Constructor & Destructor Documentation

◆ PidObject() [1/2]

PidObject::PidObject ( )

Definition at line 6 of file pid.cpp.

◆ PidObject() [2/2]

pid_ns::PidObject::PidObject ( )

Member Function Documentation

◆ doCalcs() [1/2]

void PidObject::doCalcs ( )
private

Definition at line 177 of file pid.cpp.

◆ doCalcs() [2/2]

void pid_ns::PidObject::doCalcs ( )
private

◆ getParams() [1/2]

void PidObject::getParams ( double  in,
double &  value,
double &  scale 
)
private

Definition at line 104 of file pid.cpp.

◆ getParams() [2/2]

void pid_ns::PidObject::getParams ( double  in,
double &  value,
double &  scale 
)
private

◆ pidEnableCallback() [1/2]

void PidObject::pidEnableCallback ( const std_msgs::Bool &  pid_enable_msg)
private

Definition at line 99 of file pid.cpp.

◆ pidEnableCallback() [2/2]

void pid_ns::PidObject::pidEnableCallback ( const std_msgs::Bool &  pid_enable_msg)
private

◆ plantStateCallback() [1/2]

void PidObject::plantStateCallback ( const std_msgs::Float64 &  state_msg)
private

Definition at line 92 of file pid.cpp.

◆ plantStateCallback() [2/2]

void pid_ns::PidObject::plantStateCallback ( const std_msgs::Float64 &  state_msg)
private

◆ printParameters() [1/2]

void PidObject::printParameters ( )
private

Definition at line 141 of file pid.cpp.

◆ printParameters() [2/2]

void pid_ns::PidObject::printParameters ( )
private

◆ reconfigureCallback() [1/2]

void PidObject::reconfigureCallback ( pid::PidConfig config,
uint32_t  level 
)
private

Definition at line 160 of file pid.cpp.

◆ reconfigureCallback() [2/2]

void pid_ns::PidObject::reconfigureCallback ( pid::PidConfig config,
uint32_t  level 
)
private

◆ setpointCallback() [1/2]

void PidObject::setpointCallback ( const std_msgs::Float64 &  setpoint_msg)
private

Definition at line 85 of file pid.cpp.

◆ setpointCallback() [2/2]

void pid_ns::PidObject::setpointCallback ( const std_msgs::Float64 &  setpoint_msg)
private

◆ validateParameters() [1/2]

bool PidObject::validateParameters ( )
private

Definition at line 129 of file pid.cpp.

◆ validateParameters() [2/2]

bool pid_ns::PidObject::validateParameters ( )
private

Member Data Documentation

◆ angle_error_

bool pid_ns::PidObject::angle_error_ = false
private

Definition at line 76 of file controller.h.

◆ angle_wrap_

double pid_ns::PidObject::angle_wrap_ = 2.0 * 3.14159
private

Definition at line 77 of file controller.h.

◆ c_

double pid_ns::PidObject::c_ = 1.
private

Definition at line 86 of file controller.h.

◆ control_effort_

double pid_ns::PidObject::control_effort_ = 0
private

Definition at line 58 of file controller.h.

◆ control_effort_pub_

ros::Publisher pid_ns::PidObject::control_effort_pub_
private

Definition at line 101 of file controller.h.

◆ control_msg_

std_msgs::Float64 pid_ns::PidObject::control_msg_
private

Definition at line 104 of file controller.h.

◆ cutoff_frequency_

double pid_ns::PidObject::cutoff_frequency_ = -1
private

Definition at line 81 of file controller.h.

◆ delta_t_

ros::Duration pid_ns::PidObject::delta_t_
private

Definition at line 64 of file controller.h.

◆ derivative_

double pid_ns::PidObject::derivative_ = 0
private

Definition at line 70 of file controller.h.

◆ error_

std::vector< double > pid_ns::PidObject::error_
private

Definition at line 98 of file controller.h.

◆ error_deriv_

std::vector< double > pid_ns::PidObject::error_deriv_
private

Definition at line 98 of file controller.h.

◆ error_integral_

double pid_ns::PidObject::error_integral_ = 0
private

Definition at line 67 of file controller.h.

◆ filtered_error_

std::vector< double > pid_ns::PidObject::filtered_error_
private

Definition at line 98 of file controller.h.

◆ filtered_error_deriv_

std::vector< double > pid_ns::PidObject::filtered_error_deriv_
private

Definition at line 98 of file controller.h.

◆ first_reconfig_

bool pid_ns::PidObject::first_reconfig_ = true
private

Definition at line 65 of file controller.h.

◆ integral_

double pid_ns::PidObject::integral_ = 0
private

Definition at line 69 of file controller.h.

◆ Kd_

double pid_ns::PidObject::Kd_ = 0
private

Definition at line 73 of file controller.h.

◆ Ki_

double pid_ns::PidObject::Ki_ = 0
private

Definition at line 73 of file controller.h.

◆ Kp_

double pid_ns::PidObject::Kp_ = 0
private

Definition at line 73 of file controller.h.

◆ last_setpoint_msg_time_

ros::Time pid_ns::PidObject::last_setpoint_msg_time_
private

Definition at line 77 of file pid.h.

◆ lower_limit_

double pid_ns::PidObject::lower_limit_ = -1000
private

Definition at line 92 of file controller.h.

◆ max_loop_frequency_

double pid_ns::PidObject::max_loop_frequency_ = 1000
private

Definition at line 107 of file controller.h.

◆ measurements_received_

int pid_ns::PidObject::measurements_received_ = 0
private

Definition at line 108 of file controller.h.

◆ min_loop_frequency_

double pid_ns::PidObject::min_loop_frequency_ = 1
private

Definition at line 107 of file controller.h.

◆ new_state_or_setpt_

bool pid_ns::PidObject::new_state_or_setpt_ = false
private

Definition at line 61 of file controller.h.

◆ pid_debug_pub_

ros::Publisher pid_ns::PidObject::pid_debug_pub_
private

Definition at line 121 of file pid.h.

◆ pid_debug_pub_name_

std::string pid_ns::PidObject::pid_debug_pub_name_
private

Definition at line 124 of file pid.h.

◆ pid_enable_topic_

std::string pid_ns::PidObject::pid_enable_topic_
private

Definition at line 102 of file controller.h.

◆ pid_enabled_

bool pid_ns::PidObject::pid_enabled_ = true
private

Definition at line 60 of file controller.h.

◆ plant_state_

double pid_ns::PidObject::plant_state_
private

Definition at line 57 of file controller.h.

◆ prev_time_

ros::Time pid_ns::PidObject::prev_time_
private

Definition at line 63 of file controller.h.

◆ proportional_

double pid_ns::PidObject::proportional_ = 0
private

Definition at line 68 of file controller.h.

◆ setpoint_

double pid_ns::PidObject::setpoint_ = 0
private

Definition at line 59 of file controller.h.

◆ setpoint_timeout_

double pid_ns::PidObject::setpoint_timeout_ = -1
private

Definition at line 100 of file pid.h.

◆ setpoint_topic_

std::string pid_ns::PidObject::setpoint_topic_
private

Definition at line 102 of file controller.h.

◆ state_msg_

std_msgs::Float64 pid_ns::PidObject::state_msg_
private

Definition at line 104 of file controller.h.

◆ tan_filt_

double pid_ns::PidObject::tan_filt_ = 1.
private

Definition at line 89 of file controller.h.

◆ topic_from_controller_

std::string pid_ns::PidObject::topic_from_controller_
private

Definition at line 102 of file controller.h.

◆ topic_from_plant_

std::string pid_ns::PidObject::topic_from_plant_
private

Definition at line 102 of file controller.h.

◆ upper_limit_

double pid_ns::PidObject::upper_limit_ = 1000
private

Definition at line 92 of file controller.h.

◆ windup_limit_

double pid_ns::PidObject::windup_limit_ = 1000
private

Definition at line 95 of file controller.h.


The documentation for this class was generated from the following files:


pid
Author(s): Andy Zelenak , Paul Bouchier
autogenerated on Wed Mar 2 2022 00:41:32