33 static const double BILLION = 1000000000.0;
112 struct timespec last_time_;
113 struct timespec current_time_;
127 int main(
int argc,
char** argv)
132 ros::init(argc, argv,
"robotiq_3f_gripper_node");
146 nh.
param<std::string>(
"ifname", ifname,
"eth0");
147 nh.
param<
int>(
"slave_number", slave_no, 1);
148 nh.
param<
bool>(
"activate", activate,
true);
151 EtherCatManager manager(ifname);
156 ethercat_client->init(pnh);
171 hw_interface->configure(joint_state_interface, position_joint_interface);
172 hw_interface->registerInterface(&joint_state_interface);
173 hw_interface->registerInterface(&position_joint_interface);
175 ROS_DEBUG(
"registered control interfaces");
#define ROS_DEBUG_STREAM_THROTTLE_NAMED(rate, name, args)
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
boost::shared_ptr< controller_manager::ControllerManager > controller_manager_
ROS Controller Manager and Runner.
int main(int argc, char **argv)
struct timespec current_time_
ros::Duration desired_update_freq_
GenericHWLoop(const ros::NodeHandle &nh, boost::shared_ptr< robotiq_3f_gripper_control::Robotiq3FGripperHWInterface > hardware_interface)
bool param(const std::string ¶m_name, T ¶m_val, const T &default_val) const
ros::Timer non_realtime_loop_
ros::Duration elapsed_time_
Timer createTimer(Rate r, Handler h, Obj o, bool oneshot=false, bool autostart=true) const
void update(const ros::TimerEvent &e)
Timer event Note: we do not use the TimerEvent time difference because it does NOT guarantee that the...
static const double BILLION
double cycle_time_error_threshold_
struct timespec last_time_
This class provides a client for the EtherCAT manager object that can translate robot input/output me...
boost::shared_ptr< robotiq_3f_gripper_control::Robotiq3FGripperHWInterface > hardware_interface_
Abstract Hardware Interface for your robot.
ROSCPP_DECL void waitForShutdown()
#define ROS_WARN_STREAM_NAMED(name, args)