static void carmen_subscribe_to_relevant_messages() { carmen_map_server_subscribe_offline_map(NULL, (carmen_handler_t) offline_map_handler, CARMEN_SUBSCRIBE_LATEST); carmen_localize_ackerman_subscribe_initialize_message(NULL, (carmen_handler_t)pose_initialize_ackerman_message_handler, CARMEN_SUBSCRIBE_LATEST); carmen_localize_ackerman_subscribe_sensor_message(NULL, (carmen_handler_t)sensor_ackerman_message_handler, CARMEN_SUBSCRIBE_LATEST); carmen_ultrasonic_sonar_sensor_subscribe(NULL, (carmen_handler_t) ultrasonic_sensor_message_handler, CARMEN_SUBSCRIBE_LATEST); carmen_visual_odometry_subscribe_pose6d_message(NULL, (carmen_handler_t) visual_odometry_message_handler, CARMEN_SUBSCRIBE_LATEST); }
int main(int argc, char **argv) { /* Connect to IPC Server */ carmen_ipc_initialize(argc, argv); /* Check the param server version */ carmen_param_check_version(argv[0]); /* Initialize vector of readings laser */ /* Initialize vector of static points */ /* Initialize all the relevant parameters */ read_parameters(argc, argv); /* Register shutdown cleaner handler */ signal(SIGINT, shutdown_module); /* Define messages that your module publishes */ carmen_moving_objects_point_clouds_define_messages(); /* Subscribe to sensor and filter messages */ carmen_localize_ackerman_subscribe_globalpos_message(NULL, (carmen_handler_t) localize_ackerman_handler, CARMEN_SUBSCRIBE_LATEST); carmen_velodyne_subscribe_partial_scan_message(NULL, (carmen_handler_t) velodyne_partial_scan_message_handler, CARMEN_SUBSCRIBE_LATEST); carmen_stereo_velodyne_subscribe_scan_message(8, NULL, (carmen_handler_t)velodyne_variable_scan_message_handler, CARMEN_SUBSCRIBE_LATEST); // carmen_localize_ackerman_subscribe_globalpos_message(NULL, // (carmen_handler_t) localize_ackerman_handler, CARMEN_SUBSCRIBE_LATEST); carmen_map_server_subscribe_offline_map(NULL, (carmen_handler_t) carmen_map_server_offline_map_message_handler, CARMEN_SUBSCRIBE_LATEST); carmen_ipc_dispatch(); return (0); }