00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00029
00030
00038 #ifndef CARMEN_ROBOT_INTERFACE_H
00039 #define CARMEN_ROBOT_INTERFACE_H
00040
00041 #include <carmen/robot_messages.h>
00042
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046
00047 #ifndef COMPILE_WITHOUT_LASER_SUPPORT
00048 void carmen_robot_subscribe_frontlaser_message
00049 (carmen_robot_laser_message *laser, carmen_handler_t handler,
00050 carmen_subscribe_t subscribe_how);
00051
00052 void carmen_robot_subscribe_rearlaser_message
00053 (carmen_robot_laser_message *laser, carmen_handler_t handler,
00054 carmen_subscribe_t subscribe_how);
00055 #endif
00056
00057 void carmen_robot_subscribe_sonar_message
00058 (carmen_robot_sonar_message *sonar, carmen_handler_t handler,
00059 carmen_subscribe_t subscribe_how);
00060
00061 void carmen_robot_subscribe_vector_status_message
00062 (carmen_robot_vector_status_message *vector, carmen_handler_t handler,
00063 carmen_subscribe_t subscribe_how);
00064
00065 void carmen_robot_subscribe_base_binary_data_message
00066 (carmen_base_binary_data_message *base_data, carmen_handler_t handler,
00067 carmen_subscribe_t subscribe_how);
00068
00069 void carmen_robot_velocity_command(double tv, double rv);
00070 void carmen_robot_move_along_vector(double distance, double theta);
00071 void carmen_robot_follow_trajectory(carmen_traj_point_t *trajectory, int trajectory_length,
00072 carmen_traj_point_t *robot);
00073 void carmen_robot_send_base_binary_command(unsigned char *data, int length);
00074
00075 #ifdef __cplusplus
00076 }
00077 #endif
00078
00079 #endif
00080