2 #include <visp/vpFeatureBuilder.h>
3 #include <visp/vpServo.h>
4 #include <visp/vpSimulatorCamera.h>
5 #include <visp/vpDisplayX.h>
6 #include <visp/vpDisplayGDI.h>
7 #include <visp/vpProjectionDisplay.h>
8 #include <visp/vpServoDisplay.h>
13 static std::vector<vpImagePoint> traj[4];
15 for (
unsigned int i=0; i<4; i++) {
17 point[i].project(cMo);
19 traj[i].push_back(cog);
21 for (
unsigned int i=0; i<4; i++) {
22 for (
unsigned int j=1; j<traj[i].size(); j++) {
34 std::vector<vpPoint> point(4) ;
35 point[0].setWorldCoordinates(-0.1,-0.1, 0);
36 point[1].setWorldCoordinates( 0.1,-0.1, 0);
37 point[2].setWorldCoordinates( 0.1, 0.1, 0);
38 point[3].setWorldCoordinates(-0.1, 0.1, 0);
46 for (
int i = 0 ; i < 4 ; i++) {
62 #if defined(VISP_HAVE_X11)
63 vpDisplayX displayInt(Iint, 0, 0,
"Internal view");
64 vpDisplayX displayExt(Iext, 670, 0,
"External view");
65 #elif defined(VISP_HAVE_GDI)
69 std::cout <<
"No image viewer is available..." << std::endl;
73 #if defined(VISP_HAVE_DISPLAY)
75 for (
int i = 0 ; i < 4 ; i++)
76 externalview.
insert(point[i]) ;
84 for (
int i = 0 ; i < 4 ; i++) {
93 display_trajectory(Iint, point, cMo, cam);
96 #if defined(VISP_HAVE_DISPLAY)
static void display(vpServo &s, const vpCameraParameters &cam, vpImage< unsigned char > &I, vpColor currentColor=vpColor::green, vpColor desiredColor=vpColor::red, unsigned int thickness=1)
void setVelocity(const vpRobot::vpControlFrameType frame, const vpColVector &vel)
void display(vpImage< unsigned char > &I, const vpHomogeneousMatrix &cextMo, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &color, const bool &displayTraj=false, const unsigned int thickness=1)
unsigned int getWidth() const
double getSamplingTime() const
The class provides a data structure for the homogeneous matrices as well as a set of operations on th...
Class that defines the simplest robot: a free flying camera.
static void convertPoint(const vpCameraParameters &cam, const double &x, const double &y, double &u, double &v)
Point coordinates conversion from normalized coordinates in meter to pixel coordinates ...
Display for windows using GDI (available on any windows 32 platform).
Define the X11 console to display images.
void addFeature(vpBasicFeature &s, vpBasicFeature &s_star, const unsigned int select=vpBasicFeature::FEATURE_ALL)
create a new ste of two visual features
void setLambda(double _lambda)
set the gain lambda
Class that defines a 2D point visual feature which is composed by two parameters that are the cartes...
static int wait(double t0, double t)
static const vpColor green
static void flush(const vpImage< unsigned char > &I)
virtual void setSamplingTime(const double &delta_t)
void kill()
destruction (memory deallocation if required)
vpColVector computeControlLaw()
compute the desired control law
static void display(const vpImage< unsigned char > &I)
Generic class defining intrinsic camera parameters.
void getPosition(vpHomogeneousMatrix &wMc) const
void insert(vpForwardProjection &fp)
void setInteractionMatrixType(const vpServoIteractionMatrixType &interactionMatrixType, const vpServoInversionType &interactionMatrixInversion=PSEUDO_INVERSE)
Set the type of the interaction matrix (current, mean, desired, user).
static double rad(double deg)
Class that provides a data structure for the column vectors as well as a set of operations on these v...
vpHomogeneousMatrix inverse() const
unsigned int getHeight() const
virtual bool getClick(bool blocking=true)=0
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
virtual void displayLine(const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color, unsigned int thickness=1)=0
static void create(vpFeaturePoint &s, const vpCameraParameters &cam, const vpDot &d)
Class required to compute the visual servoing control law descbribed in and .
interface with the image for feature display
void setServo(vpServoType _servo_type)
Choice of the visual servoing control law.