@@ -20,10 +20,7 @@ LateralNormalLaw::Parameters_LateralNormalLaw_T LateralNormalLaw::LateralNormalL
20
20
{ 0.0 , 140.0 , 180.0 , 220.0 , 250.0 , 270.0 , 300.0 , 320.0 , 400.0 },
21
21
22
22
23
- { 0.0 , 100.0 , 150.0 , 200.0 , 250.0 , 300.0 , 400.0 },
24
-
25
-
26
- { 0.0 , 100.0 , 150.0 , 200.0 , 250.0 , 300.0 , 400.0 },
23
+ { 0.0 , 40.0 , 100.0 , 180.0 },
27
24
28
25
29
26
{ 0.0 , 0.06 , 0.1 , 0.2 , 1.0 },
@@ -60,10 +57,7 @@ LateralNormalLaw::Parameters_LateralNormalLaw_T LateralNormalLaw::LateralNormalL
60
57
{ 1.1 , 1.3 , 1.8 , 2.0 , 2.2 , 2.5 , 2.7 , 3.2 , 3.8 },
61
58
62
59
63
- { 4.5 , 4.5 , 4.5 , 3.5 , 2.0 , 1.5 , 1.5 },
64
-
65
-
66
- { 1.4 , 1.4 , 1.4 , 1.2 , 1.0 , 0.8 , 0.8 },
60
+ { 0.0 , 0.0 , 1.4 , 1.4 },
67
61
68
62
69
63
{ 1.1 , 1.0 , 0.6 , 0.3 , 0.1 },
@@ -152,6 +146,10 @@ LateralNormalLaw::Parameters_LateralNormalLaw_T LateralNormalLaw::LateralNormalL
152
146
153
147
57.295779513082323 ,
154
148
149
+ 0.017453292519943295 ,
150
+
151
+ 57.295779513082323 ,
152
+
155
153
25.0 ,
156
154
157
155
-25.0 ,
@@ -271,6 +269,7 @@ void LateralNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_T
271
269
272
270
real_T L_xi;
273
271
real_T Vias;
272
+ real_T Vias_tmp;
274
273
real_T b_x;
275
274
real_T k_phi;
276
275
real_T r;
@@ -279,12 +278,12 @@ void LateralNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_T
279
278
real_T rtb_Gain_b;
280
279
real_T rtb_Saturation2;
281
280
real_T rtb_Saturation_f;
282
- real_T rtb_Switch2;
283
281
real_T rtb_Y_i;
284
- real_T rtb_Y_o;
285
282
real_T rtb_beDot;
283
+ real_T rtb_input_V_ias_kn;
286
284
real_T rtb_input_p_V_tas_kn;
287
- real_T v_cas_ms;
285
+ real_T rtb_uDLookupTable_n;
286
+ real_T u0;
288
287
real_T x;
289
288
int32_T low_i;
290
289
int32_T low_ip1;
@@ -321,10 +320,10 @@ void LateralNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_T
321
320
LateralNormalLaw_rtP.RateLimiterVariableTs_lo , rtu_In_time_dt,
322
321
LateralNormalLaw_rtP.RateLimiterVariableTs_InitialCondition , &rtb_Y_i, &LateralNormalLaw_DWork.sf_RateLimiter );
323
322
rtb_Gain_b = LateralNormalLaw_rtP.Gain_Gain * *rtu_In_delta_xi_pos;
324
- v_cas_ms = *rtu_In_V_ias_kn;
323
+ rtb_input_V_ias_kn = *rtu_In_V_ias_kn;
325
324
rtb_Gain = *rtu_In_delta_zeta_pos;
326
- Vias = std::fmax (v_cas_ms , 60.0 );
327
- v_cas_ms = 0.0 ;
325
+ Vias = std::fmax (rtb_input_V_ias_kn , 60.0 );
326
+ rtb_input_V_ias_kn = 0.0 ;
328
327
if (Vias <= 380.0 ) {
329
328
rtb_in_flight = 4 ;
330
329
low_i = 1 ;
@@ -341,31 +340,31 @@ void LateralNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_T
341
340
342
341
r = (Vias - static_cast <real_T>(b[low_i - 1 ])) / static_cast <real_T>(b[low_i] - b[low_i - 1 ]);
343
342
if (r == 0.0 ) {
344
- v_cas_ms = -15.0 ;
343
+ rtb_input_V_ias_kn = -15.0 ;
345
344
} else if (r == 1.0 ) {
346
- v_cas_ms = c[low_i];
345
+ rtb_input_V_ias_kn = c[low_i];
347
346
} else if (c[low_i] == -15 ) {
348
- v_cas_ms = -15.0 ;
347
+ rtb_input_V_ias_kn = -15.0 ;
349
348
} else {
350
- v_cas_ms = (1.0 - r) * -15.0 + r * static_cast <real_T>(c[low_i]);
349
+ rtb_input_V_ias_kn = (1.0 - r) * -15.0 + r * static_cast <real_T>(c[low_i]);
351
350
}
352
351
}
353
352
354
353
rtb_Saturation_f = Vias * 0.5144 ;
355
354
LateralNormalLaw_RateLimiter (0.814 / std::sqrt (1.3734E+6 / (149.45000000000002 * (rtb_Saturation_f * rtb_Saturation_f)))
356
- * (v_cas_ms * rtb_Gain), LateralNormalLaw_rtP.RateLimiterVariableTs1_up ,
355
+ * (rtb_input_V_ias_kn * rtb_Gain), LateralNormalLaw_rtP.RateLimiterVariableTs1_up ,
357
356
LateralNormalLaw_rtP.RateLimiterVariableTs1_lo , rtu_In_time_dt,
358
357
LateralNormalLaw_rtP.RateLimiterVariableTs1_InitialCondition , &Vias, &LateralNormalLaw_DWork.sf_RateLimiter_d );
359
- rtb_Y_o = *rtu_In_r_deg_s;
360
- rtb_Switch2 = *rtu_In_V_ias_kn;
358
+ Vias = *rtu_In_r_deg_s;
359
+ rtb_beDot = *rtu_In_V_ias_kn;
361
360
rtb_input_p_V_tas_kn = *rtu_In_V_tas_kn;
362
- rtb_beDot = *rtu_In_delta_zeta_pos;
361
+ rtb_uDLookupTable_n = *rtu_In_delta_zeta_pos;
363
362
rtb_Saturation2 = LateralNormalLaw_rtP.Gain1_Gain * *rtu_In_delta_xi_pos;
364
363
rtb_Gain = LateralNormalLaw_rtP.DiscreteDerivativeVariableTs_Gain * rtb_Saturation2;
365
364
rtb_Divide = (rtb_Gain - LateralNormalLaw_DWork.Delay_DSTATE ) / *rtu_In_time_dt;
366
- v_cas_ms = std::fmax (*rtu_In_V_ias_kn, 80.0 ) * 0.5144 ;
367
- Vias = v_cas_ms * v_cas_ms * 0.6125 ;
368
- L_xi = Vias * 122.0 * 17.9 * -0.090320788790706555 / 1.0E+6 ;
365
+ rtb_input_V_ias_kn = std::fmax (*rtu_In_V_ias_kn, 80.0 ) * 0.5144 ;
366
+ Vias_tmp = rtb_input_V_ias_kn * rtb_input_V_ias_kn * 0.6125 ;
367
+ L_xi = Vias_tmp * 122.0 * 17.9 * -0.090320788790706555 / 1.0E+6 ;
369
368
if (*rtu_In_V_ias_kn > 400.0 ) {
370
369
r = 2.0 ;
371
370
} else if (*rtu_In_V_ias_kn < -1.0 ) {
@@ -419,14 +418,14 @@ void LateralNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_T
419
418
b_x = *rtu_In_pk_deg_s;
420
419
}
421
420
422
- rtb_Saturation2 = (1.0 / r * rtb_Divide + rtb_Saturation2) + rtb_Saturation_f;
423
- if (rtb_Saturation2 > LateralNormalLaw_rtP.Saturation_UpperSat_a ) {
424
- rtb_Saturation2 = LateralNormalLaw_rtP.Saturation_UpperSat_a ;
425
- } else if (rtb_Saturation2 < LateralNormalLaw_rtP.Saturation_LowerSat_o ) {
426
- rtb_Saturation2 = LateralNormalLaw_rtP.Saturation_LowerSat_o ;
421
+ u0 = (1.0 / r * rtb_Divide + rtb_Saturation2) + rtb_Saturation_f;
422
+ if (u0 > LateralNormalLaw_rtP.Saturation_UpperSat_a ) {
423
+ u0 = LateralNormalLaw_rtP.Saturation_UpperSat_a ;
424
+ } else if (u0 < LateralNormalLaw_rtP.Saturation_LowerSat_o ) {
425
+ u0 = LateralNormalLaw_rtP.Saturation_LowerSat_o ;
427
426
}
428
427
429
- rtb_Saturation_f = std::fmin (b_x, std::fmax (x, rtb_Saturation2 * rtb_Y_i)) *
428
+ rtb_Saturation_f = std::fmin (b_x, std::fmax (x, u0 * rtb_Y_i)) *
430
429
LateralNormalLaw_rtP.DiscreteTimeIntegratorVariableTs_Gain * *rtu_In_time_dt;
431
430
rtb_OR = ((rtb_Y_i == 0.0 ) || (*rtu_In_tracking_mode_on) || (*rtu_In_any_ap_engaged));
432
431
rtb_Divide = *rtu_In_Phi_deg - rtb_Saturation_f;
@@ -453,30 +452,30 @@ void LateralNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_T
453
452
}
454
453
455
454
rtb_Saturation2 = std::fmax (rtb_input_p_V_tas_kn * 0.5144 , 60.0 );
456
- rtb_Saturation_f = rtb_Switch2 * 0.5144 ;
457
- if (rtb_Switch2 >= 60.0 ) {
458
- rtb_beDot = (rtb_Saturation_f * rtb_Saturation_f * 0.6125 * 122.0 / (70000.0 * rtb_Saturation2) * 3.172 * -rtb_beDot
459
- * 3.1415926535897931 / 180.0 + (rtb_Divide * 3.1415926535897931 / 180.0 * (9.81 / rtb_Saturation2) +
460
- -(rtb_Y_o * 3.1415926535897931 / 180.0 ))) * 180.0 / 3.1415926535897931 ;
455
+ rtb_Saturation_f = rtb_beDot * 0.5144 ;
456
+ if (rtb_beDot >= 60.0 ) {
457
+ rtb_beDot = (rtb_Saturation_f * rtb_Saturation_f * 0.6125 * 122.0 / (70000.0 * rtb_Saturation2) * 3.172 *
458
+ -rtb_uDLookupTable_n * 3.1415926535897931 / 180.0 + (rtb_Divide * 3.1415926535897931 / 180.0 * (9.81 /
459
+ rtb_Saturation2) + -(Vias * 3.1415926535897931 / 180.0 ))) * 180.0 / 3.1415926535897931 ;
461
460
} else {
462
461
rtb_beDot = 0.0 ;
463
462
}
464
463
465
- LateralNormalLaw_LagFilter (rtb_beDot, LateralNormalLaw_rtP.LagFilter_C1 , rtu_In_time_dt, &rtb_Y_o ,
464
+ LateralNormalLaw_LagFilter (rtb_beDot, LateralNormalLaw_rtP.LagFilter_C1 , rtu_In_time_dt, &rtb_Saturation2 ,
466
465
&LateralNormalLaw_DWork.sf_LagFilter );
467
466
rtb_Saturation_f = look1_binlxpw (*rtu_In_V_ias_kn, LateralNormalLaw_rtP.ScheduledGain2_BreakpointsForDimension1 ,
468
467
LateralNormalLaw_rtP.ScheduledGain2_Table , 3U );
469
468
if (*rtu_In_any_ap_engaged) {
470
- rtb_Switch2 = *rtu_In_ap_beta_c_deg;
469
+ Vias = *rtu_In_ap_beta_c_deg;
471
470
} else {
472
- rtb_Switch2 = *rtu_In_delta_zeta_pos * rtb_Saturation_f;
471
+ Vias = *rtu_In_delta_zeta_pos * rtb_Saturation_f;
473
472
}
474
473
475
474
rtb_Saturation_f = look1_binlxpw (*rtu_In_V_ias_kn, LateralNormalLaw_rtP.ScheduledGain1_BreakpointsForDimension1 ,
476
475
LateralNormalLaw_rtP.ScheduledGain1_Table , 4U );
477
- LateralNormalLaw_LagFilter ((rtb_Switch2 - rtb_Y_o ) * rtb_Saturation_f - rtb_beDot, LateralNormalLaw_rtP. LagFilter_C1_d ,
478
- rtu_In_time_dt, &rtb_Y_o , &LateralNormalLaw_DWork.sf_LagFilter_m );
479
- rtb_Saturation2 = look1_binlxpw (*rtu_In_V_ias_kn, LateralNormalLaw_rtP.ScheduledGain_BreakpointsForDimension1 ,
476
+ LateralNormalLaw_LagFilter ((Vias - rtb_Saturation2 ) * rtb_Saturation_f - rtb_beDot,
477
+ LateralNormalLaw_rtP. LagFilter_C1_d , rtu_In_time_dt, &rtb_Saturation2 , &LateralNormalLaw_DWork.sf_LagFilter_m );
478
+ rtb_uDLookupTable_n = look1_binlxpw (*rtu_In_V_ias_kn, LateralNormalLaw_rtP.ScheduledGain_BreakpointsForDimension1 ,
480
479
LateralNormalLaw_rtP.ScheduledGain_Table , 8U );
481
480
if (!LateralNormalLaw_DWork.pY_not_empty_h ) {
482
481
LateralNormalLaw_DWork.pY_p = LateralNormalLaw_rtP.RateLimiterVariableTs_InitialCondition_d ;
@@ -496,56 +495,58 @@ void LateralNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_T
496
495
}
497
496
498
497
rtb_beDot = *rtu_In_ap_beta_c_deg * rtb_Saturation_f;
499
- rtb_Saturation2 = rtb_Switch2 * rtb_Saturation2 + rtb_Y_o ;
500
- if (rtb_Saturation2 > LateralNormalLaw_rtP.Saturation_UpperSat_f ) {
501
- rtb_Saturation2 = LateralNormalLaw_rtP.Saturation_UpperSat_f ;
502
- } else if (rtb_Saturation2 < LateralNormalLaw_rtP.Saturation_LowerSat_j ) {
503
- rtb_Saturation2 = LateralNormalLaw_rtP.Saturation_LowerSat_j ;
498
+ u0 = Vias * rtb_uDLookupTable_n + rtb_Saturation2 ;
499
+ if (u0 > LateralNormalLaw_rtP.Saturation_UpperSat_f ) {
500
+ u0 = LateralNormalLaw_rtP.Saturation_UpperSat_f ;
501
+ } else if (u0 < LateralNormalLaw_rtP.Saturation_LowerSat_j ) {
502
+ u0 = LateralNormalLaw_rtP.Saturation_LowerSat_j ;
504
503
}
505
504
506
- rtb_Saturation_f = (LateralNormalLaw_rtP.Constant_Value - rtb_Saturation_f) * rtb_Saturation2 + rtb_beDot;
505
+ rtb_Saturation_f = (LateralNormalLaw_rtP.Constant_Value - rtb_Saturation_f) * u0 + rtb_beDot;
507
506
} else {
508
507
rtb_Saturation_f = LateralNormalLaw_rtP.Constant_Value_b ;
509
508
}
510
509
511
- rtb_Y_o = LateralNormalLaw_rtP.Gain1_Gain_l * *rtu_In_Theta_deg;
512
- rtb_Saturation2 = *rtu_In_V_tas_kn;
513
- if (rtb_Saturation2 > LateralNormalLaw_rtP.Saturation_UpperSat_e ) {
514
- rtb_Saturation2 = LateralNormalLaw_rtP.Saturation_UpperSat_e ;
515
- } else if (rtb_Saturation2 < LateralNormalLaw_rtP.Saturation_LowerSat_jd ) {
516
- rtb_Saturation2 = LateralNormalLaw_rtP.Saturation_LowerSat_jd ;
510
+ rtb_Saturation2 = LateralNormalLaw_rtP.Gain1_Gain_p * *rtu_In_Theta_deg;
511
+ u0 = *rtu_In_V_tas_kn;
512
+ if (u0 > LateralNormalLaw_rtP.Saturation_UpperSat_c ) {
513
+ u0 = LateralNormalLaw_rtP.Saturation_UpperSat_c ;
514
+ } else if (u0 < LateralNormalLaw_rtP.Saturation_LowerSat_i ) {
515
+ u0 = LateralNormalLaw_rtP.Saturation_LowerSat_i ;
517
516
}
518
517
519
- rtb_Y_o = *rtu_In_r_deg_s - std::sin (LateralNormalLaw_rtP.Gain1_Gain_f * rtb_Divide) *
520
- LateralNormalLaw_rtP.Constant2_Value * std::cos (rtb_Y_o) / (LateralNormalLaw_rtP.Gain6_Gain * rtb_Saturation2) *
521
- LateralNormalLaw_rtP.Gain_Gain_i ;
522
- rtb_Saturation2 = look1_binlxpw (*rtu_In_V_tas_kn, LateralNormalLaw_rtP.ScheduledGain_BreakpointsForDimension1_a ,
523
- LateralNormalLaw_rtP.ScheduledGain_Table_e , 6U );
524
- rtb_Switch2 = rtb_Y_o * rtb_Saturation2;
518
+ rtb_uDLookupTable_n = *rtu_In_r_deg_s - std::sin (LateralNormalLaw_rtP.Gain1_Gain_j * rtb_Divide) *
519
+ LateralNormalLaw_rtP.Constant2_Value * std::cos (rtb_Saturation2) / (LateralNormalLaw_rtP.Gain6_Gain * u0) *
520
+ LateralNormalLaw_rtP.Gain_Gain_g ;
525
521
rtb_OR = !*rtu_In_on_ground;
526
522
if (!LateralNormalLaw_DWork.pY_not_empty ) {
527
523
LateralNormalLaw_DWork.pY = LateralNormalLaw_rtP.RateLimiterVariableTs1_InitialCondition_m ;
528
524
LateralNormalLaw_DWork.pY_not_empty = true ;
529
525
}
530
526
531
527
LateralNormalLaw_DWork.pY += std::fmax (std::fmin (static_cast <real_T>(rtb_OR) - LateralNormalLaw_DWork.pY , std::abs
532
- (LateralNormalLaw_rtP.RateLimiterVariableTs1_up_j ) * *rtu_In_time_dt), -std::abs
533
- (LateralNormalLaw_rtP.RateLimiterVariableTs1_lo_n ) * *rtu_In_time_dt);
534
- if (LateralNormalLaw_DWork.pY > LateralNormalLaw_rtP.Saturation_UpperSat_n ) {
535
- rtb_Y_o = LateralNormalLaw_rtP.Saturation_UpperSat_n ;
536
- } else if (LateralNormalLaw_DWork.pY < LateralNormalLaw_rtP.Saturation_LowerSat_b ) {
537
- rtb_Y_o = LateralNormalLaw_rtP.Saturation_LowerSat_b ;
528
+ (LateralNormalLaw_rtP.RateLimiterVariableTs1_up_o ) * *rtu_In_time_dt), -std::abs
529
+ (LateralNormalLaw_rtP.RateLimiterVariableTs1_lo_m ) * *rtu_In_time_dt);
530
+ if (LateralNormalLaw_DWork.pY > LateralNormalLaw_rtP.Saturation_UpperSat_j ) {
531
+ Vias = LateralNormalLaw_rtP.Saturation_UpperSat_j ;
532
+ } else if (LateralNormalLaw_DWork.pY < LateralNormalLaw_rtP.Saturation_LowerSat_n ) {
533
+ Vias = LateralNormalLaw_rtP.Saturation_LowerSat_n ;
538
534
} else {
539
- rtb_Y_o = LateralNormalLaw_DWork.pY ;
535
+ Vias = LateralNormalLaw_DWork.pY ;
540
536
}
541
537
542
- rtb_Saturation2 = look1_binlxpw (*rtu_In_V_tas_kn , LateralNormalLaw_rtP.ScheduledGain1_BreakpointsForDimension1_j ,
543
- LateralNormalLaw_rtP.ScheduledGain1_Table_m , 6U );
538
+ rtb_Saturation2 = look1_binlxpw (*rtu_In_V_ias_kn , LateralNormalLaw_rtP.ScheduledGain1_BreakpointsForDimension1_i ,
539
+ LateralNormalLaw_rtP.ScheduledGain1_Table_d , 3U );
544
540
rtb_Saturation2 *= *rtu_In_r_deg_s;
545
- if (rtb_Switch2 > LateralNormalLaw_rtP.Saturation1_UpperSat ) {
546
- rtb_Switch2 = LateralNormalLaw_rtP.Saturation1_UpperSat ;
547
- } else if (rtb_Switch2 < LateralNormalLaw_rtP.Saturation1_LowerSat ) {
548
- rtb_Switch2 = LateralNormalLaw_rtP.Saturation1_LowerSat ;
541
+ rtb_input_p_V_tas_kn = Vias_tmp * 122.0 * 17.9 ;
542
+ u0 = -(Vias_tmp / rtb_input_V_ias_kn * 122.0 * 320.40999999999997 * -0.10100220381291185 / 4.47E+6 + std::sqrt
543
+ (rtb_input_p_V_tas_kn * 0.0035255650890285459 / 4.47E+6 ) * 1.414 ) / (rtb_input_p_V_tas_kn *
544
+ -0.018936822384138473 / 4.47E+6 ) * (LateralNormalLaw_rtP.Gain1_Gain_k * rtb_uDLookupTable_n) *
545
+ LateralNormalLaw_rtP.Gain_Gain_b ;
546
+ if (u0 > LateralNormalLaw_rtP.Saturation1_UpperSat ) {
547
+ u0 = LateralNormalLaw_rtP.Saturation1_UpperSat ;
548
+ } else if (u0 < LateralNormalLaw_rtP.Saturation1_LowerSat ) {
549
+ u0 = LateralNormalLaw_rtP.Saturation1_LowerSat ;
549
550
}
550
551
551
552
if (rtb_Saturation2 > LateralNormalLaw_rtP.Saturation2_UpperSat ) {
@@ -554,15 +555,14 @@ void LateralNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_T
554
555
rtb_Saturation2 = LateralNormalLaw_rtP.Saturation2_LowerSat ;
555
556
}
556
557
557
- *rty_Out_zeta_deg = ((LateralNormalLaw_rtP.Constant_Value_k - rtb_Y_o) * rtb_Saturation2 + rtb_Switch2 * rtb_Y_o) +
558
- rtb_Saturation_f;
558
+ *rty_Out_zeta_deg = ((LateralNormalLaw_rtP.Constant_Value_b2 - Vias) * rtb_Saturation2 + u0 * Vias) + rtb_Saturation_f;
559
559
rtb_Saturation_f = LateralNormalLaw_rtP.Gain1_Gain_b * *rtu_In_Phi_deg;
560
- rtb_Switch2 = LateralNormalLaw_rtP.Gain1_Gain_c * *rtu_In_pk_deg_s;
561
- rtb_Y_o = look1_binlxpw (*rtu_In_time_dt, LateralNormalLaw_rtP.ScheduledGain_BreakpointsForDimension1_j ,
562
- LateralNormalLaw_rtP.ScheduledGain_Table_i , 4U );
563
- LateralNormalLaw_DWork.Delay_DSTATE_e = ((-(Vias / v_cas_ms * 122.0 * 320.40999999999997 * -0.487 / 1.0E+6 + 1.414 * r)
564
- / L_xi * rtb_Switch2 + k_phi * rtb_Saturation_f) + LateralNormalLaw_rtP.Gain1_Gain_n * rtb_Divide * -k_phi) *
565
- rtb_Y_o * LateralNormalLaw_rtP.Gain_Gain_p ;
560
+ rtb_Saturation2 = LateralNormalLaw_rtP.Gain1_Gain_c * *rtu_In_pk_deg_s;
561
+ Vias = look1_binlxpw (*rtu_In_time_dt, LateralNormalLaw_rtP.ScheduledGain_BreakpointsForDimension1_j ,
562
+ LateralNormalLaw_rtP.ScheduledGain_Table_i , 4U );
563
+ LateralNormalLaw_DWork.Delay_DSTATE_e = ((-(Vias_tmp / rtb_input_V_ias_kn * 122.0 * 320.40999999999997 * -0.487 /
564
+ 1.0E+6 + 1.414 * r) / L_xi * rtb_Saturation2 + k_phi * rtb_Saturation_f) + LateralNormalLaw_rtP.Gain1_Gain_n *
565
+ rtb_Divide * -k_phi) * Vias * LateralNormalLaw_rtP.Gain_Gain_p ;
566
566
if (rtb_Y_i > LateralNormalLaw_rtP.Saturation1_UpperSat_e ) {
567
567
rtb_Y_i = LateralNormalLaw_rtP.Saturation1_UpperSat_e ;
568
568
} else if (rtb_Y_i < LateralNormalLaw_rtP.Saturation1_LowerSat_l ) {
0 commit comments