Fawkes API
Fawkes Development Version
|
Controller class for a Neuronics Katana, using libkni to interact with the real Katana arm. More...
#include <>>
Public Member Functions | |
KatanaControllerKni () | |
Constructor. | |
virtual | ~KatanaControllerKni () |
Destructor. | |
virtual void | setup (std::string &device, std::string &kni_conffile, unsigned int read_timeout, unsigned int write_timeout) |
Setup parameters needed to initialize Katana arm with libkni. | |
virtual void | init () |
Initialize controller. | |
virtual void | set_max_velocity (unsigned int vel) |
Set maximum velocity. | |
virtual bool | final () |
Check if movement is final. | |
virtual bool | joint_angles () |
Check if controller provides joint angle values. | |
virtual bool | joint_encoders () |
Check if controller provides joint encoder values. | |
virtual void | calibrate () |
Calibrate the arm. | |
virtual void | stop () |
Stop movement immediately. | |
virtual void | turn_on () |
Turn on arm/motors. | |
virtual void | turn_off () |
Turn off arm/motors. | |
virtual void | read_coordinates (bool refresh=false) |
Store current coordinates of endeeffctor. | |
virtual void | read_motor_data () |
Read motor data of currently active joints from device into controller libray. | |
virtual void | read_sensor_data () |
Read all sensor data from device into controller libray. | |
virtual void | gripper_open (bool blocking=false) |
Open Gripper. | |
virtual void | gripper_close (bool blocking=false) |
Close Gripper. | |
virtual void | move_to (float x, float y, float z, float phi, float theta, float psi, bool blocking=false) |
Move endeffctor to given coordinates. | |
virtual void | move_to (std::vector< int > encoders, bool blocking=false) |
Move joints to encoder values. | |
virtual void | move_to (std::vector< float > angles, bool blocking=false) |
Move joints to angle values. | |
virtual void | move_motor_to (unsigned short id, int enc, bool blocking=false) |
Move single joint/motor to encoder value. | |
virtual void | move_motor_to (unsigned short id, float angle, bool blocking=false) |
Move single joint/motor to angle value. | |
virtual void | move_motor_by (unsigned short id, int enc, bool blocking=false) |
Move single joint/motor by encoder value (i.e. | |
virtual void | move_motor_by (unsigned short id, float angle, bool blocking=false) |
Move single joint/motor by angle value (i.e. | |
virtual double | x () |
Get x-coordinate of latest endeffector position. | |
virtual double | y () |
Get y-coordinate of latest endeffector position. | |
virtual double | z () |
Get z-coordinate of latest endeffector position. | |
virtual double | phi () |
Get x-coordinate of latest endeffector position. | |
virtual double | theta () |
Get theta-rotation of latest endeffector orientation. | |
virtual double | psi () |
Get psi-rotation of latest endeffector orientation. | |
virtual void | get_sensors (std::vector< int > &to, bool refresh=false) |
Get sensor values. | |
virtual void | get_encoders (std::vector< int > &to, bool refresh=false) |
Get encoder values of joints/motors. | |
virtual void | get_angles (std::vector< float > &to, bool refresh=false) |
Get angle values of joints/motors. |
Controller class for a Neuronics Katana, using libkni to interact with the real Katana arm.
fawkes::KatanaControllerKni::KatanaControllerKni | ( | ) |
Constructor.
Definition at line 43 of file controller_kni.cpp.
fawkes::KatanaControllerKni::~KatanaControllerKni | ( | ) | [virtual] |
Destructor.
Definition at line 56 of file controller_kni.cpp.
void fawkes::KatanaControllerKni::calibrate | ( | ) | [virtual] |
Calibrate the arm.
Implements fawkes::KatanaController.
Definition at line 148 of file controller_kni.cpp.
References fawkes::Exception::what().
bool fawkes::KatanaControllerKni::final | ( | ) | [virtual] |
Check if movement is final.
Implements fawkes::KatanaController.
Definition at line 123 of file controller_kni.cpp.
void fawkes::KatanaControllerKni::get_angles | ( | std::vector< float > & | to, |
bool | refresh = false |
||
) | [virtual] |
Get angle values of joints/motors.
to | vector to be filled with angle values for active joints. |
refresh | refresh joints/motors data (call 'read_motor_data')? |
Implements fawkes::KatanaController.
Definition at line 455 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::get_encoders | ( | std::vector< int > & | to, |
bool | refresh = false |
||
) | [virtual] |
Get encoder values of joints/motors.
to | vector to be filled with encoder values for active joints. |
refresh | refresh joints/motors data (call 'read_motor_data')? |
Implements fawkes::KatanaController.
Definition at line 442 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::get_sensors | ( | std::vector< int > & | to, |
bool | refresh = false |
||
) | [virtual] |
Get sensor values.
to | vector to be filled with all available sensor values. |
refresh | refresh sensor data (call 'read_sensor_data')? |
Implements fawkes::KatanaController.
Definition at line 421 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::gripper_close | ( | bool | blocking = false | ) | [virtual] |
Close Gripper.
blocking | Is this a blocking call? |
Implements fawkes::KatanaController.
Definition at line 246 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::gripper_open | ( | bool | blocking = false | ) | [virtual] |
Open Gripper.
blocking | Is this a blocking call? |
Implements fawkes::KatanaController.
Definition at line 228 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::init | ( | ) | [virtual] |
Initialize controller.
Implements fawkes::KatanaController.
Definition at line 82 of file controller_kni.cpp.
References fawkes::Exception::what().
bool fawkes::KatanaControllerKni::joint_angles | ( | ) | [virtual] |
Check if controller provides joint angle values.
Implements fawkes::KatanaController.
Definition at line 137 of file controller_kni.cpp.
bool fawkes::KatanaControllerKni::joint_encoders | ( | ) | [virtual] |
Check if controller provides joint encoder values.
Implements fawkes::KatanaController.
Definition at line 142 of file controller_kni.cpp.
void fawkes::KatanaControllerKni::move_motor_by | ( | unsigned short | id, |
int | enc, | ||
bool | blocking = false |
||
) | [virtual] |
Move single joint/motor by encoder value (i.e.
increase/decrease).
id | id of the joint/motor. |
enc | increase/decrease by encoder value. |
blocking | Is this a blocking call? |
Implements fawkes::KatanaController.
Definition at line 349 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::move_motor_by | ( | unsigned short | id, |
float | angle, | ||
bool | blocking = false |
||
) | [virtual] |
Move single joint/motor by angle value (i.e.
increase/decrease).
id | id of the joint/motor. |
angle | increase/decrease by angle value. |
blocking | Is this a blocking call? |
Implements fawkes::KatanaController.
Definition at line 366 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::move_motor_to | ( | unsigned short | id, |
int | enc, | ||
bool | blocking = false |
||
) | [virtual] |
Move single joint/motor to encoder value.
id | id of the joint/motor. |
enc | target encoder value. |
blocking | Is this a blocking call? |
Implements fawkes::KatanaController.
Definition at line 315 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::move_motor_to | ( | unsigned short | id, |
float | angle, | ||
bool | blocking = false |
||
) | [virtual] |
Move single joint/motor to angle value.
id | id of the joint/motor. |
angle | target angle value. |
blocking | Is this a blocking call? |
Implements fawkes::KatanaController.
Definition at line 332 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::move_to | ( | float | x, |
float | y, | ||
float | z, | ||
float | phi, | ||
float | theta, | ||
float | psi, | ||
bool | blocking = false |
||
) | [virtual] |
Move endeffctor to given coordinates.
x | translation on x-axis. |
y | translation on y-axis. |
z | translation on z-axis. |
phi | 1st rotation of euler-ZXZ-rotation |
theta | 2nd rotation of euler-ZXZ-rotation |
psi | 3rd rotation of euler-ZXZ-rotation |
blocking | Is this a blocking call? |
Implements fawkes::KatanaController.
Definition at line 264 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::move_to | ( | std::vector< int > | encoders, |
bool | blocking = false |
||
) | [virtual] |
Move joints to encoder values.
encoders | vector containing encoder values for all joints. |
blocking | Is this a blocking call? |
Implements fawkes::KatanaController.
Definition at line 283 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::move_to | ( | std::vector< float > | angles, |
bool | blocking = false |
||
) | [virtual] |
Move joints to angle values.
angles | vector containing angle values for all joints. |
blocking | Is this a blocking call? |
Implements fawkes::KatanaController.
Definition at line 299 of file controller_kni.cpp.
References fawkes::Exception::what().
double fawkes::KatanaControllerKni::phi | ( | ) | [virtual] |
Get x-coordinate of latest endeffector position.
Call 'read_coordinates()' to read latest position.
Implements fawkes::KatanaController.
Definition at line 403 of file controller_kni.cpp.
double fawkes::KatanaControllerKni::psi | ( | ) | [virtual] |
Get psi-rotation of latest endeffector orientation.
Call 'read_coordinates()' to read latest orientation.
Implements fawkes::KatanaController.
Definition at line 415 of file controller_kni.cpp.
void fawkes::KatanaControllerKni::read_coordinates | ( | bool | refresh = false | ) | [virtual] |
Store current coordinates of endeeffctor.
refresh | fetch new joint data from device (update data in controller library). No need to set to 'true' if 'read_motor_data()' is being called regularly. |
Implements fawkes::KatanaController.
Definition at line 188 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::read_motor_data | ( | ) | [virtual] |
Read motor data of currently active joints from device into controller libray.
Implements fawkes::KatanaController.
Definition at line 198 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::read_sensor_data | ( | ) | [virtual] |
Read all sensor data from device into controller libray.
Implements fawkes::KatanaController.
Definition at line 216 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::set_max_velocity | ( | unsigned int | vel | ) | [virtual] |
Set maximum velocity.
vel | velocity |
Implements fawkes::KatanaController.
Definition at line 112 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::setup | ( | std::string & | device, |
std::string & | kni_conffile, | ||
unsigned int | read_timeout, | ||
unsigned int | write_timeout | ||
) | [virtual] |
Setup parameters needed to initialize Katana arm with libkni.
device | device string, e.g. "/dev/ttyS0" |
kni_conffile | path to kni configfile, e.g. "/etc/kni3/hd300/katana6M180.cfg" |
read_timeout | timeout for read operations, in ms |
write_timeout | timeout for write operations, in ms |
Definition at line 72 of file controller_kni.cpp.
Referenced by KatanaActThread::init().
void fawkes::KatanaControllerKni::stop | ( | ) | [virtual] |
Stop movement immediately.
Implements fawkes::KatanaController.
Definition at line 158 of file controller_kni.cpp.
References fawkes::Exception::what().
double fawkes::KatanaControllerKni::theta | ( | ) | [virtual] |
Get theta-rotation of latest endeffector orientation.
Call 'read_coordinates()' to read latest orientation.
Implements fawkes::KatanaController.
Definition at line 409 of file controller_kni.cpp.
void fawkes::KatanaControllerKni::turn_off | ( | ) | [virtual] |
Turn off arm/motors.
Implements fawkes::KatanaController.
Definition at line 178 of file controller_kni.cpp.
References fawkes::Exception::what().
void fawkes::KatanaControllerKni::turn_on | ( | ) | [virtual] |
Turn on arm/motors.
Implements fawkes::KatanaController.
Definition at line 168 of file controller_kni.cpp.
References fawkes::Exception::what().
double fawkes::KatanaControllerKni::x | ( | ) | [virtual] |
Get x-coordinate of latest endeffector position.
Call 'read_coordinates()' to read latest position.
Implements fawkes::KatanaController.
Definition at line 385 of file controller_kni.cpp.
double fawkes::KatanaControllerKni::y | ( | ) | [virtual] |
Get y-coordinate of latest endeffector position.
Call 'read_coordinates()' to read latest position.
Implements fawkes::KatanaController.
Definition at line 391 of file controller_kni.cpp.
double fawkes::KatanaControllerKni::z | ( | ) | [virtual] |
Get z-coordinate of latest endeffector position.
Call 'read_coordinates()' to read latest position.
Implements fawkes::KatanaController.
Definition at line 397 of file controller_kni.cpp.