int
main(int argc, char *argv[])
{

  Miro::RobotParameters * robotParameters = Miro::RobotParameters::instance();
  Laser::Parameters * parameters = Laser::Parameters::instance();

  // Config file processing
  Miro::ConfigDocument * config = new Miro::ConfigDocument(argc, argv);
  config->setSection("Robot");
  config->getParameters("Robot", *robotParameters);
  config->setSection("Sick");
  config->getParameters("Laser", *parameters);
  delete config;

  log(Miro::INFO, "Initialize server daemon.");
  Miro::LaserServer laserServer(argc, argv);

#ifdef DEBUG
  cout << "  robot parameters:" << endl << *robotParameters << endl;
  cout << "  parameters:" << endl << *parameters << endl;
#endif

  try {
    log(Miro::INFO, "Ready for service.");
    laserServer.run(8);
    log(Miro::INFO, "Service loop ended, exiting.");
  }
  catch (const Miro::CException& e) {
    log(Miro::FATAL_ERROR, "Miro exception: ");
    cerr << e << endl;
    return 1;
  }
  catch (const CORBA::Exception & e) {
    log(Miro::FATAL_ERROR, "Uncaught CORBA exception: ");
    cerr << e << endl;
    return 1;
  }
  catch (const Miro::Exception& e) {
    log(Miro::FATAL_ERROR, "Miro exception: ");
    cerr << e << endl;
    return 1;
  }
  catch (...) {
    log(Miro::FATAL_ERROR, "Uncaught exception.");
    return 1;
  }
  return 0;
}
예제 #2
0
int main(int argc, char** argv)
{
	mrcoreInit();
	AriaBase robot(argc,argv);
	WheeledBaseServer server(&robot,"base");
	LaserSensorServer laserServer(&robot,"laser");
	
	server.init(12300,1,true);
	//laserServer.init(12001,1,true);
	while(1)
	{
		Sleep(500);
		robot.watchdog();
	}	

	server.close();
	LOG_INFO("End of server");
	return 1;
}
예제 #3
0
int main(int argc, char** argv)
{
	mrcoreInit();
	AriaBase robot(argc,argv);
	WheeledBaseServer server(&robot,"base");
	LaserSensorServer laserServer(&robot,"laser");
	
	server.init(13000,1,true);
	laserServer.init(13001,1,true); 
	while(1)
	{
		Sleep(500);
		robot.watchdog();
		LaserData data;
		robot.getData(data);
		cout<<"MEdidas: "<<data.getRanges().size()<<endl;
		if(data.getRanges().size()>0)
			cout<<"Medida: "<<data.getRanges()[data.getRanges().size()/2]<<endl;
	}	

	server.close();
	LOG_INFO("End of server");
	return 1;
}