The Robot Module (robot)

The CARMEN robot module the provides an abstract view to the hardware. More...


Files

file  robot_central.h
 Library for robot.
file  robot_interface.h
 Definition of the interface of the module robot.
file  robot_messages.h
 Definition of the messages for this module.

Data Structures

struct  carmen_robot_sonar_message
struct  carmen_robot_bumper_message
struct  carmen_robot_laser_message
struct  carmen_robot_vector_status_message
struct  carmen_robot_velocity_message
struct  carmen_robot_follow_trajectory_message
struct  carmen_robot_vector_move_message

Defines

#define CARMEN_ROBOT_MAX_READINGS   5
#define CARMEN_ROBOT_ESTIMATES_CONVERGE   (CARMEN_ROBOT_MAX_READINGS+25)
#define CARMEN_ROBOT_ALL_STOP   1
#define CARMEN_ROBOT_ALLOW_ROTATE   2
#define CARMEN_ROBOT_MIN_ALLOWED_VELOCITY   0.03
#define CARMEN_ROBOT_ODOMETRY_AVERAGE   0
#define CARMEN_ROBOT_FRONT_LASER_AVERAGE   1
#define CARMEN_ROBOT_REAR_LASER_AVERAGE   2
#define CARMEN_ROBOT_BUMPER_AVERAGE   3
#define CARMEN_ROBOT_SONAR_AVERAGE   4
#define CARMEN_ROBOT_SONAR_NAME   "robot_sonar"
#define CARMEN_ROBOT_SONAR_FMT   "{int,double,<double:1>,<{double,double,double}:1>,{double,double,double},double,double,double,string}"
#define CARMEN_ROBOT_BUMPER_NAME   "carmen_robot_bumper"
#define CARMEN_ROBOT_BUMPER_FMT   "{int, <char:1>, {double,double,double}, double, double, double, string}"
#define CARMEN_ROBOT_LASER_FMT   "{{int,double,double,double,double,double,int},int,<float:2>,<char:2>,int,<float:5>,{double,double,double},{double,double,double},double,double,double,double,double,double,string}"
#define CARMEN_ROBOT_FRONTLASER_NAME   "carmen_robot_frontlaser"
#define CARMEN_ROBOT_FRONTLASER_FMT   CARMEN_ROBOT_LASER_FMT
#define CARMEN_ROBOT_REARLASER_NAME   "carmen_robot_rearlaser"
#define CARMEN_ROBOT_REARLASER_FMT   CARMEN_ROBOT_LASER_FMT
#define CARMEN_ROBOT_VECTOR_STATUS_NAME   "carmen_robot_vector_status"
#define CARMEN_ROBOT_VECTOR_STATUS_FMT   "{double, double, double, string}"
#define CARMEN_ROBOT_VELOCITY_NAME   "carmen_robot_vel"
#define CARMEN_ROBOT_VELOCITY_FMT   "{double,double,double,string}"
#define CARMEN_ROBOT_FOLLOW_TRAJECTORY_NAME   "carmen_robot_follow_trajectory"
#define CARMEN_ROBOT_FOLLOW_TRAJECTORY_FMT   "{int,<{double,double,double,double,double}:1>,{double,double,double,double,double},double,string}"
#define CARMEN_ROBOT_VECTOR_MOVE_NAME   "carmen_robot_vector_move"
#define CARMEN_ROBOT_VECTOR_MOVE_FMT   "{double,double,double,string}"

Functions

double carmen_robot_get_fraction (double timestamp, double skew, int *low, int *high)
int carmen_robot_get_skew (int msg_count, double *skew, int data_type, char *hostname)
void carmen_robot_update_skew (int data_type, int *count, double time, char *hostname)
void carmen_robot_subscribe_frontlaser_message (carmen_robot_laser_message *laser, carmen_handler_t handler, carmen_subscribe_t subscribe_how)
void carmen_robot_subscribe_rearlaser_message (carmen_robot_laser_message *laser, carmen_handler_t handler, carmen_subscribe_t subscribe_how)
void carmen_robot_subscribe_sonar_message (carmen_robot_sonar_message *sonar, carmen_handler_t handler, carmen_subscribe_t subscribe_how)
void carmen_robot_subscribe_vector_status_message (carmen_robot_vector_status_message *vector, carmen_handler_t handler, carmen_subscribe_t subscribe_how)
void carmen_robot_subscribe_base_binary_data_message (carmen_base_binary_data_message *base_data, carmen_handler_t handler, carmen_subscribe_t subscribe_how)
void carmen_robot_velocity_command (double tv, double rv)
void carmen_robot_move_along_vector (double distance, double theta)
void carmen_robot_follow_trajectory (carmen_traj_point_t *trajectory, int trajectory_length, carmen_traj_point_t *robot)
void carmen_robot_send_base_binary_command (unsigned char *data, int length)

Variables

carmen_base_odometry_message carmen_robot_latest_odometry
carmen_base_odometry_message carmen_robot_odometry [CARMEN_ROBOT_MAX_READINGS]
int carmen_robot_position_received
int carmen_robot_converge
carmen_robot_config_t carmen_robot_config
char * carmen_robot_host
double carmen_robot_collision_avoidance_frequency
double carmen_robot_sensor_time_of_last_update

Detailed Description

The CARMEN robot module the provides an abstract view to the hardware.

The module robot the provides an abstract view to the hardware. It combines the odometry information with the laser data...


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