45 controller_interface::CallbackReturn
on_init()
override;
61 controller_interface::CallbackReturn on_configure(
62 const rclcpp_lifecycle::State & previous_state)
override;
64 controller_interface::CallbackReturn on_activate(
65 const rclcpp_lifecycle::State & previous_state)
override;
67 controller_interface::CallbackReturn on_deactivate(
68 const rclcpp_lifecycle::State & previous_state)
override;
70 controller_interface::CallbackReturn on_error(
71 const rclcpp_lifecycle::State & previous_state)
override;
74 const rclcpp::Time & time,
const rclcpp::Duration & period)
override;
81 const rclcpp::Time & time,
const rclcpp::Duration & period)
override;
83 size_t num_joints_ = 0;
84 std::vector<std::string> command_joint_names_;
86 bool has_position_state_interface_ =
false;
87 bool has_velocity_state_interface_ =
false;
88 bool has_acceleration_state_interface_ =
false;
89 bool has_position_command_interface_ =
false;
90 bool has_velocity_command_interface_ =
false;
91 bool has_acceleration_command_interface_ =
false;
92 bool has_effort_command_interface_ =
false;
96 const std::vector<std::string> allowed_interface_types_ = {
102 int position_reference_index_ = -1;
103 int velocity_reference_index_ = -1;
106 std::unique_ptr<admittance_controller::AdmittanceRule> admittance_;
109 std::unique_ptr<semantic_components::ForceTorqueSensor> force_torque_sensor_;
112 rclcpp::Subscription<trajectory_msgs::msg::JointTrajectoryPoint>::SharedPtr
113 input_joint_command_subscriber_;
114 rclcpp::Subscription<geometry_msgs::msg::WrenchStamped>::SharedPtr
115 input_wrench_command_subscriber_;
116 rclcpp::Publisher<control_msgs::msg::AdmittanceControllerState>::SharedPtr s_publisher_;
119 std::shared_ptr<admittance_controller::ParamListener> parameter_handler_;
123 input_joint_command_;
125 std::unique_ptr<realtime_tools::RealtimePublisher<ControllerStateMsg>> state_publisher_;
126 ControllerStateMsg state_msg_;
129 trajectory_msgs::msg::JointTrajectoryPoint joint_command_msg_;
130 geometry_msgs::msg::WrenchStamped wrench_command_msg_;
132 trajectory_msgs::msg::JointTrajectoryPoint last_commanded_;
133 trajectory_msgs::msg::JointTrajectoryPoint last_reference_;
140 trajectory_msgs::msg::JointTrajectoryPoint reference_, joint_state_, reference_admittance_;
141 geometry_msgs::msg::Wrench ft_values_;
148 trajectory_msgs::msg::JointTrajectoryPoint & state_current,
149 geometry_msgs::msg::Wrench & ft_values);