#include <KatanaKinematics5M180.h>

Classes | |
| struct | angles_calc |
| struct | position |
Public Member Functions | |
| void | DK (coordinates &solution, encoders const ¤t_encoders) const |
| void | IK (encoders::iterator solution, coordinates const &pose, encoders const &cur_angles) const |
| void | init (metrics const &length, parameter_container const ¶meters) |
Private Types | |
| typedef std::vector< angles_calc > | angles_container |
Private Member Functions | |
| void | _setLength (metrics const &length) |
| void | _setParameters (parameter_container const ¶meters) |
Private Attributes | |
| metrics | _length |
| parameter_container | _parameters |
Static Private Attributes | |
| static const int | _nrOfPossibleSolutions = 1 |
| static const double | _tolerance = 0.001 |
Definition at line 39 of file KatanaKinematics5M180.h.
typedef std::vector<angles_calc> KNI::KatanaKinematics5M180::angles_container [private] |
Definition at line 70 of file KatanaKinematics5M180.h.
| void KNI::KatanaKinematics5M180::_setLength | ( | metrics const & | length | ) | [inline, private] |
Definition at line 78 of file KatanaKinematics5M180.h.
| void KNI::KatanaKinematics5M180::_setParameters | ( | parameter_container const & | parameters | ) | [inline, private] |
Definition at line 79 of file KatanaKinematics5M180.h.
| void KNI::KatanaKinematics5M180::DK | ( | coordinates & | solution, |
| encoders const & | current_encoders | ||
| ) | const [virtual] |
Direct Kinematic. Calculates the actual position in cartesian coordinates using the given encoders
| solution | This is where the algorithm will store the solution to (in cartesian coordinates) |
| current_encoders | The encoder values which are being used for the calculation |
Implements KNI::KatanaKinematics.
Definition at line 30 of file KatanaKinematics5M180.cpp.
| void KNI::KatanaKinematics5M180::IK | ( | encoders::iterator | solution, |
| coordinates const & | pose, | ||
| encoders const & | cur_angles | ||
| ) | const [virtual] |
Inverse Kinematic. Calculates one set of encoders (=one solution) for the given cartesian coordinates. You also have to provide the current encoders to allow the algorithm to choose between different valid solutions.
| solution | This is where the algorithm will store the solution to (in encoders) |
| pose | The target position in cartesian coordinates plus the euler angles for the direction of the gripper |
| cur_angles | The current angles (in encoders) of the robot |
Implements KNI::KatanaKinematics.
Definition at line 65 of file KatanaKinematics5M180.cpp.
| void KNI::KatanaKinematics5M180::init | ( | metrics const & | length, |
| parameter_container const & | parameters | ||
| ) | [virtual] |
Initialize the parameters for the calculations. This is needed to validate the calculated angles and to choose an appropriate solution You have to provide 5 or 6 length's and parameters, depending on you robot type
Implements KNI::KatanaKinematics.
Definition at line 56 of file KatanaKinematics5M180.cpp.
metrics KNI::KatanaKinematics5M180::_length [private] |
Definition at line 72 of file KatanaKinematics5M180.h.
const int KNI::KatanaKinematics5M180::_nrOfPossibleSolutions = 1 [static, private] |
Definition at line 76 of file KatanaKinematics5M180.h.
Definition at line 73 of file KatanaKinematics5M180.h.
const double KNI::KatanaKinematics5M180::_tolerance = 0.001 [static, private] |
Definition at line 75 of file KatanaKinematics5M180.h.