Пример #1
0
int main(int argc, char *argv[]) 
{
  unsigned int seed;
  
  carmen_initialize_ipc(argv[0]);

  carmen_param_check_version(argv[0]);
  IPC_setVerbosity(IPC_Print_Warnings);  
  
  seed = carmen_randomize(&argc, &argv);
  carmen_warn("Seed: %u\n", seed);
  carmen_simulator_subscribe_truepos_message
    (&truepose, NULL, CARMEN_SUBSCRIBE_LATEST);

  carmen_simulator_subscribe_objects_message
    (NULL, (carmen_handler_t)simulator_objects_handler, 
     CARMEN_SUBSCRIBE_LATEST);

  map = (carmen_map_t *)calloc(1, sizeof(carmen_map_t));
  carmen_test_alloc(map);
  carmen_map_get_gridmap(map);

  IPC_dispatch();

  return 0;
}
Пример #2
0
void Carmen_Thread::register_handlers() {

    carmen_map_t map;


    carmen_map_get_gridmap(&map);
    set_map(&map);

    emit_map_changed_signal(map);

    carmen_map_subscribe_gridmap_update_message(
        NULL,
        (carmen_handler_t)map_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_grid_mapping_subscribe_message(NULL,
                                          (carmen_handler_t)grid_map_handler,
                                          CARMEN_SUBSCRIBE_LATEST);

    carmen_localize_ackerman_subscribe_globalpos_message(
        NULL,
        (carmen_handler_t)globalpos_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_simulator_ackerman_subscribe_truepos_message(
        NULL,
        (carmen_handler_t)truepos_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_simulator_subscribe_truepos_message(
        NULL,
        (carmen_handler_t)truepos_handler_diff,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_localize_ackerman_subscribe_particle_message(
        NULL,
        (carmen_handler_t)particle_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_localize_subscribe_globalpos_message(
        NULL,
        (carmen_handler_t)globalpos_handler_diff,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_laser_subscribe_frontlaser_message(
        NULL,
        (carmen_handler_t)laser_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_localize_ackerman_subscribe_sensor_message(
        NULL,
        (carmen_handler_t)localize_laser_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_navigator_ackerman_subscribe_plan_message(
        NULL,
        (carmen_handler_t)plan_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_navigator_subscribe_plan_message(
        NULL,
        (carmen_handler_t)plan_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_navigator_ackerman_subscribe_status_message(
        NULL,
        (carmen_handler_t) navigator_status_handler,
        CARMEN_SUBSCRIBE_LATEST);

    IPC_setMsgQueueLength(CARMEN_GRID_MAPPING_MESSAGE_NAME, 1);

    carmen_rrt_planner_subscribe_robot_tree_message(
        NULL,
        (carmen_handler_t)rrt_planner_robot_tree_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_rrt_planner_subscribe_goal_tree_message(
        NULL,
        (carmen_handler_t)rrt_planner_goal_tree_handler,
        CARMEN_SUBSCRIBE_LATEST);

    carmen_rrt_planner_subscribe_status_message(
        NULL,
        (carmen_handler_t)rrt_status_handler,
        CARMEN_SUBSCRIBE_LATEST);
}