4 * Dimensions for the robot, playground and other stuff.
7 * Copyright: (c) 2008 - 2010 CTU Dragons
8 * CTU FEE - Department of Control Engineering
12 #ifndef ROBODIM_EB2010_H
13 #define ROBODIM_EB2010_H
16 * FIXME: update robot's dimensions !!!
17 * and update the pitcture
21 * ^ +--------------------------+
26 * W| | + Center |__| |
28 * | |<---->:<----------------->|
31 * v +--------------------------+
38 /* FIXME update robot's dimensions!!! */
39 #define ROBOT_WIDTH_MM 280 /* W*/
40 #define ROBOT_WIDTH_M (ROBOT_WIDTH_MM/1000.0)
41 #define ROBOT_ROTATION_RADIUS_MM ((188)/2) /* RR */
42 #define ROBOT_ROTATION_RADIUS_M (ROBOT_ROTATION_RADIUS_MM/1000.0)
43 #define ROBOT_WHEEL_RADIUS_MM 38 /* WR */
44 #define ROBOT_WHEEL_RADIUS_M (ROBOT_WHEEL_RADIUS_MM/1000.0)
45 #define ROBOT_AXIS_TO_BACK_MM 230 /* AB */
46 #define ROBOT_AXIS_TO_BACK_M (ROBOT_AXIS_TO_BACK_MM/1000.0)
47 #define ROBOT_AXIS_TO_FRONT_MM 65 /* AF */
48 #define ROBOT_AXIS_TO_FRONT_M (ROBOT_AXIS_TO_FRONT_MM/1000.0)
49 #define ROBOT_AXIS_TO_BRUSH_MM 50 /* ABE */ // FIXME: update the value and rename (no brushes)
50 #define ROBOT_AXIS_TO_BRUSH_M (ROBOT_AXIS_TO_BRUSH_MM/1000.0)
51 #define HOKUYO_CENTER_OFFSET_MM 35 // FIXME
52 #define HOKUYO_CENTER_OFFSET_M (HOKUYO_CENTER_OFFSET_MM/1000.0)
53 #define ODOMETRY_WHEEL_RADIUS_MM 30
54 #define ODOMETRY_WHEEL_RADIUS_M (ODOMETRY_WHEEL_RADIUS_MM/1000.0)
55 #define ODOMETRY_ROTATION_RADIUS_MM (246/2)
56 #define ODOMETRY_ROTATION_RADIUS_M (ODOMETRY_ROTATION_RADIUS_MM/1000.0)
57 #define ROBOT_VIDLE_LENGTH_M 0.2 /* V */ /* FIXME: Measure the right value */
60 * PLAYGROUND DIMENSIONS
63 * +---------------------------------+---------------------------------+
66 * | |<------------->| |
81 * +---------------------------------+---------------------------------+
83 * <----------------------------------------------------------------->
86 #define PLAYGROUND_WIDTH_MM 3000
87 #define PLAYGROUND_WIDTH_M (PLAYGROUND_WIDTH_MM/1000.0)
88 #define PLAYGROUND_HEIGHT_MM 2100
89 #define PLAYGROUND_HEIGHT_M (PLAYGROUND_HEIGHT_MM/1000.0)
91 #define SLOPE_TO_RIM_MM 740
92 #define SLOPE_TO_RIM_M (SLOPE_TO_RIM_MM/1000.0)
93 #define SLOPE_LENGTH_MM 519.23
94 #define SLOPE_LENGTH_M (SLOPE_LENGTH_MM/1000.0)
96 #define SQUARE_WIDTH_MM 350
97 #define SQUARE_HEIGHT_MM 350
99 #define BLINE_WIDTH_MM 50
100 #define BLINE_HEIGHT_MM 2100
102 #define BLOCK_WIDTH_MM 400
103 #define BLOCK_HEIGHT_MM 22
105 #define STARTAREA_WIDTH_MM 400
106 #define STARTAREA_HEIGHT_MM 400
108 #define DISPENSING_WIDTH_MM 400
109 #define DISPENSING_HEIGHT_MM 1678
111 #define PROTECTEDBORDER_WIDTH_MM 22
112 #define PROTECTEDBORDER_HEIGHT_MM 130
114 #define PROTECTEDBLOCK_WIDTH_MM 700
115 #define PROTECTEDBLOCK_HEIGHT_MM 120
117 #define FIGURE_WIDTH_MM 200
119 #define CORN_DIAMETER_MM 50
120 #define CORN_DIAMETER_M (CORN_DIAMETER_MM/1000.0)
121 #define CORN_RADIUS_MM (50/2)
122 #define CORN_RADIUS_M (CORN_RADIUS_MM/1000.0)
124 #define CORN_NEIGHBOURHOOD_RADIUS_MM 220
125 #define CORN_NEIGHBOURHOOD_RADIUS_M (CORN_NEIGHBOURHOOD_RADIUS_MM/1000.0)
127 * 3 ultrasonic beacons
129 #define BEACON_WIDTH 0.08
130 #define BEACON_HEIGHT BEACON_WIDTH
132 #define BEACON_GREEN 0
168 extern const struct beacon_pos beacon_green[BEACON_CNT];
169 extern const struct beacon_pos beacon_red[BEACON_CNT];
170 extern const struct bonus_pos bonus[BONUS_CNT];
171 extern const struct pawn_pos pawn[PAWN_CNT];
172 extern const struct king_pos king[KING_CNT];
173 extern const struct queen_pos queen[QUEEN_CNT];
176 * Position of Shapr sensors on the robot with respect to the robot center
177 * (not used in EB2009)
183 #define SHARP_COUNT 0 /* no sharp sensors in EB2009, I hope */
185 #endif /* ROBODIM_EB2008_H */