18#ifndef __DEPTH2KIN_NLP_H__
19#define __DEPTH2KIN_NLP_H__
24#include <yarp/sig/all.h>
26#include <IpIpoptApplication.hpp>
28#define ALIGN_IPOPT_MAX_ITER 300
32yarp::sig::Matrix
computeH(
const yarp::sig::Vector &
x);
39 yarp::sig::Vector
min;
40 yarp::sig::Vector
max;
42 yarp::sig::Matrix
Prj;
44 std::deque<yarp::sig::Vector>
p2d;
45 std::deque<yarp::sig::Vector>
p3d;
53 void setBounds(
const yarp::sig::Vector &
min,
const yarp::sig::Vector &
max);
54 bool addPoints(
const yarp::sig::Vector &p2di,
const yarp::sig::Vector &p3di);
59 const int print_level=0,
const std::string &derivative_test=
"none");
bool setInitialGuess(const yarp::sig::Matrix &H)
std::deque< yarp::sig::Vector > p3d
size_t getNumPoints() const
void setBounds(const yarp::sig::Vector &min, const yarp::sig::Vector &max)
double evalError(const yarp::sig::Matrix &H)
bool calibrate(yarp::sig::Matrix &H, double &error, const int max_iter=ALIGN_IPOPT_MAX_ITER, const int print_level=0, const std::string &derivative_test="none")
bool addPoints(const yarp::sig::Vector &p2di, const yarp::sig::Vector &p3di)
bool setProjection(const yarp::sig::Matrix &Prj)
std::deque< yarp::sig::Vector > p2d
yarp::sig::Matrix getProjection() const
#define ALIGN_IPOPT_MAX_ITER
yarp::sig::Matrix computeH(const yarp::sig::Vector &x)