43 #include <visp/vpConfig.h>
44 #include <visp/vpRobotPioneer.h>
45 #include <visp/vpCameraParameters.h>
46 #include <visp/vpDisplayGDI.h>
47 #include <visp/vpDisplayX.h>
48 #include <visp/vpDot2.h>
49 #include <visp/vpFeatureBuilder.h>
50 #include <visp/vpFeatureDepth.h>
51 #include <visp/vpFeaturePoint.h>
52 #include <visp/vpHomogeneousMatrix.h>
53 #include <visp/vpImage.h>
54 #include <visp/vpImageConvert.h>
55 #include <visp/vp1394TwoGrabber.h>
56 #include <visp/vp1394CMUGrabber.h>
57 #include <visp/vpOpenCVGrabber.h>
58 #include <visp/vpV4l2Grabber.h>
59 #include <visp/vpVelocityTwistMatrix.h>
61 #if defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_CMU1394) || defined(VISP_HAVE_OPENCV)
62 #if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI)
63 #if defined(VISP_HAVE_PIONEER)
64 # define TEST_COULD_BE_ACHIEVED
69 #undef VISP_HAVE_OPENCV // To use a firewire camera
70 #undef VISP_HAVE_V4L2 // To use a firewire camera
91 #ifdef TEST_COULD_BE_ACHIEVED
92 int main(
int argc,
char **argv)
97 double coef = 1./6.77;
100 ArArgumentParser parser(&argc, argv);
101 parser.loadDefaultArguments();
105 ArRobotConnector robotConnector(&parser, &robot);
106 if(!robotConnector.connectRobot())
108 ArLog::log(ArLog::Terse,
"Could not connect to the robot.");
109 if(parser.checkHelpAndWarnUnparsed())
115 if (!Aria::parseArgs())
128 std::cout <<
"Robot connected" << std::endl;
134 #if defined(VISP_HAVE_OPENCV)
136 std::cout <<
"Use device: " << device << std::endl;
137 cv::VideoCapture g(device);
138 g.set(CV_CAP_PROP_FRAME_WIDTH, 640);
139 g.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
148 #elif defined(VISP_HAVE_V4L2)
157 #elif defined(VISP_HAVE_DC1394_2)
164 #elif defined(VISP_HAVE_CMU1394)
175 #if defined(VISP_HAVE_OPENCV)
183 #if defined(VISP_HAVE_X11)
185 #elif defined(VISP_HAVE_GDI)
241 #if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
272 v = -lambda * (L * cVe * eJe).pseudoInverse() * error;
274 std::cout <<
"Send velocity to the pionner: " << v[0] <<
" m/s "
293 std::cout <<
"Ending robot thread..." << std::endl;
297 robot.waitForRunExit();
302 std::cout <<
"You don't have the right 3rd party libraries to run this example..." << std::endl;