55 #include <visp/vpConfig.h>
56 #include <visp/vpImage.h>
57 #include <visp/vpDisplayX.h>
58 #include <visp/vpDisplayOpenCV.h>
59 #include <visp/vpDisplayGTK.h>
60 #include <visp/vpRobotViper850.h>
61 #include <visp/vpCameraParameters.h>
62 #include <visp/vpPixelMeterConversion.h>
63 #include <visp/vp1394TwoGrabber.h>
64 #include <visp/vpPoint.h>
65 #include <visp/vpDot.h>
66 #include <visp/vpPose.h>
67 #include <visp/vpDebug.h>
69 #if defined(VISP_HAVE_VIPER850) && defined(VISP_HAVE_DC1394_2)
86 vpDisplayX display(I,100,100,
"Current image") ;
87 #elif defined(VISP_HAVE_OPENCV)
89 #elif defined(VISP_HAVE_GTK)
117 for (
int i=0; i < 4; i ++) {
119 std::cout <<
"Click on dot " << i << std::endl;
127 std::cout <<
" Coordinates: " << dot[i].
getCog() << std::endl;
149 for (
int i=0; i < 4; i ++) {
168 for (
int i=0; i < 4; i ++) {
181 std::cout <<
"Pose cMo: " << std::endl << cMo;
184 std::cout <<
" rotation: "
187 <<
vpMath::deg(r[2]) <<
" deg" << std::endl << std::endl;
193 std::cout <<
"Robot pose in reference frame: " << p << std::endl;
195 t[0] = p[0]; t[1] = p[1]; t[2] = p[2];
196 r[0] = p[3]; r[1] = p[4]; r[2] = p[5];
199 std::cout <<
"Pose rMc: " << std::endl << rMc;
202 std::cout <<
" rotation: "
205 <<
vpMath::deg(r[2]) <<
" deg" << std::endl << std::endl;
208 std::cout <<
"Robot pose in articular: " << p << std::endl;
211 std::cout <<
"Pose rMc from MGD: " << std::endl << rMc;
214 std::cout <<
" rotation: "
217 <<
vpMath::deg(r[2]) <<
" deg" << std::endl << std::endl;
221 std::cout <<
"Pose rMo = rMc * cMo: " << std::endl << rMo;
224 std::cout <<
" rotation: "
227 <<
vpMath::deg(r[2]) <<
" deg" << std::endl << std::endl;
232 std::cout <<
"Test failed" << std::endl;
239 std::cout <<
"Sorry, test not valid. You should have an Viper850 robot..."