Hystersis Controller. More...
#include <hysteresis_controller.h>

| Public Types | |
| enum | { STOPPED, MOVING_HOME, MOVING_UP, MOVING_DOWN, ANALYZING, DONE } | 
| Public Member Functions | |
| void | analysis () | 
| Perform the test analysis. | |
| bool | done () | 
| HysteresisController () | |
| bool | init (pr2_mechanism_model::RobotState *robot, ros::NodeHandle &n) | 
| Functional way to initialize. | |
| bool | sendData () | 
| Sends data, returns true if sent. | |
| void | starting () | 
| Called when controller is started. | |
| void | update () | 
| Issues commands to the joint to perform hysteresis test. | |
| ~HysteresisController () | |
| Private Member Functions | |
| bool | turn () | 
| Private Attributes | |
| bool | complete | 
| bool | data_sent_ | 
| int | down_count_ | 
| boost::scoped_ptr < realtime_tools::RealtimePublisher < joint_qualification_controllers::HysteresisData > > | hyst_pub_ | 
| double | initial_position_ | 
| ros::Time | initial_time_ | 
| pr2_mechanism_model::JointState * | joint_ | 
| double | last_publish_time_ | 
| double | max_effort_ | 
| pr2_mechanism_model::RobotState * | robot_ | 
| int | starting_count_ | 
| int | state_ | 
| joint_qualification_controllers::HysteresisData | test_data_ | 
| double | timeout_ | 
| int | up_count_ | 
| double | velocity_ | 
| controller::JointVelocityController * | velocity_controller_ | 
Hystersis Controller.
This tests the hysteresis of a joint using a velocity controller.
Definition at line 60 of file hysteresis_controller.h.
| anonymous enum | 
Definition at line 64 of file hysteresis_controller.h.
Definition at line 47 of file hysteresis_controller.cpp.
Definition at line 91 of file hysteresis_controller.cpp.
| void HysteresisController::analysis | ( | ) | 
Perform the test analysis.
Definition at line 317 of file hysteresis_controller.cpp.
| bool joint_qualification_controllers::HysteresisController::done | ( | ) |  [inline] | 
Definition at line 96 of file hysteresis_controller.h.
| bool HysteresisController::init | ( | pr2_mechanism_model::RobotState * | robot, | 
| ros::NodeHandle & | n | ||
| ) |  [virtual] | 
Functional way to initialize.
| *robot | The robot that is being controlled. | 
| &n | NodeHandle of mechanism control | 
Implements pr2_controller_interface::Controller.
Definition at line 96 of file hysteresis_controller.cpp.
| bool HysteresisController::sendData | ( | ) | 
Sends data, returns true if sent.
Definition at line 338 of file hysteresis_controller.cpp.
| void HysteresisController::starting | ( | ) |  [virtual] | 
Called when controller is started.
Reimplemented from pr2_controller_interface::Controller.
Definition at line 211 of file hysteresis_controller.cpp.
| bool HysteresisController::turn | ( | ) |  [private] | 
Definition at line 300 of file hysteresis_controller.cpp.
| void HysteresisController::update | ( | void | ) |  [virtual] | 
Issues commands to the joint to perform hysteresis test.
Implements pr2_controller_interface::Controller.
Definition at line 219 of file hysteresis_controller.cpp.
Definition at line 110 of file hysteresis_controller.h.
Definition at line 117 of file hysteresis_controller.h.
Definition at line 109 of file hysteresis_controller.h.
| boost::scoped_ptr<realtime_tools::RealtimePublisher<joint_qualification_controllers::HysteresisData> > joint_qualification_controllers::HysteresisController::hyst_pub_  [private] | 
Definition at line 122 of file hysteresis_controller.h.
Definition at line 108 of file hysteresis_controller.h.
Start time of the test.
Definition at line 107 of file hysteresis_controller.h.
| pr2_mechanism_model::JointState* joint_qualification_controllers::HysteresisController::joint_  [private] | 
Joint we're controlling.
Definition at line 102 of file hysteresis_controller.h.
Definition at line 119 of file hysteresis_controller.h.
| double joint_qualification_controllers::HysteresisController::max_effort_  [private] | 
Maximum allowable effort.
Definition at line 106 of file hysteresis_controller.h.
| pr2_mechanism_model::RobotState* joint_qualification_controllers::HysteresisController::robot_  [private] | 
Pointer to robot structure.
Definition at line 103 of file hysteresis_controller.h.
Definition at line 115 of file hysteresis_controller.h.
Reimplemented from pr2_controller_interface::Controller.
Definition at line 114 of file hysteresis_controller.h.
| joint_qualification_controllers::HysteresisData joint_qualification_controllers::HysteresisController::test_data_  [private] | 
Definition at line 100 of file hysteresis_controller.h.
| double joint_qualification_controllers::HysteresisController::timeout_  [private] | 
Definition at line 112 of file hysteresis_controller.h.
Definition at line 109 of file hysteresis_controller.h.
| double joint_qualification_controllers::HysteresisController::velocity_  [private] | 
Velocity during the test.
Definition at line 105 of file hysteresis_controller.h.
| controller::JointVelocityController* joint_qualification_controllers::HysteresisController::velocity_controller_  [private] | 
The velocity controller for the hysteresis test.
Definition at line 104 of file hysteresis_controller.h.