This group congregates all laser 3D processing activities. More...
![]() |
Data Structures | |
class | CircularIndex |
Used to have circular indexing without having to repeat code of the type ab. More... | |
struct | laser3d_serial_t |
struct | laser3d_config_t |
struct | laser2d_config_t |
struct | TYPE_laser3d_params |
struct | TYPE_3d_field_of_perception |
struct | TYPE_sensor_field_of_perception |
struct | TYPE_carmen_laser3d_sensordata_message_test |
struct | TYPE_viewpoint |
struct | TYPE_staticobjects |
class | CircularIndex::CircularIndex |
the instantiation and can be used to immediately set the length of the circular indexing. More... | |
class | CircularIndex::Sum |
adds a unit to the present index or returns it to zero if index exceeds length-1. More... | |
class | CircularIndex::GetIndex |
returns the present value of the circular index More... | |
class | CircularIndex::GetSize |
returns the present value of the circular index More... | |
class | CircularIndex::SetLength |
used to set the length of the circular index More... | |
Files | |
file | laser3d.cpp |
This module is used to subscribe and combine data from the SICK laser with data from the PIC (encoder). | |
Defines | |
#define | textRESET 0 |
#define | textBRIGHT 1 |
#define | textDIM 2 |
#define | textUNDERLINE 4 |
#define | textBLINK 4 |
#define | textREVERSE 7 |
#define | textHIDDEN 8 |
#define | textSTRIKETHROUGH 9 |
#define | textBLACK 0 |
#define | textRED 1 |
#define | textGREEN 2 |
#define | textYELLOW 3 |
#define | textBLUE 4 |
#define | textMAGENTA 5 |
#define | textCYAN 6 |
#define | textGREY 7 |
#define | textWHITE 8 |
#define | LASER3D_OCCURRED_NAME "laser3d_reset_occurred" |
#define | LASER3D_RESET_COMMAND_NAME "laser3d_reset_command" |
#define | CARMEN_LASER3D_PUBLISH_SENSORDATA_NAME_TEST "carmen_laser3d_sensordata_test" |
#define | CARMEN_LASER3D_PUBLISH_SENSORDATA_FMT_TEST "{int, <int:1>}" |
#define | LASER3D_POINTCLOUD_MESSAGE_NAME "laser3d_pointcloud" |
#define | LASER3D_POINTCLOUD_MESSAGE_FMT XB3_3DPOINTCLOUD_MESSAGE_FMT |
#define | LASER3D_POINTCLOUD_SERVER_MESSAGE_NAME "laser3d_server_sensordata" |
#define | LASER3D_POINTCLOUD_SERVER_MESSAGE_FMT LASER3D_POINTCLOUD_MESSAGE_FMT |
#define | bzero(b, len) (memset((b), '\0', (len)), (void) 0) |
Typedefs | |
typedef carmen_default_message | laser3d_reset_occurred_message |
typedef carmen_default_message | laser3d_reset_command_message |
typedef struct laser3d_config_t | laser3d_config_t |
typedef struct laser2d_config_t | laser2d_config_t |
typedef xb3_3dpointcloud_message | TYPE_laser3d_pointcloud_message |
typedef TYPE_xbcameratmatrix_params | TYPE_laser3dmatrixparams |
Enumerations | |
enum | TYPE_event { NOROT = 0, ROT_XY, ROT_Z, MOVE_XY, NOROT = 0, ROT_XY, ROT_Z, MOVE_XY, NOROT = 0, ROT_XY, ROT_Z, MOVE_XY, NOROT = 0, ROT_XY, ROT_Z, MOVE_XY } |
Functions | |
void | textcolor (int attr, int fg, int bg) |
void | shutdown_module (int x) |
makes a clean shutdown of the program | |
static void | laser_handler (carmen_laser_laser_message *laser) |
Used to subscribe the 2D message and pass the information into the 3D laser message format. | |
int | main (int argc, char *argv[]) |
int | laser3d_configure (laser3d_config_t config, laser2d_config_t config2) |
Used to configure the operation of the 3D laser. | |
int | laser3d_readconfig_parameters (int argc, char **argv) |
void | laser3d_allocate_mem () |
bool | filter_this_point (TYPE_3d_field_of_perception *fp, double x, double y, double z) |
Used to filter points in the car reference system. | |
bool | filter_this_acquisition (TYPE_sensor_field_of_perception *fp, double range, double theta, double phi) |
Used to filter points in the sensor reference system. | |
void | param_daemon_install_laser3dtmatrix_params (TYPE_xbcameratmatrix_params *p, int subscribe_changes, int verbose) |
Loads the coordinate transformation matrix. | |
void | laser3d_subscribe_information (TYPE_laser3d_pointcloud_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how) |
void | laser3d_publish_information (TYPE_laser3d_pointcloud_message *msg) |
void | laser3d_subscribe_sensordata_message_test (TYPE_carmen_laser3d_sensordata_message_test *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how) |
void | laser3d_publish_sensordata_message_test (TYPE_carmen_laser3d_sensordata_message_test *msg) |
void | initialize_serial (laser3d_serial_t *PIC_serial_config) |
void | send_position_request (laser3d_serial_t PIC_serial_config, unsigned char *PIC_send_msg, long unsigned int size_of_message) |
void * | read_serial_V3_threaded (void *trash) |
void | read_serial (void) |
double | interpolate (double *x, double *y, double xi, int dim) |
Conventional interpolation - this is to be removed in the future: do not use. | |
void | unwrap3600 (double *y, double *unwrapped_y, int dim) |
Unwraping of the input about 3600, needed just before interpolation for correct estimation of shaft position and speeds. | |
double | interpolate_withjump (double *x, double *y, double xi, int dim) |
Interpolation - accounting for jumps in the input, in this case it interpolates shaft position 0-3600. | |
double | estimate_shaft_angular_rate (double *x, double *y, int dim) |
bool | sort_V2 (double *nData, int *SortedDataIndex, int nFirst, int nLast, bool bAscend) |
one dimensional sorting | |
void | draw_axis_system (void) |
void | create_axis_system (void) |
void | load_viewpoint_from_file (char *str) |
void | save_viewpoint_to_file (void) |
int | WindowDump (int width, int height, IplImage *src) |
static void | create_axis_tips (double radius, double height) |
creates a solid cone used to draw the axis tip. | |
static void | create_axis_x (int size) |
creates line segment in the screens x direction. | |
static void | create_axis_y (int size) |
creates line segment in the screens y direction. | |
static void | create_axis_z (int size) |
creates line segment in the screens x direction. | |
static void | laser_pts () |
uses the global variable laser3d in order to produce a 3D point cloud as retrieved from the laser | |
static void | draw (void) |
draws the refernce system and calls the point cloud drawing procedure | |
static void | idle (void) |
nothing special to do | |
void | visible (int vis) |
static void | key (unsigned char k, int x, int y) |
used by GLUT to handle the behaviour of pressed keys, basically zoom and escape. | |
static void | special (int k, int x, int y) |
used by GLUT to handle the behaviour of pressed keys, basically rotations. | |
static void | reshape (int width, int height) |
used by GLUT to handle window resizing. | |
static void | init (int argc, char *argv[]) |
used by GLUT to initialize the viewing system and necessary lists. | |
void | mouse (int button, int state, int x, int y) |
void | motion (int x, int y) |
static void | laser3d_handler (TYPE_laser3d_pointcloud_message *laser3d) |
the handler called by subscription routine to get data through IPC | |
int | main (int argc, char **argv) |
CircularIndex::CircularIndex (int vectorlength) | |
int | CircularIndex::Sum () |
int | CircularIndex::GetIndex () |
int | CircularIndex::GetSize () |
void | CircularIndex::SetLength (int vectorlength) |
Variables | |
static double | elapsed_time_2dscan |
static double | timestamp_2dscan |
const int | n_PIC_readings = 20 |
sem_t | read_serial_semaphore |
sem_t | read_num_semaphore |
pthread_mutex_t | read_serial_mutex |
double | PIC_encoder_num |
TYPE_laser3d_pointcloud_message | laser3d |
TYPE_laser3d_pointcloud_message | laser3d_to_IPC |
TYPE_xbcameratmatrix_params | tp |
TYPE_laser3d_params | laser3d_params |
TYPE_3d_field_of_perception | fp |
TYPE_sensor_field_of_perception | lp |
TYPE_carmen_laser3d_sensordata_message_test | laser3d_test |
double | PIC_timestamp [n_PIC_readings] |
double | PIC_encoder_num_circ [n_PIC_readings] |
int | thread_must_stop |
int | thread_has_stopped |
int | rpm |
TYPE_executionflags | flags |
Include the interface. | |
CircularIndex | circ_index |
IplImage * | img_out |
IplImage * | img |
char | autorotation = 0 |
int | visualizingmode |
TYPE_staticobjects | t_staticobjects |
TYPE_viewpoint | t_viewpoint |
TYPE_laser3d_pointcloud_message | laser3d |
TYPE_xbcameratmatrix_params | tp |
TYPE_laser3d_params | laser3d_params |
TYPE_carmen_laser3d_sensordata_message_test | laser3d_test |
This group congregates all laser 3D processing activities.
#define bzero | ( | b, | |||
len | ) | (memset((b), '\0', (len)), (void) 0) |
#define CARMEN_LASER3D_PUBLISH_SENSORDATA_FMT_TEST "{int, <int:1>}" |
#define CARMEN_LASER3D_PUBLISH_SENSORDATA_NAME_TEST "carmen_laser3d_sensordata_test" |
#define LASER3D_OCCURRED_NAME "laser3d_reset_occurred" |
#define LASER3D_POINTCLOUD_MESSAGE_FMT XB3_3DPOINTCLOUD_MESSAGE_FMT |
Referenced by register_ipc_messages().
#define LASER3D_POINTCLOUD_MESSAGE_NAME "laser3d_pointcloud" |
Referenced by register_ipc_messages().
#define LASER3D_POINTCLOUD_SERVER_MESSAGE_FMT LASER3D_POINTCLOUD_MESSAGE_FMT |
#define LASER3D_POINTCLOUD_SERVER_MESSAGE_NAME "laser3d_server_sensordata" |
#define LASER3D_RESET_COMMAND_NAME "laser3d_reset_command" |
#define textBLACK 0 |
#define textBLINK 4 |
#define textBLUE 4 |
#define textBRIGHT 1 |
#define textCYAN 6 |
#define textDIM 2 |
#define textGREEN 2 |
#define textGREY 7 |
#define textHIDDEN 8 |
#define textMAGENTA 5 |
#define textRED 1 |
#define textRESET 0 |
#define textREVERSE 7 |
#define textSTRIKETHROUGH 9 |
#define textUNDERLINE 4 |
#define textWHITE 8 |
#define textYELLOW 3 |
typedef struct laser2d_config_t laser2d_config_t |
typedef struct laser3d_config_t laser3d_config_t |
typedef carmen_default_message laser3d_reset_command_message |
typedef carmen_default_message laser3d_reset_occurred_message |
enum TYPE_event |
CircularIndex::CircularIndex | ( | int | vectorlength | ) | [inherited] |
References CircularIndex::vectorindex, and CircularIndex::vectorsize.
void create_axis_system | ( | void | ) |
create_axis_tips | ( | double | radius, | |
double | height | |||
) | [static] |
creates a solid cone used to draw the axis tip.
in,: | the radius and height in drawing units |
create_axis_x | ( | int | size | ) | [static] |
creates line segment in the screens x direction.
in,: | size |
create_axis_y | ( | int | size | ) | [static] |
creates line segment in the screens y direction.
in,: | size |
create_axis_z | ( | int | size | ) | [static] |
creates line segment in the screens x direction.
in,: | size |
static void draw | ( | void | ) | [static] |
draws the refernce system and calls the point cloud drawing procedure
References autorotation, draw_axis_system(), TYPE_laser3d_params::laser2d_config, laser3d_params, laser_pts(), laser2d_config_t::num_readings, TYPE_viewpoint::pos, TYPE_viewpoint::rot, TRUE, TYPE_viewpoint::x, TYPE_viewpoint::y, and TYPE_viewpoint::z.
Referenced by main().
void draw_axis_system | ( | void | ) |
double estimate_shaft_angular_rate | ( | double * | x, | |
double * | y, | |||
int | dim | |||
) |
bool filter_this_acquisition | ( | TYPE_sensor_field_of_perception * | fp, | |
double | range, | |||
double | theta, | |||
double | phi | |||
) |
Used to filter points in the sensor reference system.
in | : fp is the filter configuration, see messages.h | |
in | : range, theta, phi are the coordinates to be tested against the filter configuration | |
return | : bool, true if point is to be filtered |
Referenced by laser_handler().
bool filter_this_point | ( | TYPE_3d_field_of_perception * | fp, | |
double | x, | |||
double | y, | |||
double | z | |||
) |
Used to filter points in the car reference system.
in | : fp is the filter configuration, see messages.h | |
in | : x, y, z the coordinates to be tested against the filter configuration | |
return | : bool, true if point is to be filtered |
Referenced by laser_handler().
int CircularIndex::GetIndex | ( | ) | [inherited] |
References CircularIndex::vectorindex.
int CircularIndex::GetSize | ( | ) | [inherited] |
References CircularIndex::vectorsize.
Referenced by laser_handler().
idle | ( | void | ) | [static] |
static void init | ( | int | argc, | |
char * | argv[] | |||
) | [static] |
used by GLUT to initialize the viewing system and necessary lists.
References create_axis_system().
Referenced by main().
void initialize_serial | ( | laser3d_serial_t * | PIC_serial_config | ) |
double interpolate | ( | double * | x, | |
double * | y, | |||
double | xi, | |||
int | dim | |||
) |
Conventional interpolation - this is to be removed in the future: do not use.
in | : x, x 1D array values sorted in ascending order | |
in | : y, y values | |
in | : xi, value where interpolation is necessary | |
in | : dim, length of the array | |
return | : yi, the interpolated value |
double interpolate_withjump | ( | double * | x, | |
double * | y, | |||
double | xi, | |||
int | dim | |||
) |
Interpolation - accounting for jumps in the input, in this case it interpolates shaft position 0-3600.
in | : x, x 1D array values sorted in ascending order | |
in | : y, shaft positions | |
in | : xi, value where interpolation is necessary | |
in | : dim, length of the array | |
return | : yi, the interpolated value |
Referenced by laser_handler().
key | ( | unsigned char | k, | |
int | x, | |||
int | y | |||
) | [static] |
used by GLUT to handle the behaviour of pressed keys, basically zoom and escape.
References autorotation, img, img_out, load_viewpoint_from_file(), TYPE_viewpoint::pos, TYPE_viewpoint::rot, save_viewpoint_to_file(), TYPE_viewpoint::sensitivity, WindowDump(), TYPE_viewpoint::x, TYPE_viewpoint::y, and TYPE_viewpoint::z.
Referenced by main().
void laser3d_allocate_mem | ( | ) |
References laser3d, xb3_3dpointcloud_message::npoints, xb3_3dpointcloud_message::remission, xb3_3dpointcloud_message::x, xb3_3dpointcloud_message::y, and xb3_3dpointcloud_message::z.
Referenced by main().
int laser3d_configure | ( | laser3d_config_t | config, | |
laser2d_config_t | config2 | |||
) |
Used to configure the operation of the 3D laser.
in | : config | |
in | : config2 |
static void laser3d_handler | ( | TYPE_laser3d_pointcloud_message * | laser3d | ) | [static] |
the handler called by subscription routine to get data through IPC
in,: | laser3d is the structure defined in messages and used to receive data through IPC |
Referenced by main().
void laser3d_publish_information | ( | TYPE_laser3d_pointcloud_message * | msg | ) |
void laser3d_publish_sensordata_message_test | ( | TYPE_carmen_laser3d_sensordata_message_test * | msg | ) |
int laser3d_readconfig_parameters | ( | int | argc, | |
char ** | argv | |||
) |
void laser3d_subscribe_information | ( | TYPE_laser3d_pointcloud_message * | msg, | |
carmen_handler_t | handler, | |||
carmen_subscribe_t | subscribe_how | |||
) |
void laser3d_subscribe_sensordata_message_test | ( | TYPE_carmen_laser3d_sensordata_message_test * | msg, | |
carmen_handler_t | handler, | |||
carmen_subscribe_t | subscribe_how | |||
) |
static void laser_handler | ( | carmen_laser_laser_message * | laser | ) | [static] |
Used to subscribe the 2D message and pass the information into the 3D laser message format.
in | : pointer to variable laser of type carmen_laser_laser_message |
References laser2d_config_t::angular_resolution, circ_index, TYPE_xbcameratmatrix_params::e11, TYPE_xbcameratmatrix_params::e12, TYPE_xbcameratmatrix_params::e13, TYPE_xbcameratmatrix_params::e14, TYPE_xbcameratmatrix_params::e21, TYPE_xbcameratmatrix_params::e22, TYPE_xbcameratmatrix_params::e23, TYPE_xbcameratmatrix_params::e24, TYPE_xbcameratmatrix_params::e31, TYPE_xbcameratmatrix_params::e32, TYPE_xbcameratmatrix_params::e33, TYPE_xbcameratmatrix_params::e34, elapsed_time_2dscan, filter_this_acquisition(), filter_this_point(), fp, CircularIndex::GetSize(), xb3_3dpointcloud_message::host, i, interpolate_withjump(), laser3d_config_t::istilted, TYPE_laser3d_params::laser2d_config, laser3d, TYPE_laser3d_params::laser3d_config, laser3d_params, laser3d_to_IPC, lp, n_PIC_readings, xb3_3dpointcloud_message::npoints, xb3_3dpointcloud_message::nremissionpoints, laser2d_config_t::num_readings, PIC_encoder_num, PIC_encoder_num_circ, PIC_timestamp, xb3_3dpointcloud_message::remission, rpm, laser2d_config_t::start_angle, CircularIndex::Sum(), xb3_3dpointcloud_message::timestamp, timestamp_2dscan, tp, TRUE, xb3_3dpointcloud_message::x, xb3_3dpointcloud_message::y, y, and xb3_3dpointcloud_message::z.
Referenced by main().
laser_pts | ( | ) | [static] |
uses the global variable laser3d in order to produce a 3D point cloud as retrieved from the laser
References TYPE_laser3d_params::laser2d_config, laser3d, TYPE_laser3d_params::laser3d_config, laser3d_params, xb3_3dpointcloud_message::npoints, laser2d_config_t::num_readings, xb3_3dpointcloud_message::remission, visualizingmode, laser3d_config_t::visualizingmode, xb3_3dpointcloud_message::x, x, xb3_3dpointcloud_message::y, y, and xb3_3dpointcloud_message::z.
Referenced by draw().
void load_viewpoint_from_file | ( | char * | str | ) |
References TYPE_viewpoint::pos, ret, TYPE_viewpoint::rot, TYPE_viewpoint::x, TYPE_viewpoint::y, and TYPE_viewpoint::z.
int main | ( | int | argc, | |
char ** | argv | |||
) |
References TYPE_carmen_laser3d_sensordata_message_test::a_t, draw(), FALSE, TYPE_viewpoint::glwindow, TYPE_viewpoint::height, i, img, img_out, init(), key(), TYPE_laser3d_params::laser2d_config, laser3d_allocate_mem(), TYPE_laser3d_params::laser3d_config, laser3d_handler(), laser3d_params, laser3d_subscribe_information(), laser3d_subscribe_sensordata_message_test(), laser3d_test, motion, mouse(), TYPE_viewpoint::mouse, laser2d_config_t::num_readings, laser3d_config_t::num_scans, params, TYPE_viewpoint::pos, reshape(), ret, TYPE_viewpoint::rot, TYPE_viewpoint::sensitivity, shutdown_module(), special(), TRUE, visible(), laser3d_config_t::visualizingmode, visualizingmode, TYPE_viewpoint::width, TYPE_viewpoint::x, TYPE_viewpoint::y, and TYPE_viewpoint::z.
int main | ( | int | argc, | |
char * | argv[] | |||
) |
References _LAR_TEXT_BLACK_, _LAR_TEXT_BRIGHT_, _LAR_TEXT_GREEN_, _LAR_TEXT_RESET_, _LAR_TEXT_WHITE_, TYPE_carmen_laser3d_sensordata_message_test::a_t, TYPE_carmen_laser3d_sensordata_message_test::b, FALSE, flags, xb3_3dpointcloud_message::host, key(), laser3d, laser3d_allocate_mem(), TYPE_laser3d_params::laser3d_config, laser3d_params, laser3d_publish_information(), laser3d_readconfig_parameters(), laser3d_test, laser3d_to_IPC, laser_handler(), param_daemon_install_laser3dtmatrix_params(), laser3d_config_t::PIC_serial, read_num_semaphore, read_serial_mutex, read_serial_semaphore, read_serial_V3_threaded(), readcommandlineparameters(), ret, rpm, send_position_request(), shutdown_module(), textcolor(), thread_has_stopped, thread_must_stop, tp, TRUE, xb3_3dpointcloud_message::x, xb3_3dpointcloud_message::y, and xb3_3dpointcloud_message::z.
void motion | ( | int | x, | |
int | y | |||
) |
void mouse | ( | int | button, | |
int | state, | |||
int | x, | |||
int | y | |||
) |
References TYPE_viewpoint::event, TYPE_viewpoint::mouse, MOVE_XY, NOROT, ROT_XY, ROT_Z, TYPE_viewpoint::x, and TYPE_viewpoint::y.
void param_daemon_install_laser3dtmatrix_params | ( | TYPE_xbcameratmatrix_params * | p, | |
int | subscribe_changes, | |||
int | verbose | |||
) |
Loads the coordinate transformation matrix.
in | : p contains the transformation matrix parameters. | |
in | : subscribe_changes, 1 if desired to subscribe changes to the parameters | |
in | : verbose, |
Referenced by main().
void read_serial | ( | void | ) |
void * read_serial_V3_threaded | ( | void * | trash | ) |
static void reshape | ( | int | width, | |
int | height | |||
) | [static] |
void save_viewpoint_to_file | ( | void | ) |
References TYPE_viewpoint::pos, TYPE_viewpoint::rot, str, TYPE_viewpoint::x, TYPE_viewpoint::y, and TYPE_viewpoint::z.
void send_position_request | ( | laser3d_serial_t | PIC_serial_config, | |
unsigned char * | PIC_send_msg, | |||
long unsigned int | size_of_message | |||
) |
void CircularIndex::SetLength | ( | int | vectorlength | ) | [inherited] |
References CircularIndex::vectorsize.
void shutdown_module | ( | int | x | ) |
makes a clean shutdown of the program
makes a clean shutdown of the program.
Module shutdown function.
The main header file for egointerface module.
Safe shutdown.
Does a safe shutdown. Disconnects from IPC. Preform log closing operations and update log statistics.
Safe shutdown of module.
Make a clean exit.
Shuts down cm module with a clean exit.
Does a safe shutdown. Disconnects from IPC.
To do a safe ctrl +c exit.
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
The main header file for this module.
#ifndef _DES70_10_H_ #define _DES70_10_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> //#include <lar/readcommandlineparameters.h> //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### typedef struct{ int baudrate; int sys_config; int cur_reg_gain_p; int cur_reg_gain_i; int max_cur_output; int speed_reg_gain_p; int speed_reg_gain_i; int internal_param1; int internal_param2; int internal_param3; int max_speed_error; int setting_unit_gain; int setting_unit_offset; int setting_unit_delay; int peak_current; int max_cont_current; int therm_const; int max_speed; int acceleration; int speed_constant; int enc_resolution; int pole_pair_number; int internal_param4; int rpm2qc_factor; int index_offset; int pwm_period; int max_duty_cycle; int cur_det_ph_u_offset; int cur_det_ph_v_offset; int ad_conv_offset; int can_module_id; int can_service_id; int can_rx_pdo_id; int can_tx_pdo_id; int can_bcr1; int can_bcr2; int can_op_mode; int can_rx_sdo_id; int can_tx_sdo_id; int can_rtr0_id; int can_rtr1_id; int can_config; int internal_param5; int error_proc; int max_speed_curr; int hall_angle_offs; }TYPE_des_sysparam; enum ENUM_DES_SYS_PARAMS { BAUDRATE = 0, SYS_CONFIG = 1, CUR_REG_GAIN_P = 2, CUR_REG_GAIN_I = 3, MAX_CUR_OUTPUT = 4, SPEED_REG_GAIN_P = 5, SPEED_REG_GAIN_I = 6, INTERNAL_PARAM1 = 7, INTERNAL_PARAM2 = 8, INTERNAL_PARAM3 = 9, MAX_SPEED_ERROR = 10, SETTING_UNIT_GAIN = 11, SETTING_UNIT_OFFSET = 12, SETTING_UNIT_DELAY = 13, PEAK_CURRENT = 14, MAX_CONT_CURRENT = 15, THERM_CONST = 16, MAX_SPEED = 17, ACCELERATION = 18, SPEED_CONSTANT = 19, ENC_RESOLUTION = 20, POLE_PAIR_NUMBER = 21, INTERNAL_PARAM4 = 22, RPM_2QC_FACTOR = 23, INDEX_OFFSET = 24, PWM_PERIOD = 25, MAX_DUTY_CYCLE = 26, CUR_DET_PH_U_OFFSET = 27, CUR_DET_PH_V_OFFSET = 28, AD_CONV_OFFSET = 29, CAN_MODULE_ID = 30, CAN_SERVICE_ID = 31, CAN_RX_PDO_ID = 32, CAN_TX_PDO_ID = 33, CAN_BCR1 = 34, CAN_BCR2 = 35, CAN_OP_MODE = 36, CAN_RX_SDO_ID = 37, CAN_TX_SDO_ID = 38, CAN_RTR0_ID = 39, CAN_RTR1_ID = 40, CAN_CONFIG = 41, INTERNAL_PARAM5 = 42, ERROR_PROC = 43, MAX_SPEED_CURR = 44, HALL_ANGLE_OFFS = 45 }; typedef struct{ int sys_op_status; int actual_mean_cur_d; int actual_mean_cur_q; int cur_setting_val; int rel_rot_pos_rev; int speed_setting_val; int actual_mean_speed_val; int abs_rotor_pos; int standard_error; int can_error; int actual_cur_q; int actual_speed_val; int error_hist1; int error_hist2; int enc_counter; int enc_counter_last_ind; int hall_sens_pat; }TYPE_DES_status_var; enum ENUM_DES_STATUS_VAR { SYS_OP_STATUS = 128, ACTUAL_MEAN_CUR_D = 129, ACTUAL_MEAN_CUR_Q = 130, CUR_SETTING_VAL = 131, REL_ROT_POS_REV = 132, SPEED_SETTING_VAL = 133, ACTUAL_MEAN_SPEED_VAL = 134, ABS_ROTOR_POS = 135, STANDARD_ERROR = 136, CAN_ERROR = 137, ACTUAL_CUR_Q = 138, ACTUAL_SPEED_VAL = 139, ERROR_HIST1 = 140, ERROR_HIST2 = 141, ENC_COUNTER = 142, ENC_COUNTER_LAST_IND = 143, HALL_SENS_PAT = 144, }; typedef struct{ unsigned char OpCode; unsigned char data[520]; int size; int crc; }TYPE_msg_frame; //#################################################################### // Prototypes: for private functions can be declared ################# // in des70_10.c or preferably in des70_10_functions.c ## //#################################################################### //------- des70_10_init.cpp ------- int InitDES_communication(char* com_device, int* port, int baud, TYPE_executionflags* flg); //------- des70_10_functions.cpp ------- int calc_crc_16(TYPE_msg_frame* msg); int write_msg_inbuf(const int port, unsigned char* data, int size); int check_msg_aceptance(const int port, float wait_time, unsigned char* msg); int send_OpCode(const int port, unsigned char tries, unsigned char OpCode, char flg); int send_data(const int port, TYPE_msg_frame* msg, char flg); int read_buffer(const int port, TYPE_msg_frame* msg, char flg); int send_msg_frame(const int port, TYPE_msg_frame* msg, char flg); int DES_ST_read_sys_status(const int port, int* sys_status, char flg); int DES_ST_read_error(const int port, int* errors, char flg); int DES_ST_clear_errors(const int port, char flg); int DES_ST_reset(const int port, char flg); int DES_ST_enable(const int port, int* newState, char flg); int DES_SPF_read_temp_param(const int port, int paramNb, int dataFormat, int* response, char flg); int DES_SPF_set_temp_param(const int port, int paramNb, int dataFormat, int* newValue, char flg); int DES_SPF_read_all_temp_param(const int port, TYPE_des_sysparam* sysparam, char flg); int DES_SF_set_velocity(const int port, int newVelocity, char flg); int DES_SF_set_current(const int port, int newCurrent, char flg); int DES_SF_stop_motion(const int port, char flg); int DES_MF_read_velocity_is_must(const int port, int vel_type, int* velocity, int* requested_vel, char flg); int InitDES(const int port, TYPE_des_sysparam* newSysParam, char flg); int stopDES(const int port, char flg); int DES_set_new_baud(int* port, int baud, char flg); #ifdef _DES70_10_FUNCTIONS_C_ #else #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc | |
x | the type of signal sent: SIGINT etc |
#ifndef _POWERMANAGER_H_ #define _POWERMANAGER_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/powermanager_interface.h> #define _SERIALPORT_ "/dev/ttyUSB0" //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### //#################################################################### // Prototypes: for private functions can be declared ################# // in powermanager.c or preferably in powermanager_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_command_msg(void); void initialize_communications(void); int send_to_plc(unsigned char byte_value); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _POWERMANAGER_CPP_ /*or _POWERMANAGER_C_, depends on the file type*/ //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### //mike confusion, uses a message structure to install parameters. message and parameters should not be different? TYPE_executionflags flags; //the command line parameters flags //creates a the default structure that will deal retrieve parameters. // explain fields (use a handler whenever a parameter changes) // var1 in this case is actually int PortHandle; powermanager_status_message status_msg; powermanager_command_message command_msg; #else extern TYPE_executionflags flags; extern powermanager_status_message status_msg; extern powermanager_command_message command_msg; extern int PortHandle; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc | |
x | the SIGNAL |
x | the SIGNAL |
x | the SIGNAL |
x | the SIGNAL |
#ifndef _XBEE_H_ #define _XBEE_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/xbee_interface.h> #include <strings.h> //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### //#################################################################### // Prototypes: for private functions can be declared ################# // in xbee.c or preferably in xbee_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(char *a, char *b, char *c); void initialize_xbee(void); void xbee_transmit_data(void); void xbee_receive_data(void); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _XBEE_CPP_ /*or _XBEE_C_, depends on the file type*/ //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### //mike confusion, uses a message structure to install parameters. message and parameters should not be different? char *COM_DEVICE_XBEE; //will receive com device address double read_frequency; //will receive com device access frequency TYPE_executionflags flags; //the command line parameters flags xbee_rx_data_message rx_message; //this is a message structure xbee_tx_data_message tx_message; //this is a message structure TYPE_xbee_public_params params; //this is a parameters structure int device_handler_xbee; char* tx_string; //creates a the default structure that will deal with retrieved parameters. // explain fields (use a handler whenever a parameter changes) // the values in the field xbee_data_param_shared_var, from lar.ini, will be installed in var1 // the var type is an integer: CARMEN_PARAM_INT carmen_param_t xbee_local_parameters[] = { {(char*)"xbee", (char*)"frequency", CARMEN_PARAM_DOUBLE, &read_frequency, 1, NULL}, {(char*)"xbee", (char*)"comport", CARMEN_PARAM_STRING, &COM_DEVICE_XBEE, 0, NULL}}; //prepare param struct #else extern char *COM_DEVICE_XBEE; //will receive com device address extern double read_frequency; //will receive com device access frequency extern TYPE_executionflags flags; extern xbee_rx_data_message rx_message; extern xbee_tx_data_message tx_message; extern TYPE_xbee_public_params params; extern int device_handler_xbee; extern char* tx_string; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc |
Disconnects from ipc and releases video writer
x | Signal value. To shutdown signal must be SIGINT |
#ifndef _OT_H_ #define _OT_H_ #include <lar/lar.h> //#include "/home/atlas/lar/src/perception/planarobstacles/potkf_tese/potkf_interface.h" enum enum_state {SEARCHING,TRACKING,TARGET_LOST,INITIALISE}; typedef struct { enum_state state; unsigned int target_id; double current_angle,current_distance; double velocity_module,velocity_angle; double predicted_angle,predicted_distance; double size; int life_time; int occluded_time; int classification; }t_status; typedef struct { double start_angle; double end_angle; double start_range; double end_range; double min_size; double max_size; int min_life_time; int max_life_time; }t_search_area; int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(char *a, char *b, char *c); void potkf_handler(potkf_reduced_data_message*msg); bool search_for_new_target(potkf_reduced_data_message*potkf_msg,t_status*status,t_search_area*area); void init_search_area(t_search_area*area); bool get_new_target_information(potkf_reduced_data_message*potkf_msg,t_status*status); void foveationcontrol(t_status*status); void print_status(t_status*status); void foveationcontrol_home(void); #ifdef _OT_CPP_ bool potkf_heartbeat; TYPE_executionflags flags; //the command line parameters flags #else extern TYPE_executionflags flags; extern bool potkf_heartbeat; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc |
#ifndef _MODULETEMPLATE_H_ #define _MODULETEMPLATE_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/moduletemplate_interface.h> //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### //#################################################################### // Prototypes: for private functions can be declared ################# // in moduletemplate.c or preferably in moduletemplate_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(void); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _MODULETEMPLATE_CPP_ /*or _MODULETEMPLATE_C_, depends on the file type*/ //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### //mike confusion, uses a message structure to install parameters. message and parameters should not be different? TYPE_executionflags flags; //the command line parameters flags moduletemplate_data_message msg; //this is a structure TYPE_moduletemplate_public_params params; //this is a structure //creates a the default structure that will deal with retrieved parameters. // explain fields (use a handler whenever a parameter changes) // the values in the field moduletemplate_data_param_shared_var, from lar.ini, will be installed in var1 // the var type is an integer: CARMEN_PARAM_INT carmen_param_t moduletemplate_local_parameters[] = { {(char*)"moduletemplate", (char*)"shared_var", CARMEN_PARAM_INT, &msg.var1, 1, _cast_to_carmen_param_change_handler_t_ handler_param_daemon} }; //prepare param struct #else extern TYPE_executionflags flags; extern moduletemplate_data_message msg; extern TYPE_moduletemplate_public_params params; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc | |
x | signal | |
x | the type of signal sent, SIGINT etcr | |
signal | signal recived |
x | the type of signal sent, SIGINT is the only one handled |
#ifndef _AGENTS_H_ #define _AGENTS_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### // #include <lar/agents_interface.h> #include <lar/agents_interface.h> #include <lar/agent_tracker_interface.h> //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### typedef struct{ int xbee_address; double sleeptime; double kp; } TYPE_agents_local_params; //#################################################################### // Prototypes: for private functions can be declared ################# // in agents.c or preferably in agents_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(char *a, char *b, char *c); void handler_distance_data(char *a, char *b, char *c); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _AGENTS_CPP_ /*or _AGENTS_C_, depends on the file type*/ //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### TYPE_executionflags flags; //the command line parameters flags agents_data_message agents_message; //this is a structure xbee_tx_data_message xbee_tx_message; //this is a structure TYPE_agents_local_params local_params; //this is a structure for parameters intallation agent_clearance_distance_data_message distance_data_msg; double linear_speed, reference_distance, error; #else extern TYPE_executionflags flags; extern agents_data_message agents_message; //this is a structure extern xbee_tx_data_message xbee_tx_message; //this is a structure extern TYPE_agents_local_params local_params; extern agent_clearance_distance_data_message distance_data_msg; extern double linear_speed, reference_distance, error; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc |
#ifndef _AGENT_BEHAVIOUR_H_ #define _AGENT_BEHAVIOUR_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/agent_behaviour_interface.h> //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### //#################################################################### // Prototypes: for private functions can be declared ################# // in agent_behaviour.c or preferably in agent_behaviour_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(char *a, char *b, char *c); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _AGENT_BEHAVIOUR_CPP_ /*or _AGENT_BEHAVIOUR_C_, depends on the file type*/ //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### //mike confusion, uses a message structure to install parameters. message and parameters should not be different? TYPE_executionflags flags; //the command line parameters flags agent_behaviour_data_message msg; //this is a message structure agent_behaviour_virtual_sensors_data_message virtual_sensors_data_msg; //this is a message structure TYPE_agent_behaviour_public_params params; //this is a parameters structure agents_data_message agents_message; //creates a the default structure that will deal retrieve parameters. // explain fields (use a handler whenever a parameter changes) // var1 in this case is actually carmen_param_t agent_behaviour_params[] = { {(char*)"agents", (char*)"data_param_shared_var", CARMEN_PARAM_INT, &msg.var1, 1, handler_param_daemon} }; //prepare param struct #else extern TYPE_executionflags flags; extern agent_behaviour_data_message msg; extern agent_behaviour_virtual_sensors_data_message virtual_sensors_data_msg; extern TYPE_agent_behaviour_public_params params; extern agents_data_message agents_message; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc |
#ifndef _AGENT_CLEARANCE_H_ #define _AGENT_CLEARANCE_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/agent_clearance_interface.h> #include "/usr/local/include/cvblobs/BlobResult.h" //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### typedef struct{ double sleeptime; } TYPE_agent_clearance_local_params; //#################################################################### // Prototypes: for private functions can be declared ################# // in agent_clearance.c or preferably in agent_clearance_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(char *a, char *b, char *c); void handler_rx_msg_received(void); void arena_image_handler(camera_image_message *msg_firei); void heartbeat_handler_n0(carmen_heartbeat_message *); void get_image(IplImage *image); void flood_fill_fixed_threshold(void); void init_images(void); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _AGENT_CLEARANCE_CPP_ //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### TYPE_executionflags flags; //the command line parameters flags agent_clearance_distance_data_message distance_message; //this is a message structure TYPE_agent_clearance_local_params local_parameters; //this is a parameters structure xbee_rx_data_message rx_message; camera_image_message image_message; int image_message_alloc; char firei_n0_image_message_heartbeat; int msecstowait; int height, width; double ts; IplImage* img; IplImage* gray; IplImage* adapt_thresholded; IplImage* fill_temp; IplImage* filled; IplImage* filled_final; IplImage* tmp; IplImage* image; IplImage* border; IplImage* lanemarkers; IplImage* tophat_image; IplImage* work_image; IplImage* hsv; IplImage* hue; IplImage* saturation; IplImage* value; IplImage* hf; IplImage* sf; IplImage* vf; //creates a the default structure that will deal retrieved parameters. carmen_param_t agent_clearance_params[] = { {(char*)"agents", (char*)"sleeptime", CARMEN_PARAM_DOUBLE, &local_parameters.sleeptime, 1, NULL}}; //declared the install struct #else extern TYPE_executionflags flags; extern agent_clearance_distance_data_message distance_message; //this is a message structure extern TYPE_agent_clearance_local_params local_parameters; extern xbee_rx_data_message rx_message; extern int height, width; extern char firei_n0_image_message_heartbeat; extern IplImage* img; extern IplImage* gray; extern IplImage* adapt_thresholded; extern IplImage* fill_temp; extern IplImage* filled; extern IplImage* filled_final; extern IplImage* tmp; extern IplImage* image; extern IplImage* border; extern IplImage* lanemarkers; extern IplImage* tophat_image; extern IplImage* work_image; extern IplImage* hsv; extern IplImage* hue; extern IplImage* saturation; extern IplImage* value; extern IplImage* hf; extern IplImage* sf; extern IplImage* vf; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc |
#ifndef _AGENT_TRACKER_H_ #define _AGENT_TRACKER_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/agent_tracker_interface.h> //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### //#################################################################### // Prototypes: for private functions can be declared ################# // in agent_tracker.c or preferably in agent_tracker_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(char *a, char *b, char *c); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _AGENT_TRACKER_CPP_ /*or _AGENT_TRACKER_C_, depends on the file type*/ //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### //mike confusion, uses a message structure to install parameters. message and parameters should not be different? TYPE_executionflags flags; //the command line parameters flags agent_tracker_data_message msg; //this is a message structure agent_tracker_virtual_sensors_data_message virtual_sensors_data_msg; //this is a message structure TYPE_agent_tracker_public_params params; //this is a parameters structure agents_data_message agents_message; //creates a the default structure that will deal retrieve parameters. // explain fields (use a handler whenever a parameter changes) // var1 in this case is actually carmen_param_t agent_tracker_params[] = { {(char*)"agents", (char*)"data_param_shared_var", CARMEN_PARAM_INT, &msg.var1, 1, handler_param_daemon} }; //prepare param struct #else extern TYPE_executionflags flags; extern agent_tracker_data_message msg; extern agent_tracker_virtual_sensors_data_message virtual_sensors_data_msg; extern TYPE_agent_tracker_public_params params; extern agents_data_message agents_message; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc |
#ifndef _PDHFFC_H_ #define _PDHFFC_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/pdhffc_interface.h> #include "pdhffc_pid.h" #include "pdhffc_templatetracking.h" //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### //#################################################################### // Prototypes: for private functions can be declared ################# // in pdhffc.c or preferably in pdhffc_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void draw_cross(IplImage *dst, int x, int y, int r, int g, int b); void draw_double_arrow(int x0, int y0, int x1, int y1, IplImage *dst, CvScalar color, int thickness, int line_type, int shift); void draw_blind_zone(IplImage *dst, int target_x, int target_y, int bz_x, int bz_y, int r, int g, int b); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _PDHFFC_CPP_ /*or _PDHFFC_C_, depends on the file type*/ TYPE_executionflags flags; //the command line parameters flags pdhffc_information_message msg; carmen_ptucontrol_command_message ptucommand; cTemplateTracking *TT; camera_params_t cam0_params; camera_params_t cam1_params; #else extern TYPE_executionflags flags; extern pdhffc_information_message msg; extern carmen_ptucontrol_command_message ptucommand; extern cTemplateTracking *TT; extern camera_params_t cam0_params; extern camera_params_t cam1_params; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent, SIGINT etcr | |
x | signal recieved |
#ifndef _TLHFCS_H_ #define _TLHFCS_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/tlhfcs_interface.h> #include <lar/tlcstm_messages.h> #include <lar/soundplayer_interface.h> #include "tlhfcs_init.h" //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### typedef struct { char *filename; CvHaarClassifierCascade* classifier; }TYPE_ligths_cascade; typedef struct { IplImage* img; char name[2500]; }TYPE_image; typedef struct{ int red[3]; int green[3]; int darkgreen[3]; int blue[3]; int darkblue[3]; int yellow[3]; int darkyellow[3]; int cyan[3]; int darkcyan[3]; int orange[3]; int magenta[3]; int darkmagenta[3]; int black[3]; }TYPE_color; typedef struct { TYPE_image ligths; TYPE_image gui_ligths; TYPE_image gray; TYPE_image s_filter; TYPE_image v_filter; TYPE_image sand_v_filter; TYPE_image red_filter; TYPE_image green_filter; TYPE_image yellow_filter; TYPE_image detected_signs; CvSize img_size; CvSize sign_in_size; }TYPE_ligths_imgs; typedef struct { int maxH; int minH; int maxS; int minS; int maxV; int minV; }TYPE_hsv_limits; typedef struct { double max_color_ratio; double max_black_ratio; int sign_min_size; int sign_max_size; double color_obj; double bavg_obj; double err; double avg_around_color_min; double avg_around_color_max; }TYPE_decision_limits; #define MAX_OBJ 30 typedef struct { TYPE_image srcRGB; TYPE_image gui_debug; TYPE_image possible_sign[MAX_OBJ]; TYPE_image mask_p_sign[MAX_OBJ]; TYPE_image vf[MAX_OBJ]; CvRect roi[MAX_OBJ]; double color_r[MAX_OBJ]; double black_r[MAX_OBJ]; double res[MAX_OBJ]; double cratio_weigth; double bavg_weigth; int num_total; int selected; int previous_tot; TYPE_ligths_cascade cascade; TYPE_decision_limits decision_limits; int threshold_lim; }TYPE_sign_analysis; typedef struct { double cratio_weigth; double bavg_weigth; TYPE_ligths_imgs imgs; TYPE_hsv_limits red_limits, green_limits, yellow_limits; TYPE_sign_analysis rc_analysis, gau_analysis, yal_analysis, yar_analysis, park_analysis; char use_angle; char heigth_updated; }TYPE_ligths_analysis; typedef struct { double cofidence; int x; int y; int width; int height; char name[80]; int sign; int* color_rec; int* color_str; double* color_r; double* black_r; }TYPE_detected_sign; //#################################################################### // Prototypes: for private functions can be declared ################# // in tlhfcs.c or preferably in tlhfcs_functions.c ## //#################################################################### //int main(int argc, char **argv); void shutdown_module(int x); //void handler_param_daemon(char *a, char *b, char *c); void heartbeat_handler_n0(carmen_heartbeat_message *heartbeat_msg); void heartbeat_handler_n1(carmen_heartbeat_message *heartbeat_msg); void heartbeat_handler_n2(carmen_heartbeat_message *heartbeat_msg); void heartbeat_handler_n3(carmen_heartbeat_message *heartbeat_msg); void handler_load_rc_haar_cascade(void); void handler_load_gau_haar_cascade(void); void handler_load_yal_haar_cascade(void); void handler_load_yar_haar_cascade(void); void handler_load_park_haar_cascade(void); void handler_sign_in_height_update(void); void handler_sign_size_update(void); void handler_bavg_weight_update(void); void handler_color_weight_update(void); void detect_and_draw_objects( int, CvScalar); void draw_cross(IplImage *src,int line,int column,int lenght, int *color); void draw_gui_sign_data(TYPE_sign_analysis* SA, IplImage* src, int* lx, int* ly, int img_height, CvFont* tmp_font, int* color_line, int* color_text, char* sign_name, int search); void detect_haar_signal(CvHaarClassifierCascade* classifier, TYPE_image* srcRGB,TYPE_sign_analysis* sign_analysis, TYPE_executionflags* flgs, int* color); void color_segmentation(TYPE_hsv_limits* hsv_limits, const IplImage* srcRGB, IplImage* vf, double* ratio, double* b_avg,char debug, char* name); void refresh_windows(void); void init_color_table(TYPE_color* ); void find_tl_sign(TYPE_sign_analysis* sign_analysis, TYPE_hsv_limits*, int* color, TYPE_executionflags* flgs, char* name); void get_image_from_camera3(void); void init_color_values(void); void get_image_from_camera3(void); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _TLHFCS_CPP_ /*or _TLHFCS_C_, depends on the file type*/ TYPE_detected_sign detected_sign; TYPE_color color_table; TYPE_executionflags flags; //the command line parameters flags tlcstm_data_message tl_msg; //TYPE_tlhfcs_public_params params; TYPE_ligths_analysis LA; camera_image_message c0; int c0_alloc=1; camera_image_message c1; int c1_alloc=1; camera_image_message c2; int c2_alloc=1; camera_image_message c3; int c3_alloc=1; char firei_n0_msg_heart_beat = 0; char firei_n1_msg_heart_beat = 0; char firei_n2_msg_heart_beat = 0; char firei_n3_msg_heart_beat = 0; soundplayer_command_message sound_msg; tlcstm_command_message command; char cascade_filename[1024]; double ts; int cycle_freq; c_videosaving* videosaving; c_timer timer; CvFont Font; CvFont Font1; IplImage* image_cam3 = cvCreateImage(LA.imgs.img_size, IPL_DEPTH_8U , 3); char str0[20]; int centerx,centery; carmen_param_t module_refresh_params[] = { {(char*)"freq", (char*)"tlhfcs", CARMEN_PARAM_INT, &cycle_freq, 1, NULL}, }; carmen_param_t colordetection_params[] = { {(char*)"cd", (char*)"red_H_max", CARMEN_PARAM_INT, &LA.red_limits.maxH, 1, NULL}, {(char*)"cd", (char*)"red_H_min", CARMEN_PARAM_INT, &LA.red_limits.minH, 1, NULL}, {(char*)"cd", (char*)"red_S_max", CARMEN_PARAM_INT, &LA.red_limits.maxS, 1, NULL}, {(char*)"cd", (char*)"red_S_min", CARMEN_PARAM_INT, &LA.red_limits.minS, 1, NULL}, {(char*)"cd", (char*)"red_V_max", CARMEN_PARAM_INT, &LA.red_limits.maxV, 1, NULL}, {(char*)"cd", (char*)"red_V_min", CARMEN_PARAM_INT, &LA.red_limits.minV, 1, NULL}, {(char*)"cd", (char*)"green_H_max", CARMEN_PARAM_INT, &LA.green_limits.maxH, 1, NULL}, {(char*)"cd", (char*)"green_H_min", CARMEN_PARAM_INT, &LA.green_limits.minH, 1, NULL}, {(char*)"cd", (char*)"green_S_max", CARMEN_PARAM_INT, &LA.green_limits.maxS, 1, NULL}, {(char*)"cd", (char*)"green_S_min", CARMEN_PARAM_INT, &LA.green_limits.minS, 1, NULL}, {(char*)"cd", (char*)"green_V_max", CARMEN_PARAM_INT, &LA.green_limits.maxV, 1, NULL}, {(char*)"cd", (char*)"green_V_min", CARMEN_PARAM_INT, &LA.green_limits.minV, 1, NULL}, {(char*)"cd", (char*)"yellow_H_max", CARMEN_PARAM_INT, &LA.yellow_limits.maxH, 1, NULL}, {(char*)"cd", (char*)"yellow_H_min", CARMEN_PARAM_INT, &LA.yellow_limits.minH, 1, NULL}, {(char*)"cd", (char*)"yellow_S_max", CARMEN_PARAM_INT, &LA.yellow_limits.maxS, 1, NULL}, {(char*)"cd", (char*)"yellow_S_min", CARMEN_PARAM_INT, &LA.yellow_limits.minS, 1, NULL}, {(char*)"cd", (char*)"yellow_V_max", CARMEN_PARAM_INT, &LA.yellow_limits.maxV, 1, NULL}, {(char*)"cd", (char*)"yellow_V_min", CARMEN_PARAM_INT, &LA.yellow_limits.minV, 1, NULL}, }; //prepare param struct carmen_param_t tlhfcs_camera_params[] = { {(char*)"camera3", (char*)"imagewidth", CARMEN_PARAM_INT, &LA.imgs.img_size.width, 1, NULL}, {(char*)"camera3", (char*)"imageheight", CARMEN_PARAM_INT, &LA.imgs.img_size.height, 1, NULL}, };//prepare param struct from the image that camera3 will give carmen_param_t tlhfcs_params[] = { {(char*)"tlhfcs", (char*)"sign_in_height", CARMEN_PARAM_INT, &LA.imgs.sign_in_size.height, 1, _cast_to_carmen_param_change_handler_t_ handler_sign_in_height_update}, {(char*)"tlhfcs", (char*)"sign_min_size", CARMEN_PARAM_INT, &LA.rc_analysis.decision_limits.sign_min_size, 1, _cast_to_carmen_param_change_handler_t_ handler_sign_size_update}, {(char*)"tlhfcs", (char*)"sign_max_size", CARMEN_PARAM_INT, &LA.rc_analysis.decision_limits.sign_max_size, 1, _cast_to_carmen_param_change_handler_t_ handler_sign_size_update}, {(char*)"tlhfcs", (char*)"thresh_limit", CARMEN_PARAM_INT, &LA.rc_analysis.threshold_lim, 1, NULL}, {(char*)"tlhfcs", (char*)"cratio_weigth", CARMEN_PARAM_DOUBLE, &LA.cratio_weigth, 1, _cast_to_carmen_param_change_handler_t_ handler_color_weight_update}, {(char*)"tlhfcs", (char*)"bavg_weigth", CARMEN_PARAM_DOUBLE, &LA.bavg_weigth, 1, _cast_to_carmen_param_change_handler_t_ handler_bavg_weight_update}, //----------------------------------- //params for Red Cross //----------------------------------- {(char*)"tlhfcs", (char*)"rc_cascade_path", CARMEN_PARAM_STRING, &LA.rc_analysis.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_rc_haar_cascade}, {(char*)"tlhfcs", (char*)"rc_max_cratio", CARMEN_PARAM_DOUBLE, &LA.rc_analysis.decision_limits.max_color_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"rc_max_bratio", CARMEN_PARAM_DOUBLE, &LA.rc_analysis.decision_limits.max_black_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"rc_color_obj", CARMEN_PARAM_DOUBLE, &LA.rc_analysis.decision_limits.color_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"rc_bavg_obj", CARMEN_PARAM_DOUBLE, &LA.rc_analysis.decision_limits.bavg_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"rc_err", CARMEN_PARAM_DOUBLE, &LA.rc_analysis.decision_limits.err, 1, NULL}, //----------------------------------- //params for Green Arrow Up //----------------------------------- {(char*)"tlhfcs", (char*)"gau_cascade_path", CARMEN_PARAM_STRING, &LA.gau_analysis.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_gau_haar_cascade}, {(char*)"tlhfcs", (char*)"gau_max_cratio", CARMEN_PARAM_DOUBLE, &LA.gau_analysis.decision_limits.max_color_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"gau_max_bratio", CARMEN_PARAM_DOUBLE, &LA.gau_analysis.decision_limits.max_black_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"gau_color_obj", CARMEN_PARAM_DOUBLE, &LA.gau_analysis.decision_limits.color_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"gau_bavg_obj", CARMEN_PARAM_DOUBLE, &LA.gau_analysis.decision_limits.bavg_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"gau_err", CARMEN_PARAM_DOUBLE, &LA.gau_analysis.decision_limits.err, 1, NULL}, //----------------------------------- //params for Yellow Arrow Left //----------------------------------- {(char*)"tlhfcs", (char*)"yal_cascade_path", CARMEN_PARAM_STRING, &LA.yal_analysis.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_yal_haar_cascade}, {(char*)"tlhfcs", (char*)"yal_max_cratio", CARMEN_PARAM_DOUBLE, &LA.yal_analysis.decision_limits.max_color_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"yal_max_bratio", CARMEN_PARAM_DOUBLE, &LA.yal_analysis.decision_limits.max_black_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"yal_color_obj", CARMEN_PARAM_DOUBLE, &LA.yal_analysis.decision_limits.color_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"yal_bavg_obj", CARMEN_PARAM_DOUBLE, &LA.yal_analysis.decision_limits.bavg_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"yal_err", CARMEN_PARAM_DOUBLE, &LA.yal_analysis.decision_limits.err, 1, NULL}, //----------------------------------- //params for Yellow Arrow Right //----------------------------------- {(char*)"tlhfcs", (char*)"yar_cascade_path", CARMEN_PARAM_STRING, &LA.yar_analysis.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_yar_haar_cascade}, {(char*)"tlhfcs", (char*)"yar_max_cratio", CARMEN_PARAM_DOUBLE, &LA.yar_analysis.decision_limits.max_color_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"yar_max_bratio", CARMEN_PARAM_DOUBLE, &LA.yar_analysis.decision_limits.max_black_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"yar_color_obj", CARMEN_PARAM_DOUBLE, &LA.yar_analysis.decision_limits.color_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"yar_bavg_obj", CARMEN_PARAM_DOUBLE, &LA.yar_analysis.decision_limits.bavg_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"yar_err", CARMEN_PARAM_DOUBLE, &LA.yar_analysis.decision_limits.err, 1, NULL}, //----------------------------------- //params for Park //----------------------------------- {(char*)"tlhfcs", (char*)"park_cascade_path", CARMEN_PARAM_STRING, &LA.park_analysis.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_park_haar_cascade}, {(char*)"tlhfcs", (char*)"park_max_cratio", CARMEN_PARAM_DOUBLE, &LA.park_analysis.decision_limits.max_color_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"park_max_bratio", CARMEN_PARAM_DOUBLE, &LA.park_analysis.decision_limits.max_black_ratio, 1, NULL}, {(char*)"tlhfcs", (char*)"park_color_obj", CARMEN_PARAM_DOUBLE, &LA.park_analysis.decision_limits.color_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"park_bavg_obj", CARMEN_PARAM_DOUBLE, &LA.park_analysis.decision_limits.bavg_obj, 1, NULL}, {(char*)"tlhfcs", (char*)"park_err", CARMEN_PARAM_DOUBLE, &LA.park_analysis.decision_limits.err, 1, NULL}, };//prepare param struct for this module #else extern TYPE_executionflags flags; extern tlcstm_data_message tl_msg; extern TYPE_ligths_analysis LA; extern CvFont Font; extern CvFont Font1; extern TYPE_color color_table; extern TYPE_detected_sign detected_sign; extern char cascade_filename[1024]; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent, SIGINT etcr |
#ifndef _VSCSHFBA_H_ #define _VSCSHFBA_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/vscshfba_interface.h> #include <lar/tlcstm_messages.h> #include <lar/soundplayer_interface.h> #include <cvblobs/BlobResult.h> //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### typedef struct { char *filename; CvHaarClassifierCascade* classifier; }TYPE_cascade; typedef struct { IplImage* img; char name[25]; }TYPE_image; typedef struct { IplImage* src; IplImage* gui; IplImage* hsv; IplImage* red_h; IplImage* red_s; IplImage* red_v; IplImage* red_h_bin; IplImage* red_h_bin2; IplImage* red_h_bin3; IplImage* red_s_bin; IplImage* red_v_bin; IplImage* red_mask; IplImage* white_h; IplImage* white_s; IplImage* white_v; IplImage* white_h_bin; IplImage* white_s_bin; IplImage* white_v_bin; IplImage* white_mask; IplImage* black_h; IplImage* black_s; IplImage* black_v; IplImage* black_h_bin; IplImage* black_s_bin; IplImage* black_v_bin; IplImage* black_mask; IplImage* blue_h; IplImage* blue_s; IplImage* blue_v; IplImage* blue_h_bin; IplImage* blue_s_bin; IplImage* blue_v_bin; IplImage* blue_mask; IplImage* tmp_h; IplImage* tmp_s; IplImage* tmp_v; CvSize imgs_size; CvSize look_sign_in_size; CvSize gui_size; int heigth_updated; int use_shm; }TYPE_imgs; typedef struct{ int red[3]; int green[3]; int darkgreen[3]; int blue[3]; int darkblue[3]; int yellow[3]; int darkyellow[3]; int cyan[3]; int darkcyan[3]; int orange[3]; int magenta[3]; int darkmagenta[3]; int black[3]; }TYPE_color; typedef struct { int num_hits; double tic; double main_color_ratio; double num_internal_spots; double confidence; double moments_ratio; int accepted; CvPoint center; CvRect region; IplImage* mask0; IplImage* mask1; IplImage* mask2; IplImage* tmp; }TYPE_sign_data; typedef struct { CvSeq* sign_seq; CvMemStorage* memstorage; CvSize tol_area; TYPE_cascade cascade; TYPE_sign_data selected_sign; int min_sign_size; int max_sign_size; int enclosing_size; int num_consecutive_hits; int aceptance_box; double color_obj; double color_err; double color_max; double moment_obj; double moment_err; double moment_max; double overall_confidence; char str[10][50]; char name[10]; }TYPE_sign_analysis; typedef struct { double num_hits; double color; double moment; }TYPE_weights; //#################################################################### // Prototypes: for private functions can be declared ################# // in vscshfba.c or preferably in vscshfba_functions.c ## //#################################################################### //void handler_load_M1_haar_cascade(void); void handler_load_W_N_cascade(void); void handler_load_W_D_cascade(void); void handler_load_M_B_cascade(void); void handler_load_M_L_cascade(void); void handler_load_I_60_cascade(void); void handler_load_I_H_cascade(void); void handler_sign_size(void); void shutdown_module(int x); void heartbeat_handler_n3(carmen_heartbeat_message *heartbeat_msg); void handler_sign_in_height_update(void); void init_color_table(TYPE_color* p); //file vscshfba_functions.cpp void detect_haar_signal(TYPE_sign_analysis* sign_analysis, IplImage* src, IplImage* dst, TYPE_executionflags* flgs, int* color_cross, int* color_box); void set_imageROIs(TYPE_imgs* imgs, CvRect* roi, char flg_set_roi); void check_mask_size(TYPE_sign_data* sign, CvSize* size); void draw_cross(IplImage *src,int line,int column,int lenght, int *color); void reset_imageROIs(TYPE_imgs* imgs); void check_haar_feature_tic(TYPE_sign_analysis* sign_analysis, double* num_cycles); void draw_gui_sign_data(IplImage* src, int* lx, int* ly, int img_height, CvFont* tmp_font, int* color_line, int* color_text, TYPE_sign_analysis* sign, int x_space); void set_cam_params(int x); void confirm_sign_tipology(TYPE_sign_analysis* sign_analysis, TYPE_imgs* imgs, TYPE_color_lim* color_lim, TYPE_weights* weights, TYPE_executionflags* flgs, int flg_ROIS); void show_masks(TYPE_sign_analysis* sign_analysis, TYPE_executionflags* flgs, int* start_x_pos, int* start_y_pos, int step); //functions prototype implemented in main file vscshfba.cpp int get_image_from_camera3(IplImage* dst, int* update_size, int* heart_beat, CvSize* cap_img_size); void set_cam_params(int x); #define AVG(a, b) (((a)+(b))/2) //#define MAX(a, b) ((a>b)? (a) : (b)) //#define MIN(a, b) ((a>b)? (b) : (a)) #define SET_RED_ROI 0b00000001 #define SET_WHITE_ROI 0b00000010 #define SET_BLACK_ROI 0b00000100 #define SET_BLUE_ROI 0b00001000 #define NUM_OF_CYCLES 10 //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _VSCSHFBA_CPP_ /*or _VSCSHFBA_C_, depends on the file type*/ //TYPE_detected_sign detected_sign; TYPE_cascade cascade; TYPE_color color_table; TYPE_acl_color_limits color_limits; TYPE_sign_analysis W_DA, W_NA; TYPE_sign_analysis I_60A, I_HA; TYPE_sign_analysis M_BA, M_LA; TYPE_sign_data* sign_check; TYPE_sign_data* accepted_sign; char sign_name_detected[50]; char searching[50]; CvMoments cent_moments; CBlobResult *blobs; double res; char cascade_filename[1024]; double cycle_freq; c_timer timer; CvFont Font; CvFont Font1; CvFont Font2; TYPE_imgs imgs; int updated_size; TYPE_weights weight; int firei_n3_msg_heart_beat = 0; double ts; camera_image_message c3; int c3_alloc=1; IplImage* image_cam3 = cvCreateImage(cvSize(320,240), IPL_DEPTH_8U , 3); soundplayer_command_message sound_msg; vscshfba_command_message command; vscshfba_data_message vscshfba_msg; TYPE_executionflags flags; //the command line parameters flags c_videosaving* videosaving; //write int gui image all info required int lx=0; int ly = 0; int step = 0; int wind_pos_x = 0; int wind_pos_y = 0; //char str0[40], str1[40]; IplConvKernel* morph_element; carmen_param_t module_refresh_params[] = { {(char*)"freq", (char*)"vscshfba", CARMEN_PARAM_DOUBLE, &cycle_freq, 1, NULL}, }; carmen_param_t acl_colordetection_params[] = { {(char*)"acl", (char*)"red_H_max", CARMEN_PARAM_DOUBLE, &color_limits.red.maxH, 1, NULL}, {(char*)"acl", (char*)"red_H_min", CARMEN_PARAM_DOUBLE, &color_limits.red.minH, 1, NULL}, {(char*)"acl", (char*)"red_S_max", CARMEN_PARAM_DOUBLE, &color_limits.red.maxS, 1, NULL}, {(char*)"acl", (char*)"red_S_min", CARMEN_PARAM_DOUBLE, &color_limits.red.minS, 1, NULL}, {(char*)"acl", (char*)"red_V_max", CARMEN_PARAM_DOUBLE, &color_limits.red.maxV, 1, NULL}, {(char*)"acl", (char*)"red_V_min", CARMEN_PARAM_DOUBLE, &color_limits.red.minV, 1, NULL}, {(char*)"acl", (char*)"white_H_max", CARMEN_PARAM_DOUBLE, &color_limits.white.maxH, 1, NULL}, {(char*)"acl", (char*)"white_H_min", CARMEN_PARAM_DOUBLE, &color_limits.white.minH, 1, NULL}, {(char*)"acl", (char*)"white_S_max", CARMEN_PARAM_DOUBLE, &color_limits.white.maxS, 1, NULL}, {(char*)"acl", (char*)"white_S_min", CARMEN_PARAM_DOUBLE, &color_limits.white.minS, 1, NULL}, {(char*)"acl", (char*)"white_V_max", CARMEN_PARAM_DOUBLE, &color_limits.white.maxV, 1, NULL}, {(char*)"acl", (char*)"white_V_min", CARMEN_PARAM_DOUBLE, &color_limits.white.minV, 1, NULL}, {(char*)"acl", (char*)"black_H_max", CARMEN_PARAM_DOUBLE, &color_limits.black.maxH, 1, NULL}, {(char*)"acl", (char*)"black_H_min", CARMEN_PARAM_DOUBLE, &color_limits.black.minH, 1, NULL}, {(char*)"acl", (char*)"black_S_max", CARMEN_PARAM_DOUBLE, &color_limits.black.maxS, 1, NULL}, {(char*)"acl", (char*)"black_S_min", CARMEN_PARAM_DOUBLE, &color_limits.black.minS, 1, NULL}, {(char*)"acl", (char*)"black_V_max", CARMEN_PARAM_DOUBLE, &color_limits.black.maxV, 1, NULL}, {(char*)"acl", (char*)"black_V_min", CARMEN_PARAM_DOUBLE, &color_limits.black.minV, 1, NULL}, {(char*)"acl", (char*)"blue_H_max", CARMEN_PARAM_DOUBLE, &color_limits.blue.maxH, 1, NULL}, {(char*)"acl", (char*)"blue_H_min", CARMEN_PARAM_DOUBLE, &color_limits.blue.minH, 1, NULL}, {(char*)"acl", (char*)"blue_S_max", CARMEN_PARAM_DOUBLE, &color_limits.blue.maxS, 1, NULL}, {(char*)"acl", (char*)"blue_S_min", CARMEN_PARAM_DOUBLE, &color_limits.blue.minS, 1, NULL}, {(char*)"acl", (char*)"blue_V_max", CARMEN_PARAM_DOUBLE, &color_limits.blue.maxV, 1, NULL}, {(char*)"acl", (char*)"blue_V_min", CARMEN_PARAM_DOUBLE, &color_limits.blue.minV, 1, NULL}, }; carmen_param_t vscshfba_camera_params[] = { {(char*)"camera1", (char*)"imagewidth", CARMEN_PARAM_INT, &imgs.imgs_size.width, 1, NULL}, {(char*)"camera1", (char*)"imageheight", CARMEN_PARAM_INT, &imgs.imgs_size.height, 1, NULL}, }; carmen_param_t vscshfba_params[] = { {(char*)"vscshfba", (char*)"sign_in_height", CARMEN_PARAM_INT, &updated_size, 1, _cast_to_carmen_param_change_handler_t_ handler_sign_in_height_update}, {(char*)"vscshfba", (char*)"weight_color", CARMEN_PARAM_DOUBLE, &weight.color, 1, NULL}, {(char*)"vscshfba", (char*)"weight_moment", CARMEN_PARAM_DOUBLE, &weight.moment, 1, NULL}, {(char*)"vscshfba", (char*)"weight_num_hits", CARMEN_PARAM_DOUBLE, &weight.num_hits, 1, NULL}, //data for information recommended speed 60 {(char*)"vscshfba", (char*)"info_60_color_obj", CARMEN_PARAM_DOUBLE, &I_60A.color_obj, 1, NULL}, {(char*)"vscshfba", (char*)"info_60_color_max", CARMEN_PARAM_DOUBLE, &I_60A.color_max, 1, NULL}, {(char*)"vscshfba", (char*)"info_60_moment_obj", CARMEN_PARAM_DOUBLE, &I_60A.moment_obj, 1, NULL}, {(char*)"vscshfba", (char*)"info_60_moment_max", CARMEN_PARAM_DOUBLE, &I_60A.moment_max, 1, NULL}, {(char*)"vscshfba", (char*)"info_60_aceptance", CARMEN_PARAM_DOUBLE, &I_60A.overall_confidence, 1, NULL}, {(char*)"vscshfba", (char*)"info_60_cascade", CARMEN_PARAM_STRING, &I_60A.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_I_60_cascade}, //data for information hospital near {(char*)"vscshfba", (char*)"info_H_color_obj", CARMEN_PARAM_DOUBLE, &I_HA.color_obj, 1, NULL}, {(char*)"vscshfba", (char*)"info_H_color_max", CARMEN_PARAM_DOUBLE, &I_HA.color_max, 1, NULL}, {(char*)"vscshfba", (char*)"info_H_moment_obj", CARMEN_PARAM_DOUBLE, &I_HA.moment_obj, 1, NULL}, {(char*)"vscshfba", (char*)"info_H_moment_max", CARMEN_PARAM_DOUBLE, &I_HA.moment_max, 1, NULL}, {(char*)"vscshfba", (char*)"info_H_aceptance", CARMEN_PARAM_DOUBLE, &I_HA.overall_confidence, 1, NULL}, {(char*)"vscshfba", (char*)"info_H_cascade", CARMEN_PARAM_STRING, &I_HA.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_I_H_cascade}, {(char*)"vscshfba", (char*)"mand_bus_color_obj", CARMEN_PARAM_DOUBLE, &M_BA.color_obj, 1, NULL}, {(char*)"vscshfba", (char*)"mand_bus_color_max", CARMEN_PARAM_DOUBLE, &M_BA.color_max, 1, NULL}, {(char*)"vscshfba", (char*)"mand_bus_moment_obj", CARMEN_PARAM_DOUBLE, &M_BA.moment_obj, 1, NULL}, {(char*)"vscshfba", (char*)"mand_bus_moment_max", CARMEN_PARAM_DOUBLE, &M_BA.moment_max, 1, NULL}, {(char*)"vscshfba", (char*)"mand_bus_aceptance", CARMEN_PARAM_DOUBLE, &M_BA.overall_confidence, 1, NULL}, {(char*)"vscshfba", (char*)"mand_bus_cascade", CARMEN_PARAM_STRING, &M_BA.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_M_B_cascade}, {(char*)"vscshfba", (char*)"mand_lights_color_obj", CARMEN_PARAM_DOUBLE, &M_LA.color_obj, 1, NULL}, {(char*)"vscshfba", (char*)"mand_lights_color_max", CARMEN_PARAM_DOUBLE, &M_LA.color_max, 1, NULL}, {(char*)"vscshfba", (char*)"mand_lights_moment_obj", CARMEN_PARAM_DOUBLE, &M_LA.moment_obj, 1, NULL}, {(char*)"vscshfba", (char*)"mand_lights_moment_max", CARMEN_PARAM_DOUBLE, &M_LA.moment_max, 1, NULL}, {(char*)"vscshfba", (char*)"mand_lights_aceptance", CARMEN_PARAM_DOUBLE, &M_LA.overall_confidence, 1, NULL}, {(char*)"vscshfba", (char*)"mand_lights_cascade", CARMEN_PARAM_STRING, &M_LA.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_M_L_cascade}, {(char*)"vscshfba", (char*)"warn_dip_color_obj", CARMEN_PARAM_DOUBLE, &W_DA.color_obj, 1, NULL}, {(char*)"vscshfba", (char*)"warn_dip_color_max", CARMEN_PARAM_DOUBLE, &W_DA.color_max, 1, NULL}, {(char*)"vscshfba", (char*)"warn_dip_moment_obj", CARMEN_PARAM_DOUBLE, &W_DA.moment_obj, 1, NULL}, {(char*)"vscshfba", (char*)"warn_dip_moment_max", CARMEN_PARAM_DOUBLE, &W_DA.moment_max, 1, NULL}, {(char*)"vscshfba", (char*)"warn_dip_aceptance", CARMEN_PARAM_DOUBLE, &W_DA.overall_confidence, 1, NULL}, {(char*)"vscshfba", (char*)"warn_dip_cascade", CARMEN_PARAM_STRING, &W_DA.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_W_D_cascade}, {(char*)"vscshfba", (char*)"warn_narrow_color_obj", CARMEN_PARAM_DOUBLE, &W_NA.color_obj, 1, NULL}, {(char*)"vscshfba", (char*)"warn_narrow_color_max", CARMEN_PARAM_DOUBLE, &W_NA.color_max, 1, NULL}, {(char*)"vscshfba", (char*)"warn_narrow_moment_obj", CARMEN_PARAM_DOUBLE, &W_NA.moment_obj, 1, NULL}, {(char*)"vscshfba", (char*)"warn_narrow_moment_max", CARMEN_PARAM_DOUBLE, &W_NA.moment_max, 1, NULL}, {(char*)"vscshfba", (char*)"warn_narrow_aceptance", CARMEN_PARAM_DOUBLE, &W_NA.overall_confidence, 1, NULL}, {(char*)"vscshfba", (char*)"warn_narrow_cascade", CARMEN_PARAM_STRING, &W_NA.cascade.filename, 1, _cast_to_carmen_param_change_handler_t_ handler_load_W_N_cascade}, {(char*)"vscshfba", (char*)"sign_min_size", CARMEN_PARAM_INT, &W_NA.min_sign_size, 1, _cast_to_carmen_param_change_handler_t_ handler_sign_size}, {(char*)"vscshfba", (char*)"sign_max_size", CARMEN_PARAM_INT, &W_NA.max_sign_size, 1, _cast_to_carmen_param_change_handler_t_ handler_sign_size}, {(char*)"vscshfba", (char*)"enclosing_size", CARMEN_PARAM_INT, &W_NA.enclosing_size, 1, _cast_to_carmen_param_change_handler_t_ handler_sign_size}, {(char*)"vscshfba", (char*)"aceptance_box", CARMEN_PARAM_INT, &W_NA.aceptance_box, 1, _cast_to_carmen_param_change_handler_t_ handler_sign_size}, }; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent, SIGINT etcr | |
x | the SIGNAL |
x | the SIGNAL |
in,: | x the type of intercepted signal, SIGINT |
#ifndef _EGOMOTIONGPSIMU_H_ #define _EGOMOTIONGPSIMU_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/egomotiongpsimu_interface.h> #include<amlpp/amlpp.h> #include <gtk/gtk.h> using namespace amlpp; //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### // Class used to create the nonlinear observer objects class Observer { // the observer gains RealMatrix k11; RealMatrix k12; RealMatrix k21; RealMatrix k22; RealMatrix k31; RealMatrix k32; RealMatrix Gain; RealMatrix GainWGPS; RealMatrix GainWOGPS; // the observer states RealMatrix State; RealMatrix StateDot; RealMatrix Residual; // validity of the GPS measurement bool GPSisValid; //Transformation matrices RealMatrix R33_b2n; RealMatrix R33_n2b; RealMatrix T33_b2n; public: Observer(); ~Observer(){}; RealMatrix NlinObsStateUpdateV1(RealMatrix Measurements, Real Tb, Real deltaT); void NlinObsSetGain(); // set the Observer Gain void NlinObsChooseGainOnGPSValidity(bool GPSisValid); // Choose among applicable gains with and without GPS void NlinObsSetK(const char *ktype, double kval); // Set the individual Gain Matrices. void CalcRotationMatrix(double psi, double theta, double phi); // calculate the rotation matrix based on the Euler angles (Cardan Sequence) void NlinObsSetInitalCondition(RealMatrix Measurements); }; //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _EGOMOTIONGPSIMU_CPP_ //#################################################################### // Prototypes: for private functions can be declared ################# // in egomotiongpsimu.c or preferably in egomotiongpsimu_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void shutdown_module_noIPC(int x); void handler_param_daemon(char *a, char *b, char *c); void drawGPSpoints(IplImage*img, int x, int y); void drawEstimatedpoints(IplImage*img, int x, int y); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### TYPE_executionflags flags; //the command line parameters flags egomotiongpsimu_data_message msg; //this is a structure TYPE_egomotiongpsimu_public_params params; //this is a structure bool gprmc_update = FALSE; bool gpgga_update = FALSE; bool xsense_update = FALSE; bool GPSisValid = FALSE; //creates a the default structure that will deal with retrieved parameters. // explain fields (use a handler whenever a parameter changes) // the values in the field egomotiongpsimu_data_param_shared_var, from lar.ini, will be installed in var1 // the var type is an integer: CARMEN_PARAM_INT // carmen_param_t egomotiongpsimu_local_parameters[] = { // {(char*)"egomotiongpsimu", (char*)"shared_var", CARMEN_PARAM_INT, &msg.var1, 1, handler_param_daemon} // }; //prepare param struct #else extern TYPE_executionflags flags; extern egomotiongpsimu_data_message msg; extern TYPE_egomotiongpsimu_public_params params; extern void shutdown_module(int x); #ifdef _EGOMOTIONGPSIMU_FUNCTIONS_CPP_ Real g_arr[] = {0,0,-9.81}; // acceleration of gravity on a (North West Up) NWU reference frame RealMatrix g(g_arr,3,1); // put the array into a matrix for further calculations // #else // extern components egointerface; // extern void next_handler( GtkWidget *widget, gpointer data ); // extern void previous_handler( GtkWidget *widget,gpointer data ); // extern gboolean delete_event( GtkWidget *widget,GdkEvent *event,gpointer data ); // extern void destroy( GtkWidget *widget,gpointer data ); // extern void createWindow(); // extern void createButtons(); // extern void layoutWidgets(); // extern void show(); // extern void draw_brush (GtkWidget *widget, gdouble x, gdouble y); // extern gboolean expose_event( GtkWidget *widget, GdkEventExpose *event ); // extern gboolean configure_event( GtkWidget *widget, GdkEventConfigure *event ); // extern gboolean button_press_event( GtkWidget *widget, GdkEventButton *event ); // extern gboolean motion_notify_event( GtkWidget *widget, GdkEventMotion *event ); // extern void createDrawingArea(); #endif #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc |
#ifndef _LASERPROJECTIONONIMAGE_H_ #define _LASERPROJECTIONONIMAGE_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/laserprojectiononimage_interface.h> //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### //#################################################################### // Prototypes: for private functions can be declared ################# // in laserprojectiononimage.c or preferably in laserprojectiononimage_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(char *a, char *b, char *c); void project_pointcloud_to_image(xb3_3dpointcloud_message *pointcloud, int cam_number, double pan, double tilt, IplImage *dst, unsigned char r=255, unsigned char g=0,unsigned char b=0); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _LASERPROJECTIONONIMAGE_CPP_ /*or _LASERPROJECTIONONIMAGE_C_, depends on the file type*/ //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### //mike confusion, uses a message structure to install parameters. message and parameters should not be different? TYPE_executionflags flags; //the command line parameters flags camera_image_message msg_flea2; IplImage* image; camera_image_message msg_flea2_c1; IplImage* image_c1; xb3_3dpointcloud_message pointcloud_msg_hokuyo; xb3_3dpointcloud_message pointcloud_msg_3dlaser; carmen_ptucontrol_status_message ptu_status; #else extern TYPE_executionflags flags; extern camera_image_message msg_flea2; extern IplImage* image; extern camera_image_message msg_flea2_c1; extern IplImage* image_c1; extern xb3_3dpointcloud_message pointcloud_msg_hokuyo; extern xb3_3dpointcloud_message pointcloud_msg_3dlaser; extern carmen_ptucontrol_status_message ptu_status; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc |
#ifndef _GPS_H_ #define _GPS_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ############################################## //#################################################################### //from gps-io.c #include <lar/gps_interface.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <signal.h> #include <math.h> #include <unistd.h> #include <termios.h> #include <fcntl.h> #include <sys/signal.h> #include <sys/types.h> #include <sys/time.h> #include <sys/ioctl.h> //from old gps.h #define MAX_NAME_LENGTH 256 #define MAX_COMMAND_LENGTH 256 #define EPSILON 0.0001 #define TIMEOUT -1 #define WRONG 0 #define OK 1 //from old gps-io.c #define DEFAULT_GPS_PORT "/dev/ttyUSB0" #define DEFAULT_GPS_BAUD 4800 #define DEFAULT_GPS_PARITY NO #define DEFAULT_GPS_DATABITS 8 #define DEFAULT_GPS_STOPBITS 1 #define DEFAULT_GPS_HWF 1 #define DEFAULT_GPS_SWF 0 #define BUFFER_LENGTH 512 //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################## //#################################################################### enum PARITY_TYPE { NO, EVEN, ODD }; typedef struct { char ttyport[MAX_NAME_LENGTH]; int baud; enum PARITY_TYPE parity; FILE * fp; int fd; int databits; int stopbits; int hwf; int swf; } SerialDevice; //#################################################################### // Prototypes: for private functions can be declared ################ // in gps.c or preferably in gps_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(char *a, char *b, char *c); int carmen_gps_parse_data( char * line, int num_chars ); void DEVICE_set_params( SerialDevice dev ); void DEVICE_set_baudrate( SerialDevice dev, int brate ); int DEVICE_connect_port( SerialDevice *dev ); int DEVICE_send( SerialDevice dev, unsigned char *cmd, int len ); int DECVICE_recieve( SerialDevice dev, unsigned char *cmd, int *len ); int DEVICE_read_data( SerialDevice dev ); int DEVICE_bytes_waiting( int sd ); void DEVICE_init_params( SerialDevice *p ); #ifdef _GPS_CPP_ /*or _GPS_C_, depends on the file type*/ //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### TYPE_executionflags flags; //the command line parameters flags char* comport; int baudrate; gps_gpgga_data_message gpgga_msg; //this is a structure gps_gprmc_data_message gprmc_msg; //this is a structure gps_gpgga_data_message *gps_extern_gpgga_ptr; //this are pointers to the structure gps_gprmc_data_message *gps_extern_gprmc_ptr; //this are pointers to the structure carmen_param_t gps_params[] = { {(char*)"gps", (char*)"comport", CARMEN_PARAM_STRING, &comport, 0, NULL}, {(char*)"gps", (char*)"baudrate", CARMEN_PARAM_INT, &baudrate, 0, NULL} }; //prepare param struct #else extern TYPE_executionflags flags; extern gps_gpgga_data_message gpgga_msg; //this is a structure extern gps_gprmc_data_message gprmc_msg; //this is a structure extern gps_gpgga_data_message * gps_extern_gpgga_ptr; extern gps_gprmc_data_message * gps_extern_gprmc_ptr; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent: SIGINT etc | |
interrupt | signal |
#ifndef _XSENS_H_ #define _XSENS_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/xsens_interface.h> #include <curses.h> #include "cmtdef.h" #include "xsens_time.h" #include "xsens_list.h" #include "cmtscan.h" #include "cmt3.h" #include "example_linux.h" // this macro tests for an error and exits the program with a message if there was one #define EXIT_ON_ERROR(res,comment) if (res != XRV_OK) { printw("Error %d occurred in " comment ": %s\n",res,xsensResultText(res)); exit(1); } using namespace xsens; //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### //#################################################################### // Prototypes: for private functions can be declared ################# // in xsens.c or preferably in xsens_functions.c ## //#################################################################### int main(int argc, char **argv); void shutdown_module(int x); void handler_param_daemon(char *a, char *b, char *c); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _XSENS_CPP_ /*or _XSENS_C_, depends on the file type*/ TYPE_executionflags flags; //the command line parameters flags xsens_data_message data_msg; // TYPE_xsens_public_params params; char *comport; Packet* packet; xsens::Cmt3 cmt3; //create an xsens structure carmen_param_t xsens_params[] = { {(char*)"xsens", (char*)"comport", CARMEN_PARAM_STRING, &comport, 0, NULL} // {(char*)"xsens", (char*)"comport", CARMEN_PARAM_STRING, &msg.comport, 0, NULL} }; //prepare param struct #else extern TYPE_executionflags flags; extern xsens_data_message msg; // extern TYPE_xsens_public_params params; extern char *comport; extern Packet* packet; extern xsens::Cmt3 cmt3; //create an xsens structure #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent, SIGINT etcr | |
x | the SIGNAL |
x | the SIGNAL |
#ifndef _ACL_H_ #define _ACL_H_ #define _DO_NOT_USE_OPENCV_ 0 #define _DO_NOT_USE_CARMEN_ 0 //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/acl_interface.h> //#################################################################### // Typedefs: required typedefs are declared here. All declared types # // should have TYPE_[the name] ############################### //#################################################################### #define MAX_PTS 4 #define MAX_REGIONS 10 #define NUM_FOR_AVG_CALC 25 typedef struct { double avg; double std; double minVal, maxVal; }TYPE_color_values; typedef struct { CvPoint pts[MAX_PTS]; int num_pts; char name[20]; TYPE_color_values h_values, v_values, s_values; IplImage* mask; IplImage* img_debug; CvMemStorage* mem_storage; CvSeq* hsv_lim_seq; }TYPE_region; typedef struct{ TYPE_region* region[MAX_REGIONS]; int num_regions; CvSize src_img_size; double times_std; double move_avg; IplImage* src; IplImage* gui; IplImage* hsv; IplImage* h; IplImage* s; IplImage* v; }TYPE_pts_mask; typedef struct { double h_min; double h_max; double s_min; double s_max; double v_min; double v_max; }TYPE_hsv_avg_std; //#################################################################### // Prototypes: for private functions can be declared ################# // in acl.c or preferably in acl_functions.c ## //#################################################################### void heartbeat_handler_n3(carmen_heartbeat_message *heartbeat_msg); int main(int argc, char **argv); void shutdown_module(int x); void set_mask(IplImage* src, TYPE_region* region, TYPE_executionflags* flg); void draw_bound(IplImage* src, TYPE_region* region); int load_pts(char *file_name, TYPE_pts_mask* mask); void get_values(char *str, TYPE_region* region, int start); void read_line(FILE* buffer,char *line); //#################################################################### // Global vars: They will be in the scope of modulename.c main's ##### // otherwise are declared extern ##################################### //#################################################################### #ifdef _ACL_CPP_ /*or _ACL_C_, depends on the file type*/ #define saturatemax(val,max) ((val)>(max) ?( max) :( val)) #define saturatemin(val,min) ((val)<(min) ?( min) :( val)) #define AVG(a,b) ((a+b)/2.0) TYPE_pts_mask pts_mask; TYPE_region* actual_region; CvPoint pts[MAX_PTS]; TYPE_acl_color_limits color_limits; TYPE_hsv_avg_std tmp_hsv_avg_std; CvFont Font; int num_pts=-1; char filename[1024]; FILE* file_data; camera_image_message c3; int c3_alloc=1; char firei_n3_msg_heart_beat = 0; c_timer timer; double ts; int cycle_freq; TYPE_executionflags flags; //the command line parameters flags acl_data_message msg; carmen_param_t module_refresh_params[] = { {(char*)"freq", (char*)"acl", CARMEN_PARAM_INT, &cycle_freq, 1, NULL}, }; carmen_param_t acl_camera_params[] = { {(char*)"camera3", (char*)"imagewidth", CARMEN_PARAM_INT, &pts_mask.src_img_size.width, 1, NULL}, {(char*)"camera3", (char*)"imageheight", CARMEN_PARAM_INT, &pts_mask.src_img_size.height, 1, NULL}, };//prepare param struct from the image that camera3 will give carmen_param_t acl_params[] = { {(char*)"acl", (char*)"times_std", CARMEN_PARAM_DOUBLE, &pts_mask.times_std, 1, NULL}, {(char*)"acl", (char*)"move_avg", CARMEN_PARAM_DOUBLE, &pts_mask.move_avg, 1, NULL}, }; //prepare param struct #else extern TYPE_executionflags flags; extern acl_data_message msg; #endif #endif
Does a safe shutdown. Disconnects from IPC. Other modules could deallocate memory, disconnect from hardware etc.
x | the type of signal sent, SIGINT etcr |
makes a clean shutdown of the program
Disconnects from ipc and releases video writer
x | Signal value. To shutdown signal must be SIGINT |
bool sort_V2 | ( | double * | nData, | |
int * | SortedDataIndex, | |||
int | nFirst, | |||
int | nLast, | |||
bool | bAscend | |||
) |
one dimensional sorting
inout | : *nData: data to be sorted | |
out | : *SortedDataIndex : permutation indices input should be numbers from 0 to the upper bound of the array. | |
in | : nFirst : between 0 and the upper bound of the array. | |
in | : nLast : between 0 and the upper bound of the array: must be guaranteed >= nFirst. | |
in | : bAscend: true - sort in ascending order |
special | ( | int | k, | |
int | x, | |||
int | y | |||
) | [static] |
used by GLUT to handle the behaviour of pressed keys, basically rotations.
Referenced by main().
int CircularIndex::Sum | ( | ) | [inherited] |
References CircularIndex::vectorindex, and CircularIndex::vectorsize.
Referenced by laser_handler().
void textcolor | ( | int | attr, | |
int | fg, | |||
int | bg | |||
) |
References command.
void unwrap3600 | ( | double * | y, | |
double * | unwrapped_y, | |||
int | dim | |||
) |
Unwraping of the input about 3600, needed just before interpolation for correct estimation of shaft position and speeds.
in | : y, 1D array values to be unwrapped | |
out | : unwrapped_y, what it says | |
in | : dim, length of the array |
void visible | ( | int | vis | ) |
int WindowDump | ( | int | width, | |
int | height, | |||
IplImage * | src | |||
) |
References TRUE.
char autorotation = 0 |
Referenced by laser_handler().
double elapsed_time_2dscan [static] |
Referenced by laser_handler().
Include the interface.
#ifndef _FOVEATIONCONTROL_INTERFACE_H_ #define _FOVEATIONCONTROL_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/foveationcontrol_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef TYPE_xbcameratmatrix_params TYPE_foveationcontrolmatrix_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int foveationcontrol_publish_pointto_xyz(foveationcontrol_pointto_xyz_message *msg); int foveationcontrol_subscribe_pointto_xyz(foveationcontrol_pointto_xyz_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void param_daemon_install_foveationcontrolmatrix_params(TYPE_foveationcontrolmatrix_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _POWERMANAGER_INTERFACE_H_ #define _POWERMANAGER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/powermanager_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef enum { Y0_LAS0 = 130, Y1_PTU, Y2_R1394_0, Y3_BUMBLEBEE, Y4_NA, Y5_NA, Y6_NA, Y7_NA, Y10_ROUTER, Y11_SWITCH, Y12_GPS, Y13_NA }ENUM_plc_outputs; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int powermanager_publish_status(powermanager_status_message *msg); int powermanager_subscribe_status(powermanager_status_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int powermanager_turn_on(ENUM_plc_outputs output); int powermanager_turn_off(ENUM_plc_outputs output); int powermanager_reset(ENUM_plc_outputs output); int powermanager_subscribe_command(powermanager_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _XBEE_INTERFACE_H_ #define _XBEE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/xbee_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_xbee_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int xbee_publish_rx_data(xbee_rx_data_message *msg); int xbee_subscribe_rx_data(xbee_rx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int xbee_publish_tx_data(xbee_tx_data_message *msg); int xbee_subscribe_tx_data(xbee_tx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xbee_param_daemon_install_public_parameters(TYPE_xbee_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _FOVEATIONCONTROL_INTERFACE_H_ #define _FOVEATIONCONTROL_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/foveationcontrol_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef TYPE_xbcameratmatrix_params TYPE_foveationcontrolmatrix_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int foveationcontrol_publish_pointto_xyz(foveationcontrol_pointto_xyz_message *msg); int foveationcontrol_subscribe_pointto_xyz(foveationcontrol_pointto_xyz_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void param_daemon_install_foveationcontrolmatrix_params(TYPE_foveationcontrolmatrix_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _POWERMANAGER_INTERFACE_H_ #define _POWERMANAGER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/powermanager_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef enum { Y0_LAS0 = 130, Y1_PTU, Y2_R1394_0, Y3_BUMBLEBEE, Y4_NA, Y5_NA, Y6_NA, Y7_NA, Y10_ROUTER, Y11_SWITCH, Y12_GPS, Y13_NA }ENUM_plc_outputs; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int powermanager_publish_status(powermanager_status_message *msg); int powermanager_subscribe_status(powermanager_status_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int powermanager_turn_on(ENUM_plc_outputs output); int powermanager_turn_off(ENUM_plc_outputs output); int powermanager_reset(ENUM_plc_outputs output); int powermanager_subscribe_command(powermanager_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _XBEE_INTERFACE_H_ #define _XBEE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/xbee_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_xbee_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int xbee_publish_rx_data(xbee_rx_data_message *msg); int xbee_subscribe_rx_data(xbee_rx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int xbee_publish_tx_data(xbee_tx_data_message *msg); int xbee_subscribe_tx_data(xbee_tx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xbee_param_daemon_install_public_parameters(TYPE_xbee_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _MODULETEMPLATE_INTERFACE_H_ #define _MODULETEMPLATE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/moduletemplate_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_moduletemplate_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int moduletemplate_publish_data(moduletemplate_data_message *msg); int moduletemplate_subscribe_data(moduletemplate_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void moduletemplate_param_daemon_install_public_parameters(TYPE_moduletemplate_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _FOVEATIONCONTROL_INTERFACE_H_ #define _FOVEATIONCONTROL_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/foveationcontrol_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef TYPE_xbcameratmatrix_params TYPE_foveationcontrolmatrix_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int foveationcontrol_publish_pointto_xyz(foveationcontrol_pointto_xyz_message *msg); int foveationcontrol_subscribe_pointto_xyz(foveationcontrol_pointto_xyz_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void param_daemon_install_foveationcontrolmatrix_params(TYPE_foveationcontrolmatrix_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _POWERMANAGER_INTERFACE_H_ #define _POWERMANAGER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/powermanager_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef enum { Y0_LAS0 = 130, Y1_PTU, Y2_R1394_0, Y3_BUMBLEBEE, Y4_NA, Y5_NA, Y6_NA, Y7_NA, Y10_ROUTER, Y11_SWITCH, Y12_GPS, Y13_NA }ENUM_plc_outputs; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int powermanager_publish_status(powermanager_status_message *msg); int powermanager_subscribe_status(powermanager_status_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int powermanager_turn_on(ENUM_plc_outputs output); int powermanager_turn_off(ENUM_plc_outputs output); int powermanager_reset(ENUM_plc_outputs output); int powermanager_subscribe_command(powermanager_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _XBEE_INTERFACE_H_ #define _XBEE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/xbee_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_xbee_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int xbee_publish_rx_data(xbee_rx_data_message *msg); int xbee_subscribe_rx_data(xbee_rx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int xbee_publish_tx_data(xbee_tx_data_message *msg); int xbee_subscribe_tx_data(xbee_tx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xbee_param_daemon_install_public_parameters(TYPE_xbee_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _MODULETEMPLATE_INTERFACE_H_ #define _MODULETEMPLATE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/moduletemplate_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_moduletemplate_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int moduletemplate_publish_data(moduletemplate_data_message *msg); int moduletemplate_subscribe_data(moduletemplate_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void moduletemplate_param_daemon_install_public_parameters(TYPE_moduletemplate_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
Include the interface.
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
#ifndef _AGENT_BEHAVIOUR_INTERFACE_H_ #define _AGENT_BEHAVIOUR_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_behaviour_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_agent_behaviour_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_behaviour_publish_data(agent_behaviour_data_message *msg); int agent_behaviour_subscribe_data(agent_behaviour_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int agent_behaviour_publish_virtual_sensors_data(agent_behaviour_virtual_sensors_data_message *msg); int agent_behaviour_subscribe_virtual_sensors_data(agent_behaviour_virtual_sensors_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void agent_behaviour_param_daemon_install_some_params(TYPE_agent_behaviour_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _AGENT_CLEARANCE_INTERFACE_H_ #define _AGENT_CLEARANCE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_clearance_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ // } TYPE_agent_clearance_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_clearance_publish_distance_data(agent_clearance_distance_data_message *msg); int agent_clearance_subscribe_distance_data(agent_clearance_distance_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void agent_clearance_param_daemon_install_some_params(TYPE_agent_clearance_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _AGENT_TRACKER_INTERFACE_H_ #define _AGENT_TRACKER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_tracker_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_agent_tracker_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_tracker_publish_data(agent_tracker_data_message *msg); int agent_tracker_subscribe_data(agent_tracker_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int agent_tracker_publish_virtual_sensors_data(agent_tracker_virtual_sensors_data_message *msg); int agent_tracker_subscribe_virtual_sensors_data(agent_tracker_virtual_sensors_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void agent_tracker_param_daemon_install_some_params(TYPE_agent_tracker_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _FOVEATIONCONTROL_INTERFACE_H_ #define _FOVEATIONCONTROL_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/foveationcontrol_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef TYPE_xbcameratmatrix_params TYPE_foveationcontrolmatrix_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int foveationcontrol_publish_pointto_xyz(foveationcontrol_pointto_xyz_message *msg); int foveationcontrol_subscribe_pointto_xyz(foveationcontrol_pointto_xyz_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void param_daemon_install_foveationcontrolmatrix_params(TYPE_foveationcontrolmatrix_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _POWERMANAGER_INTERFACE_H_ #define _POWERMANAGER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/powermanager_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef enum { Y0_LAS0 = 130, Y1_PTU, Y2_R1394_0, Y3_BUMBLEBEE, Y4_NA, Y5_NA, Y6_NA, Y7_NA, Y10_ROUTER, Y11_SWITCH, Y12_GPS, Y13_NA }ENUM_plc_outputs; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int powermanager_publish_status(powermanager_status_message *msg); int powermanager_subscribe_status(powermanager_status_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int powermanager_turn_on(ENUM_plc_outputs output); int powermanager_turn_off(ENUM_plc_outputs output); int powermanager_reset(ENUM_plc_outputs output); int powermanager_subscribe_command(powermanager_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _XBEE_INTERFACE_H_ #define _XBEE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/xbee_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_xbee_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int xbee_publish_rx_data(xbee_rx_data_message *msg); int xbee_subscribe_rx_data(xbee_rx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int xbee_publish_tx_data(xbee_tx_data_message *msg); int xbee_subscribe_tx_data(xbee_tx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xbee_param_daemon_install_public_parameters(TYPE_xbee_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _MODULETEMPLATE_INTERFACE_H_ #define _MODULETEMPLATE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/moduletemplate_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_moduletemplate_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int moduletemplate_publish_data(moduletemplate_data_message *msg); int moduletemplate_subscribe_data(moduletemplate_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void moduletemplate_param_daemon_install_public_parameters(TYPE_moduletemplate_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
Include the interface.
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
#ifndef _AGENT_BEHAVIOUR_INTERFACE_H_ #define _AGENT_BEHAVIOUR_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_behaviour_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_agent_behaviour_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_behaviour_publish_data(agent_behaviour_data_message *msg); int agent_behaviour_subscribe_data(agent_behaviour_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int agent_behaviour_publish_virtual_sensors_data(agent_behaviour_virtual_sensors_data_message *msg); int agent_behaviour_subscribe_virtual_sensors_data(agent_behaviour_virtual_sensors_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void agent_behaviour_param_daemon_install_some_params(TYPE_agent_behaviour_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _AGENT_CLEARANCE_INTERFACE_H_ #define _AGENT_CLEARANCE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_clearance_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ // } TYPE_agent_clearance_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_clearance_publish_distance_data(agent_clearance_distance_data_message *msg); int agent_clearance_subscribe_distance_data(agent_clearance_distance_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void agent_clearance_param_daemon_install_some_params(TYPE_agent_clearance_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _AGENT_TRACKER_INTERFACE_H_ #define _AGENT_TRACKER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_tracker_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_agent_tracker_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_tracker_publish_data(agent_tracker_data_message *msg); int agent_tracker_subscribe_data(agent_tracker_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int agent_tracker_publish_virtual_sensors_data(agent_tracker_virtual_sensors_data_message *msg); int agent_tracker_subscribe_virtual_sensors_data(agent_tracker_virtual_sensors_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void agent_tracker_param_daemon_install_some_params(TYPE_agent_tracker_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _TLHFCS_INTERFACE_H_ #define _TLHFCS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/tlhfcs_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // * @brief This is a test message, Here you insert the description of the entity, in this case the struct. // */ //typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ //} TYPE_tlhfcs_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### //int tlhfcs_publish_information(tlhfcs_information_message *msg); //int tlhfcs_subscribe_information(tlhfcs_information_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void tlhfcs_param_daemon_install_some_params(TYPE_tlhfcs_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _TLHFCS_INTERFACE_H_ #define _TLHFCS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/tlhfcs_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // * @brief This is a test message, Here you insert the description of the entity, in this case the struct. // */ //typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ //} TYPE_tlhfcs_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### //int tlhfcs_publish_information(tlhfcs_information_message *msg); //int tlhfcs_subscribe_information(tlhfcs_information_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void tlhfcs_param_daemon_install_some_params(TYPE_tlhfcs_public_params *p, int subscribe_changes, int verbose); #endif
Include the interface.
#ifndef _VSCSHFBA_INTERFACE_H_ #define _VSCSHFBA_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/vscshfba_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int vscshfba_subscribe_data(vscshfba_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int vscshfba_publish_data(vscshfba_data_message *msg); void vscshfba_subscribe_command_message(vscshfba_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void vscshfba_publish_command_message(vscshfba_command_message *msg); #endif
#ifndef _VSCSHFBA_INTERFACE_H_ #define _VSCSHFBA_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/vscshfba_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int vscshfba_subscribe_data(vscshfba_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int vscshfba_publish_data(vscshfba_data_message *msg); void vscshfba_subscribe_command_message(vscshfba_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void vscshfba_publish_command_message(vscshfba_command_message *msg); #endif
Include the interface.
#ifndef _FOVEATIONCONTROL_INTERFACE_H_ #define _FOVEATIONCONTROL_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/foveationcontrol_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef TYPE_xbcameratmatrix_params TYPE_foveationcontrolmatrix_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int foveationcontrol_publish_pointto_xyz(foveationcontrol_pointto_xyz_message *msg); int foveationcontrol_subscribe_pointto_xyz(foveationcontrol_pointto_xyz_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void param_daemon_install_foveationcontrolmatrix_params(TYPE_foveationcontrolmatrix_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _POWERMANAGER_INTERFACE_H_ #define _POWERMANAGER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/powermanager_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef enum { Y0_LAS0 = 130, Y1_PTU, Y2_R1394_0, Y3_BUMBLEBEE, Y4_NA, Y5_NA, Y6_NA, Y7_NA, Y10_ROUTER, Y11_SWITCH, Y12_GPS, Y13_NA }ENUM_plc_outputs; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int powermanager_publish_status(powermanager_status_message *msg); int powermanager_subscribe_status(powermanager_status_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int powermanager_turn_on(ENUM_plc_outputs output); int powermanager_turn_off(ENUM_plc_outputs output); int powermanager_reset(ENUM_plc_outputs output); int powermanager_subscribe_command(powermanager_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _XBEE_INTERFACE_H_ #define _XBEE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/xbee_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_xbee_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int xbee_publish_rx_data(xbee_rx_data_message *msg); int xbee_subscribe_rx_data(xbee_rx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int xbee_publish_tx_data(xbee_tx_data_message *msg); int xbee_subscribe_tx_data(xbee_tx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xbee_param_daemon_install_public_parameters(TYPE_xbee_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _MODULETEMPLATE_INTERFACE_H_ #define _MODULETEMPLATE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/moduletemplate_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_moduletemplate_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int moduletemplate_publish_data(moduletemplate_data_message *msg); int moduletemplate_subscribe_data(moduletemplate_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void moduletemplate_param_daemon_install_public_parameters(TYPE_moduletemplate_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
Include the interface.
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
#ifndef _AGENT_BEHAVIOUR_INTERFACE_H_ #define _AGENT_BEHAVIOUR_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_behaviour_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_agent_behaviour_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_behaviour_publish_data(agent_behaviour_data_message *msg); int agent_behaviour_subscribe_data(agent_behaviour_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int agent_behaviour_publish_virtual_sensors_data(agent_behaviour_virtual_sensors_data_message *msg); int agent_behaviour_subscribe_virtual_sensors_data(agent_behaviour_virtual_sensors_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void agent_behaviour_param_daemon_install_some_params(TYPE_agent_behaviour_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _AGENT_CLEARANCE_INTERFACE_H_ #define _AGENT_CLEARANCE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_clearance_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ // } TYPE_agent_clearance_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_clearance_publish_distance_data(agent_clearance_distance_data_message *msg); int agent_clearance_subscribe_distance_data(agent_clearance_distance_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void agent_clearance_param_daemon_install_some_params(TYPE_agent_clearance_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _AGENT_TRACKER_INTERFACE_H_ #define _AGENT_TRACKER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_tracker_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_agent_tracker_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_tracker_publish_data(agent_tracker_data_message *msg); int agent_tracker_subscribe_data(agent_tracker_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int agent_tracker_publish_virtual_sensors_data(agent_tracker_virtual_sensors_data_message *msg); int agent_tracker_subscribe_virtual_sensors_data(agent_tracker_virtual_sensors_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void agent_tracker_param_daemon_install_some_params(TYPE_agent_tracker_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _TLHFCS_INTERFACE_H_ #define _TLHFCS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/tlhfcs_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // * @brief This is a test message, Here you insert the description of the entity, in this case the struct. // */ //typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ //} TYPE_tlhfcs_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### //int tlhfcs_publish_information(tlhfcs_information_message *msg); //int tlhfcs_subscribe_information(tlhfcs_information_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void tlhfcs_param_daemon_install_some_params(TYPE_tlhfcs_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _TLHFCS_INTERFACE_H_ #define _TLHFCS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/tlhfcs_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // * @brief This is a test message, Here you insert the description of the entity, in this case the struct. // */ //typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ //} TYPE_tlhfcs_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### //int tlhfcs_publish_information(tlhfcs_information_message *msg); //int tlhfcs_subscribe_information(tlhfcs_information_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void tlhfcs_param_daemon_install_some_params(TYPE_tlhfcs_public_params *p, int subscribe_changes, int verbose); #endif
Include the interface.
#ifndef _VSCSHFBA_INTERFACE_H_ #define _VSCSHFBA_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/vscshfba_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int vscshfba_subscribe_data(vscshfba_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int vscshfba_publish_data(vscshfba_data_message *msg); void vscshfba_subscribe_command_message(vscshfba_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void vscshfba_publish_command_message(vscshfba_command_message *msg); #endif
#ifndef _VSCSHFBA_INTERFACE_H_ #define _VSCSHFBA_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/vscshfba_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int vscshfba_subscribe_data(vscshfba_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int vscshfba_publish_data(vscshfba_data_message *msg); void vscshfba_subscribe_command_message(vscshfba_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void vscshfba_publish_command_message(vscshfba_command_message *msg); #endif
Include the interface.
#ifndef _LASERPROJECTIONONIMAGE_INTERFACE_H_ #define _LASERPROJECTIONONIMAGE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/laserprojectiononimage_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _GPS_INTERFACE_H_ #define _GPS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ################################## //#################################################################### #include <lar/lar.h> #include <lar/gps_messages.h> //#################################################################### // Prototypes: public functions can be declared here ############### //#################################################################### void gps_publish_data(gps_gpgga_data_message *msg_gga, gps_gprmc_data_message *msg_rmc); int gps_subscribe_gpgga_data(gps_gpgga_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int gps_subscribe_gprmc_data(gps_gprmc_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
#ifndef _GPS_INTERFACE_H_ #define _GPS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ################################## //#################################################################### #include <lar/lar.h> #include <lar/gps_messages.h> //#################################################################### // Prototypes: public functions can be declared here ############### //#################################################################### void gps_publish_data(gps_gpgga_data_message *msg_gga, gps_gprmc_data_message *msg_rmc); int gps_subscribe_gpgga_data(gps_gpgga_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int gps_subscribe_gprmc_data(gps_gprmc_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
Include global headers.
#ifndef _XSENS_INTERFACE_H_ #define _XSENS_INTERFACE_H_ #include <lar/lar.h> #include <lar/xsens_messages.h> typedef struct{ char *comport; } TYPE_xsens_public_params; int xsens_publish_data(xsens_data_message *msg); int xsens_subscribe_data(xsens_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xsens_param_daemon_install_some_params(TYPE_xsens_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _XSENS_INTERFACE_H_ #define _XSENS_INTERFACE_H_ #include <lar/lar.h> #include <lar/xsens_messages.h> typedef struct{ char *comport; } TYPE_xsens_public_params; int xsens_publish_data(xsens_data_message *msg); int xsens_subscribe_data(xsens_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xsens_param_daemon_install_some_params(TYPE_xsens_public_params *p, int subscribe_changes, int verbose); #endif
Include the interface.
#ifndef _FOVEATIONCONTROL_INTERFACE_H_ #define _FOVEATIONCONTROL_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/foveationcontrol_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef TYPE_xbcameratmatrix_params TYPE_foveationcontrolmatrix_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int foveationcontrol_publish_pointto_xyz(foveationcontrol_pointto_xyz_message *msg); int foveationcontrol_subscribe_pointto_xyz(foveationcontrol_pointto_xyz_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void param_daemon_install_foveationcontrolmatrix_params(TYPE_foveationcontrolmatrix_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _POWERMANAGER_INTERFACE_H_ #define _POWERMANAGER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/powermanager_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef enum { Y0_LAS0 = 130, Y1_PTU, Y2_R1394_0, Y3_BUMBLEBEE, Y4_NA, Y5_NA, Y6_NA, Y7_NA, Y10_ROUTER, Y11_SWITCH, Y12_GPS, Y13_NA }ENUM_plc_outputs; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int powermanager_publish_status(powermanager_status_message *msg); int powermanager_subscribe_status(powermanager_status_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int powermanager_turn_on(ENUM_plc_outputs output); int powermanager_turn_off(ENUM_plc_outputs output); int powermanager_reset(ENUM_plc_outputs output); int powermanager_subscribe_command(powermanager_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _XBEE_INTERFACE_H_ #define _XBEE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/xbee_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_xbee_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int xbee_publish_rx_data(xbee_rx_data_message *msg); int xbee_subscribe_rx_data(xbee_rx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int xbee_publish_tx_data(xbee_tx_data_message *msg); int xbee_subscribe_tx_data(xbee_tx_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xbee_param_daemon_install_public_parameters(TYPE_xbee_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _MODULETEMPLATE_INTERFACE_H_ #define _MODULETEMPLATE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/moduletemplate_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_moduletemplate_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int moduletemplate_publish_data(moduletemplate_data_message *msg); int moduletemplate_subscribe_data(moduletemplate_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void moduletemplate_param_daemon_install_public_parameters(TYPE_moduletemplate_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
Include the interface.
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
#ifndef _AGENT_BEHAVIOUR_INTERFACE_H_ #define _AGENT_BEHAVIOUR_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_behaviour_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_agent_behaviour_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_behaviour_publish_data(agent_behaviour_data_message *msg); int agent_behaviour_subscribe_data(agent_behaviour_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int agent_behaviour_publish_virtual_sensors_data(agent_behaviour_virtual_sensors_data_message *msg); int agent_behaviour_subscribe_virtual_sensors_data(agent_behaviour_virtual_sensors_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void agent_behaviour_param_daemon_install_some_params(TYPE_agent_behaviour_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _AGENT_CLEARANCE_INTERFACE_H_ #define _AGENT_CLEARANCE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_clearance_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ // } TYPE_agent_clearance_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_clearance_publish_distance_data(agent_clearance_distance_data_message *msg); int agent_clearance_subscribe_distance_data(agent_clearance_distance_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void agent_clearance_param_daemon_install_some_params(TYPE_agent_clearance_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _AGENT_TRACKER_INTERFACE_H_ #define _AGENT_TRACKER_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/agent_tracker_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct{ double sleeptime; char otherparam; } TYPE_agent_tracker_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int agent_tracker_publish_data(agent_tracker_data_message *msg); int agent_tracker_subscribe_data(agent_tracker_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int agent_tracker_publish_virtual_sensors_data(agent_tracker_virtual_sensors_data_message *msg); int agent_tracker_subscribe_virtual_sensors_data(agent_tracker_virtual_sensors_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void agent_tracker_param_daemon_install_some_params(TYPE_agent_tracker_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _TLHFCS_INTERFACE_H_ #define _TLHFCS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/tlhfcs_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // * @brief This is a test message, Here you insert the description of the entity, in this case the struct. // */ //typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ //} TYPE_tlhfcs_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### //int tlhfcs_publish_information(tlhfcs_information_message *msg); //int tlhfcs_subscribe_information(tlhfcs_information_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void tlhfcs_param_daemon_install_some_params(TYPE_tlhfcs_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _TLHFCS_INTERFACE_H_ #define _TLHFCS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/tlhfcs_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### // * @brief This is a test message, Here you insert the description of the entity, in this case the struct. // */ //typedef struct{ // double sleeptime; /**< looptime is the best loop time of the module. It may be a slower time but if its faster it should carmen_ipc_sleep until this time passes.*/ // char otherparam; /**< some other param to be installed*/ //} TYPE_tlhfcs_public_params; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### //int tlhfcs_publish_information(tlhfcs_information_message *msg); //int tlhfcs_subscribe_information(tlhfcs_information_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void tlhfcs_param_daemon_install_some_params(TYPE_tlhfcs_public_params *p, int subscribe_changes, int verbose); #endif
Include the interface.
#ifndef _VSCSHFBA_INTERFACE_H_ #define _VSCSHFBA_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/vscshfba_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int vscshfba_subscribe_data(vscshfba_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int vscshfba_publish_data(vscshfba_data_message *msg); void vscshfba_subscribe_command_message(vscshfba_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void vscshfba_publish_command_message(vscshfba_command_message *msg); #endif
#ifndef _VSCSHFBA_INTERFACE_H_ #define _VSCSHFBA_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/vscshfba_messages.h> #include <lar/imageprocessing.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int vscshfba_subscribe_data(vscshfba_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int vscshfba_publish_data(vscshfba_data_message *msg); void vscshfba_subscribe_command_message(vscshfba_command_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void vscshfba_publish_command_message(vscshfba_command_message *msg); #endif
Include the interface.
#ifndef _LASERPROJECTIONONIMAGE_INTERFACE_H_ #define _LASERPROJECTIONONIMAGE_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/laserprojectiononimage_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### #endif
#ifndef _LAR_H_ #define _LAR_H_ #define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} #define PLN {printf("DEBUG PRINT LINE %d\n",__LINE__);} #define PVV(a) {printf("DEBUG PRINT FILE %s LINE %d value = %d\n",__FILE__, __LINE__,(int)(a));} #define _cast_to_carmen_param_change_handler_t_ (void (*)(char*, char*,char*)) #define printc(a,b) {printf("%c[1;%d;48m", 0x1B, (b) +30);printf(a);printf("\33[0m");fflush(stdout);} #define printnc(a,b,c) {printf("%c[1;%d;48m", 0x1B, (c) +30);printf(a,b);printf("\33[0m");fflush(stdout);} #include <sys/ipc.h> //System includes to use shared mem #include <sys/shm.h> //System includes to use shared mem using namespace std; #include <iostream> #if (! _DO_NOT_USE_OPENCV_) /*opencv includes*/ #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> #include <opencv/cvaux.h> #endif #if (! _DO_NOT_USE_CARMEN_ ) /*carmen includes*/ #include <carmen/carmen.h> #endif //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { int send; double timestamp; char *host; }global_dummy_message; typedef struct { int shm_id; int shm_size; double timestamp; char *host; }global_shminfo_message; //#################################################################### // LAR includes: ############################################## //#################################################################### #include <lar/timer.h> #include <lar/pixelaccess.h> #include <lar/errorhandling.h> #include <lar/readcommandlineparameters.h> #include <lar/lensundistort.h> #include <lar/videosaving.h> #include <lar/imageprocessing.h> #include <lar/acl_interface.h> #include <lar/crc.h> #include <lar/moduletemplate_interface.h> #include <lar/xbee_interface.h> #include <lar/ptucontrol_interface.h> #include <lar/atlas2000_interface.h> #include <lar/atlasmv_interface.h> #include <lar/powermanager_interface.h> #include <lar/des70_10.h> #include <lar/soundplayer_interface.h> #include <lar/soundplayer_messages.h> #include <lar/processcontrol_interface.h> #include <lar/processcontrol_messages.h> #include <lar/gps_interface.h> #include <lar/xsens_interface.h> #include <lar/firei_interface.h> #include <lar/flea2_interface.h> #include <lar/xb3_interface.h> //this must be after the xb3_interface #include <lar/foveationcontrol_interface.h> #include <lar/hokuyo_utm_interface.h> #include <lar/laser3d_interface.h> #include <lar/ipm_interface.h> #include <lar/egomotiongpsimu_interface.h> //#include <lar/agent_tracker_interface.h> #include <lar/agent_clearance_interface.h> #include <lar/cdltm_interface.h> //#include <lar/lmssp_interface.h> #include <lar/rtbm_interface.h> #include <lar/potkf_interface.h> #include <lar/tlcstm_interface.h> #include <lar/cwtm_interface.h> #include <lar/tlhfcs_interface.h> #include <lar/pdtm_interface.h> #include <lar/cwpc_interface.h> #include <lar/vscshfba_interface.h> #include <lar/cm_interface.h> #include <lar/mptn2d_interface.h> #include <lar/agents_interface.h> #include <lar/roc_interface.h> #endif
Include global headers.
#ifndef _GPS_INTERFACE_H_ #define _GPS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ################################## //#################################################################### #include <lar/lar.h> #include <lar/gps_messages.h> //#################################################################### // Prototypes: public functions can be declared here ############### //#################################################################### void gps_publish_data(gps_gpgga_data_message *msg_gga, gps_gprmc_data_message *msg_rmc); int gps_subscribe_gpgga_data(gps_gpgga_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int gps_subscribe_gprmc_data(gps_gprmc_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
#ifndef _GPS_INTERFACE_H_ #define _GPS_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ################################## //#################################################################### #include <lar/lar.h> #include <lar/gps_messages.h> //#################################################################### // Prototypes: public functions can be declared here ############### //#################################################################### void gps_publish_data(gps_gpgga_data_message *msg_gga, gps_gprmc_data_message *msg_rmc); int gps_subscribe_gpgga_data(gps_gpgga_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); int gps_subscribe_gprmc_data(gps_gprmc_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); #endif
Include global headers.
#ifndef _XSENS_INTERFACE_H_ #define _XSENS_INTERFACE_H_ #include <lar/lar.h> #include <lar/xsens_messages.h> typedef struct{ char *comport; } TYPE_xsens_public_params; int xsens_publish_data(xsens_data_message *msg); int xsens_subscribe_data(xsens_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xsens_param_daemon_install_some_params(TYPE_xsens_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _XSENS_INTERFACE_H_ #define _XSENS_INTERFACE_H_ #include <lar/lar.h> #include <lar/xsens_messages.h> typedef struct{ char *comport; } TYPE_xsens_public_params; int xsens_publish_data(xsens_data_message *msg); int xsens_subscribe_data(xsens_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); void xsens_param_daemon_install_some_params(TYPE_xsens_public_params *p, int subscribe_changes, int verbose); #endif
Include the interface.
#ifndef _ACL_INTERFACE_H_ #define _ACL_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/acl_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { double minH; double maxH; double minS; double maxS; double minV; double maxV; }TYPE_color_lim; typedef struct{ TYPE_color_lim green; TYPE_color_lim red; TYPE_color_lim white; TYPE_color_lim yellow; TYPE_color_lim blue; TYPE_color_lim black; } TYPE_acl_color_limits; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int param_daemon_set_color_limits(TYPE_acl_color_limits* limits); //int acl_publish_data(acl_data_message *msg); //int acl_subscribe_data(acl_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void acl_param_daemon_install_some_params(TYPE_acl_public_params *p, int subscribe_changes, int verbose); #endif
#ifndef _ACL_INTERFACE_H_ #define _ACL_INTERFACE_H_ //#################################################################### // Includes: no need to include headers from carmen modules carmen.h # // already does ##################################### //#################################################################### #include <lar/lar.h> #include <lar/acl_messages.h> //#################################################################### // Typedefs:Declare here structs that have interesting params for #### // other modules besides this one, but that will not be sent through # // messages. A function to install this struct with param daemon ##### // should be declared ################################################ //#################################################################### typedef struct { double minH; double maxH; double minS; double maxS; double minV; double maxV; }TYPE_color_lim; typedef struct{ TYPE_color_lim green; TYPE_color_lim red; TYPE_color_lim white; TYPE_color_lim yellow; TYPE_color_lim blue; TYPE_color_lim black; } TYPE_acl_color_limits; //#################################################################### // Prototypes: public functions can be declared here ################ //#################################################################### int param_daemon_set_color_limits(TYPE_acl_color_limits* limits); //int acl_publish_data(acl_data_message *msg); //int acl_subscribe_data(acl_data_message *msg, carmen_handler_t handler, carmen_subscribe_t subscribe_how); //void acl_param_daemon_install_some_params(TYPE_acl_public_params *p, int subscribe_changes, int verbose); #endif
Include the interface.
IplImage* img |
IplImage* img_out |
Referenced by laser3d_allocate_mem(), laser_handler(), laser_pts(), and main().
Referenced by draw(), laser_handler(), laser_pts(), and main().
Referenced by main().
Referenced by laser_handler(), and main().
Referenced by laser_handler().
const int n_PIC_readings = 20 |
Referenced by laser_handler().
double PIC_encoder_num |
Referenced by laser_handler().
double PIC_encoder_num_circ[n_PIC_readings] |
Referenced by laser_handler().
double PIC_timestamp[n_PIC_readings] |
Referenced by laser_handler().
sem_t read_num_semaphore |
Referenced by main().
pthread_mutex_t read_serial_mutex |
Referenced by main().
sem_t read_serial_semaphore |
Referenced by main().
int rpm |
Referenced by laser_handler(), and main().
Referenced by main().
int thread_must_stop |
Referenced by main().
double timestamp_2dscan [static] |
Referenced by laser_handler().
Referenced by laser_handler(), and main().
int visualizingmode |
Referenced by laser_pts(), and main().