navigator_interface.h

Go to the documentation of this file.
00001 /*********************************************************
00002  *
00003  * This source code is part of the Carnegie Mellon Robot
00004  * Navigation Toolkit (CARMEN)
00005  *
00006  * CARMEN Copyright (c) 2002 Michael Montemerlo, Nicholas
00007  * Roy, and Sebastian Thrun
00008  *
00009  * CARMEN is free software; you can redistribute it and/or 
00010  * modify it under the terms of the GNU General Public 
00011  * License as published by the Free Software Foundation; 
00012  * either version 2 of the License, or (at your option)
00013  * any later version.
00014  *
00015  * CARMEN is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied 
00017  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00018  * PURPOSE.  See the GNU General Public License for more 
00019  * details.
00020  *
00021  * You should have received a copy of the GNU General 
00022  * Public License along with CARMEN; if not, write to the
00023  * Free Software Foundation, Inc., 59 Temple Place, 
00024  * Suite 330, Boston, MA  02111-1307 USA
00025  *
00026  ********************************************************/
00027 
00028 
00030 // @{
00031 
00039 #ifndef NAVIGATOR_INTERFACE_H
00040 #define NAVIGATOR_INTERFACE_H
00041 
00042 #include <carmen/navigator_messages.h>
00043 
00044 #ifdef __cplusplus
00045 extern "C" {
00046 #endif
00047 
00052 void carmen_navigator_subscribe_status_message(carmen_navigator_status_message 
00053                                                *status,
00054                                                carmen_handler_t handler,
00055                                                carmen_subscribe_t 
00056                                                subscribe_how);
00057 
00061 void carmen_navigator_subscribe_plan_message(carmen_navigator_plan_message 
00062                                              *plan,
00063                                              carmen_handler_t handler,
00064                                              carmen_subscribe_t subscribe_how);
00065   
00071 void carmen_navigator_subscribe_autonomous_stopped_message
00072   (carmen_navigator_autonomous_stopped_message *autonomous_stopped,
00073    carmen_handler_t handler,
00074    carmen_subscribe_t subscribe_how);
00075   
00076 int carmen_navigator_query_status(carmen_navigator_status_message **status);
00077 int carmen_navigator_query_plan(carmen_navigator_plan_message **plan);
00078 
00084 int carmen_navigator_set_goal(double x, double y);
00085 
00090 int carmen_navigator_set_goal_triplet(carmen_point_p goal);
00091 
00102 int carmen_navigator_set_goal_place(char *name);
00103 
00109 int carmen_navigator_stop(void);
00112 int carmen_navigator_go(void);
00113 
00118 int carmen_navigator_get_map(carmen_navigator_map_t map_type, 
00119                              carmen_map_t *map);
00120 
00121 #ifdef __cplusplus
00122 }
00123 #endif
00124 
00125 #endif
00126 // @}

Generated on Wed Apr 5 18:34:18 2006 for CARMEN by  doxygen 1.4.4