23 #ifndef __PLUGINS_OPENRAVE_ROBOT_H 24 #define __PLUGINS_OPENRAVE_ROBOT_H 28 #include <openrave/openrave.h> 50 virtual void set_offset(
float trans_x,
float trans_y,
float trans_z);
51 virtual void calibrate(
float device_trans_x,
float device_trans_y,
float device_trans_z);
56 virtual bool attach_object(OpenRAVE::KinBodyPtr
object,
const char* manip_name = NULL);
62 virtual bool set_target_rel(
float trans_x,
float trans_y,
float trans_z,
bool is_extension=
false);
64 virtual bool set_target_quat(
float trans_x,
float trans_y,
float trans_z,
65 float quat_w,
float quat_x,
float quat_y,
float quat_z,
66 OpenRAVE::IkFilterOptions filter = OpenRAVE::IKFO_CheckEnvCollisions,
bool no_offset =
false);
68 float angle,
float axisX,
float axisY,
float axisZ,
69 OpenRAVE::IkFilterOptions filter = OpenRAVE::IKFO_CheckEnvCollisions,
bool no_offset =
false);
71 float trans_x,
float trans_y,
float trans_z,
72 float phi,
float theta,
float psi,
73 OpenRAVE::IkFilterOptions filter = OpenRAVE::IKFO_CheckEnvCollisions,
bool no_offset =
false);
74 virtual bool set_target_object_position(
float trans_x,
float trans_y,
float trans_z,
float rot_x, OpenRAVE::IkFilterOptions filter = OpenRAVE::IKFO_CheckEnvCollisions);
75 virtual bool set_target_ikparam(OpenRAVE::IkParameterization ik_param, OpenRAVE::IkFilterOptions filter = OpenRAVE::IKFO_CheckEnvCollisions);
88 virtual std::vector< std::vector<OpenRAVE::dReal> >*
get_trajectory()
const;
97 void build_name_str();
98 const char* name()
const;
100 bool set_target_transform(OpenRAVE::Vector& trans, OpenRAVE::Vector& rotQuat, OpenRAVE::IkFilterOptions filter,
bool no_offset =
false);
101 bool set_target_euler(OpenRAVE::Vector& trans, std::vector<float>& rotations, OpenRAVE::IkFilterOptions filter,
bool no_offset =
false);
102 OpenRAVE::IkParameterization get_5dof_ikparam(OpenRAVE::Transform& trans);
103 bool solve_ik(OpenRAVE::IkFilterOptions filter);
108 std::string __name_str;
109 OpenRAVE::RobotBasePtr __robot;
110 OpenRAVE::RobotBase::ManipulatorPtr __arm;
115 OpenRAVE::ModuleBasePtr __mod_basemanip;
117 OpenRAVE::PlannerBase::PlannerParametersPtr __planner_params;
118 std::vector< std::vector<OpenRAVE::dReal> >* __traj;
120 float __trans_offset_x;
121 float __trans_offset_y;
122 float __trans_offset_z;
124 bool __display_planned_movements;
virtual void set_target_angles(std::vector< float > &angles)
Set target angles directly.
virtual void update_manipulator()
Update motor values from OpenRAVE model.
virtual bool set_target_euler(euler_rotation_t type, float trans_x, float trans_y, float trans_z, float phi, float theta, float psi, OpenRAVE::IkFilterOptions filter=OpenRAVE::IKFO_CheckEnvCollisions, bool no_offset=false)
Set target, given transition, and Euler-rotation.
virtual void set_target_plannerparams(std::string ¶ms)
Set additional planner parameters.
Fawkes library namespace.
virtual std::vector< std::vector< float > > * get_trajectory_device() const
Return pointer to trajectory of motion from __manip to __target.manip with device angle format...
virtual target_t get_target() const
Get target.
virtual void set_offset(float trans_x, float trans_y, float trans_z)
Directly set transition offset between coordinate systems of real device and OpenRAVE model...
virtual OpenRAVE::RobotBasePtr get_robot_ptr() const
Returns RobotBasePtr for uses in other classes.
virtual bool set_target_rel(float trans_x, float trans_y, float trans_z, bool is_extension=false)
Set target, given relative transition.
virtual bool set_target_object_position(float trans_x, float trans_y, float trans_z, float rot_x, OpenRAVE::IkFilterOptions filter=OpenRAVE::IKFO_CheckEnvCollisions)
Set target by giving position of an object.
virtual OpenRAVE::PlannerBase::PlannerParametersPtr get_planner_params() const
Updates planner parameters and return pointer to it.
virtual void calibrate(float device_trans_x, float device_trans_y, float device_trans_z)
Calculate transition offset between coordinate systems of real device and OpenRAVE model...
virtual void update_model()
Update/Set OpenRAVE motor angles.
virtual void enable_ik_comparison(bool enable)
Activate/Deactive IK comparison.
virtual std::vector< std::vector< OpenRAVE::dReal > > * get_trajectory() const
Return pointer to trajectory of motion from __manip to __target.manip with OpenRAVE-model angle forma...
Struct containing information about the current target.
virtual void set_target_raw(std::string &cmd)
Set raw command for BaseManipulation module.
virtual bool set_target_axis_angle(float trans_x, float trans_y, float trans_z, float angle, float axisX, float axisY, float axisZ, OpenRAVE::IkFilterOptions filter=OpenRAVE::IKFO_CheckEnvCollisions, bool no_offset=false)
Set target, given transition, and rotation as axis-angle.
OpenRaveRobot(fawkes::Logger *logger=0)
Constructor.
virtual bool attach_object(OpenRAVE::KinBodyPtr object, const char *manip_name=NULL)
Attach a kinbody to the robot.
virtual OpenRAVE::ModuleBasePtr get_basemanip() const
Return BaseManipulation Module-Pointer.
virtual void set_manipulator(fawkes::OpenRaveManipulatorPtr &manip, bool display_movements=false)
Set pointer to OpenRaveManipulator object.
euler_rotation_t
Euler rotations.
virtual void load(const std::string &filename, fawkes::OpenRaveEnvironmentPtr &env)
Load robot from xml file.
RefPtr<> is a reference-counting shared smartpointer.
virtual OpenRaveManipulatorPtr get_manipulator() const
Get manipulator.
virtual bool release_all_objects()
Release all grabbed kinbodys from the robot.
virtual ~OpenRaveRobot()
Destructor.
virtual void set_ready()
Set robot ready for usage.
virtual bool set_target_straight(float trans_x, float trans_y, float trans_z)
Set target for a straight movement, given transition.
virtual bool display_planned_movements() const
Getter for __display_planned_movements.
virtual bool set_target_ikparam(OpenRAVE::IkParameterization ik_param, OpenRAVE::IkFilterOptions filter=OpenRAVE::IKFO_CheckEnvCollisions)
Set target by giving IkParameterizaion of target.
virtual bool release_object(OpenRAVE::KinBodyPtr object)
Release a kinbody from the robot.
virtual bool set_target_quat(float trans_x, float trans_y, float trans_z, float quat_w, float quat_x, float quat_y, float quat_z, OpenRAVE::IkFilterOptions filter=OpenRAVE::IKFO_CheckEnvCollisions, bool no_offset=false)
Set target, given transition, and rotation as quaternion.