21 #include <visp/vpFeatureBuilder.h>
22 #include <visp/vpFeatureDepth.h>
23 #include <visp/vpFeaturePoint.h>
24 #include <visp/vpHomogeneousMatrix.h>
25 #include <visp/vpPlot.h>
26 #include <visp/vpServo.h>
27 #include <visp/vpSimulatorPioneerPan.h>
28 #include <visp/vpVelocityTwistMatrix.h>
41 cMo[1][3] = cdMo[1][3];
89 double Z = point.
get_Z();
91 double Zd = cdMo[2][3];
98 #ifdef VISP_HAVE_DISPLAY
100 vpPlot graph(3, 800, 500, 400, 10,
"Curves...");
103 graph.initGraph(0,3);
104 graph.initGraph(1,2);
105 graph.initGraph(2,1);
106 graph.setTitle(0,
"Velocities");
107 graph.setTitle(1,
"Error s-s*");
108 graph.setTitle(2,
"Depth");
109 graph.setLegend(0, 0,
"vx");
110 graph.setLegend(0, 1,
"wz");
111 graph.setLegend(0, 2,
"qdot_pan");
112 graph.setLegend(1, 0,
"x");
113 graph.setLegend(1, 1,
"log(Z/Z*)");
114 graph.setLegend(2, 0,
"Z");
143 #ifdef VISP_HAVE_DISPLAY
144 graph.plot(0, iter, v);
145 graph.plot(1, iter, task.
getError());
146 graph.plot(2, 0, iter, Z);
151 std::cout <<
"Reached a small error. We stop the loop... " << std::endl;
155 #ifdef VISP_HAVE_DISPLAY
156 const char *legend =
"Click to quit...";
167 std::cout <<
"Catch an exception: " << e << std::endl;
Definition of the vpMatrix class.
The class provides a data structure for the homogeneous matrices as well as a set of operations on th...
void set_eJe(const vpMatrix &eJe_)
vpVelocityTwistMatrix get_cVe() const
void buildFrom(const double x, const double y, const double Z, const double LogZoverZstar)
void addFeature(vpBasicFeature &s, vpBasicFeature &s_star, const unsigned int select=vpBasicFeature::FEATURE_ALL)
Class that defines a 3D point visual feature which is composed by one parameters that is that defin...
error that can be emited by ViSP classes.
void track(const vpHomogeneousMatrix &cMo)
Class that defines a 2D point visual feature which is composed by two parameters that are the cartes...
double sumSquare() const
return sum of the Aij^2 (for all i, for all j)
static void flush(const vpImage< unsigned char > &I)
Class that defines what is a point.
The vpRotationMatrix considers the particular case of a rotation matrix.
virtual void setSamplingTime(const double &delta_t)
void insert(const vpRotationMatrix &R)
vpColVector getError() const
vpColVector computeControlLaw()
Class that consider the particular case of twist transformation matrix that allows to transform a vel...
void get_eJe(vpMatrix &eJe)
void setInteractionMatrixType(const vpServoIteractionMatrixType &interactionMatrixType, const vpServoInversionType &interactionMatrixInversion=PSEUDO_INVERSE)
void buildFrom(const double x, const double y, const double Z)
double get_Z() const
Get the point Z coordinate in the camera frame.
void setVelocity(const vpRobot::vpControlFrameType frame, const vpColVector &vel)
Class that provides a data structure for the column vectors as well as a set of operations on these v...
void set_cVe(const vpVelocityTwistMatrix &cVe_)
virtual void displayCharString(const vpImagePoint &ip, const char *text, const vpColor &color=vpColor::green)=0
vpHomogeneousMatrix inverse() const
Class that defines the Pioneer mobile robot simulator equipped with a camera able to move in pan...
void getPosition(vpHomogeneousMatrix &wMc) const
void print(const vpServo::vpServoPrintType display_level=ALL, std::ostream &os=std::cout)
This class enables real time drawing of 2D or 3D graphics. An instance of the class open a window whi...
virtual bool getClick(bool blocking=true)=0
static void create(vpFeaturePoint &s, const vpCameraParameters &cam, const vpDot &d)
static unsigned int selectX()
void setServo(const vpServoType &servo_type)
void setWorldCoordinates(const double ox, const double oy, const double oz)
Set the point world coordinates. We mean here the coordinates of the point in the object frame...