* Competition parameters
*/
enum team_color {
- VIOLET = 0, /* Coordinate transformation does not apply */
- RED /* Coordinate transformation applies (in *_trans() functions) */
+ TC_WHITE = 0, /* Coordinate transformation does not apply */
+ TC_GREEN,
+ TC_YELLOW
};
enum robot_start_state {
#define __robot_lock_drives lock
#define __robot_lock_sharps lock
#define __robot_lock_hokuyo lock
+#define __robot_lock_sick lock
+#define __robot_lock_sick551 lock
#define __robot_lock_cmu lock
#define __robot_lock_bumper lock
#define __robot_lock_disp lock_disp
COMPONENT_CAMERA,
COMPONENT_POWER,
COMPONENT_HOKUYO,
+ COMPONENT_SICK,
COMPONENT_START,
COMPONENT_JAWS,
COMPONENT_LIFT,
ROBOT_COMPONENT_NUMBER
+ COMPONENT_SICK551,
};
/* robot's main data structure */
struct odo_data_type odo_data; /* independent odometry */
struct corr_distances_type corr_distances; /* ultrasound */
- struct hokuyo_scan_type hokuyo;
+ struct lidar_scan_type hokuyo;
bool ignore_hokuyo;
+
+ struct lidar_scan_type sick;
+ bool ignore_sick;
+
+ struct lidar_scan_type sick551;
+ bool ignore_sick551;
+
+ /* variables for target detection */
+ bool target_loaded;
+ bool target_valid;
+ int target_ang;
+ char target_color[3];
struct map *map; /* Map for pathplanning (no locking) */
int robot_start() __attribute__ ((warn_unused_result));
void robot_exit();
void robot_destroy();
-void robot_calibrate_odometry();
-
void robot_get_est_pos_trans(double *x, double *y, double *phi);
void robot_get_est_pos(double *x, double *y, double *phi);