2 #include <visp/vpDisplayGDI.h>
3 #include <visp/vpDisplayX.h>
4 #include <visp/vpFeatureBuilder.h>
5 #include <visp/vpServo.h>
6 #include <visp/vpSimulatorViper850.h>
12 static std::vector<vpImagePoint> traj[4];
14 for (
unsigned int i=0; i<4; i++) {
16 point[i].project(cMo);
18 traj[i].push_back(cog);
20 for (
unsigned int i=0; i<4; i++) {
21 for (
unsigned int j=1; j<traj[i].size(); j++) {
29 #if defined(VISP_HAVE_PTHREAD)
59 std::vector<vpPoint> point(4) ;
60 point[0].setWorldCoordinates(-0.1,-0.1, 0);
61 point[1].setWorldCoordinates( 0.1,-0.1, 0);
62 point[2].setWorldCoordinates( 0.1, 0.1, 0);
63 point[3].setWorldCoordinates(-0.1, 0.1, 0);
71 for (
int i = 0 ; i < 4 ; i++) {
92 robot.setJointLimit(qmin, qmax);
94 std::cout <<
"Robot joint limits: " << std::endl;
95 for (
unsigned int i=0; i< qmin.
size(); i ++)
96 std::cout <<
"Joint " << i <<
": min " <<
vpMath::deg(qmin[i]) <<
" max " <<
vpMath::deg(qmax[i]) <<
" (deg)" << std::endl;
103 #if VISP_VERSION_INT > VP_VERSION_INT(2,7,0)
106 robot.initialiseCameraRelativeToObject(cMo);
109 robot.setDesiredCameraPosition(cdMo);
115 #if defined(VISP_HAVE_X11)
116 vpDisplayX displayInt(Iint, 700, 0,
"Internal view");
117 #elif defined(VISP_HAVE_GDI)
120 std::cout <<
"No image viewer is available..." << std::endl;
125 robot.setCameraParameters(cam);
129 for (
int iter =0; iter < 275; iter ++)
131 cMo = robot.get_cMo();
133 for (
int i = 0 ; i < 4 ; i++) {
139 robot.getInternalView(Iint);
141 display_trajectory(Iint, point, cMo, cam);