bool WallFollowing::OnStartUp()
{
	setlocale(LC_ALL, "C");
	list<string> sParams;
	m_MissionReader.EnableVerbatimQuoting(false);
	if(m_MissionReader.GetConfiguration(GetAppName(), sParams))
	{
		list<string>::iterator p;
		for(p = sParams.begin() ; p != sParams.end() ; p++)
		{
			string original_line = *p;
			string param = stripBlankEnds(toupper(biteString(*p, '=')));
			string value = stripBlankEnds(*p);

			if(param == "FOO")
			{
				//handled
			}
			
			else if(param == "BAR")
			{
				//handled
			}
		}
	}

	m_timewarp = GetMOOSTimeWarp();
	RegisterVariables();
	
	return(true);
}
示例#2
0
bool SimGPS::OnStartUp()
{
  list<string> sParams;
  m_MissionReader.EnableVerbatimQuoting(false);
  if(m_MissionReader.GetConfiguration(GetAppName(), sParams)) {
    list<string>::iterator p;
    for(p=sParams.begin(); p!=sParams.end(); p++) {
      string original_line = *p;
      string param = stripBlankEnds(toupper(biteString(*p, '=')));
      string value = stripBlankEnds(*p);
      
      if(param == "GPS_COVARIANCE") {
        GPS_covariance = read_matrix(value);
      }
      if(param == "MAX_DEPTH"){
	max_depth = atof(value.c_str());
      }
      if(param == "ADD_NOISE"){
	add_noise = (tolower(value) == "true");
      }
      if(param == "BACKGROUND_MODE"){
	if (tolower(value) == "true")
	  in_prefix = "NAV";
	else
	  in_prefix = "SIM";
      }
    }
  }
  
  distribution = normal_distribution<double>(0.0,sqrt(GPS_covariance(0,0)));

  RegisterVariables();	
  return(true);
}
示例#3
0
bool Camera::OnStartUp()
{
	setlocale(LC_ALL, "C");
	int identifiant_camera = -1;
	list<string> sParams;
	m_MissionReader.EnableVerbatimQuoting(false);
	
	if(m_MissionReader.GetConfiguration(GetAppName(), sParams))
	{
		list<string>::iterator p;
		for(p = sParams.begin() ; p != sParams.end() ; p++)
		{
			string original_line = *p;
			string param = stripBlankEnds(toupper(biteString(*p, '=')));
			string value = stripBlankEnds(*p);

			if(param == "IDENTIFIANT_CV_CAMERA")
				identifiant_camera = atoi((char*)value.c_str());

			if(param == "VARIABLE_IMAGE_NAME")
			{
				m_image_name = value;
				m_display_name = m_image_name;
			}
				
			if(param == "DISPLAY_IMAGE")
				m_affichage_image = (value == "true");
				
			if(param == "INVERT_IMAGE")
				m_inverser_image = (value == "true");
		}
	}

	m_timewarp = GetMOOSTimeWarp();

//	SetAppFreq(20, 400);
//	SetIterateMode(REGULAR_ITERATE_AND_COMMS_DRIVEN_MAIL);

	if(identifiant_camera == -1)
	{
		cout << "Aucun identifiant de caméra reconnu" << endl;
		return false;
	}

	char buff[100];
	sprintf(buff, "/dev/video%d", identifiant_camera);
	string device_name = buff;

	if(!m_vc_v4l2.open(device_name, LARGEUR_IMAGE_CAMERA, HAUTEUR_IMAGE_CAMERA))
		return false;

	if(m_affichage_image)
		namedWindow(m_display_name, CV_WINDOW_NORMAL);
		
	RegisterVariables();
	setlocale(LC_ALL, "");
	return(true);
}