5#include <hardware_interface/internal/hardware_resource_manager.h>
6#include <hardware_interface/joint_state_interface.h>
15 HybridJointHandle(
const JointStateHandle& js,
double* posDes,
double* velDes,
double* kp,
double* kd,
double* ff)
16 : JointStateHandle(js), posDes_(posDes), velDes_(velDes), kp_(kp), kd_(kd), ff_(ff)
18 if (posDes_ ==
nullptr)
20 throw hardware_interface::HardwareInterfaceException(
"Cannot create handle '" + js.getName() +
21 "'. Position desired data pointer is null.");
23 if (velDes_ ==
nullptr)
25 throw hardware_interface::HardwareInterfaceException(
"Cannot create handle '" + js.getName() +
26 "'. Velocity desired data pointer is null.");
30 throw hardware_interface::HardwareInterfaceException(
"Cannot create handle '" + js.getName() +
31 "'. Kp data pointer is null.");
35 throw hardware_interface::HardwareInterfaceException(
"Cannot create handle '" + js.getName() +
36 "'. Kd data pointer is null.");
40 throw hardware_interface::HardwareInterfaceException(
"Cannot create handle '" + js.getName() +
41 "'. Feedforward data pointer is null.");
69 void setCommand(
double pos_des,
double vel_des,
double kp,
double kd,
double ff)
104 double* posDes_ = {
nullptr };
105 double* velDes_ = {
nullptr };
106 double* kp_ = {
nullptr };
107 double* kd_ = {
nullptr };
108 double* ff_ = {
nullptr };
112 :
public hardware_interface::HardwareResourceManager<HybridJointHandle, hardware_interface::ClaimResources>
Definition hybrid_joint_interface.h:11
double getFeedforward()
Definition hybrid_joint_interface.h:97
double getVelocityDesired()
Definition hybrid_joint_interface.h:82
void setCommand(double pos_des, double vel_des, double kp, double kd, double ff)
Definition hybrid_joint_interface.h:69
HybridJointHandle()=default
double getPositionDesired()
Definition hybrid_joint_interface.h:77
double getKd()
Definition hybrid_joint_interface.h:92
void setKp(double cmd)
Definition hybrid_joint_interface.h:54
double getKp()
Definition hybrid_joint_interface.h:87
HybridJointHandle(const JointStateHandle &js, double *posDes, double *velDes, double *kp, double *kd, double *ff)
Definition hybrid_joint_interface.h:15
void setKd(double cmd)
Definition hybrid_joint_interface.h:59
void setPositionDesired(double cmd)
Definition hybrid_joint_interface.h:44
void setVelocityDesired(double cmd)
Definition hybrid_joint_interface.h:49
void setFeedforward(double cmd)
Definition hybrid_joint_interface.h:64
Definition hybrid_joint_interface.h:113
Definition actuator_extra_interface.h:44