Useful for calculating gripper-specific kinematic values. Based on Aaron Hulse's equations. More...
#include <GripperKinematics.h>
Public Member Functions | |
double | getAngleOffSingular (const double &encoderAngle, const double &jawAngle) |
Calculates the "over center value" gamma. | |
double | getEncoderAngle (const double &jawAngle) |
Calculates encoder angle using a 3rd order polynomial. | |
double | getMotorCurrentLimit (const double &encoderAngle, const double &jawAngle, const double &forceLimit) |
Calculates the motor current limit given the current orientation of the gripper. | |
GripperKinematics () | |
GripperKinematics (const double l1, const double l2, const double l3, const double l4, const double minSliderPosition, const double ballScrewEfficiency, const double ballScrewMotionRatio, const double jawAngleZeroAdj1, const double jawAngleZeroAdj2, const double gripperLength, const double motorTorqueConstant, const double overCenterAngle, const double overCenterStatusBuffer, double coulombFrictionCurrentOffset, const double closeToZero, const bool beSilent=false) | |
All distance values are provided in inches, and converted to meters in the constructor. | |
bool | isOverCenter (const double &encoderAngle, const double &jawAngle) |
Determines whether the gripper is mechanically over center. | |
bool | isOverCenterStatus (const double &encoderAngle, const double &jawAngle) |
Determines whether the gripper is mechanically over center. | |
void | setParameters (const double l1, const double l2, const double l3, const double l4, const double minSliderPosition, const double ballScrewEfficiency, const double ballScrewMotionRatio, const double jawAngleZeroAdj1, const double jawAngleZeroAdj2, const double gripperLength, const double motorTorqueConstant, const double overCenterAngle, const double overCenterStatusBuffer, double coulombFrictionCurrentOffset, const double closeToZero, const bool beSilent=false) |
virtual | ~GripperKinematics () |
Private Attributes | |
double | BALL_SCREW_EFFICIENCY |
double | BALL_SCREW_FORCE_RATIO |
double | BALL_SCREW_MOTION_RATIO |
bool | BE_SILENT |
double | CLOSE_TO_ZERO |
double | COULOMB_FRICTION_CURRENT_OFFSET |
double | GRIPPER_LENGTH |
double | JAW_ANGLE_ZERO_ADJ |
double | L1 |
double | L2 |
double | L3 |
double | L4 |
double | MIN_SLIDER_POSITION |
double | MOTOR_TORQUE_CONSTANT |
double | OVER_CENTER_ANGLE |
double | OVER_CENTER_STATUS_BUFFER |
Useful for calculating gripper-specific kinematic values. Based on Aaron Hulse's equations.
Definition at line 14 of file GripperKinematics.h.
GripperKinematics::GripperKinematics | ( | ) | [inline] |
Definition at line 17 of file GripperKinematics.h.
GripperKinematics::GripperKinematics | ( | const double | l1, |
const double | l2, | ||
const double | l3, | ||
const double | l4, | ||
const double | minSliderPosition, | ||
const double | ballScrewEfficiency, | ||
const double | ballScrewMotionRatio, | ||
const double | jawAngleZeroAdj1, | ||
const double | jawAngleZeroAdj2, | ||
const double | gripperLength, | ||
const double | motorTorqueConstant, | ||
const double | overCenterAngle, | ||
const double | overCenterStatusBuffer, | ||
double | coulombFrictionCurrentOffset, | ||
const double | closeToZero, | ||
const bool | beSilent = false |
||
) |
All distance values are provided in inches, and converted to meters in the constructor.
Definition at line 9 of file GripperKinematics.cpp.
virtual GripperKinematics::~GripperKinematics | ( | ) | [inline, virtual] |
Definition at line 22 of file GripperKinematics.h.
double GripperKinematics::getAngleOffSingular | ( | const double & | encoderAngle, |
const double & | jawAngle | ||
) |
Calculates the "over center value" gamma.
Definition at line 54 of file GripperKinematics.cpp.
double GripperKinematics::getEncoderAngle | ( | const double & | jawAngle | ) |
Calculates encoder angle using a 3rd order polynomial.
Definition at line 46 of file GripperKinematics.cpp.
double GripperKinematics::getMotorCurrentLimit | ( | const double & | encoderAngle, |
const double & | jawAngle, | ||
const double & | forceLimit | ||
) |
Calculates the motor current limit given the current orientation of the gripper.
Definition at line 259 of file GripperKinematics.cpp.
bool GripperKinematics::isOverCenter | ( | const double & | encoderAngle, |
const double & | jawAngle | ||
) |
Determines whether the gripper is mechanically over center.
Definition at line 243 of file GripperKinematics.cpp.
bool GripperKinematics::isOverCenterStatus | ( | const double & | encoderAngle, |
const double & | jawAngle | ||
) |
Determines whether the gripper is mechanically over center.
Definition at line 251 of file GripperKinematics.cpp.
void GripperKinematics::setParameters | ( | const double | l1, |
const double | l2, | ||
const double | l3, | ||
const double | l4, | ||
const double | minSliderPosition, | ||
const double | ballScrewEfficiency, | ||
const double | ballScrewMotionRatio, | ||
const double | jawAngleZeroAdj1, | ||
const double | jawAngleZeroAdj2, | ||
const double | gripperLength, | ||
const double | motorTorqueConstant, | ||
const double | overCenterAngle, | ||
const double | overCenterStatusBuffer, | ||
double | coulombFrictionCurrentOffset, | ||
const double | closeToZero, | ||
const bool | beSilent = false |
||
) |
Definition at line 20 of file GripperKinematics.cpp.
double GripperKinematics::BALL_SCREW_EFFICIENCY [private] |
Definition at line 41 of file GripperKinematics.h.
double GripperKinematics::BALL_SCREW_FORCE_RATIO [private] |
Definition at line 43 of file GripperKinematics.h.
double GripperKinematics::BALL_SCREW_MOTION_RATIO [private] |
Definition at line 42 of file GripperKinematics.h.
bool GripperKinematics::BE_SILENT [private] |
Definition at line 51 of file GripperKinematics.h.
double GripperKinematics::CLOSE_TO_ZERO [private] |
Definition at line 50 of file GripperKinematics.h.
double GripperKinematics::COULOMB_FRICTION_CURRENT_OFFSET [private] |
Definition at line 49 of file GripperKinematics.h.
double GripperKinematics::GRIPPER_LENGTH [private] |
Definition at line 45 of file GripperKinematics.h.
double GripperKinematics::JAW_ANGLE_ZERO_ADJ [private] |
Definition at line 44 of file GripperKinematics.h.
double GripperKinematics::L1 [private] |
Definition at line 36 of file GripperKinematics.h.
double GripperKinematics::L2 [private] |
Definition at line 37 of file GripperKinematics.h.
double GripperKinematics::L3 [private] |
Definition at line 38 of file GripperKinematics.h.
double GripperKinematics::L4 [private] |
Definition at line 39 of file GripperKinematics.h.
double GripperKinematics::MIN_SLIDER_POSITION [private] |
Definition at line 40 of file GripperKinematics.h.
double GripperKinematics::MOTOR_TORQUE_CONSTANT [private] |
Definition at line 46 of file GripperKinematics.h.
double GripperKinematics::OVER_CENTER_ANGLE [private] |
Definition at line 47 of file GripperKinematics.h.
double GripperKinematics::OVER_CENTER_STATUS_BUFFER [private] |
Definition at line 48 of file GripperKinematics.h.