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])); }
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); }
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; }
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); }