stage.h File Reference


Detailed Description

Stage library header file

This header file contains the external interface for the Stage library

#include <stdlib.h>
#include <stdio.h>
#include <sys/socket.h>
#include <netdb.h>
#include <string.h>
#include <unistd.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/time.h>
#include <assert.h>
#include <pthread.h>
#include <semaphore.h>
#include <glib.h>
#include <rtk.h>
#include "config.h"
#include "replace.h"

Go to the source code of this file.


Data Structures

struct  stg_size_t
struct  stg_pose_t
struct  stg_geom_t
struct  stg_bounds_t
struct  stg_fov_t
struct  stg_energy_data_t
struct  stg_energy_config_t
struct  stg_point_t
struct  stg_polygon_t
struct  stg_cbarg_t
struct  stg_blobfinder_config_t
struct  stg_blobfinder_blob_t
struct  stg_laser_sample_t
struct  stg_laser_config_t
struct  stg_gripper_config_t
struct  stg_gripper_cmd_t
struct  stg_gripper_data_t
struct  stg_fiducial_config_t
struct  stg_fiducial_t
struct  stg_ranger_config_t
struct  stg_ranger_sample_t
struct  stg_position_cmd_t
struct  stg_position_data_t

Defines

#define FiducialNone   0
#define STG_MOVE_TRANS   (1 << 0)
#define STG_MOVE_ROT   (1 << 1)
#define STG_MOVE_SCALE   (1 << 2)
#define STG_PROPNAME_MAX   128
#define STG_BLOB_CHANNELS_MAX   16
#define STG_POSITION_CONTROL_DEFAULT   STG_POSITION_CONTROL_VELOCITY
#define STG_POSITION_LOCALIZATION_DEFAULT   STG_POSITION_LOCALIZATION_GPS
#define STG_POSITION_DRIVE_DEFAULT   STG_POSITION_DRIVE_DIFFERENTIAL
#define PRECISION   100000.0
#define EQ(A, B)   ((lrint(A*PRECISION))==(lrint(B*PRECISION)))
#define LT(A, B)   ((lrint(A*PRECISION))<(lrint(B*PRECISION)))
#define GT(A, B)   ((lrint(A*PRECISION))>(lrint(B*PRECISION)))
#define GTE(A, B)   ((lrint(A*PRECISION))>=(lrint(B*PRECISION)))
#define LTE(A, B)   ((lrint(A*PRECISION))<=(lrint(B*PRECISION)))
#define TRUE   1
#define FALSE   0
#define MILLION   1e6
#define BILLION   1e9
#define M_PI   3.14159265358979323846
#define TWOPI   (2.0*M_PI)
#define RTOD(r)   ((r) * 180.0 / M_PI)
#define DTOR(d)   ((d) * M_PI / 180.0)
#define NORMALIZE(z)   atan2(sin(z), cos(z))

Typedefs

typedef int stg_id_t
typedef double stg_meters_t
typedef double stg_radians_t
typedef unsigned long stg_msec_t
typedef double stg_kg_t
typedef double stg_joules_t
typedef double stg_watts_t
typedef int stg_bool_t
typedef uint32_t stg_color_t
typedef int stg_obstacle_return_t
typedef int stg_blob_return_t
typedef int stg_fiducial_return_t
typedef int stg_ranger_return_t
typedef stg_pose_t stg_velocity_t
typedef int stg_movemask_t
typedef _stg_world stg_world_t
typedef _stg_model stg_model_t
typedef int(* stg_property_callback_t )(stg_model_t *mod, char *propname, void *data, size_t len, void *userdata)
typedef int(* stg_model_initializer_t )(stg_model_t *)
typedef int stg_position_stall_t

Enumerations

enum  stg_gripper_return_t { STG_GRIP_NO = 0, STG_GRIP_YES }
enum  stg_laser_return_t { LaserTransparent, LaserVisible, LaserBright }
enum  stg_gripper_paddle_state_t { STG_GRIPPER_PADDLE_OPEN = 0, STG_GRIPPER_PADDLE_CLOSED, STG_GRIPPER_PADDLE_OPENING, STG_GRIPPER_PADDLE_CLOSING }
enum  stg_gripper_lift_state_t { STG_GRIPPER_LIFT_DOWN = 0, STG_GRIPPER_LIFT_UP, STG_GRIPPER_LIFT_UPPING, STG_GRIPPER_LIFT_DOWNING }
enum  stg_gripper_cmd_type_t {
  STG_GRIPPER_CMD_NOP = 0, STG_GRIPPER_CMD_OPEN, STG_GRIPPER_CMD_CLOSE, STG_GRIPPER_CMD_UP,
  STG_GRIPPER_CMD_DOWN
}
enum  stg_position_control_mode_t { STG_POSITION_CONTROL_VELOCITY, STG_POSITION_CONTROL_POSITION }
enum  stg_position_localization_mode_t { STG_POSITION_LOCALIZATION_GPS, STG_POSITION_LOCALIZATION_ODOM }
enum  stg_position_drive_mode_t { STG_POSITION_DRIVE_DIFFERENTIAL, STG_POSITION_DRIVE_OMNI }

Functions

void stg_print_geom (stg_geom_t *geom)
void stg_err (const char *err)
stg_msec_t stg_timenow (void)
int stg_init (int argc, char **argv)
int stg_quit_test (void)
void stg_quit_request (void)
const char * stg_version_string (void)
stg_color_t stg_lookup_color (const char *name)
void stg_pose_sum (stg_pose_t *result, stg_pose_t *p1, stg_pose_t *p2)
stg_point_tstg_points_create (size_t count)
void stg_points_destroy (stg_point_t *pts)
stg_polygon_tstg_polygons_create (int count)
void stg_polygons_destroy (stg_polygon_t *p, size_t count)
stg_polygon_tstg_unit_polygon_create (void)
void stg_polygon_set_points (stg_polygon_t *poly, stg_point_t *pts, size_t count)
void stg_polygon_append_points (stg_polygon_t *poly, stg_point_t *pts, size_t count)
void stg_polygons_normalize (stg_polygon_t *polys, int num, double width, double height)
void stg_polygon_print (stg_polygon_t *poly)
void stg_polygons_print (stg_polygon_t *polys, unsigned int count)
stg_polygon_tstg_polygons_from_image_file (const char *filename, size_t *poly_count)
stg_model_tstg_model_create (stg_world_t *world, stg_model_t *parent, stg_id_t id, char *token, stg_model_initializer_t initializer)
void stg_model_destroy (stg_model_t *mod)
void stg_model_get_global_pose (stg_model_t *mod, stg_pose_t *pose)
void stg_model_subscribe (stg_model_t *mod)
void stg_model_unsubscribe (stg_model_t *mod)
void stg_model_load (stg_model_t *mod)
void stg_model_save (stg_model_t *mod)
int stg_model_set_global_pose (stg_model_t *mod, stg_pose_t *gpose)
int stg_model_set_velocity (stg_model_t *mod, stg_velocity_t *vel)
int stg_model_set_parent (stg_model_t *mod, stg_model_t *newparent)
void stg_model_get_geom (stg_model_t *mod, stg_geom_t *dest)
void stg_model_get_velocity (stg_model_t *mod, stg_velocity_t *dest)
void stg_model_set_property (stg_model_t *mod, const char *prop, void *data, size_t len)
void * stg_model_get_property (stg_model_t *mod, const char *prop, size_t *len)
void * stg_model_get_property_fixed (stg_model_t *mod, const char *name, size_t size)
void stg_model_property_refresh (stg_model_t *mod, const char *propname)
stg_polygon_tstg_model_get_polygons (stg_model_t *mod, size_t *poly_count)
void stg_model_set_polygons (stg_model_t *mod, stg_polygon_t *polys, size_t poly_count)
int stg_model_add_property_callback (stg_model_t *mod, const char *prop, stg_property_callback_t, void *user)
int stg_model_remove_property_callback (stg_model_t *mod, const char *prop, stg_property_callback_t)
int stg_model_remove_property_callbacks (stg_model_t *mod, const char *prop)
void stg_model_print (stg_model_t *mod)
int stg_model_is_antecedent (stg_model_t *mod, stg_model_t *testmod)
int stg_model_is_descendent (stg_model_t *mod, stg_model_t *testmod)
int stg_model_is_related (stg_model_t *mod1, stg_model_t *mod2)
stg_model_tstg_model_root (stg_model_t *mod)
GPtrArray * stg_model_array_from_tree (stg_model_t *root)
int stg_model_startup (stg_model_t *mod)
int stg_model_shutdown (stg_model_t *mod)
int stg_model_update (stg_model_t *model)
void stg_model_global_to_local (stg_model_t *mod, stg_pose_t *pose)
void stg_model_local_to_global (stg_model_t *mod, stg_pose_t *pose)
void stg_model_add_property_toggles (stg_model_t *mod, const char *propname, stg_property_callback_t callback_on, void *arg_on, stg_property_callback_t callback_off, void *arg_off, const char *label, int enabled)
int stg_model_fig_clear_cb (stg_model_t *mod, void *data, size_t len, void *userp)
stg_world_tstg_world_create (stg_id_t id, const char *token, int sim_interval, int real_interval, double ppm, double width, double height)
stg_world_tstg_world_create_from_file (const char *worldfile_path)
void stg_world_destroy (stg_world_t *world)
void stg_world_stop (stg_world_t *world)
void stg_world_start (stg_world_t *world)
int stg_world_update (stg_world_t *world, int sleepflag)
void stg_world_load (stg_world_t *mod)
void stg_world_save (stg_world_t *mod)
void stg_world_print (stg_world_t *world)
void stg_world_set_interval_real (stg_world_t *world, unsigned int val)
void stg_world_set_interval_sim (stg_world_t *world, unsigned int val)
stg_model_tstg_world_get_model (stg_world_t *world, stg_id_t mid)
stg_model_tstg_world_model_name_lookup (stg_world_t *world, const char *name)
void stg_world_add_property_callback (stg_world_t *world, char *propname, stg_property_callback_t callback, void *userdata)
void stg_world_remove_property_callback (stg_world_t *world, char *propname, stg_property_callback_t callback)
stg_model_tstg_blobfinder_create (stg_world_t *world, stg_model_t *parent, stg_id_t id, char *token)
void stg_print_laser_config (stg_laser_config_t *slc)
stg_model_tstg_laser_create (stg_world_t *world, stg_model_t *parent, stg_id_t id, char *token)
size_t stg_model_get_data_laser (stg_model_t *mod, stg_laser_sample_t *data, size_t max_samples)
void stg_print_gripper_config (stg_gripper_config_t *slc)
stg_model_tstg_gripper_create (stg_world_t *world, stg_model_t *parent, stg_id_t id, char *token)
stg_model_tstg_fiducial_create (stg_world_t *world, stg_model_t *parent, stg_id_t id, char *token)
stg_model_tstg_ranger_create (stg_world_t *world, stg_model_t *parent, stg_id_t id, char *token)
stg_model_tstg_position_create (stg_world_t *world, stg_model_t *parent, stg_id_t id, char *token)
void stg_model_position_set_odom (stg_model_t *mod, stg_pose_t *odom)

Define Documentation

#define TRUE   1
 

#define FALSE   0
 

#define MILLION   1e6
 

#define BILLION   1e9
 

#define M_PI   3.14159265358979323846
 

#define TWOPI   (2.0*M_PI)
 

#define RTOD  )     ((r) * 180.0 / M_PI)
 

Convert radians to degrees.

#define DTOR  )     ((d) * M_PI / 180.0)
 

Convert degrees to radians.

#define NORMALIZE  )     atan2(sin(z), cos(z))
 

Normalize angle to domain -pi, pi.


Generated on Thu Aug 11 13:08:10 2005 for Stage by  doxygen 1.4.0