#include <KinematicsHandler.h>
Inheritance diagram for OSCAR::KinematicsHandler:

Public Methods | |
| KinematicsHandler (const OSCAR::DHData &dhData, const OSCAR::Vector &offset, const OSCAR::Limits &limits, OSCAR::OSCARError &err=DUMMY_ERROR(OSCAR::noError)) | |
| virtual | ~KinematicsHandler () |
| virtual bool | Initialize (const OSCAR::JointVector &initialJoints, OSCAR::AngleUnits angle=OSCAR::Radians) |
| virtual void | SetPartCoordinates (const OSCAR::Xform &partCoordinates) |
| virtual const OSCAR::Xform & | GetPartCoordinates () const |
| virtual void | SetCartesianCoordinates (CartesianCoordinateMode cartesianControlMode) |
| virtual CartesianCoordinateMode | GetCartesianCoordinates () const |
| virtual bool | GetJointState (OSCAR::JointVector ¤tJointPosition, OSCAR::AngleUnits angle=OSCAR::Radians) |
| virtual bool | GetCartesianState (OSCAR::Xform ¤tCartesianCoordinates) |
| virtual bool | GetCartesianState (OSCAR::HandPose ¤tHand, OSCAR::AngleUnits angle=OSCAR::Radians) |
| virtual bool | UpdateJointState (const OSCAR::Xform &targetHand)=0 |
| virtual bool | UpdateJointState (const OSCAR::HandPose &targetHand, OSCAR::AngleUnits angle=OSCAR::Radians)=0 |
| virtual bool | UpdateHandState (const OSCAR::JointVector &targetJoints, OSCAR::AngleUnits angle=OSCAR::Radians)=0 |
| bool | IsLimitCheckingEnabled () const |
| void | EnableLimitChecking (bool enable) |
| const std::vector< bool > & | GetLimitViolationDetails (OSCAR::String &description) const |
| unsigned int | GetDOF () const |
| virtual bool | SetTool (const OSCAR::Xform &_toolPose) |
| virtual bool | SetBase (const OSCAR::Xform &_basePose) |
| virtual OSCAR::Xform | GetTool () const |
| virtual OSCAR::Xform | GetBase () const |
| virtual bool | ComputeFK (const JointVector &inputJointPosition, Xform &handPosition, OSCAR::AngleUnits=Radians)=0 |
| virtual bool | ComputeFK (const JointVector &inputJointPosition, HandPose &handPosition, OSCAR::AngleUnits=Radians)=0 |
| virtual bool | ComputeIK (const HandPose &inputHandPosition, JointVector &jointPosition, OSCAR::AngleUnits=Radians, bool Interpolate=false)=0 |
| virtual bool | ComputeIK (const Xform &inputHandPosition, JointVector &jointPosition, OSCAR::AngleUnits=Radians, bool Interpolate=false)=0 |
Protected Methods | |
| bool | makeOffsetAdjustment (OSCAR::Vector &jointPos, bool toDHReference=true) |
| bool | checkJointPositionLimits (const OSCAR::JointVector &jointValues) |
| bool | convertJointUnits (OSCAR::Vector &jointValues, bool toRadians=true) const |
| KinematicsHandler (const KinematicsHandler &) | |
Protected Attributes | |
| bool | limitCheck |
| unsigned int | DOF |
| CartesianCoordinateMode | cartesianCoordinateMode |
| OSCAR::DHData | dhData |
| OSCAR::JointVector * | currentPosition |
| OSCAR::JointVector * | previousPosition |
| OSCAR::Vector * | offset |
| OSCAR::Xform | currentHand |
| OSCAR::Xform | previousHand |
| OSCAR::Xform | toolPose |
| OSCAR::Xform | basePose |
| OSCAR::Xform | partPose |
| OSCAR::Limits * | positionLimits |
| std::vector< bool > | limitStatus |
| OSCAR::String | limitViolationDescription |
|
||||||||||||||||||||
|
Constructor. TODO: Limits are expressed in Degrees while everything else defaults to Radians. This is the constructor for an object of type KinematicsHandler. This is an abstract class and cannot be instantiated.
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
Computes the forward position solution without altering the joint state or the cartesian state of the robot.
Implemented in OSCAR::GeneralKinematicsHandler. |
|
||||||||||||||||
|
Computes the forward position solution without altering the joint state or the cartesian state of the robot.
Implemented in OSCAR::GeneralKinematicsHandler. |
|
||||||||||||||||||||
|
Computes the inverse position solution without altering the joint state or the cartesian state of the robot.
Implemented in OSCAR::GeneralKinematicsHandler, and OSCAR::RedundantKinematicsHandler. |
|
||||||||||||||||||||
|
Computes the inverse position solution without altering the joint state or the cartesian state of the robot.
Implemented in OSCAR::GeneralKinematicsHandler, and OSCAR::RedundantKinematicsHandler. |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
Get the current coordinate frame for cartesian positions. Specifies whether the cartesian position is currently computed (or input) in World, Tool or Part coordinates.
|
|
||||||||||||
|
Get the current cartesian state of the robot.
|
|
|
Get the current cartesian state of the robot.
|
|
|
Get the degrees of freedom (DOF) associated with the object.
|
|
||||||||||||
|
Get the current joint position of the robot. currentJointPosition A JointVector of size DOF that on return holds the current joint position of the robot in robot coordinates. This is a valid joint position that has been checked for position limit violations.
|
|
|
|
|
|
Queries the part coordinates.
|
|
|
|
|
||||||||||||
|
Sets the initial state of the object. This method should be called prior to any other calls. Use this methoid to initialize the object with the initial position of the robot. The current hand position and current joint position of the robot is accordingly updated.
Reimplemented in OSCAR::GeneralKinematicsHandler. |
|
|
|
|
||||||||||||
|
|
|
|
Reimplemented in OSCAR::GeneralKinematicsHandler. |
|
|
Set the coordinate frame in which cartesian positions are specified.
|
|
|
Defines the position and orientation of the part as expressed in the base frame of the robot.
|
|
|
Reimplemented in OSCAR::GeneralKinematicsHandler. |
|
||||||||||||
|
child classes should implement this. Basically, perform FK. Implementation should check for limits if limitCheck is set to true Implemented in OSCAR::GeneralKinematicsHandler. |
|
||||||||||||
|
child classes should implement this. Basically, perform FK. Implementation should check for limits if limitCheck is set to true Implemented in OSCAR::GeneralKinematicsHandler, and OSCAR::RedundantKinematicsHandler. |
|
|
child classes should implement this. Basically, perform IK. Implementation should check for limits if limitCheck is set to true Implemented in OSCAR::GeneralKinematicsHandler, and OSCAR::RedundantKinematicsHandler. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| RRG Homepage | OSCAR Overview | OSCAR Tutorials | Simulations |