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>
71 void _init_dualmanipulation();
75 bool _solve_multi_ik(std::vector<float> &left, std::vector<float> &right);
78 typedef struct arm_struct
82 std::string manipname;
83 OpenRAVE::RobotBase::ManipulatorPtr manip;
95 fawkes::jaco_openrave_set_t planner_env_;
96 OpenRAVE::ModuleBasePtr mod_dualmanip_;
98 std::set<OpenRAVE::KinBody::LinkPtr> links_left_;
99 std::set<OpenRAVE::KinBody::LinkPtr> links_right_;
Jaco Arm thread for dual-arm setup, integrating OpenRAVE.
virtual void finalize()
Finalize the thread.
virtual void run()
Stub to see name in backtrace for easier debugging.
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.
JacoBimanualOpenraveThread(fawkes::jaco_dual_arm_t *arms)
Constructor.
virtual void update_openrave()
Update the openrave environment to represent the current situation.
virtual void plot_first()
Plot the first target of the target_queue, if it is a trajectory.
virtual void set_constrained(bool enable)
Enable/Disable constrained planning.
virtual void loop()
Code to execute in the thread.
Base Jaco Arm thread, integrating OpenRAVE.
RefPtr<> is a reference-counting shared smartpointer.
enum fawkes::jaco_trajec_state_enum jaco_trajec_state_t
The state of a trajectory.
Jaco struct containing all components required for one arm.
Jaco struct containing all components required for a dual-arm setup.