23 #ifndef __PLUGINS_KATANA_CONTROLLER_OPENRAVE_H_
24 #define __PLUGINS_KATANA_CONTROLLER_OPENRAVE_H_
26 #include "controller.h"
28 #include <core/utils/refptr.h>
29 #include <plugins/openrave/aspect/openrave.h>
32 #include <openrave/openrave.h>
54 virtual void set_max_velocity(
unsigned int vel);
58 virtual bool joint_angles();
59 virtual bool joint_encoders();
62 virtual void calibrate();
64 virtual void turn_on();
65 virtual void turn_off();
66 virtual void read_coordinates(
bool refresh =
false);
67 virtual void read_motor_data();
68 virtual void read_sensor_data();
69 virtual void gripper_open(
bool blocking =
false);
70 virtual void gripper_close(
bool blocking =
false);
71 virtual void move_to(
float x,
float y,
float z,
float phi,
float theta,
float psi,
bool blocking =
false);
72 virtual void move_to(std::vector<int> encoders,
bool blocking =
false);
73 virtual void move_to(std::vector<float> angles,
bool blocking =
false);
74 virtual void move_motor_to(
unsigned short id,
int enc,
bool blocking =
false);
75 virtual void move_motor_to(
unsigned short id,
float angle,
bool blocking =
false);
76 virtual void move_motor_by(
unsigned short id,
int enc,
bool blocking =
false);
77 virtual void move_motor_by(
unsigned short id,
float angle,
bool blocking =
false);
84 virtual double theta();
86 virtual void get_sensors(std::vector<int>& to,
bool refresh =
false);
87 virtual void get_encoders(std::vector<int>& to,
bool refresh =
false);
88 virtual void get_angles(std::vector<float>& to,
bool refresh =
false);
92 double __phi, __theta, __psi;
98 OpenRAVE::EnvironmentBasePtr __env;
99 OpenRAVE::RobotBasePtr __robot;
100 OpenRAVE::RobotBase::ManipulatorPtr __manip;
104 std::vector<short> __active_motors;
106 void update_manipulator();
107 void wait_finished();
110 bool motor_oor(
unsigned short id);
111 #endif //HAVE_OPENRAVE
Fawkes library namespace.
Abstract class for a Neuronics Katana controller.
OpenRaveEnvironment class.
Controller class for a Neuronics Katana, using libkni to interact with the real Katana arm...
Class containing information about all manipulator motors.
Interface for a OpenRave connection creator.