23 #ifndef __PLUGINS_JACO_BIMANUAL_OPENRAVE_THREAD_H_ 24 #define __PLUGINS_JACO_BIMANUAL_OPENRAVE_THREAD_H_ 26 #include "openrave_base_thread.h" 29 #include <openrave/openrave.h> 45 virtual bool add_target(
float l_x,
float l_y,
float l_z,
float l_e1,
float l_e2,
float l_e3,
46 float r_x,
float r_y,
float r_z,
float r_e1,
float r_e2,
float r_e3);
52 virtual void run() { Thread::run(); }
57 void _init_dualmanipulation();
61 bool _solve_multi_ik(std::vector<float> &left,
62 std::vector<float> &right);
65 typedef struct arm_struct {
68 std::string manipname;
69 OpenRAVE::RobotBase::ManipulatorPtr manip;
80 fawkes::jaco_openrave_set_t __planner_env;
81 OpenRAVE::ModuleBasePtr __mod_dualmanip;
83 std::set<OpenRAVE::KinBody::LinkPtr> links_left_;
84 std::set<OpenRAVE::KinBody::LinkPtr> links_right_;
Jaco struct containing all components required for one arm.
Jaco Arm thread for dual-arm setup, integrating OpenRAVE.
JacoBimanualOpenraveThread(fawkes::jaco_dual_arm_t *arms)
Constructor.
enum fawkes::jaco_trajec_state_enum jaco_trajec_state_t
The state of a trajectory.
virtual void finalize()
Finalize the thread.
virtual void set_constrained(bool enable)
Enable/Disable constrained planning.
virtual bool add_target(float l_x, float l_y, float l_z, float l_e1, float l_e2, float l_e3, float r_x, float r_y, float r_z, float r_e1, float r_e2, float r_e3)
Add target for coordinated manipulation to the queue.
virtual void loop()
Code to execute in the thread.
RefPtr<> is a reference-counting shared smartpointer.
virtual void update_openrave()
Update the openrave environment to represent the current situation.
Jaco struct containing all components required for a dual-arm setup.
virtual void run()
Stub to see name in backtrace for easier debugging.
virtual void plot_first()
Plot the first target of the target_queue, if it is a trajectory.
Base Jaco Arm thread, integrating OpenRAVE.