run_beginner_task_03.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009 #include <mRunCtrl.h>
00010 #include <vutils.h>
00011 #include <stdio.h>
00012
00013 using namespace VXV;
00014
00015
00016 static void stopToTarget(mRunCtrl& run, const VXV::Position& target) {
00017 run.followLine(target);
00018 while (abs(run.getLengthToLine(target)) > 300) {
00019
00020 VXV::Delay(100);
00021 }
00022 run.stopToLine(target);
00023 waitStable(run, 100);
00024 }
00025
00026
00027 int main(int argc, char *argv[]) {
00028 try {
00029 mRunCtrl run;
00030 if (initConnection(&run, argc, argv) < 0) {
00031 exit(1);
00032 }
00033 vmonitor::show();
00034
00035
00036 VXV::Position target(1000, 0, deg(0));
00037 stopToTarget(run, target);
00038
00039
00040 run.rotateToDirection(deg(-90));
00041 waitStable(run, 100);
00042
00043
00044 target = VXV::Position(1000, -1000, deg(-90));
00045 stopToTarget(run, target);
00046
00047 VXV::Delay(1000);
00048 } catch (std::exception& e) {
00049 printf("exception: %s\n", e.what());
00050 }
00051 return 0;
00052 }
00053