Go to the documentation of this file.
54 std::vector<std::string> controller_names, joint_names;
60 model.
initParam( ns +
"/robot_description" );
68 param[ano] <<
"khi_robot_param/arm/arm" << ano + 1;
69 if ( nh_joints.
getParam( param[ano].str(), controller_names ) )
72 for (
int cno = 0; cno < controller_names.size(); cno++ )
74 if ( nh_joints.
getParam( controller_names[cno] +
"/joints", joint_names ) )
76 for (
int n = 0; n < joint_names.size(); n++ )
79 auto jt_ptr = model.getJoint( joint_names[n] );
96 ROS_ERROR(
"Failed to get param '/joints'" );
113 client =
new KhiRobotClient();
const ROSCPP_DECL std::string & getNamespace()
double cmd[KHI_MAX_JOINT]
void write(const ros::Time &time, const ros::Duration &period) override
KhiRobotHardwareInterface()
JointStateHandle getHandle(const std::string &name)
bool getParam(const std::string &key, bool &b) const
bool getPeriodDiff(double &diff)
void registerInterface(T *iface)
bool getJointLimits(const std::string &joint_name, const ros::NodeHandle &nh, JointLimits &limits)
void deactivate(const KhiRobotData &data)
khi_robot_control::KhiRobotData data
~KhiRobotHardwareInterface()
void read(const ros::Time &time, const ros::Duration &period) override
void read(KhiRobotData &data)
double pos[KHI_MAX_JOINT]
bool activate(KhiRobotData &data)
KhiRobotArmData arm[KHI_MAX_ARM]
bool open(const std::string &ip, const double &period, KhiRobotData &data, const bool in_simulation=false)
double eff[KHI_MAX_JOINT]
void enforceLimits(const ros::Duration &period)
bool open(const std::string &robot_name, const std::string &ip_address, const double &period, const bool in_simulation=false)
hardware_interface::PositionJointInterface joint_position_interface
bool hold(const KhiRobotData &data)
void registerHandle(const JointStateHandle &handle)
int updateState(const KhiRobotData &data)
hardware_interface::JointStateInterface joint_state_interface
URDF_EXPORT bool initParam(const std::string ¶m)
std::string name[KHI_MAX_JOINT]
#define ROS_INFO_STREAM_NAMED(name, args)
T param(const std::string ¶m_name, const T &default_val)
khi_robot_control::KhiRobotClient * client
double vel[KHI_MAX_JOINT]
void write(const KhiRobotData &data)
bool getPeriodDiff(double &diff)
joint_limits_interface::PositionJointSaturationInterface joint_limit_interface