24#ifndef _PLUGINS_JACO_TYPES_H_
25#define _PLUGINS_JACO_TYPES_H_
27#include <core/utils/refptr.h>
43class JacoBimanualInterface;
Jaco Arm movement thread.
Jaco Arm thread for dual-arm setup, integrating OpenRAVE.
Jaco Arm movement thread.
Jaco Arm thread for single-arm setup, integrating OpenRAVE.
Abstract class for a Kinova Jaco Arm that we want to control.
JacoBimanualInterface Fawkes BlackBoard Interface.
JacoInterface Fawkes BlackBoard Interface.
Fawkes library namespace.
enum fawkes::jaco_arm_config_enum jaco_arm_config_t
The setup-configuration of the arm.
enum fawkes::jaco_trajec_state_enum jaco_trajec_state_t
The state of a trajectory.
struct fawkes::jaco_target_struct_t jaco_target_t
Jaco target struct, holding information on a target.
enum fawkes::jaco_target_type_enum jaco_target_type_t
The type of a target.
struct jaco_arm_struct jaco_arm_t
Jaco struct containing all components required for one arm.
jaco_target_type_enum
The type of a target.
@ TARGET_READY
target is the READY position of the Jaco arm.
@ TARGET_GRIPPER
only gripper movement.
@ TARGET_CARTESIAN
target with cartesian coordinates.
@ TARGET_RETRACT
target is the RETRACT position of the Jaco arm.
@ TARGET_ANGULAR
target with angular coordinates.
std::vector< float > jaco_trajec_point_t
A trajectory point.
std::vector< jaco_trajec_point_t > jaco_trajec_t
A trajectory.
struct jaco_dual_arm_struct jaco_dual_arm_t
Jaco struct containing all components required for a dual-arm setup.
jaco_arm_config_enum
The setup-configuration of the arm.
@ CONFIG_SINGLE
we only have one arm.
@ CONFIG_LEFT
this arm is the left one out of two.
@ CONFIG_RIGHT
this arm is the right one out of two.
jaco_trajec_state_enum
The state of a trajectory.
@ TRAJEC_WAITING
new trajectory target, wait for planner to process.
@ TRAJEC_READY
trajectory has been planned and is ready for execution.
@ TRAJEC_IK_ERROR
planner could not find IK solution for target
@ TRAJEC_PLANNING
planner is planning the trajectory.
@ TRAJEC_PLANNING_ERROR
planner could not plan a collision-free trajectory.
@ TRAJEC_EXECUTING
trajectory is being executed.
@ TRAJEC_SKIP
skip trajectory planning for this target.
std::list< RefPtr< jaco_target_t > > jaco_target_queue_t
FIFO target queue, holding RefPtr to targets.
Jaco struct containing all components required for one arm.
jaco_arm_config_t config
configuration for this arm
float trajec_color[4]
the color used for plotting the trajectory.
JacoGotoThread * goto_thread
the GotoThread of this arm.
fawkes::JacoArm * arm
pointer to actual JacoArm instance, controlling this arm
JacoOpenraveThread * openrave_thread
the OpenraveThread of this arm.
RefPtr< Mutex > trajec_mutex
mutex, used for modifying trajectory of a target.
RefPtr< Mutex > target_mutex
mutex, used for accessing the target_queue
RefPtr< jaco_target_queue_t > target_queue
queue of targets, which is processed FIFO.
JacoInterface * iface
pointer to JacoInterface, assigned to this arm
Jaco struct containing all components required for a dual-arm setup.
JacoBimanualInterface * iface
interface used for coordinated manipulation.
JacoBimanualGotoThread * goto_thread
GotoThread for coordinated manipulation.
jaco_arm_t * right
the struct with all the data for the right arm.
JacoBimanualOpenraveThread * openrave_thread
OpenraveThread for coordinated manipulation.
jaco_arm_t * left
the struct with all the data for the left arm.
Jaco target struct, holding information on a target.
fawkes::RefPtr< jaco_trajec_t > trajec
trajectory, if target is TARGET_TRAJEC.
jaco_trajec_point_t fingers
target finger values.
bool coord
this target needs to be coordinated with targets of other arms.
jaco_trajec_point_t pos
target position (interpreted depending on target type).
jaco_target_type_t type
target type.
jaco_trajec_state_t trajec_state
state of the trajectory, if target is TARGET_TRAJEC.