24 #ifndef __PLUGINS_KATANA_GOTO_OPENRAVE_THREAD_H_ 25 #define __PLUGINS_KATANA_GOTO_OPENRAVE_THREAD_H_ 27 #include "motion_thread.h" 30 #include <plugins/openrave/types.h> 37 class OpenRaveConnector;
47 unsigned int poll_interval_ms,
48 std::string robot_file,
49 std::string arm_model,
55 virtual void finalize();
57 void set_target(
float x,
float y,
float z,
float phi,
float theta,
float psi);
58 void set_target(
float x,
float y,
float z,
float quat_x,
float quat_y,
float quat_z,
float quat_w);
59 void set_target(
const std::string& object_name,
float rot_x);
60 void set_theta_error(
float error);
61 void set_move_straight(
bool move_straight);
62 void set_arm_extension(
bool arm_extension);
63 void set_plannerparams(std::string& params,
bool straight=
false);
64 void set_plannerparams(
const char* params,
bool straight=
false);
66 virtual bool plan_target();
67 virtual void update_openrave_data();
68 virtual bool update_motor_data();
69 virtual bool move_katana();
71 static const std::string DEFAULT_PLANNERPARAMS;
72 static const std::string DEFAULT_PLANNERPARAMS_STRAIGHT;
78 std::string __target_object;
79 std::vector< std::vector<float> >* __target_traj;
80 std::vector< std::vector<float> >::iterator __it;
82 std::vector< int > __motor_encoders;
83 std::vector< float > __motor_angles;
85 const std::string __cfg_robot_file;
86 const std::string __cfg_arm_model;
87 bool __cfg_autoload_IK;
88 bool __cfg_use_viewer;
90 bool __is_target_object;
91 bool __has_target_quaternion;
93 bool __is_arm_extension;
94 std::string __plannerparams;
95 std::string __plannerparams_straight;
100 float __phi, __theta, __psi, __theta_error;
101 float __quat_x, __quat_y, __quat_z, __quat_w;
102 unsigned int __poll_interval_usec;
104 #endif //HAVE_OPENRAVE Fawkes library namespace.
Katana motion thread base class.
class KatanaGotoOpenRaveThread
Interface for a OpenRave connection creator.