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
19 * ROBOT DIMENSIONS FOR COMPETITION 2011, Play Chess!
21 * ^ +--------------------------+@------\
23 * ^ | | ------- | .....
28 * | |<---->:<----------------->| . .
29 * | | ------- | .......
31 * v +--------------------------+@-------/
32 * <<= <--> <--------->
34 * of motion <------------>
38 /* FIXME update robot's dimensions!!! */
39 #define ROBOT_WIDTH_MM 310 /* W*/
40 #define ROBOT_WIDTH_M (ROBOT_WIDTH_MM/1000.0)
41 #define ROBOT_ROTATION_RADIUS_MM ((230)/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 50 /* AB */
46 #define ROBOT_AXIS_TO_BACK_M (ROBOT_AXIS_TO_BACK_MM/1000.0)
47 #define ROBOT_AXIS_TO_FRONT_MM 210 /* AF */
48 #define ROBOT_AXIS_TO_FRONT_M (ROBOT_AXIS_TO_FRONT_MM/1000.0)
49 #define ROBOT_HEIGHT_MM (ROBOT_AXIS_TO_BACK_MM + ROBOT_AXIS_TO_FRONT_MM)
50 #define ROBOT_HEIGHT_M (ROBOT_HEIGHT_MM / 1000.0)
52 #define HOKUYO_CENTER_OFFSET_MM 180
53 #define HOKUYO_CENTER_OFFSET_M (HOKUYO_CENTER_OFFSET_MM/1000.0)
54 #define HOKUYO_RANGE_ANGLE_LEFT 70 /* view angle in degrees from center axis */
55 #define HOKUYO_RANGE_ANGLE_RIGHT 70
56 #define ODOMETRY_WHEEL_RADIUS_MM 30
57 #define ODOMETRY_WHEEL_RADIUS_M (ODOMETRY_WHEEL_RADIUS_MM/1000.0)
58 #define ODOMETRY_ROTATION_RADIUS_MM (284/2)
59 #define ODOMETRY_ROTATION_RADIUS_M (ODOMETRY_ROTATION_RADIUS_MM/1000.0)
60 #define ROBOT_JAWS_LENGHT_MM 130 /* JA */
61 #define ROBOT_JAWS_LENGHT_M (ROBOT_JAWS_LENGHT_MM/1000.0)
62 #define ROBOT_LENGHT_WITH_PANWS_MM 170 /* PW */
63 #define ROBOT_LENGHT_WITH_PAWNS_M (ROBOT_LENGHT_WITH_PANWS_MM/1000.0)
64 #define ROBOT_AXIS_TO_FIGURE_CENTER_MM 300
65 #define ROBOT_AXIS_TO_FIGURE_CENTER_M (ROBOT_AXIS_TO_FIGURE_CENTER_MM/1000.0)
67 #define ROBOT_START_X_MM ROBOT_AXIS_TO_BACK_MM
68 #define ROBOT_START_X_M (ROBOT_START_X_MM / 1000.0)
69 #define ROBOT_START_Y_MM (PLAYGROUND_HEIGHT_MM - (ROBOT_WIDTH_MM / 2))
70 #define ROBOT_START_Y_M (ROBOT_START_Y_MM / 1000.0)
71 #define ROBOT_START_ANGLE_DEG 0
72 /* maxon motor parameters ratio */
73 /* DO NOT change this if not shure what you are doing !!! */
74 #define ROBOT_MOTOR_GEARBOX_RATIO 29.0
75 #define ROBOT_MOTOR_IRC_RESOLUTION 512.0
78 * PLAYGROUND DIMENSIONS
81 * +---------------------------------+---------------------------------+
84 * | |<------------->| |
99 * +---------------------------------+---------------------------------+
101 * <----------------------------------------------------------------->
104 #define PLAYGROUND_WIDTH_MM 3000
105 #define PLAYGROUND_WIDTH_M (PLAYGROUND_WIDTH_MM/1000.0)
106 #define PLAYGROUND_HEIGHT_MM 2100
107 #define PLAYGROUND_HEIGHT_M (PLAYGROUND_HEIGHT_MM/1000.0)
109 #define SLOPE_TO_RIM_MM 740
110 #define SLOPE_TO_RIM_M (SLOPE_TO_RIM_MM/1000.0)
111 #define SLOPE_LENGTH_MM 519.23
112 #define SLOPE_LENGTH_M (SLOPE_LENGTH_MM/1000.0)
114 #define SQUARE_WIDTH_MM 350
115 #define SQUARE_HEIGHT_MM 350
117 #define BLINE_WIDTH_MM 50
118 #define BLINE_HEIGHT_MM 2100
120 #define BLOCK_WIDTH_MM 400
121 #define BLOCK_HEIGHT_MM 22
123 #define STARTAREA_WIDTH_MM 400
124 #define STARTAREA_HEIGHT_MM 400
126 #define DISPENSING_WIDTH_MM 400
127 #define DISPENSING_HEIGHT_MM 1678
129 #define PROTECTEDBORDER_WIDTH_MM 22
130 #define PROTECTEDBORDER_HEIGHT_MM 130
132 #define PROTECTEDBLOCK_WIDTH_MM 700
133 #define PROTECTEDBLOCK_HEIGHT_MM 120
135 #define FIGURE_WIDTH_MM 200
137 #define CORN_DIAMETER_MM 50
138 #define CORN_DIAMETER_M (CORN_DIAMETER_MM/1000.0)
139 #define CORN_RADIUS_MM (50/2)
140 #define CORN_RADIUS_M (CORN_RADIUS_MM/1000.0)
142 #define CORN_NEIGHBOURHOOD_RADIUS_MM 220
143 #define CORN_NEIGHBOURHOOD_RADIUS_M (CORN_NEIGHBOURHOOD_RADIUS_MM/1000.0)
145 * 3 ultrasonic beacons
147 #define BEACON_WIDTH 0.08
148 #define BEACON_HEIGHT BEACON_WIDTH
150 #define BEACON_GREEN 0
186 extern const struct beacon_pos beacon_green[BEACON_CNT];
187 extern const struct beacon_pos beacon_red[BEACON_CNT];
188 extern const struct bonus_pos bonus[BONUS_CNT];
189 extern const struct pawn_pos pawn[PAWN_CNT];
190 extern const struct king_pos king[KING_CNT];
191 extern const struct queen_pos queen[QUEEN_CNT];
194 * Position of Shapr sensors on the robot with respect to the robot center
195 * (not used in EB2009)
201 #define SHARP_COUNT 0 /* no sharp sensors in EB2009, I hope */
203 #endif /* ROBODIM_EB2008_H */