Public Member Functions | Private Member Functions | Private Attributes | List of all members
controller::SrhJointVelocityController Class Reference

#include <srh_joint_velocity_controller.hpp>

Inheritance diagram for controller::SrhJointVelocityController:
Inheritance graph
[legend]

Public Member Functions

virtual void getGains (double &p, double &i, double &d, double &i_max, double &i_min)
 
bool init (ros_ethercat_model::RobotStateInterface *robot, ros::NodeHandle &n)
 
virtual bool resetGains (std_srvs::Empty::Request &req, std_srvs::Empty::Response &resp)
 
bool setGains (sr_robot_msgs::SetPidGains::Request &req, sr_robot_msgs::SetPidGains::Response &resp)
 
 SrhJointVelocityController ()
 
virtual void starting (const ros::Time &time)
 
virtual void update (const ros::Time &time, const ros::Duration &period)
 Issues commands to the joint. Should be called at regular intervals. More...
 
- Public Member Functions inherited from controller::SrController
std::string getJointName ()
 
 SrController ()
 
virtual ~SrController ()
 
- Public Member Functions inherited from controller_interface::Controller< ros_ethercat_model::RobotStateInterface >
 Controller ()
 
virtual bool init (ros_ethercat_model::RobotStateInterface *, ros::NodeHandle &, ros::NodeHandle &)
 
virtual ~Controller ()
 
- Public Member Functions inherited from controller_interface::ControllerBase
 ControllerBase ()
 
bool isRunning ()
 
bool isRunning ()
 
bool startRequest (const ros::Time &time)
 
bool startRequest (const ros::Time &time)
 
virtual void stopping (const ros::Time &)
 
virtual void stopping (const ros::Time &)
 
bool stopRequest (const ros::Time &time)
 
bool stopRequest (const ros::Time &time)
 
void updateRequest (const ros::Time &time, const ros::Duration &period)
 
void updateRequest (const ros::Time &time, const ros::Duration &period)
 
virtual ~ControllerBase ()
 

Private Member Functions

double clamp_command (double cmd)
 clamp the command to velocity limits More...
 
void read_parameters ()
 read all the controller settings from the parameter server More...
 
void resetJointState ()
 
void setCommandCB (const std_msgs::Float64ConstPtr &msg)
 set the velocity target from a topic More...
 

Private Attributes

sr_deadband::HysteresisDeadband< double > hysteresis_deadband
 We're using an hysteresis deadband. More...
 
boost::scoped_ptr< control_toolbox::Pidpid_controller_velocity_
 Internal PID controller for the velocity loop. More...
 
double velocity_deadband
 the velocity deadband value used in the hysteresis_deadband More...
 

Additional Inherited Members

- Public Types inherited from controller_interface::ControllerBase
typedef std::vector< hardware_interface::InterfaceResourcesClaimedResources
 
- Public Attributes inherited from controller::SrController
double command_
 
bool has_j2
 
ros_ethercat_model::JointState * joint_state_
 
ros_ethercat_model::JointState * joint_state_2
 
- Public Attributes inherited from controller_interface::ControllerBase
 CONSTRUCTED
 
 INITIALIZED
 
 RUNNING
 
enum controller_interface::ControllerBase:: { ... }  state_
 
- Protected Member Functions inherited from controller::SrController
void after_init ()
 call this function at the end of the init function in the inheriting classes. More...
 
double clamp_command (double cmd, double min_cmd, double max_cmd)
 
void get_joints_states_1_2 ()
 
void get_min_max (urdf::Model model, std::string joint_name)
 
bool is_joint_0 ()
 
void maxForceFactorCB (const std_msgs::Float64ConstPtr &msg)
 
- Protected Member Functions inherited from controller_interface::Controller< ros_ethercat_model::RobotStateInterface >
std::string getHardwareInterfaceType () const
 
virtual bool initRequest (hardware_interface::RobotHW *robot_hw, ros::NodeHandle &root_nh, ros::NodeHandle &controller_nh, ClaimedResources &claimed_resources)
 
- Protected Attributes inherited from controller::SrController
boost::scoped_ptr< realtime_tools::RealtimePublisher< control_msgs::JointControllerState > > controller_state_publisher_
 
double eff_max_
 
double eff_min_
 Min and max range of the effort, used to clamp the command. More...
 
boost::scoped_ptr< sr_friction_compensation::SrFrictionCompensatorfriction_compensator
 
int friction_deadband
 the deadband for the friction compensation algorithm More...
 
sr_deadband::HysteresisDeadband< double > hysteresis_deadband
 We're using an hysteresis deadband. More...
 
bool initialized_
 
std::string joint_name_
 
int loop_count_
 
double max_
 
double max_force_demand
 clamps the force demand to this value More...
 
double max_force_factor_
 
double min_
 Min and max range of the joint, used to clamp the command. More...
 
ros::NodeHandle n_tilde_
 
ros::NodeHandle node_
 
ros_ethercat_model::RobotState * robot_
 
ros::ServiceServer serve_reset_gains_
 
ros::ServiceServer serve_set_gains_
 
ros::Subscriber sub_command_
 
ros::Subscriber sub_max_force_factor_
 
double vel_max_
 
double vel_min_
 Min and max range of the velocity, used to clamp the command. More...
 

Detailed Description

Definition at line 37 of file srh_joint_velocity_controller.hpp.

Constructor & Destructor Documentation

controller::SrhJointVelocityController::SrhJointVelocityController ( )

Definition at line 46 of file srh_joint_velocity_controller.cpp.

Member Function Documentation

double controller::SrhJointVelocityController::clamp_command ( double  cmd)
privatevirtual

clamp the command to velocity limits

Reimplemented from controller::SrController.

Definition at line 304 of file srh_joint_velocity_controller.cpp.

void controller::SrhJointVelocityController::getGains ( double &  p,
double &  i,
double &  d,
double &  i_max,
double &  i_min 
)
virtual

Reimplemented from controller::SrController.

Definition at line 195 of file srh_joint_velocity_controller.cpp.

bool controller::SrhJointVelocityController::init ( ros_ethercat_model::RobotStateInterface *  robot,
ros::NodeHandle n 
)
virtual

Implements controller::SrController.

Definition at line 51 of file srh_joint_velocity_controller.cpp.

void controller::SrhJointVelocityController::read_parameters ( )
private

read all the controller settings from the parameter server

Definition at line 309 of file srh_joint_velocity_controller.cpp.

bool controller::SrhJointVelocityController::resetGains ( std_srvs::Empty::Request &  req,
std_srvs::Empty::Response &  resp 
)
virtual

Reimplemented from controller::SrController.

Definition at line 175 of file srh_joint_velocity_controller.cpp.

void controller::SrhJointVelocityController::resetJointState ( )
private

Definition at line 325 of file srh_joint_velocity_controller.cpp.

void controller::SrhJointVelocityController::setCommandCB ( const std_msgs::Float64ConstPtr &  msg)
privatevirtual

set the velocity target from a topic

Reimplemented from controller::SrController.

Definition at line 316 of file srh_joint_velocity_controller.cpp.

bool controller::SrhJointVelocityController::setGains ( sr_robot_msgs::SetPidGains::Request &  req,
sr_robot_msgs::SetPidGains::Response &  resp 
)

Definition at line 154 of file srh_joint_velocity_controller.cpp.

void controller::SrhJointVelocityController::starting ( const ros::Time time)
virtual

Reimplemented from controller::SrController.

Definition at line 141 of file srh_joint_velocity_controller.cpp.

void controller::SrhJointVelocityController::update ( const ros::Time time,
const ros::Duration period 
)
virtual

Issues commands to the joint. Should be called at regular intervals.

Implements controller::SrController.

Definition at line 200 of file srh_joint_velocity_controller.cpp.

Member Data Documentation

sr_deadband::HysteresisDeadband<double> controller::SrhJointVelocityController::hysteresis_deadband
private

We're using an hysteresis deadband.

Definition at line 66 of file srh_joint_velocity_controller.hpp.

boost::scoped_ptr<control_toolbox::Pid> controller::SrhJointVelocityController::pid_controller_velocity_
private

Internal PID controller for the velocity loop.

Definition at line 60 of file srh_joint_velocity_controller.hpp.

double controller::SrhJointVelocityController::velocity_deadband
private

the velocity deadband value used in the hysteresis_deadband

Definition at line 63 of file srh_joint_velocity_controller.hpp.


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


sr_mechanism_controllers
Author(s): Ugo Cupcic
autogenerated on Tue Oct 13 2020 03:55:58