run_beginner_task_04.cpp

00001 /*
00002   図のように、ビーゴをスタート地点から前方1[m]横方向に伸びる直線に追従させなさい。
00003   1) 2つの直進命令を用いて、直線 L1 を追従してから直線 L2 に追従
00004   2) 1つの直進命令を用いて、直線 L2 に追従
00005   Satofumi KAMIMURA
00006   $Id$
00007 */
00008 
00009 #include <mRunCtrl.h>
00010 #include <vutils.h>
00011 #include <stdio.h>
00012 
00013 using namespace VXV;
00014 
00015 
00016 int main(int argc, char *argv[]) {
00017   try {
00018     mRunCtrl run;
00019     if (initConnection(&run, argc, argv) < 0) {
00020       exit(1);
00021     }
00022     vmonitor::show();
00023     //run.setCurveRadius(300);
00024 
00025 #if 1
00026     // 1) の場合
00027     VXV::Position target(1000, 0, deg(0));
00028     run.followLine(target);
00029     while (abs(run.getLengthToLine(target)) < 300) {
00030       VXV::Delay(100);
00031     }
00032     run.followLine(VXV::Position(1000, 1000, deg(-90)));
00033 #else
00034     // 2) の場合
00035     run.followLine(VXV::Position(1000, 1000, deg(-90)));
00036 #endif
00037 
00038     waitStable(run, 100);
00039     VXV::Delay(2000);
00040     run.stop();
00041 
00042     VXV::Delay(1000);
00043   } catch (std::exception& e) {
00044     printf("exception: %s\n", e.what());
00045   }
00046   return 0;
00047 }
00048 

Generated on Mon Apr 13 22:52:01 2009 by  doxygen 1.5.7.1