#include <trac_ik.hpp>
Public Member Functions | |
int | CartToJnt (const KDL::JntArray &q_init, const KDL::Frame &p_in, KDL::JntArray &q_out, const KDL::Twist &bounds=KDL::Twist::Zero()) |
bool | getKDLChain (KDL::Chain &chain_) |
bool | getKDLLimits (KDL::JntArray &lb_, KDL::JntArray &ub_) |
void | SetSolveType (SolveType _type) |
TRAC_IK (const KDL::Chain &_chain, const KDL::JntArray &_q_min, const KDL::JntArray &_q_max, double _maxtime=0.005, double _eps=1e-5, SolveType _type=Speed) | |
TRAC_IK (const std::string &base_link, const std::string &tip_link, const std::string &URDF_param="/robot_description", double _maxtime=0.005, double _eps=1e-5, SolveType _type=Speed) | |
~TRAC_IK () | |
Static Public Member Functions | |
static double | JointErr (const KDL::JntArray &arr1, const KDL::JntArray &arr2) |
Private Member Functions | |
void | initialize () |
double | manipPenalty (const KDL::JntArray &) |
double | ManipValue1 (const KDL::JntArray &) |
double | ManipValue2 (const KDL::JntArray &) |
bool | myEqual (const KDL::JntArray &a, const KDL::JntArray &b) |
void | normalize_limits (const KDL::JntArray &seed, KDL::JntArray &solution) |
void | normalize_seed (const KDL::JntArray &seed, KDL::JntArray &solution) |
bool | runKDL (const KDL::JntArray &q_init, const KDL::Frame &p_in) |
bool | runNLOPT (const KDL::JntArray &q_init, const KDL::Frame &p_in) |
bool | unique_solution (const KDL::JntArray &sol) |
Static Private Member Functions | |
static double | fRand (double min, double max) |
Private Attributes | |
KDL::Twist | bounds |
KDL::Chain | chain |
double | eps |
std::vector< std::pair< double, uint > > | errors |
boost::scoped_ptr < KDL::ChainIkSolverPos_TL > | iksolver |
bool | initialized |
boost::asio::io_service | io_service |
boost::scoped_ptr < KDL::ChainJntToJacSolver > | jacsolver |
KDL::JntArray | lb |
double | maxtime |
boost::mutex | mtx_ |
boost::scoped_ptr < NLOPT_IK::NLOPT_IK > | nl_solver |
std::vector< KDL::JntArray > | solutions |
SolveType | solvetype |
boost::posix_time::ptime | start_time |
boost::thread_group | threads |
std::vector< KDL::BasicJointType > | types |
KDL::JntArray | ub |
boost::asio::io_service::work | work |
Definition at line 46 of file trac_ik.hpp.
TRAC_IK::TRAC_IK::TRAC_IK | ( | const KDL::Chain & | _chain, |
const KDL::JntArray & | _q_min, | ||
const KDL::JntArray & | _q_max, | ||
double | _maxtime = 0.005 , |
||
double | _eps = 1e-5 , |
||
SolveType | _type = Speed |
||
) |
Definition at line 125 of file trac_ik.cpp.
TRAC_IK::TRAC_IK::TRAC_IK | ( | const std::string & | base_link, |
const std::string & | tip_link, | ||
const std::string & | URDF_param = "/robot_description" , |
||
double | _maxtime = 0.005 , |
||
double | _eps = 1e-5 , |
||
SolveType | _type = Speed |
||
) |
Definition at line 43 of file trac_ik.cpp.
Definition at line 522 of file trac_ik.cpp.
int TRAC_IK::TRAC_IK::CartToJnt | ( | const KDL::JntArray & | q_init, |
const KDL::Frame & | p_in, | ||
KDL::JntArray & | q_out, | ||
const KDL::Twist & | bounds = KDL::Twist::Zero() |
||
) |
Definition at line 459 of file trac_ik.cpp.
static double TRAC_IK::TRAC_IK::fRand | ( | double | min, |
double | max | ||
) | [inline, static, private] |
Definition at line 119 of file trac_ik.hpp.
bool TRAC_IK::TRAC_IK::getKDLChain | ( | KDL::Chain & | chain_ | ) | [inline] |
Definition at line 55 of file trac_ik.hpp.
bool TRAC_IK::TRAC_IK::getKDLLimits | ( | KDL::JntArray & | lb_, |
KDL::JntArray & | ub_ | ||
) | [inline] |
Definition at line 60 of file trac_ik.hpp.
void TRAC_IK::TRAC_IK::initialize | ( | ) | [private] |
Definition at line 139 of file trac_ik.cpp.
static double TRAC_IK::TRAC_IK::JointErr | ( | const KDL::JntArray & | arr1, |
const KDL::JntArray & | arr2 | ||
) | [inline, static] |
Definition at line 67 of file trac_ik.hpp.
double TRAC_IK::TRAC_IK::manipPenalty | ( | const KDL::JntArray & | arr | ) | [private] |
Definition at line 421 of file trac_ik.cpp.
double TRAC_IK::TRAC_IK::ManipValue1 | ( | const KDL::JntArray & | arr | ) | [private] |
Definition at line 433 of file trac_ik.cpp.
double TRAC_IK::TRAC_IK::ManipValue2 | ( | const KDL::JntArray & | arr | ) | [private] |
Definition at line 447 of file trac_ik.cpp.
bool TRAC_IK::TRAC_IK::myEqual | ( | const KDL::JntArray & | a, |
const KDL::JntArray & | b | ||
) | [inline, private] |
Definition at line 134 of file trac_ik.hpp.
void TRAC_IK::TRAC_IK::normalize_limits | ( | const KDL::JntArray & | seed, |
KDL::JntArray & | solution | ||
) | [private] |
Definition at line 388 of file trac_ik.cpp.
void TRAC_IK::TRAC_IK::normalize_seed | ( | const KDL::JntArray & | seed, |
KDL::JntArray & | solution | ||
) | [private] |
Definition at line 361 of file trac_ik.cpp.
bool TRAC_IK::TRAC_IK::runKDL | ( | const KDL::JntArray & | q_init, |
const KDL::Frame & | p_in | ||
) | [private] |
Definition at line 216 of file trac_ik.cpp.
bool TRAC_IK::TRAC_IK::runNLOPT | ( | const KDL::JntArray & | q_init, |
const KDL::Frame & | p_in | ||
) | [private] |
Definition at line 288 of file trac_ik.cpp.
void TRAC_IK::TRAC_IK::SetSolveType | ( | SolveType | _type | ) | [inline] |
Definition at line 78 of file trac_ik.hpp.
bool TRAC_IK::TRAC_IK::unique_solution | ( | const KDL::JntArray & | sol | ) | [private] |
Definition at line 172 of file trac_ik.cpp.
KDL::Twist TRAC_IK::TRAC_IK::bounds [private] |
Definition at line 115 of file trac_ik.hpp.
KDL::Chain TRAC_IK::TRAC_IK::chain [private] |
Definition at line 84 of file trac_ik.hpp.
double TRAC_IK::TRAC_IK::eps [private] |
Definition at line 87 of file trac_ik.hpp.
std::vector<std::pair<double,uint> > TRAC_IK::TRAC_IK::errors [private] |
Definition at line 109 of file trac_ik.hpp.
boost::scoped_ptr<KDL::ChainIkSolverPos_TL> TRAC_IK::TRAC_IK::iksolver [private] |
Definition at line 92 of file trac_ik.hpp.
bool TRAC_IK::TRAC_IK::initialized [private] |
Definition at line 83 of file trac_ik.hpp.
boost::asio::io_service TRAC_IK::TRAC_IK::io_service [private] |
Definition at line 112 of file trac_ik.hpp.
boost::scoped_ptr<KDL::ChainJntToJacSolver> TRAC_IK::TRAC_IK::jacsolver [private] |
Definition at line 86 of file trac_ik.hpp.
KDL::JntArray TRAC_IK::TRAC_IK::lb [private] |
Definition at line 85 of file trac_ik.hpp.
double TRAC_IK::TRAC_IK::maxtime [private] |
Definition at line 88 of file trac_ik.hpp.
boost::mutex TRAC_IK::TRAC_IK::mtx_ [private] |
Definition at line 107 of file trac_ik.hpp.
boost::scoped_ptr<NLOPT_IK::NLOPT_IK> TRAC_IK::TRAC_IK::nl_solver [private] |
Definition at line 91 of file trac_ik.hpp.
std::vector<KDL::JntArray> TRAC_IK::TRAC_IK::solutions [private] |
Definition at line 108 of file trac_ik.hpp.
SolveType TRAC_IK::TRAC_IK::solvetype [private] |
Definition at line 89 of file trac_ik.hpp.
boost::posix_time::ptime TRAC_IK::TRAC_IK::start_time [private] |
Definition at line 94 of file trac_ik.hpp.
boost::thread_group TRAC_IK::TRAC_IK::threads [private] |
Definition at line 113 of file trac_ik.hpp.
std::vector<KDL::BasicJointType> TRAC_IK::TRAC_IK::types [private] |
Definition at line 105 of file trac_ik.hpp.
KDL::JntArray TRAC_IK::TRAC_IK::ub [private] |
Definition at line 85 of file trac_ik.hpp.
boost::asio::io_service::work TRAC_IK::TRAC_IK::work [private] |
Definition at line 114 of file trac_ik.hpp.