From 1da90115710e24a504dd94c87a7ecac966c3e996 Mon Sep 17 00:00:00 2001 From: arpadlomenipg Date: Thu, 28 Mar 2024 16:47:36 +0100 Subject: [PATCH 1/3] fixed not recognizing one digit CarMaker versions --- src/isValidInfoFile.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/isValidInfoFile.js b/src/isValidInfoFile.js index 2c8374c..f55e54c 100644 --- a/src/isValidInfoFile.js +++ b/src/isValidInfoFile.js @@ -69,45 +69,45 @@ function isValidInfoFile({ file, type }) { switch (type) { // regex match for possible vehicle types in the FileIdent property of the infofile case "Vehicle": - return fileIdent.match(/^CarMaker-Car\s\d{2}$/) || - fileIdent.match(/^CarMaker-Truck\s\d{2}$/) || - fileIdent.match(/^CarMaker-Motorcycle\s\d{2}$/) + return fileIdent.match(/^CarMaker-Car\s\d{1}/) || + fileIdent.match(/^CarMaker-Truck\s\d{1}/) || + fileIdent.match(/^CarMaker-Motorcycle\s\d{1}/) ? true : false; case "Car": - return fileIdent.match(/^CarMaker-Car\s\d{2}$/) ? true : false; + return fileIdent.match(/^CarMaker-Car\s\d{1}/) ? true : false; case "Motorcycle": - return fileIdent.match(/^CarMaker-Motorcycle\s\d{2}$/) ? true : false; + return fileIdent.match(/^CarMaker-Motorcycle\s\d{1}/) ? true : false; case "Truck": - return fileIdent.match(/^CarMaker-Truck\s\d{2}$/) ? true : false; + return fileIdent.match(/^CarMaker-Truck\s\d{1}/) ? true : false; // regex match for TestRun in the FileIdent property of the infofile case "TestRun": - return fileIdent.match(/^CarMaker-TestRun\s\d{2}$/) ? true : false; + return fileIdent.match(/^CarMaker-TestRun\s\d{1}/) ? true : false; case "Road": //regex pattern search for Roadfile return fileIdent.match(/^IPGRoad.+$/) ? true : false; case "Trailer": - return fileIdent.match(/^CarMaker-Trailer\s\d{2}$/) ? true : false; + return fileIdent.match(/^CarMaker-Trailer\s\d{1}/) ? true : false; case "Tire": return fileIdent.match(/^CarMaker-Tire-.+$/) ? true : false; case "Driver": - return fileIdent.match(/^CarMaker-DriverTemplate\s\d{2}$/) + return fileIdent.match(/^CarMaker-DriverTemplate\s\d{1}/) ? true : false; case "TrafficBehavior": - return fileIdent.match(/^CarMaker-TrafficGenDriverBehavior\s\d{2}$/) + return fileIdent.match(/^CarMaker-TrafficGenDriverBehavior\s\d{1}/) ? true : false; case "TrafficDriver": - return fileIdent.match(/^CarMaker-TrafficAutoDriver\s\d{2}$/) + return fileIdent.match(/^CarMaker-TrafficAutoDriver\s\d{1}/) ? true : false; case "TrafficTemplate": - return fileIdent.match(/^CarMaker-TrafficTemplate\s\d{2}$/) + return fileIdent.match(/^CarMaker-TrafficTemplate\s\d{1}/) ? true : false; case "SavedSelections": - return fileIdent.match(/^GUI-SavedSelections\s\d{2}$/) ? true : false; + return fileIdent.match(/^GUI-SavedSelections\s\d{1}/) ? true : false; case "UserDriver": return fileIdent.match(/^CarMaker-UserDriver-.+$/) ? true : false; case "SuspensionKinematics-skc": @@ -121,7 +121,7 @@ function isValidInfoFile({ file, type }) { case "GPUConfig": return fileIdent.match(/^CarMaker-GPUConfig\s.+$/) ? true : false; case "PTBattery-BattECM": - return fileIdent.match(/^CarMaker-PTBattery-BattECM\s\d{2}$/) + return fileIdent.match(/^CarMaker-PTBattery-BattECM\s\d{1}/) ? true : false; case "AirBrake": From c04aad2376d98710d32e60fb79776a12255ac751 Mon Sep 17 00:00:00 2001 From: arpadlomenipg Date: Thu, 28 Mar 2024 17:42:37 +0100 Subject: [PATCH 2/3] added unit tests for one digit version numbers --- .../infofiles/BackAndForthTestRun_CM9 | 291 ++++++++ src/__tests__/infofiles/BattECM_basic_CM9 | 20 + src/__tests__/infofiles/Car_Aggressive_CM9 | 299 ++++++++ .../infofiles/DEU_Hockenheim_CM9.rd5 | 345 +++++++++ .../infofiles/DefaultTrafficBehavior_CM9 | 37 + .../infofiles/Demo3AxleCoachTruck_CM9 | 695 +++++++++++++++++ src/__tests__/infofiles/DemoCar_CM9 | 698 ++++++++++++++++++ .../infofiles/DemoMC_LinearMotorcycle_CM9 | 381 ++++++++++ src/__tests__/infofiles/IPG_CompanyCar_2018 | 2 +- .../infofiles/IPG_CompanyCar_2018_CM9 | 34 + src/__tests__/infofiles/SavedSelections_CM9 | 531 +++++++++++++ .../Traffic_Car_Generic_Aggressive_CM9 | 25 + src/__tests__/infofiles/Trailer_CM9 | 216 ++++++ src/__tests__/isValidInfoFile.test.js | 134 +++- 14 files changed, 3695 insertions(+), 13 deletions(-) create mode 100644 src/__tests__/infofiles/BackAndForthTestRun_CM9 create mode 100644 src/__tests__/infofiles/BattECM_basic_CM9 create mode 100644 src/__tests__/infofiles/Car_Aggressive_CM9 create mode 100644 src/__tests__/infofiles/DEU_Hockenheim_CM9.rd5 create mode 100644 src/__tests__/infofiles/DefaultTrafficBehavior_CM9 create mode 100644 src/__tests__/infofiles/Demo3AxleCoachTruck_CM9 create mode 100644 src/__tests__/infofiles/DemoCar_CM9 create mode 100644 src/__tests__/infofiles/DemoMC_LinearMotorcycle_CM9 create mode 100644 src/__tests__/infofiles/IPG_CompanyCar_2018_CM9 create mode 100644 src/__tests__/infofiles/SavedSelections_CM9 create mode 100644 src/__tests__/infofiles/Traffic_Car_Generic_Aggressive_CM9 create mode 100644 src/__tests__/infofiles/Trailer_CM9 diff --git a/src/__tests__/infofiles/BackAndForthTestRun_CM9 b/src/__tests__/infofiles/BackAndForthTestRun_CM9 new file mode 100644 index 0000000..7fc1dff --- /dev/null +++ b/src/__tests__/infofiles/BackAndForthTestRun_CM9 @@ -0,0 +1,291 @@ +#INFOFILE1.1 (UTF-8) - Do not remove this line! +FileIdent = CarMaker-TestRun 9 +FileCreator = CarMaker 9.0 TEMPLATE +Description: + Demonstration of the 'Stop' and 'Driving backwards' maneuvers. +Vehicle = Examples/Demo_IPG_CompanyCar +Trailer = +Tire.0 = +Tire.1 = +Tire.2 = +Tire.3 = +Snapshot.TimeLimit = +Snapshot.DistLimit = +VehicleLoad.0.mass = 0 +VehicleLoad.0.pos = 0.0 0.0 0.0 +VehicleLoad.1.mass = 0 +VehicleLoad.1.pos = 0.0 0.0 0.0 +VehicleLoad.2.mass = 0 +VehicleLoad.2.pos = 0.0 0.0 0.0 +VehicleLoad.3.mass = 0 +VehicleLoad.3.pos = 0.0 0.0 0.0 +TrailerLoad.0.mass = 0 +TrailerLoad.0.pos = 0.0 0.0 0.0 +TrailerLoad.1.mass = 0 +TrailerLoad.1.pos = 0.0 0.0 0.0 +TrailerLoad.2.mass = 0 +TrailerLoad.2.pos = 0.0 0.0 0.0 +Road.FileIdent = IPGRoad 12.0 +Road.LibVersion = 12.0 +Road.Country = DEU +Road.nLinks = 1 +Road.nJunctions = 0 +Road.nObjects = 30 +Road.nRoutes = 1 +Road.RoadNetworkLength = 400 +Road.BBox = -10 410 -13 13 -11 11 +Road.Route.0.Length = 400 +Road.RST.Unit = kmh +Road.RST = 50 100 -1 30 70 50 -1 -1 +Road.Movie = 0.2 1 0.02 1.5 1.5 1 1 +Road.Visualization.SamplingParams = 0.2 1 0.02 +Road.Visualization.RoadsideWidth = 1.5 1.5 +Road.Visualization.RoadsideSlope = 1 1 +Road.Visualization.MovieNX.RenderMask = 4095 +Road.PathMode = -1 +Road.Terrain.Param = 50 25 300 100 0.75 0 +Road.Link.0.ID = 0 +Road.Link.0.Node0 = 0 0 0 0 +Road.Link.0.Node1 = 400 0 0 0 +Road.Link.0.RST = Undefined +Road.Link.0.RL.ID = 1 +Road.Link.0.Seg.0.ID = 2 +Road.Link.0.Seg.0.Type = Straight +Road.Link.0.Seg.0.Param = 400 0 0 0 0 0 0 0 +Road.Link.0.LateralCenterLineOffset.ID = 8 +Road.Link.0.LateralCenterLineOffset: + 38 -1 0 0 0 2.5 -999 -999 -999 + 39 -1 0 1 0 2.5 -999 -999 -999 +Road.Link.0.LaneSection.0.ID = 3 +Road.Link.0.LaneSection.0.Start = 0 +Road.Link.0.LaneSection.0.LaneL.0.ID = 6 +Road.Link.0.LaneSection.0.LaneL.0 = 2 0.5 0.5 5 0 0 0 +Road.Link.0.LaneSection.0.LaneR.0.ID = 7 +Road.Link.0.LaneSection.0.LaneR.0 = 0 5 5 0 0 0 0 +Road.Link.0.LaneSection.0.LaneR.0.ARP = 43 44 45 46 47 48 +Road.Link.0.LaneSection.0.LaneR.1.ID = 9 +Road.Link.0.LaneSection.0.LaneR.1 = 2 0.5 0.5 5 0 0 0 +Road.LanePath.0 = 29 7 2 10 0.1 0.1 -1 -1 +Route.0.ID = 12 +Route.0.Name = Route +Route.0.DrvPath.ID = 13 +Route.0.DrvPath: + 29 +Road.RL.1.RoadMarking.0.ID = 24 1 +Road.RL.1.RoadMarking.0 = 0 0 0 1 -0.1 1 0.1 0 1 0 0 9 1 1 1 4 "" +Road.RL.1.RoadMarking.1.ID = 25 1 +Road.RL.1.RoadMarking.1 = 0 0 0 1 0.1 -1 0.1 0 1 0 0 9 1 1 1 4 "" +Road.MaxUsedObjId = 48 +Vehicle.Routing.Type = Route +Vehicle.Routing.ObjId = 12 +Vehicle.StartPos.Type = Route +Vehicle.StartPos.ObjId = 12 +Vehicle.StartPos = 0.00 0 +Vehicle.StartPos.Orientation = 0 +DrivMan.nMan = 1 +DrivMan.Man.Start.Velocity = 0 +DrivMan.Man.Start.GearNo = 0 +DrivMan.Man.Start.SteerAng = 0 +DrivMan.Man.Start.LaneOffset = 0 +DrivMan.Man.Start.OperatorActive = 1 +DrivMan.Man.Start.OperatorState = drive +DrivMan.VhclOperator.Kind = IPGOperator 1 +DrivMan.Man.0.nLongSteps = 7 +DrivMan.Man.0.nLatSteps = 7 +DrivMan.Man.0.CombinedSteps = 1 +DrivMan.Man.0.MaxExec = 1 +DrivMan.Man.0.ConsiderDomain = own +DrivMan.Man.0.Transition.Interrupt = end +DrivMan.Man.0.Transition.EndCond = end +DrivMan.Man.0.Transition.SimultanStart = end +DrivMan.Man.0.LongStep.0.Info = Drive forward for 10s +DrivMan.Man.0.LongStep.0.TimeLimit = 10.0 +DrivMan.Man.0.LongStep.0.Dyn = Driver 1 0 +DrivMan.Man.0.LongStep.1.Info = Stop the vehicle with defined deceleration +DrivMan.Man.0.LongStep.1.TimeLimit = 10.0 +DrivMan.Man.0.LongStep.1.Dyn = Stop 6.0 0 +DrivMan.Man.0.LongStep.2.Info = Drive forward for 10s +DrivMan.Man.0.LongStep.2.TimeLimit = 10.0 +DrivMan.Man.0.LongStep.2.Dyn = Driver 1 0 +DrivMan.Man.0.LongStep.3.Info = Stop the vehicle with defined deceleration +DrivMan.Man.0.LongStep.3.TimeLimit = 5.0 +DrivMan.Man.0.LongStep.3.Dyn = Stop 6.0 0 +DrivMan.Man.0.LongStep.4.Info = Drive backwards for 10s +DrivMan.Man.0.LongStep.4.TimeLimit = 10.0 +DrivMan.Man.0.LongStep.4.Dyn = Backward 3.0 20 +DrivMan.Man.0.LongStep.5.Info = Stop the vehicle +DrivMan.Man.0.LongStep.5.TimeLimit = 5.0 +DrivMan.Man.0.LongStep.5.Dyn = Stop 4.0 0 +DrivMan.Man.0.LongStep.6.Info = Drive forward for 999s or till end of road +DrivMan.Man.0.LongStep.6.TimeLimit = 999.0 +DrivMan.Man.0.LongStep.6.Dyn = Driver 1 0 +DrivMan.Man.0.LatStep.0.Info = Drive forward for 10s +DrivMan.Man.0.LatStep.0.TimeLimit = 10.0 +DrivMan.Man.0.LatStep.0.Dyn = Driver 0 +DrivMan.Man.0.LatStep.1.Info = Stop the vehicle with defined deceleration +DrivMan.Man.0.LatStep.1.TimeLimit = 10.0 +DrivMan.Man.0.LatStep.1.Dyn = Driver 0 +DrivMan.Man.0.LatStep.2.Info = Drive forward for 10s +DrivMan.Man.0.LatStep.2.TimeLimit = 10.0 +DrivMan.Man.0.LatStep.2.Dyn = Driver 0 +DrivMan.Man.0.LatStep.3.Info = Stop the vehicle with defined deceleration +DrivMan.Man.0.LatStep.3.TimeLimit = 5.0 +DrivMan.Man.0.LatStep.3.Dyn = Driver 0 +DrivMan.Man.0.LatStep.4.Info = Drive backwards for 10s +DrivMan.Man.0.LatStep.4.TimeLimit = 10.0 +DrivMan.Man.0.LatStep.4.Dyn = Driver 0 +DrivMan.Man.0.LatStep.5.Info = Stop the vehicle +DrivMan.Man.0.LatStep.5.TimeLimit = 5.0 +DrivMan.Man.0.LatStep.5.Dyn = Driver 0 +DrivMan.Man.0.LatStep.6.Info = Drive forward for 999s or till end of road +DrivMan.Man.0.LatStep.6.TimeLimit = 999.0 +DrivMan.Man.0.LatStep.6.Dyn = Driver 0 +Traffic.SpeedUnit = ms +Traffic.IFF.FName = +Traffic.IFF.Time.Name = +Traffic.GenDriverBehavior.FName = Default +Traffic.N = 0 +Traffic.SourceSink.Active = 0 +DrivMan.OW.Active = 0 +DrivMan.OW.Quantities = +DrivMan.OW.StartGearNo = +DrivMan.OW.StartVelocity = +DrivMan.OW.GasMax = +DrivMan.OW.RefCh = Time +DrivMan.OW.ConsiderRoadSigns = 0 +DrivMan.OW.sRoute.Offset = 0 +ErrorClass.0.Action = abort +ErrorClass.0.Save = +ErrorClass.0.WarningLimit = 3 5.0 +ErrorClass.1.Action = abort +ErrorClass.1.Save = +ErrorClass.1.WarningLimit = 3 5.0 +ErrorClass.2.Action = abort +ErrorClass.2.Save = +ErrorClass.2.WarningLimit = 3 5.0 +ErrorClass.3.Action = abort +ErrorClass.3.Save = +ErrorClass.3.WarningLimit = 3 5.0 +ErrorClass.4.Action = abort +ErrorClass.4.Save = +ErrorClass.4.WarningLimit = 3 5.0 +ErrorClass.5.Action = abort +ErrorClass.5.Save = +ErrorClass.5.WarningLimit = 3 5.0 +ErrorClass.6.Action = abort +ErrorClass.6.Save = 0 +ErrorClass.6.WarningLimit = 10 5 +ErrorClass.7.Action = abort +ErrorClass.7.Save = 0 +ErrorClass.7.WarningLimit = 3 5 +ErrorClass.10.Action = abort +ErrorClass.10.Save = +ErrorClass.10.WarningLimit = 3 5.0 +ErrorClass.11.Action = abort +ErrorClass.11.Save = +ErrorClass.11.WarningLimit = 3 5.0 +Env.StartTime.Year = 2014 +Env.StartTime.Month = 1 +Env.StartTime.Day = 1 +Env.StartTime.Hour = 12 +Env.StartTime.Min = 0 +Env.StartTime.Sec = 0 +Env.StartTime.DeltaUTC = 0.0 +Env.GNav.Active = 0 +Env.Temperature = 20.0 +Env.AirDensity = 1.205 +Env.AirPressure = 1.013 +Env.AirHumidity = 60 +Env.SolarRadiation = 400.0 +Env.Sun.Position = angleDefinition +Env.Sun.Azimuth = 45.0 +Env.Sun.Elevation = 45.0 +Env.Cloud.Kind = simple +Env.Cloud.Height = 200 +Env.Cloud.Intensity = 0.1 +Env.Cloud.Velocity = 15 +Env.Cloud.Angle = 0 +Env.FogActive = 0 +Env.VisRangeInFog = 10000.0 +Env.FogUseSkyColor = 0 +Env.FogColor = 0.5 0.5 0.5 +Env.RainRate = 0.0 +Env.Wind.Kind = none +Env.Wind.Velocity = 0.0 +Env.Wind.Angle = 0.0 +Env.Kind = Generic +Env.Temp.Offset_Elev = -0.0065 +Env.Temp.Offset_sRoad.Amplify = 1.0 +Env.Temp.Offset_sRoad.On = 0 +Env.Temp.Offset_Time.Amplify = 1.0 +Env.Temp.Offset_Time.On = 1 +Env.Temp.Offset_Time: + 0.0 -2.0 + 3.0 -2.5 + 6.0 -2.7 + 7.5 -2.7 + 9.0 -2.5 + 10.0 -2.3 + 11.0 -1.6 + 12.0 0.0 + 13.0 1.4 + 14.0 2.1 + 15.5 2.5 + 17.0 2.2 + 18.0 1.7 + 19.0 1.1 + 20.0 0.2 + 21.0 -0.6 + 22.0 -1.1 + 23.0 -1.6 + 24.0 -2.0 +Driver.ParamIdent = IPGDriver 5 +Driver.Mode = std +Driver.Long.DrivMaxSpeed = 0 +Driver.Long.CruisingSpeed = 100 +Driver.CornerCutCoef = 0.5 +Driver.ConsiderTraffic = 1 +Driver.Traffic.TimeGapMin = 1.8 +Driver.Traffic.TimeGapMax = 5.0 +Driver.Traffic.DistMin = 6 +Driver.Traffic.DistMax = 250 +Driver.Traffic.EcoCoef = 0.75 +Driver.Traffic.Overtake = 0 +Driver.Traffic.Overtake_Rate = 1 +Driver.Traffic.Overtake_dSpeedMin = 10 +Driver.Long.dtAccBrake = 0.5 +Driver.Long.axMax = 3.0 +Driver.Long.axMin = -4.0 +Driver.Long.ayMax = 4.0 +Driver.Long.GGExp: + 50 1.0 1.0 +Driver.Long.DevMax = 0.0 +Driver.Long.tReact = 0.0 +Driver.Long.TractionControl = 1 +Driver.DecShift.UseBrakePark = 0 +Driver.DecShift.tSwitchGear = 1.0 +Driver.DecShift.nEngine.Limits: + 1500 4000 +Driver.DecShift.nEngine.Shift: + 2000 3000 +Driver.Lat.DevMax = 0.0 +Driver.Lat.tReact = 0.0 +Driver.Knowl.Long.tActionMin = 4 +Driver.Knowl.Lat.StWhlAngleMax = 630 +Driver.Knowl.Lat.StWhlAngleVelMax = 500 +Driver.Knowl.Lat.StWhlAngleAccMax = 3000 +Driver.Learn.VehicleLimits.TestRun = +Driver.Learn.VehicleLimits.Date = 0 +Driver.Learn.ControllerDyn.TestRun = +Driver.Learn.ControllerDyn.Date = 0 +Driver.Learn.MaxSpeed.TestRun = +Driver.Learn.MaxSpeed.Date = 0 +Driver.Learn.Remember = 0 +Driver.Learn.Friction = 1.0 +Driver.Knowl.Long.tPreviewBra = 0.6 +Driver.Knowl.Long.tPreviewAcc = 1.5 +Driver.Knowl.Lat.tPreview = 0.8 +Driver.Learn.NEng_S = 1 +Driver.Consider.SpeedLimit = 1 +Driver.Consider.StopMarker = 1 +Driver.Consider.TrfLight = 1 diff --git a/src/__tests__/infofiles/BattECM_basic_CM9 b/src/__tests__/infofiles/BattECM_basic_CM9 new file mode 100644 index 0000000..6c9ecb7 --- /dev/null +++ b/src/__tests__/infofiles/BattECM_basic_CM9 @@ -0,0 +1,20 @@ +#INFOFILE1.1 - Do not remove this line! +FileIdent = CarMaker-PTBattery-BattECM 9 +FileCreator = CarMaker 12.0 +FileClass.New = 12.0 + +Description: + Basic BattECM configuration file defining mandatory parameters only. + +# ECM configuration +Capacity = 150 +Voltage_oc = 400 + +# Maximal battery output power +PwrMax.Pwr_max = 100 + +# Body mass configuration +Bdy.0.I = 0.0 0.0 0.0 +Bdy.0.mass = 0.0 +Bdy.1.I = 0.0 0.0 0.0 +Bdy.1.mass = 0.0 diff --git a/src/__tests__/infofiles/Car_Aggressive_CM9 b/src/__tests__/infofiles/Car_Aggressive_CM9 new file mode 100644 index 0000000..6105c10 --- /dev/null +++ b/src/__tests__/infofiles/Car_Aggressive_CM9 @@ -0,0 +1,299 @@ +#INFOFILE1.1 (UTF-8) - Do not remove this line! +FileIdent = CarMaker-DriverTemplate 9 +FileCreator = CarMaker Office 9.0 +Driver.Info = Preset Aggressive +Driver.Mode = std +Driver.MultiStep = 1 +Driver.Course.LapDriving = 1 +Driver.Course.CornerCutCoef = 0.8 +Driver.Course.ApexShiftCoef = 0.0 +Driver.Course.CornerRoundCoef = 0.0 +Driver.Course.ShapeCoef = 1.0 +Driver.Course.PylonShiftFdCoef = 0.1 +Driver.Course.PylonShiftBkCoef = 0.1 +Driver.Acc.GGExp: + 50 1.5 1.5 +Driver.Acc.axMax = 4.0 +Driver.Acc.axMin = -6.0 +Driver.Acc.ayMax = 5.0 +Driver.Acc.UseVelDepend = 0 +Driver.Acc.VelDepend: + 5.00 2.50 -2.50 1.00 + 10.00 2.80 -2.40 2.25 + 20.00 3.00 -2.40 3.30 + 30.00 3.50 -2.35 4.40 + 40.00 4.00 -2.35 4.60 + 50.00 4.10 -2.30 4.80 + 60.00 4.00 -2.20 5.00 + 70.00 3.80 -2.15 4.90 + 80.00 3.60 -2.10 4.75 + 90.00 3.40 -2.05 4.55 + 100.00 3.20 -2.05 4.40 + 110.00 3.00 -2.00 4.35 + 120.00 2.80 -2.00 4.30 + 130.00 2.70 -2.00 4.25 + 140.00 2.60 -2.00 4.20 + 150.00 2.50 -2.00 4.15 + 160.00 2.45 -1.95 4.10 + 170.00 2.40 -1.95 4.05 + 180.00 2.35 -1.95 4.00 + 190.00 2.30 -1.95 3.95 + 200.00 2.25 -1.95 3.90 + 210.00 2.20 -1.90 3.85 + 220.00 2.15 -1.90 3.80 + 230.00 2.10 -1.90 3.80 + 240.00 2.00 -1.90 3.80 +Driver.Acc.Factor.Accel = 1.0 +Driver.Acc.Factor.Decel = 1.0 +Driver.Acc.Factor.Lateral = 0.95 +Driver.Vel.CruisingSpeed = 250 +Driver.Vel.dtMinAccelDecel = 0.5 +Driver.Vel.Random.Amp = 0.0 +Driver.Vel.Random.Freq = 1.0 +Driver.Vel.LatInclFromRoad = 1 +Driver.Vel.MinimumSpeed = 1.0 +Driver.Long.Active = 1 +Driver.Long.TractionControl = 1 +Driver.Long.dtAccBrake = 0.25 +Driver.Long.dtAccBrakeKind = 0 +Driver.Long.DevMax = 0.0 +Driver.Long.tReact = 0.0 +Driver.Long.SmoothCoef = 0.0 +Driver.Long.SmoothThrottleLimit = 1.0 +Driver.Long.AccuracyCoef = 1 +Driver.Long.Rally.BrakeSlipCoef = +Driver.Long.Rally.SideSlipCoef = +Driver.Long.Rally.Active = 0 +Driver.Long.DriveCycle.Coef = 0 +Driver.Long.DriveCycle.Tol = 0 +Driver.Long.DragTorqueBraking = 0 +Driver.Long.ThrottleVelRelease = 10.0 +Driver.Long.ThrottleVelPush = 10.0 +Driver.Long.BrakeVelRelease = 10.0 +Driver.Long.BrakeVelPush = 10.0 +Driver.Long.ActuatorAccMax = 1000.0 +Driver.Long.ThrottleAmp = 1.0 +Driver.Long.BrakeAmp = 1.0 +Driver.Long.ClutchAmp = 1.0 +Driver.Long.dtSwitchGear = 0.0 +Driver.Long.Road3DRedCoef = 0.0 +Driver.Lat.Active = 1 +Driver.Lat.RiderRollType = 3 +Driver.Lat.RiderRollAmplify = +Driver.Lat.DevMax = 0.0 +Driver.Lat.tReact = 0.0 +Driver.Lat.DevProReact = 0.0 +Driver.Lat.tDwell = +Driver.Lat.StAHandOverHand = +Driver.Lat.tHandOverHand = +Driver.Lat.AccuracyCoef = 1.0 +Driver.Lat.StTorqueRequestSensitivity = +Driver.Lat.StTorqueRequestCompCoef = +Driver.Lat.StWhlAngleMax = 630 +Driver.Lat.StWhlAngleVelMax = 1500 +Driver.Lat.StWhlAngleAccMax = 20000 +Driver.Lat.StWhlTorqueMax = 20.0 +Driver.Lat.StWhlTorqueVelMax = 1000.0 +Driver.Lat.SteeringAmp = 1.0 +Driver.DecShift.UseBrakePark = 0 +Driver.DecShift.tSwitchGear = 0.5 +Driver.DecShift.AsymClutch = 0.0 +Driver.DecShift.AsymClutchDown = 0.0 +Driver.DecShift.AsymShift = 0.0 +Driver.DecShift.tSSNeutralGear = +Driver.DecShift.nEngine.Limits: + 2500 5000 +Driver.DecShift.nEngine.Shift: + 3000 4500 +Driver.Consider.SpeedLimit = 1 +Driver.Consider.StopMarker = 1 +Driver.Consider.TrfLight = 1 +Driver.Consider.Traffic = 1 +Driver.Traffic.Overtake = 0 +Driver.Traffic.TimeGapMin = 1.8 +Driver.Traffic.TimeGapMax = 5.0 +Driver.Traffic.DistMin = 6.0 +Driver.Traffic.DistMax = 250.0 +Driver.Traffic.EcoCoef = 0.75 +Driver.Traffic.Overtake.Rate = 1.0 +Driver.Traffic.Overtake.dSpeedMin = 10.0 +Driver.Traffic.Overtake.Multilane = 0 +Driver.Traffic.Ongoing.FollowVelThresh = 60.0 +Driver.Traffic.Ongoing.OvertakeVelDiff = 20.0 +Driver.Traffic.Overtake.SetIndicator = 1 +Driver.Percept.nObjMax = 4 +Driver.Percept.nLanesMax = 3 +Driver.Percept.UpdRate = 100 +Driver.DecShift.nEngine.MaxSpeed.UserDefined = 0 +Driver.Acc.VelDepend.UserDefined = 0 +Driver.OutSdcv = 0 +Driver.Knowl.0.Name = DemoCar +Driver.Knowl.0.Info = Adaption of DemoCar +Driver.Knowl.0.Mode = std +Driver.Knowl.0.Vehicle = Examples/DemoCar +Driver.Knowl.0.Testrun = Examples/BasicFunctions/Driver/HandlingCourse +Driver.Knowl.0.Friction = 1.0 +Driver.Knowl.0.VehicleLimits.Date = 2023-11-06 11:04:42 +Driver.Knowl.0.VehicleLimits.Testrun = Examples/BasicFunctions/Driver/HandlingCourse +Driver.Knowl.0.ControllerDyn.Date = 2023-11-06 11:04:42 +Driver.Knowl.0.ControllerDyn.Testrun = Examples/BasicFunctions/Driver/HandlingCourse +Driver.Knowl.0.RaceAdaption.Date = +Driver.Knowl.0.RaceAdaption.Testrun = +Driver.Knowl.0.LearningRate = +Driver.Knowl.0.Vhcl.ReferencePointType = PoI +Driver.Knowl.0.Vhcl.Acc: + 20.00 4.65 -9.25 6.94 + 30.00 4.71 -9.25 7.24 + 40.00 4.68 -9.25 7.54 + 50.00 4.28 -9.25 7.85 + 60.00 3.45 -9.25 8.16 + 70.00 2.94 -9.26 8.46 + 80.00 2.71 -9.27 8.69 + 90.00 2.48 -9.29 8.76 + 100.00 2.17 -9.30 8.75 + 110.00 1.94 -9.32 8.73 + 120.00 1.78 -9.34 8.72 + 130.00 1.59 -9.36 8.71 + 140.00 1.41 -9.38 8.70 + 150.00 1.28 -9.41 8.69 + 160.00 1.15 -9.43 8.66 + 170.00 1.04 -9.45 8.64 + 180.00 1.00 -9.48 8.67 + 190.00 0.99 -9.51 8.79 + 200.00 1.00 -9.55 8.96 + 210.00 1.00 -9.57 9.14 + 220.00 1.00 -9.59 9.31 + 230.00 1.00 -9.59 9.47 + 240.00 1.00 -9.59 9.64 +Driver.Knowl.0.Vhcl.DrivelineKind = 0 +Driver.Knowl.0.nEngine.MaxSpeed: + 800 7135 + 2700 6799 + 4022 6604 + 4359 6681 + 3863 7959 +Driver.Knowl.0.Long.tPreviewAcc = 1.147 +Driver.Knowl.0.Long.tPreviewBra = 0.697 +Driver.Knowl.0.Long.tPreEngDyn = 0.030 +Driver.Knowl.0.Long.tPreBraDyn = 0.059 +Driver.Knowl.0.Long.tPreEngDead = 0.000 +Driver.Knowl.0.Long.tPreBraDead = 0.000 +Driver.Knowl.0.Long.ThrottlePfP = 0.000 +Driver.Knowl.0.Long.BrakePfP = 0.000 +Driver.Knowl.0.Long.SlipMax: + 40.78 9.08 5.21 + 75.18 9.45 5.42 + 107.38 9.27 5.32 + 143.51 9.09 5.22 + 180.36 8.78 5.03 +Driver.Knowl.0.Long.axDragG1 = 0.577 +Driver.Knowl.0.Long.vIdle = 6.337 +Driver.Knowl.0.Lat.tPreview = 0.524 +Driver.Knowl.0.Lat.tPreDyn = 0.097 +Driver.Knowl.0.Lat.tYawPro = 0.021 +Driver.Knowl.0.Lat.StWhlTorqueAmplify = 1.000 +Driver.Knowl.0.Lat.StWhlTorqueAmplifyC = 1.000 +Driver.Knowl.0.Lat.StWhlTorqueAmplifyV = 1.000 +Driver.Knowl.0.Lat.LimitSideSlip = 12.406 +Driver.Knowl.0.Learn.G2GearNo = 2 +Driver.Knowl.0.Learn.G3GearNo = 3 +Driver.Knowl.0.Learn.axAccG2 = 2.203 +Driver.Knowl.0.Learn.axAccMax = 4.67 2.94 2.05 1.51 1.00 +Driver.Knowl.0.Learn.axBravG2nEng05 = -9.249 +Driver.Knowl.0.Learn.nEngineIdle = 800 +Driver.Knowl.0.Learn.vG2nEng025 = 37.237 +Driver.Knowl.0.Learn.vG2nEng075 = 88.704 +Driver.Knowl.0.Learn.vnEng05 = 35.173 62.850 88.394 113.582 146.375 +Driver.Knowl.0.Long.nEngineMax = 7959 +Driver.Knowl.0.Long.vMax = 239.409 +Driver.Knowl.0.Vhcl.hCOG = 0.629 +Driver.Knowl.0.Learn.ayMax = 0.00 8.66 8.75 8.73 8.70 +Driver.Knowl.1.Name = CompanyCar +Driver.Knowl.1.Info = Adaption of CompanyCar +Driver.Knowl.1.Mode = std +Driver.Knowl.1.Vehicle = Examples/Demo_IPG_CompanyCar +Driver.Knowl.1.Testrun = Examples/BasicFunctions/Driver/HandlingCourse +Driver.Knowl.1.Friction = 1.0 +Driver.Knowl.1.VehicleLimits.Date = 2023-11-06 11:05:38 +Driver.Knowl.1.VehicleLimits.Testrun = Examples/BasicFunctions/Driver/HandlingCourse +Driver.Knowl.1.ControllerDyn.Date = 2023-11-06 11:05:38 +Driver.Knowl.1.ControllerDyn.Testrun = Examples/BasicFunctions/Driver/HandlingCourse +Driver.Knowl.1.RaceAdaption.Date = +Driver.Knowl.1.RaceAdaption.Testrun = +Driver.Knowl.1.LearningRate = +Driver.Knowl.1.Vhcl.ReferencePointType = PoI +Driver.Knowl.1.Vhcl.Acc: + 20.00 8.17 -12.03 9.02 + 30.00 8.13 -12.02 9.24 + 40.00 7.99 -12.02 9.47 + 50.00 7.70 -12.02 9.70 + 60.00 7.00 -12.03 9.93 + 70.00 5.91 -12.08 10.15 + 80.00 5.37 -12.19 10.31 + 90.00 5.17 -12.29 10.35 + 100.00 4.76 -12.34 10.31 + 110.00 3.99 -12.36 10.27 + 120.00 3.43 -12.36 10.23 + 130.00 3.23 -12.36 10.20 + 140.00 3.14 -12.36 10.16 + 150.00 2.97 -12.36 10.13 + 160.00 2.58 -12.36 10.09 + 170.00 2.11 -12.36 10.05 + 180.00 1.86 -12.37 10.00 + 190.00 1.75 -12.37 9.95 + 200.00 1.65 -12.37 9.89 + 210.00 1.51 -12.37 9.83 + 220.00 1.30 -12.36 9.81 + 230.00 1.08 -12.36 9.89 + 240.00 1.00 -12.41 10.01 + 250.00 0.99 -12.58 10.13 + 260.00 1.00 -12.81 10.25 + 270.00 1.00 -12.90 10.37 + 280.00 1.00 -12.91 10.49 + 290.00 1.00 -12.90 10.60 +Driver.Knowl.1.Vhcl.DrivelineKind = 1 +Driver.Knowl.1.nEngine.MaxSpeed: + 806 6705 + 2532 6570 + 3658 6511 + 3958 6426 + 3648 5897 + 2868 7135 +Driver.Knowl.1.Long.tPreviewAcc = 0.848 +Driver.Knowl.1.Long.tPreviewBra = 0.572 +Driver.Knowl.1.Long.tPreEngDyn = 0.030 +Driver.Knowl.1.Long.tPreBraDyn = 0.061 +Driver.Knowl.1.Long.tPreEngDead = 0.000 +Driver.Knowl.1.Long.tPreBraDead = 0.000 +Driver.Knowl.1.Long.ThrottlePfP = 0.000 +Driver.Knowl.1.Long.BrakePfP = 0.000 +Driver.Knowl.1.Long.SlipMax: + 42.01 4.41 2.52 + 78.89 4.55 2.61 + 112.88 4.46 2.56 + 148.23 4.36 2.50 + 185.43 4.26 2.44 + 221.21 4.18 2.40 +Driver.Knowl.1.Long.axDragG1 = 0.822 +Driver.Knowl.1.Long.vIdle = 7.594 +Driver.Knowl.1.Lat.tPreview = 0.499 +Driver.Knowl.1.Lat.tPreDyn = 0.072 +Driver.Knowl.1.Lat.tYawPro = 0.018 +Driver.Knowl.1.Lat.StWhlTorqueAmplify = 1.000 +Driver.Knowl.1.Lat.StWhlTorqueAmplifyC = 1.000 +Driver.Knowl.1.Lat.StWhlTorqueAmplifyV = 1.000 +Driver.Knowl.1.Lat.LimitSideSlip = 8.689 +Driver.Knowl.1.Learn.G2GearNo = 2 +Driver.Knowl.1.Learn.G3GearNo = 3 +Driver.Knowl.1.Learn.axAccG2 = 4.971 +Driver.Knowl.1.Learn.axAccMax = 8.15 5.41 3.45 2.24 1.51 1.09 +Driver.Knowl.1.Learn.axBravG2nEng05 = -11.735 +Driver.Knowl.1.Learn.nEngineIdle = 806 +Driver.Knowl.1.Learn.vG2nEng025 = 38.853 +Driver.Knowl.1.Learn.vG2nEng075 = 90.328 +Driver.Knowl.1.Learn.vnEng05 = 37.721 64.472 100.083 141.377 181.477 209.449 +Driver.Knowl.1.Long.nEngineMax = 7135 +Driver.Knowl.1.Long.vMax = 280.128 +Driver.Knowl.1.Vhcl.hCOG = 0.586 +Driver.Knowl.1.Learn.ayMax = 0.00 10.28 10.37 10.27 10.13 9.96 +Driver.Knowl.N = 2 diff --git a/src/__tests__/infofiles/DEU_Hockenheim_CM9.rd5 b/src/__tests__/infofiles/DEU_Hockenheim_CM9.rd5 new file mode 100644 index 0000000..7899d10 --- /dev/null +++ b/src/__tests__/infofiles/DEU_Hockenheim_CM9.rd5 @@ -0,0 +1,345 @@ +#INFOFILE1.1 (UTF-8) - Do not remove this line! +FileIdent = IPGRoad 9.0 +FileCreator = CarMaker 9.0 TEMPLATE +LibVersion = 12.0 +Country = DEU DEU +nLinks = 1 +nJunctions = 1 +nObjects = 135 +nRoutes = 1 +RoadNetworkLength = 2597.28880247611 +BBox = -214.989948506884 769.848375837184 -393.76273745301 659.035571386757 -12.73 14.0097727297626 +Route.0.Length = 2597.28880247611 +GCSProjection.Method = FlatEarth +GCSProjection.RefPoint.LLE = 49.3285 8.5653 113 +GCSProjection.RefPoint.XYZ = 0 0 0 +RST.Unit = kmh +RST = 50 100 -1 30 70 50 -1 -1 +Movie = 0.2 1 0.02 12 12 0.1 0.1 +Visualization.SamplingParams = 0.2 1 0.02 +Visualization.RoadsideWidth = 12 12 +Visualization.RoadsideSlope = 0.1 0.1 +Visualization.MovieNX.RenderMask = 4095 +PathMode = -1 +Terrain.Param = 50 25 300 100 0.75 0 +Junction.0.ID = 2 +Junction.0.Type = Direct +Junction.0.Knot = 0 0 0 +Junction.0.RST = Urban +Junction.0.HMSimple = 113 0 0.01 0 0 -999 +Junction.0.Arm.0.ID = 3 +Junction.0.Arm.0 = 0 0.15 0 4 0 +Junction.0.Arm.1.ID = 28 +Junction.0.Arm.1 = 0 0.15 0 4 1 +Junction.0.MainArms = 0 1 +Link.0.ID = 4 +Link.0.Node0 = 0 0 0 113 +Link.0.Node1 = 0 0 0 113 +Link.0.RST = Undefined +Link.0.RL.ID = 5 +Link.0.Seg.0.ID = 6 +Link.0.Seg.0.Type = Straight +Link.0.Seg.0.Param = 200 0 0 0 0 0 0 0 +Link.0.Seg.1.ID = 7 +Link.0.Seg.1.Type = TurnRight +Link.0.Seg.1.Param = 68 69 0 0 0 0 0 0 +Link.0.Seg.2.ID = 8 +Link.0.Seg.2.Type = Straight +Link.0.Seg.2.Param = 220 0 0 0 0 0 0 0 +Link.0.Seg.3.ID = 9 +Link.0.Seg.3.Type = TurnRight +Link.0.Seg.3.Param = 45 102 0 0 0 0 0 0 +Link.0.Seg.4.ID = 10 +Link.0.Seg.4.Type = TurnRight +Link.0.Seg.4.Param = 150 35 0 0 0 0 0 0 +Link.0.Seg.5.ID = 11 +Link.0.Seg.5.Type = TurnLeft +Link.0.Seg.5.Param = 150 35 0 0 0 0 0 0 +Link.0.Seg.6.ID = 12 +Link.0.Seg.6.Type = Straight +Link.0.Seg.6.Param = 200 0 0 0 0 0 0 0 +Link.0.Seg.7.ID = 13 +Link.0.Seg.7.Type = TurnLeft +Link.0.Seg.7.Param = 160 47 0 0 0 0 0 0 +Link.0.Seg.8.ID = 14 +Link.0.Seg.8.Type = TurnRight +Link.0.Seg.8.Param = 160 47 0 0 0 0 0 0 +Link.0.Seg.9.ID = 15 +Link.0.Seg.9.Type = TurnRight +Link.0.Seg.9.Param = 35 89 0 0 0 0 0 0 +Link.0.Seg.10.ID = 16 +Link.0.Seg.10.Type = Straight +Link.0.Seg.10.Param = 60 0 0 0 0 0 0 0 +Link.0.Seg.11.ID = 17 +Link.0.Seg.11.Type = TurnRight +Link.0.Seg.11.Param = 95 84 0 0 0 0 0 0 +Link.0.Seg.12.ID = 18 +Link.0.Seg.12.Type = Straight +Link.0.Seg.12.Param = 220 0 0 0 0 0 0 0 +Link.0.Seg.13.ID = 19 +Link.0.Seg.13.Type = TurnLeft +Link.0.Seg.13.Param = 40 155 0 0 0 0 0 0 +Link.0.Seg.14.ID = 20 +Link.0.Seg.14.Type = Straight +Link.0.Seg.14.Param = 60 0 0 0 0 0 0 0 +Link.0.Seg.15.ID = 21 +Link.0.Seg.15.Type = TurnLeft +Link.0.Seg.15.Param = 90 52 0 0 0 0 0 0 +Link.0.Seg.16.ID = 22 +Link.0.Seg.16.Type = TurnRight +Link.0.Seg.16.Param = 100 27 0 0 0 0 0 0 +Link.0.Seg.17.ID = 23 +Link.0.Seg.17.Type = Straight +Link.0.Seg.17.Param = 45 0 0 0 0 0 0 0 +Link.0.Seg.18.ID = 24 +Link.0.Seg.18.Type = TurnRight +Link.0.Seg.18.Param = 50 77 0 0 0 0 0 0 +Link.0.Seg.19.ID = 25 +Link.0.Seg.19.Type = Straight +Link.0.Seg.19.Param = 45 0 0 0 0 0 0 0 +Link.0.Seg.20.ID = 26 +Link.0.Seg.20.Type = TurnRight +Link.0.Seg.20.Param = 69.525 119 0 0 0 0 0 0 +Link.0.Seg.21.ID = 27 +Link.0.Seg.21.Type = Straight +Link.0.Seg.21.Param = 280 0 0 0 0 0 0 0 +Link.0.Seg.22.ID = 0 +Link.0.Seg.22.Type = PointList +Link.0.Seg.22.Param = -0.390731128489274 0.92050485345244 1 0 0 0 0 0 +Link.0.Seg.22.PointList: + 212 -1 0 0 +Link.0.LateralCenterLineOffset.ID = 31 +Link.0.LateralCenterLineOffset: + 148 -1 0 0 0 6 -999 -999 -999 + 149 -1 0 1 0 6 -999 -999 -999 +Link.0.LaneSection.0.ID = 30 +Link.0.LaneSection.0.Start = 0 +Link.0.LaneSection.0.LaneL.0.ID = 33 +Link.0.LaneSection.0.LaneL.0 = 2 10 10 5 0 0 0 +Link.0.LaneSection.0.LaneR.0.ID = 34 +Link.0.LaneSection.0.LaneR.0 = 0 12 12 0 0 0 0 +Link.0.LaneSection.0.LaneR.0.ARP = 206 207 208 209 210 211 +Link.0.LaneSection.0.LaneR.1.ID = 36 +Link.0.LaneSection.0.LaneR.1 = 2 10 10 5 0 0 0 +Link.0.ElevationProfile.ID = 47 +Link.0.ElevationProfile.Params = 0 0 +Link.0.ElevationProfile: + 150 -1 0 0 0 0 0 + 151 -1 1996.41854505907 0 0 0 0 + 152 -1 2000.41854505907 0 0 -0.02 -0.01 + 153 -1 2041.41854505907 0 0 -0.43 -0.01 + 154 -1 2045.41854505907 0 0 -0.45 0 + 155 -1 2108.61372126085 0 0 -0.45 0 + 156 -1 2112.61372126085 0 0 -0.43 0.01 + 157 -1 2153.61372126085 0 0 -0.02 0.01 + 158 -1 2157.61372126085 0 0 0 0 + 159 -1 2300.01310059229 0 0 0 0 +Link.0.SlopeProfile.ID = 59 +Link.0.SlopeProfile.Params = 0 0 +Link.0.SlopeProfile: + 161 -1 0 0 0 0.01 0 + 162 -1 179.527287874107 0 0 0.01 0 + 163 -1 220.472712125893 0 0 0.03 0 + 164 -1 261.41813637768 0 0 0.03 0 + 165 -1 302.363560629467 0 0 0.02 0 + 166 -1 481.863195336939 0 0 0.02 0 + 167 -1 521.918501670209 0 0 0.03 0 + 168 -1 561.973808003479 0 0 0.03 0 + 169 -1 602.029114336749 0 0 0.02 0 + 170 -1 650.72380046739 0 0 0.02 0 + 171 -1 696.538693332242 0 0 -0.01 0 + 172 -1 742.353586197093 0 0 -0.01 0 + 173 -1 788.168479061944 0 0 0 0 + 174 -1 932.448842692025 0 0 0 0 + 175 -1 998.073222567012 0 0 0 0 + 176 -1 1063.697602442 0 0 0 0 + 177 -1 1129.32198231699 0 0 0.01 0 + 178 -1 1214.16680057956 0 0 0.01 0 + 179 -1 1241.35030367937 0 0 0.01 0 + 180 -1 1268.53380677918 0 0 0.01 0 + 181 -1 1295.71730987899 0 0 0.01 0 + 182 -1 1327.12555832909 0 0 0.01 0 + 183 -1 1357.12555832909 0 0 0.03 0 + 184 -1 1446.58351406095 0 0 0.03 0 + 185 -1 1516.22215121552 0 0 -0.03 0 + 186 -1 1674.35022923232 0 0 -0.03 0 + 187 -1 1728.45543604415 0 0 -0.08 0 + 188 -1 1794.61324626188 0 0 -0.08 0 + 189 -1 1824.61324626188 0 0 -0.05 0 + 190 -1 1854.61324626188 0 0 -0.05 0 + 191 -1 1884.61324626188 0 0 -0.05 0 + 192 -1 1939.51368280426 0 0 -0.05 0 + 193 -1 1963.07562770618 0 0 0.05 0 + 194 -1 1987.16854505907 0 0 0.05 0 + 195 -1 2009.66854505907 0 0 0.05 0 + 196 -1 2032.16854505907 0 0 0.05 0 + 197 -1 2054.66854505907 0 0 0.08 0 + 198 -1 2099.36372126085 0 0 0.08 0 + 199 -1 2121.86372126085 0 0 0.04 0 + 200 -1 2144.36372126085 0 0 0.04 0 + 201 -1 2166.86372126085 0 0 0.04 0 + 202 -1 2263.91325575943 0 0 0.04 0 + 203 -1 2336.11294542515 0 0 0.01 0 + 226 -1 0 1 0 0.01 -999 +LanePath.0 = 138 34 2 10 0.1 0.1 -1 -1 +Route.0.ID = 37 +Route.0.Name = Route_0 +Route.0.DrvPath.ID = 38 +Route.0.DrvPath: + 138 +RL.5.SignPlate.0.ID = 127 5 +RL.5.SignPlate.0 = 100 0 8 -2 0.7 1.2 0 1.5 0 "" +RL.5.SignPlate.0.Material.0 = Textures/Signs/Sign_Dist100m.png 0 0 0 0 0 0 1 1 0 0 0 +RL.5.SignPlate.1.ID = 128 5 +RL.5.SignPlate.1 = 150 0 8 -2 0.7 1.2 0 1.5 0 "" +RL.5.SignPlate.1.Material.0 = Textures/Signs/Sign_Dist50m.png 0 0 0 0 0 0 1 1 0 0 0 +RL.5.SignPlate.2.ID = 129 5 +RL.5.SignPlate.2 = 281.890848503574 0 -8 -2 1.25 1 0 1.5 0 "" +RL.5.SignPlate.2.Material.0 = Textures/IPG/Logo_IPG_03.png 0 0 0 0 0 0 1 1 0 0 0 +RL.5.RoadMarking.0.ID = 133 5 +RL.5.RoadMarking.0 = 0 0 0 1 -0.1 1 0.5 0 1 0 0 5 0 1 1 4 "" +RL.5.RoadMarking.1.ID = 134 5 +RL.5.RoadMarking.1 = 0 0 0 1 0.1 -1 0.5 0 1 0 0 5 0 1 1 4 "" +RL.5.Marker.0.ID = 124 5 +RL.5.Marker.0.Type = DrivManTrigger +RL.5.Marker.0.Param = 600 0 1 3 1 +RL.5.Marker.1.ID = 125 5 +RL.5.Marker.1.Type = DrivManTrigger +RL.5.Marker.1.Param = 1200 0 1 3 2 +RL.5.Marker.2.ID = 126 5 +RL.5.Marker.2.Type = DrivManTrigger +RL.5.Marker.2.Param = 2400 0 1 3 3 +RL.5.Bump.0.ID = 105 5 +RL.5.Bump.0.Type = LatProfileRSR +RL.5.Bump.0.Param = 190 0 282 0 0 -1 1 0 2 0 2 0 +RL.5.Bump.0.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.0.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.1.ID = 106 5 +RL.5.Bump.1.Type = LatProfileRSL +RL.5.Bump.1.Param = 252 0 402 0 0 1 0 0 2 0 2 0 +RL.5.Bump.1.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.1.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.2.ID = 107 5 +RL.5.Bump.2.Type = LatProfileRSR +RL.5.Bump.2.Param = 487 0 607 0 0 -1 1 0 2 0 2 0 +RL.5.Bump.2.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.2.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.3.ID = 108 5 +RL.5.Bump.3.Type = LatProfileRSL +RL.5.Bump.3.Param = 649 0 759 0 0 1 0 0 2 0 2 0 +RL.5.Bump.3.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.3.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.4.ID = 109 5 +RL.5.Bump.4.Type = LatProfileRSR +RL.5.Bump.4.Param = 780 0 890 0 0 -1 1 0 2 0 2 0 +RL.5.Bump.4.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.4.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.5.ID = 110 5 +RL.5.Bump.5.Type = LatProfileRSL +RL.5.Bump.5.Param = 960 0 1102 0 0 1 0 0 2 0 2 0 +RL.5.Bump.5.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.5.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.6.ID = 111 5 +RL.5.Bump.6.Type = LatProfileRSR +RL.5.Bump.6.Param = 1112 0 1282 0 0 -1 1 0 2 0 2 0 +RL.5.Bump.6.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.6.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.7.ID = 112 5 +RL.5.Bump.7.Type = LatProfileRSL +RL.5.Bump.7.Param = 1247 0 1322 0 0 1 0 0 2 0 2 0 +RL.5.Bump.7.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.7.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.8.ID = 113 5 +RL.5.Bump.8.Type = LatProfileRSR +RL.5.Bump.8.Param = 1367 0 1507 0 0 -1 1 0 2 0 2 0 +RL.5.Bump.8.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.8.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.9.ID = 114 5 +RL.5.Bump.9.Type = LatProfileRSL +RL.5.Bump.9.Param = 1451 0 1551 0 0 1 0 0 2 0 2 0 +RL.5.Bump.9.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.9.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.10.ID = 115 5 +RL.5.Bump.10.Type = LatProfileRSL +RL.5.Bump.10.Param = 1697 0 1802 0 0 1 0 0 2 0 2 0 +RL.5.Bump.10.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.10.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.11.ID = 116 5 +RL.5.Bump.11.Type = LatProfileRSR +RL.5.Bump.11.Param = 1795 0 1880 0 0 -1 1 0 2 0 2 0 +RL.5.Bump.11.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.11.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.12.ID = 117 5 +RL.5.Bump.12.Type = LatProfileRSL +RL.5.Bump.12.Param = 1880 0 1955 0 0 1 0 0 2 0 2 0 +RL.5.Bump.12.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.12.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.13.ID = 118 5 +RL.5.Bump.13.Type = LatProfileRSR +RL.5.Bump.13.Param = 1956 0 2006 0 0 -1 1 0 2 0 2 0 +RL.5.Bump.13.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.13.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.14.ID = 119 5 +RL.5.Bump.14.Type = LatProfileRSL +RL.5.Bump.14.Param = 2013 0 2058 0 0 1 0 0 2 0 2 0 +RL.5.Bump.14.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 1 0 0 0 0 +RL.5.Bump.14.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.15.ID = 120 5 +RL.5.Bump.15.Type = LatProfileRSR +RL.5.Bump.15.Param = 2045 0 2103 0 0 -1 1 0 2 0 2 0 +RL.5.Bump.15.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.15.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.16.ID = 121 5 +RL.5.Bump.16.Type = LatProfileRSL +RL.5.Bump.16.Param = 2086 0 2151 0 0 1 0 0 2 0 2 0 +RL.5.Bump.16.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.16.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.17.ID = 122 5 +RL.5.Bump.17.Type = LatProfileRSR +RL.5.Bump.17.Param = 2149 0 2289 0 0 -1 1 0 2 0 2 0 +RL.5.Bump.17.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.17.Profile: + 1.2 0.15 + 0.3 0.15 +RL.5.Bump.18.ID = 123 5 +RL.5.Bump.18.Type = LatProfileRSL +RL.5.Bump.18.Param = 2275 0 2425 0 0 1 0 0 2 0 2 0 +RL.5.Bump.18.Material.0 = Textures/Ground/Curb_RedWhite.png 0 0 0 0 0 0 0.5 0 0 0 0 +RL.5.Bump.18.Profile: + 1.2 0.15 + 0.3 0.15 +MaxUsedObjId = 226 diff --git a/src/__tests__/infofiles/DefaultTrafficBehavior_CM9 b/src/__tests__/infofiles/DefaultTrafficBehavior_CM9 new file mode 100644 index 0000000..0e454fc --- /dev/null +++ b/src/__tests__/infofiles/DefaultTrafficBehavior_CM9 @@ -0,0 +1,37 @@ +#INFOFILE1.1 - Do not remove this line! +FileIdent = CarMaker-TrafficGenDriverBehavior 9 +FileCreator = CarMaker 9.0 +Long.HDM.DistPreview = 100.0 400.0 +Long.HDM.DistStand = 0.5 3.5 +Long.HDM.AccMax = 0.5 3.5 +Long.HDM.DecComf = 0.5 2.5 +Long.HDM.ExploitAccCapa = 0.3 1.0 +Long.HDM.ExtTrgSpeed = 2.0 6.0 +Long.HDM.SpeedLimitCompl = 0.8 1.4 +Long.HDM.TimeReact = 0.3 1.3 +Long.HDM.TimeGap_LowSpd = 0.5 2.6 +Long.HDM.TimeGap_HighSpd = 0.3 1.5 +Long.HDM.SDAcc = 0.05 0.15 +Long.HDM.SDrelAppRate = 0.005 0.015 +Long.HDM.SDrelDist = 0.05 0.15 +Long.HDM.TPersistAcc = 5.0 +Long.HDM.TPersistDist = 20.0 +Long.HDM.TAdaptTimeGap = 30.0 +Long.HDM.TolMergeVhcl = 0.99 +Long.HDM.DecMax = -10.0 +Lat.HDMbased.TimeGap2DeadEnd = 0.0 10.0 +Lat.HDMbased.PoliteFac = 0.5 1.5 +Lat.HDMbased.MaxDecCoop = 2.0 4.0 +Lat.HDMbased.AccThres = 0.1 0.5 +Lat.HDMbased.EvalTime = 0.5 2.5 +Lat.HDMbased.AsymBias = 0.0 0.7 +Lat.HDMbased.OncomingBias = 0.3 1.0 +Lat.HDMbased.SafetyDistTimeGap = 1.5 3.0 +Lat.HDMbased.TimeGap2Oncoming = 1.6 4.4 +Lat.HDMbased.LaneChangeDuration = 4.0 6.0 +Lat.HDMbased.AsymVelThres = 60.0 +Long.Junction.TimeGap.Crossing = 2.4 4.0 +Long.Junction.TimeGap.Merging = 0.5 2.6 +Long.Junction.VelJunction = 5.0 50.0 +Long.Junction.TimeGap.Bicycle = 0.0 5.0 +Long.Junction.PedRange = 0.0 10.0 diff --git a/src/__tests__/infofiles/Demo3AxleCoachTruck_CM9 b/src/__tests__/infofiles/Demo3AxleCoachTruck_CM9 new file mode 100644 index 0000000..c60be85 --- /dev/null +++ b/src/__tests__/infofiles/Demo3AxleCoachTruck_CM9 @@ -0,0 +1,695 @@ +#INFOFILE1.1 (UTF-8) - Do not remove this line! +FileIdent = CarMaker-Truck 9 +FileCreator = TruckMaker 9.0 TEMPLATE + + +## Assembly ############################################################## + +RefPointInputSystem = 0.0 0.0 0.0 +Description: + Typical, unvalidated data for 3-axle bus 6x2 + Tire: RT_295_80R22 + +Cab.Kind = Rigid +Cab.Joint.pos = 0.0 0.0 0.0 +Cab.Bdy.mass = 0.0 +Cab.Bdy.I = 0.0 0.0 0.0 -0.0 -0.0 -0.0 +Cab.Bdy.pos = 0.0 0.0 0.0 +Plf.Kind = Rigid +Plf.Joint.pos = 0.0 0.0 0.0 +Plf.Bdy.mass = 0.0 +Plf.Bdy.I = 0.0 0.0 0.0 -0.0 -0.0 -0.0 +Plf.Bdy.pos = 0.0 0.0 0.0 + +Hitch.System = +Hitch.pos = 0.0 0.0 0.4 +Jack.fl.pos = 8.6 1.05 0.43 +Jack.fr.pos = 8.6 -1.05 0.43 +Jack.rl.pos = 4.6 1.05 0.43 +Jack.rr.pos = 4.6 -1.05 0.43 +Virtual.PoA = 4.851 0.000 1.218 + +WheelCarrier.fl.mass = 50.0 +WheelCarrier.fl.I = 1.0 1.0 1.0 -0.0 -0.0 -0.0 +WheelCarrier.fl.pos = 9.4 1.05 0.43 +WheelCarrier.fr.mass = 50.0 +WheelCarrier.fr.I = 1.0 1.0 1.0 -0.0 -0.0 -0.0 +WheelCarrier.fr.pos = 9.4 -1.05 0.43 +WheelCarrier.rl.mass = 100.0 +WheelCarrier.rl.I = 1.5 1.5 1.5 -0.0 -0.0 -0.0 +WheelCarrier.rl.pos = 3.8 0.86 0.43 +WheelCarrier.rr.mass = 100.0 +WheelCarrier.rr.I = 1.5 1.5 1.5 -0.0 -0.0 -0.0 +WheelCarrier.rr.pos = 3.8 -0.86 0.43 +WheelCarrier.rl2.mass = 50.0 +WheelCarrier.rl2.I = 1.0 1.0 1.0 -0.0 -0.0 -0.0 +WheelCarrier.rl2.pos = 2.55 1.05 0.43 +WheelCarrier.rr2.mass = 50.0 +WheelCarrier.rr2.I = 1.0 1.0 1.0 -0.0 -0.0 -0.0 +WheelCarrier.rr2.pos = 2.55 -1.05 0.43 +Wheel.fl.mass = 60.0 +Wheel.fl.I = 3.0 6.0 3.0 +Wheel.fl.pos = 9.4 1.05 0.43 +Wheel.fr.mass = 60.0 +Wheel.fr.I = 3.0 6.0 3.0 +Wheel.fr.pos = 9.4 -1.05 0.43 +Wheel.rl.mass = 60.0 +Wheel.rl.I = 3.0 6.0 3.0 +Wheel.rl.pos = 3.8 1.05 0.43 +Wheel.rr.mass = 60.0 +Wheel.rr.I = 3.0 6.0 3.0 +Wheel.rr.pos = 3.8 -1.05 0.43 +Wheel.rl2.mass = 60.0 +Wheel.rl2.I = 3.0 6.0 3.0 +Wheel.rl2.pos = 2.55 1.05 0.43 +Wheel.rr2.mass = 60.0 +Wheel.rr2.I = 3.0 6.0 3.0 +Wheel.rr2.pos = 2.55 -1.05 0.43 + +PowerTrain.Engine.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Engine.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Engine.Bdy.Mounting = Fr1A +PowerTrain.Engine.Bdy.RefFr = FrD +PowerTrain.Engine.Tank.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Engine.Tank.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Engine.Tank.Bdy.Mounting = Fr1A +PowerTrain.Engine.Tank.Bdy.RefFr = FrD +PowerTrain.GearBox.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBox.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBox.Bdy.Mounting = Fr1A +PowerTrain.GearBox.Bdy.RefFr = FrD +PowerTrain.GearBoxM.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM.Bdy.RefFr = FrD +PowerTrain.GearBoxM1.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM1.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM1.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM1.Bdy.RefFr = FrD +PowerTrain.GearBoxM2.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM2.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM2.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM2.Bdy.RefFr = FrD +PowerTrain.GearBoxM3.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM3.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM3.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM3.Bdy.RefFr = FrD +PowerTrain.GearBoxM4.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM4.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM4.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM4.Bdy.RefFr = FrD +PowerTrain.GearBoxM5.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM5.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM5.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM5.Bdy.RefFr = FrD +PowerTrain.GearBoxM6.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM6.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM6.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM6.Bdy.RefFr = FrD +PowerTrain.GearBoxM7.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM7.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM7.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM7.Bdy.RefFr = FrD +PowerTrain.Motor.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor.Bdy.Mounting = Fr1A +PowerTrain.Motor.Bdy.RefFr = FrD +PowerTrain.Motor1.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor1.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor1.Bdy.Mounting = Fr1A +PowerTrain.Motor1.Bdy.RefFr = FrD +PowerTrain.Motor2.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor2.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor2.Bdy.Mounting = Fr1A +PowerTrain.Motor2.Bdy.RefFr = FrD +PowerTrain.Motor3.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor3.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor3.Bdy.Mounting = Fr1A +PowerTrain.Motor3.Bdy.RefFr = FrD +PowerTrain.Motor4.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor4.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor4.Bdy.Mounting = Fr1A +PowerTrain.Motor4.Bdy.RefFr = FrD +PowerTrain.Motor5.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor5.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor5.Bdy.Mounting = Fr1A +PowerTrain.Motor5.Bdy.RefFr = FrD +PowerTrain.Motor6.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor6.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor6.Bdy.Mounting = Fr1A +PowerTrain.Motor6.Bdy.RefFr = FrD +PowerTrain.Motor7.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor7.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor7.Bdy.Mounting = Fr1A +PowerTrain.Motor7.Bdy.RefFr = FrD +PowerTrain.PowerSupply.BattLV.Bdy.0.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.0.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.0.Mounting = Fr1A +PowerTrain.PowerSupply.BattLV.Bdy.0.RefFr = FrD +PowerTrain.PowerSupply.BattLV.Bdy.1.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.1.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.1.Mounting = Fr1A +PowerTrain.PowerSupply.BattLV.Bdy.1.RefFr = FrD +PowerTrain.PowerSupply.BattHV.Bdy.0.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattHV.Bdy.0.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattHV.Bdy.0.Mounting = Fr1A +PowerTrain.PowerSupply.BattHV.Bdy.0.RefFr = FrD +PowerTrain.PowerSupply.BattHV.Bdy.1.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattHV.Bdy.1.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattHV.Bdy.1.Mounting = Fr1A +PowerTrain.PowerSupply.BattHV.Bdy.1.RefFr = FrD + +Assembly.Comment: + + +## Body ################################################################## + +VehicleModel = Vhcl_3Axle +nAxle = 3 +VehicleModel.Kind = RigidBody +VehicleModel.Mode = BodyA +Body.mass = 22000.0 +Body.I = 10000.0 20000.0 20000.0 -0.0 -0.0 -0.0 +Body.pos = 4.85 0.0 1.25 +Flex.JointFr1Fr1B.pos = 6.5 0.0 1.25 +Flex.JointFr1Fr1B.Kind = Coeff +Flex.JointFr1Fr1B.k.x = 5000.0 +Flex.JointFr1Fr1B.k.y = 15000.0 +Flex.JointFr1Fr1B.k.x.Amplify = 1.0 +Flex.JointFr1Fr1B.k.y.Amplify = 1.0 +Flex.JointFr1Fr1B.d.x = 100.0 +Flex.JointFr1Fr1B.d.y = 100.0 +Flex.JointFr1Fr1B.d.x.Amplify = 1.0 +Flex.JointFr1Fr1B.d.y.Amplify = 1.0 + +Movie.Skin.FName = 3D/Vehicles/Coach.mobj +Picture.PicFName = Coach.png +Vehicle.OuterSkin = 0.0 1.23 0.3 11.94 -1.23 4.0 + +Aero.Kind = Coeff6x1 1 +Aero.Marker.pos = 11.8 0.0 1.5 +Aero.pos = 6.6 0.0 1.5 +Aero.Ax = 8.917 +Aero.lReference = 5.6 +Aero.Crosswind.Kind = Step +Aero.Coeff: + -180.0 -1.2 -0.0 0.149 0.0 0.002 0.0 + -160.0 -1.939 -0.706 0.269 -0.062 -0.171 0.227 + -140.0 -1.942 -1.63 0.347 -0.272 -0.325 0.428 + -120.0 -1.315 -2.277 0.377 -0.514 -0.297 0.39 + -100.0 -0.418 -2.372 0.358 -0.61 -0.108 0.141 + -90.0 0.0 -2.206 0.333 -0.576 0.0 -0.0 + -80.0 0.386 -2.188 0.358 -0.563 0.099 -0.13 + -70.0 0.745 -2.047 0.373 -0.502 0.183 -0.24 + -60.0 1.041 -1.804 0.377 -0.407 0.235 -0.309 + -50.0 1.251 -1.491 0.368 -0.298 0.25 -0.328 + -40.0 1.377 -1.155 0.347 -0.193 0.23 -0.303 + -30.0 1.406 -0.812 0.314 -0.105 0.182 -0.241 + -25.0 1.377 -0.642 0.293 -0.07 0.15 -0.199 + -20.0 1.318 -0.48 0.269 -0.042 0.116 -0.154 + -15.0 1.229 -0.329 0.243 -0.022 0.081 -0.109 + -10.0 1.111 -0.196 0.214 -0.009 0.049 -0.066 + -5.0 0.967 -0.085 0.182 -0.002 0.02 -0.029 + 0.0 0.8 0.0 0.149 -0.0 -0.002 0.0 + 5.0 0.967 0.085 0.182 0.002 0.02 0.029 + 10.0 1.111 0.196 0.214 0.009 0.049 0.066 + 15.0 1.229 0.329 0.243 0.022 0.081 0.109 + 20.0 1.318 0.48 0.269 0.042 0.116 0.154 + 25.0 1.377 0.642 0.293 0.07 0.15 0.199 + 30.0 1.406 0.812 0.314 0.105 0.182 0.241 + 40.0 1.377 1.155 0.347 0.193 0.23 0.303 + 50.0 1.251 1.491 0.368 0.298 0.25 0.328 + 60.0 1.041 1.804 0.377 0.407 0.235 0.309 + 70.0 0.745 2.047 0.373 0.502 0.183 0.24 + 80.0 0.386 2.188 0.358 0.563 0.099 0.13 + 90.0 0.0 2.206 0.333 0.576 0.0 0.0 + 100.0 -0.418 2.372 0.358 0.61 -0.108 -0.141 + 120.0 -1.315 2.277 0.377 0.514 -0.297 -0.39 + 140.0 -1.942 1.63 0.347 0.272 -0.325 -0.428 + 160.0 -1.939 0.706 0.269 0.062 -0.171 -0.227 + 180.0 -1.2 0.0 0.149 -0.0 0.002 -0.0 + +Vhclbody.Comment: + + +## Suspensions ########################################################### +SuspF.Spring.Kind = Hookean 1 +SuspF.Spring.Amplify = 1.0 +SuspF.Spring: + 0.0 0.0 + 0.1 8288.5 + 1.0 82885.0 +SuspF.Parasitic.Stiffness.Kind = +SuspF.Parasitic.Friction.Kind = +SuspF.Damper.Kind = Newtonian 1 +SuspF.Damp_Push.Amplify = 1.0 +SuspF.Damp_Push: + 0.0 0.0 + 0.1 556.84 + 1.0 2733.4 +SuspF.Damp_Pull.Amplify = 1.0 +SuspF.Damp_Pull: + 0.0 0.0 + 0.1 1040.5 + 1.0 7570.3 +SuspF.Buffer.Kind = Hookean 1 +SuspF.Buf_Push.tz0 = 0.099 +SuspF.Buf_Push.Amplify = 1.0 +SuspF.Buf_Push: + 0.0 0.0 + 0.005 60.068 + 0.01 151.36 + 0.015 286.06 + 0.02 480.54 + 0.025 756.81 + 0.03 1144.2 + 0.035 1681.9 + 0.04 2421.8 + 0.045 3432.7 + 0.05 4805.4 + 0.055 6659.9 + 0.06 9153.8 + 0.065 12494.0 + 0.07 16953.0 + 0.075 22884.0 +SuspF.Buf_Pull.tz0 = -0.099 +SuspF.Buf_Pull.Amplify = 1.0 +SuspF.Buf_Pull: + 0.0 0.0 + 0.005 286.06 + 0.01 1144.2 + 0.015 3432.7 + 0.02 9153.8 + 0.025 22884.0 +SuspF.Stabi.Kind = Hookean 1 +SuspF.Stabi.Amplify = 1.0 +SuspF.Stabi = 80000.0 +SuspF.Kin.N = 1 +SuspF.Com.N = 0 +SuspF.Kin.0.Kind = Linear2D 1 +SuspF.Kin.0.ValidSide = left+right +SuspF.Kin.0.InputSide = left +SuspF.Kin.0.L.tx = 0.0 0.028 -0.44 +SuspF.Kin.0.L.ty = 0.0 -0.17 0.222 +SuspF.Kin.0.L.tz = 0.0 1.0 -0.032 +SuspF.Kin.0.L.rx = 0.01 0.628 -0.855 +SuspF.Kin.0.L.ry = 0.0 -0.451 -0.972 +SuspF.Kin.0.L.rz = -0.003 0.105 5.0 +SuspF.Kin.0.L.lSpring = 0.0 -1.0 0.0 +SuspF.Kin.0.L.lDamp = 0.0 -1.0 0.0 +SuspF.Kin.0.L.lBuf = 0.0 -1.0 0.0 +SuspF.Kin.0.L.lStabi = 0.0 1.0 0.0 +SuspF.WhlBearing.On = 0 +SuspR.Spring.Kind = Hookean 1 +SuspR.Spring.Amplify = 1.0 +SuspR.Spring: + 0.0 0.0 + 0.1 14032.0 + 1.0 140320.0 +SuspR.Parasitic.Stiffness.Kind = +SuspR.Parasitic.Friction.Kind = +SuspR.Damper.Kind = Newtonian 1 +SuspR.Damp_Push.Amplify = 1.0 +SuspR.Damp_Push: + 0.0 0.0 + 0.1 665.94 + 1.0 3824.4 +SuspR.Damp_Pull.Amplify = 1.0 +SuspR.Damp_Pull: + 0.0 0.0 + 0.1 1192.3 + 1.0 9088.4 +SuspR.Buffer.Kind = Hookean 1 +SuspR.Buf_Push.tz0 = 0.128 +SuspR.Buf_Push.Amplify = 1.0 +SuspR.Buf_Push: + 0.0 0.0 + 0.005 43.694 + 0.01 105.13 + 0.015 189.71 + 0.02 304.31 + 0.025 457.61 + 0.03 660.62 + 0.035 927.2 + 0.04 1274.8 + 0.045 1725.3 + 0.05 2306.2 + 0.055 3051.9 + 0.06 4005.2 + 0.065 5219.9 + 0.07 6762.8 + 0.075 8716.9 + 0.08 11186.0 + 0.085 14298.0 + 0.09 18212.0 + 0.095 23127.0 + 0.1 29287.0 + 0.105 36995.0 + 0.11 46625.0 + 0.115 58640.0 +SuspR.Buf_Pull.tz0 = -0.128 +SuspR.Buf_Pull.Amplify = 1.0 +SuspR.Buf_Pull: + 0.0 0.0 + 0.005 189.71 + 0.01 660.62 + 0.015 1725.3 + 0.02 4005.2 + 0.025 8716.9 + 0.03 18212.0 +SuspR.Stabi.Kind = Hookean 1 +SuspR.Stabi.Amplify = 1.0 +SuspR.Stabi = 50000.0 +SuspR.Kin.N = 1 +SuspR.Com.N = 0 +SuspR.Kin.0.Kind = Linear2D 1 +SuspR.Kin.0.ValidSide = left+right +SuspR.Kin.0.InputSide = left +SuspR.Kin.0.L.tx = 0.0 -0.0 0.0 +SuspR.Kin.0.L.ty = 0.0 0.0 0.0 +SuspR.Kin.0.L.tz = 0.0 1.0 0.0 +SuspR.Kin.0.L.rx = -0.0 0.514 -0.514 +SuspR.Kin.0.L.ry = 0.0 0.0 0.0 +SuspR.Kin.0.L.rz = -0.0 0.0 -0.0 +SuspR.Kin.0.L.lSpring = 0.0 -0.9 -0.1 +SuspR.Kin.0.L.lDamp = 0.0 -0.9 -0.1 +SuspR.Kin.0.L.lBuf = 0.0 -0.9 -0.1 +SuspR.Kin.0.L.lStabi = 0.0 1.0 0.0 +SuspR.WhlBearing.On = 0 +SuspR2.Spring.Kind = Hookean 1 +SuspR2.Spring.Amplify = 1.0 +SuspR2.Spring: + 0.0 0.0 + 0.1 14032.0 + 1.0 140320.0 +SuspR2.Parasitic.Stiffness.Kind = +SuspR2.Parasitic.Friction.Kind = +SuspR2.Damper.Kind = Newtonian 1 +SuspR2.Damp_Push.Amplify = 1.0 +SuspR2.Damp_Push: + 0.0 0.0 + 0.1 665.94 + 1.0 3824.4 +SuspR2.Damp_Pull.Amplify = 1.0 +SuspR2.Damp_Pull: + 0.0 0.0 + 0.1 1192.3 + 1.0 9088.4 +SuspR2.Buffer.Kind = Hookean 1 +SuspR2.Buf_Push.tz0 = 0.128 +SuspR2.Buf_Push.Amplify = 1.0 +SuspR2.Buf_Push: + 0.0 0.0 + 0.005 43.694 + 0.01 105.13 + 0.015 189.71 + 0.02 304.31 + 0.025 457.61 + 0.03 660.62 + 0.035 927.2 + 0.04 1274.8 + 0.045 1725.3 + 0.05 2306.2 + 0.055 3051.9 + 0.06 4005.2 + 0.065 5219.9 + 0.07 6762.8 + 0.075 8716.9 + 0.08 11186.0 + 0.085 14298.0 + 0.09 18212.0 + 0.095 23127.0 + 0.1 29287.0 + 0.105 36995.0 + 0.11 46625.0 + 0.115 58640.0 +SuspR2.Buf_Pull.tz0 = -0.128 +SuspR2.Buf_Pull.Amplify = 1.0 +SuspR2.Buf_Pull: + 0.0 0.0 + 0.005 189.71 + 0.01 660.62 + 0.015 1725.3 + 0.02 4005.2 + 0.025 8716.9 + 0.03 18212.0 +SuspR2.Stabi.Kind = Hookean 1 +SuspR2.Stabi.Amplify = 1.0 +SuspR2.Stabi = 50000.0 +SuspR2.Kin.N = 1 +SuspR2.Com.N = 0 +SuspR2.Kin.0.Kind = Linear2D 1 +SuspR2.Kin.0.ValidSide = left+right +SuspR2.Kin.0.InputSide = left +SuspR2.Kin.0.L.tx = 0.0 -0.0 0.0 +SuspR2.Kin.0.L.ty = 0.0 0.0 0.0 +SuspR2.Kin.0.L.tz = 0.0 1.0 0.0 +SuspR2.Kin.0.L.rx = -0.0 0.514 -0.514 +SuspR2.Kin.0.L.ry = 0.0 0.0 0.0 +SuspR2.Kin.0.L.rz = -0.0 0.0 -0.0 +SuspR2.Kin.0.L.lSpring = 0.0 -0.9 -0.1 +SuspR2.Kin.0.L.lDamp = 0.0 -0.9 -0.1 +SuspR2.Kin.0.L.lBuf = 0.0 -0.9 -0.1 +SuspR2.Kin.0.L.lStabi = 0.0 1.0 0.0 +SuspR2.WhlBearing.On = 0 +AxleR2.Bogie.Active = 0 +SuspExtFrcs.Kind = +SuspControl.Kind = +Susp.Comment: + + +## Steering ############################################################## +Steering.Kind = GenAngle 1 +Steering.Comment: +Steering.Rack2StWhl = 85.0 + + +## Tires ################################################################# +Tire.0 = ExamplesTM/RT_295_80R22 +Tire.1 = ExamplesTM/RT_295_80R22 +Tire.2 = ExamplesTM/RT_295_80R22 +Tire.3 = ExamplesTM/RT_295_80R22 +Tire.4 = ExamplesTM/RT_295_80R22 +Tire.5 = ExamplesTM/RT_295_80R22 +AxleR.TwinTiresOn = 1 +AxleR2.TwinTiresOn = 0 +AxleR.Lift.Active = 0 +AxleR2.Lift.Active = 0 +Tires.Comment: + + +## Brake ################################################################# +Brake.Kind = Hyd 1 +Brake.Torque.Amplify = 1.0 1.0 1.0 1.0 1.0 1.0 +Brake.Control.Kind = HydBasic 1 +Brake.Control.Mode = NoController +Brake.System.Kind = PresDistrib 1 +Brake.System.pMC_based_on = PedalForce +Brake.System.Pedal2PedalFrc = 500.0 +Brake.System.PedalForce2pMC = 0.4 +Brake.System.tResp = 0.05 +Brake.System.tBuildUp = 0.2 +Brake.System.pWB2Trq = 105.0 105.0 52.5 52.5 52.5 52.5 +Brake.System.Park.Torque_max = 0.0 0.0 7085.1 7085.1 7085.1 7085.1 +Brake.Comment: + + +## Powertrain ############################################################ +PowerTrain.Kind = Generic 1 +PowerTrain.Comment: +PowerTrain.OSRate = 5 + +PowerTrain.Engine.Kind = Mapping 1 +PowerTrain.Engine.I = 0.735 +PowerTrain.Engine.Crankshaft.Orientation = x-axis +PowerTrain.Engine.tBuildUp = 0.0 +PowerTrain.Engine.Mapping.Kind = DragFullLoad +PowerTrain.Engine.TrqKl15Off = -80.0 +PowerTrain.Engine.rotvOff = 200.0 +PowerTrain.Engine.nIdle = 300 +PowerTrain.Engine.Exponent = 0.8 +PowerTrain.Engine.DragPower.Amplify = 1.0 +PowerTrain.Engine.DragPower: + 124.29 -32.199 + 324.29 -41.892 + 524.29 -56.351 + 724.29 -77.922 + 924.29 -110.1 + 1124.3 -158.11 + 1324.3 -229.73 + 1524.3 -336.57 + 1724.3 -495.96 + 1800.0 -575.0 +PowerTrain.Engine.FullLoadPower.Amplify = 1.0 +PowerTrain.Engine.FullLoadPower: + 124.29 0.0 + 324.29 1785.5 + 524.29 2152.1 + 724.29 2271.4 + 924.29 2300.0 + 1124.3 2300.0 + 1324.3 2300.0 + 1524.3 2157.3 + 1724.3 2048.5 + 1800.0 0.0 +PowerTrain.Engine.FuelConsume = 0 +PowerTrain.Engine.PwrCorr.Active = 0 +PowerTrain.Engine.Turbo.Active = 0 +PowerTrain.Engine.IMP.Active = 0 +PowerTrain.Engine.Bdy.mass = 0.0 +PowerTrain.Engine.Bdy.I = 0.0 0.0 0.0 +PowerTrain.Clutch.Kind = Manual 1 +PowerTrain.Clutch.I_in = 0.438 +PowerTrain.Clutch.I_out = 0.438 +PowerTrain.Clutch.ConnectPos = 0.3 +PowerTrain.Clutch.DisconnectPos = 0.7 +PowerTrain.Clutch.Trq_max = 2625.0 +PowerTrain.Clutch.slope = 262.5 +PowerTrain.Clutch.c.Kind = Linear +PowerTrain.Clutch.c = 1500.0 +PowerTrain.GearBox.Kind = Manual 1 +PowerTrain.GearBox.I_in = 0.001 +PowerTrain.GearBox.I_out = 0.324 +PowerTrain.GearBox.iForwardGears = 12.30 9.59 7.47 5.82 4.53 3.53 2.74 2.13 1.66 1.29 1.00 0.78 +PowerTrain.GearBox.iBackwardGears = -10.0 +PowerTrain.GearBox.nFit = 50 +PowerTrain.GearBox.LossKind = Constant +PowerTrain.GearBox.EtaForwardGears = 1.0 1.0 1.0 1.0 1.0 +PowerTrain.GearBox.EtaBackwardGears = 1.0 +PowerTrain.GearBox.Bdy.mass = 0.0 +PowerTrain.GearBox.Bdy.I = 0.0 0.0 0.0 + +PowerTrain.Retarder.Active = 0 +PowerTrain.Engine.Tank.Bdy.mass = 0.0 +PowerTrain.Engine.Tank.Bdy.I = 0.0 0.0 0.0 + +PowerTrain.DL.Kind = Gen6x2 1 +PowerTrain.DL.FlexShaft = 0 + +PowerTrain.DL.RDiff.Eta = 1.0 +PowerTrain.DL.RDiff.i = 3.15 +PowerTrain.DL.RDiff.I_in = 0.001 +PowerTrain.DL.RDiff.I_out = 0.001 +PowerTrain.DL.RDiff.I_Cage = 0.0 +PowerTrain.DL.RDiff.Cpl.Mounting = left2right +PowerTrain.DL.RDiff.Cpl.k = 10.0 +PowerTrain.DL.RDiff.Cpl.Kind = Visco 1 +PowerTrain.DL.RDiff.Cpl.Trq_Amplify = 1.0 +PowerTrain.DL.RDiff.Cpl.Trq_drotv: + 0.0 0.0 + 15.0 150.0 + 30.0 250.0 +PowerTrain.DL.TrqExt2DiffOn = 0 +PowerTrain.DL.TrqExt2WheelOn = 0 +PowerTrain.MotorISG.Kind = Starter 1 +PowerTrain.MotorISG.I = 0.001 +PowerTrain.MotorISG.Ratio = 4.0 +PowerTrain.MotorISG.VoltageLevel = LV +PowerTrain.MotorISG.Pwr_max = 10.0 +PowerTrain.MotorISG.Trq_max = 150.0 +PowerTrain.MotorISG.rotv_max = 2000.0 +PowerTrain.Control.Kind = Generic 1 +PowerTrain.ControlOSM.Kind = Generic 1 +PowerTrain.Control.StartEngineWithSST = 0 + +PowerTrain.Control.GasInterpret.Active = 0 + +PowerTrain.ECU.Kind = Basic 1 +PowerTrain.ECU.ISCtrl.Active = 1 +PowerTrain.ECU.ISCtrl.rotvOff = 700.0 +PowerTrain.ECU.ISCtrl.LoadMax = 1.0 +PowerTrain.ECU.ISCtrl.p = 0.1 +PowerTrain.ECU.ISCtrl.i = 50 +PowerTrain.ECU.TrqCtrl.p = 0.002 +PowerTrain.ECU.TrqCtrl.i = 5 +PowerTrain.ECU.RotvCtrl.p = 0.1 +PowerTrain.ECU.RotvCtrl.i = 50 +PowerTrain.ECU.nFuelCutOff = 1200.0 +PowerTrain.TCU.Kind = +PowerTrain.MCU.Kind = Basic 1 +PowerTrain.MCU.MotorISG.TrqCtrl.p = 0.002 +PowerTrain.MCU.MotorISG.TrqCtrl.i = 5.0 +PowerTrain.MCU.MotorISG.RotvCtrl.p = 0.1 +PowerTrain.MCU.MotorISG.RotvCtrl.i = 50.0 +PowerTrain.BCU.Kind = +PowerTrain.PowerSupply.Kind = + +## Sensor Parametrizations ############################################### +Sensor.Param.0.Type = SAngle +Sensor.Param.0.FName = +Sensor.Param.0.Name = SL_Param +Sensor.Param.N = 1 +Sensor.Comment: + + +## Sensor Cluster ######################################################## +SensorCluster.N = 0 + + +## Sensor Instances ###################################################### +Sensor.N = 1 +Sensor.0.name = A00 +Sensor.0.rot = 0.0 0.0 0.0 +Sensor.0.pos = 6.5 0.0 1.25 +Sensor.0.Visualization = 1 +Sensor.0.VisColor = 0.0 0.0 0.0 +Sensor.0.Mounting = Fr1A +Sensor.0.Active = 1 +Sensor.0.Ref.Param = 0 +Sensor.0.Ref.Cluster = + + +## Vehicle Control ####################################################### +VehicleControl.0.Kind = + +VehicleControl.1.Kind = + +VehicleControl.2.Kind = + +VehicleControl.3.Kind = + +VehicleControl.4.Kind = + +VehicleControl.5.Kind = + +VehicleControl.6.Kind = + +VehicleControl.7.Kind = + +VehicleControl.8.Kind = + +VehicleControl.9.Kind = + +VehicleControl.Comment: + + +## Show ################################################################## +Crypto.Show: + Picture.PicFName + Movie.Skin.FName + Vehicle.OuterSkin + nAxle + Steering.Kind + Steering.FName + Brake.Kind + Brake.FName + PowerTrain.Kind + PowerTrain.FName + CM4SL.ActivateFcn + CM4SL.StartFcn + CM4SL.StopFcn + Sensor.N + Sensor.0.Active + Sensor.0.Ref.Cluster + SensorCluster.N +Crypto.AllowAccess: + GenericPlugin + + +## Additional Parameters ################################################# +PowerTrain.Engine.FuelDensity = 0.83 +PowerTrain.Engine.FuelHeatValue = 11.3 +PowerTrain.Engine.FuelLevel = 80.0 +PowerTrain.Engine.TankVolume = 480.0 + +Additional.Comment: diff --git a/src/__tests__/infofiles/DemoCar_CM9 b/src/__tests__/infofiles/DemoCar_CM9 new file mode 100644 index 0000000..a37ff11 --- /dev/null +++ b/src/__tests__/infofiles/DemoCar_CM9 @@ -0,0 +1,698 @@ +#INFOFILE1.1 - Do not remove this line! +FileIdent = CarMaker-Car 9 +FileCreator = CarMaker 9.0 TEMPLATE + + +## Assembly ############################################################## + +RefPointInputSystem = 0.0 0.0 0.0 +Description: + Typical, unvalidated data for passenger car + with Front Wheel Drive + Tire RT 195/65 R15 + +Eng.Kind = Rigid +Eng.Joint.pos = 0.0 0.0 0.0 +Eng.Orientation = 0.0 0.0 0.0 + +Hitch.System = Ball +Hitch.pos = -0.1 0.0 0.4 +Jack.fl.pos = 2.97 0.789 0.29 +Jack.fr.pos = 2.97 -0.789 0.29 +Jack.rl.pos = 1.3 0.772 0.29 +Jack.rr.pos = 1.3 -0.772 0.29 +Virtual.PoA = 2.406 0.000 0.566 + +WheelCarrier.fl.mass = 18.0 +WheelCarrier.fl.I = 0.2 0.2 0.2 0 0 0 +WheelCarrier.fl.pos = 3.40 0.789 0.29 +WheelCarrier.fr.mass = 18.0 +WheelCarrier.fr.I = 0.2 0.2 0.2 0 0 0 +WheelCarrier.fr.pos = 3.40 -0.789 0.29 +WheelCarrier.rl.mass = 13.0 +WheelCarrier.rl.I = 0.1 0.1 0.1 0 0 0 +WheelCarrier.rl.pos = 0.863 0.772 0.29 +WheelCarrier.rr.mass = 13.0 +WheelCarrier.rr.I = 0.1 0.1 0.1 0 0 0 +WheelCarrier.rr.pos = 0.863 -0.772 0.29 +Wheel.fl.mass = 25.0 +Wheel.fl.I = 0.4 1.2 0.4 +Wheel.fl.pos = 3.40 0.789 0.29 +Wheel.fr.mass = 25.0 +Wheel.fr.I = 0.4 1.2 0.4 +Wheel.fr.pos = 3.40 -0.789 0.29 +Wheel.rl.mass = 25.0 +Wheel.rl.I = 0.45 0.7 0.45 +Wheel.rl.pos = 0.863 0.772 0.29 +Wheel.rr.mass = 25.0 +Wheel.rr.I = 0.45 0.7 0.45 +Wheel.rr.pos = 0.863 -0.772 0.29 + +PowerTrain.Engine.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Engine.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Engine.Bdy.Mounting = FrEng +PowerTrain.Engine.Bdy.RefFr = FrD +PowerTrain.Engine.Tank.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Engine.Tank.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Engine.Tank.Bdy.Mounting = Fr1A +PowerTrain.Engine.Tank.Bdy.RefFr = FrD +PowerTrain.GearBox.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBox.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBox.Bdy.Mounting = FrEng +PowerTrain.GearBox.Bdy.RefFr = FrD +PowerTrain.GearBoxM.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM.Bdy.RefFr = FrD +PowerTrain.GearBoxM1.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM1.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM1.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM1.Bdy.RefFr = FrD +PowerTrain.GearBoxM2.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM2.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM2.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM2.Bdy.RefFr = FrD +PowerTrain.GearBoxM3.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBoxM3.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBoxM3.Bdy.Mounting = Fr1A +PowerTrain.GearBoxM3.Bdy.RefFr = FrD +PowerTrain.Motor.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor.Bdy.Mounting = Fr1A +PowerTrain.Motor.Bdy.RefFr = FrD +PowerTrain.Motor1.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor1.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor1.Bdy.Mounting = Fr1A +PowerTrain.Motor1.Bdy.RefFr = FrD +PowerTrain.Motor2.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor2.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor2.Bdy.Mounting = Fr1A +PowerTrain.Motor2.Bdy.RefFr = FrD +PowerTrain.Motor3.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Motor3.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Motor3.Bdy.Mounting = Fr1A +PowerTrain.Motor3.Bdy.RefFr = FrD +PowerTrain.PowerSupply.BattLV.Bdy.0.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.0.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.0.Mounting = Fr1A +PowerTrain.PowerSupply.BattLV.Bdy.0.RefFr = FrD +PowerTrain.PowerSupply.BattLV.Bdy.1.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.1.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.1.Mounting = Fr1A +PowerTrain.PowerSupply.BattLV.Bdy.1.RefFr = FrD +PowerTrain.PowerSupply.BattHV.Bdy.0.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattHV.Bdy.0.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattHV.Bdy.0.Mounting = Fr1A +PowerTrain.PowerSupply.BattHV.Bdy.0.RefFr = FrD +PowerTrain.PowerSupply.BattHV.Bdy.1.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattHV.Bdy.1.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattHV.Bdy.1.Mounting = Fr1A +PowerTrain.PowerSupply.BattHV.Bdy.1.RefFr = FrD + +Assembly.Comment: + + +## Body ################################################################## + +VehicleModel = Vhcl_2Axle +nAxle = 2 +VehicleModel.Kind = RigidBody +VehicleModel.Mode = BodyA +Body.mass = 1301 +Body.I = 4.7e+002 1.5e+003 1.6e+003 0 0 0 +Body.pos = 2.43 0 0.60 +Flex.JointFr1Fr1B.pos = 2.43 0 0.60 +Flex.JointFr1Fr1B.Kind = Coeff +Flex.JointFr1Fr1B.k.x = 5e+005 +Flex.JointFr1Fr1B.k.y = 15000.0 +Flex.JointFr1Fr1B.k.x.Amplify = 1.0 +Flex.JointFr1Fr1B.k.y.Amplify = 1.0 +Flex.JointFr1Fr1B.d.x = 100.0 +Flex.JointFr1Fr1B.d.y = 100.0 +Flex.JointFr1Fr1B.d.x.Amplify = 1.0 +Flex.JointFr1Fr1B.d.y.Amplify = 1.0 + +Movie.Skin.FName = 3D/Vehicles/VW_Beetle_2012.mobj +Picture.PicFName = VW_Beetle_2012.png +Vehicle.OuterSkin = 0.0 0.9 0.2 4.28 -0.9 1.49 + +Aero.Kind = Coeff6x1 1 +Aero.Marker.pos = 4.28 0.0 0.6 +Aero.pos = 2.25 0.0 0.6 +Aero.Ax = 2.0 +Aero.lReference = 2.508 +Aero.Crosswind.Kind = Step +Aero.Coeff: + -180 -0.4 0.0 0.1 0.0 -0.01 0.0 + -120 -0.2 -1.4 0.7 -0.2 -0.021 0.06 + -90 0.0 -1.7 0.9 -0.2 0.0 0.0 + -45 0.3 -1.2 0.6 -0.16 0.025 -0.1 + 0 0.2 0.0 0.1 0.0 -0.03 0.0 + 45 0.3 1.2 0.6 0.16 0.025 0.1 + 90 0.0 1.7 0.9 0.2 0.000 0.0 + 120 -0.2 1.4 0.7 0.2 -0.021 -0.06 + 180 -0.4 0.0 0.1 0.0 -0.010 0.0 + +Vhclbody.Comment: + + +## Suspensions ########################################################### +SuspF.Spring.Kind = Hookean 1 +SuspF.Spring.Amplify = 1.0 +SuspF.Spring.l0 = 0.3541 +SuspF.Spring: + -0.01 -240.0 + 0.0 0.0 + 1.0 24000.0 +SuspF.Parasitic.Stiffness.Kind = +SuspF.Parasitic.Friction.Kind = +SuspF.Damper.Kind = Newtonian 1 +SuspF.Damp_Push.Amplify = 2.0 +SuspF.Damp_Push: + 0.00 0 + 0.05 100 + 0.13 150 + 0.26 250 + 0.39 330 + 0.52 420 + 1.04 800 +SuspF.Damp_Pull.Amplify = 2.0 +SuspF.Damp_Pull: + 0.00 0 + 0.05 110 + 0.13 350 + 0.26 650 + 0.39 725 + 0.52 800 + 1.04 1150 +SuspF.Buffer.Kind = Hookean 1 +SuspF.Buf_Push.tz0 = 0.055 +SuspF.Buf_Push.Amplify = 1 +SuspF.Buf_Push: + 0.0 0.0 + 0.002 32.0 + 0.004 88.0 + 0.006 167.0 + 0.008 269.0 + 0.010 393.0 + 0.012 596.0 + 0.015 1085.0 + 0.017 2098.0 + 0.019 6559.0 + 0.021 16527.0 + 0.023 31862.0 + 0.025 52427.0 + 0.027 78083.0 + 0.030 108691.0 +SuspF.Buf_Pull.tz0 = -0.09 +SuspF.Buf_Pull.Amplify = 1 +SuspF.Buf_Pull: + 0.0 0.0 + 0.002 32.0 + 0.004 88.0 + 0.006 167.0 + 0.008 269.0 + 0.010 393.0 + 0.012 596.0 + 0.015 1085.0 + 0.017 2098.0 + 0.019 6559.0 + 0.021 16527.0 + 0.023 31862.0 + 0.025 52427.0 + 0.027 78083.0 + 0.030 108691.0 +SuspF.Stabi.Kind = Hookean 1 +SuspF.Stabi.Amplify = 1.0 +SuspF.Stabi = 15000.0 +SuspF.Kin.N = 1 +SuspF.Com.N = 0 +SuspF.Kin.0.FName = Examples/McPherson_FrontAxle.skc +SuspF.WhlBearing.On = 0 +SuspR.Spring.Kind = Hookean 1 +SuspR.Spring.Amplify = 1 +SuspR.Spring.l0 = 0.0975 +SuspR.Spring: + -0.01 -250.0 + 0.0 0.0 + 1.0 25000.0 +SuspR.Parasitic.Stiffness.Kind = +SuspR.Parasitic.Friction.Kind = +SuspR.Damper.Kind = Newtonian 1 +SuspR.Damp_Push.Amplify = 7.0 +SuspR.Damp_Push: + 0.00 0 + 0.06 70 + 0.12 110 + 0.24 140 + 0.48 180 + 0.96 230 +SuspR.Damp_Pull.Amplify = 10.0 +SuspR.Damp_Pull: + 0.00 0 + 0.06 70 + 0.12 140 + 0.24 310 + 0.48 390 + 0.96 550 +SuspR.Buffer.Kind = Hookean 1 +SuspR.Buf_Push.tz0 = 0.08 +SuspR.Buf_Push.Amplify = 1 +SuspR.Buf_Push: + 0.0 0.0 + 0.002 32.0 + 0.004 88.0 + 0.006 167.0 + 0.008 269.0 + 0.010 393.0 + 0.012 596.0 + 0.015 1085.0 + 0.017 2098.0 + 0.019 6559.0 + 0.021 16527.0 + 0.023 31862.0 + 0.025 52427.0 + 0.027 78083.0 + 0.030 108691.0 +SuspR.Buf_Pull.tz0 = -0.065 +SuspR.Buf_Pull.Amplify = 1 +SuspR.Buf_Pull: + 0.0 0.0 + 0.002 32.0 + 0.004 88.0 + 0.006 167.0 + 0.008 269.0 + 0.010 393.0 + 0.012 596.0 + 0.015 1085.0 + 0.017 2098.0 + 0.019 6559.0 + 0.021 16527.0 + 0.023 31862.0 + 0.025 52427.0 + 0.027 78083.0 + 0.030 108691.0 +SuspR.Stabi.Kind = Hookean 1 +SuspR.Stabi.Amplify = $stabiAmplify=10.0 +SuspR.Stabi = 15000.0 +SuspR.Kin.N = 1 +SuspR.Com.N = 0 +SuspR.Kin.0.Kind = Linear2D 1 +SuspR.Kin.0.ValidSide = left+right +SuspR.Kin.0.InputSide = left +SuspR.Kin.0.L.tx = 0 0 0 +SuspR.Kin.0.L.ty = 0 0 0 +SuspR.Kin.0.L.tz = 0 1.0 0 +SuspR.Kin.0.L.rx = 0.01 0 0 +SuspR.Kin.0.L.ry = 0 0 0 +SuspR.Kin.0.L.rz = 0.002 -0.035 0 +SuspR.Kin.0.L.lSpring = 0 -1.0 0 +SuspR.Kin.0.L.lDamp = 0 -0.6 0 +SuspR.Kin.0.L.lBuf = 0 -1.0 0 +SuspR.Kin.0.L.lStabi = 0 0.81 0 +SuspR.WhlBearing.On = 0 +SuspExtFrcs.Kind = +SuspControl.Kind = +Susp.Comment: + + +## Steering ############################################################## +Steering.Kind = GenAngle 1 +Steering.Comment: +Steering.Rack2StWhl = $rack2Whl=100 + + +## Tires ################################################################# +Tire.0 = Examples/RT_195_65R15 +Tire.1 = Examples/RT_195_65R15 +Tire.2 = Examples/RT_195_65R15 +Tire.3 = Examples/RT_195_65R15 +AxleR.TwinTiresOn = 0 +Tires.Comment: + + +## Brake ################################################################# +Brake.Kind = Hyd 1 +Brake.Torque.Amplify = 1.0 1.0 1.0 1.0 +Brake.Control.Kind = HydBasic 1 +Brake.Control.Mode = NoController +Brake.System.FName = HydESP_DemoParam +Brake.Comment: + + +## Powertrain ############################################################ +PowerTrain.Kind = Generic 1 +PowerTrain.Comment: +PowerTrain.OSRate = 5 + +PowerTrain.Engine.Kind = Mapping 1 +PowerTrain.Engine.I = 0.07 +PowerTrain.Engine.Crankshaft.Orientation = y-axis +PowerTrain.Engine.tBuildUp = 0.0 +PowerTrain.Engine.Mapping.Kind = DragFullLoad +PowerTrain.Engine.TrqKl15Off = -80.0 +PowerTrain.Engine.rotvOff = 500.0 +PowerTrain.Engine.nIdle = 800 +PowerTrain.Engine.Exponent = 0.8 +PowerTrain.Engine.DragPower.Amplify = 1.0 +PowerTrain.Engine.DragPower: + 500.0 -10.0 + 1000.0 -10.0 + 2000.0 -20.0 + 3000.0 -30.0 + 4000.0 -40.0 + 5000.0 -50.0 + 6000.0 -60.0 + 7000.0 -70.0 + 8000.0 -80.0 +PowerTrain.Engine.FullLoadPower.Amplify = 1.0 +PowerTrain.Engine.FullLoadPower: + 500.0 10.0 + 1000.0 140.0 + 2000.0 155.0 + 3000.0 165.0 + 4000.0 180.0 + 4500.0 185.0 + 5000.0 182.0 + 6000.0 168.0 + 7000.0 130.0 + 8000.0 0.0 +PowerTrain.Engine.FuelConsume = 1 +PowerTrain.Engine.FuelMap.Kind = Absolute +PowerTrain.Engine.FuelMap.Amplify = 1.0 +PowerTrain.Engine.FuelMap.Data: + 500.0 -10.0 0.0 + 500.0 10.0 0.10472 + 800.0 -10.0 0.0 + 800.0 3.0 0.17453 + 800.0 40 0.47 + 800.0 80.0 0.71 + 1000.0 -10.0 0.0 + 1000.0 3.0 0.17453 + 1000.0 30.0 0.43633 + 1000.0 50.0 0.58178 + 1000.0 68.0 0.71209 + 1000.0 95.0 0.82903 + 1000.0 120.0 0.94248 + 1500 -15.0 0.0 + 1500.0 3.0 0.1309 + 1500.0 20.0 0.43633 + 1500.0 40.0 0.69813 + 1500.0 60.0 0.94248 + 1500.0 80.0 1.0472 + 1500.0 100.0 1.1781 + 1500.0 120.0 1.3614 + 1500.0 140.0 1.5882 + 2000.0 -20.0 0.0 + 2000.0 3.0 0.13963 + 2000.0 18.0 0.5236 + 2000.0 34.0 0.79122 + 2000.0 52.0 1.0891 + 2000.0 70.0 1.2217 + 2000.0 90.0 1.4137 + 2000.0 105.0 1.5882 + 2000.0 120.0 1.7453 + 2000.0 135.0 1.9635 + 2000.0 150.0 2.2689 + 2500.0 -25.0 0.0 + 2500.0 3.0 0.1309 + 2500.0 16.0 0.58178 + 2500.0 30.0 0.87266 + 2500.0 48.0 1.2566 + 2500.0 68.0 1.4835 + 2500.0 85.0 1.669 + 2500.0 98.0 1.853 + 2500.0 110.0 1.9999 + 2500.0 125.0 2.2271 + 2500.0 140.0 2.4944 + 2500.0 150.0 2.7271 + 2500.0 160.0 3.0252 + 3000.0 -30.0 0.0 + 3000.0 3.0 0.15708 + 3000.0 15.0 0.6545 + 3000.0 28.0 0.97738 + 3000.0 48.0 1.508 + 3000.0 68.0 1.7802 + 3000.0 85.0 2.0028 + 3000.0 100.0 2.2689 + 3000.0 115.0 2.5089 + 3000.0 125.0 2.6725 + 3000.0 140.0 2.9932 + 3000.0 153.0 3.3379 + 3000.0 166.0 3.7664 + 3500.0 -35.0 0.0 + 3500.0 4.0 0.24435 + 3500.0 15.0 0.76358 + 3500.0 28.0 1.1403 + 3500.0 50.0 1.8326 + 3500.0 70.0 2.138 + 3500.0 90.0 2.474 + 3500.0 105.0 2.7794 + 3500.0 120.0 3.0543 + 3500.0 135.0 3.3674 + 3500.0 150.0 3.8179 + 3500.0 160.0 4.2353 + 3500.0 170.0 4.6731 + 4000.0 -40.0 0.0 + 4000.0 5.0 0.34907 + 4000.0 16.0 0.93084 + 4000.0 30.0 1.3963 + 4000.0 55.0 2.3038 + 4000.0 75.0 2.618 + 4000.0 95.0 2.9845 + 4000.0 110.0 3.3278 + 4000.0 130.0 3.7815 + 4000.0 145.0 4.2179 + 4000.0 158.0 4.7799 + 4000.0 170.0 5.3407 + 4500.0 -45.0 0.0 + 4500.0 6.0 0.47124 + 4500.0 20.0 1.309 + 4500.0 35.0 1.8326 + 4500.0 60.0 2.8274 + 4500.0 85.0 3.3379 + 4500.0 105.0 3.711 + 4500.0 125.0 4.2542 + 4500.0 145.0 4.9349 + 4500.0 165.0 5.8316 + 4500.0 182.0 7.1471 + 5000.0 -50 0.0 + 5000.0 10.0 0.87266 + 5000.0 25.0 1.8181 + 5000.0 40.0 2.3271 + 5000.0 68.0 3.5605 + 5000.0 92.0 4.0143 + 5000.0 115.0 4.516 + 5000.0 135.0 5.1051 + 5000.0 160.0 6.2832 + 5000.0 180.0 7.854 + 5500.0 -55.0 0.0 + 5500.0 12.0 1.1519 + 5500.0 30.0 2.3998 + 5500.0 48.0 3.0718 + 5500.0 77.0 4.4349 + 5500.0 105.0 5.0396 + 5500.0 128.0 5.5292 + 5500.0 155.0 6.6955 + 5500.0 175.0 8.3994 + 6000.0 -60.0 0.0 + 6000.0 15.0 1.5708 + 6000.0 35.0 3.0543 + 6000.0 55.0 3.8397 + 6000.0 88.0 5.5292 + 6000.0 115.0 6.0214 + 6000.0 140.0 6.5973 + 6000.0 168.0 8.7965 + 6500.0 -65.0 0.0 + 6500.0 18.0 2.042 + 6500.0 38.0 3.5925 + 6500.0 65.0 4.916 + 6500.0 98.0 6.6706 + 6500.0 130.0 7.374 + 6500.0 150.0 8.5085 + 7000.0 -70.0 0.0 + 7000.0 20.0 2.4435 + 7000.0 42.0 4.2761 + 7000.0 72.0 5.8643 + 7000.0 108.0 7.9168 + 7000.0 130.0 9.5295 + 7500.0 -75.0 0.0 + 7500.0 22.0 2.8798 + 7500.0 45.0 4.9087 +PowerTrain.Engine.PwrCorr.Active = 0 +PowerTrain.Engine.Turbo.Active = 0 +PowerTrain.Engine.IMP.Active = 0 +PowerTrain.Engine.Bdy.mass = 0.0 +PowerTrain.Engine.Bdy.I = 0.0 0.0 0.0 +PowerTrain.Clutch.Kind = Manual 1 +PowerTrain.Clutch.I_in = 0.01 +PowerTrain.Clutch.I_out = 0.01 +PowerTrain.Clutch.ConnectPos = 0.3 +PowerTrain.Clutch.DisconnectPos = 0.7 +PowerTrain.Clutch.Trq_max = 300 +PowerTrain.Clutch.slope = 30.0 +PowerTrain.Clutch.c.Kind = Linear +PowerTrain.Clutch.c = 1500.0 +PowerTrain.GearBox.Kind = Manual 1 +PowerTrain.GearBox.I_in = 1e-5 +PowerTrain.GearBox.I_out = 0.016 +PowerTrain.GearBox.iForwardGears = 3.4 1.9 1.35 1.05 0.8 +PowerTrain.GearBox.iBackwardGears = -4.0 +PowerTrain.GearBox.nFit = 50 +PowerTrain.GearBox.LossKind = Constant +PowerTrain.GearBox.EtaForwardGears = 1.0 1.0 1.0 1.0 1.0 +PowerTrain.GearBox.EtaBackwardGears = 1.0 +PowerTrain.GearBox.Bdy.mass = 0.0 +PowerTrain.GearBox.Bdy.I = 0.0 0.0 0.0 + +PowerTrain.Engine.Tank.Bdy.mass = 0.0 +PowerTrain.Engine.Tank.Bdy.I = 0.0 0.0 0.0 + +PowerTrain.DL.Kind = GenFront 1 +PowerTrain.DL.FlexShaft = 0 + +PowerTrain.DL.FDiff.Eta = 1.0 +PowerTrain.DL.FDiff.i = 4.1 +PowerTrain.DL.FDiff.I_in = 0.001 +PowerTrain.DL.FDiff.I_out = 0.001 +PowerTrain.DL.FDiff.I_Cage = 0.0 +PowerTrain.DL.FDiff.Cpl.Mounting = left2right +PowerTrain.DL.FDiff.Cpl.k = 10.0 +PowerTrain.DL.FDiff.Cpl.Kind = Visco 1 +PowerTrain.DL.FDiff.Cpl.Trq_Amplify = 1.0 +PowerTrain.DL.FDiff.Cpl.Trq_drotv: + 0 0 + 15 150 + 30 250 +PowerTrain.DL.TrqExt2DiffOn = 0 +PowerTrain.DL.TrqExt2WheelOn = 0 +PowerTrain.MotorISG.Kind = Starter 1 +PowerTrain.MotorISG.I = 0.001 +PowerTrain.MotorISG.Ratio = 4.0 +PowerTrain.MotorISG.VoltageLevel = LV +PowerTrain.MotorISG.Pwr_max = 2.0 +PowerTrain.MotorISG.Trq_max = 150.0 +PowerTrain.MotorISG.rotv_max = 7000.0 +PowerTrain.Control.Kind = Generic 1 +PowerTrain.ControlOSM.Kind = Generic 1 +PowerTrain.Control.StartEngineWithSST = 0 + +PowerTrain.Control.GasInterpret.Active = 0 + +PowerTrain.ECU.Kind = Basic 1 +PowerTrain.ECU.ISCtrl.Active = 1 +PowerTrain.ECU.ISCtrl.rotvOff = 1000.0 +PowerTrain.ECU.ISCtrl.LoadMax = 1.0 +PowerTrain.ECU.ISCtrl.p = 0.1 +PowerTrain.ECU.ISCtrl.i = 50 +PowerTrain.ECU.TrqCtrl.p = 0.002 +PowerTrain.ECU.TrqCtrl.i = 5 +PowerTrain.ECU.RotvCtrl.p = 0.1 +PowerTrain.ECU.RotvCtrl.i = 50 +PowerTrain.ECU.nFuelCutOff = 1500.0 +PowerTrain.TCU.Kind = +PowerTrain.MCU.Kind = Basic 1 +PowerTrain.MCU.MotorISG.TrqCtrl.p = 0.002 +PowerTrain.MCU.MotorISG.TrqCtrl.i = 5.0 +PowerTrain.MCU.MotorISG.RotvCtrl.p = 0.1 +PowerTrain.MCU.MotorISG.RotvCtrl.i = 50.0 +PowerTrain.BCU.Kind = +PowerTrain.PowerSupply.Kind = +PowerTrain.Engine.FuelLevel = 80.0 +PowerTrain.Engine.TankVolume = 50.0 +PowerTrain.Engine.FuelDensity = 0.75 +PowerTrain.Engine.FuelHeatValue = 11.3 + +## Sensor Parametrizations ############################################### +Sensor.Param.0.Type = SAngle +Sensor.Param.0.FName = +Sensor.Param.0.Name = SL_Param +Sensor.Param.1.Type = Inertial +Sensor.Param.1.FName = +Sensor.Param.1.Name = IN_Param +Sensor.Param.N = 2 +Sensor.Comment: + + +## Sensor Cluster ######################################################## +SensorCluster.N = 0 + + +## Sensor Instances ###################################################### +Sensor.N = 2 +Sensor.0.name = A00 +Sensor.0.rot = 0.0 0.0 0.0 +Sensor.0.pos = 2.35 0.0 0.6 +Sensor.0.Visualization = 1 +Sensor.0.VisColor = 0.0 0.0 0.0 +Sensor.0.Mounting = Fr1A +Sensor.0.Active = 1 +Sensor.0.Ref.Param = 0 +Sensor.0.Ref.Cluster = +Sensor.1.name = YRS +Sensor.1.rot = 0.0 0.0 0.0 +Sensor.1.pos = 2.9 0.3 0.8 +Sensor.1.Visualization = 1 +Sensor.1.VisColor = 0.0 0.0 0.0 +Sensor.1.Mounting = Fr1A +Sensor.1.Active = 1 +Sensor.1.Ref.Param = 1 +Sensor.1.Ref.Cluster = +Sensor.1.CalcClass = Global+Local + + +## Vehicle Control ####################################################### +VehicleControl.0.Kind = + +VehicleControl.1.Kind = + +VehicleControl.2.Kind = + +VehicleControl.3.Kind = + +VehicleControl.4.Kind = + +VehicleControl.5.Kind = + +VehicleControl.6.Kind = + +VehicleControl.7.Kind = + +VehicleControl.8.Kind = + +VehicleControl.9.Kind = + +VehicleControl.Comment: + + +## Show ################################################################## +Crypto.Show: + Picture.PicFName + Movie.Skin.FName + Vehicle.OuterSkin + nAxle + Steering.Kind + Steering.FName + Brake.Kind + Brake.FName + PowerTrain.Kind + PowerTrain.FName + Sensor.FSpace.N + Sensor.RadarRSILeg.N + Sensor.RadarRSI.N + Sensor.USonicRSI.N + Sensor.LidarRSI.N + CM4SL.ActivateFcn + CM4SL.StartFcn + CM4SL.StopFcn + Sensor.N + Sensor.0.Active + Sensor.0.Ref.Cluster + Sensor.1.Active + Sensor.1.Ref.Cluster + SensorCluster.N +Crypto.AllowAccess: + GenericPlugin + +Additional.Comment: +not a type = not a type diff --git a/src/__tests__/infofiles/DemoMC_LinearMotorcycle_CM9 b/src/__tests__/infofiles/DemoMC_LinearMotorcycle_CM9 new file mode 100644 index 0000000..55d424b --- /dev/null +++ b/src/__tests__/infofiles/DemoMC_LinearMotorcycle_CM9 @@ -0,0 +1,381 @@ +#INFOFILE1.1 (UTF-8) - Do not remove this line! +FileIdent = CarMaker-Motorcycle 9 +FileCreator = MotorcycleMaker 9.0 TEMPLATE + + +## Assembly ############################################################## + +RefPointInputSystem = 0.0 0.0 0.0 +Description: + Typical, unvalidated data for motorcycle + Tire F: DT_120_70ZR17 - Tire R: DT_180_55ZR17 + Front Suspension: Linear + Rear Suspension: Linear + PowerTrain: ShaftDriven + Wheel base: 1485 mm + +Rider.Mnt = 0.58 0.0 0.75 +Virtual.PoA = 1.0 0.0 0.5 + +SuspF.SK.Wheel.mass = 7.0 +SuspF.SK.Wheel.I = 0.33 0.65 0.33 +SuspF.SK.Wheel.pos = 1.81 0.0 0.28 +SuspR.SK.Wheel.mass = 10.0 +SuspR.SK.Wheel.I = 0.65 0.93 0.65 +SuspR.SK.Wheel.pos = 0.325 0.0 0.30 + +PowerTrain.Engine.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Engine.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Engine.Bdy.Mounting = Fr1A +PowerTrain.Engine.Bdy.RefFr = FrD +PowerTrain.Engine.Tank.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.Engine.Tank.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.Engine.Tank.Bdy.Mounting = Fr1A +PowerTrain.Engine.Tank.Bdy.RefFr = FrD +PowerTrain.GearBox.Bdy.pos = 0.0 0.0 0.0 +PowerTrain.GearBox.Bdy.Ori = 0.0 0.0 0.0 +PowerTrain.GearBox.Bdy.Mounting = Fr1A +PowerTrain.GearBox.Bdy.RefFr = FrD +PowerTrain.PowerSupply.BattLV.Bdy.0.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.0.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.0.Mounting = Fr1A +PowerTrain.PowerSupply.BattLV.Bdy.0.RefFr = FrD +PowerTrain.PowerSupply.BattLV.Bdy.1.pos = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.1.Ori = 0.0 0.0 0.0 +PowerTrain.PowerSupply.BattLV.Bdy.1.Mounting = Fr1A +PowerTrain.PowerSupply.BattLV.Bdy.1.RefFr = FrD + +Assembly.Comment: + + +## Body ################################################################## + +Body.mass = 200.0 +Body.I = 29.0 82.0 76.0 0.0 0.0 0.0 +Body.pos = 1.1 0.0 0.5 +Rider.mass = 85.0 +Rider.I = 5.5 5.5 2.3 0.0 0.0 0.0 +Rider.pos = 0.78 0.0 1.0 +Engine.mass = 0.0 +Engine.I = 0.0 0.0 0.0 0.0 0.0 0.0 +Engine.pos = 1.1 0.0 0.5 +Sensor.PoI.pos = 1.075 0.0 0.5 + +Movie.Skin.FName = +Picture.PicFName = DemoMC_Linear.png +Movie.Rider.Pitch = 30.0 +Stand.vMoveIn = 9.0 +Stand.RollStiffness = 10000.0 +Stand.RollDamping = 100.0 + +Aero.Kind = Coeff6x1 1 +Aero.Marker.pos = 1.025 0.0 0.6 +Aero.pos = 1.025 0.0 0.6 +Aero.Ax = 1.0 +Aero.lReference = 1.485 +Aero.Crosswind.Kind = Step +Aero.Coeff: + -180.0 0.3 0.0 0.1 0.0 0.0 0.0 + -90.0 0.3 1.0 0.1 0.0 0.0 0.0 + 0.0 0.3 0.0 0.1 0.0 0.0 0.0 + 90.0 0.3 1.0 0.1 0.0 0.0 0.0 + 180.0 0.3 0.0 0.1 0.0 0.0 0.0 + +Vhclbody.Comment: + + +## Suspensions ########################################################### +SuspF.Spring.Amplify = 1.0 +SuspF.Spring.l0 = 0.0329 +SuspF.Spring: + 0.0 0.0 + 0.1 3516.05 + 1.0 35160.47 +SuspF.Damp_Push.Amplify = 1.0 +SuspF.Damp_Push: + 0.0 0.0 + 0.125 212.96 + 0.25 319.44 +SuspF.Damp_Pull.Amplify = 1.0 +SuspF.Damp_Pull: + 0.0 0.0 + 0.125 479.16 + 0.25 718.75 +SuspF.Damper.TopMnt.On = 0 +SuspF.Buf_Push.tz0 = 0.06 +SuspF.Buf_Push.Amplify = 1.0 +SuspF.Buf_Push: + 0.0 0.0 + 0.0015 300.0 + 0.003 1500.0 + 0.02 70000.0 +SuspF.Buf_Pull.tz0 = -0.06 +SuspF.Buf_Pull.Amplify = 1.0 +SuspF.Buf_Pull: + 0.0 0.0 + 0.0015 300.0 + 0.003 1500.0 + 0.02 70000.0 +SuspF.SK.Kind = Linear +SuspF.SK.FrcEl.Kind = Linear +SuspF.SK.Carrier.mass = 5.0 +SuspF.SK.Carrier.I = 0.1 0.1 0.6 +SuspF.SK.Carrier.pos = 1.71 0.0 0.65 +SuspF.SK.PointOnSteerAxis = 1.79 0.0 0.28 +SuspF.SK.SpinAngle = -25.0 +SuspR.Spring.Amplify = 1.0 +SuspR.Spring.l0 = 0.0356 +SuspR.Spring: + 0.0 0.0 + 0.1 4254.42 + 1.0 42544.16 +SuspR.Damp_Push.Amplify = 1.0 +SuspR.Damp_Push: + 0.0 0.0 + 0.125 234.26 + 0.25 351.39 +SuspR.Damp_Pull.Amplify = 1.0 +SuspR.Damp_Pull: + 0.0 0.0 + 0.125 527.08 + 0.25 790.62 +SuspR.Damper.TopMnt.On = 0 +SuspR.Buf_Push.tz0 = 0.06 +SuspR.Buf_Push.Amplify = 1.0 +SuspR.Buf_Push: + 0.0 0.0 + 0.0015 300.0 + 0.003 1500.0 + 0.02 70000.0 +SuspR.Buf_Pull.tz0 = -0.06 +SuspR.Buf_Pull.Amplify = 1.0 +SuspR.Buf_Pull: + 0.0 0.0 + 0.0015 300.0 + 0.003 1500.0 + 0.02 70000.0 +SuspR.SK.Kind = Linear +SuspR.SK.FrcEl.Kind = Linear +SuspR.SK.Carrier.mass = 8.0 +SuspR.SK.Carrier.I = 0.2 0.9 1.0 +SuspR.SK.Carrier.pos = 0.325 0.0 0.30 +SuspExtFrcs.Kind = +Susp.Comment: + + +## Steering ############################################################## +Steering.Damp.Amplify = 1.0 +Steering.Damp: + 0.0 0.0 + 2.5 0.015 + 5.0 0.036 + 10.0 0.15 +Steering.Buffer.Angle = 30.0 +Steering.Buffer.vVhclLimit = 9.0 +Steering.Buffer.k = 500.0 +Steering.Buffer.d = 5.0 +Steering.Comment: + + +## Tires ################################################################# +Tire.0 = ExamplesMM/DT_120_70ZR17 +Tire.1 = ExamplesMM/DT_180_55ZR17 +Tires.Comment: + + +## Brake ################################################################# +Brake.Kind = Generic 1 +Brake.Park.Torque_max = 0.0 0.0 +Brake.Torque.Amplify = 1.0 1.0 +Brake.Lever2pMCLever = 30.0 +Brake.Pedal2pMCPedal = 30.0 +Brake.FL.Cyl_0 = 1.0 0.0 1.0 0.144 0.036 0.49 +Brake.FL.Cyl_1 = 1.0 0.0 1.0 0.144 0.032 0.49 +Brake.FL.Cyl_2 = 0.0 0.0 1.0 0.144 0.0 0.49 +Brake.FR.Cyl_0 = 1.0 0.0 1.0 0.144 0.036 0.49 +Brake.FR.Cyl_1 = 1.0 0.0 1.0 0.144 0.032 0.49 +Brake.FR.Cyl_2 = 0.0 0.0 1.0 0.144 0.0 0.49 +Brake.R.Cyl_0 = 0.0 1.0 1.0 0.126 0.028 0.42 +Brake.R.Cyl_1 = 0.0 1.0 1.0 0.126 0.026 0.42 +Brake.R.Cyl_2 = 0.0 0.0 1.0 0.126 0.0 0.42 +Brake.Comment: + + +## Powertrain ############################################################ +PowerTrain.Kind = ShaftDriven 1 +PowerTrain.DL.OSRate = 5 +PowerTrain.Engine.Kind = Mapping 1 +PowerTrain.Engine.I = 0.014 +PowerTrain.Engine.Crankshaft.Orientation = y-axis +PowerTrain.Engine.tBuildUp = 0.0 +PowerTrain.Engine.Mapping.Kind = DragFullLoad +PowerTrain.Engine.TrqKl15Off = -80.0 +PowerTrain.Engine.rotvOff = 800.0 +PowerTrain.Engine.nIdle = 1000.0 +PowerTrain.Engine.Exponent = 0.8 +PowerTrain.Engine.DragPower.Amplify = 1.0 +PowerTrain.Engine.DragPower: + 500.0 -2.4 + 1000.0 -2.4 + 3000.0 -2.4 + 4000.0 -2.8 + 5000.0 -3.1 + 6000.0 -3.3 + 7000.0 -3.5 + 8000.0 -4.2 + 9000.0 -4.6 + 10000.0 -5.0 + 11000.0 -6.0 + 12000.0 -6.5 +PowerTrain.Engine.FullLoadPower.Amplify = 1.0 +PowerTrain.Engine.FullLoadPower: + 500.0 0.0 + 1000.0 30.0 + 2000.0 50.0 + 3000.0 62.0 + 4000.0 69.0 + 5000.0 74.0 + 6000.0 79.0 + 7000.0 84.0 + 8000.0 86.5 + 9000.0 88.0 + 10000.0 86.0 + 11000.0 78.5 + 12000.0 0.0 +PowerTrain.Engine.FuelConsume = 0 +PowerTrain.Engine.PwrCorr.Active = 0 +PowerTrain.Engine.Turbo.Active = 0 +PowerTrain.Engine.IMP.Active = 0 +PowerTrain.Engine.Bdy.mass = 0.0 +PowerTrain.Engine.Bdy.I = 0.0 0.0 0.0 +PowerTrain.Clutch.Kind = Manual 1 +PowerTrain.Clutch.I_in = 0.03 +PowerTrain.Clutch.I_out = 0.03 +PowerTrain.Clutch.ConnectPos = 0.3 +PowerTrain.Clutch.DisconnectPos = 0.7 +PowerTrain.Clutch.Trq_max = 195.0 +PowerTrain.Clutch.slope = 19.5 +PowerTrain.Clutch.c.Kind = Linear +PowerTrain.Clutch.c = 1500.0 +PowerTrain.GearBox.Kind = Manual 1 +PowerTrain.GearBox.I_in = 1e-5 +PowerTrain.GearBox.I_out = 0.015 +PowerTrain.GearBox.iForwardGears = 3.53 2.57 2.13 1.79 1.55 1.35 +PowerTrain.GearBox.iBackwardGears = +PowerTrain.GearBox.nFit = 50 +PowerTrain.GearBox.LossKind = Constant +PowerTrain.GearBox.EtaForwardGears = 1.0 1.0 1.0 1.0 1.0 +PowerTrain.GearBox.EtaBackwardGears = +PowerTrain.GearBox.Bdy.mass = 0.0 +PowerTrain.GearBox.Bdy.I = 0.0 0.0 0.0 + +PowerTrain.iWheel2GearBox = 2.8 +PowerTrain.DriveLine.I_in = 0.0001 +PowerTrain.DriveLine.I_out = 0.0001 + +PowerTrain.Engine.Tank.Bdy.mass = 0.0 +PowerTrain.Engine.Tank.Bdy.I = 0.0 0.0 0.0 + +PowerTrain.MotorISG.Kind = Starter 1 +PowerTrain.MotorISG.I = 0.0001 +PowerTrain.MotorISG.Ratio = 4.0 +PowerTrain.MotorISG.VoltageLevel = LV +PowerTrain.MotorISG.Pwr_max = 2.0 +PowerTrain.MotorISG.Trq_max = 50.0 +PowerTrain.MotorISG.rotv_max = 7000.0 +PowerTrain.Control.Kind = Generic 1 +PowerTrain.ControlOSM.Kind = Generic 1 +PowerTrain.Control.StartEngineWithSST = 0 + +PowerTrain.Control.GasInterpret.Active = 0 + +PowerTrain.ECU.Kind = Basic 1 +PowerTrain.ECU.ISCtrl.Active = 1 +PowerTrain.ECU.ISCtrl.rotvOff = 1200.0 +PowerTrain.ECU.ISCtrl.LoadMax = 1.0 +PowerTrain.ECU.ISCtrl.p = 0.1 +PowerTrain.ECU.ISCtrl.i = 50 +PowerTrain.ECU.TrqCtrl.p = 0.002 +PowerTrain.ECU.TrqCtrl.i = 5 +PowerTrain.ECU.RotvCtrl.p = 0.1 +PowerTrain.ECU.RotvCtrl.i = 50 +PowerTrain.ECU.nFuelCutOff = 1700.0 +PowerTrain.TCU.Kind = +PowerTrain.MCU.Kind = Basic 1 +PowerTrain.MCU.MotorISG.TrqCtrl.p = 0.002 +PowerTrain.MCU.MotorISG.TrqCtrl.i = 5.0 +PowerTrain.MCU.MotorISG.RotvCtrl.p = 0.1 +PowerTrain.MCU.MotorISG.RotvCtrl.i = 50.0 +PowerTrain.BCU.Kind = +PowerTrain.PowerSupply.Kind = +PowerTrain.Comment: + +## Sensor Parametrizations ############################################### +Sensor.Param.0.Type = SAngle +Sensor.Param.0.FName = +Sensor.Param.0.Name = SL_Param +Sensor.Param.N = 1 +Sensor.Comment: + + +## Sensor Cluster ######################################################## +SensorCluster.N = 0 + + +## Sensor Instances ###################################################### +Sensor.N = 1 +Sensor.0.name = A00 +Sensor.0.rot = 0.0 0.0 0.0 +Sensor.0.pos = 1.075 0.0 0.5 +Sensor.0.Visualization = 1 +Sensor.0.VisColor = 0.0 0.0 0.0 +Sensor.0.Mounting = Fr1 +Sensor.0.Active = 1 +Sensor.0.Ref.Param = 0 +Sensor.0.Ref.Cluster = + + +## Vehicle Control ####################################################### +VehicleControl.0.Kind = + +VehicleControl.1.Kind = + +VehicleControl.2.Kind = + +VehicleControl.3.Kind = + +VehicleControl.4.Kind = + +VehicleControl.5.Kind = + +VehicleControl.6.Kind = + +VehicleControl.7.Kind = + +VehicleControl.8.Kind = + +VehicleControl.9.Kind = + +VehicleControl.Comment: + + +## Show ################################################################## +Crypto.Show: + Picture.PicFName + Movie.Skin.FName + nAxle + Brake.Kind + Brake.FName + PowerTrain.Kind + PowerTrain.FName + CM4SL.ActivateFcn + CM4SL.StartFcn + CM4SL.StopFcn + Sensor.N + Sensor.0.Active + Sensor.0.Ref.Cluster + SensorCluster.N +Crypto.AllowAccess: + GenericPlugin + +Additional.Comment: diff --git a/src/__tests__/infofiles/IPG_CompanyCar_2018 b/src/__tests__/infofiles/IPG_CompanyCar_2018 index 2e9670d..4a00789 100644 --- a/src/__tests__/infofiles/IPG_CompanyCar_2018 +++ b/src/__tests__/infofiles/IPG_CompanyCar_2018 @@ -1,6 +1,6 @@ #INFOFILE1.1 - Do not remove this line! FileIdent = CarMaker-TrafficTemplate 13 -FileCreator = CarMaker 12.0 +FileCreator = CarMaker 13.0 Info = Example Traffic Object Template Color = 1.0 0.0 0.0 diff --git a/src/__tests__/infofiles/IPG_CompanyCar_2018_CM9 b/src/__tests__/infofiles/IPG_CompanyCar_2018_CM9 new file mode 100644 index 0000000..b4fc467 --- /dev/null +++ b/src/__tests__/infofiles/IPG_CompanyCar_2018_CM9 @@ -0,0 +1,34 @@ +#INFOFILE1.1 - Do not remove this line! +FileIdent = CarMaker-TrafficTemplate 9 +FileCreator = CarMaker 9.0 + +Info = Example Traffic Object Template +Color = 1.0 0.0 0.0 +ObjectClass = Car +ObjectKind = Movable +RCSClass = RCS_Car +Movie.Geometry = 3D/Vehicles/IPG_CompanyCar_2018.mobj +Basics.Dimension = 4.47 1.97 1.12 +Basics.Offset = 0.15 0.0 +Basics.Fr12CoM = 2.21 +Motion.Kind = 4Wheel +Motion.mass = 1600 +Motion.Overhang = 0.95 0.90 +Motion.I = 660 2050 2400 +Motion.Cf = 1.9e5 +Motion.Cr = 2.4e5 +Motion.C_roll = 2.0e5 +Motion.D_roll = 2.0e4 +Motion.C_pitch = 3.9e5 +Motion.D_pitch = 3.9e4 +Motion.SteerCtrl.Ang_max = 40.0 +Motion.HitchRearType = BallHitch +Motion.HitchRearPos = 0.0 0.0 +Motion.AnimateHitch = 0 +LVD.AxMax = 6.5 +LVD.vMax = 270 +LVD.Pmax = 260 +LVD.tBuildUp = 0.15 + +# Parameters for Assistant of stochastically distributed traffic +SDweight = 0.05 diff --git a/src/__tests__/infofiles/SavedSelections_CM9 b/src/__tests__/infofiles/SavedSelections_CM9 new file mode 100644 index 0000000..8e14add --- /dev/null +++ b/src/__tests__/infofiles/SavedSelections_CM9 @@ -0,0 +1,531 @@ +#INFOFILE1.1 (UTF-8) - Do not remove this line! +FileIdent = GUI-SavedSelections 9 +Selection.N = 2 +Selection.0.Name = Default Source / Sink +Selection.0.Info = Default selection of traffic object templates for traffic with source / sink +Selection.0.N = 38 +Selection.0.0.FName = 1_Vehicles/AlfaRomeo_Stelvio_2019 +Selection.0.0.Weight = 0.40 +Selection.0.1.FName = 1_Vehicles/Audi_A4AllRoad_2016 +Selection.0.1.Weight = 0.6 +Selection.0.2.FName = 1_Vehicles/BMW_5_2017 +Selection.0.2.Weight = 0.50 +Selection.0.3.FName = 1_Vehicles/Chrysler_Pacifica_2016 +Selection.0.3.Weight = 0.5 +Selection.0.4.FName = 1_Vehicles/Ford_EscapeSE_2020 +Selection.0.4.Weight = 0.15 +Selection.0.5.FName = 1_Vehicles/Honda_Fit_2015 +Selection.0.5.Weight = 0.5 +Selection.0.6.FName = 1_Vehicles/Hyundai_Sonata_2015 +Selection.0.6.Weight = 0.5 +Selection.0.7.FName = 1_Vehicles/LandRover_Defender110_2020 +Selection.0.7.Weight = 0.25 +Selection.0.8.FName = 1_Vehicles/Mazda_CX3_2015 +Selection.0.8.Weight = 0.6 +Selection.0.9.FName = 1_Vehicles/Lexus_RCF_2018 +Selection.0.9.Weight = 0.15 +Selection.0.10.FName = 1_Vehicles/MB_CClass_2015 +Selection.0.10.Weight = 0.5 +Selection.0.11.FName = 1_Vehicles/MB_EQC_2020 +Selection.0.11.Weight = 0.12 +Selection.0.12.FName = 1_Vehicles/Mitsubishi_OutlanderSport_2016 +Selection.0.12.Weight = 0.5 +Selection.0.13.FName = 1_Vehicles/Nissan_Qashqai_2019 +Selection.0.13.Weight = 0.3 +Selection.0.14.FName = 1_Vehicles/Opel_Mokka-e_2021 +Selection.0.14.Weight = 0.15 +Selection.0.15.FName = 1_Vehicles/Peugeot_207CC_2012 +Selection.0.15.Weight = 0.6 +Selection.0.16.FName = 1_Vehicles/Porsche_911Turbo_2012 +Selection.0.16.Weight = 0.1 +Selection.0.17.FName = 1_Vehicles/Renault_Kadjar_2016 +Selection.0.17.Weight = 0.55 +Selection.0.18.FName = 1_Vehicles/Seat_LeonST_2015 +Selection.0.18.Weight = 0.40 +Selection.0.19.FName = 1_Vehicles/Skoda_Scala_2019 +Selection.0.19.Weight = 0.3 +Selection.0.20.FName = 1_Vehicles/Tesla_Model3_2019 +Selection.0.20.Weight = 0.30 +Selection.0.21.FName = 1_Vehicles/Toyota_RAV4_2019 +Selection.0.21.Weight = 0.20 +Selection.0.22.FName = 1_Vehicles/Volvo_XC90_2016 +Selection.0.22.Weight = 0.45 +Selection.0.23.FName = 1_Vehicles/VW_ID3_2020 +Selection.0.23.Weight = 0.30 +Selection.0.24.FName = 1_Vehicles/VW_PassatVariant_2014 +Selection.0.24.Weight = 0.70 +Selection.0.25.FName = 1_Vehicles/Ducati_Panigale1199_2012_Traffic_Driver +Selection.0.25.Weight = 0.1 +Selection.0.26.FName = 1_Vehicles/Piaggio_VespaGTS_2016_Traffic_Driver +Selection.0.26.Weight = 0.1 +Selection.0.27.FName = 1_Vehicles/MB_Sprinter_2013 +Selection.0.27.Weight = 0.90 +Selection.0.28.FName = 1_Vehicles/Ford_Transit_2014 +Selection.0.28.Weight = 0.35 +Selection.0.29.FName = 1_Vehicles/Hymer_ML_I_580_2015 +Selection.0.29.Weight = 0.15 +Selection.0.30.FName = 1_Vehicles/Coach +Selection.0.30.Weight = 0.4 +Selection.0.31.FName = 1_Vehicles/Iveco_EuroCargo_2015 +Selection.0.31.Weight = 0.20 +Selection.0.32.FName = 1_Vehicles/Iveco_StralisXWAY_2017 +Selection.0.32.Weight = 0.10 +Selection.0.33.FName = 1_Vehicles/Iveco_Trakker_2013 +Selection.0.33.Weight = 0.1 +Selection.0.34.FName = 1_Vehicles/MAN_TGS_2012 +Selection.0.34.Weight = 0.30 +Selection.0.35.FName = 1_Vehicles/MB_Antos_2012_6x2 +Selection.0.35.Weight = 0.60 +Selection.0.36.FName = 1_Vehicles/Scania_R730_2010_02 +Selection.0.36.Weight = 0.2 +Selection.0.37.FName = 1_Vehicles/Iveco_SWay_2019 +Selection.0.37.Weight = 0.20 +Selection.1.Name = All Vehicles +Selection.1.Info = Default selection for all traffic object templates of movable vehicles in the install directory +Selection.1.N = 223 +Selection.1.0.FName = 1_Vehicles/AlfaRomeo_Stelvio_2019 +Selection.1.0.Weight = 0.40 +Selection.1.1.FName = 1_Vehicles/Audi_A4AllRoad_2016 +Selection.1.1.Weight = 0.6 +Selection.1.2.FName = 1_Vehicles/Audi_A7_2018 +Selection.1.2.Weight = 0.20 +Selection.1.3.FName = 1_Vehicles/Audi_A8_2014 +Selection.1.3.Weight = 0.2 +Selection.1.4.FName = 1_Vehicles/Audi_A8_2018 +Selection.1.4.Weight = 0.15 +Selection.1.5.FName = 1_Vehicles/Audi_e-tron_2019 +Selection.1.5.Weight = 0.12 +Selection.1.6.FName = 1_Vehicles/Audi_Q3_2019 +Selection.1.6.Weight = 0.35 +Selection.1.7.FName = 1_Vehicles/Audi_Q8_2019 +Selection.1.7.Weight = 0.32 +Selection.1.8.FName = 1_Vehicles/Audi_R8_2016 +Selection.1.8.Weight = 0.05 +Selection.1.9.FName = 1_Vehicles/Audi_S3_2015 +Selection.1.9.Weight = 0.4 +Selection.1.10.FName = 1_Vehicles/Audi_SQ7_2016 +Selection.1.10.Weight = 0.15 +Selection.1.11.FName = 1_Vehicles/Audi_SQ7_2016_BikeRackRoof +Selection.1.11.Weight = 0.07 +Selection.1.12.FName = 1_Vehicles/Audi_TT_2015 +Selection.1.12.Weight = 0.4 +Selection.1.13.FName = 1_Vehicles/Bentley_Bentayga_Speed_2020 +Selection.1.13.Weight = 0.10 +Selection.1.14.FName = 1_Vehicles/BlueBird_Vision_2014 +Selection.1.14.Weight = 0.30 +Selection.1.15.FName = 1_Vehicles/BMW_5_2017 +Selection.1.15.Weight = 0.50 +Selection.1.16.FName = 1_Vehicles/BMW_5_2017_Blue +Selection.1.16.Weight = 0.50 +Selection.1.17.FName = 1_Vehicles/BMW_5_2017_Customs +Selection.1.17.Weight = 0.1 +Selection.1.18.FName = 1_Vehicles/BMW_5_2017_Emergency +Selection.1.18.Weight = 0.1 +Selection.1.19.FName = 1_Vehicles/BMW_5_2017_Police +Selection.1.19.Weight = 0.2 +Selection.1.20.FName = 1_Vehicles/BMW_5_2017_SafetyCar +Selection.1.20.Weight = 0.0 +Selection.1.21.FName = 1_Vehicles/BMW_X5_2021_MSport +Selection.1.21.Weight = 0.15 +Selection.1.22.FName = 1_Vehicles/Chevrolet_Silverado1500_2013 +Selection.1.22.Weight = 0.5 +Selection.1.23.FName = 1_Vehicles/Chrysler_300c_2018 +Selection.1.23.Weight = 0.3 +Selection.1.24.FName = 1_Vehicles/Chrysler_Pacifica_2016 +Selection.1.24.Weight = 0.5 +Selection.1.25.FName = 1_Vehicles/Citroen_C3_2015 +Selection.1.25.Weight = 0.7 +Selection.1.26.FName = 1_Vehicles/Citroen_C4Cactus_2016 +Selection.1.26.Weight = 0.45 +Selection.1.27.FName = 1_Vehicles/Coach +Selection.1.27.Weight = 0.4 +Selection.1.28.FName = 1_Vehicles/Dacia_Duster_2018 +Selection.1.28.Weight = 0.70 +Selection.1.29.FName = 1_Vehicles/Dodge_GrandCaravan_2011 +Selection.1.29.Weight = 0.6 +Selection.1.30.FName = 1_Vehicles/DS_DS7_Crossback_2019 +Selection.1.30.Weight = 0.20 +Selection.1.31.FName = 1_Vehicles/Ducati_Panigale1199_2012_Traffic_Driver +Selection.1.31.Weight = 0.1 +Selection.1.32.FName = 1_Vehicles/EasyMile_EZ10_2015 +Selection.1.32.Weight = 0.00 +Selection.1.33.FName = 1_Vehicles/Euro_ConcreteMixer +Selection.1.33.Weight = 0.2 +Selection.1.34.FName = 1_Vehicles/Ferrari_488GTB_2016 +Selection.1.34.Weight = 0.05 +Selection.1.35.FName = 1_Vehicles/Ford_EscapeSE_2020 +Selection.1.35.Weight = 0.15 +Selection.1.36.FName = 1_Vehicles/Ford_EscapeSE_2020_VIL +Selection.1.36.Weight = 0.15 +Selection.1.37.FName = 1_Vehicles/Ford_Explorer_2016 +Selection.1.37.Weight = 0.5 +Selection.1.38.FName = 1_Vehicles/Ford_Explorer_2016_Police +Selection.1.38.Weight = 0.1 +Selection.1.39.FName = 1_Vehicles/Ford_F150_Raptor_2017 +Selection.1.39.Weight = 0.3 +Selection.1.40.FName = 1_Vehicles/Ford_Fusion_2017 +Selection.1.40.Weight = 0.40 +Selection.1.41.FName = 1_Vehicles/Ford_Ranger_2019 +Selection.1.41.Weight = 0.32 +Selection.1.42.FName = 1_Vehicles/Ford_Transit_2014 +Selection.1.42.Weight = 0.35 +Selection.1.43.FName = 1_Vehicles/Freightliner_FLD120_1995 +Selection.1.43.Weight = 0.05 +Selection.1.44.FName = 1_Vehicles/Freightliner_FLD120_1995+Trailer_Tanker +Selection.1.44.Weight = 0.3 +Selection.1.45.FName = 1_Vehicles/Geely_Emgrand_Boyue_2016 +Selection.1.45.Weight = 0.45 +Selection.1.46.FName = 1_Vehicles/Honda_CBR600RR_2016_Traffic_Driver +Selection.1.46.Weight = 0.1 +Selection.1.47.FName = 1_Vehicles/Honda_CivicTypeR_2018 +Selection.1.47.Weight = 0.15 +Selection.1.48.FName = 1_Vehicles/Honda_Fit_2015 +Selection.1.48.Weight = 0.5 +Selection.1.49.FName = 1_Vehicles/Honda_Odyssey_2014 +Selection.1.49.Weight = 0.5 +Selection.1.50.FName = 1_Vehicles/Honda_Pilot_2016 +Selection.1.50.Weight = 0.5 +Selection.1.51.FName = 1_Vehicles/Honda_Ridgeline_2016 +Selection.1.51.Weight = 0.5 +Selection.1.52.FName = 1_Vehicles/Honda_Ridgeline_2016_Trailer +Selection.1.52.Weight = 0.10 +Selection.1.53.FName = 1_Vehicles/Hymer_ML_I_580_2015 +Selection.1.53.Weight = 0.15 +Selection.1.54.FName = 1_Vehicles/Hyundai_GrandSantaFe_2015 +Selection.1.54.Weight = 0.5 +Selection.1.55.FName = 1_Vehicles/Hyundai_i20_fl_2019 +Selection.1.55.Weight = 0.40 +Selection.1.56.FName = 1_Vehicles/Hyundai_Ioniq_5_2022 +Selection.1.56.Weight = 0.2 +Selection.1.57.FName = 1_Vehicles/Hyundai_Kona_2018 +Selection.1.57.Weight = 0.60 +Selection.1.58.FName = 1_Vehicles/Hyundai_Sonata_2015 +Selection.1.58.Weight = 0.5 +Selection.1.59.FName = 1_Vehicles/IPG_CompanyCar_2018 +Selection.1.59.Weight = 0.05 +Selection.1.60.FName = 1_Vehicles/IPG_CompanyCar_2018_Blue +Selection.1.60.Weight = 0.01 +Selection.1.61.FName = 1_Vehicles/IPG_CompanyCar_2018_Grey +Selection.1.61.Weight = 0.01 +Selection.1.62.FName = 1_Vehicles/IPG_CompanyCar_2018_Right-HandDrive +Selection.1.62.Weight = 0.01 +Selection.1.63.FName = 1_Vehicles/IPG_CompanyCar_2018_Yellow +Selection.1.63.Weight = 0.01 +Selection.1.64.FName = 1_Vehicles/IPG_CompanyTruck_2020 +Selection.1.64.Weight = 0.05 +Selection.1.65.FName = 1_Vehicles/IPG_E-CompanyCar_2022 +Selection.1.65.Weight = 0.01 +Selection.1.66.FName = 1_Vehicles/Iveco_EuroCargo_2015 +Selection.1.66.Weight = 0.20 +Selection.1.67.FName = 1_Vehicles/Iveco_EurotechLN2_1992 +Selection.1.67.Weight = 0.5 +Selection.1.68.FName = 1_Vehicles/Iveco_Evadys_2016 +Selection.1.68.Weight = 0.20 +Selection.1.69.FName = 1_Vehicles/Iveco_Magelys_2013 +Selection.1.69.Weight = 0.15 +Selection.1.70.FName = 1_Vehicles/Iveco_Magelys_2013_Bike_Rack +Selection.1.70.Weight = 0.15 +Selection.1.71.FName = 1_Vehicles/Iveco_Magelys_2013_Skibox +Selection.1.71.Weight = 0.15 +Selection.1.72.FName = 1_Vehicles/Iveco_Stralis500_2012 +Selection.1.72.Weight = 0.20 +Selection.1.73.FName = 1_Vehicles/Iveco_StralisXWAY_2017 +Selection.1.73.Weight = 0.10 +Selection.1.74.FName = 1_Vehicles/Iveco_SWay_2019 +Selection.1.74.Weight = 0.20 +Selection.1.75.FName = 1_Vehicles/Iveco_Trakker_2012_Crane +Selection.1.75.Weight = 0.05 +Selection.1.76.FName = 1_Vehicles/Iveco_Trakker_2013 +Selection.1.76.Weight = 0.1 +Selection.1.77.FName = 1_Vehicles/Jaguar_FType_2017 +Selection.1.77.Weight = 0.10 +Selection.1.78.FName = 1_Vehicles/Jaguar_I-Pace_2019 +Selection.1.78.Weight = 0.12 +Selection.1.79.FName = 1_Vehicles/Jaguar_XType_2009 +Selection.1.79.Weight = 0.20 +Selection.1.80.FName = 1_Vehicles/JGC_Summit_2014 +Selection.1.80.Weight = 0.5 +Selection.1.81.FName = 1_Vehicles/JohnDeere_6250R_2016 +Selection.1.81.Weight = 0.05 +Selection.1.82.FName = 1_Vehicles/JohnDeere_6250R_2016_TrailerHitch +Selection.1.82.Weight = 0.05 +Selection.1.83.FName = 1_Vehicles/Kenworth_T680_2021 +Selection.1.83.Weight = 0.12 +Selection.1.84.FName = 1_Vehicles/KIA_EV6_2022 +Selection.1.84.Weight = 0.25 +Selection.1.85.FName = 1_Vehicles/KIA_Sorento_2015 +Selection.1.85.Weight = 0.5 +Selection.1.86.FName = 1_Vehicles/KIA_Stonic_2018 +Selection.1.86.Weight = 0.60 +Selection.1.87.FName = 1_Vehicles/LandRover_Defender110_2020 +Selection.1.87.Weight = 0.25 +Selection.1.88.FName = 1_Vehicles/LandRover_RangeRover_2014 +Selection.1.88.Weight = 0.40 +Selection.1.89.FName = 1_Vehicles/LandRover_RangeRover_2014_LoadedTrailer +Selection.1.89.Weight = 0.10 +Selection.1.90.FName = 1_Vehicles/LandRover_RangeRover_Evoque_2019 +Selection.1.90.Weight = 0.40 +Selection.1.91.FName = 1_Vehicles/Lexus_CT200h_2015 +Selection.1.91.Weight = 0.65 +Selection.1.92.FName = 1_Vehicles/Lexus_NX300h_2015 +Selection.1.92.Weight = 0.5 +Selection.1.93.FName = 1_Vehicles/Lexus_RCF_2018 +Selection.1.93.Weight = 0.15 +Selection.1.94.FName = 1_Vehicles/LynkCo_01_2016 +Selection.1.94.Weight = 0.35 +Selection.1.95.FName = 1_Vehicles/MAN_TGS_2012 +Selection.1.95.Weight = 0.30 +Selection.1.96.FName = 1_Vehicles/Mazda_CX3_2015 +Selection.1.96.Weight = 0.6 +Selection.1.97.FName = 1_Vehicles/Mazda_CX5_2018 +Selection.1.97.Weight = 0.32 +Selection.1.98.FName = 1_Vehicles/MB_AClass_2018 +Selection.1.98.Weight = 0.70 +Selection.1.99.FName = 1_Vehicles/MB_Actros_8x4_ConcreteMixer +Selection.1.99.Weight = 0.2 +Selection.1.100.FName = 1_Vehicles/MB_Actros_8x4_Dumper +Selection.1.100.Weight = 0.3 +Selection.1.101.FName = 1_Vehicles/MB_Actros_1996 +Selection.1.101.Weight = 0.1 +Selection.1.102.FName = 1_Vehicles/MB_Actros_1996+Trailer +Selection.1.102.Weight = 0.7 +Selection.1.103.FName = 1_Vehicles/MB_Antos_2012_6x2 +Selection.1.103.Weight = 0.60 +Selection.1.104.FName = 1_Vehicles/MB_Antos_2012_6x2_ForkliftCapable +Selection.1.104.Weight = 0.40 +Selection.1.105.FName = 1_Vehicles/MB_Antos_2012_6x2_TransportableForklift_01 +Selection.1.105.Weight = 0.40 +Selection.1.106.FName = 1_Vehicles/MB_Atego_2013_4x2 +Selection.1.106.Weight = 0.70 +Selection.1.107.FName = 1_Vehicles/MB_Atego_2013_Move +Selection.1.107.Weight = 0.70 +Selection.1.108.FName = 1_Vehicles/MB_Atego_2013_Wrecker_01 +Selection.1.108.Weight = 0.20 +Selection.1.109.FName = 1_Vehicles/MB_Atego_2013_Wrecker_02 +Selection.1.109.Weight = 0.20 +Selection.1.110.FName = 1_Vehicles/MB_BClass_2019 +Selection.1.110.Weight = 0.5 +Selection.1.111.FName = 1_Vehicles/MB_CClass_2015 +Selection.1.111.Weight = 0.5 +Selection.1.112.FName = 1_Vehicles/MB_CitaroO345_2005 +Selection.1.112.Weight = 0.3 +Selection.1.113.FName = 1_Vehicles/MB_CitaroO345_2005_Driver +Selection.1.113.Weight = 0.15 +Selection.1.114.FName = 1_Vehicles/MB_EClass_2017 +Selection.1.114.Weight = 0.3 +Selection.1.115.FName = 1_Vehicles/MB_EClass_2017_Taxi +Selection.1.115.Weight = 0.2 +Selection.1.116.FName = 1_Vehicles/MB_Econic_2009_Garbage +Selection.1.116.Weight = 0.05 +Selection.1.117.FName = 1_Vehicles/MB_EQC_2020 +Selection.1.117.Weight = 0.12 +Selection.1.118.FName = 1_Vehicles/MB_EQS_350_2022 +Selection.1.118.Weight = 0.10 +Selection.1.119.FName = 1_Vehicles/MB_GLC_2016 +Selection.1.119.Weight = 0.45 +Selection.1.120.FName = 1_Vehicles/MB_GLC_2016_PEMS +Selection.1.120.Weight = 0.0 +Selection.1.121.FName = 1_Vehicles/MB_GLE_2019 +Selection.1.121.Weight = 0.35 +Selection.1.122.FName = 1_Vehicles/MB_GT_2016 +Selection.1.122.Weight = 0.05 +Selection.1.123.FName = 1_Vehicles/MB_SClass_2015 +Selection.1.123.Weight = 0.2 +Selection.1.124.FName = 1_Vehicles/MB_SClass_2015_Cabriolet +Selection.1.124.Weight = 0.2 +Selection.1.125.FName = 1_Vehicles/MB_SClass_2015_Cabriolet_Driver +Selection.1.125.Weight = 0.15 +Selection.1.126.FName = 1_Vehicles/MB_SClass_2015_Coupe +Selection.1.126.Weight = 0.3 +Selection.1.127.FName = 1_Vehicles/MB_SK_1998_6x4 +Selection.1.127.Weight = 0.3 +Selection.1.128.FName = 1_Vehicles/MB_Sprinter_2013 +Selection.1.128.Weight = 0.90 +Selection.1.129.FName = 1_Vehicles/MB_Sprinter_2013_BBQ +Selection.1.129.Weight = 0.15 +Selection.1.130.FName = 1_Vehicles/MB_Sprinter_2013_Emergency +Selection.1.130.Weight = 0.15 +Selection.1.131.FName = 1_Vehicles/MB_Sprinter_2013_FrozenService +Selection.1.131.Weight = 0.2 +Selection.1.132.FName = 1_Vehicles/MB_Sprinter_2013_Parcel +Selection.1.132.Weight = 0.20 +Selection.1.133.FName = 1_Vehicles/MB_Sprinter_2013_Post +Selection.1.133.Weight = 0.45 +Selection.1.134.FName = 1_Vehicles/MB_Vito_2014 +Selection.1.134.Weight = 0.30 +Selection.1.135.FName = 1_Vehicles/MB_Vito_2014_Construction +Selection.1.135.Weight = 0.1 +Selection.1.136.FName = 1_Vehicles/MB_Vito_2014_Emergency +Selection.1.136.Weight = 0.1 +Selection.1.137.FName = 1_Vehicles/MB_Vito_2014_FireDepartment +Selection.1.137.Weight = 0.1 +Selection.1.138.FName = 1_Vehicles/MB_Vito_2014_Police +Selection.1.138.Weight = 0.1 +Selection.1.139.FName = 1_Vehicles/MB_Vito_2014_Worker +Selection.1.139.Weight = 0.30 +Selection.1.140.FName = 1_Vehicles/MB_XClass_2018 +Selection.1.140.Weight = 0.25 +Selection.1.141.FName = 1_Vehicles/McLaren_MP4_2016 +Selection.1.141.Weight = 0.15 +Selection.1.142.FName = 1_Vehicles/Mitsubishi_OutlanderSport_2016 +Selection.1.142.Weight = 0.5 +Selection.1.143.FName = 1_Vehicles/Mitsubishi_PajeroSport_2018 +Selection.1.143.Weight = 0.25 +Selection.1.144.FName = 1_Vehicles/Navya_Arma_2016 +Selection.1.144.Weight = 0.00 +Selection.1.145.FName = 1_Vehicles/NIO_ES8_2018 +Selection.1.145.Weight = 0.15 +Selection.1.146.FName = 1_Vehicles/Nissan_Murano_2016 +Selection.1.146.Weight = 0.5 +Selection.1.147.FName = 1_Vehicles/Nissan_NV200_2010 +Selection.1.147.Weight = 0.30 +Selection.1.148.FName = 1_Vehicles/Nissan_Qashqai_2019 +Selection.1.148.Weight = 0.3 +Selection.1.149.FName = 1_Vehicles/Opel_AmperaE_2018 +Selection.1.149.Weight = 0.16 +Selection.1.150.FName = 1_Vehicles/Opel_Combo_2015 +Selection.1.150.Weight = 0.4 +Selection.1.151.FName = 1_Vehicles/Opel_Mokka-e_2021 +Selection.1.151.Weight = 0.15 +Selection.1.152.FName = 1_Vehicles/Opel_Mokka-e_2021_GSLine +Selection.1.152.Weight = 0.15 +Selection.1.153.FName = 1_Vehicles/Peugeot_108_2015 +Selection.1.153.Weight = 0.5 +Selection.1.154.FName = 1_Vehicles/Peugeot_207CC_2012 +Selection.1.154.Weight = 0.6 +Selection.1.155.FName = 1_Vehicles/Peugeot_3008_2016 +Selection.1.155.Weight = 0.55 +Selection.1.156.FName = 1_Vehicles/Piaggio_ApeTM_2016 +Selection.1.156.Weight = 0.05 +Selection.1.157.FName = 1_Vehicles/Piaggio_VespaGTS_2016_Traffic_Driver +Selection.1.157.Weight = 0.1 +Selection.1.158.FName = 1_Vehicles/Polestar_2_2019 +Selection.1.158.Weight = 0.3 +Selection.1.159.FName = 1_Vehicles/Porsche_911Turbo_2012 +Selection.1.159.Weight = 0.1 +Selection.1.160.FName = 1_Vehicles/Porsche_CayenneS_2011_Hybrid +Selection.1.160.Weight = 0.36 +Selection.1.161.FName = 1_Vehicles/Porsche_MacanS_2014 +Selection.1.161.Weight = 0.15 +Selection.1.162.FName = 1_Vehicles/Porsche_TaycanTurboS_2020 +Selection.1.162.Weight = 0.10 +Selection.1.163.FName = 1_Vehicles/Renault_Captur_2016 +Selection.1.163.Weight = 0.7 +Selection.1.164.FName = 1_Vehicles/Renault_Espace_2015 +Selection.1.164.Weight = 0.5 +Selection.1.165.FName = 1_Vehicles/Renault_Kadjar_2016 +Selection.1.165.Weight = 0.55 +Selection.1.166.FName = 1_Vehicles/Renault_Magnum_2006 +Selection.1.166.Weight = 0.05 +Selection.1.167.FName = 1_Vehicles/Renault_Magnum_2006+Trailer +Selection.1.167.Weight = 0.6 +Selection.1.168.FName = 1_Vehicles/Renault_Megane_2016 +Selection.1.168.Weight = 0.7 +Selection.1.169.FName = 1_Vehicles/Roewe_RX5_2015 +Selection.1.169.Weight = 0.50 +Selection.1.170.FName = 1_Vehicles/Scania_P230_2011_RoadSweeper +Selection.1.170.Weight = 0.05 +Selection.1.171.FName = 1_Vehicles/Scania_R730_2010_01 +Selection.1.171.Weight = 0.1 +Selection.1.172.FName = 1_Vehicles/Scania_R730_2010_01+Trailer_01 +Selection.1.172.Weight = 0.7 +Selection.1.173.FName = 1_Vehicles/Scania_R730_2010_02 +Selection.1.173.Weight = 0.2 +Selection.1.174.FName = 1_Vehicles/Scania_R730_2010_02+Trailer_02 +Selection.1.174.Weight = 0.7 +Selection.1.175.FName = 1_Vehicles/Scania_R730_2010_02_CabinLights +Selection.1.175.Weight = 0.2 +Selection.1.176.FName = 1_Vehicles/Scania_R730_2010_03 +Selection.1.176.Weight = 0.2 +Selection.1.177.FName = 1_Vehicles/Scania_R730_2010_03+Trailer_04 +Selection.1.177.Weight = 0.5 +Selection.1.178.FName = 1_Vehicles/Scania_R730_2010_03+Trailer_05 +Selection.1.178.Weight = 0.3 +Selection.1.179.FName = 1_Vehicles/Scania_R730_2010_03+Trailer_06 +Selection.1.179.Weight = 0.3 +Selection.1.180.FName = 1_Vehicles/Scania_R730_2010_03+Trailer_07 +Selection.1.180.Weight = 0.2 +Selection.1.181.FName = 1_Vehicles/Seat_Arona_2019 +Selection.1.181.Weight = 0.30 +Selection.1.182.FName = 1_Vehicles/Seat_LeonST_2015 +Selection.1.182.Weight = 0.40 +Selection.1.183.FName = 1_Vehicles/Seat_LeonST_2015_PEMS +Selection.1.183.Weight = 0.0 +Selection.1.184.FName = 1_Vehicles/Seat_Tarraco_2019 +Selection.1.184.Weight = 0.28 +Selection.1.185.FName = 1_Vehicles/Setra_S531DT_2018 +Selection.1.185.Weight = 0.10 +Selection.1.186.FName = 1_Vehicles/Setra_S531DT_2018_Bike_Rack +Selection.1.186.Weight = 0.10 +Selection.1.187.FName = 1_Vehicles/Setra_S531DT_2018_Skibox +Selection.1.187.Weight = 0.10 +Selection.1.188.FName = 1_Vehicles/Skoda_Karoq_2018 +Selection.1.188.Weight = 0.50 +Selection.1.189.FName = 1_Vehicles/Skoda_Scala_2019 +Selection.1.189.Weight = 0.3 +Selection.1.190.FName = 1_Vehicles/Skoda_Superb_2016_Combi +Selection.1.190.Weight = 0.75 +Selection.1.191.FName = 1_Vehicles/Skoda_Superb_2016_Combi_BikeRack +Selection.1.191.Weight = 0.15 +Selection.1.192.FName = 1_Vehicles/Skoda_Superb_2016_Combi_RoofBox +Selection.1.192.Weight = 0.2 +Selection.1.193.FName = 1_Vehicles/Suzuki_Demo_Traffic_Driver +Selection.1.193.Weight = 0.1 +Selection.1.194.FName = 1_Vehicles/Suzuki_Vitara_2015 +Selection.1.194.Weight = 0.5 +Selection.1.195.FName = 1_Vehicles/Tesla_Model3_2019 +Selection.1.195.Weight = 0.30 +Selection.1.196.FName = 1_Vehicles/Tesla_S_2016 +Selection.1.196.Weight = 0.05 +Selection.1.197.FName = 1_Vehicles/Toyota_Camry_2018 +Selection.1.197.Weight = 0.40 +Selection.1.198.FName = 1_Vehicles/Toyota_RAV4_2019 +Selection.1.198.Weight = 0.20 +Selection.1.199.FName = 1_Vehicles/Trumpchi_GE3_2017 +Selection.1.199.Weight = 0.45 +Selection.1.200.FName = 1_Vehicles/Trumpchi_GS8_2016 +Selection.1.200.Weight = 0.40 +Selection.1.201.FName = 1_Vehicles/Volkner_MobilPerformancePerfection_2019 +Selection.1.201.Weight = 0.05 +Selection.1.202.FName = 1_Vehicles/Volvo_FH16_750_2020 +Selection.1.202.Weight = 0.2 +Selection.1.203.FName = 1_Vehicles/Volvo_FH_2012 +Selection.1.203.Weight = 0.05 +Selection.1.204.FName = 1_Vehicles/Volvo_FH_2012+LowLoader_Trailer +Selection.1.204.Weight = 0.6 +Selection.1.205.FName = 1_Vehicles/Volvo_FH_2012+Semi_Trailer +Selection.1.205.Weight = 0.6 +Selection.1.206.FName = 1_Vehicles/Volvo_FH_2012+Silo_Trailer +Selection.1.206.Weight = 0.35 +Selection.1.207.FName = 1_Vehicles/Volvo_S60_2019 +Selection.1.207.Weight = 0.31 +Selection.1.208.FName = 1_Vehicles/Volvo_Vera_2018 +Selection.1.208.Weight = 0.15 +Selection.1.209.FName = 1_Vehicles/Volvo_VNL300_2018 +Selection.1.209.Weight = 0.12 +Selection.1.210.FName = 1_Vehicles/Volvo_XC90_2016 +Selection.1.210.Weight = 0.45 +Selection.1.211.FName = 1_Vehicles/Volvo_XC90_2016_Driver +Selection.1.211.Weight = 0.15 +Selection.1.212.FName = 1_Vehicles/VW_Beetle_2012 +Selection.1.212.Weight = 0.7 +Selection.1.213.FName = 1_Vehicles/VW_Beetle_2012_Blue +Selection.1.213.Weight = 0.7 +Selection.1.214.FName = 1_Vehicles/VW_Beetle_2012_DemoCar +Selection.1.214.Weight = 0.0 +Selection.1.215.FName = 1_Vehicles/VW_ID3_2020 +Selection.1.215.Weight = 0.30 +Selection.1.216.FName = 1_Vehicles/VW_Passat_B8_Sedan_2014 +Selection.1.216.Weight = 0.30 +Selection.1.217.FName = 1_Vehicles/VW_PassatVariant_2014 +Selection.1.217.Weight = 0.70 +Selection.1.218.FName = 1_Vehicles/VW_T6_2016 +Selection.1.218.Weight = 0.55 +Selection.1.219.FName = 1_Vehicles/VW_T6_2016_Taxi +Selection.1.219.Weight = 0.2 +Selection.1.220.FName = 1_Vehicles/VW_Transporter_2016 +Selection.1.220.Weight = 0.30 +Selection.1.221.FName = 1_Vehicles/VW_Transporter_MWS_2016_Traffic +Selection.1.221.Weight = 0.15 +Selection.1.222.FName = 1_Vehicles/Toyota_Prius_Hybrid_2019 +Selection.1.222.Weight = 0.3 diff --git a/src/__tests__/infofiles/Traffic_Car_Generic_Aggressive_CM9 b/src/__tests__/infofiles/Traffic_Car_Generic_Aggressive_CM9 new file mode 100644 index 0000000..cd7e2ba --- /dev/null +++ b/src/__tests__/infofiles/Traffic_Car_Generic_Aggressive_CM9 @@ -0,0 +1,25 @@ +#INFOFILE1.1 - Do not remove this line! +FileIdent = CarMaker-TrafficAutoDriver 9 +FileCreator = CarMaker 9.0 +ObjectClassType = 1 0 +Long.Kind = Generic +Long.Gen.DistPreview = 200.0 +Long.Gen.DistStand = 1.5 +Long.Gen.AccMax = 4.0 +Long.Gen.DecComf = -3.0 +Long.Gen.PCtrlSpd = 0.55 +Long.Gen.TimeGap = 1.0 +Long.Gen.TAdaptDist = 2.0 +Long.Gen.TAdaptRelSpd_low = 1.5 +Long.Gen.TAdaptRelSpd_high = 0.8 +Long.Gen.RelSpdRef = 1.0 +Long.Gen.DecMax = -10.0 +Long.CPV.AccLatMax = 5.0 +Long.Merge.Cautious = 0.25 +Long.Junction.Param = 0.20 0.10 0.10 +Long.ConsiderRoadElm = 1 1 1 +Lat.Kind = HDMbased +Lat.HDMbased.Mode = 1 1 +Lat.HDMbased.Param = 0.20 0.30 0.70 0.30 0.30 0.30 +Lat.HDMbased.AsymMode = ByCountry +SDweight = 0.2 diff --git a/src/__tests__/infofiles/Trailer_CM9 b/src/__tests__/infofiles/Trailer_CM9 new file mode 100644 index 0000000..8966f13 --- /dev/null +++ b/src/__tests__/infofiles/Trailer_CM9 @@ -0,0 +1,216 @@ +#INFOFILE1.1 (UTF-8) - Do not remove this line! +FileIdent = CarMaker-Trailer 9 +FileCreator = CarMaker 9.0 TEMPLATE + + +## Assembly ############################################################## + +RefPointInputSystem = 0.0 0.0 0.0 +Description: + Typical, unvalidated data for 1-axle small classic trailer + Tire: RT_165_70R13 + +Virtual.PoA = -2.000 0.000 0.682 +Hitch2.System = +Hitch2.pos = 0.0 0.0 -1.0 + +Pvt.Bdy.mass = 0.0 +Pvt.Bdy.I = 0.0 0.0 0.0 -0.0 -0.0 -0.0 +Pvt.Bdy.pos = 0.0 0.0 0.0 +Drw.Bdy.mass = 0.0 +Drw.Bdy.I = 0.0 0.0 0.0 -0.0 -0.0 -0.0 +Drw.Bdy.pos = 0.0 0.0 0.0 +WheelCarrier.fl.mass = 8.0 +WheelCarrier.fl.I = 0.15 0.15 0.15 -0.0 -0.0 -0.0 +WheelCarrier.fl.pos = -2.0 0.6 0.235 +WheelCarrier.fr.mass = 8.0 +WheelCarrier.fr.I = 0.15 0.15 0.15 -0.0 -0.0 -0.0 +WheelCarrier.fr.pos = -2.0 -0.6 0.235 +Wheel.fl.mass = 15.0 +Wheel.fl.I = 0.25 0.8 0.25 +Wheel.fl.pos = -2.0 0.6 0.235 +Wheel.fr.mass = 15.0 +Wheel.fr.I = 0.25 0.8 0.25 +Wheel.fr.pos = -2.0 -0.6 0.235 + +TrimLoad.0.mass = 0 +TrimLoad.0.I = 0 0 0 +TrimLoad.0.pos = 0 0 0 +TrimLoad.0.mounted = Fr1A +TrimLoad.0.RefFr = FrD +TrimLoad.0.name = Trim Load 0 +TrimLoad.1.mass = 0 +TrimLoad.1.I = 0 0 0 +TrimLoad.1.pos = 0 0 0 +TrimLoad.1.mounted = Fr1A +TrimLoad.1.RefFr = FrD +TrimLoad.1.name = Trim Load 1 + +Assembly.Comment: + + +## Body ################################################################## + +VehicleModel = Semi_1Axle +nAxle = 1 +VehicleModel.Kind = RigidBody +VehicleModel.Mode = BodyA +Body.mass = 300 +Body.I = 100 300 500 -0.0 -0.0 -0.0 +Body.pos = -2.0 0.0 0.75 +Flex.JointFr1Fr1B.pos = -2.0 0.0 0.75 +Flex.JointFr1Fr1B.Kind = Coeff +Flex.JointFr1Fr1B.k.x = 5000.0 +Flex.JointFr1Fr1B.k.y = 15000.0 +Flex.JointFr1Fr1B.k.x.Amplify = 1.0 +Flex.JointFr1Fr1B.k.y.Amplify = 1.0 +Flex.JointFr1Fr1B.d.x = 100.0 +Flex.JointFr1Fr1B.d.y = 100.0 +Flex.JointFr1Fr1B.d.x.Amplify = 1.0 +Flex.JointFr1Fr1B.d.y.Amplify = 1.0 + +Movie.Skin.FName = +Picture.PicFName = +Vehicle.OuterSkin = -3.0 0.5 0.40 -1.0 -0.5 1.00 +ArticulationAngle_max = 70.0 + +Aero.Kind = Coeff6x1 1 +Aero.Marker.pos = -1.0 0.0 0.5 +Aero.pos = -1.5 0.0 0.5 +Aero.Ax = 1.5 +Aero.lReference = 2.00 +Aero.Crosswind.Kind = Step +Aero.Coeff: + -180 -0.55 0 0.2 0 -0.15 0 + -160 -0.6 -1.0 0.35 -0.35 -0.25 0.15 + -140 -0.5 -1.4 0.5 -0.5 -0.3 0.14 + -120 -0.3 -1.6 0.55 -0.6 -0.25 0.11 + -100 -0.1 -1.7 0.6 -0.65 -0.1 0.05 + -80 0.1 -1.7 0.6 -0.65 0.1 -0.05 + -60 0.3 -1.6 0.55 -0.6 0.25 -0.11 + -40 0.5 -1.4 0.5 -0.5 0.3 -0.14 + -20 0.61 -0.95 0.43 -0.37 0.24 -0.15 + -17.5 0.63 -0.83 0.40 -0.33 0.23 -0.14 + -15 0.63 -0.72 0.35 -0.28 0.22 -0.12 + -12.5 0.61 -0.60 0.30 -0.23 0.21 -0.1 + -10 0.59 -0.47 0.25 -0.18 0.2 -0.08 + -7.5 0.58 -0.34 0.20 -0.13 0.18 -0.06 + -5 0.56 -0.23 0.21 -0.08 0.17 -0.04 + -2.5 0.54 -0.12 0.23 -0.04 0.16 -0.02 + 0 0.53 0 0.21 0 0.15 0 + 2.5 0.54 0.12 0.23 0.04 0.16 0.02 + 5 0.56 0.23 0.21 0.08 0.17 0.04 + 7.5 0.58 0.34 0.20 0.13 0.18 0.06 + 10 0.59 0.47 0.25 0.18 0.2 0.08 + 12.5 0.61 0.60 0.30 0.23 0.21 0.1 + 15 0.63 0.72 0.35 0.28 0.22 0.12 + 17.5 0.63 0.83 0.40 0.33 0.23 0.14 + 20 0.61 0.95 0.43 0.37 0.24 0.15 + 40 0.5 1.4 0.5 0.5 0.3 0.14 + 60 0.3 1.6 0.55 0.6 0.25 0.11 + 80 0.1 1.7 0.6 0.65 0.1 0.05 + 100 -0.1 1.7 0.6 0.65 -0.1 -0.05 + 120 -0.3 1.6 0.55 0.6 -0.25 -0.11 + 140 -0.5 1.4 0.5 0.5 -0.3 -0.14 + 160 -0.6 1.0 0.35 0.35 -0.25 -0.15 + 180 -0.55 0 0.2 0 -0.15 0 + +Vhclbody.Comment: + + +## Suspensions ########################################################### +SuspF.Spring.Kind = Hookean 1 +SuspF.Spring.Amplify = 1 +SuspF.Spring = 50000 +SuspF.Parasitic.Stiffness.Kind = +SuspF.Parasitic.Friction.Kind = +SuspF.Damper.Kind = Newtonian 1 +SuspF.Damp_Push.Amplify = 1.0 +SuspF.Damp_Push = 5000 +SuspF.Damp_Pull.Amplify = 1.0 +SuspF.Damp_Pull = 5000 +SuspF.Buffer.Kind = Hookean 1 +SuspF.Buf_Push.tz0 = 0.1 +SuspF.Buf_Push.Amplify = 1.0 +SuspF.Buf_Push = 50000.0 +SuspF.Buf_Pull.tz0 = -0.1 +SuspF.Buf_Pull.Amplify = 1.0 +SuspF.Buf_Pull = 50000.0 +SuspF.Stabi.Kind = Hookean 1 +SuspF.Stabi.Amplify = 1.0 +SuspF.Stabi = 0.0 +SuspF.Kin.N = 1 +SuspF.Com.N = 0 +SuspF.Kin.0.Kind = Sleeve 1 +SuspF.Kin.0.L.Camber = 0 +SuspF.Kin.0.L.Toe = 0.0087 +SuspF.WhlBearing.On = 0 +SuspExtFrcs.Kind = +SuspControl.Kind = +Susp.Comment: + + +## Tires ################################################################# +Tire.0 = Examples/RT_165_70R13 +Tire.1 = Examples/RT_165_70R13 +AxleF.TwinTiresOn = 0 +AxleF.Lift.Active = 0 +Tires.Comment: + + +## Hitch ################################################################# +Hitch.Kind = Ball +Hitch.System = Ball +Hitch.pos = 0.0 0.0 0.40 +Hitch.On = 0 +Hitch.Comment: + + +## Brake ################################################################# +Brake.Kind = +Brake.Comment: + +## Sensor Parametrizations ############################################### +Sensor.Param.0.Type = SAngle +Sensor.Param.0.FName = +Sensor.Param.0.Name = SL_Param +Sensor.Param.N = 1 +Sensor.Comment: + + +## Sensor Cluster ######################################################## +SensorCluster.N = 0 + + +## Sensor Instances ###################################################### +Sensor.N = 1 +Sensor.0.name = TrSS00 +Sensor.0.rot = 0.0 0.0 0.0 +Sensor.0.pos = -2.0 0.0 0.5 +Sensor.0.Visualization = 1 +Sensor.0.VisColor = 0.0 0.0 0.0 +Sensor.0.Mounting = Fr1A +Sensor.0.Active = 1 +Sensor.0.Ref.Param = 0 +Sensor.0.Ref.Cluster = + + +## Show ################################################################## +Crypto.Show: + Picture.PicFName + Movie.Skin.FName + Vehicle.OuterSkin + nAxle + Brake.Kind + Brake.FName + CM4SL.ActivateFcn + CM4SL.StartFcn + CM4SL.StopFcn + Sensor.N + Sensor.0.Active + Sensor.0.Ref.Cluster + SensorCluster.N +Crypto.AllowAccess: + GenericPlugin + +Additional.Comment: diff --git a/src/__tests__/isValidInfoFile.test.js b/src/__tests__/isValidInfoFile.test.js index f5a1541..c89aba1 100644 --- a/src/__tests__/isValidInfoFile.test.js +++ b/src/__tests__/isValidInfoFile.test.js @@ -1,39 +1,71 @@ const { isValidInfoFile } = require("../isValidInfoFile"); const path = require("path"); -// get the path to the test car info file +// get the path to the test car info file CM10+ const relativePathCarInfoFile = "./infofiles/DemoCar"; const fileCar = path.resolve(__dirname, relativePathCarInfoFile); -// get the path to the test motorcycle info file +// get the path to the test car info file CM9 +const relativePathCarInfoFileCM9 = "./infofiles/DemoCar_CM9"; +const fileCarCM9 = path.resolve(__dirname, relativePathCarInfoFileCM9); + +// get the path to the test motorcycle info file CM10+ const relativePathMotorcycleInfoFile = "./infofiles/DemoMC_LinearMotorcycle"; -const fileMotorcycle = path.resolve(__dirname, relativePathMotorcycleInfoFile); +const fileMotorcycle = path.resolve(__dirname, relativePathMotorcycleInfoFile); // get the path to the test motorcycle info file + +// get the path to the test motorcycle info file CM9 +const relativePathMotorcycleInfoFileCM9 = + "./infofiles/DemoMC_LinearMotorcycle_CM9"; +const fileMotorcycleCM9 = path.resolve( + __dirname, + relativePathMotorcycleInfoFileCM9 +); -// get the path to the test truck info file +// get the path to the test truck info file CM10+ const relativePathTruckInfoFile = "./infofiles/Demo3AxleCoachTruck"; const fileTruck = path.resolve(__dirname, relativePathTruckInfoFile); -// get the path to the test truck info file +// get the path to the test truck info file CM9 +const relativePathTruckInfoFileCM9 = "./infofiles/Demo3AxleCoachTruck_CM9"; +const fileTruckCM9 = path.resolve(__dirname, relativePathTruckInfoFileCM9); + +// get the path to the test truck info file CM10+ const relativePathTestRunInfoFile = "./infofiles/BackAndForthTestRun"; const fileTestRun = path.resolve(__dirname, relativePathTestRunInfoFile); +// get the path to the test truck info file CM9 +const relativePathTestRunInfoFileCM9 = "./infofiles/BackAndForthTestRun_CM9"; +const fileTestRunCM9 = path.resolve(__dirname, relativePathTestRunInfoFileCM9); + // get the path to the road info file const relativePathRoadInfoFile = "./infofiles/DEU_Hockenheim.rd5"; const fileRoad = path.resolve(__dirname, relativePathRoadInfoFile); -// get the path to the test trailer info file +// get the path to the road info file CM9 +const relativePathRoadInfoFileCM9 = "./infofiles/DEU_Hockenheim_CM9.rd5"; +const fileRoadCM9 = path.resolve(__dirname, relativePathRoadInfoFileCM9); + +// get the path to the test trailer info file CM10+ const relativePathTrailerInfoFile = "./infofiles/Trailer"; const fileTrailer = path.resolve(__dirname, relativePathTrailerInfoFile); +// get the path to the test trailer info file CM9 +const relativePathTrailerInfoFileCM9 = "./infofiles/Trailer_CM9"; +const fileTrailerCM9 = path.resolve(__dirname, relativePathTrailerInfoFileCM9); + // get the path to the test tire info file const relativePathTireInfoFile = "./infofiles/DT_CM4SL_UserTire"; const fileTire = path.resolve(__dirname, relativePathTireInfoFile); -// get the path to the test ego vehicle's driver info file +// get the path to the test ego vehicle's driver info file CM10+ const relativePathDriverInfoFile = "./infofiles/Car_Aggressive"; const fileDriver = path.resolve(__dirname, relativePathDriverInfoFile); -// get the path to the test traffic behavior info file +// get the path to the test ego vehicle's driver info file CM9 +const relativePathDriverInfoFileCM9 = "./infofiles/Car_Aggressive_CM9"; +const fileDriverCM9 = path.resolve(__dirname, relativePathDriverInfoFileCM9); + +// get the path to the test traffic behavior info file CM10+ const relativePathTrafficBehaviorInfoFile = "./infofiles/DefaultTrafficBehavior"; const fileTrafficBehavior = path.resolve( @@ -41,7 +73,15 @@ const fileTrafficBehavior = path.resolve( relativePathTrafficBehaviorInfoFile ); -// get the path to the test traffic driver info file +// get the path to the test traffic behavior info fileCM9 +const relativePathTrafficBehaviorInfoFileCM9 = + "./infofiles/DefaultTrafficBehavior_CM9"; +const fileTrafficBehaviorCM9 = path.resolve( + __dirname, + relativePathTrafficBehaviorInfoFileCM9 +); + +// get the path to the test traffic driver info file CM10+ const relativePathTrafficDriverInfoFile = "./infofiles/Traffic_Car_Generic_Aggressive"; const fileTrafficDriver = path.resolve( @@ -49,20 +89,44 @@ const fileTrafficDriver = path.resolve( relativePathTrafficDriverInfoFile ); -// get the path to the test traffic template info file +// get the path to the test traffic driver info file CM9 +const relativePathTrafficDriverInfoFileCM9 = + "./infofiles/Traffic_Car_Generic_Aggressive_CM9"; +const fileTrafficDriverCM9 = path.resolve( + __dirname, + relativePathTrafficDriverInfoFileCM9 +); + +// get the path to the test traffic template info file CM10+ const relativePathTrafficTemplateInfoFile = "./infofiles/IPG_CompanyCar_2018"; const fileTrafficTemplate = path.resolve( __dirname, relativePathTrafficTemplateInfoFile ); -// get the path to the test saved selections info file +// get the path to the test traffic template info file +const relativePathTrafficTemplateInfoFileCM9 = + "./infofiles/IPG_CompanyCar_2018_CM9"; +const fileTrafficTemplateCM9 = path.resolve( + __dirname, + relativePathTrafficTemplateInfoFileCM9 +); + +// get the path to the test saved selections info file CM10+ const relativePathSavedSelectionsInfoFile = "./infofiles/SavedSelections"; const fileSavedSelections = path.resolve( __dirname, relativePathSavedSelectionsInfoFile ); +// get the path to the test saved selections info file CM9 +const relativePathSavedSelectionsInfoFileCM9 = + "./infofiles/SavedSelections_CM9"; +const fileSavedSelectionsCM9 = path.resolve( + __dirname, + relativePathSavedSelectionsInfoFileCM9 +); + // get the path to the test user driver info file const relativePathUserDriverInfoFile = "./infofiles/MyUserDriver"; const fileUserDriver = path.resolve(__dirname, relativePathUserDriverInfoFile); @@ -87,13 +151,20 @@ const fileDataDict = path.resolve(__dirname, relativePathDataDictInfoFile); const relativePathGPUConfigInfoFile = "./infofiles/GPUConfiguration_MultiGPU"; const fileGPUConfig = path.resolve(__dirname, relativePathGPUConfigInfoFile); -// get the path to the test PTBattery-BattECM info file +// get the path to the test PTBattery-BattECM info file CM10+ const relativePathPTBatteryBattECMInfoFile = "./infofiles/BattECM_basic"; const filePTBatteryBattECM = path.resolve( __dirname, relativePathPTBatteryBattECMInfoFile ); +// get the path to the test PTBattery-BattECM info file CM9 +const relativePathPTBatteryBattECMInfoFileCM9 = "./infofiles/BattECM_basic_CM9"; +const filePTBatteryBattECMCM9 = path.resolve( + __dirname, + relativePathPTBatteryBattECMInfoFileCM9 +); + // get the path to the test air brake info file const relativePathAirBrakeInfoFile = "./infofiles/Demo1AxleTrailerAirbrake"; const fileAirBrake = path.resolve(__dirname, relativePathAirBrakeInfoFile); @@ -125,36 +196,70 @@ const tempFile = path.resolve(__dirname, relativePathTempFile); describe("isValidInfoFile tests", () => { test.each([ { testFile: fileCar, testType: "Vehicle", text: "Car" }, + { testFile: fileCarCM9, testType: "Vehicle", text: "CarCM9" }, { testFile: fileMotorcycle, testType: "Vehicle", text: "Motorcycle" }, + { testFile: fileMotorcycleCM9, testType: "Vehicle", text: "MotorcycleCM9" }, { testFile: fileTruck, testType: "Vehicle", text: "Truck" }, + { testFile: fileTruckCM9, testType: "Vehicle", text: "TruckCM9" }, { testFile: fileCar, testType: "Car", text: "Car" }, + { testFile: fileCarCM9, testType: "Car", text: "CarCM9" }, { testFile: fileMotorcycle, testType: "Motorcycle", text: "Motorcycle" }, + { + testFile: fileMotorcycleCM9, + testType: "Motorcycle", + text: "MotorcycleCM9", + }, { testFile: fileTruck, testType: "Truck", text: "Truck" }, + { testFile: fileTruckCM9, testType: "Truck", text: "TruckCM9" }, { testFile: fileTestRun, testType: "TestRun", text: "TestRun" }, + { testFile: fileTestRunCM9, testType: "TestRun", text: "TestRunCM9" }, { testFile: fileRoad, testType: "Road", text: "Road" }, + { testFile: fileRoadCM9, testType: "Road", text: "RoadCM9" }, { testFile: fileTrailer, testType: "Trailer", text: "Trailer" }, + { testFile: fileTrailerCM9, testType: "Trailer", text: "TrailerCM9" }, { testFile: fileTire, testType: "Tire", text: "Tire" }, { testFile: fileDriver, testType: "Driver", text: "Driver" }, + { testFile: fileDriverCM9, testType: "Driver", text: "DriverCM9" }, { testFile: fileTrafficBehavior, testType: "TrafficBehavior", text: "TrafficBehavior", }, + { + testFile: fileTrafficBehaviorCM9, + testType: "TrafficBehavior", + text: "TrafficBehaviorCM9", + }, { testFile: fileTrafficDriver, testType: "TrafficDriver", text: "TrafficDriver", }, + { + testFile: fileTrafficDriverCM9, + testType: "TrafficDriver", + text: "TrafficDriverCM9", + }, { testFile: fileTrafficTemplate, testType: "TrafficTemplate", text: "TrafficTemplate", }, + { + testFile: fileTrafficTemplateCM9, + testType: "TrafficTemplate", + text: "TrafficTemplateCM9", + }, { testFile: fileSavedSelections, testType: "SavedSelections", text: "SavedSelections", }, + { + testFile: fileSavedSelectionsCM9, + testType: "SavedSelections", + text: "SavedSelectionsCM9", + }, { testFile: fileUserDriver, testType: "UserDriver", text: "UserDriver" }, { testFile: fileSkc, @@ -174,6 +279,11 @@ describe("isValidInfoFile tests", () => { testType: "PTBattery-BattECM", text: "PTBattery-BattECM", }, + { + testFile: filePTBatteryBattECMCM9, + testType: "PTBattery-BattECM", + text: "PTBattery-BattECM_CM9", + }, { testFile: fileAirBrake, testType: "AirBrake", text: "AirBrake" }, { testFile: fileHydESP, testType: "HydESP", text: "HydESP" }, { testFile: fileHydIPB, testType: "HydIPB", text: "HydIPB" }, From 67e81d9b71d506b152fea8769a11f2a88d3a6521 Mon Sep 17 00:00:00 2001 From: Matthew Corner Date: Tue, 2 Apr 2024 15:09:59 +0100 Subject: [PATCH 3/3] Simplify code --- src/isValidInfoFile.js | 78 +++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 50 deletions(-) diff --git a/src/isValidInfoFile.js b/src/isValidInfoFile.js index f55e54c..500395a 100644 --- a/src/isValidInfoFile.js +++ b/src/isValidInfoFile.js @@ -58,86 +58,64 @@ function isValidInfoFile({ file, type }) { const fileIdent = infofile.getString("FileIdent"); if (!type) { - return fileIdent.match(/^IPGRoad.+$/) || - fileIdent.match(/^CarMaker-.+$/) || - fileIdent.match(/^GUI-.+$/) - ? true - : false; + return fileIdent.length > 0; } // looks for the appropriate condition to validate the infofile based on the provided type switch (type) { // regex match for possible vehicle types in the FileIdent property of the infofile case "Vehicle": - return fileIdent.match(/^CarMaker-Car\s\d{1}/) || - fileIdent.match(/^CarMaker-Truck\s\d{1}/) || - fileIdent.match(/^CarMaker-Motorcycle\s\d{1}/) - ? true - : false; + return /^CarMaker-Truck\s\d*|^CarMaker-Car\s\d*|^CarMaker-Motorcycle\s\d*$/.test( + fileIdent + ); case "Car": - return fileIdent.match(/^CarMaker-Car\s\d{1}/) ? true : false; + return /^CarMaker-Car\s\d*$/.test(fileIdent); case "Motorcycle": - return fileIdent.match(/^CarMaker-Motorcycle\s\d{1}/) ? true : false; + return /^CarMaker-Motorcycle\s\d*$/.test(fileIdent); case "Truck": - return fileIdent.match(/^CarMaker-Truck\s\d{1}/) ? true : false; - // regex match for TestRun in the FileIdent property of the infofile + return /^CarMaker-Truck\s\d*$/.test(fileIdent); case "TestRun": - return fileIdent.match(/^CarMaker-TestRun\s\d{1}/) ? true : false; + return /^CarMaker-TestRun\s\d*$/.test(fileIdent); case "Road": - //regex pattern search for Roadfile - return fileIdent.match(/^IPGRoad.+$/) ? true : false; + return /^IPGRoad.+/.test(fileIdent); case "Trailer": - return fileIdent.match(/^CarMaker-Trailer\s\d{1}/) ? true : false; + return /^CarMaker-Trailer\s\d*$/.test(fileIdent); case "Tire": - return fileIdent.match(/^CarMaker-Tire-.+$/) ? true : false; + return /^CarMaker-Tire-.+/.test(fileIdent); case "Driver": - return fileIdent.match(/^CarMaker-DriverTemplate\s\d{1}/) - ? true - : false; + return /^CarMaker-DriverTemplate\s\d*/.test(fileIdent); case "TrafficBehavior": - return fileIdent.match(/^CarMaker-TrafficGenDriverBehavior\s\d{1}/) - ? true - : false; + return /^CarMaker-TrafficGenDriverBehavior\s\d*/.test(fileIdent); case "TrafficDriver": - return fileIdent.match(/^CarMaker-TrafficAutoDriver\s\d{1}/) - ? true - : false; + return /^CarMaker-TrafficAutoDriver\s\d*/.test(fileIdent); case "TrafficTemplate": - return fileIdent.match(/^CarMaker-TrafficTemplate\s\d{1}/) - ? true - : false; + return /^CarMaker-TrafficTemplate\s\d*/.test(fileIdent); case "SavedSelections": - return fileIdent.match(/^GUI-SavedSelections\s\d{1}/) ? true : false; + return /^GUI-SavedSelections\s\d*/.test(fileIdent); case "UserDriver": - return fileIdent.match(/^CarMaker-UserDriver-.+$/) ? true : false; + return /^CarMaker-UserDriver-.+/.test(fileIdent); case "SuspensionKinematics-skc": - return fileIdent.match(/^CarMaker-SuspKnC-\*\s.+$/) ? true : false; + return /^CarMaker-SuspKnC-\*\s.+/.test(fileIdent); case "SuspensionKinematics-mbs": - return fileIdent.match(/^CarMaker-SuspKnC-[^*]/) ? true : false; + return /^CarMaker-SuspKnC-[^*]/.test(fileIdent); case "ADTF": - return fileIdent.match(/^CarMaker-ADTF\s.+$/) ? true : false; + return /^CarMaker-ADTF\s.+$/.test(fileIdent); case "DataDict": - return fileIdent.match(/^CarMaker-DataDict\s.+$/) ? true : false; + return /^CarMaker-DataDict\s.+$/.test(fileIdent); case "GPUConfig": - return fileIdent.match(/^CarMaker-GPUConfig\s.+$/) ? true : false; + return /^CarMaker-GPUConfig\s.+$/.test(fileIdent); case "PTBattery-BattECM": - return fileIdent.match(/^CarMaker-PTBattery-BattECM\s\d{1}/) - ? true - : false; + return /^CarMaker-PTBattery-BattECM\s\d*/.test(fileIdent); case "AirBrake": - return fileIdent.match(/^CarMaker-AirBrakeSystem-.+$/) ? true : false; + return /^CarMaker-AirBrakeSystem-.+$/.test(fileIdent); case "HydESP": - return fileIdent.match(/^CarMaker-HydBrakeSystem-HydESP\s.+$/) - ? true - : false; + return /^CarMaker-HydBrakeSystem-HydESP\s.+$/.test(fileIdent); case "HydIPB": - return fileIdent.match(/^CarMaker-HydBrakeSystem-HydIPB\s.+$/) - ? true - : false; + return /^CarMaker-HydBrakeSystem-HydIPB\s.+$/.test(fileIdent); case "Suspension": - return fileIdent.match(/^CarMaker-Susp_.+$/) ? true : false; + return /^CarMaker-Susp_.+$/.test(fileIdent); case "SuspensionControl": - return fileIdent.match(/^CarMaker-SuspControl.+$/) ? true : false; + return /^CarMaker-SuspControl.+$/.test(fileIdent); default: return false; }