#include <orientation_solver.h>
Public Member Functions | |
void | getStats (std::vector< double > &stats) |
get a list of stats (number of calls etc.) | |
bool | isOrientationFeasible (const double *rpy, std::vector< double > &start, std::vector< double > &prefinal, std::vector< double > &final) |
check if a certain end effector orientation is feasible | |
void | orientationSolver (double *, double, double, double, double, double, double, double, double, double, int) |
Function calculates the forearm roll, wrist pitch and wrist roll for the PR2 robot hand which is required to attain a certain yaw, pitch and roll configuration in the world frame, starting at a certain yaw, pitch and roll configuration. Do not use for other robots unless the joints are of the same nature and the reference frame conventions are the same. | |
void | printStats () |
print stats to stdout | |
RPYSolver (SBPLArmModel *arm, SBPLCollisionSpace *cspace) | |
~RPYSolver () | |
Private Attributes | |
SBPLArmModel * | arm_ |
SBPLCollisionSpace * | cspace_ |
int | num_calls_ |
int | num_invalid_path_to_solution_ |
int | num_invalid_predictions_ |
int | num_invalid_solution_ |
bool | try_both_directions_ |
bool | verbose_ |
Definition at line 24 of file orientation_solver.h.
sbpl_arm_planner::RPYSolver::RPYSolver | ( | SBPLArmModel * | arm, | |
SBPLCollisionSpace * | cspace | |||
) |
Definition at line 23 of file orientation_solver.cpp.
sbpl_arm_planner::RPYSolver::~RPYSolver | ( | ) | [inline] |
Definition at line 30 of file orientation_solver.h.
void sbpl_arm_planner::RPYSolver::getStats | ( | std::vector< double > & | stats | ) |
get a list of stats (number of calls etc.)
bool sbpl_arm_planner::RPYSolver::isOrientationFeasible | ( | const double * | rpy, | |
std::vector< double > & | start, | |||
std::vector< double > & | prefinal, | |||
std::vector< double > & | final | |||
) |
check if a certain end effector orientation is feasible
Definition at line 367 of file orientation_solver.cpp.
void sbpl_arm_planner::RPYSolver::orientationSolver | ( | double * | output, | |
double | phi, | |||
double | theta, | |||
double | psi, | |||
double | yaw1, | |||
double | pitch1, | |||
double | roll1, | |||
double | yaw2, | |||
double | pitch2, | |||
double | roll2, | |||
int | attempt | |||
) |
Function calculates the forearm roll, wrist pitch and wrist roll for the PR2 robot hand which is required to attain a certain yaw, pitch and roll configuration in the world frame, starting at a certain yaw, pitch and roll configuration. Do not use for other robots unless the joints are of the same nature and the reference frame conventions are the same.
Somehow the wrist_roll calculations from within this code don't seem to be right. This problem has been temporarily solved by invoking FK from environment_robarm3d.cpp
Definition at line 36 of file orientation_solver.cpp.
void sbpl_arm_planner::RPYSolver::printStats | ( | ) |
print stats to stdout
Definition at line 485 of file orientation_solver.cpp.
SBPLArmModel* sbpl_arm_planner::RPYSolver::arm_ [private] |
Definition at line 52 of file orientation_solver.h.
Definition at line 54 of file orientation_solver.h.
int sbpl_arm_planner::RPYSolver::num_calls_ [private] |
Definition at line 60 of file orientation_solver.h.
Definition at line 66 of file orientation_solver.h.
int sbpl_arm_planner::RPYSolver::num_invalid_predictions_ [private] |
Definition at line 62 of file orientation_solver.h.
int sbpl_arm_planner::RPYSolver::num_invalid_solution_ [private] |
Definition at line 64 of file orientation_solver.h.
bool sbpl_arm_planner::RPYSolver::try_both_directions_ [private] |
Definition at line 58 of file orientation_solver.h.
bool sbpl_arm_planner::RPYSolver::verbose_ [private] |
Definition at line 56 of file orientation_solver.h.