1 package org.opentrafficsim.road.gtu.lane.tactical.cacc;
2
3 import static org.opentrafficsim.base.parameters.constraint.NumericConstraint.NEGATIVE;
4 import static org.opentrafficsim.base.parameters.constraint.NumericConstraint.POSITIVE;
5
6 import org.djunits.unit.AccelerationUnit;
7 import org.djunits.unit.DurationUnit;
8 import org.djunits.unit.LengthUnit;
9 import org.djunits.unit.SpeedUnit;
10 import org.djunits.value.vdouble.scalar.Acceleration;
11 import org.djunits.value.vdouble.scalar.Duration;
12 import org.djunits.value.vdouble.scalar.Length;
13 import org.djunits.value.vdouble.scalar.Speed;
14 import org.opentrafficsim.base.parameters.ParameterTypeAcceleration;
15 import org.opentrafficsim.base.parameters.ParameterTypeDouble;
16 import org.opentrafficsim.base.parameters.ParameterTypeDuration;
17 import org.opentrafficsim.base.parameters.ParameterTypeLength;
18 import org.opentrafficsim.base.parameters.ParameterTypeSpeed;
19
20 public class CaccParameters
21 {
22
23 public static ParameterTypeDuration T_SYSTEM_CACC;
24
25 public static final ParameterTypeDuration T_SYSTEM_ACC;
26
27 public static final ParameterTypeDouble K;
28
29 public static final ParameterTypeDouble K_A;
30
31 public static final ParameterTypeDouble K_V;
32
33 public static final ParameterTypeDouble K_D;
34
35 public static final ParameterTypeAcceleration A_MIN;
36
37 public static final ParameterTypeAcceleration A_MAX;
38
39 public static final ParameterTypeDouble R_MIN;
40
41 public static final ParameterTypeLength STANDSTILL;
42
43 public static final ParameterTypeDuration T_GAP;
44
45 public static ParameterTypeAcceleration A_REDUCED;
46
47 public static ParameterTypeSpeed SET_SPEED;
48
49 static
50 {
51 T_SYSTEM_CACC = new ParameterTypeDuration("TsystemCacc", "Constant time gap spacing",
52 new Duration(0.5, DurationUnit.SI), POSITIVE);
53 T_SYSTEM_ACC = new ParameterTypeDuration("TsystemAcc", "Constant time gap spacing", new Duration(1.5, DurationUnit.SI),
54 POSITIVE);
55 T_GAP = new ParameterTypeDuration("Tgap", "Gap acceptance headway", new Duration(0.56, DurationUnit.SI), POSITIVE);
56 K = new ParameterTypeDouble("k", "General gain", 0.3, POSITIVE);
57 K_A = new ParameterTypeDouble("ka", "Acceleration gain", 1.0, POSITIVE);
58 K_D = new ParameterTypeDouble("kd", "Spacing gain", 0.1, POSITIVE);
59 K_V = new ParameterTypeDouble("kv", "Speed gain", 0.58, POSITIVE);
60 A_MIN = new ParameterTypeAcceleration("Amin", "Maximum (comfortable) deceleration",
61 new Acceleration(-5, AccelerationUnit.SI), NEGATIVE);
62 A_MAX = new ParameterTypeAcceleration("Amax", "Maximum (comfortable) accceleration",
63 new Acceleration(1.25, AccelerationUnit.SI), POSITIVE);
64 R_MIN = new ParameterTypeDouble("rmin", "Minimum spacing", 2, POSITIVE);
65 STANDSTILL = new ParameterTypeLength("Standstill", "Standstill distance", new Length(3.0, LengthUnit.METER), POSITIVE);
66 A_REDUCED = new ParameterTypeAcceleration("Areduced", "Reduction in acceleration to create gaps",
67 new Acceleration(0, AccelerationUnit.SI));
68 SET_SPEED = new ParameterTypeSpeed("SetSpeed", "Free flow speed for leading platoon vehicle",
69 new Speed(80, SpeedUnit.KM_PER_HOUR), POSITIVE);
70 }
71 }