A kinematics class for general serial links.
More...
#include <kinematic_chain.h>
|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | KinematicChain () |
| Default Constuctor.
|
|
| KinematicChain (std::vector< rb::kin::Link * > &links, rb::math::Matrix4 base=rb::math::Matrix4::Identity(), rb::math::Matrix4 tool=rb::math::Matrix4::Identity(), rb::math::Vector3 gravity={0., 0., rb::math::GRAVITY}, std::string manufactor="None", std::string model="None") |
| Constructor with a Links vector and other parameter.
|
|
virtual | ~KinematicChain () |
| Destructor.
|
|
virtual ArmPose | forwardKin (const rb::math::VectorX &q, const bool update=true) |
| Compute forward Kinematics for given angle, update each joint value, and return current current position and orientation of TCP. More...
|
|
virtual IK_RESULT | inverseKin (const rb::math::Matrix4 &world_tcp_tf, rb::math::VectorX &joints, ArmAxisValue &all_sols)=0 |
| Compute inverse kinematics for given tranformation matrix of TCP in Cartesian coordination system. More...
|
|
rb::math::Matrix4 | homoTrans (double &A, double &alpha, double &D, const double &theta) |
| Compute homogeneous transformation matrix for given link properties, and return the matrix. More...
|
|
bool | setTool (const ArmPose &tool_pose) |
| Set the HT matrix of the offset b/w the arm flange and equipped tool or end-effector. More...
|
|
bool | getTool (ArmPose &tool_pose) const |
| Get the HT matrix of the offset b/w the arm flange and equipped tool or end-effector. More...
|
|
void | setBase (const rb::math::Matrix4 &base) |
| Set the Homogeneous Transformation matrix of the working base of the robot arm. More...
|
|
rb::math::Matrix4 | getBase (void) const |
| Get the HT matrix of the working base of the robot arm. More...
|
|
rb::math::Matrix4 | getTCP (void) const |
| Get the HT matrix of TCP w.r.t world coordination. More...
|
|
void | setDOF (void) |
| Set the degree of freedom according to the property of links. More...
|
|
int | getDOF (void) const |
| Get the degree of freedom of this kinematic chain. More...
|
|
A kinematics class for general serial links.
KinematicChain implement the kinematics of general serial links
Compute forward Kinematics for given angle, update each joint value, and return current current position and orientation of TCP.
- Parameters
-
q | An array of joint value (degree or mm). |
update | A boolean to check if update the value of joints and frames. |
- Returns
- a structure include position and orientation of TCP.
Reimplemented in rb::kin::Artic.
int rb::kin::KinematicChain::getDOF |
( |
void |
| ) |
const |
Get the degree of freedom of this kinematic chain.
- Returns
Get the HT matrix of TCP w.r.t world coordination.
- Returns
bool rb::kin::KinematicChain::getTool |
( |
ArmPose & |
tool_pose | ) |
const |
Get the HT matrix of the offset b/w the arm flange and equipped tool or end-effector.
- Parameters
-
- Returns
- bool Check if setting success
rb::math::Matrix4 rb::kin::KinematicChain::homoTrans |
( |
double & |
A, |
|
|
double & |
alpha, |
|
|
double & |
D, |
|
|
const double & |
theta |
|
) |
| |
Compute homogeneous transformation matrix for given link properties, and return the matrix.
Building HT matrix A function to build homogeneous transformation matrix for each link.
- Parameters
-
A | Given link length. |
alpha | Given link twist. |
D | Given link offset. |
theta | Given joint angle. |
- Returns
- Homogeneous transformation matrix of given link properties.
-
Matrix4
Compute inverse kinematics for given tranformation matrix of TCP in Cartesian coordination system.
- Returns
- IK_RESULT a enumerator indicates the result of inverse kinematics.
- Parameters
-
world_tcp_tf | Transformation of tcp in world coordination. |
joints | The best fittest solution. |
all_sols | A data structure to store all possible solutions. |
Implemented in rb::kin::Artic.
Set the Homogeneous Transformation matrix of the working base of the robot arm.
- Parameters
-
base | a Homogeneous Transformation matrix from World -> the robot base. |
- Returns
void rb::kin::KinematicChain::setDOF |
( |
void |
| ) |
|
Set the degree of freedom according to the property of links.
- Returns
bool rb::kin::KinematicChain::setTool |
( |
const ArmPose & |
tool_pose | ) |
|
Set the HT matrix of the offset b/w the arm flange and equipped tool or end-effector.
- Parameters
-
- Returns
- Check if setting success
< A vector of HT matrix to the pose of each joint and TCP.
HT matrix of TCP with respected to world coordination.
The documentation for this class was generated from the following files: