1 | /* |
2 | * File: EV3Control_sil_sil_ec_data.c |
3 | * |
4 | * Code generated for Simulink model 'EV3Control_sil_sil_ec'. |
5 | * |
6 | * Model version : 1.2 |
7 | * Simulink Coder version : 9.0 (R2018b) 24-May-2018 |
8 | * C/C++ source code generated on : Tue Oct 29 09:31:45 2019 |
9 | * |
10 | * Target selection: ert.tlc |
11 | * Embedded hardware selection: Intel->x86-64 (Windows64) |
12 | * Code generation objectives: |
13 | * 1. RAM efficiency |
14 | * 2. Execution efficiency |
15 | * 3. ROM efficiency |
16 | * Validation result: Not run |
17 | */ |
18 | |
19 | #include "EV3Control_sil_sil_ec.h" |
20 | |
21 | /* Model block global parameters (default storage) */ |
22 | real_T rtP_CL_EST_STEER_ANGLE_RAD[4] = { -0.78539816339744828, |
23 | -0.39269908169872414, 0.39269908169872414, 0.78539816339744828 } ;/* Variable: CL_EST_STEER_ANGLE_RAD |
24 | * Referenced by: '<S41>/1-D Lookup Table' |
25 | */ |
26 | |
27 | real_T rtP_CL_EST_STEER_ENC_DEG[4] = { -235.0, -150.0, 150.0, 235.0 } ;/* Variable: CL_EST_STEER_ENC_DEG |
28 | * Referenced by: '<S41>/1-D Lookup Table' |
29 | */ |
30 | |
31 | real_T rtP_CTRL_TRK_LOOKAHEAD = 40.0; /* Variable: CTRL_TRK_LOOKAHEAD |
32 | * Referenced by: |
33 | * '<S67>/Constant1' |
34 | * '<S59>/Constant1' |
35 | */ |
36 | real_T rtP_CTRL_TRK_STEER_ANGLE_DEADZONE_RAD = 0.034906585039886591;/* Variable: CTRL_TRK_STEER_ANGLE_DEADZONE_RAD |
37 | * Referenced by: |
38 | * '<S45>/Constant' |
39 | * '<S45>/Constant1' |
40 | */ |
41 | real_T rtP_DEG2RAD = 0.017453292519943295;/* Variable: DEG2RAD |
42 | * Referenced by: '<S4>/deg2rad' |
43 | */ |
44 | real_T rtP_DIST_OBSTACLE_STOP = 15.0; /* Variable: DIST_OBSTACLE_STOP |
45 | * Referenced by: '<S5>/ObstacleDetection' |
46 | */ |
47 | real_T rtP_LATERAL_EVADE_INCREMENT = 100.0;/* Variable: LATERAL_EVADE_INCREMENT |
48 | * Referenced by: '<S72>/Constant2' |
49 | */ |
50 | real_T rtP_MOTOR_DRIVE_TRANSMISSION_RATIO = 0.45454545454545453;/* Variable: MOTOR_DRIVE_TRANSMISSION_RATIO |
51 | * Referenced by: '<S11>/GlobalPosition' |
52 | */ |
53 | real_T rtP_PATH_COORDS_XY[102] = { 100.0, 99.211470131447783, 96.858316112863108, |
54 | 92.977648588825133, 87.630668004386365, 80.901699437494742, 72.896862742141153, |
55 | 63.742398974868962, 53.582679497899655, 42.577929156507267, 30.901699437494745, |
56 | 18.73813145857245, 6.27905195293133, -6.27905195293134, -18.738131458572482, |
57 | -30.901699437494756, -42.577929156507274, -53.58267949789969, |
58 | -63.742398974868976, -72.896862742141167, -80.901699437494727, |
59 | -87.630668004386365, -92.977648588825147, -96.858316112863108, |
60 | -99.211470131447783, -100.0, -99.211470131447783, -96.858316112863122, |
61 | -92.977648588825161, -87.630668004386365, -80.901699437494742, |
62 | -72.896862742141181, -63.742398974868955, -53.582679497899711, |
63 | -42.577929156507295, -30.901699437494756, -18.73813145857255, |
64 | -6.2790519529313205, 6.2790519529312832, 18.738131458572425, |
65 | 30.901699437494724, 42.57792915650726, 53.582679497899676, 63.742398974868934, |
66 | 72.896862742141124, 80.901699437494727, 87.630668004386365, 92.977648588825147, |
67 | 96.8583161128631, 99.211470131447783, 100.0, 0.0, 12.434494358242741, |
68 | 24.087683705085762, 34.227355296434439, 42.216396275100756, 47.552825814757682, |
69 | 49.901336421413589, 49.114362536434435, 45.241352623300969, 38.525662138789464, |
70 | 29.389262614623657, 18.406227634233886, 6.2666616782152049, |
71 | -6.2666616782152147, -18.406227634233915, -29.389262614623668, |
72 | -38.525662138789464, -45.24135262330099, -49.114362536434442, |
73 | -49.901336421413575, -47.552825814757682, -42.216396275100742, |
74 | -34.227355296434411, -24.087683705085766, -12.434494358242725, |
75 | -1.2246467991473532E-14, 12.4344943582427, 24.087683705085745, |
76 | 34.227355296434389, 42.216396275100735, 47.552825814757668, 49.901336421413575, |
77 | 49.114362536434435, 45.241352623301005, 38.525662138789478, 29.389262614623668, |
78 | 18.406227634233979, 6.2666616782151952, -6.2666616782151578, |
79 | -18.406227634233861, -29.38926261462364, -38.525662138789457, |
80 | -45.241352623300983, -49.11436253643442, -49.901336421413575, |
81 | -47.552825814757689, -42.216396275100756, -34.227355296434425, |
82 | -24.087683705085816, -12.434494358242778, -2.4492935982947064E-14 } ;/* Variable: PATH_COORDS_XY |
83 | * Referenced by: '<S67>/Constant2' |
84 | */ |
85 | |
86 | real_T rtP_REMOTE_DRIVE_REV = 8.0; /* Variable: REMOTE_DRIVE_REV |
87 | * Referenced by: |
88 | * '<S5>/ObstacleDetection' |
89 | * '<S9>/Chart' |
90 | */ |
91 | real_T rtP_REMOTE_STEER_LEFT = 2.0; /* Variable: REMOTE_STEER_LEFT |
92 | * Referenced by: '<S39>/Constant' |
93 | */ |
94 | real_T rtP_REMOTE_STEER_RIGHT = 4.0; /* Variable: REMOTE_STEER_RIGHT |
95 | * Referenced by: '<S39>/Constant1' |
96 | */ |
97 | real_T rtP_STEER_ANGLE_MAX_RAD = 0.78539816339744828;/* Variable: STEER_ANGLE_MAX_RAD |
98 | * Referenced by: '<S43>/Saturation' |
99 | */ |
100 | real_T rtP_STEER_ANGLE_MIN_RAD = -0.78539816339744828;/* Variable: STEER_ANGLE_MIN_RAD |
101 | * Referenced by: '<S43>/Saturation' |
102 | */ |
103 | real_T rtP_WHEEL_BASE = 30.0; /* Variable: WHEEL_BASE |
104 | * Referenced by: '<S59>/Constant2' |
105 | */ |
106 | real_T rtP_WHEEL_SIZE_DEG = 0.06; /* Variable: WHEEL_SIZE_DEG |
107 | * Referenced by: '<S11>/GlobalPosition' |
108 | */ |
109 | boolean_T rtP_CTRL_TRK_METHOD = 1; /* Variable: CTRL_TRK_METHOD |
110 | * Referenced by: '<S43>/Constant1' |
111 | */ |
112 | int8_T rtP_MOTOR_DRIVE_DEFAULT_FWD = 60;/* Variable: MOTOR_DRIVE_DEFAULT_FWD |
113 | * Referenced by: '<S91>/Constant1' |
114 | */ |
115 | int8_T rtP_MOTOR_DRIVE_DEFAULT_REV = -45;/* Variable: MOTOR_DRIVE_DEFAULT_REV |
116 | * Referenced by: '<S91>/Constant2' |
117 | */ |
118 | int8_T rtP_MOTOR_DRIVE_MAX = 100; /* Variable: MOTOR_DRIVE_MAX |
119 | * Referenced by: '<S21>/Saturation' |
120 | */ |
121 | int8_T rtP_MOTOR_DRIVE_MIN = -100; /* Variable: MOTOR_DRIVE_MIN |
122 | * Referenced by: '<S21>/Saturation' |
123 | */ |
124 | int8_T rtP_MOTOR_STEER_AUTO_LEFT = 60; /* Variable: MOTOR_STEER_AUTO_LEFT |
125 | * Referenced by: '<S77>/Constant2' |
126 | */ |
127 | int8_T rtP_MOTOR_STEER_AUTO_RIGHT = -60;/* Variable: MOTOR_STEER_AUTO_RIGHT |
128 | * Referenced by: '<S78>/Constant2' |
129 | */ |
130 | int8_T rtP_MOTOR_STEER_MANUAL_LEFT = 50;/* Variable: MOTOR_STEER_MANUAL_LEFT |
131 | * Referenced by: '<S86>/Constant2' |
132 | */ |
133 | int8_T rtP_MOTOR_STEER_MANUAL_RIGHT = -50;/* Variable: MOTOR_STEER_MANUAL_RIGHT |
134 | * Referenced by: '<S87>/Constant2' |
135 | */ |
136 | int8_T rtP_MOTOR_STEER_MAX = 100; /* Variable: MOTOR_STEER_MAX |
137 | * Referenced by: '<S39>/Saturation' |
138 | */ |
139 | int8_T rtP_MOTOR_STEER_MIN = -100; /* Variable: MOTOR_STEER_MIN |
140 | * Referenced by: '<S39>/Saturation' |
141 | */ |
142 | int8_T rtP_REMOTE_DRIVE_AUTO_OFF = 11; /* Variable: REMOTE_DRIVE_AUTO_OFF |
143 | * Referenced by: '<S9>/Chart' |
144 | */ |
145 | int8_T rtP_REMOTE_DRIVE_AUTO_ON = 10; /* Variable: REMOTE_DRIVE_AUTO_ON |
146 | * Referenced by: '<S9>/Chart' |
147 | */ |
148 | int8_T rtP_REMOTE_DRIVE_FWD = 5; /* Variable: REMOTE_DRIVE_FWD |
149 | * Referenced by: '<S9>/Chart' |
150 | */ |
151 | int8_T rtP_REMOTE_START = 1; /* Variable: REMOTE_START |
152 | * Referenced by: '<S9>/Chart' |
153 | */ |
154 | int8_T rtP_REMOTE_STOP = 3; /* Variable: REMOTE_STOP |
155 | * Referenced by: '<S9>/Chart' |
156 | */ |
157 | uint8_T rtP_DIST_OBSTACLE_EVADE = 40U; /* Variable: DIST_OBSTACLE_EVADE |
158 | * Referenced by: '<S5>/ObstacleDetection' |
159 | */ |
160 | uint8_T rtP_STATUS_LIGHT_DEFAULT = 1U; /* Variable: STATUS_LIGHT_DEFAULT |
161 | * Referenced by: '<S19>/Constant2' |
162 | */ |
163 | uint8_T rtP_STATUS_LIGHT_EMERGENCY_STOP = 2U;/* Variable: STATUS_LIGHT_EMERGENCY_STOP |
164 | * Referenced by: |
165 | * '<S2>/Constant3' |
166 | * '<S19>/Constant4' |
167 | */ |
168 | uint8_T rtP_STATUS_LIGHT_IDLE = 1U; /* Variable: STATUS_LIGHT_IDLE |
169 | * Referenced by: '<S19>/Constant3' |
170 | */ |
171 | uint8_T rtP_STATUS_LIGHT_OBSTACLE_DETECTED = 6U;/* Variable: STATUS_LIGHT_OBSTACLE_DETECTED |
172 | * Referenced by: '<S19>/Constant1' |
173 | */ |
174 | uint8_T rtP_STATUS_LIGHT_VEHICLE_CTRL_OFF = 2U;/* Variable: STATUS_LIGHT_VEHICLE_CTRL_OFF |
175 | * Referenced by: '<S19>/Constant5' |
176 | */ |
177 | |
178 | /* Block parameters (default storage) */ |
179 | P_EV3Control_sil_sil_ec_T EV3Control_sil_sil_ec_P = { |
180 | /* Expression: 0 |
181 | * Referenced by: '<S50>/steeringAngleCmd' |
182 | */ |
183 | 0.0, |
184 | |
185 | /* Expression: 2 |
186 | * Referenced by: '<S59>/Gain' |
187 | */ |
188 | 2.0, |
189 | |
190 | /* Expression: 0 |
191 | * Referenced by: '<S47>/steeringAngleCmd' |
192 | */ |
193 | 0.0, |
194 | |
195 | /* Expression: 0 |
196 | * Referenced by: '<S49>/steeringAngleCmd' |
197 | */ |
198 | 0.0, |
199 | |
200 | /* Expression: 0 |
201 | * Referenced by: '<S49>/Constant' |
202 | */ |
203 | 0.0, |
204 | |
205 | /* Expression: 0 |
206 | * Referenced by: '<S72>/goalPointAdapted' |
207 | */ |
208 | 0.0, |
209 | |
210 | /* Expression: 0 |
211 | * Referenced by: '<S74>/goalPointGlobal' |
212 | */ |
213 | 0.0, |
214 | |
215 | /* Expression: 1 |
216 | * Referenced by: '<S74>/Gain' |
217 | */ |
218 | 1.0, |
219 | |
220 | /* Expression: 0 |
221 | * Referenced by: '<S38>/steeringAngleCmdRad' |
222 | */ |
223 | 0.0, |
224 | |
225 | /* Expression: 0 |
226 | * Referenced by: '<S69>/Merge' |
227 | */ |
228 | 0.0, |
229 | |
230 | /* Expression: 0 |
231 | * Referenced by: '<S43>/Merge' |
232 | */ |
233 | 0.0, |
234 | |
235 | /* Expression: -1 |
236 | * Referenced by: '<S45>/Gain' |
237 | */ |
238 | -1.0, |
239 | |
240 | /* Expression: 1 |
241 | * Referenced by: '<S45>/Gain1' |
242 | */ |
243 | 1.0, |
244 | |
245 | /* Expression: 0 |
246 | * Referenced by: '<S94>/Constant' |
247 | */ |
248 | 0.0, |
249 | |
250 | /* Expression: 0 |
251 | * Referenced by: '<S8>/Unit Delay' |
252 | */ |
253 | 0.0, |
254 | |
255 | /* Expression: 0 |
256 | * Referenced by: '<S8>/Unit Delay1' |
257 | */ |
258 | 0.0, |
259 | |
260 | /* Expression: 0 |
261 | * Referenced by: '<S8>/Unit Delay2' |
262 | */ |
263 | 0.0, |
264 | |
265 | /* Expression: 0 |
266 | * Referenced by: '<S2>/Constant2' |
267 | */ |
268 | 0.0, |
269 | |
270 | /* Expression: 440 |
271 | * Referenced by: '<S17>/Constant2' |
272 | */ |
273 | 440.0, |
274 | |
275 | /* Expression: 0 |
276 | * Referenced by: '<S17>/Constant3' |
277 | */ |
278 | 0.0, |
279 | |
280 | /* Expression: 0 |
281 | * Referenced by: '<S17>/Constant1' |
282 | */ |
283 | 0.0, |
284 | |
285 | /* Expression: 0 |
286 | * Referenced by: '<S17>/Merge' |
287 | */ |
288 | 0.0, |
289 | |
290 | /* Expression: 0 |
291 | * Referenced by: '<S17>/Merge' |
292 | */ |
293 | 0.0, |
294 | |
295 | /* Computed Parameter: Gain1_Gain_a |
296 | * Referenced by: '<S4>/Gain1' |
297 | */ |
298 | 1073741824, |
299 | |
300 | /* Computed Parameter: Gain_Gain_a |
301 | * Referenced by: '<S4>/Gain' |
302 | */ |
303 | 1073741824, |
304 | |
305 | /* Computed Parameter: LightStop_Y0 |
306 | * Referenced by: '<S30>/LightStop' |
307 | */ |
308 | 0U, |
309 | |
310 | /* Computed Parameter: obstacleLight_Y0 |
311 | * Referenced by: '<S32>/obstacleLight' |
312 | */ |
313 | 0U, |
314 | |
315 | /* Computed Parameter: lightIdle_Y0 |
316 | * Referenced by: '<S31>/lightIdle' |
317 | */ |
318 | 0U, |
319 | |
320 | /* Computed Parameter: OffLight_Y0 |
321 | * Referenced by: '<S28>/OffLight' |
322 | */ |
323 | 0U, |
324 | |
325 | /* Computed Parameter: lightDefault_Y0 |
326 | * Referenced by: '<S29>/lightDefault' |
327 | */ |
328 | 0U, |
329 | |
330 | /* Computed Parameter: Merge_InitialOutput_i |
331 | * Referenced by: '<S19>/Merge' |
332 | */ |
333 | 0U, |
334 | |
335 | /* Computed Parameter: steerLeft_Y0 |
336 | * Referenced by: '<S77>/steerLeft' |
337 | */ |
338 | 0, |
339 | |
340 | /* Computed Parameter: steerRight_Y0 |
341 | * Referenced by: '<S78>/steerRight' |
342 | */ |
343 | 0, |
344 | |
345 | /* Computed Parameter: NoSteer_Y0 |
346 | * Referenced by: '<S80>/NoSteer' |
347 | */ |
348 | 0, |
349 | |
350 | /* Computed Parameter: Constant2_Value_n |
351 | * Referenced by: '<S80>/Constant2' |
352 | */ |
353 | 0, |
354 | |
355 | /* Computed Parameter: steeringMotor_Y0 |
356 | * Referenced by: '<S38>/steeringMotor' |
357 | */ |
358 | 0, |
359 | |
360 | /* Computed Parameter: Merge_InitialOutput_l |
361 | * Referenced by: '<S45>/Merge' |
362 | */ |
363 | 0, |
364 | |
365 | /* Computed Parameter: noSteer_Y0 |
366 | * Referenced by: '<S85>/noSteer' |
367 | */ |
368 | 0, |
369 | |
370 | /* Computed Parameter: Constant2_Value_h |
371 | * Referenced by: '<S85>/Constant2' |
372 | */ |
373 | 0, |
374 | |
375 | /* Computed Parameter: steerLeft_Y0_f |
376 | * Referenced by: '<S86>/steerLeft' |
377 | */ |
378 | 0, |
379 | |
380 | /* Computed Parameter: steerRight_Y0_m |
381 | * Referenced by: '<S87>/steerRight' |
382 | */ |
383 | 0, |
384 | |
385 | /* Computed Parameter: steeringMotor_Y0_n |
386 | * Referenced by: '<S39>/steeringMotor' |
387 | */ |
388 | 0, |
389 | |
390 | /* Computed Parameter: Constant2_Value_kp |
391 | * Referenced by: '<S39>/Constant2' |
392 | */ |
393 | 0, |
394 | |
395 | /* Computed Parameter: Merge_InitialOutput_m |
396 | * Referenced by: '<S39>/Merge' |
397 | */ |
398 | 0, |
399 | |
400 | /* Computed Parameter: driveMotor_Y0 |
401 | * Referenced by: '<S91>/driveMotor' |
402 | */ |
403 | 0, |
404 | |
405 | /* Computed Parameter: driveMotor_Y0_e |
406 | * Referenced by: '<S93>/driveMotor' |
407 | */ |
408 | 0, |
409 | |
410 | /* Computed Parameter: Constant1_Value_c |
411 | * Referenced by: '<S93>/Constant1' |
412 | */ |
413 | 0, |
414 | |
415 | /* Computed Parameter: UnitDelay_InitialCondition_f |
416 | * Referenced by: '<S14>/Unit Delay' |
417 | */ |
418 | 0, |
419 | |
420 | /* Computed Parameter: Constant_Value_k |
421 | * Referenced by: '<S8>/Constant' |
422 | */ |
423 | 0, |
424 | |
425 | /* Computed Parameter: Constant_Value_a |
426 | * Referenced by: '<S2>/Constant' |
427 | */ |
428 | 0, |
429 | |
430 | /* Computed Parameter: Merge_InitialOutput_h |
431 | * Referenced by: '<S21>/Merge' |
432 | */ |
433 | 0, |
434 | |
435 | /* Computed Parameter: Constant1_Value_g |
436 | * Referenced by: '<S2>/Constant1' |
437 | */ |
438 | 0, |
439 | |
440 | /* Computed Parameter: Merge_InitialOutput_e |
441 | * Referenced by: '<S20>/Merge' |
442 | */ |
443 | 0, |
444 | |
445 | /* Computed Parameter: Gain5_Gain |
446 | * Referenced by: '<S4>/Gain5' |
447 | */ |
448 | 64, |
449 | |
450 | /* Computed Parameter: Gain_Gain_j |
451 | * Referenced by: '<S30>/Gain' |
452 | */ |
453 | 128U, |
454 | |
455 | /* Computed Parameter: Gain_Gain_b |
456 | * Referenced by: '<S32>/Gain' |
457 | */ |
458 | 128U, |
459 | |
460 | /* Computed Parameter: Gain_Gain_ke |
461 | * Referenced by: '<S31>/Gain' |
462 | */ |
463 | 128U, |
464 | |
465 | /* Computed Parameter: Gain_Gain_d |
466 | * Referenced by: '<S28>/Gain' |
467 | */ |
468 | 128U, |
469 | |
470 | /* Computed Parameter: Gain_Gain_n |
471 | * Referenced by: '<S29>/Gain' |
472 | */ |
473 | 128U, |
474 | |
475 | /* Computed Parameter: Gain2_Gain |
476 | * Referenced by: '<S4>/Gain2' |
477 | */ |
478 | 128U, |
479 | |
480 | /* Computed Parameter: Gain3_Gain |
481 | * Referenced by: '<S4>/Gain3' |
482 | */ |
483 | 128U, |
484 | |
485 | /* Computed Parameter: Gain4_Gain |
486 | * Referenced by: '<S4>/Gain4' |
487 | */ |
488 | 128U, |
489 | |
490 | /* Start of '<S17>/DoNotHonk' */ |
491 | { |
492 | /* Expression: 0 |
493 | * Referenced by: '<S22>/speaker' |
494 | */ |
495 | 0.0 |
496 | } |
497 | , |
498 | |
499 | /* End of '<S17>/DoNotHonk' */ |
500 | |
501 | /* Start of '<S17>/HonkIfObstacleDetected' */ |
502 | { |
503 | /* Expression: 0 |
504 | * Referenced by: '<S23>/speaker' |
505 | */ |
506 | 0.0 |
507 | } |
508 | /* End of '<S17>/HonkIfObstacleDetected' */ |
509 | }; |
510 | |
511 | /* |
512 | * File trailer for generated code. |
513 | * |
514 | * [EOF] |
515 | */ |
516 | |