#include <KatanaKinematics6M90T.h>
List of all members.
Classes |
struct | angles_calc |
struct | position |
Public Member Functions |
void | init (metrics const &length, parameter_container const ¶meters) |
| Initialize the parameters for the calculations.
|
void | DK (coordinates &solution, encoders const ¤t_encoders) const |
| Direct Kinematic.
|
void | IK (encoders::iterator solution, coordinates const &pose, encoders const &cur_angles) const |
| Inverse Kinematic.
|
Private Types |
typedef std::vector< angles_calc > | angles_container |
Private Member Functions |
void | _setLength (metrics const &length) |
void | _setParameters (parameter_container const ¶meters) |
void | IK_theta234theta5 (angles_calc &angle, const position &p_gr) const |
void | IK_b1b2costh3_6MS (angles_calc &a, const position &p) const |
void | thetacomp (angles_calc &a, const position &p_m, const coordinates &pose) const |
bool | angledef (angles_calc &a) const |
bool | GripperTest (const position &p_gr, const angles_calc &angle) const |
bool | AnglePositionTest (const angles_calc &a) const |
bool | PositionTest6MS (const double &theta1, const double &theta2, const double &theta3, const double &theta234, const position &p) const |
double | findFirstEqualAngle (const angles &v1, const angles &v2) const |
Private Attributes |
metrics | _length |
parameter_container | _parameters |
Static Private Attributes |
static const double | _tolerance |
static const int | _nrOfPossibleSolutions |
Detailed Description
Member Typedef Documentation
Member Function Documentation
void KNI::KatanaKinematics6M90T::_setLength |
( |
metrics const & |
length | ) |
[inline, private] |
void KNI::KatanaKinematics6M90T::_setParameters |
( |
parameter_container const & |
parameters | ) |
[inline, private] |
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.
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.
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.
bool KNI::KatanaKinematics6M90T::PositionTest6MS |
( |
const double & |
theta1, |
|
|
const double & |
theta2, |
|
|
const double & |
theta3, |
|
|
const double & |
theta234, |
|
|
const position & |
p |
|
) |
| const [private] |
Member Data Documentation
The documentation for this class was generated from the following file: