16 #include <franka_example_controllers/JointTorqueComparison.h> 24 franka_hw::FrankaModelInterface,
25 hardware_interface::EffortJointInterface,
26 franka_hw::FrankaPoseCartesianInterface> {
35 const std::array<double, 7>& tau_d_calculated,
36 const std::array<double, 7>& tau_J_d);
void starting(const ros::Time &) override
std::unique_ptr< franka_hw::FrankaCartesianPoseHandle > cartesian_pose_handle_
void update(const ros::Time &, const ros::Duration &period) override
std::unique_ptr< franka_hw::FrankaModelHandle > model_handle_
franka_hw::TriggerRate rate_trigger_
std::vector< hardware_interface::JointHandle > joint_handles_
realtime_tools::RealtimePublisher< JointTorqueComparison > torques_publisher_
std::array< double, 7 > saturateTorqueRate(const std::array< double, 7 > &tau_d_calculated, const std::array< double, 7 > &tau_J_d)
std::array< double, 7 > last_tau_d_
std::vector< double > k_gains_
std::array< double, 16 > initial_pose_
bool init(hardware_interface::RobotHW *robot_hw, ros::NodeHandle &node_handle) override
std::array< double, 7 > dq_filtered_
double acceleration_time_
static constexpr double kDeltaTauMax
std::vector< double > d_gains_