23 #include "bimanual_act_thread.h" 24 #include "bimanual_goto_thread.h" 25 #include "bimanual_openrave_thread.h" 27 #include <interfaces/JacoBimanualInterface.h> 41 :
Thread(
"JacoBimanualActThread",
Thread::OPMODE_WAITFORWAKEUP),
106 logger->
log_debug(
name(),
"CartesianGotoMessage rcvd. left: x:%f y:%f z:%f e1:%f e2:%f e3:%f",
117 logger->
log_warn(
name(),
"Failed executing CartesianGotoMessage, could not find IK solution");
120 logger->
log_warn(
name(),
"OpenRAVE not found. Cannot plan coordinated trajectories. Skipping!");
MoveGripperMessage Fawkes BlackBoard Interface Message.
void set_final(const bool new_final)
Set final value.
float l_y() const
Get l_y value.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
unsigned int id() const
Get message ID.
bool msgq_empty()
Check if queue is empty.
virtual ~JacoBimanualActThread()
Destructor.
JacoBimanualGotoThread * goto_thread
GotoThread for coordinated manipulation.
float r_e3() const
Get r_e3 value.
float l_finger1() const
Get l_finger1 value.
JacoBimanualInterface * iface
interface used for coordinated manipulation.
Fawkes library namespace.
JacoBimanualInterface Fawkes BlackBoard Interface.
const char * id() const
Get identifier of interface.
SetPlannerParamsMessage Fawkes BlackBoard Interface Message.
Thread class encapsulation of pthreads.
virtual void loop()
Main loop.
void write()
Write from local copy into BlackBoard memory.
float l_x() const
Get l_x value.
Logger * logger
This is the Logger member used to access the logger.
JacoBimanualOpenraveThread * openrave_thread
OpenraveThread for coordinated manipulation.
float l_e1() const
Get l_e1 value.
Thread aspect to use blocked timing.
void msgq_pop()
Erase first message from queue.
float r_finger2() const
Get r_finger2 value.
SetConstrainedMessage Fawkes BlackBoard Interface Message.
virtual bool final()
Check if arm is final.
Base class for exceptions in Fawkes.
Message * msgq_first()
Get the first message from the message queue.
float r_e1() const
Get r_e1 value.
float l_e2() const
Get l_e2 value.
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.
const char * name() const
Get name of thread.
virtual const char * what_no_backtrace() const
Get primary string (does not implicitly print the back trace).
bool msgq_first_is()
Check if first message has desired type.
virtual void log_warn(const char *component, const char *format,...)=0
Log warning message.
virtual void move_gripper(float l_f1, float l_f2, float l_f3, float r_f1, float r_f2, float r_f3)
Moves only the gripper of both arms.
bool is_constrained() const
Get constrained value.
virtual void log_debug(const char *component, const char *format,...)=0
Log debug message.
float r_y() const
Get r_y value.
float l_finger3() const
Get l_finger3 value.
float l_finger2() const
Get l_finger2 value.
float r_e2() const
Get r_e2 value.
virtual void set_plannerparams(const std::string ¶ms)
Set planner parameters.
float r_z() const
Get r_z value.
JacoBimanualActThread(fawkes::jaco_dual_arm_t *arms)
Constructor.
float l_z() const
Get l_z value.
float r_finger3() const
Get r_finger3 value.
Jaco struct containing all components required for a dual-arm setup.
virtual void init()
Initialize.
void set_error_code(const uint32_t new_error_code)
Set error_code value.
float r_finger1() const
Get r_finger1 value.
virtual void finalize()
Finalize.
virtual Interface * open_for_writing(const char *interface_type, const char *identifier, const char *owner=NULL)=0
Open interface for writing.
CartesianGotoMessage Fawkes BlackBoard Interface Message.
float l_e3() const
Get l_e3 value.
float r_x() const
Get r_x value.
BlackBoard * blackboard
This is the BlackBoard instance you can use to interact with the BlackBoard.
void set_msgid(const uint32_t new_msgid)
Set msgid value.
char * params() const
Get params value.
virtual void close(Interface *interface)=0
Close interface.