23 #ifndef __PLUGINS_KATANA_ACT_THREAD_H_
24 #define __PLUGINS_KATANA_ACT_THREAD_H_
26 #include "motion_thread.h"
27 #include "calib_thread.h"
28 #include "goto_thread.h"
29 #include "goto_openrave_thread.h"
30 #include "gripper_thread.h"
31 #include "sensacq_thread.h"
32 #include "motor_control_thread.h"
34 #include <core/threading/thread.h>
35 #include <aspect/clock.h>
36 #include <aspect/blocked_timing.h>
37 #include <aspect/logging.h>
38 #include <aspect/configurable.h>
39 #include <aspect/blackboard.h>
40 #include <aspect/tf.h>
42 # include <plugins/openrave/aspect/openrave.h>
44 #include <blackboard/interface_listener.h>
45 #include <core/utils/refptr.h>
46 #ifdef USE_TIMETRACKER
47 # include <utils/time/tracker.h>
53 class KatanaInterface;
55 class KatanaController;
87 protected:
virtual void run() { Thread::run(); }
91 void update_position(
bool refresh);
92 void update_sensors(
bool refresh);
93 void update_motors(
bool refresh);
95 unsigned int msgid,
const char *logmsg, ...);
100 std::string __cfg_controller;
101 std::string __cfg_device;
102 std::string __cfg_kni_conffile;
103 bool __cfg_auto_calibrate;
104 unsigned int __cfg_defmax_speed;
105 unsigned int __cfg_read_timeout;
106 unsigned int __cfg_write_timeout;
107 unsigned int __cfg_gripper_pollint;
108 unsigned int __cfg_goto_pollint;
112 float __cfg_park_phi;
113 float __cfg_park_theta;
114 float __cfg_park_psi;
116 float __cfg_distance_scale;
118 float __cfg_update_interval;
120 std::string __cfg_frame_kni;
121 std::string __cfg_frame_openrave;
123 bool __cfg_OR_enabled;
124 bool __cfg_OR_use_viewer;
125 bool __cfg_OR_auto_load_ik;
126 std::string __cfg_OR_robot_file;
127 std::string __cfg_OR_arm_model;
130 std::auto_ptr<KatanaSensorAcquisitionThread> __sensacq_thread;
144 #ifdef USE_TIMETRACKER
145 std::auto_ptr<fawkes::TimeTracker> __tt;
146 unsigned int __tt_count;
147 unsigned int __ttc_read_sensor;