static void
read_parameters(int argc, char **argv)
{
	carmen_param_allow_unfound_variables(1);

	carmen_param_t param_list[] = 
	{
			{(char *)"commandline",	 (char *)"map_path",		CARMEN_PARAM_STRING, &map_path,	 	1, NULL},
			{(char *)"commandline",	 (char *)"map_resolution",	CARMEN_PARAM_DOUBLE, &map_resolution,	1, NULL},
			{(char *)"commandline",	 (char *)"map_type",		CARMEN_PARAM_STRING, &map_type,		1, NULL},

	};
	carmen_param_install_params(argc, argv, param_list, sizeof(param_list) / sizeof(param_list[0]));
}
Exemple #2
0
void
read_parameters(int argc, char **argv)
{
	carmen_param_t param_list[] = {
			{(char *)"robot",	(char *)"length",								  		CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.length,								 			1, NULL},
			{(char *)"robot",	(char *)"width",								  		CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.width,								 			1, NULL},
			{(char *)"robot", 	(char *)"distance_between_rear_wheels",		  			CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.distance_between_rear_wheels,			 		1, NULL},
			{(char *)"robot", 	(char *)"distance_between_front_and_rear_axles", 		CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.distance_between_front_and_rear_axles, 			1, NULL},
			{(char *)"robot", 	(char *)"distance_between_front_car_and_front_wheels",	CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.distance_between_front_car_and_front_wheels,	1, NULL},
			{(char *)"robot", 	(char *)"distance_between_rear_car_and_rear_wheels",	CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.distance_between_rear_car_and_rear_wheels,		1, NULL},
			{(char *)"robot", 	(char *)"max_velocity",						  			CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.max_vel,								 		1, NULL},
			{(char *)"robot", 	(char *)"max_steering_angle",					  		CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.max_phi,								 		1, NULL},
			{(char *)"robot", 	(char *)"maximum_acceleration_forward",					CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.maximum_acceleration_forward,					1, NULL},
			{(char *)"robot", 	(char *)"maximum_acceleration_reverse",					CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.maximum_acceleration_reverse,					1, NULL},
			{(char *)"robot", 	(char *)"maximum_deceleration_forward",					CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.maximum_deceleration_forward,					1, NULL},
			{(char *)"robot", 	(char *)"maximum_deceleration_reverse",					CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.maximum_deceleration_reverse,					1, NULL},
			{(char *)"robot", 	(char *)"desired_decelaration_forward",					CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.desired_decelaration_forward,					1, NULL},
			{(char *)"robot", 	(char *)"desired_decelaration_reverse",					CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.desired_decelaration_reverse,					1, NULL},
			{(char *)"robot", 	(char *)"desired_acceleration",							CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.desired_acceleration,							1, NULL},
			{(char *)"robot", 	(char *)"desired_steering_command_rate",				CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.desired_steering_command_rate,					1, NULL},
			{(char *)"robot", 	(char *)"understeer_coeficient",						CARMEN_PARAM_DOUBLE, &GlobalState::robot_config.understeer_coeficient,							1, NULL},
	};

	carmen_param_install_params(argc, argv, param_list, sizeof(param_list) / sizeof(param_list[0]));

	GlobalState::param_max_vel = GlobalState::robot_config.max_vel;

	//initialize default parameters values
	GlobalState::cheat = 0;

	GlobalState::timeout = 0.8;
	GlobalState::distance_interval = 1.5;
	GlobalState::plan_time = 0.08;

	carmen_param_t optional_param_list[] = {
			{(char *)"rrt",	(char *)"cheat",				CARMEN_PARAM_ONOFF,		&GlobalState::cheat,				1, NULL},
			{(char *)"rrt",	(char *)"show_debug_info",		CARMEN_PARAM_ONOFF,		&GlobalState::show_debug_info,		1, NULL},
	};

	carmen_param_allow_unfound_variables(1);
	carmen_param_install_params(argc, argv, optional_param_list, sizeof(optional_param_list) / sizeof(optional_param_list[0]));

	read_parameters_specific(argc, argv);
}
Exemple #3
0
int main(int argc, char **argv) 
{
  carmen_camera_image_t *image;
  IPC_RETURN_TYPE err;
  double interframe_sleep = 5.0;
  int param_err;

  /* connect to IPC server */
  carmen_ipc_initialize(argc, argv);
  carmen_param_check_version(argv[0]);

  err = IPC_defineMsg(CARMEN_CAMERA_IMAGE_NAME, IPC_VARIABLE_LENGTH, 
		      CARMEN_CAMERA_IMAGE_FMT);
  carmen_test_ipc_exit(err, "Could not define", CARMEN_CAMERA_IMAGE_NAME);  

  carmen_param_allow_unfound_variables(0);
  param_err = carmen_param_get_double("camera_interframe_sleep", &interframe_sleep, NULL);
  if (param_err < 0)
    carmen_die("Could not find parameter in carmen.ini file: camera_interframe_sleep\n");

  image = carmen_camera_start(argc, argv);
  if (image == NULL)
    exit(-1);
  signal(SIGINT, shutdown_module);
  
  while(1) {
    carmen_camera_grab_image(image);
    if(image->is_new) {
      carmen_camera_publish_image_message(image);
      carmen_warn("c");
      image->is_new = 0;
    }
  
    // We are rate-controlling the camera.

    carmen_publish_heartbeat("camera_daemon");
    carmen_ipc_sleep(interframe_sleep);
  }
  return 0;
}
Exemple #4
0
void
read_parameters_specific(int argc, char **argv)
{

	carmen_param_t optional_param_list[] = {
			{(char *)"rrt",	(char *)"rddf",						CARMEN_PARAM_STRING,	&GlobalState::rddf_path,				1, NULL},
			{(char *)"rrt",	(char *)"timeout",					CARMEN_PARAM_DOUBLE,	&GlobalState::timeout,					1, NULL},
			{(char *)"rrt",	(char *)"plan_time",				CARMEN_PARAM_DOUBLE,	&GlobalState::plan_time,				1, NULL},
			{(char *)"rrt",	(char *)"distance_interval",		CARMEN_PARAM_DOUBLE,	&GlobalState::distance_interval,		1, NULL},
			{(char *)"rrt",	(char *)"publish_lane_map",			CARMEN_PARAM_ONOFF,		&GlobalState::publish_lane_map,			1, NULL},
			{(char *)"rrt",	(char *)"publish_tree",				CARMEN_PARAM_ONOFF,		&GlobalState::publish_tree,				1, NULL},
			{(char *)"rrt",	(char *)"reuse_last_path",			CARMEN_PARAM_ONOFF,		&GlobalState::reuse_last_path,			1, NULL},
			{(char *)"rrt",	(char *)"obstacle_cost_distance",	CARMEN_PARAM_DOUBLE,	&GlobalState::obstacle_cost_distance,	1, NULL}
	};

	carmen_param_allow_unfound_variables(1);
	carmen_param_install_params(argc, argv, optional_param_list, sizeof(optional_param_list) / sizeof(optional_param_list[0]));

	GlobalState::param_distance_interval = GlobalState::distance_interval;

	printf("show_debug_info=%d\npublish_lane_map=%d\npublish_tree=%d\n",
			GlobalState::show_debug_info, GlobalState::publish_lane_map, GlobalState::publish_tree);
}