8#include <controller_interface/multi_interface_controller.h>
9#include <rm_common/hardware_interface/actuator_extra_interface.h>
10#include <rm_common/hardware_interface/robot_state_interface.h>
11#include <rm_common/hardware_interface/gpio_interface.h>
12#include <hardware_interface/joint_command_interface.h>
13#include <effort_controllers/joint_velocity_controller.h>
14#include <effort_controllers/joint_position_controller.h>
15#include <control_msgs/QueryCalibrationState.h>
19template <
typename... T>
20class CalibrationBase :
public controller_interface::MultiInterfaceController<T...>
36 bool init(hardware_interface::RobotHW* robot_hw, ros::NodeHandle& root_nh, ros::NodeHandle& controller_nh)
override;
43 void starting(
const ros::Time& time)
override;
44 void stopping(
const ros::Time& time)
override;
55 bool isCalibrated(control_msgs::QueryCalibrationState::Request& req,
56 control_msgs::QueryCalibrationState::Response& resp);
Definition calibration_base.h:21
bool isCalibrated(control_msgs::QueryCalibrationState::Request &req, control_msgs::QueryCalibrationState::Response &resp)
Provide a service to know the state of target actuators.
Definition calibration_base.cpp:53
effort_controllers::JointPositionController position_ctrl_
Definition calibration_base.h:68
State
Definition calibration_base.h:59
@ CALIBRATED
Definition calibration_base.h:61
@ INITIALIZED
Definition calibration_base.h:60
rm_control::ActuatorExtraHandle actuator_
Definition calibration_base.h:66
bool init(hardware_interface::RobotHW *robot_hw, ros::NodeHandle &root_nh, ros::NodeHandle &controller_nh) override
Get necessary params from param server. Init joint_calibration_controller.
Definition calibration_base.cpp:14
double velocity_search_
Definition calibration_base.h:64
int state_
Definition calibration_base.h:63
CalibrationBase()=default
ros::ServiceServer is_calibrated_srv_
Definition calibration_base.h:57
void starting(const ros::Time &time) override
Switch all of the actuators state to INITIALIZED.
Definition calibration_base.cpp:37
bool calibration_success_
Definition calibration_base.h:65
void stopping(const ros::Time &time) override
Definition calibration_base.cpp:47
effort_controllers::JointVelocityController velocity_ctrl_
Definition calibration_base.h:67
Definition calibration_base.h:18