23 #ifndef __PLUGINS_KATANA_CONTROLLER_H_ 24 #define __PLUGINS_KATANA_CONTROLLER_H_ 45 virtual void init() = 0;
58 virtual bool final() = 0;
83 virtual void stop() = 0;
116 virtual void move_to(
float x,
float y,
float z,
float phi,
float theta,
float psi,
bool blocking =
false) = 0;
122 virtual void move_to(std::vector<int> encoders,
bool blocking =
false) = 0;
128 virtual void move_to(std::vector<float> angles,
bool blocking =
false) = 0;
135 virtual void move_motor_to(
unsigned short id,
int enc,
bool blocking =
false) = 0;
142 virtual void move_motor_to(
unsigned short id,
float angle,
bool blocking =
false) = 0;
149 virtual void move_motor_by(
unsigned short id,
int enc,
bool blocking =
false) = 0;
156 virtual void move_motor_by(
unsigned short id,
float angle,
bool blocking =
false) = 0;
166 virtual double x() = 0;
172 virtual double y() = 0;
178 virtual double z() = 0;
189 virtual double phi() = 0;
195 virtual double theta() = 0;
201 virtual double psi() = 0;
207 virtual void get_sensors(std::vector<int>& to,
bool refresh =
false) = 0;
213 virtual void get_encoders(std::vector<int>& to,
bool refresh =
false) = 0;
219 virtual void get_angles(std::vector<float>& to,
bool refresh =
false) = 0;
virtual void init()=0
Initialize controller.
virtual void read_motor_data()=0
Read motor data of currently active joints from device into controller libray.
virtual double y()=0
Get y-coordinate of latest endeffector position.
virtual void move_motor_to(unsigned short id, int enc, bool blocking=false)=0
Move single joint/motor to encoder value.
virtual void gripper_close(bool blocking=false)=0
Close Gripper.
virtual void get_angles(std::vector< float > &to, bool refresh=false)=0
Get angle values of joints/motors.
Fawkes library namespace.
virtual double theta()=0
Get theta-rotation of latest endeffector orientation.
virtual void read_sensor_data()=0
Read all sensor data from device into controller libray.
virtual double z()=0
Get z-coordinate of latest endeffector position.
virtual ~KatanaController()
Virtual empty destructor.
Abstract class for a Neuronics Katana controller.
virtual void read_coordinates(bool refresh=false)=0
Store current coordinates of endeeffctor.
virtual void turn_on()=0
Turn on arm/motors.
virtual bool joint_angles()=0
Check if controller provides joint angle values.
virtual void move_to(float x, float y, float z, float phi, float theta, float psi, bool blocking=false)=0
Move endeffctor to given coordinates.
virtual double x()=0
Get x-coordinate of latest endeffector position.
virtual void get_sensors(std::vector< int > &to, bool refresh=false)=0
Get sensor values.
virtual void calibrate()=0
Calibrate the arm.
virtual void turn_off()=0
Turn off arm/motors.
virtual void move_motor_by(unsigned short id, int enc, bool blocking=false)=0
Move single joint/motor by encoder value (i.e.
virtual double psi()=0
Get psi-rotation of latest endeffector orientation.
virtual bool joint_encoders()=0
Check if controller provides joint encoder values.
virtual void set_max_velocity(unsigned int vel)=0
Set maximum velocity.
virtual double phi()=0
Get x-coordinate of latest endeffector position.
virtual void gripper_open(bool blocking=false)=0
Open Gripper.
virtual void stop()=0
Stop movement immediately.
virtual void get_encoders(std::vector< int > &to, bool refresh=false)=0
Get encoder values of joints/motors.