#include <KatanaKinematics6M90G.h>
|
typedef std::vector< KinematicParameters > | parameter_container |
|
typedef std::vector< double > | angles |
| Being used to store angles (in radian).
|
|
typedef std::vector< double > | coordinates |
| To store coordinates.
|
|
typedef std::vector< double > | metrics |
| To store metrics, 'aka' the length's of the different segments of the robot.
|
|
typedef std::vector< int > | encoders |
| To store encoders.
|
|
◆ angles_container
◆ _setLength()
void KNI::KatanaKinematics6M90G::_setLength |
( |
metrics const & |
length | ) |
|
|
inlineprivate |
◆ _setParameters()
◆ angledef()
bool KNI::KatanaKinematics6M90G::angledef |
( |
angles_calc & |
a | ) |
const |
|
private |
◆ AnglePositionTest()
bool KNI::KatanaKinematics6M90G::AnglePositionTest |
( |
const angles_calc & |
a | ) |
const |
|
private |
◆ DK()
void KNI::KatanaKinematics6M90G::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.
◆ GripperTest()
bool KNI::KatanaKinematics6M90G::GripperTest |
( |
const position & |
p_gr, |
|
|
const angles_calc & |
angle |
|
) |
| const |
|
private |
◆ IK()
void KNI::KatanaKinematics6M90G::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.
◆ IK_b1b2costh3_6MS()
void KNI::KatanaKinematics6M90G::IK_b1b2costh3_6MS |
( |
angles_calc & |
a, |
|
|
const position & |
p |
|
) |
| const |
|
private |
◆ IK_theta234theta5()
void KNI::KatanaKinematics6M90G::IK_theta234theta5 |
( |
angles_calc & |
angle, |
|
|
const position & |
p_gr |
|
) |
| const |
|
private |
◆ init()
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.
◆ PositionTest6MS()
bool KNI::KatanaKinematics6M90G::PositionTest6MS |
( |
const angles_calc & |
a, |
|
|
const position & |
p |
|
) |
| const |
|
private |
◆ thetacomp()
◆ _length
metrics KNI::KatanaKinematics6M90G::_length |
|
private |
◆ _nrOfPossibleSolutions
const int KNI::KatanaKinematics6M90G::_nrOfPossibleSolutions |
|
staticprivate |
◆ _parameters
◆ _tolerance
const double KNI::KatanaKinematics6M90G::_tolerance |
|
staticprivate |
The documentation for this class was generated from the following file: