#include <KatanaKinematics6M90T.h>
|
void | _setLength (metrics const &length) |
|
void | _setParameters (parameter_container const ¶meters) |
|
bool | angledef (angles_calc &a) const |
|
bool | AnglePositionTest (const angles_calc &a) const |
|
double | findFirstEqualAngle (const angles &v1, const angles &v2) const |
|
bool | GripperTest (const position &p_gr, const angles_calc &angle) const |
|
void | IK_b1b2costh3_6MS (angles_calc &a, const position &p) const |
|
void | IK_theta234theta5 (angles_calc &angle, const position &p_gr) const |
|
bool | PositionTest6MS (const double &theta1, const double &theta2, const double &theta3, const double &theta234, const position &p) const |
|
void | thetacomp (angles_calc &a, const position &p_m, const coordinates &pose) const |
|
void KNI::KatanaKinematics6M90T::_setLength |
( |
metrics const & |
length | ) |
|
|
inlineprivate |
bool KNI::KatanaKinematics6M90T::angledef |
( |
angles_calc & |
a | ) |
const |
|
private |
bool KNI::KatanaKinematics6M90T::AnglePositionTest |
( |
const angles_calc & |
a | ) |
const |
|
private |
void KNI::KatanaKinematics6M90T::DK |
( |
coordinates & |
solution, |
|
|
encoders const & |
current_encoders |
|
) |
| const |
|
virtual |
Direct Kinematic. Calculates the actual position in cartesian coordinates using the given encoders
- Parameters
-
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 |
- Note
- strong guarantee provided
Implements KNI::KatanaKinematics.
Definition at line 31 of file KatanaKinematics6M90T.cpp.
double KNI::KatanaKinematics6M90T::findFirstEqualAngle |
( |
const angles & |
v1, |
|
|
const angles & |
v2 |
|
) |
| const |
|
private |
bool KNI::KatanaKinematics6M90T::GripperTest |
( |
const position & |
p_gr, |
|
|
const angles_calc & |
angle |
|
) |
| const |
|
private |
void KNI::KatanaKinematics6M90T::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.
- Parameters
-
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 |
- Note
- strong guarantee provided
Implements KNI::KatanaKinematics.
Definition at line 404 of file KatanaKinematics6M90T.cpp.
void KNI::KatanaKinematics6M90T::IK_b1b2costh3_6MS |
( |
angles_calc & |
a, |
|
|
const position & |
p |
|
) |
| const |
|
private |
void KNI::KatanaKinematics6M90T::IK_theta234theta5 |
( |
angles_calc & |
angle, |
|
|
const position & |
p_gr |
|
) |
| const |
|
private |
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 131 of file KatanaKinematics6M90T.cpp.
bool KNI::KatanaKinematics6M90T::PositionTest6MS |
( |
const double & |
theta1, |
|
|
const double & |
theta2, |
|
|
const double & |
theta3, |
|
|
const double & |
theta234, |
|
|
const position & |
p |
|
) |
| const |
|
private |
metrics KNI::KatanaKinematics6M90T::_length |
|
private |
const int KNI::KatanaKinematics6M90T::_nrOfPossibleSolutions = 8 |
|
staticprivate |
const double KNI::KatanaKinematics6M90T::_tolerance = 0.001 |
|
staticprivate |
The documentation for this class was generated from the following files: