2016-08-30 21:44:11 +00:00
|
|
|
#ifndef IK_TRAJECTORY_HELPER_H
|
|
|
|
#define IK_TRAJECTORY_HELPER_H
|
|
|
|
|
|
|
|
enum IK2_Method
|
|
|
|
{
|
|
|
|
IK2_JACOB_TRANS=0,
|
|
|
|
IK2_PURE_PSEUDO,
|
|
|
|
IK2_DLS,
|
|
|
|
IK2_SDLS ,
|
|
|
|
IK2_DLS_SVD
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class IKTrajectoryHelper
|
|
|
|
{
|
|
|
|
struct IKTrajectoryHelperInternalData* m_data;
|
|
|
|
|
|
|
|
public:
|
|
|
|
IKTrajectoryHelper();
|
|
|
|
virtual ~IKTrajectoryHelper();
|
|
|
|
|
|
|
|
///todo: replace createKukaIIWA with a generic way of create an IK tree
|
|
|
|
void createKukaIIWA();
|
|
|
|
|
|
|
|
bool computeIK(const double endEffectorTargetPosition[3],
|
|
|
|
const double* q_old, int numQ,
|
2016-09-08 06:14:23 +00:00
|
|
|
double* q_new, int ikMethod, const double* linear_jacobian, int jacobian_size);
|
2016-08-30 21:44:11 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
#endif //IK_TRAJECTORY_HELPER_H
|