localCtrl.cpp

00001 /*
00002   人がロボットを見ながら操作
00003   Satofumi KAMIMURA
00004   $Id$
00005 */
00006 
00007 #include "mRunCtrl.h"
00008 #include "mURGCtrl.h"
00009 #include "vutils.h"
00010 #include "joystickCtrl.h"
00011 #include "inputHandle.h"
00012 #include <stdlib.h>
00013 
00014 
00015 int main(int argc, char *argv[]) {
00016   try {
00017     mRunCtrl run;
00018     mURGCtrl urg;
00019     if ((initConnection(&run, argc, argv) < 0) ||
00020         (initConnection(&urg, argc, argv) < 0)) {
00021       exit(1);
00022     }
00023     urg.setOwnCrdToObject(&run);
00024     run.adjustSubTreeTicks(0);
00025 
00026     vmonitor::show();
00027 
00028     // Joystick があれば初期化
00029     JoystickCtrl js;
00030     if (js.size() > 0) {
00031       js.activate();
00032     }
00033 
00034     // メインの制御ループ
00035     UserInput::userInput_t ui;
00036     int pre_times = -1;
00037     do {
00038       ui = UserInput::getInputed();
00039       robotInput_t ri = inputHandle(js, ui);
00040       drawJetMode(ri);
00041       robotCtrl(run, ri);
00042 
00043       // 環境情報の取得
00044       int times = urg.capture();
00045       if (times != pre_times) {
00046         drawCaptures(urg, run);
00047       }
00048       VXV::Delay(1);
00049     } while (!ui.quit);
00050   } catch (std::exception& e) {
00051     printf("exception: %s\n", e.what());
00052   }
00053   return 0;
00054 }
00055 

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