#include <FRICheck.hh>
Public Types | |
enum | HandSide { NONE = 0, LEFT = 1, RIGHT = 2 } |
Public Member Functions | |
void | adjust (float *pos, float rate, float safety_factor) |
adjust desired position according to past commands. | |
FRICheck () | |
float * | pos () |
robot joint angles | |
void | setHandLimits (double *j5_angles, double *j6_min, double *j6_max, int length) |
Set the array for hand limits testing. | |
bool | setHandSide (HandSide side) |
convenience method to set the hand limit checking | |
void | setPos (float *pos) |
set robot joint angles | |
Static Public Attributes | |
static double | j5_angles_left [24] = {-130.0 DEG, -120.0 DEG, -100 DEG, -80 DEG, -60 DEG, -50 DEG, -40 DEG, -35 DEG, -30 DEG, -25 DEG, -20 DEG, -10 DEG, 0 DEG, 10 DEG, 20 DEG, 30 DEG, 40 DEG, 50 DEG, 60 DEG, 70 DEG, 80 DEG,100 DEG, 120 DEG, 130 DEG} |
static double | j5_angles_right [24] = {-130 DEG,-120 DEG, -100 DEG, -80 DEG, -60 DEG, -50 DEG, -40 DEG, -35 DEG, -30 DEG, -25 DEG, -20 DEG, -10 DEG, 0 DEG, 10 DEG, 20 DEG, 30 DEG, 40 DEG, 50 DEG, 60 DEG, 70 DEG, 80 DEG, 100 DEG, 120 DEG, 130 DEG} |
static double | j6_max_left [24] = {-2 DEG, 0 DEG, 0 DEG, 0 DEG, 0 DEG, 4 DEG, 20 DEG, 47 DEG, 65 DEG, 78 DEG, 90 DEG, 110 DEG, 170 DEG, 170 DEG, 170 DEG, 142 DEG, 140 DEG, 140 DEG, 134 DEG, 134 DEG, 138 DEG, 138 DEG, 125 DEG, 112 DEG} |
static double | j6_max_right [24] = { 90 DEG, 95 DEG, 84 DEG, 90 DEG, 96 DEG, 102 DEG, 123 DEG, 145 DEG, 156 DEG, 160 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG} |
static double | j6_min_left [24] = {-170 DEG, -170 DEG, -170 DEG, -170 DEG, -170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-155 DEG,-122 DEG,-97 DEG,-90 DEG,-86 DEG,-82 DEG,-82 DEG,-82 DEG, -87 DEG} |
static double | j6_min_right [24] = {-115 DEG, -130 DEG, -138 DEG, -140 DEG, -140 DEG, -138 DEG, -132 DEG, -132 DEG, -135 DEG, -150 DEG, -165 DEG, -170 DEG, -170 DEG, -170 DEG, -170 DEG, -70 DEG, -27 DEG, -12 DEG, -5.5 DEG, -3 DEG, -4 DEG, -3 DEG, 0 DEG} |
static const int | length_left = 24 |
static const int | length_right = 24 |
static const float | lim_acc_ [7] = {1200 DEG, 1200 DEG, 1600 DEG, 1600 DEG, 2500 DEG, 4400 DEG, 4400 DEG} |
static const float | lim_high_ [7] = { 170 DEG, 120 DEG, 170 DEG, 120 DEG, 170 DEG, 120 DEG, 170 DEG} |
static const float | lim_low_ [7] = {-170 DEG, -120 DEG, -170 DEG, -120 DEG, -170 DEG, -120 DEG, -170 DEG} |
static const float | lim_vel_ [7] = {120 DEG, 120 DEG, 160 DEG, 160 DEG, 250 DEG, 220 DEG, 220 DEG} |
static const float | margin_ = 0.5 DEG |
Private Member Functions | |
int | find_index (float j5) |
void | hand_check (float vel[7], float vel_old[7], float pos[7], float rate) |
double | interpolate (double x, double x1, double y1, double x2, double y2) |
double | max_j6 (float j5, int index) |
double | min_j6 (float j5, int index) |
void | safety_check (float vel[7], float vel_old[7], float pos[7], float rate, float safety_factor) |
double | slope (double x1, double y1, double x2, double y2) |
double | slope_max_j6 (int index) |
double | slope_min_j6 (int index) |
Private Attributes | |
int | j56_length_ |
double * | j5_angles_ |
double * | j6_max_ |
double * | j6_min_ |
float | pos_ [7] |
float | vel_old_ [7] |
Friends | |
class | FRICheck_test |
Definition at line 4 of file FRICheck.hh.
enum FRICheck::HandSide |
Definition at line 57 of file FRICheck.hh.
Definition at line 18 of file FRICheck.cc.
void FRICheck::adjust | ( | float * | pos, |
float | rate, | ||
float | safety_factor | ||
) |
adjust desired position according to past commands.
Definition at line 32 of file FRICheck.cc.
int FRICheck::find_index | ( | float | j5 | ) | [private] |
Definition at line 87 of file FRICheck.cc.
void FRICheck::hand_check | ( | float | vel[7], |
float | vel_old[7], | ||
float | pos[7], | ||
float | rate | ||
) | [private] |
Definition at line 138 of file FRICheck.cc.
double FRICheck::interpolate | ( | double | x, |
double | x1, | ||
double | y1, | ||
double | x2, | ||
double | y2 | ||
) | [private] |
Definition at line 74 of file FRICheck.cc.
double FRICheck::max_j6 | ( | float | j5, |
int | index | ||
) | [private] |
Definition at line 129 of file FRICheck.cc.
double FRICheck::min_j6 | ( | float | j5, |
int | index | ||
) | [private] |
Definition at line 121 of file FRICheck.cc.
float* FRICheck::pos | ( | ) | [inline] |
robot joint angles
Definition at line 52 of file FRICheck.hh.
void FRICheck::safety_check | ( | float | vel[7], |
float | vel_old[7], | ||
float | pos[7], | ||
float | rate, | ||
float | safety_factor | ||
) | [private] |
Definition at line 190 of file FRICheck.cc.
void FRICheck::setHandLimits | ( | double * | j5_angles, |
double * | j6_min, | ||
double * | j6_max, | ||
int | length | ||
) |
Set the array for hand limits testing.
Definition at line 249 of file FRICheck.cc.
convenience method to set the hand limit checking
Definition at line 257 of file FRICheck.cc.
void FRICheck::setPos | ( | float * | pos | ) |
set robot joint angles
Definition at line 26 of file FRICheck.cc.
double FRICheck::slope | ( | double | x1, |
double | y1, | ||
double | x2, | ||
double | y2 | ||
) | [private] |
Definition at line 82 of file FRICheck.cc.
double FRICheck::slope_max_j6 | ( | int | index | ) | [private] |
Definition at line 115 of file FRICheck.cc.
double FRICheck::slope_min_j6 | ( | int | index | ) | [private] |
Definition at line 110 of file FRICheck.cc.
friend class FRICheck_test [friend] |
Definition at line 47 of file FRICheck.hh.
int FRICheck::j56_length_ [private] |
Definition at line 33 of file FRICheck.hh.
double* FRICheck::j5_angles_ [private] |
Definition at line 30 of file FRICheck.hh.
double FRICheck::j5_angles_left = {-130.0 DEG, -120.0 DEG, -100 DEG, -80 DEG, -60 DEG, -50 DEG, -40 DEG, -35 DEG, -30 DEG, -25 DEG, -20 DEG, -10 DEG, 0 DEG, 10 DEG, 20 DEG, 30 DEG, 40 DEG, 50 DEG, 60 DEG, 70 DEG, 80 DEG,100 DEG, 120 DEG, 130 DEG} [static] |
Definition at line 16 of file FRICheck.hh.
double FRICheck::j5_angles_right = {-130 DEG,-120 DEG, -100 DEG, -80 DEG, -60 DEG, -50 DEG, -40 DEG, -35 DEG, -30 DEG, -25 DEG, -20 DEG, -10 DEG, 0 DEG, 10 DEG, 20 DEG, 30 DEG, 40 DEG, 50 DEG, 60 DEG, 70 DEG, 80 DEG, 100 DEG, 120 DEG, 130 DEG} [static] |
Definition at line 21 of file FRICheck.hh.
double* FRICheck::j6_max_ [private] |
Definition at line 32 of file FRICheck.hh.
double FRICheck::j6_max_left = {-2 DEG, 0 DEG, 0 DEG, 0 DEG, 0 DEG, 4 DEG, 20 DEG, 47 DEG, 65 DEG, 78 DEG, 90 DEG, 110 DEG, 170 DEG, 170 DEG, 170 DEG, 142 DEG, 140 DEG, 140 DEG, 134 DEG, 134 DEG, 138 DEG, 138 DEG, 125 DEG, 112 DEG} [static] |
Definition at line 18 of file FRICheck.hh.
double FRICheck::j6_max_right = { 90 DEG, 95 DEG, 84 DEG, 90 DEG, 96 DEG, 102 DEG, 123 DEG, 145 DEG, 156 DEG, 160 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG, 170 DEG} [static] |
Definition at line 22 of file FRICheck.hh.
double* FRICheck::j6_min_ [private] |
Definition at line 31 of file FRICheck.hh.
double FRICheck::j6_min_left = {-170 DEG, -170 DEG, -170 DEG, -170 DEG, -170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-170 DEG,-155 DEG,-122 DEG,-97 DEG,-90 DEG,-86 DEG,-82 DEG,-82 DEG,-82 DEG, -87 DEG} [static] |
Definition at line 17 of file FRICheck.hh.
double FRICheck::j6_min_right = {-115 DEG, -130 DEG, -138 DEG, -140 DEG, -140 DEG, -138 DEG, -132 DEG, -132 DEG, -135 DEG, -150 DEG, -165 DEG, -170 DEG, -170 DEG, -170 DEG, -170 DEG, -70 DEG, -27 DEG, -12 DEG, -5.5 DEG, -3 DEG, -4 DEG, -3 DEG, 0 DEG} [static] |
Definition at line 23 of file FRICheck.hh.
const int FRICheck::length_left = 24 [static] |
Definition at line 19 of file FRICheck.hh.
const int FRICheck::length_right = 24 [static] |
Definition at line 24 of file FRICheck.hh.
const float FRICheck::lim_acc_ = {1200 DEG, 1200 DEG, 1600 DEG, 1600 DEG, 2500 DEG, 4400 DEG, 4400 DEG} [static] |
Definition at line 13 of file FRICheck.hh.
const float FRICheck::lim_high_ = { 170 DEG, 120 DEG, 170 DEG, 120 DEG, 170 DEG, 120 DEG, 170 DEG} [static] |
Definition at line 11 of file FRICheck.hh.
const float FRICheck::lim_low_ = {-170 DEG, -120 DEG, -170 DEG, -120 DEG, -170 DEG, -120 DEG, -170 DEG} [static] |
Definition at line 10 of file FRICheck.hh.
const float FRICheck::lim_vel_ = {120 DEG, 120 DEG, 160 DEG, 160 DEG, 250 DEG, 220 DEG, 220 DEG} [static] |
Definition at line 12 of file FRICheck.hh.
const float FRICheck::margin_ = 0.5 DEG [static] |
Definition at line 9 of file FRICheck.hh.
float FRICheck::pos_[7] [private] |
Definition at line 28 of file FRICheck.hh.
float FRICheck::vel_old_[7] [private] |
Definition at line 27 of file FRICheck.hh.