FrogPilot 0.9.7

This commit is contained in:
FrogAi
2024-06-27 10:22:08 -07:00
parent da00915ac8
commit b705b02e70
682 changed files with 181798 additions and 1348 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 69 KiB

+9
View File
@@ -1,4 +1,5 @@
# functions common among cars
import logging
from collections import namedtuple
from dataclasses import dataclass
from enum import IntFlag, ReprEnum, EnumType
@@ -11,6 +12,10 @@ from openpilot.common.numpy_fast import clip, interp
from openpilot.common.utils import Freezable
from openpilot.selfdrive.car.docs_definitions import CarDocs
# set up logging
carlog = logging.getLogger('carlog')
carlog.setLevel(logging.INFO)
carlog.propagate = False
# kg of standard extra cargo to count for drive, gas, etc...
STD_CARGO_KG = 136.
@@ -165,6 +170,10 @@ def common_fault_avoidance(fault_condition: bool, request: bool, above_limit_fra
return above_limit_frames, request
def rate_limit(new_value, last_value, dw_step, up_step):
return clip(new_value, last_value + dw_step, last_value + up_step)
def crc8_pedal(data):
crc = 0xFF # standard init value
poly = 0xD5 # standard crc8: x8+x7+x6+x4+x2+1
+2 -3
View File
@@ -35,13 +35,12 @@ class CarController(CarControllerBase):
torque -= deadband
return torque
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
torque_l = 0
torque_r = 0
llk_valid = len(CC.orientationNED) > 1 and len(CC.angularVelocity) > 1
if CC.enabled and llk_valid:
if CC.enabled:
# Read these from the joystick
# TODO: this isn't acceleration, okay?
speed_desired = CC.actuators.accel / 5.
+4 -3
View File
@@ -1,4 +1,4 @@
from cereal import car
from cereal import car, custom
from opendbc.can.parser import CANParser
from openpilot.selfdrive.car.interfaces import CarStateBase
from openpilot.selfdrive.car.body.values import DBC
@@ -6,8 +6,9 @@ from openpilot.selfdrive.car.body.values import DBC
STARTUP_TICKS = 100
class CarState(CarStateBase):
def update(self, cp):
def update(self, cp, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
ret.wheelSpeeds.fl = cp.vl['MOTORS_DATA']['SPEED_L']
ret.wheelSpeeds.fr = cp.vl['MOTORS_DATA']['SPEED_R']
@@ -28,7 +29,7 @@ class CarState(CarStateBase):
ret.cruiseState.enabled = True
ret.cruiseState.available = True
return ret
return ret, fp_ret
@staticmethod
def get_can_parser(CP):
+4 -4
View File
@@ -7,7 +7,7 @@ from openpilot.selfdrive.car.body.values import SPEED_FROM_RPM
class CarInterface(CarInterfaceBase):
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
ret.notCar = True
ret.carName = "body"
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.body)]
@@ -25,8 +25,8 @@ class CarInterface(CarInterfaceBase):
return ret
def _update(self, c):
ret = self.CS.update(self.cp)
def _update(self, c, frogpilot_toggles):
ret, fp_ret = self.CS.update(self.cp, frogpilot_toggles)
# wait for everything to init first
if self.frame > int(5. / DT_CTRL):
@@ -36,4 +36,4 @@ class CarInterface(CarInterfaceBase):
ret.events[0].enable = True
self.frame += 1
return ret
return ret, fp_ret
+17 -10
View File
@@ -12,7 +12,6 @@ from openpilot.selfdrive.car.mock.values import CAR as MOCK
from openpilot.common.swaglog import cloudlog
import cereal.messaging as messaging
from openpilot.selfdrive.car import gen_empty_fingerprint
from openpilot.system.version import get_build_metadata
FRAME_FINGERPRINT = 100 # 1s
@@ -20,11 +19,7 @@ EventName = car.CarEvent.EventName
def get_startup_event(car_recognized, controller_available, fw_seen):
build_metadata = get_build_metadata()
if build_metadata.openpilot.comma_remote and build_metadata.tested_channel:
event = EventName.startup
else:
event = EventName.startupMaster
event = EventName.customStartupAlert
if not car_recognized:
if fw_seen:
@@ -190,15 +185,27 @@ def get_car_interface(CP):
return CarInterface(CP, CarController, CarState)
def get_car(logcan, sendcan, experimental_long_allowed, num_pandas=1):
def get_car(logcan, sendcan, disable_openpilot_long, experimental_long_allowed, params, num_pandas=1, frogpilot_toggles=None):
car_model = params.get("CarModel", encoding='utf-8')
force_fingerprint = params.get_bool("ForceFingerprint")
candidate, fingerprints, vin, car_fw, source, exact_match = fingerprint(logcan, sendcan, num_pandas)
if candidate is None:
cloudlog.event("car doesn't match any fingerprints", fingerprints=repr(fingerprints), error=True)
if candidate is None or force_fingerprint:
if car_model is not None:
candidate = car_model
else:
cloudlog.event("car doesn't match any fingerprints", fingerprints=repr(fingerprints), error=True)
candidate = "MOCK"
else:
params.put_nonblocking("CarMake", candidate.split('_')[0].title())
params.put_nonblocking("CarModel", candidate)
if frogpilot_toggles.block_user:
candidate = "MOCK"
CarInterface, _, _ = interfaces[candidate]
CP = CarInterface.get_params(candidate, fingerprints, car_fw, experimental_long_allowed, docs=False)
CP = CarInterface.get_params(candidate, fingerprints, car_fw, disable_openpilot_long, experimental_long_allowed, params, docs=False)
CP.carVin = vin
CP.carFw = car_fw
CP.fingerprintSource = source
+51 -14
View File
@@ -4,18 +4,21 @@ import time
import cereal.messaging as messaging
from cereal import car
from cereal import car, custom
from panda import ALTERNATIVE_EXPERIENCE
from openpilot.common.params import Params
from openpilot.common.realtime import config_realtime_process, Priority, Ratekeeper, DT_CTRL
from openpilot.common.swaglog import cloudlog
from openpilot.selfdrive.pandad import can_list_to_can_capnp
from openpilot.selfdrive.car.car_helpers import get_car, get_one_can
from openpilot.selfdrive.car.interfaces import CarInterfaceBase
from openpilot.selfdrive.controls.lib.events import Events
from openpilot.selfdrive.frogpilot.frogpilot_variables import get_frogpilot_toggles, update_frogpilot_toggles
REPLAY = "REPLAY" in os.environ
EventName = car.CarEvent.EventName
@@ -26,8 +29,8 @@ class Car:
def __init__(self, CI=None):
self.can_sock = messaging.sub_sock('can', timeout=20)
self.sm = messaging.SubMaster(['pandaStates', 'carControl', 'onroadEvents'])
self.pm = messaging.PubMaster(['sendcan', 'carState', 'carParams', 'carOutput'])
self.sm = messaging.SubMaster(['pandaStates', 'carControl', 'onroadEvents', 'frogpilotPlan'])
self.pm = messaging.PubMaster(['sendcan', 'carState', 'carParams', 'carOutput', 'frogpilotCarState'])
self.can_rcv_cum_timeout_counter = 0
@@ -45,8 +48,9 @@ class Car:
get_one_can(self.can_sock)
num_pandas = len(messaging.recv_one_retry(self.sm.sock['pandaStates']).pandaStates)
disable_openpilot_long = self.params.get_bool("DisableOpenpilotLongitudinal")
experimental_long_allowed = self.params.get_bool("ExperimentalLongitudinalEnabled")
self.CI, self.CP = get_car(self.can_sock, self.pm.sock['sendcan'], experimental_long_allowed, num_pandas)
self.CI, self.CP = get_car(self.can_sock, self.pm.sock['sendcan'], disable_openpilot_long, experimental_long_allowed, self.params, num_pandas, get_frogpilot_toggles())
else:
self.CI, self.CP = CI, CI.CP
@@ -66,28 +70,52 @@ class Car:
safety_config.safetyModel = car.CarParams.SafetyModel.noOutput
self.CP.safetyConfigs = [safety_config]
if self.CP.secOcRequired and not self.params.get_bool("IsReleaseBranch"):
secoc_key = self.params.get("SecOCKey", encoding='utf8')
if secoc_key is not None:
saved_secoc_key = bytes.fromhex(secoc_key.strip())
if len(saved_secoc_key) == 16:
self.CP.secOcKeyAvailable = True
self.CI.CS.secoc_key = saved_secoc_key
if controller_available:
self.CI.CC.secoc_key = saved_secoc_key
else:
cloudlog.warning("Saved SecOC key is invalid")
# Write previous route's CarParams
prev_cp = self.params.get("CarParamsPersistent")
if prev_cp is not None:
self.params.put("CarParamsPrevRoute", prev_cp)
self.events = Events()
# card is driven by can recv, expected at 100Hz
self.rk = Ratekeeper(100, print_delay_threshold=None)
# FrogPilot variables
self.frogpilot_toggles = get_frogpilot_toggles()
if self.frogpilot_toggles.acceleration_profile == 3:
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.RAISE_LONGITUDINAL_LIMITS_TO_ISO_MAX
if self.frogpilot_toggles.always_on_lateral:
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.ALWAYS_ON_LATERAL
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.DISABLE_DISENGAGE_ON_GAS
# Write CarParams for controls and radard
cp_bytes = self.CP.to_bytes()
self.params.put("CarParams", cp_bytes)
self.params.put_nonblocking("CarParamsCache", cp_bytes)
self.params.put_nonblocking("CarParamsPersistent", cp_bytes)
self.events = Events()
# card is driven by can recv, expected at 100Hz
self.rk = Ratekeeper(100, print_delay_threshold=None)
update_frogpilot_toggles()
def state_update(self) -> car.CarState:
"""carState update loop, driven by can"""
# Update carState from CAN
can_strs = messaging.drain_sock_raw(self.can_sock, wait_for_one=True)
CS = self.CI.update(self.CC_prev, can_strs)
CS, FPCS = self.CI.update(self.CC_prev, can_strs, self.frogpilot_toggles)
self.sm.update(0)
@@ -100,7 +128,7 @@ class Car:
if can_rcv_valid and REPLAY:
self.can_log_mono_time = messaging.log_from_bytes(can_strs[0]).logMonoTime
return CS
return CS, FPCS
def update_events(self, CS: car.CarState) -> car.CarState:
self.events.clear()
@@ -115,7 +143,7 @@ class Car:
CS.events = self.events.to_msg()
def state_publish(self, CS: car.CarState):
def state_publish(self, CS: car.CarState, FPCS: custom.FrogPilotCarState):
"""carState and carParams publish loop"""
# carParams - logged every 50 seconds (> 1 per segment)
@@ -139,6 +167,12 @@ class Car:
cs_send.carState.cumLagMs = -self.rk.remaining * 1000.
self.pm.send('carState', cs_send)
# frogpilotCarState
fpcs_send = messaging.new_message('frogpilotCarState')
fpcs_send.valid = CS.canValid
fpcs_send.frogpilotCarState = FPCS
self.pm.send('frogpilotCarState', fpcs_send)
def controls_update(self, CS: car.CarState, CC: car.CarControl):
"""control update loop, driven by carControl"""
@@ -152,17 +186,17 @@ class Car:
if self.sm.all_alive(['carControl']):
# send car controls over can
now_nanos = self.can_log_mono_time if REPLAY else int(time.monotonic() * 1e9)
self.last_actuators_output, can_sends = self.CI.apply(CC, now_nanos)
self.last_actuators_output, can_sends = self.CI.apply(CC, now_nanos, self.frogpilot_toggles)
self.pm.send('sendcan', can_list_to_can_capnp(can_sends, msgtype='sendcan', valid=CS.canValid))
self.CC_prev = CC
def step(self):
CS = self.state_update()
CS, FPCS = self.state_update()
self.update_events(CS)
self.state_publish(CS)
self.state_publish(CS, FPCS)
initialized = (not any(e.name == EventName.controlsInitializing for e in self.sm['onroadEvents']) and
self.sm.seen['onroadEvents'])
@@ -177,6 +211,9 @@ class Car:
self.step()
self.rk.monitor_time()
# Update FrogPilot parameters
if self.sm['frogpilotPlan'].togglesUpdated:
self.frogpilot_toggles = get_frogpilot_toggles()
def main():
config_realtime_process(4, Priority.CTRL_HIGH)
+11 -6
View File
@@ -2,7 +2,7 @@ from opendbc.can.packer import CANPacker
from openpilot.common.realtime import DT_CTRL
from openpilot.selfdrive.car import apply_meas_steer_torque_limits
from openpilot.selfdrive.car.chrysler import chryslercan
from openpilot.selfdrive.car.chrysler.values import RAM_CARS, CarControllerParams, ChryslerFlags
from openpilot.selfdrive.car.chrysler.values import RAM_CARS, RAM_DT, CarControllerParams, ChryslerFlags
from openpilot.selfdrive.car.interfaces import CarControllerBase
@@ -20,7 +20,7 @@ class CarController(CarControllerBase):
self.packer = CANPacker(dbc_name)
self.params = CarControllerParams(CP)
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
can_sends = []
lkas_active = CC.latActive and self.lkas_control_bit_prev
@@ -32,18 +32,18 @@ class CarController(CarControllerBase):
# ACC cancellation
if CC.cruiseControl.cancel:
self.last_button_frame = self.frame
can_sends.append(chryslercan.create_cruise_buttons(self.packer, CS.button_counter + 1, das_bus, cancel=True))
can_sends.append(chryslercan.create_cruise_buttons(self.packer, self.CP, CS.button_counter + 1, das_bus, cancel=True))
# ACC resume from standstill
elif CC.cruiseControl.resume:
self.last_button_frame = self.frame
can_sends.append(chryslercan.create_cruise_buttons(self.packer, CS.button_counter + 1, das_bus, resume=True))
can_sends.append(chryslercan.create_cruise_buttons(self.packer, self.CP, CS.button_counter + 1, das_bus, resume=True))
# HUD alerts
if self.frame % 25 == 0:
if CS.lkas_car_model != -1:
can_sends.append(chryslercan.create_lkas_hud(self.packer, self.CP, lkas_active, CC.hudControl.visualAlert,
self.hud_count, CS.lkas_car_model, CS.auto_high_beam))
self.hud_count, CS.lkas_car_model, CS.auto_high_beam, CC.latActive))
self.hud_count += 1
# steering
@@ -51,7 +51,12 @@ class CarController(CarControllerBase):
# TODO: can we make this more sane? why is it different for all the cars?
lkas_control_bit = self.lkas_control_bit_prev
if CS.out.vEgo > self.CP.minSteerSpeed:
if self.CP.carFingerprint in RAM_DT:
if self.CP.minEnableSpeed <= CS.out.vEgo <= self.CP.minEnableSpeed + 0.5:
lkas_control_bit = True
if (self.CP.minEnableSpeed >= 14.5) and (CS.out.gearShifter != 2):
lkas_control_bit = False
elif CS.out.vEgo > self.CP.minSteerSpeed:
lkas_control_bit = True
elif self.CP.flags & ChryslerFlags.HIGHER_MIN_STEERING_SPEED:
if CS.out.vEgo < (self.CP.minSteerSpeed - 3.0):
+22 -7
View File
@@ -1,9 +1,9 @@
from cereal import car
from cereal import car, custom
from openpilot.common.conversions import Conversions as CV
from opendbc.can.parser import CANParser
from opendbc.can.can_define import CANDefine
from openpilot.selfdrive.car.interfaces import CarStateBase
from openpilot.selfdrive.car.chrysler.values import DBC, STEER_THRESHOLD, RAM_CARS
from openpilot.selfdrive.car.chrysler.values import ChryslerFlags, DBC, STEER_THRESHOLD, RAM_CARS
class CarState(CarStateBase):
@@ -15,6 +15,7 @@ class CarState(CarStateBase):
self.auto_high_beam = 0
self.button_counter = 0
self.lkas_car_model = -1
self.button_message = "CRUISE_BUTTONS_ALT" if CP.flags & ChryslerFlags.RAM_HD_ALT_BUTTONS else "CRUISE_BUTTONS"
if CP.carFingerprint in RAM_CARS:
self.shifter_values = can_define.dv["Transmission_Status"]["Gear_State"]
@@ -24,12 +25,13 @@ class CarState(CarStateBase):
self.prev_distance_button = 0
self.distance_button = 0
def update(self, cp, cp_cam):
def update(self, cp, cp_cam, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
self.prev_distance_button = self.distance_button
self.distance_button = cp.vl["CRUISE_BUTTONS"]["ACC_Distance_Dec"]
self.distance_button = cp.vl[self.button_message]["ACC_Distance_Dec"]
# lock info
ret.doorOpen = any([cp.vl["BCM_1"]["DOOR_OPEN_FL"],
@@ -99,9 +101,18 @@ class CarState(CarStateBase):
ret.rightBlindspot = cp.vl["BSM_1"]["RIGHT_STATUS"] == 1
self.lkas_car_model = cp_cam.vl["DAS_6"]["CAR_MODEL"]
self.button_counter = cp.vl["CRUISE_BUTTONS"]["COUNTER"]
self.button_counter = cp.vl[self.button_message]["COUNTER"]
return ret
# FrogPilot CarState functions
fp_ret.brakeLights = bool(cp.vl["ESP_1"]["BRAKE_PRESSED_ACC"])
self.lkas_previously_enabled = self.lkas_enabled
if self.CP.carFingerprint in RAM_CARS:
self.lkas_enabled = cp.vl["Center_Stack_2"]["LKAS_Button"] or cp.vl["Center_Stack_1"]["LKAS_Button"]
else:
self.lkas_enabled = cp.vl["TRACTION_BUTTON"]["TOGGLE_LKAS"] == 1
return ret, fp_ret
@staticmethod
def get_cruise_messages():
@@ -113,6 +124,7 @@ class CarState(CarStateBase):
@staticmethod
def get_can_parser(CP):
button_message = "CRUISE_BUTTONS_ALT" if CP.flags & ChryslerFlags.RAM_HD_ALT_BUTTONS else "CRUISE_BUTTONS"
messages = [
# sig_address, frequency
("ESP_1", 50),
@@ -120,7 +132,7 @@ class CarState(CarStateBase):
("ESP_6", 50),
("STEERING", 100),
("ECM_5", 50),
("CRUISE_BUTTONS", 50),
(button_message, 50),
("STEERING_LEVERS", 10),
("ORC_1", 2),
("BCM_1", 1),
@@ -134,11 +146,14 @@ class CarState(CarStateBase):
("ESP_8", 50),
("EPS_3", 50),
("Transmission_Status", 50),
("Center_Stack_1", 1),
("Center_Stack_2", 1),
]
else:
messages += [
("GEAR", 50),
("SPEED_1", 100),
("TRACTION_BUTTON", 1),
]
messages += CarState.get_cruise_messages()
+7 -5
View File
@@ -1,10 +1,10 @@
from cereal import car
from openpilot.selfdrive.car.chrysler.values import RAM_CARS
from openpilot.selfdrive.car.chrysler.values import RAM_CARS, ChryslerFlags
GearShifter = car.CarState.GearShifter
VisualAlert = car.CarControl.HUDControl.VisualAlert
def create_lkas_hud(packer, CP, lkas_active, hud_alert, hud_count, car_model, auto_high_beam):
def create_lkas_hud(packer, CP, lkas_active, hud_alert, hud_count, car_model, auto_high_beam, lat_active):
# LKAS_HUD - Controls what lane-keeping icon is displayed
# == Color ==
@@ -27,7 +27,7 @@ def create_lkas_hud(packer, CP, lkas_active, hud_alert, hud_count, car_model, au
# 7 Normal
# 6 lane departure place hands on wheel
color = 2 if lkas_active else 1
color = 2 if lkas_active else 1 if lat_active else 0
lines = 3 if lkas_active else 0
alerts = 7 if lkas_active else 0
@@ -48,6 +48,7 @@ def create_lkas_hud(packer, CP, lkas_active, hud_alert, hud_count, car_model, au
if CP.carFingerprint in RAM_CARS:
values['AUTO_HIGH_BEAM_ON'] = auto_high_beam
values['LKAS_DISABLED'] = 0 if lat_active else 1
return packer.make_can_msg("DAS_6", 0, values)
@@ -62,10 +63,11 @@ def create_lkas_command(packer, CP, apply_steer, lkas_control_bit):
return packer.make_can_msg("LKAS_COMMAND", 0, values)
def create_cruise_buttons(packer, frame, bus, cancel=False, resume=False):
def create_cruise_buttons(packer, CP, frame, bus, cancel=False, resume=False):
values = {
"ACC_Cancel": cancel,
"ACC_Resume": resume,
"COUNTER": frame % 0x10,
}
return packer.make_can_msg("CRUISE_BUTTONS", bus, values)
button_message = "CRUISE_BUTTONS_ALT" if CP.flags & ChryslerFlags.RAM_HD_ALT_BUTTONS else "CRUISE_BUTTONS"
return packer.make_can_msg(button_message, bus, values)
+12
View File
@@ -535,6 +535,7 @@ FW_VERSIONS = {
b'05149848AC ',
b'05190341AD',
b'68378695AJ ',
b'68378696AI ',
b'68378696AJ ',
b'68378701AI ',
b'68378702AI ',
@@ -591,6 +592,7 @@ FW_VERSIONS = {
b'68360081AM',
b'68360085AJ',
b'68360085AL',
b'68360085AF',
b'68360086AH',
b'68360086AK',
b'68384328AD',
@@ -620,14 +622,21 @@ FW_VERSIONS = {
(Ecu.combinationMeter, 0x742, None): [
b'68361606AH',
b'68437735AC',
b'68437746AD',
b'68492682AD',
b'68525438AB',
b'68492693AD',
b'68525485AB',
b'68525487AB',
b'68525498AB',
b'68528791AF',
b'68620919AB',
b'68620921AC',
b'68620923AB',
b'68628474AB',
],
(Ecu.srs, 0x744, None): [
b'68346749AB',
b'68399794AC',
b'68428503AA',
b'68428505AA',
@@ -668,9 +677,12 @@ FW_VERSIONS = {
b'52401032AE',
b'52421132AF',
b'52421332AF',
b'52421332AG',
b'68527616AD ',
b'M2370131MB',
b'M2421132MB',
b'52421232AF',
b'52421492AA',
],
},
CAR.DODGE_DURANGO: {
+30 -11
View File
@@ -1,18 +1,18 @@
#!/usr/bin/env python3
from cereal import car
from cereal import car, custom
from panda import Panda
from openpilot.selfdrive.car import create_button_events, get_safety_config
from openpilot.selfdrive.car.chrysler.values import CAR, RAM_HD, RAM_DT, RAM_CARS, ChryslerFlags
from openpilot.selfdrive.car.interfaces import CarInterfaceBase
ButtonType = car.CarState.ButtonEvent.Type
FrogPilotButtonType = custom.FrogPilotCarState.ButtonEvent.Type
class CarInterface(CarInterfaceBase):
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
ret.carName = "chrysler"
ret.dashcamOnly = candidate in RAM_HD
# radar parsing needs some work, see https://github.com/commaai/openpilot/issues/26842
ret.radarUnavailable = True # DBC[candidate]['radar'] is None
@@ -55,14 +55,24 @@ class CarInterface(CarInterfaceBase):
elif candidate == CAR.RAM_1500_5TH_GEN:
ret.steerActuatorDelay = 0.2
ret.wheelbase = 3.88
ret.minSteerSpeed = 0.5
ret.minEnableSpeed = 14.5
# Older EPS FW allow steer to zero
if any(fw.ecu == 'eps' and b"68" < fw.fwVersion[:4] <= b"6831" for fw in car_fw):
ret.minSteerSpeed = 0.
elif candidate == CAR.RAM_HD_5TH_GEN:
ret.steerActuatorDelay = 0.2
ret.wheelbase = 3.785
ret.steerRatio = 15.61
ret.mass = 3405.
ret.minSteerSpeed = 16
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning, 1.0, False)
# Some RAM HD use Chrysler button address
if 570 not in fingerprint[0]:
ret.flags |= ChryslerFlags.RAM_HD_ALT_BUTTONS.value
else:
raise ValueError(f"Unsupported car: {candidate}")
@@ -76,22 +86,31 @@ class CarInterface(CarInterfaceBase):
return ret
def _update(self, c):
ret = self.CS.update(self.cp, self.cp_cam)
def _update(self, c, frogpilot_toggles):
ret, fp_ret = self.CS.update(self.cp, self.cp_cam, frogpilot_toggles)
ret.buttonEvents = create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise})
ret.buttonEvents = [
*create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise}),
*create_button_events(self.CS.lkas_enabled, self.CS.lkas_previously_enabled, {1: FrogPilotButtonType.lkas}),
]
# events
events = self.create_common_events(ret, extra_gears=[car.CarState.GearShifter.low])
# Low speed steer alert hysteresis logic
if self.CP.minSteerSpeed > 0. and ret.vEgo < (self.CP.minSteerSpeed + 0.5):
self.low_speed_alert = True
elif ret.vEgo > (self.CP.minSteerSpeed + 1.):
self.low_speed_alert = False
if self.CP.carFingerprint in RAM_DT:
if self.CS.out.vEgo >= self.CP.minEnableSpeed:
self.low_speed_alert = False
if (self.CP.minEnableSpeed >= 14.5) and (self.CS.out.gearShifter != car.CarState.GearShifter.drive):
self.low_speed_alert = True
else:
if self.CP.minSteerSpeed > 0. and ret.vEgo < (self.CP.minSteerSpeed + 0.5):
self.low_speed_alert = True
elif ret.vEgo > (self.CP.minSteerSpeed + 1.):
self.low_speed_alert = False
if self.low_speed_alert:
events.add(car.CarEvent.EventName.belowSteerSpeed)
ret.events = events.to_msg()
return ret
return ret, fp_ret
+2 -1
View File
@@ -13,6 +13,7 @@ Ecu = car.CarParams.Ecu
class ChryslerFlags(IntFlag):
# Detected flags
HIGHER_MIN_STEERING_SPEED = 1
RAM_HD_ALT_BUTTONS = 2
@dataclass
class ChryslerCarDocs(CarDocs):
@@ -100,7 +101,7 @@ class CarControllerParams:
elif CP.carFingerprint in RAM_DT:
self.STEER_DELTA_UP = 6
self.STEER_DELTA_DOWN = 6
self.STEER_MAX = 261 # EPS allows more, up to 350?
self.STEER_MAX = 350 # EPS allows more, up to 350?
else:
self.STEER_DELTA_UP = 3
self.STEER_DELTA_DOWN = 3
+14 -2
View File
@@ -7,6 +7,8 @@ from openpilot.selfdrive.car.ford.values import CarControllerParams, FordFlags
from openpilot.selfdrive.car.interfaces import CarControllerBase
from openpilot.selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX
from openpilot.selfdrive.frogpilot.controls.lib.frogpilot_acceleration import get_max_allowed_accel
LongCtrlState = car.CarControl.Actuators.LongControlState
VisualAlert = car.CarControl.HUDControl.VisualAlert
@@ -37,7 +39,7 @@ class CarController(CarControllerBase):
self.steer_alert_last = False
self.lead_distance_bars_last = None
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
can_sends = []
actuators = CC.actuators
@@ -65,6 +67,13 @@ class CarController(CarControllerBase):
if CC.latActive:
# apply rate limits, curvature error limit, and clip to signal range
current_curvature = -CS.out.yawRate / max(CS.out.vEgoRaw, 0.1)
# PFEIFER - FSH {{
# Ignore limits while overriding, this prevents pull when releasing the wheel. This will cause messages to be
# blocked by panda safety, usually while the driver is overriding and limited to at most 1 message while the
# driver is not overriding.
if CS.out.steeringPressed:
self.apply_curvature_last = actuators.curvature
# }} PFEIFER - FSH
apply_curvature = apply_ford_curvature_limits(actuators.curvature, self.apply_curvature_last, current_curvature, CS.out.vEgoRaw)
else:
apply_curvature = 0.
@@ -87,7 +96,10 @@ class CarController(CarControllerBase):
# send acc msg at 50Hz
if self.CP.openpilotLongitudinalControl and (self.frame % CarControllerParams.ACC_CONTROL_STEP) == 0:
# Both gas and accel are in m/s^2, accel is used solely for braking
accel = clip(actuators.accel, CarControllerParams.ACCEL_MIN, CarControllerParams.ACCEL_MAX)
if frogpilot_toggles.sport_plus:
accel = clip(actuators.accel, CarControllerParams.ACCEL_MIN, min(frogpilot_toggles.max_desired_acceleration, get_max_allowed_accel(CS.out.vEgo)))
else:
accel = clip(actuators.accel, CarControllerParams.ACCEL_MIN, min(frogpilot_toggles.max_desired_acceleration, CarControllerParams.ACCEL_MAX))
gas = accel
if not CC.longActive or gas < CarControllerParams.MIN_GAS:
gas = CarControllerParams.INACTIVE_GAS
+8 -3
View File
@@ -1,4 +1,4 @@
from cereal import car
from cereal import car, custom
from opendbc.can.can_define import CANDefine
from opendbc.can.parser import CANParser
from openpilot.common.conversions import Conversions as CV
@@ -22,8 +22,9 @@ class CarState(CarStateBase):
self.prev_distance_button = 0
self.distance_button = 0
def update(self, cp, cp_cam):
def update(self, cp, cp_cam, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
# Occasionally on startup, the ABS module recalibrates the steering pinion offset, so we need to block engagement
# The vehicle usually recovers out of this state within a minute of normal driving
@@ -107,7 +108,11 @@ class CarState(CarStateBase):
self.acc_tja_status_stock_values = cp_cam.vl["ACCDATA_3"]
self.lkas_status_stock_values = cp_cam.vl["IPMA_Data"]
return ret
# FrogPilot CarState functions
self.lkas_previously_enabled = self.lkas_enabled
self.lkas_enabled = ret.genericToggle
return ret, fp_ret
@staticmethod
def get_can_parser(CP):
+11 -7
View File
@@ -1,4 +1,4 @@
from cereal import car
from cereal import car, custom
from panda import Panda
from openpilot.common.conversions import Conversions as CV
from openpilot.selfdrive.car import create_button_events, get_safety_config
@@ -7,15 +7,16 @@ from openpilot.selfdrive.car.ford.values import Ecu, FordFlags
from openpilot.selfdrive.car.interfaces import CarInterfaceBase
ButtonType = car.CarState.ButtonEvent.Type
FrogPilotButtonType = custom.FrogPilotCarState.ButtonEvent.Type
TransmissionType = car.CarParams.TransmissionType
GearShifter = car.CarState.GearShifter
class CarInterface(CarInterfaceBase):
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
ret.carName = "ford"
ret.dashcamOnly = bool(ret.flags & FordFlags.CANFD)
ret.dashcamOnly = False
ret.radarUnavailable = True
ret.steerControlType = car.CarParams.SteerControlType.angle
@@ -67,10 +68,13 @@ class CarInterface(CarInterfaceBase):
ret.centerToFront = ret.wheelbase * 0.44
return ret
def _update(self, c):
ret = self.CS.update(self.cp, self.cp_cam)
def _update(self, c, frogpilot_toggles):
ret, fp_ret = self.CS.update(self.cp, self.cp_cam, frogpilot_toggles)
ret.buttonEvents = create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise})
ret.buttonEvents = [
*create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise}),
*create_button_events(self.CS.lkas_enabled, self.CS.lkas_previously_enabled, {1: FrogPilotButtonType.lkas}),
]
events = self.create_common_events(ret, extra_gears=[GearShifter.manumatic])
if not self.CS.vehicle_sensors_valid:
@@ -78,4 +82,4 @@ class CarInterface(CarInterfaceBase):
ret.events = events.to_msg()
return ret
return ret, fp_ret
+43 -7
View File
@@ -1,13 +1,16 @@
from cereal import car
from openpilot.common.conversions import Conversions as CV
from openpilot.common.filter_simple import FirstOrderFilter
from openpilot.common.numpy_fast import interp, clip
from openpilot.common.realtime import DT_CTRL
from openpilot.common.params_pyx import Params
from opendbc.can.packer import CANPacker
from openpilot.selfdrive.car import apply_driver_steer_torque_limits, create_gas_interceptor_command
from openpilot.selfdrive.car.gm import gmcan
from openpilot.selfdrive.car.gm.values import DBC, CanBus, CarControllerParams, CruiseButtons, GMFlags, CC_ONLY_CAR, SDGM_CAR, EV_CAR
from openpilot.selfdrive.car.gm.values import DBC, CanBus, CarControllerParams, CruiseButtons, GMFlags, CC_ONLY_CAR, SDGM_CAR, EV_CAR, AccState
from openpilot.selfdrive.car.interfaces import CarControllerBase
from openpilot.selfdrive.controls.lib.drive_helpers import apply_deadzone
from openpilot.selfdrive.controls.lib.vehicle_model import ACCELERATION_DUE_TO_GRAVITY
VisualAlert = car.CarControl.HUDControl.VisualAlert
NetworkLocation = car.CarParams.NetworkLocation
@@ -20,6 +23,10 @@ CAMERA_CANCEL_DELAY_FRAMES = 10
# Enforce a minimum interval between steering messages to avoid a fault
MIN_STEER_MSG_INTERVAL_MS = 15
# Constants for pitch compensation
PITCH_DEADZONE = 0.01 # [radians] 0.01 ≈ 1% grade
BRAKE_PITCH_FACTOR_BP = [5., 10.] # [m/s] smoothly revert to planned accel at low speeds
BRAKE_PITCH_FACTOR_V = [0., 1.] # [unitless in [0,1]]; don't touch
class CarController(CarControllerBase):
def __init__(self, dbc_name, CP, VM):
@@ -45,6 +52,10 @@ class CarController(CarControllerBase):
self.packer_obj = CANPacker(DBC[self.CP.carFingerprint]['radar'])
self.packer_ch = CANPacker(DBC[self.CP.carFingerprint]['chassis'])
# FrogPilot variables
self.pitch = FirstOrderFilter(0., 0.09 * 4, DT_CTRL * 4) # runs at 25 Hz
self.accel_g = 0.0
@staticmethod
def calc_pedal_command(accel: float, long_active: bool) -> float:
if not long_active: return 0.
@@ -60,8 +71,9 @@ class CarController(CarControllerBase):
return pedal_gas
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
actuators = CC.actuators
accel = brake_accel = actuators.accel
hud_control = CC.hudControl
hud_alert = hud_control.visualAlert
hud_v_cruise = hud_control.setSpeed
@@ -108,6 +120,15 @@ class CarController(CarControllerBase):
# Gas/regen, brakes, and UI commands - all at 25Hz
if self.frame % 4 == 0:
stopping = actuators.longControlState == LongCtrlState.stopping
# Pitch compensated acceleration;
# TODO: include future pitch (sm['modelDataV2'].orientation.y) to account for long actuator delay
if frogpilot_toggles.long_pitch and len(CC.orientationNED) > 1:
self.pitch.update(CC.orientationNED[1])
self.accel_g = ACCELERATION_DUE_TO_GRAVITY * apply_deadzone(self.pitch.x, PITCH_DEADZONE) # driving uphill is positive pitch
accel += self.accel_g
brake_accel = actuators.accel + self.accel_g * interp(CS.out.vEgo, BRAKE_PITCH_FACTOR_BP, BRAKE_PITCH_FACTOR_V)
at_full_stop = CC.longActive and CS.out.standstill
near_stop = CC.longActive and (CS.out.vEgo < self.params.NEAR_STOP_BRAKE_PHASE)
interceptor_gas_cmd = 0
@@ -122,11 +143,17 @@ class CarController(CarControllerBase):
# Normal operation
if self.CP.carFingerprint in EV_CAR:
self.params.update_ev_gas_brake_threshold(CS.out.vEgo)
self.apply_gas = int(round(interp(actuators.accel, self.params.EV_GAS_LOOKUP_BP, self.params.GAS_LOOKUP_V)))
self.apply_brake = int(round(interp(actuators.accel, self.params.EV_BRAKE_LOOKUP_BP, self.params.BRAKE_LOOKUP_V)))
if frogpilot_toggles.sport_plus:
self.apply_gas = int(round(interp(accel, self.params.EV_GAS_LOOKUP_BP_PLUS, self.params.GAS_LOOKUP_V_PLUS)))
else:
self.apply_gas = int(round(interp(accel, self.params.EV_GAS_LOOKUP_BP, self.params.GAS_LOOKUP_V)))
self.apply_brake = int(round(interp(brake_accel, self.params.EV_BRAKE_LOOKUP_BP, self.params.BRAKE_LOOKUP_V)))
else:
self.apply_gas = int(round(interp(actuators.accel, self.params.GAS_LOOKUP_BP, self.params.GAS_LOOKUP_V)))
self.apply_brake = int(round(interp(actuators.accel, self.params.BRAKE_LOOKUP_BP, self.params.BRAKE_LOOKUP_V)))
if frogpilot_toggles.sport_plus:
self.apply_gas = int(round(interp(accel, self.params.GAS_LOOKUP_BP_PLUS, self.params.GAS_LOOKUP_V_PLUS)))
else:
self.apply_gas = int(round(interp(accel, self.params.GAS_LOOKUP_BP, self.params.GAS_LOOKUP_V)))
self.apply_brake = int(round(interp(brake_accel, self.params.BRAKE_LOOKUP_BP, self.params.BRAKE_LOOKUP_V)))
# Don't allow any gas above inactive regen while stopping
# FIXME: brakes aren't applied immediately when enabling at a stop
if stopping:
@@ -161,8 +188,13 @@ class CarController(CarControllerBase):
resume = actuators.longControlState != LongCtrlState.starting or CC.cruiseControl.resume
at_full_stop = at_full_stop and not resume
if CC.cruiseControl.resume and CS.pcm_acc_status == AccState.STANDSTILL and frogpilot_toggles.volt_sng:
acc_engaged = False
else:
acc_engaged = CC.enabled
# GasRegenCmdActive needs to be 1 to avoid cruise faults. It describes the ACC state, not actuation
can_sends.append(gmcan.create_gas_regen_command(self.packer_pt, CanBus.POWERTRAIN, self.apply_gas, idx, CC.enabled, at_full_stop))
can_sends.append(gmcan.create_gas_regen_command(self.packer_pt, CanBus.POWERTRAIN, self.apply_gas, idx, acc_engaged, at_full_stop))
can_sends.append(gmcan.create_friction_brake_command(self.packer_ch, friction_brake_bus, self.apply_brake,
idx, CC.enabled, near_stop, at_full_stop, self.CP))
@@ -170,6 +202,9 @@ class CarController(CarControllerBase):
send_fcw = hud_alert == VisualAlert.fcw
can_sends.append(gmcan.create_acc_dashboard_command(self.packer_pt, CanBus.POWERTRAIN, CC.enabled,
hud_v_cruise * CV.MS_TO_KPH, hud_control, send_fcw))
else:
# to keep accel steady for logs when not sending gas
accel += self.accel_g
# Radar needs to know current speed and yaw rate (50hz),
# and that ADAS is alive (10hz)
@@ -219,6 +254,7 @@ class CarController(CarControllerBase):
can_sends.append(gmcan.create_pscm_status(self.packer_pt, CanBus.CAMERA, CS.pscm_status))
new_actuators = actuators.as_builder()
new_actuators.accel = accel
new_actuators.steer = self.apply_steer_last / self.params.STEER_MAX
new_actuators.steerOutputCan = self.apply_steer_last
new_actuators.gas = self.apply_gas
+20 -5
View File
@@ -1,5 +1,5 @@
import copy
from cereal import car
from cereal import car, custom
from openpilot.common.conversions import Conversions as CV
from openpilot.common.numpy_fast import mean
from opendbc.can.can_define import CANDefine
@@ -33,8 +33,9 @@ class CarState(CarStateBase):
self.single_pedal_mode = False
self.pedal_steady = 0.
def update(self, pt_cp, cam_cp, loopback_cp):
def update(self, pt_cp, cam_cp, loopback_cp, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
self.prev_cruise_buttons = self.cruise_buttons
self.prev_distance_button = self.distance_button
@@ -91,11 +92,11 @@ class CarState(CarStateBase):
# Regen braking is braking
if self.CP.transmissionType == TransmissionType.direct:
ret.regenBraking = pt_cp.vl["EBCMRegenPaddle"]["RegenPaddle"] != 0
self.single_pedal_mode = ret.gearShifter == GearShifter.low or pt_cp.vl["EVDriveMode"]["SinglePedalModeActive"] == 1
self.single_pedal_mode = ret.gearShifter == GearShifter.low or pt_cp.vl["EVDriveMode"]["SinglePedalModeActive"] == 1 or (ret.regenBraking and GearShifter.manumatic)
if self.CP.enableGasInterceptor:
ret.gas = (pt_cp.vl["GAS_SENSOR"]["INTERCEPTOR_GAS"] + pt_cp.vl["GAS_SENSOR"]["INTERCEPTOR_GAS2"]) / 2.
threshold = 15 if self.CP.carFingerprint in CAMERA_ACC_CAR else 4
threshold = 10 if self.CP.carFingerprint in CAMERA_ACC_CAR else 4 # Panda 515 threshold = 10.88. Set lower to avoid panda blocking messages and GasInterceptor faulting.
ret.gasPressed = ret.gas > threshold
else:
ret.gas = pt_cp.vl["AcceleratorPedal2"]["AcceleratorPedal2"] / 254.
@@ -168,7 +169,20 @@ class CarState(CarStateBase):
ret.leftBlindspot = cam_cp.vl["BCMBlindSpotMonitor"]["LeftBSM"] == 1
ret.rightBlindspot = cam_cp.vl["BCMBlindSpotMonitor"]["RightBSM"] == 1
return ret
# FrogPilot CarState functions
fp_ret.hasMenu = not (self.CP.flags & GMFlags.NO_CAMERA.value or self.CP.carFingerprint in CC_ONLY_CAR)
self.lkas_previously_enabled = self.lkas_enabled
if self.CP.carFingerprint in SDGM_CAR:
self.lkas_enabled = cam_cp.vl["ASCMSteeringButton"]["LKAButton"]
else:
self.lkas_enabled = pt_cp.vl["ASCMSteeringButton"]["LKAButton"]
self.pcm_acc_status = pt_cp.vl["AcceleratorPedal2"]["CruiseState"]
fp_ret.sportGear = pt_cp.vl["SportMode"]["SportMode"] == 1
return ret, fp_ret
@staticmethod
def get_cam_can_parser(CP):
@@ -207,6 +221,7 @@ class CarState(CarStateBase):
("EBCMFrictionBrakeStatus", 20),
("PSCMSteeringAngle", 100),
("ECMAcceleratorPos", 80),
("SportMode", 0),
]
if CP.carFingerprint in SDGM_CAR:
+8
View File
@@ -195,6 +195,14 @@ FINGERPRINTS = {
{
190: 6, 193: 8, 197: 8, 199: 4, 201: 8, 208: 8, 209: 7, 211: 2, 241: 6, 249: 8, 257: 8, 288: 5, 289: 8, 292: 2, 298: 8, 304: 3, 309: 8, 311: 8, 313: 8, 320: 4, 322: 7, 328: 1, 331: 3, 352: 5, 353: 3, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 394: 7, 398: 8, 401: 8, 405: 8, 407: 7, 413: 8, 417: 7, 419: 1, 422: 4, 426: 7, 431: 8, 442: 8, 450: 4, 451: 8, 452: 8, 453: 6, 454: 8, 455: 7, 456: 8, 457: 6, 462: 4, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 528: 5, 532: 6, 554: 3, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 567: 5, 569: 3, 573: 1, 577: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 715: 8, 717: 5, 723: 4, 730: 4, 761: 7, 810: 8, 840: 5, 842: 5, 844: 8, 869: 4, 872: 1, 880: 6, 882: 8, 890: 1, 892: 2, 893: 2, 894: 1, 961: 8, 969: 8, 975: 2, 977: 8, 979: 8, 985: 5, 1001: 8, 1005: 6, 1009: 8, 1011: 6, 1013: 6, 1017: 8, 1020: 8, 1033: 7, 1034: 7, 1037: 5, 1105: 5, 1187: 5, 1195: 3, 1201: 3, 1217: 8, 1218: 3, 1221: 5, 1223: 3, 1225: 7, 1233: 8, 1236: 8, 1249: 8, 1257: 6, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1268: 2, 1271: 8, 1273: 3, 1276: 2, 1277: 7, 1278: 4, 1279: 4, 1280: 4, 1296: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1345: 8, 1417: 8, 1512: 8, 1514: 8, 1517: 8, 1601: 8, 1906: 7, 1907: 7, 1910: 7, 1912: 7, 1914: 7, 1916: 7, 1919: 7, 1927: 7, 1930: 7, 2018: 8, 2020: 8, 2021: 8, 2028: 8
}],
CAR.CHEVROLET_MALIBU_CC: [
{
190: 6, 193: 8, 197: 8, 199: 4, 201: 8, 209: 7, 211: 2, 241: 6, 249: 8, 257: 8, 288: 5, 298: 8, 304: 3, 309: 8, 311: 8, 313: 8, 320: 4, 328: 1, 352: 5, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 393: 7, 398: 8, 401: 8, 407: 7, 409: 8, 413: 8, 417: 7, 419: 1, 422: 4, 426: 7, 431: 8, 442: 8, 451: 8, 452: 8, 453: 6, 455: 7, 479: 3, 481: 7, 485: 8, 489: 8, 497: 8, 499: 3, 500: 6, 501: 8, 508: 8, 532: 6, 554: 3, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 567: 5, 573: 1, 577: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 717: 5, 730: 4, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 961: 8, 969: 8, 975: 2, 977: 8, 979: 8, 985: 5, 1001: 8, 1005: 6, 1009: 8, 1011: 6, 1013: 6, 1017: 8, 1020: 8, 1037: 5, 1105: 5, 1187: 6, 1189: 1, 1195: 3, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1233: 8, 1236: 8, 1249: 8, 1257: 6, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1268: 2, 1271: 8, 1273: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1417: 8, 1601: 8, 1906: 7, 1907: 7, 1912: 7, 1919: 7
}],
CAR.CHEVROLET_TRAX: [
{
190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 249: 8, 288: 5, 298: 8, 304: 3, 309: 8, 311: 8, 313: 8, 320: 4, 322: 7, 328: 1, 352: 5, 381: 8, 384: 4, 386: 8, 388: 8, 413: 8, 451: 8, 452: 8, 453: 6, 455: 7, 479: 3, 481: 7, 485: 8, 489: 8, 497: 8, 500: 6, 501: 8, 532: 6, 560: 8, 562: 8, 563: 5, 565: 5, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 707: 8, 715: 8, 717: 5, 761: 7, 789: 5, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 869: 4, 880: 6, 977: 8, 1001: 8, 1011: 6, 1017: 8, 1020: 8, 1217: 8, 1221: 5, 1233: 8, 1249: 8, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1271: 8, 1280: 4, 1296: 4, 1300: 8, 1930: 7
}],
}
FW_VERSIONS: dict[str, dict[tuple, list[bytes]]] = {
+80 -22
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
import os
from cereal import car
from cereal import car, custom
from math import fabs, exp
from panda import Panda
@@ -12,7 +12,10 @@ from openpilot.selfdrive.car.gm.values import CAR, CruiseButtons, CarControllerP
from openpilot.selfdrive.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, FRICTION_THRESHOLD, LatControlInputs, NanoFFModel
from openpilot.selfdrive.controls.lib.drive_helpers import get_friction
from openpilot.selfdrive.frogpilot.frogpilot_variables import params
ButtonType = car.CarState.ButtonEvent.Type
FrogPilotButtonType = custom.FrogPilotCarState.ButtonEvent.Type
EventName = car.CarEvent.EventName
GearShifter = car.CarState.GearShifter
TransmissionType = car.CarParams.TransmissionType
@@ -93,7 +96,9 @@ class CarInterface(CarInterfaceBase):
return self.torque_from_lateral_accel_linear
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
use_new_api = params.get_bool("NewLongAPIGM")
ret.carName = "gm"
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.gm)]
ret.autoResumeSng = False
@@ -107,7 +112,14 @@ class CarInterface(CarInterfaceBase):
else:
ret.transmissionType = TransmissionType.automatic
ret.longitudinalTuning.kiBP = [5., 35.]
if use_new_api:
ret.longitudinalTuning.kiBP = [5., 35.]
else:
ret.longitudinalTuning.deadzoneBP = [0.]
ret.longitudinalTuning.deadzoneV = [0.15]
ret.longitudinalTuning.kpBP = [5., 35.]
ret.longitudinalTuning.kiBP = [0.]
if candidate in CAMERA_ACC_CAR:
ret.experimentalLongitudinalAvailable = candidate not in CC_ONLY_CAR
@@ -119,7 +131,14 @@ class CarInterface(CarInterfaceBase):
ret.minSteerSpeed = 10 * CV.KPH_TO_MS
# Tuning for experimental long
ret.longitudinalTuning.kiV = [2.0, 1.5]
if use_new_api:
ret.longitudinalTuning.kiV = [2.0, 1.5]
ret.vEgoStopping = 0.1
ret.vEgoStarting = 0.1
else:
ret.longitudinalTuning.kpV = [2.0, 1.5]
ret.longitudinalTuning.kiV = [0.72]
ret.stoppingDecelRate = 2.0 # reach brake quickly after enabling
ret.vEgoStopping = 0.25
ret.vEgoStarting = 0.25
@@ -130,6 +149,8 @@ class CarInterface(CarInterfaceBase):
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_GM_HW_CAM_LONG
elif candidate in SDGM_CAR:
if use_new_api:
ret.longitudinalTuning.kiV = [0., 0.] # TODO: tuning
ret.experimentalLongitudinalAvailable = False
ret.networkLocation = NetworkLocation.fwdCamera
ret.pcmCruise = True
@@ -139,7 +160,7 @@ class CarInterface(CarInterfaceBase):
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_GM_HW_SDGM
else: # ASCM, OBD-II harness
ret.openpilotLongitudinalControl = True
ret.openpilotLongitudinalControl = not disable_openpilot_long
ret.networkLocation = NetworkLocation.gateway
ret.radarUnavailable = RADAR_HEADER_MSG not in fingerprint[CanBus.OBSTACLE] and not docs
ret.pcmCruise = False # stock non-adaptive cruise control is kept off
@@ -148,7 +169,11 @@ class CarInterface(CarInterfaceBase):
ret.minSteerSpeed = 7 * CV.MPH_TO_MS
# Tuning
ret.longitudinalTuning.kiV = [2.4, 1.5]
if use_new_api:
ret.longitudinalTuning.kiV = [2.4, 1.5]
else:
ret.longitudinalTuning.kpV = [2.4, 1.5]
ret.longitudinalTuning.kiV = [0.36]
if ret.enableGasInterceptor:
# Need to set ASCM long limits when using pedal interceptor, instead of camera ACC long limits
@@ -248,12 +273,19 @@ class CarInterface(CarInterfaceBase):
elif candidate == CAR.CADILLAC_CT6_CC:
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
elif candidate == CAR.CHEVROLET_MALIBU_CC:
ret.steerActuatorDelay = 0.2
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
elif candidate == CAR.CHEVROLET_TRAX:
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
if ret.enableGasInterceptor:
ret.networkLocation = NetworkLocation.fwdCamera
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_GM_HW_CAM
ret.minEnableSpeed = -1
ret.pcmCruise = False
ret.openpilotLongitudinalControl = True
ret.openpilotLongitudinalControl = not disable_openpilot_long
ret.stoppingControl = True
ret.autoResumeSng = True
@@ -261,8 +293,14 @@ class CarInterface(CarInterfaceBase):
ret.flags |= GMFlags.PEDAL_LONG.value
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_GM_PEDAL_LONG
# Note: Low speed, stop and go not tested. Should be fairly smooth on highway
ret.longitudinalTuning.kiBP = [0.0, 5., 35.]
ret.longitudinalTuning.kiV = [0.0, 0.35, 0.5]
if use_new_api:
ret.longitudinalTuning.kiBP = [0.0, 5., 35.]
ret.longitudinalTuning.kiV = [0.0, 0.35, 0.5]
else:
ret.longitudinalTuning.kpBP = [5., 35.]
ret.longitudinalTuning.kpV = [0.35, 0.5]
ret.longitudinalTuning.kiBP = [0., 35.0]
ret.longitudinalTuning.kiV = [0.1, 0.1]
ret.longitudinalTuning.kf = 0.15
ret.stoppingDecelRate = 0.8
else: # Pedal used for SNG, ACC for longitudinal control otherwise
@@ -277,17 +315,24 @@ class CarInterface(CarInterfaceBase):
ret.radarUnavailable = True
ret.experimentalLongitudinalAvailable = False
ret.minEnableSpeed = 24 * CV.MPH_TO_MS
ret.openpilotLongitudinalControl = True
ret.openpilotLongitudinalControl = not disable_openpilot_long
ret.pcmCruise = False
if use_new_api:
ret.longitudinalTuning.kiBP = [10.7, 10.8, 28.]
ret.longitudinalTuning.kiV = [0., 20., 20.] # set lower end to 0 since we can't drive below that speed
else:
ret.longitudinalTuning.deadzoneBP = [0.]
ret.longitudinalTuning.deadzoneV = [0.56] # == 2 km/h/s, 1.25 mph/s
ret.longitudinalActuatorDelay = 1. # TODO: measure this
ret.longitudinalTuning.kpBP = [10.7, 10.8, 28.] # 10.7 m/s == 24 mph
ret.longitudinalTuning.kpV = [0., 20., 20.] # set lower end to 0 since we can't drive below that speed
ret.longitudinalTuning.kiBP = [0.]
ret.longitudinalTuning.kiV = [0.1]
ret.stoppingDecelRate = 11.18 # == 25 mph/s (.04 rate)
ret.longitudinalActuatorDelayLowerBound = 1. # TODO: measure this
ret.longitudinalActuatorDelayUpperBound = 2.
ret.longitudinalTuning.kiBP = [10.7, 10.8, 28.]
ret.longitudinalTuning.kiV = [0., 20., 20.] # set lower end to 0 since we can't drive below that speed
if candidate in CC_ONLY_CAR:
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_GM_NO_ACC
@@ -302,8 +347,8 @@ class CarInterface(CarInterfaceBase):
return ret
# returns a car.CarState
def _update(self, c):
ret = self.CS.update(self.cp, self.cp_cam, self.cp_loopback)
def _update(self, c, frogpilot_toggles):
ret, fp_ret = self.CS.update(self.cp, self.cp_cam, self.cp_loopback, frogpilot_toggles)
# Don't add event if transitioning from INIT, unless it's to an actual button
if self.CS.cruise_buttons != CruiseButtons.UNPRESS or self.CS.prev_cruise_buttons != CruiseButtons.INIT:
@@ -311,7 +356,9 @@ class CarInterface(CarInterfaceBase):
*create_button_events(self.CS.cruise_buttons, self.CS.prev_cruise_buttons, BUTTONS_DICT,
unpressed_btn=CruiseButtons.UNPRESS),
*create_button_events(self.CS.distance_button, self.CS.prev_distance_button,
{1: ButtonType.gapAdjustCruise})
{1: ButtonType.gapAdjustCruise}),
*create_button_events(self.CS.lkas_enabled, self.CS.lkas_previously_enabled,
{1: FrogPilotButtonType.lkas}),
]
# The ECM allows enabling on falling edge of set, but only rising edge of resume
@@ -328,10 +375,21 @@ class CarInterface(CarInterfaceBase):
if below_min_enable_speed and not (ret.standstill and ret.brake >= 20 and
(self.CP.networkLocation == NetworkLocation.fwdCamera and not self.CP.carFingerprint in SDGM_CAR)):
events.add(EventName.belowEngageSpeed)
if ret.cruiseState.standstill and not self.CP.autoResumeSng:
if ret.cruiseState.standstill and not (self.CP.autoResumeSng or self.disable_resumeRequired):
events.add(EventName.resumeRequired)
if ret.vEgo < self.CP.minSteerSpeed:
self.resumeRequired_shown = True
# Disable the "resumeRequired" event after it's been shown once to not annoy the driver
if self.resumeRequired_shown and not ret.cruiseState.standstill:
self.disable_resumeRequired = True
if ret.vEgo < self.CP.minSteerSpeed and not self.disable_belowSteerSpeed:
events.add(EventName.belowSteerSpeed)
self.belowSteerSpeed_shown = True
# Disable the "belowSteerSpeed" event after it's been shown once to not annoy the driver
if self.belowSteerSpeed_shown and ret.vEgo >= self.CP.minSteerSpeed:
self.disable_belowSteerSpeed = True
if (self.CP.flags & GMFlags.CC_LONG.value) and ret.vEgo < self.CP.minEnableSpeed and ret.cruiseState.enabled:
events.add(EventName.speedTooLow)
@@ -344,4 +402,4 @@ class CarInterface(CarInterfaceBase):
ret.events = events.to_msg()
return ret
return ret, fp_ret
+34 -19
View File
@@ -33,39 +33,45 @@ class CarControllerParams:
# Our controller should still keep the 2 second average above
# -3.5 m/s^2 as per planner limits
ACCEL_MAX = 2. # m/s^2
ACCEL_MAX_PLUS = 4. # m/s^2
ACCEL_MIN = -4. # m/s^2
def __init__(self, CP):
# Gas/brake lookups
self.ZERO_GAS = 2048 # Coasting
self.ZERO_GAS = 6144 # Coasting
self.MAX_BRAKE = 400 # ~ -4.0 m/s^2 with regen
if CP.carFingerprint in CAMERA_ACC_CAR and CP.carFingerprint not in CC_ONLY_CAR:
self.MAX_GAS = 3400
self.MAX_ACC_REGEN = 1514
self.INACTIVE_REGEN = 1554
self.MAX_GAS = 7496
self.MAX_GAS_PLUS = 8848
self.MAX_ACC_REGEN = 5610
self.INACTIVE_REGEN = 5650
# Camera ACC vehicles have no regen while enabled.
# Camera transitions to MAX_ACC_REGEN from ZERO_GAS and uses friction brakes instantly
max_regen_acceleration = 0.
self.max_regen_acceleration = 0.
elif CP.carFingerprint in SDGM_CAR:
self.MAX_GAS = 3400
self.MAX_ACC_REGEN = 1514
self.INACTIVE_REGEN = 1554
max_regen_acceleration = 0.
self.MAX_GAS = 7496
self.MAX_GAS_PLUS = 7496
self.MAX_ACC_REGEN = 5610
self.INACTIVE_REGEN = 5650
self.max_regen_acceleration = 0.
else:
self.MAX_GAS = 3072 # Safety limit, not ACC max. Stock ACC >4096 from standstill.
self.MAX_ACC_REGEN = 1404 # Max ACC regen is slightly less than max paddle regen
self.INACTIVE_REGEN = 1404
self.MAX_GAS = 7168 # Safety limit, not ACC max. Stock ACC >8192 from standstill.
self.MAX_GAS_PLUS = 8191 # 8292 uses new bit, possible but not tested. Matches Twilsonco tw-main max
self.MAX_ACC_REGEN = 5500 # Max ACC regen is slightly less than max paddle regen
self.INACTIVE_REGEN = 5500
# ICE has much less engine braking force compared to regen in EVs,
# lower threshold removes some braking deadzone
max_regen_acceleration = -1. if CP.carFingerprint in EV_CAR else -0.1
self.max_regen_acceleration = -1. if CP.carFingerprint in EV_CAR else -0.1
self.GAS_LOOKUP_BP = [max_regen_acceleration, 0., self.ACCEL_MAX]
self.GAS_LOOKUP_BP = [self.max_regen_acceleration, 0., self.ACCEL_MAX]
self.GAS_LOOKUP_BP_PLUS = [self.max_regen_acceleration, 0., self.ACCEL_MAX_PLUS]
self.GAS_LOOKUP_V = [self.MAX_ACC_REGEN, self.ZERO_GAS, self.MAX_GAS]
self.GAS_LOOKUP_V_PLUS = [self.MAX_ACC_REGEN, self.ZERO_GAS, self.MAX_GAS_PLUS]
self.BRAKE_LOOKUP_BP = [self.ACCEL_MIN, max_regen_acceleration]
self.BRAKE_LOOKUP_BP = [self.ACCEL_MIN, self.max_regen_acceleration]
self.BRAKE_LOOKUP_V = [self.MAX_BRAKE, 0.]
# determined by letting Volt regen to a stop in L gear from 89mph,
@@ -76,10 +82,11 @@ class CarControllerParams:
def update_ev_gas_brake_threshold(self, v_ego):
gas_brake_threshold = interp(v_ego, self.EV_GAS_BRAKE_THRESHOLD_BP, self.EV_GAS_BRAKE_THRESHOLD_V)
self.GAS_LOOKUP_BP_PLUS = [self.max_regen_acceleration, 0., self.ACCEL_MAX_PLUS]
self.EV_GAS_LOOKUP_BP = [gas_brake_threshold, max(0., gas_brake_threshold), self.ACCEL_MAX]
self.EV_GAS_LOOKUP_BP_PLUS = [gas_brake_threshold, max(0., gas_brake_threshold), self.ACCEL_MAX_PLUS]
self.EV_BRAKE_LOOKUP_BP = [self.ACCEL_MIN, gas_brake_threshold]
@dataclass
class GMCarDocs(CarDocs):
package: str = "Adaptive Cruise Control (ACC)"
@@ -225,6 +232,14 @@ class CAR(Platforms):
[GMCarDocs("Buick Baby Enclave 2020-23", "Driver Assist Package")],
CarSpecs(mass=2050, wheelbase=2.86, steerRatio=16.0, centerToFrontRatio=0.5),
)
CHEVROLET_MALIBU_CC = GMPlatformConfig(
[GMCarDocs("Chevrolet Malibu 2023 No ACC")],
CarSpecs(mass=1450, wheelbase=2.8, steerRatio=15.8, centerToFrontRatio=0.4),
)
CHEVROLET_TRAX = GMPlatformConfig(
[GMCarDocs("Chevrolet TRAX 2024")],
CarSpecs(mass=1365, wheelbase=2.7, steerRatio=16.4, centerToFrontRatio=0.4),
)
class CruiseButtons:
@@ -306,15 +321,15 @@ FW_QUERY_CONFIG = FwQueryConfig(
)
EV_CAR = {CAR.CHEVROLET_VOLT, CAR.CHEVROLET_BOLT_EUV, CAR.CHEVROLET_VOLT_CC, CAR.CHEVROLET_BOLT_CC}
CC_ONLY_CAR = {CAR.CHEVROLET_VOLT_CC, CAR.CHEVROLET_BOLT_CC, CAR.CHEVROLET_EQUINOX_CC, CAR.CHEVROLET_SUBURBAN_CC, CAR.GMC_YUKON_CC, CAR.CADILLAC_CT6_CC, CAR.CHEVROLET_TRAILBLAZER_CC, CAR.CADILLAC_XT5_CC}
CC_ONLY_CAR = {CAR.CHEVROLET_VOLT_CC, CAR.CHEVROLET_BOLT_CC, CAR.CHEVROLET_EQUINOX_CC, CAR.CHEVROLET_SUBURBAN_CC, CAR.GMC_YUKON_CC, CAR.CADILLAC_CT6_CC, CAR.CHEVROLET_TRAILBLAZER_CC, CAR.CADILLAC_XT5_CC, CAR.CHEVROLET_MALIBU_CC}
# CC_ONLY_CAR = set(c for c in CAR if str(c).endswith('_CC'))
# We're integrated at the Safety Data Gateway Module on these cars
SDGM_CAR = {CAR.CADILLAC_XT4, CAR.CHEVROLET_TRAVERSE, CAR.BUICK_BABYENCLAVE}
# We're integrated at the camera with VOACC on these cars (instead of ASCM w/ OBD-II harness)
CAMERA_ACC_CAR = {CAR.CHEVROLET_BOLT_EUV, CAR.CHEVROLET_SILVERADO, CAR.CHEVROLET_EQUINOX, CAR.CHEVROLET_TRAILBLAZER}
CAMERA_ACC_CAR.update({CAR.CHEVROLET_VOLT_CC, CAR.CHEVROLET_BOLT_CC, CAR.CHEVROLET_EQUINOX_CC, CAR.GMC_YUKON_CC, CAR.CADILLAC_CT6_CC, CAR.CHEVROLET_TRAILBLAZER_CC, CAR.CADILLAC_XT5_CC})
CAMERA_ACC_CAR = {CAR.CHEVROLET_BOLT_EUV, CAR.CHEVROLET_SILVERADO, CAR.CHEVROLET_EQUINOX, CAR.CHEVROLET_TRAILBLAZER, CAR.CHEVROLET_TRAX}
CAMERA_ACC_CAR.update({CAR.CHEVROLET_VOLT_CC, CAR.CHEVROLET_BOLT_CC, CAR.CHEVROLET_EQUINOX_CC, CAR.GMC_YUKON_CC, CAR.CADILLAC_CT6_CC, CAR.CHEVROLET_TRAILBLAZER_CC, CAR.CADILLAC_XT5_CC, CAR.CHEVROLET_MALIBU_CC})
# CAMERA_ACC_CAR.update(CC_ONLY_CAR)
STEER_THRESHOLD = 1.0
+25 -5
View File
@@ -4,11 +4,14 @@ from cereal import car
from openpilot.common.numpy_fast import clip, interp
from openpilot.common.realtime import DT_CTRL
from opendbc.can.packer import CANPacker
from openpilot.selfdrive.car import create_gas_interceptor_command
from openpilot.selfdrive.car.honda import hondacan
from openpilot.selfdrive.car.honda.values import CruiseButtons, VISUAL_HUD, HONDA_BOSCH, HONDA_BOSCH_RADARLESS, HONDA_NIDEC_ALT_PCM_ACCEL, CarControllerParams
from openpilot.selfdrive.car.interfaces import CarControllerBase
from openpilot.selfdrive.controls.lib.drive_helpers import rate_limit
from openpilot.selfdrive.frogpilot.controls.lib.frogpilot_acceleration import get_max_allowed_accel
VisualAlert = car.CarControl.HUDControl.VisualAlert
LongCtrlState = car.CarControl.Actuators.LongControlState
@@ -125,7 +128,7 @@ class CarController(CarControllerBase):
self.brake = 0.0
self.last_steer = 0.0
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
actuators = CC.actuators
hud_control = CC.hudControl
conversion = hondacan.get_cruise_speed_conversion(self.CP.carFingerprint, CS.is_metric)
@@ -182,7 +185,7 @@ class CarController(CarControllerBase):
0.5]
# The Honda ODYSSEY seems to have different PCM_ACCEL
# msgs, is it other cars too?
if not CC.longActive:
if self.CP.enableGasInterceptor or not CC.longActive:
pcm_speed = 0.0
pcm_accel = int(0.0)
elif self.CP.carFingerprint in HONDA_NIDEC_ALT_PCM_ACCEL:
@@ -215,7 +218,10 @@ class CarController(CarControllerBase):
ts = self.frame * DT_CTRL
if self.CP.carFingerprint in HONDA_BOSCH:
self.accel = clip(accel, self.params.BOSCH_ACCEL_MIN, self.params.BOSCH_ACCEL_MAX)
if frogpilot_toggles.sport_plus:
self.accel = clip(accel, self.params.BOSCH_ACCEL_MIN, min(frogpilot_toggles.max_desired_acceleration, get_max_allowed_accel(CS.out.vEgo)))
else:
self.accel = clip(accel, self.params.BOSCH_ACCEL_MIN, min(frogpilot_toggles.max_desired_acceleration, self.params.BOSCH_ACCEL_MAX))
self.gas = interp(accel, self.params.BOSCH_GAS_LOOKUP_BP, self.params.BOSCH_GAS_LOOKUP_V)
stopping = actuators.longControlState == LongCtrlState.stopping
@@ -234,15 +240,29 @@ class CarController(CarControllerBase):
self.apply_brake_last = apply_brake
self.brake = apply_brake / self.params.NIDEC_BRAKE_MAX
if self.CP.enableGasInterceptor:
# way too aggressive at low speed without this
gas_mult = interp(CS.out.vEgo, [0., 10.], [0.4, 1.0])
# send exactly zero if apply_gas is zero. Interceptor will send the max between read value and apply_gas.
# This prevents unexpected pedal range rescaling
# Sending non-zero gas when OP is not enabled will cause the PCM not to respond to throttle as expected
# when you do enable.
if CC.longActive:
self.gas = clip(gas_mult * (gas - brake + wind_brake * 3 / 4), 0., 1.)
else:
self.gas = 0.0
can_sends.append(create_gas_interceptor_command(self.packer, self.gas, self.frame // 2))
# Send dashboard UI commands.
if self.frame % 10 == 0:
hud = HUDData(int(pcm_accel), int(round(hud_v_cruise)), hud_control.leadVisible,
hud_control.lanesVisible, fcw_display, acc_alert, steer_required, hud_control.leadDistanceBars)
can_sends.extend(hondacan.create_ui_commands(self.packer, self.CAN, self.CP, CC.enabled, pcm_speed, hud, CS.is_metric, CS.acc_hud, CS.lkas_hud))
can_sends.extend(hondacan.create_ui_commands(self.packer, self.CAN, self.CP, CC.enabled, pcm_speed, hud, CS.is_metric, CS.acc_hud, CS.lkas_hud, CC.latActive))
if self.CP.openpilotLongitudinalControl and self.CP.carFingerprint not in HONDA_BOSCH:
self.speed = pcm_speed
self.gas = pcm_accel / self.params.NIDEC_GAS_MAX
if not self.CP.enableGasInterceptor:
self.gas = pcm_accel / self.params.NIDEC_GAS_MAX
new_actuators = actuators.as_builder()
new_actuators.speed = self.speed
+36 -8
View File
@@ -1,6 +1,6 @@
from collections import defaultdict
from cereal import car
from cereal import car, custom
from openpilot.common.conversions import Conversions as CV
from openpilot.common.numpy_fast import interp
from opendbc.can.can_define import CANDefine
@@ -47,7 +47,7 @@ def get_can_messages(CP, gearbox_msg):
if CP.flags & HondaFlags.BOSCH_ALT_BRAKE:
messages.append(("BRAKE_MODULE", 50))
if CP.carFingerprint in (HONDA_BOSCH | {CAR.HONDA_CIVIC, CAR.HONDA_ODYSSEY, CAR.HONDA_ODYSSEY_CHN}):
if CP.carFingerprint in (HONDA_BOSCH | {CAR.HONDA_CIVIC, CAR.HONDA_CLARITY, CAR.HONDA_ODYSSEY, CAR.HONDA_ODYSSEY_CHN}):
messages.append(("EPB_STATUS", 50))
if CP.carFingerprint in HONDA_BOSCH:
@@ -72,8 +72,14 @@ def get_can_messages(CP, gearbox_msg):
else:
messages.append(("DOORS_STATUS", 3))
# add gas interceptor reading if we are using it
if CP.enableGasInterceptor:
messages.append(("GAS_SENSOR", 50))
if CP.carFingerprint in HONDA_BOSCH_RADARLESS:
messages.append(("CRUISE_FAULT_STATUS", 50))
elif CP.carFingerprint == CAR.HONDA_CLARITY:
messages.append(("BRAKE_ERROR", 100)),
elif CP.openpilotLongitudinalControl:
messages.append(("STANDSTILL", 50))
@@ -104,8 +110,9 @@ class CarState(CarStateBase):
# However, on cars without a digital speedometer this is not always present (HRV, FIT, CRV 2016, ILX and RDX)
self.dash_speed_seen = False
def update(self, cp, cp_cam, cp_body):
def update(self, cp, cp_cam, cp_body, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
# car params
v_weight_v = [0., 1.] # don't trust smooth speed at low values to avoid premature zero snapping
@@ -143,6 +150,8 @@ class CarState(CarStateBase):
if self.CP.carFingerprint in HONDA_BOSCH_RADARLESS:
ret.accFaulted = bool(cp.vl["CRUISE_FAULT_STATUS"]["CRUISE_FAULT"])
elif self.CP.carFingerprint == CAR.HONDA_CLARITY:
ret.accFaulted = bool(cp.vl["BRAKE_ERROR"]["BRAKE_ERROR_1"] or cp.vl["BRAKE_ERROR"]["BRAKE_ERROR_2"])
else:
# On some cars, these two signals are always 1, this flag is masking a bug in release
# FIXME: find and set the ACC faulted signals on more platforms
@@ -181,14 +190,19 @@ class CarState(CarStateBase):
ret.brakeHoldActive = cp.vl["VSA_STATUS"]["BRAKE_HOLD_ACTIVE"] == 1
# TODO: set for all cars
if self.CP.carFingerprint in (HONDA_BOSCH | {CAR.HONDA_CIVIC, CAR.HONDA_ODYSSEY, CAR.HONDA_ODYSSEY_CHN}):
if self.CP.carFingerprint in (HONDA_BOSCH | {CAR.HONDA_CIVIC, CAR.HONDA_CLARITY, CAR.HONDA_ODYSSEY, CAR.HONDA_ODYSSEY_CHN}):
ret.parkingBrake = cp.vl["EPB_STATUS"]["EPB_STATE"] != 0
gear = int(cp.vl[self.gearbox_msg]["GEAR_SHIFTER"])
ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(gear, None))
ret.gas = cp.vl["POWERTRAIN_DATA"]["PEDAL_GAS"]
ret.gasPressed = ret.gas > 1e-5
if self.CP.enableGasInterceptor:
# Same threshold as panda, equivalent to 1e-5 with previous DBC scaling
ret.gas = (cp.vl["GAS_SENSOR"]["INTERCEPTOR_GAS"] + cp.vl["GAS_SENSOR"]["INTERCEPTOR_GAS2"]) // 2
ret.gasPressed = ret.gas > 492
else:
ret.gas = cp.vl["POWERTRAIN_DATA"]["PEDAL_GAS"]
ret.gasPressed = ret.gas > 1e-5
ret.steeringTorque = cp.vl["STEER_STATUS"]["STEER_TORQUE_SENSOR"]
ret.steeringTorqueEps = cp.vl["STEER_MOTOR_TORQUE"]["MOTOR_TORQUE"]
@@ -241,7 +255,8 @@ class CarState(CarStateBase):
if self.CP.carFingerprint not in HONDA_BOSCH_RADARLESS:
ret.stockAeb = (not self.CP.openpilotLongitudinalControl) and bool(cp.vl["ACC_CONTROL"]["AEB_STATUS"] and cp.vl["ACC_CONTROL"]["ACCEL_COMMAND"] < -1e-5)
else:
ret.stockAeb = bool(cp_cam.vl["BRAKE_COMMAND"]["AEB_REQ_1"] and cp_cam.vl["BRAKE_COMMAND"]["COMPUTER_BRAKE"] > 1e-5)
aeb_sig = "COMPUTER_BRAKE_ALT" if self.CP.carFingerprint == CAR.HONDA_CLARITY else "COMPUTER_BRAKE"
ret.stockAeb = bool(cp_cam.vl["BRAKE_COMMAND"]["AEB_REQ_1"] and cp_cam.vl["BRAKE_COMMAND"][aeb_sig] > 1e-5)
self.acc_hud = False
self.lkas_hud = False
@@ -258,7 +273,20 @@ class CarState(CarStateBase):
ret.leftBlindspot = cp_body.vl["BSM_STATUS_LEFT"]["BSM_ALERT"] == 1
ret.rightBlindspot = cp_body.vl["BSM_STATUS_RIGHT"]["BSM_ALERT"] == 1
return ret
# FrogPilot CarState functions
brake_light_cars = (CAR.HONDA_CIVIC, CAR.HONDA_ODYSSEY, CAR.HONDA_ODYSSEY_CHN, CAR.HONDA_CRV_5G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC_BOSCH,
CAR.HONDA_CIVIC_BOSCH_DIESEL, CAR.HONDA_CRV_HYBRID, CAR.ACURA_RDX_3G, CAR.HONDA_E)
if self.CP.carFingerprint in brake_light_cars or (self.CP.carFingerprint in HONDA_BOSCH and self.CP.carFingerprint not in HONDA_BOSCH_RADARLESS):
fp_ret.brakeLights = bool(cp.vl["ACC_CONTROL"]['BRAKE_LIGHTS'] != 0 or ret.brake > 0.4) if not self.CP.openpilotLongitudinalControl else bool(ret.brake > 0.4)
self.prev_distance_button = self.distance_button
self.distance_button = self.cruise_setting == 3
self.lkas_previously_enabled = self.lkas_enabled
self.lkas_enabled = self.cruise_setting == 1
return ret, fp_ret
def get_can_parser(self, CP):
messages = get_can_messages(CP, self.gearbox_msg)
+35
View File
@@ -222,6 +222,16 @@ FW_VERSIONS = {
b'39990-TGH-J530\x00\x00',
b'39990-TGL-E130\x00\x00',
b'39990-TGN-E120\x00\x00',
# Modded EPS Bosch Civic fw list
b'39990-TBA,C020\x00\x00',
b'39990-TBA,C120\x00\x00',
b'39990-TEA,T820\x00\x00',
b'39990-TEZ,T020\x00\x00',
b'39990-TGG,A020\x00\x00',
b'39990-TGG,A120\x00\x00',
b'39990-TGG,J510\x00\x00',
b'39990-TGL,E130\x00\x00',
b'39990-TGN,E120\x00\x00',
],
(Ecu.srs, 0x18da53f1, None): [
b'77959-TBA-A060\x00\x00',
@@ -892,4 +902,29 @@ FW_VERSIONS = {
b'28101-65J-N010\x00\x00',
],
},
CAR.HONDA_CLARITY: {
(Ecu.shiftByWire, 0x18da0bf1, None): [
b'54008-TRW-A910\x00\x00',
],
(Ecu.vsa, 0x18da28f1, None): [
b'57114-TRW-A010\x00\x00',
b'57114-TRW-A020\x00\x00',
],
(Ecu.eps, 0x18da30f1, None): [
b'39990-TRW-A020\x00\x00',
b'39990-TRW,A020\x00\x00', # modified firmware
b'39990,TRW,A020\x00\x00', # extra modified firmware
],
(Ecu.srs, 0x18da53f1, None): [
b'77959-TRW-A210\x00\x00',
b'77959-TRW-A220\x00\x00',
],
(Ecu.gateway, 0x18daeff1, None): [
b'38897-TRW-A010\x00\x00',
],
(Ecu.combinationMeter, 0x18da60f1, None): [
b'78109-TRW-A020\x00\x00',
b'78109-TRW-A030\x00\x00',
],
},
}
+10 -4
View File
@@ -53,8 +53,6 @@ def create_brake_command(packer, CAN, apply_brake, pump_on, pcm_override, pcm_ca
pcm_fault_cmd = False
values = {
"COMPUTER_BRAKE": apply_brake,
"BRAKE_PUMP_REQUEST": pump_on,
"CRUISE_OVERRIDE": pcm_override,
"CRUISE_FAULT_CMD": pcm_fault_cmd,
"CRUISE_CANCEL_CMD": pcm_cancel_cmd,
@@ -67,6 +65,14 @@ def create_brake_command(packer, CAN, apply_brake, pump_on, pcm_override, pcm_ca
"AEB_REQ_2": 0,
"AEB_STATUS": 0,
}
if car_fingerprint == CAR.HONDA_CLARITY:
values["COMPUTER_BRAKE_ALT"] = apply_brake
values["BRAKE_PUMP_REQUEST_ALT"] = apply_brake > 0
else:
values["COMPUTER_BRAKE"] = apply_brake
values["BRAKE_PUMP_REQUEST"] = pump_on
return packer.make_can_msg("BRAKE_COMMAND", CAN.pt, values)
@@ -134,7 +140,7 @@ def create_bosch_supplemental_1(packer, CAN, car_fingerprint):
return packer.make_can_msg("BOSCH_SUPPLEMENTAL_1", bus, values)
def create_ui_commands(packer, CAN, CP, enabled, pcm_speed, hud, is_metric, acc_hud, lkas_hud):
def create_ui_commands(packer, CAN, CP, enabled, pcm_speed, hud, is_metric, acc_hud, lkas_hud, lat_active):
commands = []
radar_disabled = CP.carFingerprint in (HONDA_BOSCH - HONDA_BOSCH_RADARLESS) and CP.openpilotLongitudinalControl
bus_lkas = get_lkas_cmd_bus(CAN, CP.carFingerprint, radar_disabled)
@@ -169,7 +175,7 @@ def create_ui_commands(packer, CAN, CP, enabled, pcm_speed, hud, is_metric, acc_
lkas_hud_values = {
'SET_ME_X41': 0x41,
'STEERING_REQUIRED': hud.steer_required,
'SOLID_LANES': hud.lanes_visible,
'SOLID_LANES': lat_active,
'BEEP': 0,
}
+38 -11
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
from cereal import car
from cereal import car, custom
from panda import Panda
from openpilot.common.conversions import Conversions as CV
from openpilot.common.numpy_fast import interp
@@ -12,6 +12,7 @@ from openpilot.selfdrive.car.disable_ecu import disable_ecu
ButtonType = car.CarState.ButtonEvent.Type
FrogPilotButtonType = custom.FrogPilotCarState.ButtonEvent.Type
EventName = car.CarEvent.EventName
TransmissionType = car.CarParams.TransmissionType
BUTTONS_DICT = {CruiseButtons.RES_ACCEL: ButtonType.accelCruise, CruiseButtons.DECEL_SET: ButtonType.decelCruise,
@@ -24,6 +25,8 @@ class CarInterface(CarInterfaceBase):
def get_pid_accel_limits(CP, current_speed, cruise_speed):
if CP.carFingerprint in HONDA_BOSCH:
return CarControllerParams.BOSCH_ACCEL_MIN, CarControllerParams.BOSCH_ACCEL_MAX
elif CP.enableGasInterceptor:
return CarControllerParams.NIDEC_ACCEL_MIN, CarControllerParams.NIDEC_ACCEL_MAX
else:
# NIDECs don't allow acceleration near cruise_speed,
# so limit limits of pid to prevent windup
@@ -32,7 +35,7 @@ class CarInterface(CarInterfaceBase):
return CarControllerParams.NIDEC_ACCEL_MIN, interp(current_speed, ACCEL_MAX_BP, ACCEL_MAX_VALS)
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
ret.carName = "honda"
CAN = CanBus(ret, fingerprint)
@@ -48,9 +51,10 @@ class CarInterface(CarInterfaceBase):
ret.pcmCruise = not ret.openpilotLongitudinalControl
else:
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.hondaNidec)]
ret.openpilotLongitudinalControl = True
ret.enableGasInterceptor = 0x201 in fingerprint[CAN.pt]
ret.openpilotLongitudinalControl = not disable_openpilot_long
ret.pcmCruise = True
ret.pcmCruise = not ret.enableGasInterceptor
if candidate == CAR.HONDA_CRV_5G:
ret.enableBsm = 0x12f8bfa7 in fingerprint[CAN.radar]
@@ -100,8 +104,12 @@ class CarInterface(CarInterfaceBase):
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[1.1], [0.33]]
elif candidate in (CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CIVIC_BOSCH_DIESEL, CAR.HONDA_CIVIC_2022):
ret.lateralParams.torqueBP, ret.lateralParams.torqueV = [[0, 4096], [0, 4096]] # TODO: determine if there is a dead zone at the top end
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.8], [0.24]]
if eps_modified:
ret.lateralParams.torqueBP, ret.lateralParams.torqueV = [[0, 2564, 8000], [0, 2564, 3840]]
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.3], [0.09]] # 2.5x Modded EPS
else:
ret.lateralParams.torqueBP, ret.lateralParams.torqueV = [[0, 4096], [0, 4096]] # TODO: determine if there is a dead zone at the top end
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.8], [0.24]]
elif candidate == CAR.HONDA_ACCORD:
ret.lateralParams.torqueBP, ret.lateralParams.torqueV = [[0, 4096], [0, 4096]] # TODO: determine if there is a dead zone at the top end
@@ -184,6 +192,21 @@ class CarInterface(CarInterfaceBase):
ret.lateralParams.torqueBP, ret.lateralParams.torqueV = [[0, 4096], [0, 4096]] # TODO: determine if there is a dead zone at the top end
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.6], [0.18]] # TODO: can probably use some tuning
elif candidate == CAR.HONDA_CLARITY:
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HONDA_CLARITY
if eps_modified:
for fw in car_fw:
if fw.ecu == "eps" and b"-" not in fw.fwVersion and b"," in fw.fwVersion:
ret.lateralTuning.pid.kf = 0.00004
ret.lateralParams.torqueBP, ret.lateralParams.torqueV = [[0, 0xA00, 0x3C00], [0, 2560, 3840]]
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.1575], [0.05175]]
elif fw.ecu == "eps" and b"-" in fw.fwVersion and b"," in fw.fwVersion:
ret.lateralParams.torqueBP, ret.lateralParams.torqueV = [[0, 0xA00, 0x2800], [0, 2560, 3840]]
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.3], [0.1]]
else:
ret.lateralParams.torqueBP, ret.lateralParams.torqueV = [[0, 2560], [0, 2560]]
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.8], [0.24]]
else:
raise ValueError(f"unsupported car {candidate}")
@@ -202,13 +225,16 @@ class CarInterface(CarInterfaceBase):
if ret.openpilotLongitudinalControl and candidate in HONDA_BOSCH:
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HONDA_BOSCH_LONG
if ret.enableGasInterceptor and candidate not in HONDA_BOSCH:
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HONDA_GAS_INTERCEPTOR
if candidate in HONDA_BOSCH_RADARLESS:
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HONDA_RADARLESS
# min speed to enable ACC. if car can do stop and go, then set enabling speed
# to a negative value, so it won't matter. Otherwise, add 0.5 mph margin to not
# conflict with PCM acc
ret.autoResumeSng = candidate in (HONDA_BOSCH | {CAR.HONDA_CIVIC})
ret.autoResumeSng = candidate in (HONDA_BOSCH | {CAR.HONDA_CIVIC, CAR.HONDA_CLARITY}) or ret.enableGasInterceptor
ret.minEnableSpeed = -1. if ret.autoResumeSng else 25.5 * CV.MPH_TO_MS
ret.steerActuatorDelay = 0.1
@@ -222,12 +248,13 @@ class CarInterface(CarInterfaceBase):
disable_ecu(logcan, sendcan, bus=1, addr=0x18DAB0F1, com_cont_req=b'\x28\x83\x03')
# returns a car.CarState
def _update(self, c):
ret = self.CS.update(self.cp, self.cp_cam, self.cp_body)
def _update(self, c, frogpilot_toggles):
ret, fp_ret = self.CS.update(self.cp, self.cp_cam, self.cp_body, frogpilot_toggles)
ret.buttonEvents = [
*create_button_events(self.CS.cruise_buttons, self.CS.prev_cruise_buttons, BUTTONS_DICT),
*create_button_events(self.CS.cruise_setting, self.CS.prev_cruise_setting, SETTINGS_BUTTONS_DICT),
*create_button_events(self.CS.lkas_enabled, self.CS.lkas_previously_enabled, {1: FrogPilotButtonType.lkas}),
]
# events
@@ -246,10 +273,10 @@ class CarInterface(CarInterfaceBase):
# non loud alert if cruise disables below 25mph as expected (+ a little margin)
events.add(EventName.speedTooLow)
else:
events.add(EventName.cruiseDisabled)
events.add(EventName.buttonCancel)
if self.CS.CP.minEnableSpeed > 0 and ret.vEgo < 0.001:
events.add(EventName.manualRestart)
ret.events = events.to_msg()
return ret
return ret, fp_ret
+5
View File
@@ -191,6 +191,11 @@ class CAR(Platforms):
dbc_dict('acura_ilx_2016_can_generated', 'acura_ilx_2016_nidec'),
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
)
HONDA_CLARITY = HondaNidecPlatformConfig(
[HondaCarDocs("Honda Clarity 2018-22", "All", min_steer_speed=3. * CV.MPH_TO_MS)],
CarSpecs(mass=4052. * CV.LB_TO_KG, wheelbase=2.75, centerToFrontRatio=0.41, steerRatio=16.50, tireStiffnessFactor=1.),
dbc_dict('honda_clarity_hybrid_2018_can_generated', 'acura_ilx_2016_nidec'),
)
HONDA_CRV = HondaNidecPlatformConfig(
[HondaCarDocs("Honda CR-V 2015-16", "Touring Trim", min_steer_speed=12. * CV.MPH_TO_MS)],
CarSpecs(mass=3572 * CV.LB_TO_KG, wheelbase=2.62, steerRatio=16.89, centerToFrontRatio=0.41, tireStiffnessFactor=0.444), # as spec
+10 -5
View File
@@ -9,6 +9,8 @@ from openpilot.selfdrive.car.hyundai.hyundaicanfd import CanBus
from openpilot.selfdrive.car.hyundai.values import HyundaiFlags, Buttons, CarControllerParams, CANFD_CAR, CAR
from openpilot.selfdrive.car.interfaces import CarControllerBase
from openpilot.selfdrive.frogpilot.controls.lib.frogpilot_acceleration import get_max_allowed_accel
VisualAlert = car.CarControl.HUDControl.VisualAlert
LongCtrlState = car.CarControl.Actuators.LongControlState
@@ -57,7 +59,7 @@ class CarController(CarControllerBase):
self.car_fingerprint = CP.carFingerprint
self.last_button_frame = 0
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
actuators = CC.actuators
hud_control = CC.hudControl
@@ -79,7 +81,10 @@ class CarController(CarControllerBase):
self.apply_steer_last = apply_steer
# accel + longitudinal
accel = clip(actuators.accel, CarControllerParams.ACCEL_MIN, CarControllerParams.ACCEL_MAX)
if frogpilot_toggles.sport_plus:
accel = clip(actuators.accel, CarControllerParams.ACCEL_MIN, min(frogpilot_toggles.max_desired_acceleration, get_max_allowed_accel(CS.out.vEgo)))
else:
accel = clip(actuators.accel, CarControllerParams.ACCEL_MIN, min(frogpilot_toggles.max_desired_acceleration, CarControllerParams.ACCEL_MAX))
stopping = actuators.longControlState == LongCtrlState.stopping
set_speed_in_units = hud_control.setSpeed * (CV.MS_TO_KPH if CS.is_metric else CV.MS_TO_MPH)
@@ -118,7 +123,7 @@ class CarController(CarControllerBase):
# LFA and HDA icons
if self.frame % 5 == 0 and (not hda2 or hda2_long):
can_sends.append(hyundaicanfd.create_lfahda_cluster(self.packer, self.CAN, CC.enabled))
can_sends.append(hyundaicanfd.create_lfahda_cluster(self.packer, self.CAN, CC.enabled, CC.latActive))
# blinkers
if hda2 and self.CP.flags & HyundaiFlags.ENABLE_BLINKERS:
@@ -149,11 +154,11 @@ class CarController(CarControllerBase):
use_fca = self.CP.flags & HyundaiFlags.USE_FCA.value
can_sends.extend(hyundaican.create_acc_commands(self.packer, CC.enabled, accel, jerk, int(self.frame / 2),
hud_control, set_speed_in_units, stopping,
CC.cruiseControl.override, use_fca))
CC.cruiseControl.override, use_fca, CS.out.cruiseState.available))
# 20 Hz LFA MFA message
if self.frame % 5 == 0 and self.CP.flags & HyundaiFlags.SEND_LFA.value:
can_sends.append(hyundaican.create_lfahda_mfc(self.packer, CC.enabled))
can_sends.append(hyundaican.create_lfahda_mfc(self.packer, CC.enabled, CC.latActive))
# 5 Hz ACC options
if self.frame % 20 == 0 and self.CP.openpilotLongitudinalControl:
+83 -8
View File
@@ -2,7 +2,7 @@ from collections import deque
import copy
import math
from cereal import car
from cereal import car, custom
from openpilot.common.conversions import Conversions as CV
from opendbc.can.parser import CANParser
from opendbc.can.can_define import CANDefine
@@ -52,11 +52,28 @@ class CarState(CarStateBase):
self.params = CarControllerParams(CP)
def update(self, cp, cp_cam):
# FrogPilot variables
self.main_enabled = False
self.active_mode = 0
self.drive_mode_prev = 0
# Traffic signals for Speed Limit Controller - Credit goes to Multikyd!
def calculate_speed_limit(self, cp, cp_cam):
if self.CP.carFingerprint in CANFD_CAR:
return self.update_canfd(cp, cp_cam)
speed_limit_bus = cp if self.CP.flags & HyundaiFlags.CANFD_HDA2 else cp_cam
return speed_limit_bus.vl["CLUSTER_SPEED_LIMIT"]["SPEED_LIMIT_1"]
else:
speed_limit_nav = cp.vl["Navi_HU"]["SpeedLim_Nav_Clu"] if self.CP.flags & HyundaiFlags.NAV_MSG else 0
speed_limit_cam = cp_cam.vl["LKAS12"]["CF_Lkas_TsrSpeed_Display_Clu"] if self.CP.flags & HyundaiFlags.LKAS12 else None
return speed_limit_cam if speed_limit_cam is not None and speed_limit_cam not in (0, 255) else speed_limit_nav
def update(self, cp, cp_cam, frogpilot_toggles):
if self.CP.carFingerprint in CANFD_CAR:
return self.update_canfd(cp, cp_cam, frogpilot_toggles)
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
cp_cruise = cp_cam if self.CP.carFingerprint in CAMERA_SCC_CAR else cp
self.is_metric = cp.vl["CLU11"]["CF_Clu_SPEED_UNIT"] == 0
speed_conv = CV.KPH_TO_MS if self.is_metric else CV.MPH_TO_MS
@@ -102,7 +119,7 @@ class CarState(CarStateBase):
# cruise state
if self.CP.openpilotLongitudinalControl:
# These are not used for engage/disengage since openpilot keeps track of state using the buttons
ret.cruiseState.available = cp.vl["TCS13"]["ACCEnable"] == 0
ret.cruiseState.available = self.main_enabled
ret.cruiseState.enabled = cp.vl["TCS13"]["ACC_REQ"] == 1
ret.cruiseState.standstill = False
ret.cruiseState.nonAdaptive = False
@@ -163,12 +180,29 @@ class CarState(CarStateBase):
self.steer_state = cp.vl["MDPS12"]["CF_Mdps_ToiActive"] # 0 NOT ACTIVE, 1 ACTIVE
self.prev_cruise_buttons = self.cruise_buttons[-1]
self.cruise_buttons.extend(cp.vl_all["CLU11"]["CF_Clu_CruiseSwState"])
self.prev_main_buttons = self.main_buttons[-1]
self.main_buttons.extend(cp.vl_all["CLU11"]["CF_Clu_CruiseSwMain"])
if self.prev_main_buttons == 0 and self.main_buttons[-1] != 0:
self.main_enabled = not self.main_enabled
return ret
# FrogPilot CarState functions
fp_ret.brakeLights = bool(cp.vl["TCS13"]["BrakeLight"])
def update_canfd(self, cp, cp_cam):
if self.CP.flags & HyundaiFlags.LKAS12 or self.CP.flags & HyundaiFlags.NAV_MSG:
fp_ret.dashboardSpeedLimit = self.calculate_speed_limit(cp, cp_cam) * speed_conv
self.prev_distance_button = self.distance_button
self.distance_button = self.cruise_buttons[-1] == Buttons.GAP_DIST
self.lkas_previously_enabled = self.lkas_enabled
if self.CP.flags & HyundaiFlags.CAN_LFA_BTN:
self.lkas_enabled = cp.vl["BCM_PO_11"]["LFA_Pressed"]
return ret, fp_ret
def update_canfd(self, cp, cp_cam, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
self.is_metric = cp.vl["CRUISE_BUTTONS_ALT"]["DISTANCE_UNIT"] != 1
speed_factor = CV.KPH_TO_MS if self.is_metric else CV.MPH_TO_MS
@@ -218,7 +252,7 @@ class CarState(CarStateBase):
# cruise state
# CAN FD cars enable on main button press, set available if no TCS faults preventing engagement
ret.cruiseState.available = cp.vl["TCS"]["ACCEnable"] == 0
ret.cruiseState.available = self.main_enabled
if self.CP.openpilotLongitudinalControl:
# These are not used for engage/disengage since openpilot keeps track of state using the buttons
ret.cruiseState.enabled = cp.vl["TCS"]["ACC_REQ"] == 1
@@ -239,7 +273,10 @@ class CarState(CarStateBase):
self.prev_cruise_buttons = self.cruise_buttons[-1]
self.cruise_buttons.extend(cp.vl_all[self.cruise_btns_msg_canfd]["CRUISE_BUTTONS"])
self.prev_main_buttons = self.main_buttons[-1]
self.main_buttons.extend(cp.vl_all[self.cruise_btns_msg_canfd]["ADAPTIVE_CRUISE_MAIN_BTN"])
if self.prev_main_buttons == 0 and self.main_buttons[-1] != 0:
self.main_enabled = not self.main_enabled
self.buttons_counter = cp.vl[self.cruise_btns_msg_canfd]["COUNTER"]
ret.accFaulted = cp.vl["TCS"]["ACCEnable"] != 0 # 0 ACC CONTROL ENABLED, 1-3 ACC CONTROL DISABLED
@@ -247,7 +284,28 @@ class CarState(CarStateBase):
self.hda2_lfa_block_msg = copy.copy(cp_cam.vl["CAM_0x362"] if self.CP.flags & HyundaiFlags.CANFD_HDA2_ALT_STEERING
else cp_cam.vl["CAM_0x2a4"])
return ret
# FrogPilot CarState functions
fp_ret.brakeLights = bool(cp.vl["TCS"]["DriverBraking"])
if self.CP.flags & HyundaiFlags.NAV_MSG:
fp_ret.dashboardSpeedLimit = self.calculate_speed_limit(cp, cp_cam) * speed_factor
self.prev_distance_button = self.distance_button
self.distance_button = self.cruise_buttons[-1] == Buttons.GAP_DIST
drive_mode = cp.vl["DRIVE_MODE"]["DRIVE_MODE2"]
if drive_mode != 0 and drive_mode != self.drive_mode_prev:
self.active_mode = drive_mode if drive_mode in (2, 3) else 1
self.drive_mode_prev = drive_mode
fp_ret.ecoGear = self.active_mode == 2
fp_ret.sportGear = self.active_mode == 3
self.lkas_previously_enabled = self.lkas_enabled
self.lkas_enabled = cp.vl[self.cruise_btns_msg_canfd]["LFA_BTN"]
return ret, fp_ret
def get_can_parser(self, CP):
if CP.carFingerprint in CANFD_CAR:
@@ -297,6 +355,13 @@ class CarState(CarStateBase):
else:
messages.append(("LVR12", 100))
if CP.flags & HyundaiFlags.CAN_LFA_BTN:
messages.append(("BCM_PO_11", 50))
messages += [
("Navi_HU", 5),
]
return CANParser(DBC[CP.carFingerprint]["pt"], messages, 0)
@staticmethod
@@ -317,6 +382,9 @@ class CarState(CarStateBase):
if CP.flags & HyundaiFlags.USE_FCA.value:
messages.append(("FCA11", 50))
if CP.flags & HyundaiFlags.LKAS12:
messages.append(("LKAS12", 10))
return CANParser(DBC[CP.carFingerprint]["pt"], messages, 2)
def get_can_parser_canfd(self, CP):
@@ -330,6 +398,7 @@ class CarState(CarStateBase):
("CRUISE_BUTTONS_ALT", 50),
("BLINKERS", 4),
("DOORS_SEATBELTS", 4),
("DRIVE_MODE", 0),
]
if CP.flags & HyundaiFlags.EV:
@@ -352,6 +421,9 @@ class CarState(CarStateBase):
("SCC_CONTROL", 50),
]
if CP.flags & HyundaiFlags.CANFD_HDA2 and CP.flags & HyundaiFlags.NAV_MSG:
messages.append(("CLUSTER_SPEED_LIMIT", 10))
return CANParser(DBC[CP.carFingerprint]["pt"], messages, CanBus(CP).ECAN)
@staticmethod
@@ -365,4 +437,7 @@ class CarState(CarStateBase):
("SCC_CONTROL", 50),
]
if not (CP.flags & HyundaiFlags.CANFD_HDA2) and CP.flags & HyundaiFlags.NAV_MSG:
messages.append(("CLUSTER_SPEED_LIMIT", 10))
return CANParser(DBC[CP.carFingerprint]["pt"], messages, CanBus(CP).CAM)
+4 -4
View File
@@ -117,20 +117,20 @@ def create_clu11(packer, frame, clu11, button, CP):
return packer.make_can_msg("CLU11", bus, values)
def create_lfahda_mfc(packer, enabled, hda_set_speed=0):
def create_lfahda_mfc(packer, enabled, lat_active, hda_set_speed=0):
values = {
"LFA_Icon_State": 2 if enabled else 0,
"LFA_Icon_State": 2 if lat_active else 0,
"HDA_Active": 1 if hda_set_speed else 0,
"HDA_Icon_State": 2 if hda_set_speed else 0,
"HDA_VSetReq": hda_set_speed,
}
return packer.make_can_msg("LFAHDA_MFC", 0, values)
def create_acc_commands(packer, enabled, accel, upper_jerk, idx, hud_control, set_speed, stopping, long_override, use_fca):
def create_acc_commands(packer, enabled, accel, upper_jerk, idx, hud_control, set_speed, stopping, long_override, use_fca, cruise_available):
commands = []
scc11_values = {
"MainMode_ACC": 1,
"MainMode_ACC": 1 if cruise_available else 0,
"TauGapSet": hud_control.leadDistanceBars,
"VSetDis": set_speed if enabled else 0,
"AliveCounterACC": idx % 0x10,
+3 -3
View File
@@ -41,7 +41,7 @@ def create_steering_messages(packer, CP, CAN, enabled, lat_active, apply_steer):
values = {
"LKA_MODE": 2,
"LKA_ICON": 2 if enabled else 1,
"LKA_ICON": 2 if enabled else 1 if lat_active else 0, # HDA2
"TORQUE_REQUEST": apply_steer,
"LKA_ASSIST": 0,
"STEER_REQ": 1 if lat_active else 0,
@@ -113,10 +113,10 @@ def create_acc_cancel(packer, CP, CAN, cruise_info_copy):
})
return packer.make_can_msg("SCC_CONTROL", CAN.ECAN, values)
def create_lfahda_cluster(packer, CAN, enabled):
def create_lfahda_cluster(packer, CAN, enabled, lat_active):
values = {
"HDA_ICON": 1 if enabled else 0,
"LFA_ICON": 2 if enabled else 0,
"LFA_ICON": 2 if enabled else 1 if lat_active else 0, # HDA1
}
return packer.make_can_msg("LFAHDA_CLUSTER", CAN.ECAN, values)
+46 -7
View File
@@ -1,4 +1,4 @@
from cereal import car
from cereal import car, custom
from panda import Panda
from openpilot.selfdrive.car.hyundai.hyundaicanfd import CanBus
from openpilot.selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CANFD_CAR, CAMERA_SCC_CAR, CANFD_RADAR_SCC_CAR, \
@@ -9,9 +9,13 @@ from openpilot.selfdrive.car import create_button_events, get_safety_config
from openpilot.selfdrive.car.interfaces import CarInterfaceBase
from openpilot.selfdrive.car.disable_ecu import disable_ecu
from openpilot.selfdrive.frogpilot.frogpilot_variables import params
Ecu = car.CarParams.Ecu
ButtonType = car.CarState.ButtonEvent.Type
FrogPilotButtonType = custom.FrogPilotCarState.ButtonEvent.Type
EventName = car.CarEvent.EventName
GearShifter = car.CarState.GearShifter
ENABLE_BUTTONS = (Buttons.RES_ACCEL, Buttons.SET_DECEL, Buttons.CANCEL)
BUTTONS_DICT = {Buttons.RES_ACCEL: ButtonType.accelCruise, Buttons.SET_DECEL: ButtonType.decelCruise,
Buttons.GAP_DIST: ButtonType.gapAdjustCruise, Buttons.CANCEL: ButtonType.cancel}
@@ -19,7 +23,9 @@ BUTTONS_DICT = {Buttons.RES_ACCEL: ButtonType.accelCruise, Buttons.SET_DECEL: Bu
class CarInterface(CarInterfaceBase):
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
use_new_api = params.get_bool("NewLongAPI")
ret.carName = "hyundai"
ret.radarUnavailable = RADAR_START_ADDR not in fingerprint[1] or DBC[ret.carFingerprint]["radar"] is None
@@ -71,6 +77,9 @@ class CarInterface(CarInterfaceBase):
if 0x38d in fingerprint[0] or 0x38d in fingerprint[2]:
ret.flags |= HyundaiFlags.USE_FCA.value
if 0x53E in fingerprint[2]:
ret.flags |= HyundaiFlags.LKAS12.value
ret.steerActuatorDelay = 0.1 # Default delay
ret.steerLimitTimer = 0.4
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
@@ -80,8 +89,18 @@ class CarInterface(CarInterfaceBase):
# *** longitudinal control ***
if candidate in CANFD_CAR:
if not use_new_api:
ret.longitudinalTuning.deadzoneBP = [0.]
ret.longitudinalTuning.deadzoneV = [0.]
ret.longitudinalTuning.kpV = [0.1]
ret.longitudinalTuning.kiV = [0.0]
ret.experimentalLongitudinalAvailable = candidate not in (CANFD_UNSUPPORTED_LONGITUDINAL_CAR | CANFD_RADAR_SCC_CAR)
else:
if not use_new_api:
ret.longitudinalTuning.deadzoneBP = [0.]
ret.longitudinalTuning.deadzoneV = [0.]
ret.longitudinalTuning.kpV = [0.5]
ret.longitudinalTuning.kiV = [0.0]
ret.experimentalLongitudinalAvailable = candidate not in (UNSUPPORTED_LONGITUDINAL_CAR | CAMERA_SCC_CAR)
ret.openpilotLongitudinalControl = experimental_long and ret.experimentalLongitudinalAvailable
ret.pcmCruise = not ret.openpilotLongitudinalControl
@@ -95,9 +114,15 @@ class CarInterface(CarInterfaceBase):
# *** feature detection ***
if candidate in CANFD_CAR:
ret.enableBsm = 0x1e5 in fingerprint[CAN.ECAN]
if 0x1fa in fingerprint[CAN.ECAN]:
ret.flags |= HyundaiFlags.NAV_MSG.value
else:
ret.enableBsm = 0x58b in fingerprint[0]
if 0x544 in fingerprint[0]:
ret.flags |= HyundaiFlags.NAV_MSG.value
# *** panda safety config ***
if candidate in CANFD_CAR:
cfgs = [get_safety_config(car.CarParams.SafetyModel.hyundaiCanfd), ]
@@ -123,6 +148,10 @@ class CarInterface(CarInterfaceBase):
if candidate in CAMERA_SCC_CAR:
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HYUNDAI_CAMERA_SCC
if 0x391 in fingerprint[0]:
ret.flags |= HyundaiFlags.CAN_LFA_BTN.value
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HYUNDAI_LFA_BTN
if ret.openpilotLongitudinalControl:
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_LONG
if ret.flags & HyundaiFlags.HYBRID:
@@ -136,6 +165,10 @@ class CarInterface(CarInterfaceBase):
ret.centerToFront = ret.wheelbase * 0.4
# Detect smartMDPS
if 0x2AA in fingerprint[0]:
ret.minSteerSpeed = 0.
return ret
@staticmethod
@@ -150,17 +183,23 @@ class CarInterface(CarInterfaceBase):
if CP.flags & HyundaiFlags.ENABLE_BLINKERS:
disable_ecu(logcan, sendcan, bus=CanBus(CP).ECAN, addr=0x7B1, com_cont_req=b'\x28\x83\x01')
def _update(self, c):
ret = self.CS.update(self.cp, self.cp_cam)
def _update(self, c, frogpilot_toggles):
ret, fp_ret = self.CS.update(self.cp, self.cp_cam, frogpilot_toggles)
if self.CS.CP.openpilotLongitudinalControl:
ret.buttonEvents = create_button_events(self.CS.cruise_buttons[-1], self.CS.prev_cruise_buttons, BUTTONS_DICT)
ret.buttonEvents = [
*create_button_events(self.CS.cruise_buttons[-1], self.CS.prev_cruise_buttons, BUTTONS_DICT),
*create_button_events(self.CS.lkas_enabled, self.CS.lkas_previously_enabled, {1: FrogPilotButtonType.lkas}),
]
else:
ret.buttonEvents = create_button_events(self.CS.lkas_enabled, self.CS.lkas_previously_enabled, {1: FrogPilotButtonType.lkas})
# On some newer model years, the CANCEL button acts as a pause/resume button based on the PCM state
# To avoid re-engaging when openpilot cancels, check user engagement intention via buttons
# Main button also can trigger an engagement on these cars
allow_enable = any(btn in ENABLE_BUTTONS for btn in self.CS.cruise_buttons) or any(self.CS.main_buttons)
events = self.create_common_events(ret, pcm_enable=self.CS.CP.pcmCruise, allow_enable=allow_enable)
events = self.create_common_events(ret, extra_gears=[GearShifter.sport, GearShifter.manumatic],
pcm_enable=self.CS.CP.pcmCruise, allow_enable=allow_enable)
# low speed steer alert hysteresis logic (only for cars with steer cut off above 10 m/s)
if ret.vEgo < (self.CP.minSteerSpeed + 2.) and self.CP.minSteerSpeed > 10.:
@@ -172,4 +211,4 @@ class CarInterface(CarInterfaceBase):
ret.events = events.to_msg()
return ret
return ret, fp_ret
+4
View File
@@ -95,6 +95,10 @@ class HyundaiFlags(IntFlag):
MIN_STEER_32_MPH = 2 ** 23
# FrogPilot HKG flags
CAN_LFA_BTN = 2 ** 24
LKAS12 = 2 ** 25
NAV_MSG = 2 ** 26
class Footnote(Enum):
CANFD = CarFootnote(
+208 -10
View File
@@ -3,12 +3,13 @@ import os
import numpy as np
import tomllib
from abc import abstractmethod, ABC
from difflib import SequenceMatcher
from enum import StrEnum
from typing import Any, NamedTuple
from collections.abc import Callable
from functools import cache
from cereal import car
from cereal import car, custom
from openpilot.common.basedir import BASEDIR
from openpilot.common.conversions import Conversions as CV
from openpilot.common.simple_kalman import KF1D, get_kalman_gain
@@ -16,11 +17,14 @@ from openpilot.common.numpy_fast import clip
from openpilot.common.realtime import DT_CTRL
from openpilot.selfdrive.car import apply_hysteresis, gen_empty_fingerprint, scale_rot_inertia, scale_tire_stiffness, STD_CARGO_KG
from openpilot.selfdrive.car.values import PLATFORMS
from openpilot.selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, get_friction
from openpilot.selfdrive.controls.lib.drive_helpers import CRUISE_LONG_PRESS, V_CRUISE_MAX, get_friction
from openpilot.selfdrive.controls.lib.events import Events
from openpilot.selfdrive.controls.lib.vehicle_model import VehicleModel
from openpilot.selfdrive.frogpilot.frogpilot_variables import get_frogpilot_toggles, params, params_memory
ButtonType = car.CarState.ButtonEvent.Type
FrogPilotButtonType = custom.FrogPilotCarState.ButtonEvent.Type
GearShifter = car.CarState.GearShifter
EventName = car.CarEvent.EventName
@@ -29,10 +33,15 @@ ACCEL_MAX = 2.0
ACCEL_MIN = -3.5
FRICTION_THRESHOLD = 0.3
NEURAL_PARAMS_PATH = os.path.join(BASEDIR, 'selfdrive/car/torque_data/neural_ff_weights.json')
TORQUE_NN_MODEL_PATH = os.path.join(BASEDIR, 'selfdrive/car/torque_data/lat_models')
TORQUE_PARAMS_PATH = os.path.join(BASEDIR, 'selfdrive/car/torque_data/params.toml')
TORQUE_OVERRIDE_PATH = os.path.join(BASEDIR, 'selfdrive/car/torque_data/override.toml')
TORQUE_SUBSTITUTE_PATH = os.path.join(BASEDIR, 'selfdrive/car/torque_data/substitute.toml')
# dict used to rename activation functions whose names aren't valid python identifiers
ACTIVATION_FUNCTION_NAMES = {'σ': 'sigmoid'}
GEAR_SHIFTER_MAP: dict[str, car.CarState.GearShifter] = {
'P': GearShifter.park, 'PARK': GearShifter.park,
'R': GearShifter.reverse, 'REVERSE': GearShifter.reverse,
@@ -45,6 +54,8 @@ GEAR_SHIFTER_MAP: dict[str, car.CarState.GearShifter] = {
'B': GearShifter.brake, 'BRAKE': GearShifter.brake,
}
def similarity(s1: str, s2: str) -> float:
return SequenceMatcher(None, s1, s2).ratio()
class LatControlInputs(NamedTuple):
lateral_acceleration: float
@@ -85,6 +96,108 @@ def get_torque_params():
return torque_params
# Twilsonco's Lateral Neural Network Feedforward
class FluxModel:
def __init__(self, params_file, zero_bias=False):
with open(params_file, "r") as f:
params = json.load(f)
self.input_size = params["input_size"]
self.output_size = params["output_size"]
self.input_mean = np.array(params["input_mean"], dtype=np.float32).T
self.input_std = np.array(params["input_std"], dtype=np.float32).T
self.layers = []
self.friction_override = False
for layer_params in params["layers"]:
W = np.array(layer_params[next(key for key in layer_params.keys() if key.endswith('_W'))], dtype=np.float32).T
b = np.array(layer_params[next(key for key in layer_params.keys() if key.endswith('_b'))], dtype=np.float32).T
if zero_bias:
b = np.zeros_like(b)
activation = layer_params["activation"]
for k, v in ACTIVATION_FUNCTION_NAMES.items():
activation = activation.replace(k, v)
self.layers.append((W, b, activation))
self.validate_layers()
self.check_for_friction_override()
# Begin activation functions.
# These are called by name using the keys in the model json file
@staticmethod
def sigmoid(x):
return 1 / (1 + np.exp(-x))
@staticmethod
def identity(x):
return x
# End activation functions
def forward(self, x):
for W, b, activation in self.layers:
x = getattr(self, activation)(x.dot(W) + b)
return x
def evaluate(self, input_array):
in_len = len(input_array)
if in_len != self.input_size:
# If the input is length 2-4, then it's a simplified evaluation.
# In that case, need to add on zeros to fill out the input array to match the correct length.
if 2 <= in_len:
input_array = input_array + [0] * (self.input_size - in_len)
else:
raise ValueError(f"Input array length {len(input_array)} must be length 2 or greater")
input_array = np.array(input_array, dtype=np.float32)
# Rescale the input array using the input_mean and input_std
input_array = (input_array - self.input_mean) / self.input_std
output_array = self.forward(input_array)
return float(output_array[0, 0])
def validate_layers(self):
for W, b, activation in self.layers:
if not hasattr(self, activation):
raise ValueError(f"Unknown activation: {activation}")
def check_for_friction_override(self):
y = self.evaluate([10.0, 0.0, 0.2])
self.friction_override = (y < 0.1)
def get_nn_model_path(car, eps_firmware) -> tuple[str | None, float]:
def check_nn_path(check_model):
model_path = None
max_similarity = -1.0
for f in os.listdir(TORQUE_NN_MODEL_PATH):
if f.endswith(".json"):
model = f.replace(".json", "").replace(f"{TORQUE_NN_MODEL_PATH}/", "")
similarity_score = similarity(model, check_model)
if similarity_score > max_similarity:
max_similarity = similarity_score
model_path = os.path.join(TORQUE_NN_MODEL_PATH, f)
return model_path, max_similarity
if len(eps_firmware) > 3:
eps_firmware = eps_firmware.replace("\\", "")
check_model = f"{car} {eps_firmware}"
else:
check_model = car
model_path, max_similarity = check_nn_path(check_model)
if car not in model_path or 0.0 <= max_similarity < 0.9:
check_model = car
model_path, max_similarity = check_nn_path(check_model)
if car not in model_path or 0.0 <= max_similarity < 0.9:
model_path = None
return model_path
def get_nn_model(car, eps_firmware) -> tuple[FluxModel | None, float]:
model = get_nn_model_path(car, eps_firmware)
if model is not None:
model = FluxModel(model)
return model
# generic car and radar interfaces
class CarInterfaceBase(ABC):
@@ -110,8 +223,44 @@ class CarInterfaceBase(ABC):
dbc_name = "" if self.cp is None else self.cp.dbc_name
self.CC: CarControllerBase = CarController(dbc_name, CP, self.VM)
def apply(self, c: car.CarControl, now_nanos: int) -> tuple[car.CarControl.Actuators, list[tuple[int, int, bytes, int]]]:
return self.CC.update(c, self.CS, now_nanos)
# FrogPilot variables
self.frogpilot_toggles = get_frogpilot_toggles()
eps_firmware = str(next((fw.fwVersion for fw in CP.carFw if fw.ecu == "eps"), ""))
comma_nnff_supported = self.check_comma_nn_ff_support(CP.carFingerprint)
nnff_supported = self.initialize_lat_torque_nn(CP.carFingerprint, eps_firmware)
self.use_nnff = not comma_nnff_supported and nnff_supported and self.frogpilot_toggles.nnff
self.use_nnff_lite = not self.use_nnff and self.frogpilot_toggles.nnff_lite
self.always_on_lateral_disabled = False
self.belowSteerSpeed_shown = False
self.disable_belowSteerSpeed = False
self.disable_resumeRequired = False
self.prev_distance_button = False
self.resumeRequired_shown = False
self.traffic_mode_active = False
self.traffic_mode_changed = False
self.gap_counter = 0
self.is_gm = self.CP.carName == "gm"
def get_ff_nn(self, x):
return self.lat_torque_nn_model.evaluate(x)
def check_comma_nn_ff_support(self, car):
with open(NEURAL_PARAMS_PATH, 'r') as file:
data = json.load(file)
return car in data
def initialize_lat_torque_nn(self, car, eps_firmware) -> bool:
self.lat_torque_nn_model = get_nn_model(car, eps_firmware)
return self.lat_torque_nn_model is not None
def apply(self, c: car.CarControl, now_nanos: int, frogpilot_toggles) -> tuple[car.CarControl.Actuators, list[tuple[int, int, bytes, int]]]:
return self.CC.update(c, self.CS, now_nanos, frogpilot_toggles)
@staticmethod
def get_pid_accel_limits(CP, current_speed, cruise_speed):
@@ -122,10 +271,10 @@ class CarInterfaceBase(ABC):
"""
Parameters essential to controlling the car may be incomplete or wrong without FW versions or fingerprints.
"""
return cls.get_params(candidate, gen_empty_fingerprint(), list(), False, False)
return cls.get_params(candidate, gen_empty_fingerprint(), list(), False, False, False)
@classmethod
def get_params(cls, candidate: str, fingerprint: dict[int, dict[int, int]], car_fw: list[car.CarParams.CarFw], experimental_long: bool, docs: bool):
def get_params(cls, candidate: str, fingerprint: dict[int, dict[int, int]], car_fw: list[car.CarParams.CarFw], disable_openpilot_long: bool, experimental_long: bool, params: params, docs: bool):
ret = CarInterfaceBase.get_std_params(candidate)
platform = PLATFORMS[candidate]
@@ -138,7 +287,15 @@ class CarInterfaceBase(ABC):
ret.tireStiffnessFactor = platform.config.specs.tireStiffnessFactor
ret.flags |= int(platform.config.flags)
ret = cls._get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs)
ret = cls._get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs)
# Enable torque controller for all cars that do not use angle based steering
if ret.steerControlType != car.CarParams.SteerControlType.angle and params.get_bool("LateralTune") and params.get_bool("NNFF"):
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
eps_firmware = str(next((fw.fwVersion for fw in car_fw if fw.ecu == "eps"), ""))
model = get_nn_model_path(candidate, eps_firmware)
if model is not None:
params.put("NNFFModelName", candidate.replace("_", " "))
# Vehicle mass is published curb weight plus assumed payload such as a human driver; notCars have no assumed payload
if not ret.notCar:
@@ -230,14 +387,14 @@ class CarInterfaceBase(ABC):
def _update(self, c: car.CarControl) -> car.CarState:
pass
def update(self, c: car.CarControl, can_strings: list[bytes]) -> car.CarState:
def update(self, c: car.CarControl, can_strings: list[bytes], frogpilot_toggles) -> car.CarState:
# parse can
for cp in self.can_parsers:
if cp is not None:
cp.update_strings(can_strings)
# get CarState
ret = self._update(c)
ret, fp_ret = self._update(c, frogpilot_toggles)
ret.canValid = all(cp.can_valid for cp in self.can_parsers if cp is not None)
ret.canTimeout = any(cp.bus_timeout for cp in self.can_parsers if cp is not None)
@@ -256,11 +413,18 @@ class CarInterfaceBase(ABC):
if ret.cruiseState.speedCluster == 0:
ret.cruiseState.speedCluster = ret.cruiseState.speed
# Add any additional frogpilotCarStates
fp_ret.alwaysOnLateralDisabled = self.always_on_lateral_disabled
fp_ret.distanceLongPressed = self.frogpilot_distance_functions(frogpilot_toggles)
fp_ret.ecoGear |= ret.gearShifter == GearShifter.eco
fp_ret.sportGear |= ret.gearShifter == GearShifter.sport
fp_ret.trafficModeActive = self.traffic_mode_active
# copy back for next iteration
if self.CS is not None:
self.CS.out = ret.as_reader()
return ret
return ret, fp_ret
def create_common_events(self, cs_out, extra_gears=None, pcm_enable=True, allow_enable=True,
@@ -310,6 +474,10 @@ class CarInterfaceBase(ABC):
if b.type == ButtonType.cancel:
events.add(EventName.buttonCancel)
# FrogPilot button presses
if b.type == FrogPilotButtonType.lkas and b.pressed:
self.always_on_lateral_disabled = not self.always_on_lateral_disabled
# Handle permanent and temporary steering faults
self.steering_unpressed = 0 if cs_out.steeringPressed else self.steering_unpressed + 1
if cs_out.steerFaultTemporary:
@@ -340,6 +508,30 @@ class CarInterfaceBase(ABC):
return events
def frogpilot_distance_functions(self, frogpilot_toggles):
distance_button = self.CS.distance_button or params_memory.get_bool("OnroadDistanceButtonPressed")
if distance_button:
self.gap_counter += 1
elif not self.prev_distance_button:
self.gap_counter = 0
if self.gap_counter == CRUISE_LONG_PRESS * (1.5 if self.is_gm else 1) and frogpilot_toggles.experimental_mode_via_distance or self.traffic_mode_changed:
if frogpilot_toggles.conditional_experimental_mode:
conditional_status = params_memory.get_int("CEStatus")
override_value = 0 if conditional_status in {1, 2, 3, 4, 5, 6} else 1 if conditional_status >= 7 else 2
params_memory.put_int("CEStatus", override_value)
else:
experimental_mode = params.get_bool("ExperimentalMode")
params.put_bool("ExperimentalMode", not experimental_mode)
self.traffic_mode_changed = False
if self.gap_counter == CRUISE_LONG_PRESS * 5:
self.traffic_mode_active = not self.traffic_mode_active
self.traffic_mode_changed = frogpilot_toggles.experimental_mode_via_distance
self.prev_distance_button = distance_button
return self.gap_counter >= CRUISE_LONG_PRESS
class RadarInterfaceBase(ABC):
def __init__(self, CP):
@@ -379,6 +571,12 @@ class CarStateBase(ABC):
K = get_kalman_gain(DT_CTRL, np.array(A), np.array(C), np.array(Q), R)
self.v_ego_kf = KF1D(x0=x0, A=A, C=C[0], K=K)
# FrogPilot variables
self.cruise_decreased = False
self.cruise_increased = False
self.distance_button = False
self.lkas_enabled = False
def update_speed_kf(self, v_ego_raw):
if abs(v_ego_raw - self.v_ego_kf.x[0][0]) > 2.0: # Prevent large accelerations when car starts at non zero speed
self.v_ego_kf.set_x([[v_ego_raw], [0.0]])
+1 -1
View File
@@ -16,7 +16,7 @@ class CarController(CarControllerBase):
self.brake_counter = 0
self.frame = 0
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
can_sends = []
apply_steer = 0
+8 -3
View File
@@ -1,4 +1,4 @@
from cereal import car
from cereal import car, custom
from openpilot.common.conversions import Conversions as CV
from opendbc.can.can_define import CANDefine
from opendbc.can.parser import CANParser
@@ -21,9 +21,10 @@ class CarState(CarStateBase):
self.prev_distance_button = 0
self.distance_button = 0
def update(self, cp, cp_cam):
def update(self, cp, cp_cam, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
self.prev_distance_button = self.distance_button
self.distance_button = cp.vl["CRZ_BTNS"]["DISTANCE_LESS"]
@@ -110,7 +111,11 @@ class CarState(CarStateBase):
self.cam_laneinfo = cp_cam.vl["CAM_LANEINFO"]
ret.steerFaultPermanent = cp_cam.vl["CAM_LKAS"]["ERR_BIT_1"] == 1
return ret
# FrogPilot CarState functions
self.lkas_previously_enabled = self.lkas_enabled
self.lkas_enabled = not self.lkas_disabled
return ret, fp_ret
@staticmethod
def get_can_parser(CP):
+10 -8
View File
@@ -1,23 +1,22 @@
#!/usr/bin/env python3
from cereal import car
from cereal import car, custom
from openpilot.common.conversions import Conversions as CV
from openpilot.selfdrive.car.mazda.values import CAR, LKAS_LIMITS
from openpilot.selfdrive.car import create_button_events, get_safety_config
from openpilot.selfdrive.car.interfaces import CarInterfaceBase
ButtonType = car.CarState.ButtonEvent.Type
FrogPilotButtonType = custom.FrogPilotCarState.ButtonEvent.Type
EventName = car.CarEvent.EventName
class CarInterface(CarInterfaceBase):
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
ret.carName = "mazda"
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.mazda)]
ret.radarUnavailable = True
ret.dashcamOnly = candidate not in (CAR.MAZDA_CX5_2022, CAR.MAZDA_CX9_2021)
ret.steerActuatorDelay = 0.1
ret.steerLimitTimer = 0.8
@@ -31,11 +30,14 @@ class CarInterface(CarInterfaceBase):
return ret
# returns a car.CarState
def _update(self, c):
ret = self.CS.update(self.cp, self.cp_cam)
def _update(self, c, frogpilot_toggles):
ret, fp_ret = self.CS.update(self.cp, self.cp_cam, frogpilot_toggles)
# TODO: add button types for inc and dec
ret.buttonEvents = create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise})
ret.buttonEvents = [
*create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise}),
*create_button_events(self.CS.lkas_enabled, self.CS.lkas_previously_enabled, {1: FrogPilotButtonType.lkas}),
]
# events
events = self.create_common_events(ret)
@@ -47,4 +49,4 @@ class CarInterface(CarInterfaceBase):
ret.events = events.to_msg()
return ret
return ret, fp_ret
+5 -4
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
from cereal import car
from cereal import car, custom
import cereal.messaging as messaging
from openpilot.selfdrive.car.interfaces import CarInterfaceBase
@@ -12,7 +12,7 @@ class CarInterface(CarInterfaceBase):
self.sm = messaging.SubMaster(['gpsLocation', 'gpsLocationExternal'])
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
ret.carName = "mock"
ret.mass = 1700.
ret.wheelbase = 2.70
@@ -21,12 +21,13 @@ class CarInterface(CarInterfaceBase):
ret.dashcamOnly = True
return ret
def _update(self, c):
def _update(self, c, frogpilot_toggles):
self.sm.update(0)
gps_sock = 'gpsLocationExternal' if self.sm.recv_frame['gpsLocationExternal'] > 1 else 'gpsLocation'
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
ret.vEgo = self.sm[gps_sock].speed
ret.vEgoRaw = self.sm[gps_sock].speed
return ret
return ret, fp_ret
+2 -2
View File
@@ -19,7 +19,7 @@ class CarController(CarControllerBase):
self.packer = CANPacker(dbc_name)
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
actuators = CC.actuators
hud_control = CC.hudControl
pcm_cancel_cmd = CC.cruiseControl.cancel
@@ -68,7 +68,7 @@ class CarController(CarControllerBase):
if self.CP.carFingerprint != CAR.NISSAN_ALTIMA:
if self.frame % 2 == 0:
can_sends.append(nissancan.create_lkas_hud_msg(self.packer, CS.lkas_hud_msg, CC.enabled, hud_control.leftLaneVisible, hud_control.rightLaneVisible,
hud_control.leftLaneDepart, hud_control.rightLaneDepart))
hud_control.leftLaneDepart, hud_control.rightLaneDepart, CC.latActive))
if self.frame % 50 == 0:
can_sends.append(nissancan.create_lkas_hud_info_msg(
+5 -3
View File
@@ -1,6 +1,6 @@
import copy
from collections import deque
from cereal import car
from cereal import car, custom
from opendbc.can.can_define import CANDefine
from openpilot.selfdrive.car.interfaces import CarStateBase
from openpilot.common.conversions import Conversions as CV
@@ -23,8 +23,9 @@ class CarState(CarStateBase):
self.prev_distance_button = 0
self.distance_button = 0
def update(self, cp, cp_adas, cp_cam):
def update(self, cp, cp_adas, cp_cam, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
self.prev_distance_button = self.distance_button
self.distance_button = cp.vl["CRUISE_THROTTLE"]["FOLLOW_DISTANCE_BUTTON"]
@@ -107,6 +108,7 @@ class CarState(CarStateBase):
can_gear = int(cp.vl["GEARBOX"]["GEAR_SHIFTER"])
ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(can_gear, None))
self.lkas_previously_enabled = self.lkas_enabled
if self.CP.carFingerprint == CAR.NISSAN_ALTIMA:
self.lkas_enabled = bool(cp.vl["LKAS_SETTINGS"]["LKAS_ENABLED"])
else:
@@ -121,7 +123,7 @@ class CarState(CarStateBase):
self.lkas_hud_msg = copy.copy(cp_adas.vl["PROPILOT_HUD"])
self.lkas_hud_info_msg = copy.copy(cp_adas.vl["PROPILOT_HUD_INFO_MSG"])
return ret
return ret, fp_ret
@staticmethod
def get_can_parser(CP):
+10 -6
View File
@@ -1,16 +1,17 @@
from cereal import car
from cereal import car, custom
from panda import Panda
from openpilot.selfdrive.car import create_button_events, get_safety_config
from openpilot.selfdrive.car.interfaces import CarInterfaceBase
from openpilot.selfdrive.car.nissan.values import CAR
ButtonType = car.CarState.ButtonEvent.Type
FrogPilotButtonType = custom.FrogPilotCarState.ButtonEvent.Type
class CarInterface(CarInterfaceBase):
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
ret.carName = "nissan"
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.nissan)]
ret.autoResumeSng = False
@@ -29,10 +30,13 @@ class CarInterface(CarInterfaceBase):
return ret
# returns a car.CarState
def _update(self, c):
ret = self.CS.update(self.cp, self.cp_adas, self.cp_cam)
def _update(self, c, frogpilot_toggles):
ret, fp_ret = self.CS.update(self.cp, self.cp_adas, self.cp_cam, frogpilot_toggles)
ret.buttonEvents = create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise})
ret.buttonEvents = [
*create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise}),
*create_button_events(self.CS.lkas_enabled, self.CS.lkas_previously_enabled, {1: FrogPilotButtonType.lkas}),
]
events = self.create_common_events(ret, extra_gears=[car.CarState.GearShifter.brake])
@@ -41,4 +45,4 @@ class CarInterface(CarInterfaceBase):
ret.events = events.to_msg()
return ret
return ret, fp_ret
+4 -4
View File
@@ -65,7 +65,7 @@ def create_cancel_msg(packer, cancel_msg, cruise_cancel):
return packer.make_can_msg("CANCEL_MSG", 2, values)
def create_lkas_hud_msg(packer, lkas_hud_msg, enabled, left_line, right_line, left_lane_depart, right_lane_depart):
def create_lkas_hud_msg(packer, lkas_hud_msg, enabled, left_line, right_line, left_lane_depart, right_lane_depart, lat_active):
values = {s: lkas_hud_msg[s] for s in [
"LARGE_WARNING_FLASHING",
"SIDE_RADAR_ERROR_FLASHING1",
@@ -98,9 +98,9 @@ def create_lkas_hud_msg(packer, lkas_hud_msg, enabled, left_line, right_line, le
values["RIGHT_LANE_YELLOW_FLASH"] = 1 if right_lane_depart else 0
values["LEFT_LANE_YELLOW_FLASH"] = 1 if left_lane_depart else 0
values["LARGE_STEERING_WHEEL_ICON"] = 2 if enabled else 0
values["RIGHT_LANE_GREEN"] = 1 if right_line and enabled else 0
values["LEFT_LANE_GREEN"] = 1 if left_line and enabled else 0
values["LARGE_STEERING_WHEEL_ICON"] = 2 if lat_active else 0
values["RIGHT_LANE_GREEN"] = 1 if right_line and lat_active else 0
values["LEFT_LANE_GREEN"] = 1 if left_line and lat_active else 0
return packer.make_can_msg("PROPILOT_HUD", 0, values)
+5 -1
View File
@@ -48,7 +48,11 @@ class CAR(Platforms):
)
# Leaf with ADAS ECU found behind instrument cluster instead of glovebox
# Currently the only known difference between them is the inverted seatbelt signal.
NISSAN_LEAF_IC = NISSAN_LEAF.override(car_docs=[])
NISSAN_LEAF_IC = NissanPlatformConfig(
[NissanCarDocs("Nissan Leaf 2018-23 - Instrument Cluster", video_link="https://youtu.be/vaMbtAh_0cY")],
NISSAN_LEAF.specs,
dbc_dict('nissan_leaf_2018_generated', None),
)
NISSAN_ROGUE = NissanPlatformConfig(
[NissanCarDocs("Nissan Rogue 2018-20")],
NissanCarSpecs(mass=1610, wheelbase=2.705)
+47
View File
@@ -0,0 +1,47 @@
import struct
from Crypto.Hash import CMAC
from Crypto.Cipher import AES
def add_mac(key, trip_cnt, reset_cnt, msg_cnt, msg):
# TODO: clean up conversion to and from hex
addr, payload, bus = msg
reset_flag = reset_cnt & 0b11
msg_cnt_flag = msg_cnt & 0b11
payload = payload[:4]
# Step 1: Build Freshness Value (48 bits)
# [Trip Counter (16 bit)][[Reset Counter (20 bit)][Message Counter (8 bit)][Reset Flag (2 bit)][Padding (2 bit)]
freshness_value = struct.pack('>HI', trip_cnt, (reset_cnt << 12) | ((msg_cnt & 0xff) << 4) | (reset_flag << 2))
# Step 2: Build data to authenticate (96 bits)
# [Message ID (16 bits)][Payload (32 bits)][Freshness Value (48 bits)]
to_auth = struct.pack('>H', addr) + payload + freshness_value
# Step 3: Calculate CMAC (28 bit)
cmac = CMAC.new(key, ciphermod=AES)
cmac.update(to_auth)
mac = cmac.digest().hex()[:7] # truncated MAC
# Step 4: Build message
# [Payload (32 bit)][Message Counter Flag (2 bit)][Reset Flag (2 bit)][Authenticator (28 bit)]
msg_cnt_rst_flag = struct.pack('>B', (msg_cnt_flag << 2) | reset_flag).hex()[1]
msg = payload.hex() + msg_cnt_rst_flag + mac
payload = bytes.fromhex(msg)
return (addr, payload, bus)
def build_sync_mac(key, trip_cnt, reset_cnt, id_=0xf):
id_ = struct.pack('>H', id_) # 16
trip_cnt = struct.pack('>H', trip_cnt) # 16
reset_cnt = struct.pack('>I', reset_cnt << 12)[:-1] # 20 + 4 padding
to_auth = id_ + trip_cnt + reset_cnt # SecOC 11.4.1.1 page 138
cmac = CMAC.new(key, ciphermod=AES)
cmac.update(to_auth)
msg = "0" + cmac.digest().hex()[:7]
msg = bytes.fromhex(msg)
return struct.unpack('>I', msg)[0]
+2 -2
View File
@@ -23,7 +23,7 @@ class CarController(CarControllerBase):
self.p = CarControllerParams(CP)
self.packer = CANPacker(DBC[CP.carFingerprint]['pt'])
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
actuators = CC.actuators
hud_control = CC.hudControl
pcm_cancel_cmd = CC.cruiseControl.cancel
@@ -100,7 +100,7 @@ class CarController(CarControllerBase):
can_sends.append(subarucan.create_es_lkas_state(self.packer, self.frame // 10, CS.es_lkas_state_msg, CC.enabled, hud_control.visualAlert,
hud_control.leftLaneVisible, hud_control.rightLaneVisible,
hud_control.leftLaneDepart, hud_control.rightLaneDepart))
hud_control.leftLaneDepart, hud_control.rightLaneDepart, CC.latActive))
if self.CP.flags & SubaruFlags.SEND_INFOTAINMENT:
can_sends.append(subarucan.create_es_infotainment(self.packer, self.frame // 10, CS.es_infotainment_msg, hud_control.visualAlert))
+14 -5
View File
@@ -1,10 +1,10 @@
import copy
from cereal import car
from cereal import car, custom
from opendbc.can.can_define import CANDefine
from openpilot.common.conversions import Conversions as CV
from openpilot.selfdrive.car.interfaces import CarStateBase
from opendbc.can.parser import CANParser
from openpilot.selfdrive.car.subaru.values import DBC, CanBus, SubaruFlags
from openpilot.selfdrive.car.subaru.values import DBC, CanBus, PREGLOBAL_CARS, SubaruFlags
from openpilot.selfdrive.car import CanSignalRateCalculator
@@ -16,8 +16,9 @@ class CarState(CarStateBase):
self.angle_rate_calulator = CanSignalRateCalculator(50)
def update(self, cp, cp_cam, cp_body):
def update(self, cp, cp_cam, cp_body, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
throttle_msg = cp.vl["Throttle"] if not (self.CP.flags & SubaruFlags.HYBRID) else cp_body.vl["Throttle_Hybrid"]
ret.gas = throttle_msg["Throttle_Pedal"] / 255.
@@ -125,7 +126,15 @@ class CarState(CarStateBase):
if self.CP.flags & SubaruFlags.SEND_INFOTAINMENT:
self.es_infotainment_msg = copy.copy(cp_cam.vl["ES_Infotainment"])
return ret
# FrogPilot CarState functions
self.lkas_previously_enabled = self.lkas_enabled
if self.car_fingerprint not in PREGLOBAL_CARS:
fp_ret.brakeLights = bool(cp_cam.vl["ES_DashStatus"]["Brake_Lights"])
self.lkas_enabled = self.es_lkas_state_msg.get("LKAS_Dash_State")
else:
fp_ret.brakeLights = bool(cp_cam.vl["ES_Brake"]["Cruise_Brake_Lights"])
return ret, fp_ret
@staticmethod
def get_common_global_body_messages(CP):
@@ -196,6 +205,7 @@ class CarState(CarStateBase):
messages = [
("ES_DashStatus", 20),
("ES_Distance", 20),
("ES_Brake", 20),
]
else:
messages = [
@@ -226,4 +236,3 @@ class CarState(CarStateBase):
]
return CANParser(DBC[CP.carFingerprint]["pt"], messages, CanBus.alt)
+16 -9
View File
@@ -1,22 +1,25 @@
from cereal import car
from cereal import car, custom
from panda import Panda
from openpilot.selfdrive.car import get_safety_config
from openpilot.selfdrive.car import create_button_events, get_safety_config
from openpilot.selfdrive.car.disable_ecu import disable_ecu
from openpilot.selfdrive.car.interfaces import CarInterfaceBase
from openpilot.selfdrive.car.subaru.values import CAR, GLOBAL_ES_ADDR, SubaruFlags
from openpilot.selfdrive.frogpilot.frogpilot_variables import get_frogpilot_toggles
FrogPilotButtonType = custom.FrogPilotCarState.ButtonEvent.Type
class CarInterface(CarInterfaceBase):
@staticmethod
def _get_params(ret, candidate: CAR, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate: CAR, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
ret.carName = "subaru"
ret.radarUnavailable = True
# for HYBRID CARS to be upstreamed, we need:
# - replacement for ES_Distance so we can cancel the cruise control
# - to find the Cruise_Activated bit from the car
# - proper panda safety setup (use the correct cruise_activated bit, throttle from Throttle_Hybrid, etc)
ret.dashcamOnly = bool(ret.flags & (SubaruFlags.PREGLOBAL | SubaruFlags.LKAS_ANGLE | SubaruFlags.HYBRID))
ret.dashcamOnly = bool(ret.flags & (SubaruFlags.LKAS_ANGLE | SubaruFlags.HYBRID))
ret.autoResumeSng = False
# Detect infotainment message sent from the camera
@@ -50,9 +53,9 @@ class CarInterface(CarInterfaceBase):
elif candidate == CAR.SUBARU_IMPREZA:
ret.steerActuatorDelay = 0.4 # end-to-end angle controller
ret.lateralTuning.init('pid')
ret.lateralTuning.pid.kf = 0.00005
ret.lateralTuning.pid.kf = 0.00003333
ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kpBP = [[0., 20.], [0., 20.]]
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.2, 0.3], [0.02, 0.03]]
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.133, 0.2], [0.0133, 0.02]]
elif candidate == CAR.SUBARU_IMPREZA_2020:
ret.lateralTuning.init('pid')
@@ -97,13 +100,17 @@ class CarInterface(CarInterfaceBase):
return ret
# returns a car.CarState
def _update(self, c):
def _update(self, c, frogpilot_toggles):
ret = self.CS.update(self.cp, self.cp_cam, self.cp_body)
ret, fp_ret = self.CS.update(self.cp, self.cp_cam, self.cp_body, frogpilot_toggles)
ret.buttonEvents = [
*create_button_events(self.CS.lkas_enabled, self.CS.lkas_previously_enabled, {1: FrogPilotButtonType.lkas}),
]
ret.events = self.create_common_events(ret).to_msg()
return ret
return ret, fp_ret
@staticmethod
def init(CP, logcan, sendcan):
+4 -2
View File
@@ -66,7 +66,7 @@ def create_es_distance(packer, frame, es_distance_msg, bus, pcm_cancel_cmd, long
return packer.make_can_msg("ES_Distance", bus, values)
def create_es_lkas_state(packer, frame, es_lkas_state_msg, enabled, visual_alert, left_line, right_line, left_lane_depart, right_lane_depart):
def create_es_lkas_state(packer, frame, es_lkas_state_msg, enabled, visual_alert, left_line, right_line, left_lane_depart, right_lane_depart, lat_active):
values = {s: es_lkas_state_msg[s] for s in [
"CHECKSUM",
"LKAS_Alert_Msg",
@@ -118,9 +118,11 @@ def create_es_lkas_state(packer, frame, es_lkas_state_msg, enabled, visual_alert
elif right_lane_depart:
values["LKAS_Alert"] = 11 # Right lane departure dash alert
if enabled:
if lat_active:
values["LKAS_ACTIVE"] = 1 # Show LKAS lane lines
values["LKAS_Dash_State"] = 2 # Green enabled indicator
values["LKAS_Left_Line_Enable"] = 1
values["LKAS_Right_Line_Enable"] = 1
else:
values["LKAS_Dash_State"] = 0 # LKAS Not enabled
+6
View File
@@ -7,6 +7,8 @@ from openpilot.selfdrive.car import CarSpecs, DbcDict, PlatformConfig, Platforms
from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarDocs, CarParts, Tool, Column
from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries, p16
from openpilot.selfdrive.frogpilot.frogpilot_variables import get_frogpilot_toggles
Ecu = car.CarParams.Ecu
@@ -25,6 +27,8 @@ class CarControllerParams:
self.STEER_DELTA_DOWN = 40
elif CP.carFingerprint == CAR.SUBARU_IMPREZA_2020:
self.STEER_MAX = 1439
elif CP.carFingerprint == CAR.SUBARU_IMPREZA:
self.STEER_MAX = 3071
else:
self.STEER_MAX = 2047
@@ -208,6 +212,8 @@ class CAR(Platforms):
)
PREGLOBAL_CARS = {CAR.SUBARU_FORESTER_PREGLOBAL, CAR.SUBARU_LEGACY_PREGLOBAL, CAR.SUBARU_OUTBACK_PREGLOBAL, CAR.SUBARU_OUTBACK_PREGLOBAL_2018}
SUBARU_VERSION_REQUEST = bytes([uds.SERVICE_TYPE.READ_DATA_BY_IDENTIFIER]) + \
p16(uds.DATA_IDENTIFIER_TYPE.APPLICATION_DATA_IDENTIFICATION)
SUBARU_VERSION_RESPONSE = bytes([uds.SERVICE_TYPE.READ_DATA_BY_IDENTIFIER + 0x40]) + \
+1 -1
View File
@@ -15,7 +15,7 @@ class CarController(CarControllerBase):
self.pt_packer = CANPacker(DBC[CP.carFingerprint]['pt'])
self.tesla_can = TeslaCAN(self.packer, self.pt_packer)
def update(self, CC, CS, now_nanos):
def update(self, CC, CS, now_nanos, frogpilot_toggles):
actuators = CC.actuators
pcm_cancel_cmd = CC.cruiseControl.cancel
+4 -3
View File
@@ -1,6 +1,6 @@
import copy
from collections import deque
from cereal import car
from cereal import car, custom
from openpilot.common.conversions import Conversions as CV
from openpilot.selfdrive.car.tesla.values import CAR, DBC, CANBUS, GEAR_MAP, DOORS, BUTTONS
from openpilot.selfdrive.car.interfaces import CarStateBase
@@ -20,8 +20,9 @@ class CarState(CarStateBase):
self.acc_state = 0
self.das_control_counters = deque(maxlen=32)
def update(self, cp, cp_cam):
def update(self, cp, cp_cam, frogpilot_toggles):
ret = car.CarState.new_message()
fp_ret = custom.FrogPilotCarState.new_message()
# Vehicle speed
ret.vEgoRaw = cp.vl["ESP_B"]["ESP_vehicleSpeed"] * CV.KPH_TO_MS
@@ -102,7 +103,7 @@ class CarState(CarStateBase):
self.acc_state = cp_cam.vl["DAS_control"]["DAS_accState"]
self.das_control_counters.extend(cp_cam.vl_all["DAS_control"]["DAS_controlCounter"])
return ret
return ret, fp_ret
@staticmethod
def get_can_parser(CP):
+5 -5
View File
@@ -8,7 +8,7 @@ from openpilot.selfdrive.car.interfaces import CarInterfaceBase
class CarInterface(CarInterfaceBase):
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
def _get_params(ret, candidate, fingerprint, car_fw, disable_openpilot_long, experimental_long, docs):
ret.carName = "tesla"
# There is no safe way to do steer blending with user torque,
@@ -25,7 +25,7 @@ class CarInterface(CarInterfaceBase):
# If so, we assume that it is connected to the longitudinal harness.
flags = (Panda.FLAG_TESLA_RAVEN if candidate == CAR.TESLA_MODELS_RAVEN else 0)
if (CANBUS.autopilot_powertrain in fingerprint.keys()) and (0x2bf in fingerprint[CANBUS.autopilot_powertrain].keys()):
ret.openpilotLongitudinalControl = True
ret.openpilotLongitudinalControl = not disable_openpilot_long
flags |= Panda.FLAG_TESLA_LONG_CONTROL
ret.safetyConfigs = [
get_safety_config(car.CarParams.SafetyModel.tesla, flags),
@@ -39,9 +39,9 @@ class CarInterface(CarInterfaceBase):
ret.steerActuatorDelay = 0.25
return ret
def _update(self, c):
ret = self.CS.update(self.cp, self.cp_cam)
def _update(self, c, frogpilot_toggles):
ret, fp_ret = self.CS.update(self.cp, self.cp_cam, frogpilot_toggles)
ret.events = self.create_common_events(ret).to_msg()
return ret
return ret, fp_ret
+2
View File
@@ -295,6 +295,8 @@ routes = [
CarTestRoute("66c1699b7697267d/2024-03-03--13-09-53", TESLA.TESLA_MODELS_RAVEN),
# Segments that test specific issues
# Controls mismatch due to interceptor threshold
CarTestRoute("cfb32f0fb91b173b|2022-04-06--14-54-45", HONDA.CIVIC, segment=21),
# Controls mismatch due to standstill threshold
CarTestRoute("bec2dcfde6a64235|2022-04-08--14-21-32", HONDA.HONDA_CRV_HYBRID, segment=22),
]
@@ -76,6 +76,10 @@ class TestCarInterfaces:
assert len(car_params.longitudinalTuning.kpV) == len(car_params.longitudinalTuning.kpBP)
assert len(car_params.longitudinalTuning.kiV) == len(car_params.longitudinalTuning.kiBP)
# If we're using the interceptor for gasPressed, we should be commanding gas with it
if car_params.enableGasInterceptor:
self.assertTrue(car_params.openpilotLongitudinalControl)
# Lateral sanity checks
if car_params.steerControlType != car.CarParams.SteerControlType.angle:
tune = car_params.lateralTuning
@@ -0,0 +1 @@
{"input_std":[[8.319796],[0.8197253],[0.2695665],[0.042975243],[0.82591987],[0.8242552],[0.82166827],[0.7989035],[0.78012997],[0.7541669],[0.727379],[0.042928882],[0.042931043],[0.04292182],[0.042691696],[0.042392965],[0.04186602],[0.041271493]],"model_test_loss":0.026207376271486282,"input_size":18,"current_date_and_time":"2023-08-05_00-22-46","input_mean":[[26.074522],[0.02839493],[0.0066744387],[0.002057746],[0.02693295],[0.026884235],[0.027213756],[0.03047188],[0.032183405],[0.03682154],[0.037578877],[0.0020827646],[0.0020767434],[0.002068271],[0.0019987107],[0.001959759],[0.0019052405],[0.0017531246]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.040739167],[2.3032],[0.12316159],[-0.2659433],[-0.14477858],[2.5866256],[0.007428121]],"dense_1_W":[[-0.00041187002,-0.43338582,0.00060599507,-0.1214792,0.11413983,-0.5961203,0.28133482,0.20372222,-0.3518884,0.004369656,0.059917737,-0.8609317,0.057816904,0.6169038,0.3990334,0.008638719,0.40356407,-0.16347249],[2.204209,-0.6977474,0.0003794136,-0.029842956,0.42360333,-0.03850665,0.77470416,0.13669024,-1.1576334,-0.2837559,0.290581,-0.20709048,0.06827377,0.39236906,0.2664924,-0.070944384,0.061474152,-0.18787181],[0.0027994395,1.1713752,3.9056025,-0.2533814,-0.5706249,-0.31465232,-0.28078023,0.9239433,0.8800892,0.45323586,-1.5842354,1.1251147,0.001203793,-0.631376,0.17771868,-0.5216376,-0.3776946,0.2864524],[-0.45875242,-0.35037747,-0.0044959267,0.2115901,0.49776042,0.40634266,0.16292186,0.085123494,-0.9553305,-0.6551008,1.0865217,-0.71530885,-0.122710146,0.41569617,0.053198084,-0.013457165,0.36482632,-0.3238176],[-0.002217434,1.7620963,-1.2475897,0.2861537,2.5786693,1.6882615,2.2971427,0.5035391,-3.1869397,-3.7319245,-1.4041471,-1.1169863,-0.17736337,0.21103925,0.1615338,-0.7596914,0.4106967,0.9845423],[2.4344306,-0.5410767,0.0015357351,-0.4139311,-0.2258391,0.22010726,-0.43920308,0.3511928,0.9479655,0.80018866,-0.516027,0.007953332,0.033446178,-0.082440384,0.35339966,-0.26683265,-0.33867463,0.3848125],[-0.006754755,0.48652485,-0.00026165723,-0.07224382,-0.032497358,0.3571908,-0.30286846,-0.38309038,0.36634418,0.2480767,-0.20110212,0.7545479,0.11547977,-0.7146525,-0.018818611,-0.31016228,0.010726242,0.2242711]],"activation":"σ"},{"dense_2_W":[[0.5528864,0.008744154,0.6015725,0.22935376,-0.51005757,-0.5996119,-0.061544895],[-1.4023882,0.050312754,-0.09053194,-0.5902193,0.3458193,-0.14508769,0.946796],[-1.1020836,-1.510418,0.81544393,-0.40635344,-0.4560999,-0.2849373,1.1164322],[-0.4434681,-0.6467564,0.35384342,-0.4493043,-0.23754148,-0.24804021,0.9237547],[-0.27906877,-0.9630674,0.42410734,-0.76862967,-0.59738564,-0.70335937,-0.18449919],[-0.50024533,-0.013576657,0.25596973,0.105690226,-0.52567744,0.80972326,0.7098216],[-0.8556806,-0.14960146,-0.14877279,0.25888273,-0.18901795,-0.16515623,0.7054368],[-1.041555,0.5246004,0.87523067,-0.4851678,-0.5188004,1.3508142,1.344452],[0.83991337,0.54517484,0.09614608,0.028868627,0.35332617,0.22425945,-0.24393064],[0.48884755,-0.6723522,0.161554,-0.18337585,0.010732531,0.042358696,-0.94669324],[0.7589174,0.44016284,-0.21002136,-0.7584538,-0.1012028,-0.44348133,-0.34792235],[0.68993133,-0.13230318,-0.20205282,0.33807474,0.2551999,-0.7216631,-0.9246813],[0.55567986,0.92921287,-0.3879664,-0.06419992,0.44321644,0.34334105,-0.7811811]],"activation":"σ","dense_2_b":[[0.009339096],[-0.027214382],[-0.19324711],[-0.1799901],[-0.3219004],[-0.0076973503],[0.031202752],[0.1887236],[-0.10121091],[-0.21036065],[-0.02065366],[-0.068702094],[0.096490316]]},{"dense_3_W":[[0.5728007,-0.3089611,0.28924087,-0.5445901,0.35486373,-0.44516575,-0.5423116,0.1779453,0.58426845,0.66963387,-0.31166366,0.6550927,0.50334716],[-0.40078798,-0.027345562,-0.5357739,-0.5126658,-0.5254064,-0.32021227,-0.44433862,-0.79833746,-0.10665151,0.20663711,-0.17090832,0.98109436,0.78809434],[-0.17410587,0.23138371,0.66809905,0.2743278,0.096785605,0.5667218,0.52852666,0.4389385,-0.4016732,0.05424836,-0.7506198,-0.71257013,-0.20795672]],"activation":"identity","dense_3_b":[[0.02470415],[0.1408834],[-0.05001292]]},{"dense_4_W":[[-0.3242929,-0.272474,0.8721407]],"dense_4_b":[[-0.046378713]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.821153],[1.1607649],[0.47132117],[0.042723242],[1.137403],[1.1458488],[1.154415],[1.1424824],[1.1269064],[1.1112212],[1.0889144],[0.04246643],[0.04255451],[0.042637058],[0.04284904],[0.04293054],[0.04296549],[0.04289919]],"model_test_loss":0.010373540222644806,"input_size":18,"current_date_and_time":"2023-08-05_01-15-19","input_mean":[[22.519371],[-0.051268775],[0.008842468],[-0.0062438333],[-0.049525455],[-0.050104525],[-0.050982136],[-0.044812053],[-0.03977025],[-0.029485626],[-0.022126574],[-0.00628094],[-0.006273981],[-0.00626523],[-0.006110039],[-0.005949586],[-0.0056778532],[-0.005516688]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[2.145696],[-2.4282207],[-0.0467647],[0.10926833],[0.0520818],[0.04222916],[-0.5462429]],"dense_1_W":[[0.89382285,0.05062796,0.92885584,0.07922598,0.5873072,1.1331865,-0.91537136,-0.13934332,0.17509349,-0.017687947,0.1421727,0.07907387,-0.43241176,-0.29524758,0.64221257,0.25150946,-0.05171897,-0.2579187],[-0.98185164,0.15350275,0.9519401,-0.09016293,0.5030077,0.777908,-0.5172474,-0.1343053,0.060967423,0.059980214,0.10476908,0.17575294,-0.20688392,-0.37559837,0.5713468,0.08849066,0.06383742,-0.21201873],[-0.0056540756,0.34154844,-0.0002563853,0.1807267,0.48449796,1.7143611,-1.3936676,-0.35775846,-0.5523075,-0.15023966,0.5988954,0.72132236,0.18023057,-0.46348006,-0.3817839,0.23941651,-0.06494792,-0.41726813],[-0.01459551,1.354641,6.4718165,-0.45382518,-0.35718468,0.69441503,-0.12716621,-0.10042224,-0.016146144,-0.4092775,-1.1707406,0.24052495,0.18990588,-0.1906599,0.070675336,0.2473157,-0.13808818,0.048208434],[-0.0009390727,1.1310523,0.0082692,-0.10876187,0.25259772,1.0159874,-0.72615826,0.107342415,0.0071694367,-0.065621555,0.13799563,-0.24110964,-0.073862016,-0.496919,-0.3644365,0.16880687,0.13885318,0.15355359],[-0.0016120744,-1.5514591,-0.000675083,0.40327275,0.8975076,-0.8923279,0.7910547,-0.40612024,-0.35091725,-0.101295106,0.38604048,-0.3228168,-0.17239958,-0.3530256,0.58767676,0.15752153,0.060442753,-0.32661223],[0.028779855,2.903487,-0.022664804,0.67652136,0.86524385,1.6721133,1.4576133,1.4279684,0.98554605,0.5130255,-0.469917,-0.0684012,0.4178242,0.3712093,-0.7501333,-0.06791517,0.33725083,-0.09968473]],"activation":"σ"},{"dense_2_W":[[0.72010493,-0.22845428,0.34250122,-0.10947913,-0.09878085,0.19209231,0.3437535],[-0.19205496,-0.07013072,-0.7416267,0.25280657,-0.1804019,0.4552836,0.12560841],[0.3121345,0.351005,0.5316866,0.03252624,-0.057188597,-0.9498188,0.07712814],[-0.16806532,0.25612888,0.43424875,-0.24325378,0.23957624,-0.14204793,-0.13016012],[-0.02399125,-0.71077454,0.03666176,-0.044081435,-0.495433,0.2724298,0.22011437],[-0.24902506,-0.59004927,-0.13717845,-0.5492086,-0.8540712,1.7531782,-0.18482044],[0.045421652,0.13694939,0.35765722,-0.28403643,0.13330263,-0.053298414,0.07322283],[-0.34804162,-0.38957596,-0.1432544,0.071290284,-0.538751,1.1790421,0.29278603],[0.45716798,-0.3516285,-0.2764383,0.4446462,0.76846844,-0.7801458,0.49539566],[0.07269321,-0.15379232,-0.8779124,-0.92490155,-0.91285044,1.7692323,0.028679641],[-0.763075,0.17418097,-0.2823778,0.04659932,-0.030475633,0.37596756,-0.66006523],[-0.30286422,-0.03590232,-0.012065834,-0.16185908,-0.2584895,0.3575371,-0.36891615],[-0.39941847,0.09128256,-0.32452282,-0.36513522,0.06978018,0.028525386,-0.7303688]],"activation":"σ","dense_2_b":[[0.048172507],[-0.07530213],[-0.340101],[-0.022203589],[0.009521725],[0.46328664],[0.004919447],[0.022925986],[-0.15940326],[0.40359482],[-0.14555077],[-0.02970779],[-0.24673922]]},{"dense_3_W":[[-0.32974115,-0.5017099,0.5581341,-0.22340928,-0.03365036,-0.20835784,0.537433,0.5391966,-0.36658195,-0.5869503,0.17776869,-0.013170913,0.49127203],[-0.29820803,0.28987518,-0.24515595,0.25772423,-0.04187076,0.69620353,-0.3389867,0.12667182,0.150237,0.5090255,0.49386412,-0.3637399,-0.01771473],[0.5784079,-0.0028831854,0.43896967,0.60790384,-0.4540079,-0.45909828,0.046820417,-0.56937873,0.530507,-0.1309796,0.32449916,-0.49291292,-0.07336644]],"activation":"identity","dense_3_b":[[0.0460099],[-0.07466251],[0.050609488]]},{"dense_4_W":[[0.13093115,-0.7773025,0.81287336]],"dense_4_b":[[0.057754416]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[7.7137036],[0.9591701],[0.43025136],[0.042929597],[0.94636554],[0.9494532],[0.9542092],[0.9331239],[0.92229235],[0.90257126],[0.88295245],[0.04270026],[0.042758208],[0.042818923],[0.042808957],[0.04270763],[0.04245825],[0.04215921]],"model_test_loss":0.013933051377534866,"input_size":18,"current_date_and_time":"2023-08-05_03-45-12","input_mean":[[22.835394],[0.021439364],[0.0072024865],[-0.030873412],[0.021618834],[0.022110935],[0.02246376],[0.027221544],[0.027849164],[0.028268991],[0.032981515],[-0.030950077],[-0.030914158],[-0.030886404],[-0.030796975],[-0.03080609],[-0.030815149],[-0.030869272]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.04303998],[0.18157572],[-0.08682473],[2.9495513],[1.4374219],[0.6783021],[-2.7817473]],"dense_1_W":[[-0.0047104284,-0.6137708,0.002341153,0.0833492,0.08768307,-0.81527835,0.6300508,-0.16833228,-0.25419337,-0.031592067,0.122596905,-0.10794349,-0.06970466,0.1521993,-0.04051286,0.059251916,-0.11607053,0.024402162],[-0.06346717,-0.8082159,0.0040190252,0.3896669,0.06872366,-0.7609862,1.0698833,-0.06101861,0.1457311,0.19787341,-0.21086167,-0.07617529,-0.40358907,0.012452437,0.10700336,0.3594503,0.025611963,-0.14057784],[-0.010002668,-1.4602287,-5.6766963,0.03532623,-0.3498076,-0.005860239,0.092076786,-0.22858407,-0.4043539,0.277433,2.0291262,0.044144016,0.06367758,-0.2504535,0.3463553,-0.27935135,0.18728429,-0.15520296],[1.595175,1.1790471,0.33827057,-0.36523697,-0.028244315,0.88139707,-1.6474634,0.3107364,-0.13230316,0.019280735,-0.015979009,0.5001427,-0.13290524,-0.15675303,0.12809546,-0.09519324,-0.046115097,0.14121765],[0.01943066,0.3716076,-0.048877437,-0.3783698,0.8343788,-0.51018566,1.0465596,-0.123417296,-0.446517,0.0398392,0.5281696,-0.3002102,-0.4030578,-0.23385769,0.45266014,-0.15139927,-0.084088355,-0.8366423],[-0.05169121,0.34580684,-0.0006902231,-0.0828817,-0.67921466,1.1092558,-0.4253136,0.008052844,-0.08571924,0.14040273,-0.057995982,0.5459289,-0.1640265,-0.24621837,-0.44702664,0.25875458,-0.16363451,0.07772843],[-1.5420308,-0.0795151,0.32449803,0.09269649,-0.12254087,0.95711464,-0.32903105,0.03880426,-0.24505275,0.3849109,-0.085893035,0.1646195,-0.14589338,-0.44051296,-0.05752575,0.38210398,0.32775694,-0.34554252]],"activation":"σ"},{"dense_2_W":[[-1.1991313,-0.99167293,-0.51472193,0.16773303,0.02101984,0.2913248,1.2563334],[0.50807565,0.2559231,0.3110827,-0.7911515,-0.2996264,-0.76801026,0.21431924],[-0.85551465,-0.3015842,-0.283833,0.5011012,-1.0202202,0.6740454,0.972628],[0.98223805,1.0016109,-0.09864264,0.13172226,-0.12697673,-0.40963414,-0.35780042],[-1.1385525,-0.88758576,-0.2415131,1.0169281,-0.37200353,0.83228046,0.58273304],[0.21168564,-0.01694945,-0.13944875,0.12901805,-0.58597475,-0.23450175,0.07449124],[0.6887359,0.49634412,-0.4524045,-0.5046205,0.80216706,-0.37323585,0.15390924],[-0.86359656,-0.8294278,-0.10975485,-0.111551575,-0.21511969,1.1387116,0.014124521],[0.6704329,0.7197621,-0.16924202,-0.03436297,0.3256051,-0.6220993,-0.3785999],[0.88013136,0.211954,0.26013535,-0.5998456,-0.14124529,-1.0012022,0.30486783],[0.8889406,0.25632593,0.029823503,-0.6760066,0.40066594,-0.6796646,-0.42230535],[-0.09985791,-0.6314821,-0.6048359,-0.28479984,0.022334062,-0.11070772,-0.50172895],[-1.0790496,-0.81828046,-0.26459435,-0.15203167,-0.10264537,0.7340549,0.6219628]],"activation":"σ","dense_2_b":[[0.07743759],[-0.08656865],[-0.028110785],[0.011056744],[0.33631137],[-0.33865649],[0.093462616],[0.28041044],[-0.1485106],[-0.10288075],[-0.118501574],[-0.19659644],[0.23902157]]},{"dense_3_W":[[-0.21247761,-0.3863918,-0.35711917,-0.15159392,-0.3087554,0.27256498,0.059494548,0.79742235,-0.6449726,-0.3814191,-0.6635471,0.14567713,0.6240987],[-0.60485286,0.36261612,-0.3062913,0.5288856,-0.8237054,0.14184983,0.36521724,-0.6798562,0.19129165,0.76819366,0.3231601,0.028053993,-0.89101535],[0.5106036,-0.047764797,0.003893947,0.122273564,-0.616694,-0.30744067,0.10899531,-0.98274595,0.045314062,0.3392997,0.15401444,0.406467,-0.3275237]],"activation":"identity","dense_3_b":[[0.0072817504],[0.054671016],[0.3754705]]},{"dense_4_W":[[0.18990728,-1.0539979,-0.04924367]],"dense_4_b":[[-0.04299712]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[6.227712],[1.1068953],[1.0287797],[0.031075474],[1.0763543],[1.0856286],[1.0965383],[1.126149],[1.1471479],[1.1817935],[1.207976],[0.03088383],[0.030962178],[0.031021496],[0.031159075],[0.031329848],[0.031462345],[0.031319857]],"model_test_loss":0.004972144495695829,"input_size":18,"current_date_and_time":"2023-08-31_18-04-43","input_mean":[[24.297255],[0.05408088],[-0.024366971],[0.017203888],[0.04666708],[0.049268622],[0.050475407],[0.05590255],[0.04882452],[0.04647568],[0.05159426],[0.017288238],[0.017341834],[0.017397404],[0.017483119],[0.017647635],[0.018217644],[0.018788869]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.022334022],[-0.100295104],[-0.110021666],[-0.37309307],[-0.18126963],[-0.90585893],[-0.5534994]],"dense_1_W":[[0.0030549474,1.145932,-0.09721581,0.18435507,-0.2573822,-0.19281419,0.43596926,0.1603594,0.10032455,-0.051014125,0.4603509,0.38878915,-0.22585483,-0.29935592,-0.04472448,-0.15199424,0.44078583,-0.19637495],[0.007835068,0.57188964,0.18070067,-0.2610156,-0.17529912,0.14483498,-0.23499107,0.4929414,0.10448897,-0.45648035,0.029684572,0.1314099,-0.16433047,0.2065975,0.07887834,-0.0060373824,-0.20691155,0.13691476],[-0.005327477,1.7886202,2.9505506,0.09841906,-1.9402149,-1.3852259,-0.043792397,0.660079,0.60579574,0.24349208,0.29671067,0.08202194,-0.13981113,0.36684915,0.057882063,-0.41412312,0.31871474,-0.02327852],[1.0903977,-1.1873779,0.14879608,0.040507846,0.040393896,0.13455993,0.9753803,0.085223004,-0.06493875,-0.20206894,0.18746802,-0.24526027,-0.08939371,0.2430548,0.13119027,0.15268146,0.20207612,-0.083613925],[0.0021948,3.2657847,-0.18798442,-0.12689658,-0.30403885,0.3367026,0.91909635,1.7143666,0.045331903,-0.31545398,-0.051042344,-0.3529171,0.29837632,0.09466574,-0.8073861,-0.0039647045,-0.1720164,0.5201512],[1.0928359,1.2096838,-0.14703602,0.018953208,-0.03811592,-0.2855322,-0.8143947,0.05326237,-0.066094,0.064099275,-0.06976516,-0.06933611,0.34876755,-0.25860986,-0.14344722,-0.07053271,-0.20750608,0.025129952],[-0.0055736825,0.64105284,0.10726179,-0.17012087,-0.001185817,0.5677425,-0.93299127,0.09094073,0.0109323105,0.2228847,-0.16700141,0.30421817,0.13674305,-0.49573237,-0.13086164,0.31447932,0.15766789,-0.16813341]],"activation":"σ"},{"dense_2_W":[[0.27341422,-0.47601527,-0.6289435,1.3114856,-0.18440256,-0.69279665,-0.58332384],[-0.34085867,-0.29880068,-0.9368486,0.2080702,0.6225143,-0.6358373,-1.1943169],[0.6918406,0.15412113,0.04159215,-0.6581899,0.24066101,-0.043641392,0.045506563],[-0.026726253,-0.81909335,0.16420767,0.00291583,-0.3189569,-0.5359374,-0.7172654],[-0.8483084,-0.35060802,-0.41203314,-0.5305087,0.47287297,-0.28290507,-0.8737458],[0.35316753,0.90733016,-0.2770915,0.20165613,0.20155826,0.36213335,-0.24496384],[-0.5022167,-0.5612638,0.38854852,-0.018215526,-0.19334692,-0.4468064,-0.86793435],[0.47059315,0.23489894,0.41844767,-0.08509097,-0.31178007,0.11894885,0.5030957],[0.24172585,0.24865924,-0.15847187,-0.7011813,0.48085362,0.14869425,0.23137042],[-0.618487,0.12818213,-0.6849712,0.29365247,0.20846452,-0.063214555,0.125115],[0.5387756,0.06612413,-0.4151303,-0.63775194,0.5008791,-0.059868183,0.5720243],[-0.32397416,-0.08635292,-0.4818767,-0.67876416,-0.5552992,0.2187673,-0.4787086],[-0.89717907,-0.42284042,0.31489655,-0.8514086,-0.7674914,-0.41609457,-0.006730729]],"activation":"σ","dense_2_b":[[0.44311488],[0.11209076],[-0.0894076],[0.1847591],[-0.1593725],[-0.022556875],[0.21991341],[-0.05744998],[-0.057585794],[-0.2627398],[-0.054548565],[0.105285086],[-0.19715697]]},{"dense_3_W":[[-0.35089782,-0.39416888,-0.30615157,-0.46847108,-0.26617768,0.43837857,-0.485962,-0.2902945,-0.17870793,0.2757293,0.6125576,-0.24665116,-0.21227285],[-0.37411463,0.19765407,-0.014807391,0.06321688,0.37360784,0.22288837,-0.116587795,0.029183213,0.6631047,0.11275381,-0.27042058,-0.44573787,0.14713542],[-0.50715375,-0.38213205,0.5145017,-0.6412086,-0.39256987,0.058481824,-0.437418,0.30487192,0.5463277,-0.17863718,0.47274628,-0.5652254,-0.2641463]],"activation":"identity","dense_3_b":[[0.0534896],[0.01632865],[0.023216043]]},{"dense_4_W":[[0.3922371,0.50241,1.2339215]],"dense_4_b":[[0.022297831]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[10.534294],[1.5504998],[1.4046903],[0.029573984],[1.5927145],[1.578906],[1.564156],[1.5118331],[1.493684],[1.4678634],[1.4253669],[0.02943281],[0.029483505],[0.029535847],[0.02967169],[0.029826282],[0.03000203],[0.030046586]],"model_test_loss":0.02003631368279457,"input_size":18,"current_date_and_time":"2023-08-31_20-50-28","input_mean":[[20.131113],[0.009686473],[0.06975938],[0.0023475066],[0.0038891183],[0.0060874033],[0.008401226],[0.013517541],[0.01840766],[0.0266773],[0.02453028],[0.0023093733],[0.002328295],[0.0023440488],[0.0024961669],[0.0025724813],[0.0024677413],[0.0023574075]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-4.0288644],[0.10457083],[-3.9555483],[0.1691402],[-0.012094571],[-0.0782635],[-0.2598278]],"dense_1_W":[[-2.1827135,1.6132607,-0.9255983,0.116717376,-1.8178183,-0.54029983,0.33489665,0.56080383,-0.22747517,-0.5733255,0.5044412,-0.2292483,0.043896638,0.08075467,-0.28934216,0.17338042,0.0033520209,0.10574474],[-0.03214852,1.3043286,1.787647,-0.19292493,-1.496456,-1.6432034,-1.0122085,0.6772478,0.9241051,2.137595,1.1481318,0.7382223,0.24003813,-0.26050806,-0.28489965,-0.055436503,-1.5187881,0.5395662],[-2.130688,-2.4082897,0.8946516,1.182773,1.0356439,1.0627962,0.681919,-1.07377,0.9514841,0.2902732,-0.51102746,-1.0186149,0.06007755,0.55835754,-0.8702267,-0.27547133,1.1577551,-0.79220283],[0.048019372,0.56005365,0.090563335,0.04659274,-0.3400944,0.08129445,0.079794005,1.6712024,0.37665895,0.92944545,-0.818461,1.0755452,0.03035464,-0.7417196,0.46747556,-1.7863483,0.1933551,0.6655417],[0.010540867,-2.1044421,0.123707764,0.19983652,-0.3400125,0.042333197,-0.14189881,-0.15991694,1.1688339,0.89001805,-1.0717757,-0.12767468,-0.23459645,0.55075175,0.08273279,-1.410371,-0.11742753,1.0628744],[-0.0035597957,3.3175247,-0.08206834,-0.41877395,-2.3628318,-0.3887815,0.33513132,1.0517763,1.3315583,-0.45716277,-0.83998686,0.038495045,-0.29630885,-0.5393306,0.004715303,-0.3557685,-0.0024815162,0.5117863],[-0.06787126,-1.0245934,0.846602,0.76652443,-3.6147707,-3.2961829,-3.046585,-2.334436,-2.2018268,-2.0479157,-2.1753612,-0.3235234,0.3021576,0.6696055,-0.5296955,-0.34782553,-0.6869261,0.61321783]],"activation":"σ"},{"dense_2_W":[[0.64928615,0.2816972,-0.8923362,0.39578387,-0.61536825,0.81299543,0.32944572],[-3.469548,-0.088318504,4.506985,1.7126206,-0.54613674,1.1776173,-1.3406864],[-0.16514356,-0.18710926,-0.049463313,-0.74177825,-0.89867437,-0.12767266,-0.41532612],[0.3880128,0.14577644,-0.22068585,0.47859693,-0.3810993,0.21953157,-0.28429258],[0.09226449,-0.31862667,-0.7718878,-0.3926271,0.39786428,0.24407528,0.50177044],[0.67237484,0.12668592,-0.30338138,-0.625696,0.26677904,-0.40067798,-0.32989067],[0.55108297,-0.46753818,-0.2422762,-0.32914385,1.0277789,-0.21390574,-0.51578075],[-0.6387295,0.087801814,0.4115124,0.19489816,-0.50232434,0.88593876,0.04993241],[-0.0012766474,-0.39255276,-0.43439093,0.5811583,0.04147405,0.39352056,-0.2983913],[0.5312808,-0.46965963,-0.2202195,0.022353612,0.9100419,-0.7610306,-0.045171853],[-0.4153422,0.25298238,-0.16235219,0.6847717,-0.24125478,0.12481583,0.17123348],[0.019955412,-0.049374487,-0.028301261,-0.1474805,-0.99081236,0.46832514,0.04314314],[-0.060847353,-0.4487362,0.11238633,-0.2315336,0.61632276,-0.037449174,-0.31603873]],"activation":"σ","dense_2_b":[[-0.0784909],[-0.78942764],[-0.15396598],[-0.0694357],[0.42111325],[0.13395377],[0.13471761],[-0.2390017],[-0.10127865],[0.021352982],[-0.10597191],[-0.0495153],[0.08049109]]},{"dense_3_W":[[-0.5803282,-0.4269681,-0.29210615,-0.35849357,0.6151693,0.4374335,0.33656615,-0.38959798,-0.124871194,0.80708337,-0.2547417,-0.4598867,0.28997138],[-0.024669895,1.1817242,-0.08351745,-0.24313891,-0.31439584,-0.25903952,-0.07882097,0.5553487,-0.3152985,-0.31680647,-0.116309114,0.010063961,0.2913986],[-0.43385702,-0.37067002,0.0936241,0.23112701,0.11643858,-0.15334345,-0.003450505,0.18969658,0.37703827,-0.25617403,0.11559996,-0.19988349,0.1828592]],"activation":"identity","dense_3_b":[[0.098078996],[0.0034752209],[0.008636777]]},{"dense_4_W":[[-0.73048496,0.39407238,-0.07285802]],"dense_4_b":[[-0.09288416]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[10.534294],[1.5504998],[1.4046903],[0.029573984],[1.5927145],[1.578906],[1.564156],[1.5118331],[1.493684],[1.4678634],[1.4253669],[0.02943281],[0.029483505],[0.029535847],[0.02967169],[0.029826282],[0.03000203],[0.030046586]],"model_test_loss":0.02003631368279457,"input_size":18,"current_date_and_time":"2023-08-31_20-50-28","input_mean":[[20.131113],[0.009686473],[0.06975938],[0.0023475066],[0.0038891183],[0.0060874033],[0.008401226],[0.013517541],[0.01840766],[0.0266773],[0.02453028],[0.0023093733],[0.002328295],[0.0023440488],[0.0024961669],[0.0025724813],[0.0024677413],[0.0023574075]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-4.0288644],[0.10457083],[-3.9555483],[0.1691402],[-0.012094571],[-0.0782635],[-0.2598278]],"dense_1_W":[[-2.1827135,1.6132607,-0.9255983,0.116717376,-1.8178183,-0.54029983,0.33489665,0.56080383,-0.22747517,-0.5733255,0.5044412,-0.2292483,0.043896638,0.08075467,-0.28934216,0.17338042,0.0033520209,0.10574474],[-0.03214852,1.3043286,1.787647,-0.19292493,-1.496456,-1.6432034,-1.0122085,0.6772478,0.9241051,2.137595,1.1481318,0.7382223,0.24003813,-0.26050806,-0.28489965,-0.055436503,-1.5187881,0.5395662],[-2.130688,-2.4082897,0.8946516,1.182773,1.0356439,1.0627962,0.681919,-1.07377,0.9514841,0.2902732,-0.51102746,-1.0186149,0.06007755,0.55835754,-0.8702267,-0.27547133,1.1577551,-0.79220283],[0.048019372,0.56005365,0.090563335,0.04659274,-0.3400944,0.08129445,0.079794005,1.6712024,0.37665895,0.92944545,-0.818461,1.0755452,0.03035464,-0.7417196,0.46747556,-1.7863483,0.1933551,0.6655417],[0.010540867,-2.1044421,0.123707764,0.19983652,-0.3400125,0.042333197,-0.14189881,-0.15991694,1.1688339,0.89001805,-1.0717757,-0.12767468,-0.23459645,0.55075175,0.08273279,-1.410371,-0.11742753,1.0628744],[-0.0035597957,3.3175247,-0.08206834,-0.41877395,-2.3628318,-0.3887815,0.33513132,1.0517763,1.3315583,-0.45716277,-0.83998686,0.038495045,-0.29630885,-0.5393306,0.004715303,-0.3557685,-0.0024815162,0.5117863],[-0.06787126,-1.0245934,0.846602,0.76652443,-3.6147707,-3.2961829,-3.046585,-2.334436,-2.2018268,-2.0479157,-2.1753612,-0.3235234,0.3021576,0.6696055,-0.5296955,-0.34782553,-0.6869261,0.61321783]],"activation":"σ"},{"dense_2_W":[[0.64928615,0.2816972,-0.8923362,0.39578387,-0.61536825,0.81299543,0.32944572],[-3.469548,-0.088318504,4.506985,1.7126206,-0.54613674,1.1776173,-1.3406864],[-0.16514356,-0.18710926,-0.049463313,-0.74177825,-0.89867437,-0.12767266,-0.41532612],[0.3880128,0.14577644,-0.22068585,0.47859693,-0.3810993,0.21953157,-0.28429258],[0.09226449,-0.31862667,-0.7718878,-0.3926271,0.39786428,0.24407528,0.50177044],[0.67237484,0.12668592,-0.30338138,-0.625696,0.26677904,-0.40067798,-0.32989067],[0.55108297,-0.46753818,-0.2422762,-0.32914385,1.0277789,-0.21390574,-0.51578075],[-0.6387295,0.087801814,0.4115124,0.19489816,-0.50232434,0.88593876,0.04993241],[-0.0012766474,-0.39255276,-0.43439093,0.5811583,0.04147405,0.39352056,-0.2983913],[0.5312808,-0.46965963,-0.2202195,0.022353612,0.9100419,-0.7610306,-0.045171853],[-0.4153422,0.25298238,-0.16235219,0.6847717,-0.24125478,0.12481583,0.17123348],[0.019955412,-0.049374487,-0.028301261,-0.1474805,-0.99081236,0.46832514,0.04314314],[-0.060847353,-0.4487362,0.11238633,-0.2315336,0.61632276,-0.037449174,-0.31603873]],"activation":"σ","dense_2_b":[[-0.0784909],[-0.78942764],[-0.15396598],[-0.0694357],[0.42111325],[0.13395377],[0.13471761],[-0.2390017],[-0.10127865],[0.021352982],[-0.10597191],[-0.0495153],[0.08049109]]},{"dense_3_W":[[-0.5803282,-0.4269681,-0.29210615,-0.35849357,0.6151693,0.4374335,0.33656615,-0.38959798,-0.124871194,0.80708337,-0.2547417,-0.4598867,0.28997138],[-0.024669895,1.1817242,-0.08351745,-0.24313891,-0.31439584,-0.25903952,-0.07882097,0.5553487,-0.3152985,-0.31680647,-0.116309114,0.010063961,0.2913986],[-0.43385702,-0.37067002,0.0936241,0.23112701,0.11643858,-0.15334345,-0.003450505,0.18969658,0.37703827,-0.25617403,0.11559996,-0.19988349,0.1828592]],"activation":"identity","dense_3_b":[[0.098078996],[0.0034752209],[0.008636777]]},{"dense_4_W":[[-0.73048496,0.39407238,-0.07285802]],"dense_4_b":[[-0.09288416]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.111214],[1.4682485],[0.57526964],[0.04511676],[1.4448825],[1.4523145],[1.460504],[1.4530647],[1.436759],[1.409998],[1.3768793],[0.04496706],[0.044998076],[0.04501952],[0.044998042],[0.04498694],[0.044818893],[0.04446676]],"model_test_loss":0.022049037739634514,"input_size":18,"current_date_and_time":"2023-08-05_05-39-06","input_mean":[[24.08155],[0.011368711],[0.0031438756],[-0.0055672466],[0.01115314],[0.0110932905],[0.010956869],[0.013351914],[0.012678603],[0.010665299],[0.007861591],[-0.0056356518],[-0.0056050173],[-0.005582452],[-0.0056302436],[-0.0057524433],[-0.0058822],[-0.006047828]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[1.4668645],[0.0061378293],[0.14334162],[-1.507637],[-3.6057515],[-0.045111466],[0.18928593]],"dense_1_W":[[0.6566544,0.7743814,0.18751603,0.04858998,0.7569071,0.25307912,-2.068015,0.9910395,0.86449015,0.5162737,0.17964111,0.73959017,-0.13406877,-1.2188785,0.051854312,0.557273,0.42717713,-0.4706351],[0.025763594,2.3271172,7.5912685,-0.59063435,-1.0175278,0.07860616,-0.39720893,-1.3828933,0.27263463,0.5794174,-0.941214,0.5112712,0.31876096,-0.38133666,-0.17985544,0.50390506,-0.42106378,0.24962576],[0.05800794,4.917338,-0.050065108,0.5062318,2.31812,2.2346003,0.97258455,2.237544,3.1694891,3.0328865,2.4481356,0.87150276,0.23922867,-0.27206227,-0.76175624,-0.59474605,0.022229204,0.18751834],[0.91351914,0.42640725,0.21792875,-0.6499657,0.42711547,0.46455538,-0.7128904,0.6972329,0.07784378,0.15792462,0.86492527,0.16739717,0.3357893,-0.1592361,0.10722909,0.21031618,-0.019191844,-0.031056747],[-1.390049,0.89916164,0.30032212,0.0886132,0.81011575,-0.3205005,-2.085708,1.6698592,1.496016,0.86138624,0.12484511,0.47975743,-0.41812262,-0.7270122,-0.06460007,0.9231981,0.42574838,-0.64465237],[-0.001402944,-1.1569467,0.0005942974,0.063189715,-0.09013453,-1.2986813,1.6477252,-0.4343868,-0.08533708,-0.27364805,0.21535206,-0.34249792,-0.48679602,0.6684111,0.16701448,0.39430234,0.2199159,-0.27228448],[-1.1195272,0.015763488,-0.200724,0.05122529,0.40223718,0.5024332,-1.402779,-0.47795737,-0.24807225,-0.70503217,-0.21363245,0.76604843,-0.14105192,-0.4387646,-0.28273064,-0.21595778,0.03305617,0.22701742]],"activation":"σ"},{"dense_2_W":[[1.7721981,2.2011127,0.29388586,0.38426542,0.83704543,-2.9152303,0.5229557],[-0.36864644,0.42984635,-0.41658726,-0.041540317,0.18798253,0.38724944,-0.65996665],[-0.52116436,0.2358491,-0.2220775,-0.032654468,-0.48732167,0.3548198,-0.45838025],[-0.2911298,-0.46853513,0.03141412,-0.795555,-0.18514551,-0.08353839,-0.33849046],[-0.67049307,0.10367472,0.4490753,-0.55316794,-0.48152244,0.31841356,-0.14415056],[0.28696507,-1.2001104,-0.55151457,0.95023096,-1.3845363,-0.3174642,-0.3309214],[-0.6142683,0.0910831,-0.18282256,-0.44715023,0.37679994,0.44533804,0.027039269],[0.14790064,-0.27130985,-0.18719442,-0.13985236,-0.22100836,-0.6535676,-0.19135725],[-0.4416883,-0.37975168,-0.43114612,-0.07862877,0.20007153,0.95488816,-0.52858645],[-0.17171355,0.2863653,0.4144529,0.679835,0.34844747,-1.2170105,0.29281953],[0.06252894,0.095131,-0.13292563,-0.6726018,-0.39990836,-0.68776375,-0.36863],[0.7808943,-0.8408942,0.13730413,0.102169715,0.1682241,-0.5337488,1.5183735],[0.11278698,0.10173518,0.10506139,0.4002509,0.16067709,-1.1565727,0.75811535]],"activation":"σ","dense_2_b":[[-1.5210099],[-0.0006081214],[0.021954967],[0.032652497],[0.19418235],[-0.42663833],[0.11631468],[-0.27090475],[0.18836942],[-0.4026297],[-0.3532125],[-0.095932305],[-0.094078794]]},{"dense_3_W":[[-0.08552111,0.15208419,0.3206692,-0.46672416,-0.0039158463,-0.05807648,-0.5021984,0.15186986,-0.59495836,0.2405156,-0.5498271,0.070102595,0.26428217],[-0.63763195,0.14358082,0.45475405,0.4365134,0.5539486,-0.44107583,0.46288002,-0.1564132,0.39014947,-0.55990654,-0.05062592,-0.5582297,-0.45318148],[0.57558644,-0.5381224,-0.6278913,0.21171339,-0.06526249,-0.1312582,0.3146726,-0.45940813,-0.15466015,0.11860342,0.36926913,-0.16175088,0.17500523]],"activation":"identity","dense_3_b":[[-0.03552377],[0.059005316],[-0.037881076]]},{"dense_4_W":[[0.43992618,-0.9712287,0.43158254]],"dense_4_b":[[-0.04844147]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[7.0000353],[0.91031396],[1.269469],[0.0315604],[0.9563133],[0.95031977],[0.9356424],[0.873496],[0.8912867],[0.8935701],[0.96191794],[0.031832103],[0.031727515],[0.031619374],[0.03170114],[0.03179356],[0.031944003],[0.03203715]],"model_test_loss":0.025683574378490448,"input_size":18,"current_date_and_time":"2023-08-31_22-32-43","input_mean":[[27.019146],[0.2162388],[-0.102987334],[-0.016973253],[0.2426502],[0.23661843],[0.22663806],[0.18541981],[0.17368032],[0.14804864],[0.09238692],[-0.017235657],[-0.017166195],[-0.017074104],[-0.016875083],[-0.016880676],[-0.017125089],[-0.017351476]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.23588695],[-0.5088953],[1.5173167],[0.21325926],[0.7270255],[1.0430372],[-2.1749456]],"dense_1_W":[[-0.00035987928,1.4975938,2.03412,-0.83676016,-5.5800395,-1.7383903,-0.18633558,6.249567,0.15692733,1.1870492,-1.8389847,0.8397649,0.41889027,0.19991927,-0.71028113,-0.42742363,-0.01929488,0.56470984],[0.1451778,-0.42022082,-0.08357744,0.37352008,0.13762045,-0.513736,0.19210075,-0.99654514,0.07671047,0.3092085,-0.09438795,-0.7692168,-0.05790273,-0.019019479,0.68036485,-0.3681197,0.042775016,0.113177255],[0.17934947,0.6802453,0.53991216,1.2953564,0.36064458,-2.232729,-1.3662916,9.39327,3.2034888,0.82174385,-3.8604288,-0.059266165,0.23885792,1.2206435,-0.037034295,-1.0659415,-1.2380418,-0.38709572],[-0.63551307,0.14085051,-0.058989003,-0.096907504,-0.08637354,-0.9568107,-0.203569,0.09172185,-1.7067626,0.23453063,0.40079904,-0.33019188,-0.14800894,0.4674501,-0.058009204,-0.3754687,-0.10436635,0.64636946],[0.33742648,-0.36501276,-0.034292817,-0.51860994,-1.3856511,-1.5455489,-1.0439808,-0.75624853,-1.0810176,-0.5734188,0.55518353,-0.80131483,-0.6185672,-0.28676248,-0.104135,-0.62493587,-0.8962451,-1.5516719],[0.43760708,-1.6991494,-0.03338309,-0.96213526,0.00956474,-1.2663416,-1.9227605,-3.5994406,0.26717234,1.618855,-0.69799376,-0.3365453,0.08994935,0.16855639,-2.0510433,-1.3217996,-1.0182589,-0.993361],[0.38308197,-1.8382412,-0.15014274,0.11305897,1.90282,-0.91276294,-1.8583714,-2.2861354,-1.0779126,-2.9923978,-2.1958616,-0.40794706,-0.3506177,0.21085607,0.39614698,0.46702477,-0.1904523,-0.28659886]],"activation":"σ"},{"dense_2_W":[[-0.13722074,0.17729984,-0.24335465,0.24187207,-0.14201832,-0.07732416,0.13892417],[-0.4686111,0.30702016,-0.15520222,0.2413592,-0.06519562,-0.02441734,0.05019473],[0.79214656,-0.7921441,-0.6606072,0.055532016,-0.11311045,-0.08024592,-0.0085274875],[-0.25042439,0.21615438,0.4954985,0.0046605244,-0.4504836,-0.13616334,-0.39802498],[0.49501747,-0.8520829,-0.74666256,0.59406155,-0.3424727,-0.42375195,-0.056689456],[0.09918636,-0.27861944,-0.06896329,0.07916021,0.39362162,-0.3197992,-0.38495535],[-0.44832206,0.775501,-1.5508496,-1.2964923,0.2656348,0.73607206,0.102380335],[-0.12338452,0.45182562,0.15285002,0.36166486,0.106165096,-0.44855922,0.26180896],[1.468655,-2.9420528,1.1340134,-1.8203074,-1.8435699,1.8503501,-0.6241417],[0.11571435,0.44641992,0.5466342,0.460799,0.34136263,0.118771955,0.03079372],[-0.89526504,0.4808293,-0.020656256,0.23367782,0.24296117,0.14677529,-0.17654741],[0.48179916,-0.9906037,-0.5923862,-0.4594782,-0.35988396,0.8058588,-0.045400906],[0.5093772,0.44455037,0.17609815,-0.81010824,-0.7701845,-0.67883664,-0.105422966]],"activation":"σ","dense_2_b":[[-0.016313186],[-0.23423415],[-0.11555125],[0.031153541],[-0.008395348],[-0.05427732],[0.04926095],[-0.03232725],[1.3587319],[0.039414253],[-0.2525624],[0.069728516],[-0.1901692]]},{"dense_3_W":[[-0.40749985,-0.48021835,0.56590366,0.18960631,0.38889936,-0.016490487,0.2452584,-0.49623072,0.38123888,-0.64162004,-0.4950841,-0.28877184,0.033746734],[-0.42167312,0.4292303,-0.117614456,-0.051768117,0.051334534,0.5342065,0.5592815,-0.093919486,0.65363497,-0.43596736,0.16242468,0.2578982,-0.2107315],[0.3909801,0.0338481,0.17298904,-0.6669294,0.66819596,0.5040033,-0.11421765,0.24396016,0.58365494,-0.4551556,0.13173825,0.29966846,-0.28813577]],"activation":"identity","dense_3_b":[[-0.039529935],[-0.049995966],[-0.054298006]]},{"dense_4_W":[[0.5930795,0.46760607,0.73884505]],"dense_4_b":[[-0.046037514]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[7.0000353],[0.91031396],[1.269469],[0.0315604],[0.9563133],[0.95031977],[0.9356424],[0.873496],[0.8912867],[0.8935701],[0.96191794],[0.031832103],[0.031727515],[0.031619374],[0.03170114],[0.03179356],[0.031944003],[0.03203715]],"model_test_loss":0.025683574378490448,"input_size":18,"current_date_and_time":"2023-08-31_22-32-43","input_mean":[[27.019146],[0.2162388],[-0.102987334],[-0.016973253],[0.2426502],[0.23661843],[0.22663806],[0.18541981],[0.17368032],[0.14804864],[0.09238692],[-0.017235657],[-0.017166195],[-0.017074104],[-0.016875083],[-0.016880676],[-0.017125089],[-0.017351476]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.23588695],[-0.5088953],[1.5173167],[0.21325926],[0.7270255],[1.0430372],[-2.1749456]],"dense_1_W":[[-0.00035987928,1.4975938,2.03412,-0.83676016,-5.5800395,-1.7383903,-0.18633558,6.249567,0.15692733,1.1870492,-1.8389847,0.8397649,0.41889027,0.19991927,-0.71028113,-0.42742363,-0.01929488,0.56470984],[0.1451778,-0.42022082,-0.08357744,0.37352008,0.13762045,-0.513736,0.19210075,-0.99654514,0.07671047,0.3092085,-0.09438795,-0.7692168,-0.05790273,-0.019019479,0.68036485,-0.3681197,0.042775016,0.113177255],[0.17934947,0.6802453,0.53991216,1.2953564,0.36064458,-2.232729,-1.3662916,9.39327,3.2034888,0.82174385,-3.8604288,-0.059266165,0.23885792,1.2206435,-0.037034295,-1.0659415,-1.2380418,-0.38709572],[-0.63551307,0.14085051,-0.058989003,-0.096907504,-0.08637354,-0.9568107,-0.203569,0.09172185,-1.7067626,0.23453063,0.40079904,-0.33019188,-0.14800894,0.4674501,-0.058009204,-0.3754687,-0.10436635,0.64636946],[0.33742648,-0.36501276,-0.034292817,-0.51860994,-1.3856511,-1.5455489,-1.0439808,-0.75624853,-1.0810176,-0.5734188,0.55518353,-0.80131483,-0.6185672,-0.28676248,-0.104135,-0.62493587,-0.8962451,-1.5516719],[0.43760708,-1.6991494,-0.03338309,-0.96213526,0.00956474,-1.2663416,-1.9227605,-3.5994406,0.26717234,1.618855,-0.69799376,-0.3365453,0.08994935,0.16855639,-2.0510433,-1.3217996,-1.0182589,-0.993361],[0.38308197,-1.8382412,-0.15014274,0.11305897,1.90282,-0.91276294,-1.8583714,-2.2861354,-1.0779126,-2.9923978,-2.1958616,-0.40794706,-0.3506177,0.21085607,0.39614698,0.46702477,-0.1904523,-0.28659886]],"activation":"σ"},{"dense_2_W":[[-0.13722074,0.17729984,-0.24335465,0.24187207,-0.14201832,-0.07732416,0.13892417],[-0.4686111,0.30702016,-0.15520222,0.2413592,-0.06519562,-0.02441734,0.05019473],[0.79214656,-0.7921441,-0.6606072,0.055532016,-0.11311045,-0.08024592,-0.0085274875],[-0.25042439,0.21615438,0.4954985,0.0046605244,-0.4504836,-0.13616334,-0.39802498],[0.49501747,-0.8520829,-0.74666256,0.59406155,-0.3424727,-0.42375195,-0.056689456],[0.09918636,-0.27861944,-0.06896329,0.07916021,0.39362162,-0.3197992,-0.38495535],[-0.44832206,0.775501,-1.5508496,-1.2964923,0.2656348,0.73607206,0.102380335],[-0.12338452,0.45182562,0.15285002,0.36166486,0.106165096,-0.44855922,0.26180896],[1.468655,-2.9420528,1.1340134,-1.8203074,-1.8435699,1.8503501,-0.6241417],[0.11571435,0.44641992,0.5466342,0.460799,0.34136263,0.118771955,0.03079372],[-0.89526504,0.4808293,-0.020656256,0.23367782,0.24296117,0.14677529,-0.17654741],[0.48179916,-0.9906037,-0.5923862,-0.4594782,-0.35988396,0.8058588,-0.045400906],[0.5093772,0.44455037,0.17609815,-0.81010824,-0.7701845,-0.67883664,-0.105422966]],"activation":"σ","dense_2_b":[[-0.016313186],[-0.23423415],[-0.11555125],[0.031153541],[-0.008395348],[-0.05427732],[0.04926095],[-0.03232725],[1.3587319],[0.039414253],[-0.2525624],[0.069728516],[-0.1901692]]},{"dense_3_W":[[-0.40749985,-0.48021835,0.56590366,0.18960631,0.38889936,-0.016490487,0.2452584,-0.49623072,0.38123888,-0.64162004,-0.4950841,-0.28877184,0.033746734],[-0.42167312,0.4292303,-0.117614456,-0.051768117,0.051334534,0.5342065,0.5592815,-0.093919486,0.65363497,-0.43596736,0.16242468,0.2578982,-0.2107315],[0.3909801,0.0338481,0.17298904,-0.6669294,0.66819596,0.5040033,-0.11421765,0.24396016,0.58365494,-0.4551556,0.13173825,0.29966846,-0.28813577]],"activation":"identity","dense_3_b":[[-0.039529935],[-0.049995966],[-0.054298006]]},{"dense_4_W":[[0.5930795,0.46760607,0.73884505]],"dense_4_b":[[-0.046037514]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[10.263361],[1.5407822],[1.6990757],[0.031916086],[1.4340314],[1.4340314],[1.4340314],[1.4340314],[1.4340314],[1.4340314],[1.4340314],[0.031784274],[0.031784274],[0.031784274],[0.031784274],[0.031784274],[0.031784274],[0.031784274]],"model_test_loss":0.050728149712085724,"input_size":18,"current_date_and_time":"2023-09-28_17-19-10","input_mean":[[21.170568],[0.0028904085],[-0.01997667],[-0.011566885],[0.0088682],[0.0088682],[0.0088682],[0.0088682],[0.0088682],[0.0088682],[0.0088682],[-0.011584887],[-0.011584887],[-0.011584887],[-0.011584887],[-0.011584887],[-0.011584887],[-0.011584887]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.8283137],[-0.6380811],[-0.14581172],[0.21757337],[-0.17584349],[-0.15822433],[-0.04526756]],"dense_1_W":[[-0.12061483,-2.6186888,-5.533526,1.2848519,0.10997799,0.09768942,0.29055217,-0.4338942,0.45353734,0.40870407,0.74510694,0.035301626,0.1254258,0.06881082,-0.43392724,-0.6579088,0.12848276,0.10206295],[0.47858974,1.0521514,0.13895132,-0.11845431,-0.6055809,-0.30129787,0.10536316,0.36635193,0.062468443,0.16439146,0.7524098,-0.08773286,0.08453637,0.14768569,0.054678865,0.04296218,-0.1013483,-0.017113626],[1.5098917,0.5894743,0.59322363,-0.40857914,-0.04409986,-0.059111845,-0.22999583,0.13513245,0.20424314,0.8996403,0.6257698,-0.012137316,-0.26447135,0.33300093,0.5780546,0.11556365,-0.21325883,-0.11405065],[-0.09270235,4.2095594,-0.03419901,-0.85176253,-0.792438,-1.1375993,-0.95709634,-0.5417718,0.13269264,0.34799594,0.8776221,0.23166949,0.25684002,0.14214455,0.31949127,-0.1842014,-0.048224565,0.06972774],[-0.07368613,7.987101,-1.5705101,-2.7268257,-1.6060512,-2.2150717,-1.7734491,-1.0044583,-0.9965295,-0.53904784,-0.71252525,0.82295734,0.079120055,0.8620408,0.040507376,0.5511871,0.57866305,-0.3000211],[-0.19393307,1.3685007,-0.81581175,-0.65915656,-0.26665,-0.18225093,-0.2348052,-0.613443,-0.4242962,-0.1411918,-0.40366364,0.14329708,-0.15040468,0.111927874,0.35063627,0.2598781,0.044979107,-0.13300987],[-0.15487364,1.5682242,-0.39758956,-1.613167,-1.2005973,-1.3606614,-1.4602566,-0.8778308,-0.8630755,-1.1338134,-1.5346371,0.44767708,-0.07334435,0.46988532,0.38771385,0.18633042,-0.31606805,0.49087706]],"activation":"σ"},{"dense_2_W":[[0.08773213,1.118686,-0.19026187,-0.18222769,0.05527968,-0.51330656,-0.036496755],[-0.5858637,-0.4254996,0.021144927,-0.08652764,-0.21240492,0.2946317,0.2629631],[0.20821263,-0.6136043,-0.2656985,-0.11885001,-0.23193532,0.573116,0.19101338],[1.3147112,0.8279403,-1.8892661,0.22684072,0.5924725,0.18479976,1.5572529],[0.09764118,0.8507632,0.54017293,-0.14499734,-0.08574703,-0.8551757,0.525648],[-0.63802594,-0.65069646,0.26210403,-0.24471927,0.48373717,-0.2968227,0.06695796],[-2.1634326,-0.6064817,-1.8872,1.6661983,0.24116987,-1.8317598,-1.4297333],[0.030689137,0.045585413,-0.619795,-0.3127205,0.00026456476,-1.2520658,-0.021226548],[-0.43981192,-0.6087822,0.26009014,-0.41205314,0.10397853,0.30045325,0.15389265],[-1.4882747,1.6382228,0.1060073,1.4234135,2.3527496,-1.4529006,-0.6220931],[0.32924128,-0.7916863,-0.16856577,-0.49799073,-0.3400066,0.34466445,0.47758287],[-0.3820367,-0.07035885,-0.770717,-0.08017813,-0.4997505,-0.5413408,-0.22099844],[-0.5534209,0.15586813,0.46922186,-0.285645,-0.43601796,-0.5457336,-0.09376932]],"activation":"σ","dense_2_b":[[-0.07499287],[0.056654293],[-0.033568453],[0.012748798],[-0.16169988],[-0.031001234],[0.4491975],[-0.18781444],[-0.022485357],[-0.4145325],[0.05514316],[-0.17725536],[-0.027867718]]},{"dense_3_W":[[0.48439038,0.11946673,-0.10710485,0.2569157,0.55854136,0.69526154,-0.045092683,-0.22340369,-0.057273377,-0.43256047,0.51690865,-0.45954293,0.5041862],[-0.39225766,0.5658039,0.13191655,-0.26512942,-0.45468462,0.029447814,-0.7955542,-0.47096017,0.19746478,-0.40087095,0.6816974,-0.313998,-0.2719639],[-0.20068921,-0.29952648,0.34961987,-0.66211593,-0.47286674,-0.1865282,0.25309294,0.27628332,0.5233655,0.30510098,0.5197866,-0.51454246,0.46288064]],"activation":"identity","dense_3_b":[[0.055204097],[0.070561714],[0.057622224]]},{"dense_4_W":[[-0.5929016,-1.4001877,-0.6662524]],"dense_4_b":[[-0.06424638]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.342214],[1.5915664],[0.60113484],[0.048193663],[1.5680411],[1.57577],[1.5836853],[1.5711677],[1.5445132],[1.5007596],[1.4529978],[0.047915205],[0.04800539],[0.04808892],[0.04822398],[0.04817677],[0.047881734],[0.047405947]],"model_test_loss":0.019342588260769844,"input_size":18,"current_date_and_time":"2023-08-05_06-09-11","input_mean":[[22.757933],[-0.016342578],[-0.001405228],[-0.014619173],[-0.018091483],[-0.018382493],[-0.019270267],[-0.018759886],[-0.019559544],[-0.017848592],[-0.020014366],[-0.014564899],[-0.01457757],[-0.014600966],[-0.014757987],[-0.014915743],[-0.015121007],[-0.015359475]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.045577038],[-2.8160777],[-0.21418032],[2.9552083],[-0.06852827],[0.029141279],[-0.053249933]],"dense_1_W":[[0.0010664682,1.3813498,-8.153277,-0.009101015,-0.1484779,1.0008405,-1.5930991,-1.195274,0.6136762,0.3560462,-0.30077773,0.93531257,0.14550218,-0.40074933,-0.21716364,0.13834935,-0.0658936,-0.49427196],[-0.7338253,-0.037501235,-0.49922377,-1.0526338,-0.46141604,-1.3649396,0.7309814,-0.91667104,0.044683233,-0.18628967,-0.20878822,-0.2678598,0.48446324,0.51164204,0.09547851,0.41491362,-0.4524314,0.16594785],[-0.0032175342,3.5451593,-0.11421584,-0.2511033,0.27893174,0.6384996,0.80790603,1.3835542,1.8000495,2.249461,1.4026878,0.7851167,-0.35052946,0.041820426,-0.39790183,0.45703772,-0.30459648,0.18287674],[0.72289664,-0.77138704,-0.5025135,-0.49323097,-0.39893976,-0.8779149,0.6848096,-0.58729875,-0.16643623,-0.14427555,-0.15013328,-0.11467142,-0.27280045,0.48508415,0.52080667,-0.0029569597,-0.28170735,0.06367212],[0.00014026981,-2.0353239,0.0060915067,0.4794941,1.1882906,-1.512865,0.80642134,-0.26044324,-0.56213886,-0.365122,0.55078083,-0.34897435,-0.32031298,0.46106994,0.37792024,-0.14116105,0.15597256,-0.32811671],[0.0011494387,1.9060265,8.3941965,-0.3078165,-0.9530427,0.6589645,-1.2487054,-0.541133,0.13451256,0.2805466,-0.33187166,0.9900705,0.2821258,-0.51270896,-0.5130031,-0.28222615,0.042734932,0.27233443],[-0.0014444552,-1.0933362,0.003359957,-0.15052961,0.37165833,1.7087307,-1.4971043,0.673802,-0.108465396,-0.088505454,0.21561684,0.6252258,-0.15019403,-0.34727478,0.08958758,-0.1723621,-0.25557828,0.29778987]],"activation":"σ"},{"dense_2_W":[[0.20810607,-0.13481373,-0.15003344,-0.6067625,-0.31937903,-0.37380016,0.4666911],[0.71834767,0.15669753,-0.11389502,0.27131546,-0.060118295,0.039282244,0.52961355],[-0.27200606,0.43380752,-0.106262706,-0.49363258,0.35659012,-0.01706296,-1.0807354],[-0.79583454,-0.66428274,-0.42157334,-0.52979547,-0.2803004,-0.57637554,0.084149174],[0.1230394,-0.57023287,0.28639448,-0.506744,-0.9920808,0.7510901,0.8584937],[-0.41256845,0.35423175,0.13009231,0.5198333,0.7576573,-0.7053181,-0.3390053],[-0.15090485,0.33375353,-0.64164793,0.57386595,0.25700107,-0.15245672,-0.49020413],[-0.50120676,0.5210849,-0.3282951,0.4276323,1.0257447,-1.0398436,-0.8911315],[0.11402861,-0.41491523,0.247507,-0.39776865,-0.6089287,0.20646147,0.6692102],[0.09411492,0.31819808,0.41330767,0.024243973,0.2314893,0.08529045,0.14911193],[0.5179265,0.20473345,-0.36762783,-0.009045922,-0.19436747,-0.548099,-0.08656279],[-0.69121784,-0.14201449,0.3887621,0.10787631,1.0371574,-0.64747447,-0.73437464],[-0.07860244,-0.597764,0.019551078,0.010199122,-0.7493642,0.66619915,0.121666186]],"activation":"σ","dense_2_b":[[-0.04259814],[-0.053309314],[-0.28045595],[-0.23801634],[0.00944943],[-0.109921046],[-0.037457183],[0.24627604],[-0.0069056284],[-0.04725389],[-0.03361769],[0.044101644],[-0.0009850285]]},{"dense_3_W":[[-0.19631335,-0.47722518,-0.019853225,-0.29363275,-0.625923,0.35145283,0.62401354,0.14337404,-0.25707108,-0.51310915,0.2565006,0.61742216,-0.07952821],[0.5868974,-0.36786363,-0.0177682,-0.45121866,0.68608487,-0.55178356,-0.35236016,-0.7226455,-0.015394288,-0.10650332,0.5391039,0.17791761,0.34196886],[0.16821232,-0.35580373,0.26906335,0.41736925,-0.6979869,0.41801625,0.34707317,0.7784011,-0.10002936,0.32485273,-0.3644285,0.49092358,-0.43872768]],"activation":"identity","dense_3_b":[[-0.019481273],[0.031026587],[-0.03595322]]},{"dense_4_W":[[-0.72340566,0.21244061,-0.67248434]],"dense_4_b":[[0.026229527]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.330973],[0.76358914],[0.44177866],[0.03320337],[0.7486537],[0.75224125],[0.7557512],[0.75438327],[0.7465672],[0.74091655],[0.72914463],[0.0329607],[0.03301792],[0.033070814],[0.03301661],[0.03287754],[0.032609064],[0.032365352]],"model_test_loss":0.017960982397198677,"input_size":18,"current_date_and_time":"2023-08-05_11-13-44","input_mean":[[26.671413],[0.058293253],[0.0043816683],[-0.009296047],[0.051497567],[0.053402483],[0.055134997],[0.052773204],[0.048979968],[0.049683023],[0.049251523],[-0.009440276],[-0.009414148],[-0.0093886675],[-0.009580273],[-0.009747584],[-0.0099527575],[-0.010216651]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[1.0565631],[-0.21411526],[0.8872178],[-0.73335165],[0.15017867],[-0.11148372],[-0.47569525]],"dense_1_W":[[0.3191545,0.60174775,0.28932345,-0.22362822,-0.29199237,0.8730365,-0.521551,0.33030298,0.11159445,0.13276689,-0.38501248,0.6321162,0.3564933,0.05880718,-0.9028309,-0.1717296,-0.26462427,0.5646279],[-0.023215095,-0.07631244,-6.183804,0.4336958,-0.626333,-0.124013826,0.87823963,0.39341283,-1.2711039,-0.14306393,0.85833305,-0.31328923,-0.0057761483,-0.45113772,-0.13151798,0.48965174,-0.36885157,0.3205572],[-2.0049603,0.2562212,0.0074997903,0.15363267,-0.39047363,0.31743163,0.21375915,-0.08397038,-0.018758992,-0.03530787,0.008622982,-0.12050882,0.1763159,-0.0045240982,0.037064075,-0.22826771,-0.13217667,0.04430793],[1.9245242,0.17275631,0.007043335,0.38269743,-0.0008547418,0.339189,-0.33623248,0.24801533,-0.05911935,-0.28433016,0.1669682,0.35657904,-0.114900894,-0.49049523,-0.009977193,-0.22768717,0.10655727,-0.07729294],[0.087077305,-0.6003964,-0.1793809,0.25290787,0.029625213,-0.19629402,0.31878904,-0.08061085,-0.21837004,0.20829839,0.08959171,-0.30037507,0.05254617,-0.03698672,0.101752795,0.042104118,-0.12350318,0.0102602765],[0.0048545175,-0.21292417,0.016375653,-0.053975366,0.13703452,-1.074619,0.58369935,-0.17510407,-0.09377952,-0.14615338,0.07890737,-0.15442717,0.22381516,0.0459976,0.11773441,-0.018902443,0.06373771,-0.104368865],[-0.09855327,-0.1122513,-0.37817958,-0.008812584,-0.5383468,0.15305355,-0.7411861,-0.4013825,0.30445403,0.2985024,-0.095201105,0.47804987,-0.17235969,-0.47166833,0.08742673,-0.13090365,0.016420232,0.102743514]],"activation":"σ"},{"dense_2_W":[[0.15356968,0.03880223,-0.0033031541,0.71969205,-0.5551066,-1.2770053,0.852479],[-0.5814842,-0.4205401,-0.44136125,-0.20208618,0.62991315,1.2533134,-0.07128404],[-0.85485667,-0.27133262,-0.18317062,-0.5872431,0.0009068991,-0.8143884,0.24185239],[0.485521,-0.12876768,0.13680507,0.5191915,-0.33198348,-1.0602576,0.5135775],[0.9131491,-0.41206366,-0.11229955,0.8287815,0.013217909,-0.9175312,0.48983303],[-0.20012985,-0.18931809,-0.43908978,-0.2832052,0.8635579,0.22567339,0.18861422],[0.018180205,-0.3399698,-0.79971874,0.03282556,-0.17152967,0.065363236,-0.11356214],[-0.90014875,0.04525059,-0.62574875,0.21017492,-0.2622857,-0.64767957,-0.17940037],[0.053192608,-0.6683769,0.5183324,0.3161827,-0.43558958,-0.7137959,0.50653154],[-0.084774315,0.02843045,0.11588221,0.48853788,-0.6368693,-0.9299525,0.7869719],[0.12993711,0.85281557,-0.52333623,0.47304502,0.3320428,0.84226716,-0.51683784],[-0.24643111,0.40814662,-0.45649922,0.021663502,0.7520966,0.5363597,-0.51477396],[-0.30198774,-1.0936731,0.5198244,-0.6298923,-0.47961158,-0.46270132,0.17015655]],"activation":"σ","dense_2_b":[[-0.030014591],[0.112632275],[-0.38837513],[-0.009132882],[0.32848948],[0.05313135],[-0.1084323],[-0.38779393],[-0.17182945],[-0.17182226],[0.08077316],[-0.009312498],[-0.20723443]]},{"dense_3_W":[[-0.7191352,0.82575274,-0.4208178,-0.42105228,-0.12746234,0.6060775,-0.36437324,0.011044404,-0.06605932,-0.23161481,-0.07892281,-0.2586107,0.22741254],[-0.03922699,0.28218865,-0.08608041,-0.49147275,-0.75184256,0.37435916,0.46016482,-0.0026176786,-0.28095058,-0.18674251,0.6548586,0.23019525,-0.66313064],[-0.70486027,0.67592573,0.31197107,-0.25772044,-0.32144958,0.59903663,-0.013240984,-0.097765416,-0.4100128,-0.39269626,0.3077929,0.50466055,-0.20290402]],"activation":"identity","dense_3_b":[[0.06820397],[0.04168449],[0.03600891]]},{"dense_4_W":[[-0.5796537,-0.81390715,-0.64433306]],"dense_4_b":[[-0.04506098]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.210334],[0.9762297],[0.46461004],[0.04707402],[0.9570847],[0.962571],[0.9688103],[0.9626872],[0.9493875],[0.93438673],[0.91365314],[0.046885576],[0.04696745],[0.047010563],[0.047022652],[0.047106303],[0.047075313],[0.0468335]],"model_test_loss":0.01662263832986355,"input_size":18,"current_date_and_time":"2023-08-05_06-34-39","input_mean":[[24.433825],[0.027294964],[-0.007775845],[-0.008583761],[0.028062655],[0.026877884],[0.025869267],[0.024155349],[0.025895124],[0.02763769],[0.028466335],[-0.00856314],[-0.008589166],[-0.008611988],[-0.008814955],[-0.008984508],[-0.009198656],[-0.009352716]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[0.01408288],[1.6081693],[-0.06155718],[-1.54345],[-0.24193887],[-2.5958166],[-2.5204089]],"dense_1_W":[[0.0027263653,0.8206801,-0.0032928735,0.13611287,-0.076531366,1.5959642,-1.2799904,-0.06996241,0.03039119,0.02152609,0.0963275,0.5368505,0.14871612,-0.3396571,-0.2039869,-0.6619022,-0.039203983,0.4320533],[1.0668212,-0.75284845,0.1227131,0.26535362,0.13527365,-0.2295604,1.1708634,-0.021281645,-0.15021786,0.39643094,0.74283296,-0.3838045,0.003083275,-0.19208938,-0.0017936465,0.703765,-0.092454515,-0.31097198],[0.0027553164,0.7843536,4.634527,-0.26233014,-0.5298467,-0.5220332,-0.74772763,0.2625032,1.8427289,0.32081687,-1.2304753,0.90846735,0.22365782,0.250327,-0.6063961,-0.39930865,-0.18285267,0.079409026],[-1.1514753,-1.0265552,0.13074096,0.38378564,0.7118709,-0.35103342,1.0191414,-0.004307897,-0.1731455,0.13679343,1.0576029,-0.40426365,-0.26618227,0.048847493,0.23475589,0.2227605,0.085375875,-0.30894497],[-0.0047089225,-0.5524328,-0.0045054047,0.66928285,0.064004675,-1.3554454,0.75827724,-0.44520453,-0.070583,0.2953706,-0.17199413,-0.52929235,0.076917104,0.5385476,0.43512538,-0.24582133,0.1710678,-0.17150968],[-0.85862017,0.34829536,0.10180492,-0.16177164,-0.70526654,0.610196,-0.51517403,0.19511817,0.5740542,0.4342128,0.10650083,-0.08206996,-0.14800107,-0.11421001,0.25861365,0.49271822,0.13999887,-0.38721174],[-0.852335,-0.32791263,-0.10090505,-0.21708132,0.70464164,-0.4129493,0.19680835,-0.0039844504,-0.58808166,-0.5447895,-0.055174615,-0.009039755,0.3263737,0.39800122,-0.43388817,-0.2980978,-0.109957084,0.34861532]],"activation":"σ"},{"dense_2_W":[[-0.8770086,-0.024234872,-0.29209283,0.2774463,0.24086247,-0.38808098,0.76261544],[0.7931689,-0.4432339,0.5408512,-0.40607476,0.018381504,0.22573993,-1.2025113],[0.2774073,-0.28390488,0.48924458,-0.10028617,-1.1787524,0.55241233,-0.31903595],[1.187657,-0.90130055,-0.11544119,-0.48425758,-0.5087712,1.5533149,-0.44771603],[0.58252364,-0.7203072,0.46005324,0.2731612,-0.67982006,0.15357131,-0.57816696],[-0.9171702,0.37134174,-0.41417953,0.17179497,0.39356327,-0.10935133,-0.09958233],[-0.66176236,0.14740363,0.07868582,-0.40370503,0.3730389,-0.06752067,0.5966177],[0.057574127,-0.085722245,0.09327541,0.19917345,-0.112103276,0.4723292,-0.71419835],[-0.3262963,-0.03496345,-0.18610413,0.28829092,0.5575449,-0.96931815,0.2509937],[-0.14358501,-0.53553015,0.102502294,0.38049912,-0.011593848,-0.10357873,0.38666174],[1.0979931,-0.5266687,0.011019552,-0.36888388,-0.36552617,0.7437136,-1.0329511],[-0.99298805,0.033587284,-0.0815785,0.2939779,0.17858009,-0.36309564,0.7169502],[0.1916819,-0.3956481,0.23111235,-0.19816011,-0.79406476,0.9587695,-0.5586975]],"activation":"σ","dense_2_b":[[-0.08816166],[0.23371251],[-0.22228523],[-0.015670193],[-0.03642067],[-0.008211963],[-0.17989649],[0.0062512616],[-0.030759228],[-0.15077485],[0.01450626],[-0.07085153],[-0.13338038]]},{"dense_3_W":[[-0.13808444,0.27692232,0.13246109,0.13561308,-0.050800115,-0.3225275,-0.5869831,0.64456654,0.19247706,-0.48861238,0.47843403,-0.009448491,-0.38144258],[-0.18783484,-0.17080472,0.36493075,-0.6014318,-0.6958318,0.33951765,0.06917564,0.34324136,0.5521416,-0.65650636,0.07141213,0.48251265,-0.095275834],[0.67380184,-0.285928,-0.43182224,0.052221615,0.0014595015,0.21199639,-0.06704697,-0.40021017,0.5456471,0.4511299,-0.31108952,0.5755762,-0.41977003]],"activation":"identity","dense_3_b":[[0.05807602],[-0.052454475],[-0.061056226]]},{"dense_4_W":[[0.47078133,-0.7455223,-0.98688024]],"dense_4_b":[[0.054955926]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[6.150079],[1.133713],[0.43403986],[0.044542935],[1.116597],[1.1228739],[1.1282343],[1.1087918],[1.0829574],[1.0503302],[1.0201406],[0.044353947],[0.04440376],[0.04444536],[0.044435233],[0.044352584],[0.04415751],[0.04374931]],"model_test_loss":0.021649373695254326,"input_size":18,"current_date_and_time":"2023-08-05_13-22-16","input_mean":[[28.718779],[0.027420705],[-0.0010486431],[-0.006476941],[0.03194379],[0.030714247],[0.029522395],[0.031175172],[0.03329464],[0.03204752],[0.030367676],[-0.006409366],[-0.0064388723],[-0.0064642774],[-0.006523428],[-0.0065177125],[-0.006653054],[-0.0068931]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-2.1557553],[0.15239237],[-0.7883996],[0.21607175],[-0.10778271],[-0.110362194],[-0.0008402114]],"dense_1_W":[[-0.39730522,-1.2665217,-0.018751338,-0.36011004,0.06413814,0.13557298,0.675142,-0.58107,-0.71815616,-0.67207223,0.8874161,-0.21224383,0.3109732,0.11582158,-0.10825705,0.20035155,0.13655844,-0.11123461],[0.08248368,-0.9288284,0.006650333,-0.3600497,0.048258215,-0.4385164,0.7812643,-0.36598027,-0.17953908,0.0043003927,0.14774609,-0.2284627,-0.15616533,0.35386756,0.5318769,0.081253365,-0.030911509,-0.12792926],[-0.012793936,-0.95197654,0.0013175827,0.4850853,0.06403457,-0.60757506,1.0891476,-0.15639184,-0.07080147,-0.141186,0.14856425,-0.6297083,-0.09511309,0.13792045,-0.003489132,0.39871147,0.23734719,-0.41034752],[0.036720853,-1.1706092,-0.0117205065,0.22939475,0.06332086,-0.27194244,0.6138069,0.0057003004,-0.23597574,-0.20802614,0.23779614,-0.2707945,-0.065516055,0.16179438,-0.1341947,0.014489582,0.27160132,-0.19034316],[-0.017165367,-0.31984007,-5.1292553,-0.09900438,1.891005,1.522304,1.3964776,-0.27762464,-3.1030765,-1.4986553,0.23631042,-0.58467907,-0.44058293,0.4239101,-0.07130837,0.06697376,0.22419664,0.49982306],[-0.029110994,-0.78375465,0.030992711,0.09522315,-0.32218152,-0.18287186,0.20446928,0.2509469,-0.32046452,-0.69563234,0.43957192,-0.2393486,0.0034883572,0.3692833,-0.1480584,-0.21708085,-0.04099675,0.16072796],[0.011984756,0.4372055,0.00038938643,-0.3804347,-0.14191024,0.83822465,-0.75622463,0.1774374,-0.15122366,-0.08789587,0.1162553,0.36315253,0.019167189,-0.015732778,-0.21518882,-0.17138954,-0.06687768,0.16531232]],"activation":"σ"},{"dense_2_W":[[-0.66123444,0.053167176,-0.67734295,-0.43834037,0.30200854,-0.6062845,0.49393648],[-0.5499434,-0.5910183,-0.04735582,-0.9205705,0.29150906,0.18296994,0.49427703],[-0.3087813,-0.6735604,0.1032743,-0.7492757,-0.47998416,0.38746807,-0.3792903],[0.22218491,-0.37423322,-0.68595016,-0.3057585,-0.67376715,0.18519343,0.26224977],[0.12493204,-0.6740838,-0.48158708,-0.11590075,-0.6646322,0.3766876,0.5211831],[0.033400588,-0.37467673,0.13653982,-0.7425377,-0.58915126,-0.44702393,0.15368707],[-0.03525442,0.6467697,0.27980375,0.53180575,0.5175674,-0.2184231,-1.3612056],[-0.26941165,0.034494866,0.54393685,0.823304,0.91855395,-0.5912671,-0.16972241],[0.5912191,0.50708044,0.8906907,0.4043412,-0.6052221,0.9453074,-0.9854745],[-0.1847966,0.29045746,-0.35760128,0.2358291,0.08363469,-0.28862038,-0.6393691],[0.082734466,-0.20940094,0.1263725,-0.61631376,-0.29357114,-0.22268835,0.48448983],[0.008772746,-0.3295119,-0.77102983,-0.37905028,0.1420826,0.19744958,0.12742513],[-0.34957173,-0.4635609,-0.6658351,-0.074581586,-0.137647,-0.031496365,0.17163728]],"activation":"σ","dense_2_b":[[-0.011190517],[-0.11420608],[-0.11911637],[-0.047058385],[-0.05209559],[-0.0067813573],[-0.6960103],[-0.2218484],[-0.638528],[-0.1287715],[-0.13393182],[-0.13222918],[-0.08612358]]},{"dense_3_W":[[-0.56854904,-0.004440354,0.20522526,-0.5189793,-0.5598319,0.004857475,0.7723675,0.08466752,0.3211879,0.22073807,-0.50451374,0.14052922,-0.15547366],[0.4760816,0.49406376,0.28560668,-0.27424216,0.0395443,0.63189626,-0.5996514,-0.59683996,-0.2216528,0.065270856,-0.40737736,0.13047104,-0.32319623],[0.35351506,0.5386659,0.32769755,0.12265874,0.56839216,0.5655456,-0.034122158,-0.18965866,-0.329834,0.10452169,-0.11418242,0.32698897,0.31875592]],"activation":"identity","dense_3_b":[[0.17258255],[-0.16791473],[-0.16998908]]},{"dense_4_W":[[-0.9664698,0.46322697,0.7462367]],"dense_4_b":[[-0.17601651]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[5.693015],[1.1106057],[0.4839505],[0.047381964],[1.0865142],[1.0940344],[1.1007035],[1.0835435],[1.057553],[1.0248959],[0.99939334],[0.047141436],[0.047186267],[0.047211904],[0.04706877],[0.046951234],[0.04684611],[0.04661448]],"model_test_loss":0.013941051438450813,"input_size":18,"current_date_and_time":"2023-08-05_08-16-38","input_mean":[[28.37103],[0.03974344],[-0.014893848],[-0.00037599605],[0.044908416],[0.043708824],[0.042289667],[0.039325528],[0.043006305],[0.04660932],[0.04483933],[-0.00043650295],[-0.0004215664],[-0.0004140165],[-0.0003983723],[-0.00044116066],[-0.00051853625],[-0.00058758573]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.1451855],[-0.15737621],[-0.060310073],[0.6073345],[-0.05780308],[-0.16048814],[-0.23519869]],"dense_1_W":[[0.69470924,-0.6133493,0.0012405561,0.019553972,0.06448226,-0.73440015,1.0196836,-0.032631803,-0.21402587,-0.03535706,0.08963821,-0.4151518,0.04951377,0.21540186,0.08403593,0.30007103,0.0721286,-0.21808833],[-0.0055281483,-0.97871476,0.053892706,0.29578617,0.24488142,-0.9456837,0.31968737,0.23062654,-0.3851994,-0.14804605,0.12488454,-0.59180176,0.1747962,0.582284,-0.056728594,0.052842837,-0.25234208,0.08868016],[0.19908331,-0.23178522,-0.00033343132,0.29788065,-0.2630549,-0.9329808,0.9836051,-0.025557669,-0.046352006,0.021415278,-0.10175714,-0.44916221,0.41586125,-0.027728092,-0.11277255,0.28242412,-0.4416653,0.19147082],[0.49298579,0.29445317,0.0024654444,-0.034087177,-0.32976052,0.7320162,-0.13650697,-0.18142147,0.048409745,0.3485382,-0.1782508,0.17317066,0.0046146074,-0.455786,0.23675595,0.17629597,-0.2908207,0.05100971],[0.0025918921,0.60664314,0.08437282,0.0038275314,-0.26773483,0.7368417,-0.8442401,0.35636544,0.09660225,0.06810851,-0.23716143,0.15216075,0.4089829,-0.25967675,-0.5667884,-0.037151016,-0.22253121,0.35003844],[-0.0069139847,0.5928849,5.9585037,-0.2729994,-1.1027155,-0.5361705,-0.39928573,-0.21191321,1.6408015,0.88942456,-0.5805952,0.711463,1.0614796,0.75551856,-0.25333017,-1.0107019,-0.6404496,-0.4423781],[0.77807605,0.4254286,-0.0070603983,0.13885634,-0.11155952,0.92952013,-1.1097448,0.25786868,0.18906161,-0.19558257,0.03620436,0.5284809,0.28771606,-0.39166483,-0.412538,-0.41851315,-0.53765815,0.6955264]],"activation":"σ"},{"dense_2_W":[[0.14673255,-0.25427318,-0.41763714,-0.57974076,-0.56608886,-0.18331228,0.027660826],[-0.22915831,-0.55615884,-0.4508235,0.34225336,0.5593746,0.40537748,0.7960525],[0.21956417,-0.07734256,0.27312982,-0.3854605,-0.08650003,-0.27906924,0.26293612],[-0.77091247,-0.7756027,-0.9580333,0.765381,0.32493275,-0.51463944,0.7389473],[0.5907749,0.26036587,0.5915251,0.1214773,-0.029054264,-0.13793655,-0.038385104],[0.2536978,-0.44341302,0.088218234,-0.07722079,-0.69654363,-0.04497505,-0.37380072],[0.1492596,0.50270057,0.46113217,0.08208802,-0.44300494,-0.049104072,-0.38107514],[-0.033503003,0.31365246,-0.23077266,-0.51006895,0.10363347,-0.780032,-0.6072311],[0.19008167,0.41587985,0.41156146,-0.36104697,-0.25369507,-0.020715002,0.101388365],[-0.12538931,-0.93145704,-0.38526508,0.757801,0.4460356,0.22134012,0.059445396],[-0.010972688,-0.04331066,-0.5205074,-0.61291635,-0.38937822,-0.5410802,-0.776376],[-2.1453147,-0.70847136,-1.2064056,-0.31943244,0.13231355,1.2215211,-0.11054935],[-0.57651573,-0.17007175,-0.34664136,0.4060285,0.8317285,0.13207953,0.11835387]],"activation":"σ","dense_2_b":[[-0.10427355],[0.11536775],[-0.10146174],[0.08055071],[-0.1175017],[-0.09294055],[-0.12414659],[-0.12894793],[-0.122823305],[-0.0023050748],[-0.09449869],[-0.25891626],[0.0091852965]]},{"dense_3_W":[[0.018232554,0.26810202,0.2565264,0.30350316,0.51860917,0.3029135,0.5572722,0.37361154,0.45107833,-0.48839125,0.3939663,-0.0054893196,0.054042112],[0.4726983,-0.7600223,-0.2362871,-0.7305271,0.3979434,-0.16793822,0.08976205,-0.10595847,-0.5852833,-0.20750386,-0.19634347,-0.16581649,-0.49387524],[0.102563694,-0.77121973,0.49441037,-0.74888134,0.4121642,0.45769525,-0.36120865,0.5654234,0.5058435,0.45810163,0.20354177,-0.564163,-0.42752033]],"activation":"identity","dense_3_b":[[-0.09124249],[-0.07674238],[-0.08837357]]},{"dense_4_W":[[-0.9619778,-0.7475,-0.82428706]],"dense_4_b":[[0.088022344]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[6.6771574],[0.8306398],[0.44399694],[0.03148828],[0.82453376],[0.82558274],[0.8276523],[0.8249276],[0.82540375],[0.8268513],[0.8293405],[0.031258367],[0.031317297],[0.031381857],[0.031565305],[0.031729955],[0.031927522],[0.031937882]],"model_test_loss":0.0016914892476052046,"input_size":18,"current_date_and_time":"2023-08-05_15-54-16","input_mean":[[25.397608],[0.061366253],[-0.004759293],[-0.017377611],[0.063574664],[0.0629952],[0.06279838],[0.06257633],[0.0642723],[0.06428019],[0.06443743],[-0.017316736],[-0.01732337],[-0.017324336],[-0.017258912],[-0.017273892],[-0.01738509],[-0.017547127]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.5071787],[-0.011610117],[-0.25543153],[-0.2288577],[0.3640026],[-0.20951404],[-0.018084347]],"dense_1_W":[[-0.32076025,0.5609776,0.06455551,0.4650965,-0.3128346,0.29808214,-0.068447836,-0.080615535,-0.1533624,0.086725675,0.0019198896,0.38526085,-0.33096933,-0.4344235,-0.24709408,-0.21656084,0.12910959,0.10089391],[-0.013731939,-0.37048897,1.5160967,1.216611,-0.026065614,-0.012039334,-1.7950301,-0.6103514,1.727483,2.0623763,-0.9575297,0.39149958,-0.218174,-0.51533777,-0.76304054,-0.3384101,-0.10145121,0.34581316],[0.014144666,0.22945884,-0.45639136,0.08440587,-0.19207898,-0.5290964,0.54655564,-0.07094287,-0.41206077,-0.23082434,0.77867293,-0.83082336,-0.31685916,0.3376802,0.18800995,0.28112486,0.5808552,0.0882255],[0.55997515,-0.45515752,-0.3620537,-0.21491247,-0.12751056,0.6437451,0.4513876,0.14484537,-0.012545343,-0.70398337,-0.03420965,0.5712778,-0.34471962,0.2639977,0.15245198,-0.09942475,-0.52654004,-0.39195266],[0.16048487,-2.0932982,0.060834095,-0.43821463,-0.12897933,0.8929607,0.08955616,1.5023427,0.47960326,-0.24697156,-0.2284945,0.3664966,0.36733755,-0.70950145,0.25744,0.16433853,-0.4799496,0.3186391],[0.0031760861,-0.32184288,-0.033980735,-0.4582301,-0.07663507,-0.7593102,0.50883085,0.22713356,-0.20064494,0.3521629,-0.22366937,-0.07778892,-0.2534047,0.56217426,0.41395634,-0.12142341,-0.0027042534,0.03405264],[-0.0017348339,-0.29796287,0.062474936,-0.11221718,-0.23059554,-0.626899,0.10690498,0.5434746,-0.05614545,-0.061325278,-0.2274304,0.29413497,-0.38511482,0.10846904,-0.15861528,0.35446325,-0.38156375,0.18584998]],"activation":"σ"},{"dense_2_W":[[0.08477807,-0.35302192,-0.40779448,-0.5867174,0.13918135,-0.6664157,-0.3491646],[0.3792094,-0.030590685,-0.21691003,0.13814875,-0.22226094,-0.66838443,0.11945859],[0.114434734,0.3219143,-0.65471864,-0.5160347,-0.10297699,-0.546052,0.23859331],[0.4386374,-0.13452144,-0.0146616185,0.408655,0.29078993,-0.45133266,-0.6718732],[0.04953622,-0.309141,-0.028895855,-0.081540965,-0.04211146,0.19563156,0.1549496],[-0.07437576,0.18886302,-0.11578516,-0.02629349,0.5117754,-0.8601534,-0.27231035],[0.07671942,0.0293902,-0.5813721,0.3454169,-0.053973634,0.046247624,-0.35544363],[0.22220099,-0.53176254,0.49601117,0.16283734,-0.41594207,0.14338993,-0.23063558],[0.50082463,0.3444267,-0.5869549,0.31520668,0.3332609,-0.5623406,0.0112578],[-0.05211133,-0.24212956,-0.37504154,-0.24755752,-0.61364114,0.61201805,0.5261763],[0.16144137,-0.5551527,-0.27000764,0.48719284,-0.20183928,0.4279106,0.5559925],[-0.38015607,-0.17513199,0.0054852753,0.49040842,-0.5847223,-0.315286,0.41083756],[0.027273893,0.37111732,-0.29921013,0.35153958,0.6107227,0.058014646,-0.48178723]],"activation":"σ","dense_2_b":[[-0.13192527],[-0.11472918],[-0.2398955],[-0.012978796],[-0.24606323],[-0.16946991],[-0.09656156],[-0.011122704],[-0.13971844],[0.025623204],[-0.01150639],[0.031865247],[-0.14259984]]},{"dense_3_W":[[-0.49097103,-0.38446474,0.19654791,-0.04500209,-0.353884,-0.59052265,-0.26697198,0.25850582,-0.4691939,-0.3658384,0.49351692,-0.21503085,0.43769556],[-0.49650973,-0.24257205,0.27875185,0.056984637,-0.084106766,0.21747197,-0.14523055,-0.062517725,-0.12865941,-0.4967132,-0.47404718,-0.39828455,0.20428851],[0.51754504,0.44354475,-0.12756172,0.60820955,-0.16570193,-0.24837321,0.3779718,-0.12072089,0.33560675,-0.29205063,0.42597872,-0.57351613,0.275068]],"activation":"identity","dense_3_b":[[0.03487869],[-0.013982357],[-0.02665594]]},{"dense_4_W":[[-0.40196383,0.97064435,0.88333386]],"dense_4_b":[[-0.019127952]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[6.8682947],[1.3247597],[0.52117354],[0.053211],[1.3196762],[1.321261],[1.3220409],[1.3065661],[1.2855599],[1.2555516],[1.221194],[0.05287544],[0.052969508],[0.053053025],[0.053157352],[0.05310392],[0.052811027],[0.052315235]],"model_test_loss":0.004652302712202072,"input_size":18,"current_date_and_time":"2023-08-05_17-08-23","input_mean":[[25.097141],[0.030100366],[0.008127931],[0.0017367124],[0.025092127],[0.026649075],[0.027925659],[0.031518627],[0.031421654],[0.03279364],[0.028935509],[0.0016365603],[0.0016674129],[0.0016875914],[0.001713633],[0.0017992958],[0.0018609823],[0.0017497891]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.01906636],[-0.026147846],[-0.06956214],[-0.12893584],[3.3396657],[-0.11347563],[3.4662268]],"dense_1_W":[[0.0016520686,0.43010652,-0.016737647,-0.5847046,0.42132026,0.6080183,-0.36023164,0.04929399,-0.05639926,0.055730373,0.07496767,0.40559384,0.5495037,-0.78057534,-0.3052922,-0.4512687,-0.15058433,0.049945023],[0.0036362763,0.904483,0.001981453,-0.33253717,0.25831643,0.7194124,-0.29999894,-0.4751608,-0.22190008,0.22535524,0.18900982,-0.04392861,0.30455038,-0.40629083,0.551194,0.3208965,0.2746982,-0.6420702],[-0.0013973061,-1.2801182,-4.660272,-0.2299565,0.5036499,1.121957,0.6687826,0.08227576,-0.87890655,-0.816766,0.5726014,-0.48010656,-0.7163965,0.08434925,0.26663804,0.6864054,0.38185596,-0.08777598],[-0.024978189,0.45179686,-0.43001783,-0.19626012,-0.145855,0.3520434,-0.9694731,0.11912776,-0.069412105,-0.65245837,0.3938456,0.88234675,0.2711265,-0.09912691,-0.12296636,0.14305602,-0.12646228,0.12271214],[0.6889864,-1.4383845,-0.5985031,0.43910387,-0.14574279,-0.5830182,0.28500378,-0.18694921,-0.5173389,-0.15667093,0.1595579,-0.3700834,0.11795122,0.28467125,-0.20037529,0.44890952,-0.43353197,0.15507948],[-0.016126553,-0.5084034,-0.3446227,0.13306846,0.16979276,-0.6851119,0.97122914,-0.11992911,-0.38304567,-0.3581892,0.4410937,-0.085785575,-0.17046288,0.43981537,0.31712607,0.29649833,0.20096925,-0.42831364],[0.70960057,1.176625,0.618315,-0.35273266,0.50546986,0.41693547,-0.30839127,0.19819334,0.5911515,0.2822198,-0.22344977,0.06145853,-0.052926417,0.008550686,-0.02682976,-0.34092346,0.41492197,-0.16889408]],"activation":"σ"},{"dense_2_W":[[0.3105403,-0.13943449,-0.5671977,0.7278831,-0.9538581,-0.53992945,0.2537109],[0.25039518,-0.19284537,-0.33849826,0.19139016,-0.13403177,-0.07362739,-0.71186584],[0.077256136,-0.6989092,-0.236067,-0.53454214,0.4003753,0.3068613,-0.50189966],[-0.3387507,0.08022835,-0.13841416,-0.21556431,-0.16097516,0.82565576,-1.0068827],[-0.5129783,-0.64633214,0.6501237,-0.31724972,-0.41725558,0.6616404,-0.8662519],[0.4270751,0.67877465,-0.30108768,-0.16842516,-0.82080853,-0.8198072,-0.14678568],[0.42951444,0.47302562,-0.59648263,0.50122297,-0.4004039,-0.8508191,-0.5640101],[0.31044075,0.4447596,-0.0133176055,0.39672032,-0.13207492,-0.1053544,0.3750294],[-0.49185774,-0.6246744,0.2108288,0.036430668,-0.19068871,-0.684725,-0.5135398],[0.6451895,0.15162985,0.35664967,0.539209,0.24193677,-0.0060984846,-0.38601643],[0.33735067,0.48711634,0.3457868,0.40235066,-0.5442683,-0.8894964,0.083602294],[0.6303491,0.47514284,-0.25302443,0.048399102,-0.6309426,0.071017355,-0.42443976],[-0.028995385,0.6780545,-0.48130322,-0.10078704,-0.35888222,-0.038346574,0.21966858]],"activation":"σ","dense_2_b":[[-0.16421281],[-0.0066147824],[0.2712916],[-0.037723377],[0.009121119],[-0.24584663],[-0.17050697],[-0.28670987],[-0.15715508],[-0.09428354],[-0.21343407],[-0.17752221],[-0.17326371]]},{"dense_3_W":[[0.39673528,0.5029898,-0.77688295,-0.20485383,-0.69867265,0.52573097,0.5760262,-0.057309195,0.38914645,0.11605935,0.3120174,0.22832489,0.5434368],[0.49983713,0.12314057,-0.23971559,-0.29951656,0.01370866,0.3070287,-0.101687245,0.34138146,-0.15633298,-0.5573778,0.6135126,-0.24733001,-0.3987656],[0.041431323,-0.5985834,-0.5442451,-0.052750558,-0.7950125,-0.18662111,0.56161785,0.04896858,-0.3108859,0.44375634,-0.21281773,0.40877533,0.062354703]],"activation":"identity","dense_3_b":[[-0.08339912],[-0.0697586],[-0.070846304]]},{"dense_4_W":[[0.82060516,0.39197603,1.0617381]],"dense_4_b":[[-0.07490547]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[10.192138],[1.2619681],[0.99538904],[0.03173082],[1.390097],[1.3528733],[1.3105861],[1.0981697],[0.9660985],[0.83304054],[0.73382217],[0.031833883],[0.031806096],[0.03176805],[0.031585068],[0.031403936],[0.031049846],[0.03052816]],"model_test_loss":0.08113811910152435,"input_size":18,"current_date_and_time":"2023-09-01_15-46-16","input_mean":[[17.870602],[0.06094058],[0.76994574],[-0.018258877],[0.07383096],[0.06954971],[0.06553388],[0.045131978],[0.034243006],[0.017750643],[0.0021489365],[-0.018112624],[-0.018160766],[-0.018217338],[-0.018421978],[-0.018636575],[-0.018845296],[-0.019152297]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[0.60173887],[-1.2184482],[-2.5489855],[-0.13953118],[0.6530774],[-1.9541978],[0.6348104]],"dense_1_W":[[0.9151844,-0.69396037,-0.0015744013,0.13417375,0.47273952,0.053828586,-0.2703337,-0.06767218,-0.06996197,0.33860308,0.6809081,0.062160317,0.20090835,-0.39224413,0.20620485,-0.011424855,0.16862637,-0.2757232],[0.28972548,-0.02519699,-0.0015914065,0.16588296,0.18867342,0.054137114,0.08766244,-0.10144043,-0.00023482303,0.035658572,0.3292638,0.025065169,0.02802059,0.040422786,-0.28468195,0.014785016,-0.040343814,0.020054903],[-0.88864183,0.81139094,0.005142466,0.07717855,-0.3736464,-0.48089615,-0.33839747,0.72515595,-0.20632601,0.2192427,0.6845602,0.045920767,-0.0058251703,-0.10204114,0.0328523,0.1720919,0.22784986,-0.39458126],[0.04597544,-0.5142907,-0.039751884,-0.1760501,-2.0647182,-2.079671,-1.7764702,2.893614,2.1160357,0.62820613,-0.58175343,0.13933943,-0.07837348,0.2579554,-0.21817936,0.058899857,0.0867017,-0.2388197],[1.008347,0.6241744,0.0006175654,0.24427246,0.3880548,-0.71216303,-0.08657326,0.43654963,-0.002103242,-0.35102853,-0.72472453,-0.14762312,0.058478996,-0.27061918,0.08358053,-0.05671504,-0.39794087,0.38000095],[-0.75398517,-0.31240758,-0.0035077638,0.042402916,0.03954997,0.38596287,0.3007671,-0.71371967,0.24568759,-0.18542135,-0.63920254,0.012125213,-0.13132948,0.1092853,-0.09679227,-0.19704841,-0.06888792,0.28378332],[-0.2624838,0.19304885,-0.0020451967,-0.42735267,0.5025606,0.020195944,-0.100870304,-0.38624248,-0.1858948,0.15579382,0.32803276,0.24784385,0.31001303,-0.23803873,0.1500903,-0.2607993,0.30487004,-0.11202888]],"activation":"σ"},{"dense_2_W":[[-1.2400194,0.17729802,1.6934681,0.7075426,-0.11226228,-0.83732116,0.33559176],[0.5745533,-0.80457217,-0.6967583,0.08430375,-0.5941207,0.6564719,-0.70027584],[0.013842665,-1.1106777,0.12004836,-0.7758639,-0.7202531,2.1383853,-0.26417783],[0.53778696,-0.9851601,-0.16901778,-0.63449734,-0.5228541,1.452694,-0.5041905],[-0.5252082,0.9113041,0.96822953,-0.2888941,0.19632195,-0.06139024,0.23265024],[0.8556627,-0.5657162,-0.92154366,-0.028895194,-0.5141267,0.72371626,-0.751295],[0.75094503,-0.17778125,-0.7352838,-0.43035126,-0.514307,0.9411462,-0.9285261],[-0.23282954,-0.20877087,-0.41192415,-0.89742875,-1.3174541,-0.15595351,-0.15537289],[-0.7422097,0.3961414,0.3959817,-0.16982703,0.80190444,-0.8246868,1.0364479],[0.84093606,-0.5901947,-0.6232177,-0.35342738,-0.49815804,1.1040002,-0.95394325],[-0.97321624,1.2088536,0.85022783,0.002327647,0.43647796,-0.4797704,0.095545724],[-0.75402004,0.8438213,0.258789,0.092278235,0.5893333,-1.1115283,0.98487294],[0.4652842,-1.1645225,-0.80774826,0.1144249,-0.14423822,0.46821204,-0.4388547]],"activation":"σ","dense_2_b":[[-0.29847553],[0.11241894],[-0.03942593],[-0.045420405],[-0.1453599],[-0.002497385],[0.035479035],[-0.20913747],[-0.13740407],[0.07032733],[-0.21931723],[-0.09019325],[-0.07747503]]},{"dense_3_W":[[-0.3440359,0.13350633,-0.2793149,0.06343626,0.46869245,0.35055122,-0.29592252,0.56705844,-0.35353094,-0.16574235,-0.4968441,0.23517826,0.2515689],[0.034386467,-0.9523351,-0.6150173,-0.43728954,0.3108096,-0.14083374,-0.5916635,-0.62779754,0.5980072,-0.72700554,0.7860504,0.84748363,-0.5247365],[0.67116046,-0.74161327,-0.18781546,-0.6720034,0.46030635,-0.91020125,-0.81438667,0.05195494,0.5849977,-0.87362975,0.42857662,0.74513984,-0.15408307]],"activation":"identity","dense_3_b":[[0.08475188],[0.005057218],[0.099355556]]},{"dense_4_W":[[-0.005187234,0.74306834,1.0122273]],"dense_4_b":[[0.092436805]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.589161],[1.6526152],[1.0296179],[0.04015747],[1.6503558],[1.6541231],[1.6558622],[1.6062601],[1.5521498],[1.4774255],[1.3901185],[0.04013376],[0.040141042],[0.040149838],[0.04013493],[0.040134083],[0.040017467],[0.03965995]],"model_test_loss":0.07666975259780884,"input_size":18,"current_date_and_time":"2023-09-01_17-07-09","input_mean":[[19.16097],[0.00023039858],[0.024997516],[0.0015251928],[-0.006199064],[-0.00511049],[-0.0036440035],[0.008816405],[0.013828324],[0.023007024],[0.03203006],[0.001499254],[0.0015097901],[0.0015188308],[0.0013762622],[0.0012122631],[0.000992458],[0.00083205965]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-1.8661245],[-1.5837955],[0.037068017],[0.004549992],[-0.0406839],[-3.848253],[-0.14788117]],"dense_1_W":[[1.2300965,2.5310688,-0.033882245,0.9913731,-1.4768931,-0.7604761,-0.016176367,1.7826718,0.97190374,-0.3524215,-0.12235129,0.7071725,0.08818652,-0.7926816,-1.0068728,-1.0829469,-0.41093853,0.41296145],[1.0410483,-2.4898872,0.031385656,-0.8418668,1.7300308,0.6604722,-0.22182828,-1.4516648,-0.7956896,-0.0052562924,0.3286437,-0.90743065,0.20010695,0.67364526,0.8678244,0.9458278,0.45917323,-0.4489016],[0.0042952006,-3.7682223,0.03752664,4.481959,-0.025753722,0.30079904,-0.80541074,-0.8990208,-2.967934,0.3142363,-2.034866,-0.29074013,-0.10882145,-1.6433034,-2.345314,0.3792549,0.5183762,-0.3828322],[0.0351331,0.4335407,-0.72822434,-1.1574517,0.33417597,-0.78198606,-1.2777231,0.73203385,0.5243073,0.3935317,1.6471862,-0.66806847,-1.2980176,-0.995225,0.578557,1.5086068,1.178342,0.093525246],[-0.034333024,0.2399623,0.7163214,0.4258642,0.051805,-0.27961543,0.13171966,-0.043525357,-0.11124441,0.7758175,-2.7231858,1.9812765,0.95424885,-0.516098,-0.3156276,-0.42034206,-0.43856654,-0.9159853],[-3.23608,0.62202907,-0.93510664,-0.31767273,-2.2818325,-0.97344154,-0.47527224,0.8959574,-0.07933676,-1.693229,0.29464307,1.5444574,0.3701407,-0.7764469,0.8500272,1.3425361,-1.7767322,-2.944946],[0.006447974,0.48928446,0.5253896,0.9540034,1.3740003,0.38989055,-0.19158112,-0.6142965,-1.4193783,-0.640289,2.1344078,-0.42348352,-0.5467218,0.13846552,-0.060432374,-0.4456313,0.39513004,-0.17451167]],"activation":"σ"},{"dense_2_W":[[0.75902075,1.1818918,0.018134926,-0.23670888,0.58994615,-0.3951398,1.2811865],[-0.08184867,0.43210924,0.42716455,-0.7389914,-0.42377943,0.07209329,0.11910895],[0.31956765,-0.7480974,-0.19422513,-0.552509,0.07628548,0.6062507,-0.7245184],[0.44447437,-0.041922443,0.13054374,0.43873626,0.6574541,-0.19836801,0.14220871],[-0.0037564328,-0.023460802,-0.6449217,0.5678689,0.5152597,-0.3669055,0.08844841],[0.409556,-0.89736575,0.58308125,-0.16765638,-0.2244067,-0.19765973,-0.13677762],[-2.7548218,3.2813652,1.3716445,-0.96946454,-0.47919014,0.23553993,-0.7080141],[-1.617764,-1.0463123,-0.82542264,0.027710665,0.9964338,-0.6431054,0.35499138],[0.742922,-0.4490962,-0.4472653,0.3055844,-0.051618654,0.53054106,0.6369738],[0.5263451,0.72935253,-1.4179851,-0.7053557,0.10821838,-1.4098617,0.006451496],[-0.32364398,0.039208733,0.77577096,-0.9521098,-1.4651095,-0.26427552,-0.2297292],[-0.5094321,-0.17350426,-0.05012927,-0.42607546,-0.0424127,-0.1761333,-0.87716746],[-0.07377011,-0.38419786,-0.05855057,-0.5455437,-0.9797012,-0.30153883,0.23297796]],"activation":"σ","dense_2_b":[[0.28105608],[0.062468283],[-0.008618305],[-0.010698113],[-0.022834778],[-0.19800517],[0.1661619],[-0.59834546],[0.022396281],[-0.39137623],[0.30498576],[-0.03527624],[0.02751272]]},{"dense_3_W":[[-0.0075695775,-0.27568746,0.09120304,-0.3263692,-0.4094352,-0.0785218,0.37749985,-0.3643959,0.5081887,-0.34113538,0.13756286,-0.17055227,0.43868554],[0.25493667,-0.3818253,-0.41074437,0.32864282,0.3402426,-0.13885908,-0.5030987,0.19186679,0.65157133,-0.14876194,-0.5428901,-0.08314285,-0.57639486],[0.57302797,-0.51000684,-0.18249922,-0.07923711,0.3147604,-0.16800596,-0.7434311,0.7116399,0.39529055,-0.40308496,0.15564886,-0.41269818,-0.55772877]],"activation":"identity","dense_3_b":[[0.033527393],[0.026104666],[0.027110972]]},{"dense_4_W":[[-0.087499,1.1460565,0.99249434]],"dense_4_b":[[0.025334533]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.558472],[1.1135993],[0.35501274],[0.045823593],[1.1077218],[1.1080649],[1.1080468],[1.0821772],[1.0575596],[1.0226434],[0.98659563],[0.045627955],[0.045635287],[0.04563911],[0.045467082],[0.045263745],[0.04491611],[0.044533264]],"model_test_loss":0.039052750915288925,"input_size":18,"current_date_and_time":"2023-08-05_18-06-12","input_mean":[[26.136148],[0.014033704],[0.008476357],[-0.007713262],[0.014445406],[0.015386044],[0.016355403],[0.020506991],[0.024135882],[0.026870549],[0.02935421],[-0.007780166],[-0.007770314],[-0.0077639683],[-0.0077210055],[-0.007739751],[-0.007798479],[-0.00789042]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[0.1487079],[4.2139845],[-0.5853092],[0.3086539],[0.032987785],[-4.7810106],[0.016952101]],"dense_1_W":[[0.033758555,1.0444518,3.6611536,-0.40075377,0.7095827,1.3611814,-2.1352289,0.96489286,1.8126475,-0.62583995,-1.966803,-0.1734821,0.15852115,-0.3967776,-0.14440706,0.8157315,0.17390618,-0.23260796],[2.1500878,-0.45053038,1.2581933,-0.05246604,0.5019536,1.7019817,-1.8193591,1.3068173,1.0780432,0.6126558,-1.1160796,0.19838658,-0.084695324,-1.2091074,0.5595109,0.74877197,0.30207658,-0.6453137],[0.458296,-0.21370786,0.0019734737,-0.30963984,0.8088786,-1.7420303,0.60466176,0.14915113,-0.12689793,0.052364115,-0.042618364,-0.5170238,0.26220888,0.18760274,0.37973043,0.15806,0.0022146539,-0.07045257],[-0.66763306,-0.4096175,-0.0016955894,0.04425929,0.21008201,-1.7331837,0.9467672,0.58569306,0.23827136,-0.2415081,-0.15301658,-0.28669143,-0.2599793,-0.11007419,0.6052918,0.17952923,0.24594603,-0.31397706],[1.0145541,-0.3317505,-1.4991609,0.013690285,-0.9575213,-1.383604,0.028956244,0.41788918,0.24457058,-0.094164655,-0.13030116,0.17948826,-0.03794582,0.01309437,0.35534826,-0.26917398,-0.29215142,0.27303904],[-2.7000756,0.31637338,1.4000112,0.08876083,0.6678543,0.9836755,-1.5750684,1.1129849,0.9943397,0.5684742,-1.1145275,0.5888766,-0.13174123,-0.9658693,-0.413828,0.7263344,0.11292254,-0.23350726],[-0.12401558,5.324601,7.171819,-0.19341947,2.5473533,3.2746146,3.0563648,3.367963,2.8771386,2.6749191,2.9917984,-0.14726077,-0.13394955,-0.76174796,1.426001,1.2234408,-0.7090158,-0.6628128]],"activation":"σ"},{"dense_2_W":[[0.5621434,0.992517,-0.6983796,-0.91716,-0.054338105,0.607339,0.45212823],[0.22474639,0.22895367,0.6111215,0.046989255,-0.030409865,-0.61481434,0.10029722],[0.16454774,-0.29756203,1.1110828,0.59235257,-0.18411039,-0.6023632,-0.23720202],[-0.3528499,-0.6570399,0.49941105,0.47395417,0.27583507,0.08116056,0.20804141],[0.07139761,-0.070093624,0.5590774,0.7634218,-0.49971566,0.5975401,0.7334796],[0.44444433,1.8885437,0.35532534,-0.82639766,1.279296,-0.86160696,2.6706583],[0.44448185,-0.24610248,-2.495731,-0.89490926,0.11747124,0.62402964,0.5182057],[0.23551048,0.42742857,-0.5775537,-0.6272091,-0.27731383,-0.09396491,-0.51651603],[0.42865852,0.32447976,-0.29923168,0.340756,0.013832209,0.41082326,0.21667421],[-0.32736444,0.4769656,0.977129,0.5856738,0.10249221,-0.54967755,-0.2428743],[0.25369433,-0.2204579,-1.0649059,-0.2733619,-0.049029216,0.4437149,-0.11450898],[-0.24868779,0.44613084,-0.27166238,0.5614397,0.5230158,-0.24676293,0.17946567],[-0.2634003,-0.48613355,-0.04385666,-0.65893304,-0.30746424,0.15454659,-0.53632504]],"activation":"σ","dense_2_b":[[0.19822486],[0.017528722],[-0.010497578],[-0.06445187],[-0.039755665],[0.17356244],[0.025937805],[0.023149397],[0.002431535],[0.006409766],[0.0033689209],[-0.057484128],[-0.2775116]]},{"dense_3_W":[[-0.647888,0.20968881,0.6033078,0.67215437,0.20472567,-0.14839841,0.13453817,-0.14604588,0.00843544,0.2830037,-0.54673946,0.60688186,-0.4934583],[-0.18505706,0.2708935,-0.37541804,-0.3327015,-0.14934263,-0.59043384,-0.5975454,-0.34455526,0.34356502,-0.1237087,0.032155972,-0.11825379,0.032004077],[-0.12307207,-0.14105205,-0.69863325,-0.65025413,-0.45728275,0.5245935,0.46122637,0.372422,0.2177389,-0.6267706,0.32869118,0.34049797,-0.5515101]],"activation":"identity","dense_3_b":[[0.028380467],[0.04344171],[-0.028022127]]},{"dense_4_W":[[-1.151408,-1.0946046,0.9045305]],"dense_4_b":[[-0.033447456]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.880729],[1.3764424],[0.4036752],[0.044919465],[1.357929],[1.3648189],[1.3701559],[1.3636794],[1.3427843],[1.3031353],[1.2558507],[0.044844456],[0.04486737],[0.044886783],[0.044833656],[0.044710048],[0.04439941],[0.044009637]],"model_test_loss":0.03750712797045708,"input_size":18,"current_date_and_time":"2023-08-06_03-39-56","input_mean":[[23.76268],[0.025191484],[-0.0054714084],[-0.010682941],[0.027966013],[0.026647689],[0.025542766],[0.022714077],[0.020973299],[0.023003811],[0.02802845],[-0.010661417],[-0.010671549],[-0.010681824],[-0.0107730925],[-0.010828986],[-0.010959005],[-0.011070088]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[4.5776205],[-0.23610623],[0.105955176],[0.07035416],[-0.44049412],[-4.875287],[0.95284677]],"dense_1_W":[[2.6162603,0.96552926,-1.1709021,0.68316555,-0.83422256,-1.2780359,0.2215925,-0.363209,0.3182224,0.050232545,-0.16977811,0.15275992,0.01305875,-0.24862735,-0.3824611,-0.32907623,-0.08854755,0.29336992],[-0.033986192,-0.4997676,-3.4389174,0.7424149,0.664207,0.14749247,0.5930936,-0.7861187,-1.5643623,-0.66575646,1.7639327,-0.63187826,-0.30908775,0.22797343,0.36383292,-0.43728524,-0.08584815,0.0859059],[-0.399227,0.95630413,-0.00024232137,-0.15680003,-0.657746,0.88117325,-0.28739563,-0.40365663,0.13200954,0.17651056,-0.119062886,0.5858267,-0.21834603,-0.06490571,-0.011869801,-0.46006832,0.055071417,0.16692579],[-0.5654201,-0.9509558,0.00096591073,-0.043163724,0.4077403,-1.0859221,0.6999001,0.40714318,-0.08873732,-0.07508248,-0.009093482,-0.46344966,-0.19199978,0.4810677,0.48018777,-0.28993973,0.41181335,-0.27362508],[-0.027356783,-4.2967224,-0.03678484,-0.32151344,-0.73972255,-2.5777402,-3.2287362,-2.5549042,-1.4497441,-0.43103775,0.6453438,-0.17506233,-0.31516784,0.5563384,0.85075074,-0.57829696,-0.19835036,-0.024371902],[-2.47195,1.7926816,-1.1769953,0.16563822,-0.82507175,-1.0493809,-0.32214803,-1.1703736,0.2470295,0.2510944,-0.11734796,0.13303131,0.030326199,-0.00082738034,0.023316598,-0.33300236,-0.31752133,0.38321474],[2.1512134,1.7400922,-1.7055479,-0.3629506,-1.7764045,-0.28031406,-1.3791944,-0.80302006,-0.122044094,0.8002589,-0.3441996,-0.07645867,0.23166081,-0.38216463,0.64409703,0.11736102,0.22685654,-0.30116174]],"activation":"σ"},{"dense_2_W":[[-0.52089065,-0.064282656,0.9368965,-0.78820074,0.18612167,0.050849117,0.27317494],[0.71986425,0.006931284,-0.083075926,-1.1616415,0.027728708,-0.928848,0.83347905],[0.8144789,0.20632064,-0.71373665,-0.06819771,0.9545801,-0.4286985,0.42867258],[0.71121395,0.06992666,-0.8302117,0.07830932,0.25297147,0.0047203694,-0.0066684796],[-0.5690574,-0.14917742,-0.3785819,0.9758459,0.28018865,0.41372767,-0.21782406],[0.13315567,-0.4577933,-0.1426717,0.19464079,0.008886417,-0.116589725,0.08225403],[-0.9950312,-1.3679215,0.091107205,0.9272021,1.1016536,-1.3227009,-1.2095336],[-0.3986191,-0.9487305,0.38871515,-0.08156303,0.95174986,-0.6304789,0.13525334],[0.2225127,-0.2169731,0.9058736,-0.5802039,-0.24850035,-0.28582534,0.3907818],[-0.5881804,-0.044960845,-0.90182215,0.8056298,0.5574692,1.0463717,-0.5374416],[-1.2164664,-0.40320966,0.53783023,0.27278855,-0.49228838,-0.14903766,-0.8090045],[-1.2831542,0.4933893,0.021853147,0.071227364,-1.4159098,0.76011354,-0.8172033],[0.078262046,-0.5118518,0.22079428,-0.02778036,-0.222457,0.23040481,-0.66731334]],"activation":"σ","dense_2_b":[[0.05072228],[-0.1091474],[0.1004324],[0.021801215],[0.03440032],[-0.07559257],[0.18204498],[-0.008477362],[0.033497173],[-0.15622234],[-0.088286996],[-0.1264465],[-0.09580737]]},{"dense_3_W":[[-0.49234378,-0.12957415,0.5802615,0.4467619,0.590399,0.24340731,-0.5555279,-0.66425663,-0.4981453,0.60517937,-0.56258386,-0.26889455,-0.35886267],[-0.60045487,-0.55883497,-0.3071459,0.07875048,0.5536381,-0.32903612,0.14948905,0.46808386,0.28372547,0.3629737,0.22399715,-0.5433762,-0.15223768],[-0.46732837,0.03954109,0.09032384,-0.38590652,0.39412647,-0.153768,0.03560084,-0.11765058,0.35194537,0.3046047,-0.094702706,0.3176626,-0.32317603]],"activation":"identity","dense_3_b":[[0.051931284],[0.06253407],[0.04909886]]},{"dense_4_W":[[-1.265387,-0.37792373,-0.20574242]],"dense_4_b":[[-0.04775983]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.358706],[1.0686424],[0.34114116],[0.044889364],[1.068699],[1.068358],[1.0675814],[1.045456],[1.0242518],[0.99177456],[0.9590156],[0.04477875],[0.04480059],[0.04482342],[0.04474932],[0.04458978],[0.044322193],[0.043946933]],"model_test_loss":0.035726360976696014,"input_size":18,"current_date_and_time":"2023-08-06_06-15-03","input_mean":[[24.615007],[-0.03660665],[0.0016246386],[-0.006489807],[-0.0361033],[-0.035993658],[-0.036171526],[-0.03401853],[-0.031212736],[-0.02772113],[-0.025683384],[-0.0064613656],[-0.0064720884],[-0.006487653],[-0.0065700756],[-0.0065773614],[-0.0066702664],[-0.0067906133]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[2.9387486],[1.7947302],[-2.419479],[-0.046714567],[-0.07710784],[-0.011005453],[2.2013001]],"dense_1_W":[[1.5500982,-0.562216,0.82173073,1.1276568,-1.1044303,2.0344303,-0.5962017,0.43611562,0.6137577,0.54552734,-0.40140414,0.13477002,-0.33703992,-0.995159,-0.5198411,0.6988811,0.23579559,-0.43389362],[1.9096831,0.4647536,-1.062686,-0.18994598,-0.7350096,1.1260368,-1.2783738,-0.017420385,-0.32890928,-0.6363917,0.1548712,0.10676455,0.18015237,-0.0953862,-0.13519493,0.2339727,0.07321837,-0.04309801],[-1.3224562,0.034447707,0.7349111,0.15789251,-0.54802585,0.91166073,-0.5362905,0.5046039,0.30484954,0.5900371,-0.38941008,0.33457753,-0.27889228,-0.6909375,-0.14148402,0.97603106,-0.13406259,-0.30469695],[-0.0017459231,-0.09968895,-0.014508084,0.23403876,0.836069,-1.5712544,0.19792208,0.34136322,0.15050764,-0.2420643,-0.05131571,-0.09686847,-0.47325152,0.21186271,0.033762608,0.17737845,0.0014673215,-0.12473483],[0.00029148505,-0.6372151,-0.0053334557,-0.05010357,0.99977154,-1.0182008,-0.14067085,0.3974594,-0.2723742,0.04584643,0.073329695,-0.34156838,-0.11684916,0.11896246,0.34009737,0.6478362,0.13086675,-0.43019354],[-0.0077469624,-0.1509263,-3.2484512,0.16014525,-0.5749223,-0.9640095,0.9543776,-0.7414716,-0.7872326,0.2741354,1.5463,-0.3455074,0.08961764,0.027934242,0.045294646,0.23221987,-0.1519019,8.7261986e-5],[2.0402718,-0.72642046,1.1085396,0.08754884,0.35070625,-0.522105,1.2273571,-0.049034014,0.7027618,0.56165534,-0.22607273,0.21941654,0.19681507,0.25899538,-1.0231488,-0.19570431,-0.065851234,0.37131593]],"activation":"σ"},{"dense_2_W":[[-0.60671103,-0.10295715,-0.2275175,0.703453,0.5107893,-0.019612279,0.060930736],[0.32735822,0.09359731,1.1961514,-0.5468047,-0.6979488,-0.8116451,-0.8816686],[0.28230911,0.26441634,0.32522315,-0.2709414,-0.97729933,-0.1853032,-0.6816012],[0.85672635,0.40473634,0.06306575,0.043324664,-0.09925389,-0.6707503,0.48766825],[0.3574693,0.24644808,0.8436976,-0.73305976,-0.87197644,-0.17207824,-0.34952453],[1.2755688,1.0824895,0.84866655,-0.5946056,-0.93967986,-0.64516634,0.18630773],[0.2624753,-0.12604286,-0.24697196,-0.36811814,0.14403982,0.43120542,0.1445742],[0.44066232,0.1534366,0.25932267,-0.65874845,-0.26324567,-0.31705675,-0.831388],[-0.030025106,-0.31389698,0.17181242,0.3696615,0.008856971,-0.5338608,-0.019544462],[0.053924862,0.46772835,0.94262034,-0.71287125,-1.2770078,0.48717985,0.09874367],[-0.5596553,0.1355415,-0.6685472,0.5694037,0.5835357,-0.050862506,-0.30772945],[0.26585215,0.15441975,-0.27715218,0.17482373,0.30534902,0.13441981,0.24543025],[-0.700537,-0.30525044,-0.40211698,0.23966432,-0.07130374,0.3517828,-0.30104256]],"activation":"σ","dense_2_b":[[0.0006462817],[-0.045901865],[-0.08447791],[0.018081808],[0.028199553],[0.15011074],[0.024169737],[-0.07767265],[0.003401174],[-0.09530233],[0.026245346],[-0.019555494],[0.029535577]]},{"dense_3_W":[[-0.4269903,0.38330346,0.3818396,-0.104428,-0.010993002,0.25576162,-0.14891353,0.5712297,0.43450522,-0.18818101,-0.40029064,0.113605164,-0.41539222],[-0.4444491,0.6585591,0.5286078,0.014278995,0.3499434,0.3896106,-0.37057588,0.058567323,-0.5987489,0.35249916,-0.5103405,-0.0007771231,-0.20807561],[-0.5559521,0.25394833,-0.35546854,0.4645985,0.3801913,0.20466149,-0.20871717,0.37793857,-0.093845844,0.5868493,0.12606087,-0.4579316,-0.5141172]],"activation":"identity","dense_3_b":[[-0.039426688],[-0.038285036],[-0.0388908]]},{"dense_4_W":[[0.98477775,0.89640814,0.94241107]],"dense_4_b":[[-0.040733967]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.261368],[1.1474106],[0.37148234],[0.044279538],[1.1430647],[1.1446478],[1.1447154],[1.1187278],[1.0942419],[1.0602791],[1.0217831],[0.04425829],[0.044268712],[0.04427185],[0.044111896],[0.04397081],[0.04367603],[0.043223266]],"model_test_loss":0.041262850165367126,"input_size":18,"current_date_and_time":"2023-08-05_23-22-02","input_mean":[[24.15998],[-0.008219966],[0.004739006],[-0.013221193],[-0.008523361],[-0.008609849],[-0.007986069],[-0.006765848],[-0.006281763],[-0.008096367],[-0.011848589],[-0.013220585],[-0.013206273],[-0.013198256],[-0.013279306],[-0.0133954],[-0.01351665],[-0.013652078]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.011715764],[-0.16971639],[0.44084886],[1.8919995],[-0.57473946],[0.3265129],[0.665929]],"dense_1_W":[[-0.035294082,0.58739567,0.0068268306,0.5267725,-1.3068384,2.0108788,-0.8904008,-0.86464506,0.8847079,0.49210623,-0.27763724,0.6851789,-0.11328691,-0.61491024,-0.7021547,0.0578637,0.082666315,0.0749281],[-0.08059325,-0.77528465,0.93356776,-1.1226226,0.030571632,1.2159668,-0.3739228,2.0636218,1.051139,0.24026142,-0.8241013,0.51684606,0.45198372,-0.85868824,0.9150932,0.14920434,0.0996434,-0.23813146],[1.05331,0.6632812,0.586634,0.10609487,-0.16541673,1.0143963,-0.6739981,0.43193975,0.5483419,0.020105261,-0.2659555,0.27416015,0.3780343,-0.38164294,-0.04144785,-0.49568477,-0.6130558,0.6570192],[1.4749159,0.076626115,-0.88682747,0.046201207,-0.23487571,-1.1125354,0.055821165,-0.57242775,-1.03109,0.059293248,0.2898471,-0.65886724,0.19274879,0.39950013,-0.10046821,0.34578046,0.20585975,-0.28454834],[-1.0492898,0.8025768,-0.019681327,0.11809792,-0.3740394,1.1517578,-0.6477998,-0.59586203,-1.4050065,-0.8667816,0.755093,-0.04370645,0.32285377,-0.16848978,-0.21646905,-0.34349748,-0.28047857,0.49415973],[0.056685824,0.9262534,-5.3872395,0.7328496,-1.2155392,-1.1581563,-0.12605561,-1.2297785,-0.95465136,1.0993868,1.4996752,-1.0285505,-0.33488074,0.33622772,0.34516957,-0.14087252,0.36723128,-0.2868416],[0.9570638,0.24864312,-0.017469333,0.54736155,-0.49265823,1.0806886,-0.30185512,0.02353294,-1.477074,-0.70588714,0.615638,-0.07056425,0.046274792,-0.32864115,-0.3693316,0.0012585309,-0.105926886,0.20974532]],"activation":"σ"},{"dense_2_W":[[0.79805297,0.07995367,0.33311036,-0.1088086,-0.28585342,-0.11676164,0.3217794],[-0.6564382,-0.650472,-0.32395652,0.48536372,-0.39954782,-0.9293625,-0.3131151],[0.065390795,-0.36014688,0.035044394,-0.47919765,-0.21676321,-0.68095744,-0.58225524],[-1.4269842,-0.22010052,0.762021,1.5709931,-0.39910436,1.7860814,1.1529905],[0.81025195,-0.19804797,0.2811143,-0.13832566,0.21581413,-0.2242298,0.10002656],[-2.4172528,-2.9861536,-2.1297307,-2.3552132,2.0055087,3.841171,-1.6320437],[-0.15224119,-0.008424982,-0.7476414,-0.7229817,0.34834322,-0.62080944,-0.6412587],[-0.32463408,0.056613863,-0.013071884,-0.057739817,0.5155227,0.12653896,0.14592259],[-0.5659917,-0.43365908,-0.31137735,-0.3897718,-0.26343766,0.8946887,-0.6234644],[-1.2267396,0.0675833,-0.036197066,-0.0106164375,-0.65109164,0.3789509,-0.7397455],[-0.47206897,-0.3735633,-0.4683122,0.17489713,-0.69122815,-0.68286866,-0.23052849],[0.92053163,0.41530177,0.23816848,-0.3726253,0.27367908,0.71565676,0.19845398],[0.22949272,0.53540593,0.100375816,0.39428094,0.19491827,-0.0047999,-0.036115997]],"activation":"σ","dense_2_b":[[-0.080741115],[-0.098717436],[-0.04195425],[0.57887644],[-0.0376275],[-0.7313109],[-0.15826389],[-0.03734272],[-0.17071353],[0.06530881],[-0.16700919],[-0.10229606],[-0.0077384445]]},{"dense_3_W":[[0.6059949,0.4993691,-0.0014475341,0.40003,-0.44542313,-0.71407944,0.2787467,0.16292632,-0.4138824,0.27650607,-0.27067518,-0.14248835,0.17812036],[0.13085166,0.48013842,0.34201995,0.64287025,-0.600294,0.86557233,-0.14552544,-0.08809264,0.41238344,0.7531989,0.587104,-0.4580716,-0.6428474],[0.61981463,-0.5255673,0.47925967,-0.6429044,0.02112309,0.09041386,0.27671653,-0.054121528,-0.24291937,-0.610705,0.07889088,0.042044822,0.39591196]],"activation":"identity","dense_3_b":[[0.007450639],[-0.024559],[0.020729255]]},{"dense_4_W":[[0.2550702,-1.0187347,1.2050446]],"dense_4_b":[[0.021735787]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[6.17857],[0.44787604],[0.5243947],[0.032028187],[0.44404522],[0.4443511],[0.44520274],[0.45595846],[0.4604483],[0.47209886],[0.4884655],[0.03209721],[0.03205],[0.03203256],[0.03195497],[0.031864975],[0.03177169],[0.03154828]],"model_test_loss":0.0009851785143837333,"input_size":18,"current_date_and_time":"2024-01-04_15-35-20","input_mean":[[21.90655],[-0.29117808],[-0.08760989],[-0.009034546],[-0.2664771],[-0.27346689],[-0.2819304],[-0.3144748],[-0.33650345],[-0.36093968],[-0.38976616],[-0.009162463],[-0.009145338],[-0.009107736],[-0.008843513],[-0.008647824],[-0.0083346395],[-0.007997973]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.06760431],[-0.2907365],[-0.4082806],[-0.20224898],[0.29265383],[0.26244283],[0.15451357]],"dense_1_W":[[0.014618384,0.37313232,0.035592113,-0.3403019,0.033235013,0.24829742,-0.49047577,0.28937504,-0.2026583,-0.2760167,0.21064562,0.08079155,0.11982211,0.042024616,-0.052886724,-0.06286289,-0.13398048,0.13160145],[-0.0048215007,0.30684328,0.020128243,-0.41616872,-0.20515934,-0.2511921,-0.13518195,0.37878683,0.26875132,0.113668166,-0.27679917,0.66174066,-0.052989658,-0.1855979,-0.02353523,-0.30120054,0.091657996,0.09602743],[-0.0042930744,-0.15373556,0.08812353,-0.31896785,0.019456651,-0.20545581,0.05433538,-0.23081444,0.43445846,0.11084425,-0.0024109932,-0.6938004,-1.024248,-0.4391781,-0.0550922,0.07583203,0.79354477,-1.8509296],[0.04390958,-0.18022121,-0.08688032,0.19231437,-0.14530687,-0.27636525,0.4690427,0.4344902,0.16017663,-0.25027603,-0.2452524,0.5537437,0.13898967,0.038036723,0.6355534,0.5031342,1.3155322,-0.14124991],[-0.006398488,-0.7886078,0.03451426,-0.054085355,0.25506452,0.4975867,1.0672406,-0.27192074,-0.91774124,0.2306121,-0.3410087,-0.16050793,0.15241678,-0.17949696,-0.31961542,0.22702731,0.419533,0.00035671022],[-0.0077034663,-0.78213346,-0.016133381,0.10805307,0.14032482,0.36524558,0.12367749,0.24540052,-0.059624504,-0.3247948,0.021967877,-0.039682694,-0.2721095,-0.10098841,0.21639878,-0.22641253,0.14136238,0.19991797],[-0.048534065,-0.20369655,0.07626118,-0.31831193,0.2750742,-0.2912584,0.088218614,0.09158782,0.06355577,-0.23128918,0.2086949,-0.44672933,0.2343581,-0.052767944,-0.26756912,-0.29403126,-0.0006949583,-0.3037349]],"activation":"σ"},{"dense_2_W":[[-0.19747548,0.3752813,0.005352072,0.22516197,-0.279574,-0.29499897,0.514051],[-0.23818707,-0.442092,0.21234472,-0.5240696,-0.666385,0.13287802,-0.70440364],[-0.12623425,-0.12563375,0.17045951,-0.4611073,0.13094379,-0.2603494,-0.578133],[-0.3201878,-0.472269,-0.45254824,-0.17459284,-0.13989829,-0.07893383,-0.15434109],[0.6313669,0.59430647,0.029979968,0.40872103,-0.6338095,-0.48483965,-0.16215326],[0.12921973,-0.35855725,-0.6317136,-0.24155544,0.018117908,0.6665686,-0.09261251],[-0.5263865,-0.500698,0.26361403,0.1989874,0.16189028,0.4017576,-0.50330746],[0.19345485,0.0116930995,-0.1151553,0.38370124,-0.51925737,-0.66009927,0.54345274],[-0.10049859,-0.07803794,-0.05125394,-0.5760374,0.22012971,-0.4562151,-0.24986024],[-0.035831526,0.17925176,0.08670547,-0.6276373,-0.24000542,0.09890566,0.005909479],[0.026487896,0.10827987,-0.5441871,0.10627476,-0.12671272,0.25334272,0.090102024],[0.11269248,-0.5982834,-0.20034944,-0.4165159,0.48223287,0.06892533,0.32945293],[0.14122471,-0.84526354,-0.102686554,-0.42417887,-0.056950103,-0.013891049,-0.043740742]],"activation":"σ","dense_2_b":[[0.021066276],[-0.18323943],[-0.08896128],[-0.059529945],[0.01516111],[-0.03864309],[-0.01915316],[0.0072613885],[-0.13141903],[-0.1963338],[-0.20056123],[-0.0918762],[-0.09109566]]},{"dense_3_W":[[-0.5145814,-0.15164766,0.41466355,0.5054458,-0.56660354,0.37653998,0.2958398,0.1300162,0.15582272,-0.14694406,0.089647524,0.0200251,-0.6487758],[0.18533824,-0.14857687,0.36485723,-0.25733942,-0.5232801,0.39276004,0.36414713,-0.54408604,-0.4820063,0.19759995,-0.12671192,0.39148358,0.189427],[0.5235357,-0.23839255,0.41131777,-0.43199104,-0.042662866,-0.042696618,-0.30467755,-0.119463064,-0.49081296,0.2406254,-0.07923712,-0.0021057576,-0.42410713]],"activation":"identity","dense_3_b":[[-0.036107603],[-0.036152013],[0.03689696]]},{"dense_4_W":[[-0.48288086,-0.87119794,0.8186898]],"dense_4_b":[[0.0358588]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.079519],[1.117335],[0.32821873],[0.04513038],[1.1160785],[1.1158687],[1.1147403],[1.0893666],[1.0659956],[1.0314285],[0.99783367],[0.04497426],[0.044967793],[0.044959538],[0.04481279],[0.044600893],[0.044237226],[0.043830905]],"model_test_loss":0.05013991519808769,"input_size":18,"current_date_and_time":"2023-08-06_08-46-45","input_mean":[[24.945726],[0.056781527],[-0.006332743],[-0.0054867254],[0.057909872],[0.057552766],[0.05728289],[0.054190118],[0.05235296],[0.048357345],[0.0448629],[-0.005489833],[-0.005468405],[-0.005448704],[-0.005441959],[-0.0055107307],[-0.0055533946],[-0.005588048]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-1.3742944],[2.0560386],[0.070786394],[0.08766052],[-7.2637663],[4.9462605],[0.020425294]],"dense_1_W":[[-0.88963157,0.47497272,1.1810282,0.6939777,-0.36621186,1.347931,-0.7933228,0.85621536,0.66951233,-0.11786804,-0.6730566,0.112765215,-0.28919625,-0.33895963,-0.62124485,0.25326887,0.21473351,-0.12489331],[1.223516,-0.036567718,-1.247157,0.09799731,-0.97558075,0.16902182,-1.0449882,-0.046705905,0.29223862,0.30116007,-0.09839103,0.46722287,-0.0449582,-0.39868206,0.07668579,-0.11536017,-0.0691049,0.10267897],[0.018545184,0.81794965,3.4399781,0.052234847,-0.4958513,0.38696352,-0.638153,0.87363166,0.86702484,0.7031613,-1.9006683,0.85754114,0.8998447,-0.52486235,-1.0076646,-0.66781485,0.2555468,0.17366274],[0.0037442108,1.4584165,0.0061913775,0.24082592,-0.7234466,1.0945269,-0.21835686,-0.038823094,-0.20537247,-0.4526858,0.3522938,0.7368147,-0.4907756,-0.72209734,-0.3003073,0.24139397,-0.27028123,0.28593597],[-3.720445,0.5471661,-2.9256604,-0.84999114,-0.35371152,-1.650107,-0.30913082,-1.5157434,-1.4253404,-0.5012027,1.8229349,-0.22352915,0.07850824,1.2852895,-0.17709053,0.0015369024,0.4303836,-0.3013633],[2.7063103,0.4795686,-2.1412866,-0.37747622,-0.52522975,-1.1443468,-0.3860132,-0.81000876,-0.8656079,-0.38408586,1.1732165,-0.33476815,0.35176495,0.67967117,-0.24029131,-0.15793729,0.59702957,-0.33229384],[0.003850781,1.0522044,0.0023779364,1.4077666,-0.2233461,-1.323892,0.2490657,0.9962225,-0.21043883,-0.48657963,0.0066762604,-0.8950598,-0.65639627,-0.10381974,-0.033756495,0.3061354,-0.09620744,0.075370125]],"activation":"σ"},{"dense_2_W":[[0.01117936,0.6720228,0.39750826,0.30468678,-0.34063298,0.11394216,-1.026796],[-0.07938874,-0.29046267,-0.15366286,-0.94418544,0.72881997,-0.072467156,1.1634737],[-0.7841681,-0.38053507,-0.48102236,-0.7339148,-0.94196475,-0.09320883,0.17724545],[-0.11575878,0.41173506,0.7931331,0.7659729,0.45459372,-0.4762705,0.04162107],[-0.54039043,-0.6239058,0.12097131,-1.0940313,0.6270558,0.8035503,0.8422599],[-0.006883268,0.1846561,0.4628913,0.89182067,-0.281233,-0.5460564,-0.49594778],[-0.37237987,-0.50528663,-0.34381047,-0.9888458,0.66827786,0.75729847,0.9049922],[-0.6351278,-0.39599782,-1.7942646,0.2172901,1.2180948,-1.0186263,-0.29467586],[0.098499954,-0.7321613,-0.4204465,-0.5589947,-0.49682683,0.02701407,-0.56642413],[-0.055568255,-1.0158917,-0.13512869,-0.75265217,0.32634935,-0.10900366,1.1009233],[0.9196104,-0.29001886,0.27778128,0.40752462,-0.71603805,-0.78771234,-0.2509219],[-0.27494332,-0.27294615,-0.87608117,-0.5456548,0.23442413,0.46402624,0.4014235],[-0.0657572,0.39627385,-0.032163464,0.37446278,0.30043706,-0.3939967,-0.17288771]],"activation":"σ","dense_2_b":[[-0.12896457],[-0.06757774],[-0.29207176],[0.057776056],[0.03819644],[-0.0075618257],[0.022483658],[-0.30520216],[-0.30780953],[-0.22291888],[0.073764615],[-0.11618854],[-0.0932309]]},{"dense_3_W":[[-0.20723751,0.46280366,0.37977389,-0.28764504,0.56071246,-0.42746708,0.743715,-0.41921702,0.39859435,0.35315046,-0.18542276,0.28128248,-0.18067148],[-0.6656129,-0.15142722,-0.022595402,-0.48696524,0.37018472,-0.6183299,0.50862163,0.035134673,-0.46468532,0.35520592,-0.6777795,0.2590716,0.46181098],[-0.32565305,0.33916017,-0.4280441,-0.21963115,0.6359937,-0.44887698,0.2442765,0.13551079,-0.47778323,-0.4541174,-0.59640217,0.13698937,-0.27695638]],"activation":"identity","dense_3_b":[[-0.07102677],[-0.02868969],[-0.030784609]]},{"dense_4_W":[[-1.024929,-0.3087716,-0.3174253]],"dense_4_b":[[0.053275082]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.167076],[0.8396103],[0.39224938],[0.038149882],[0.83500266],[0.8364939],[0.83795094],[0.8280286],[0.82101065],[0.80936265],[0.79514086],[0.03816296],[0.03813872],[0.0381162],[0.037860528],[0.037643477],[0.03726596],[0.036896862]],"model_test_loss":0.019166288897395134,"input_size":18,"current_date_and_time":"2023-08-06_11-19-09","input_mean":[[24.623522],[0.012142224],[-0.0077460455],[-0.0040752436],[0.01259905],[0.011912992],[0.011499013],[0.008575823],[0.006231978],[0.001843956],[-0.0011071449],[-0.0041566766],[-0.004162808],[-0.0041667568],[-0.0041206917],[-0.004187086],[-0.004389174],[-0.0045910473]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.10681055],[-0.05877009],[-5.810432],[0.108804524],[5.817238],[-1.4135033],[-0.04275369]],"dense_1_W":[[-0.010944928,0.298581,-0.0004137291,0.46320775,-0.68514436,1.5652411,-0.62197584,-0.70986384,-0.07209713,0.14426921,0.09893353,0.2957121,0.24033338,-0.63492715,-0.24635397,0.21067435,0.16446242,-0.4790833],[-0.002262276,-0.7669907,0.0011565682,0.2969979,0.11738408,-1.199179,0.32905388,0.35275638,-0.34200913,0.22103965,-0.188085,-0.00050096336,-0.36091766,0.18886286,0.356193,0.50661796,-0.18447432,-0.3530909],[-2.7729337,-0.046491493,-2.223908,0.51880556,-1.5391709,-1.8928696,1.8811203,0.22442053,-0.20638244,0.44581792,-0.10464485,-0.11026335,-0.41476744,0.71887964,-0.6184063,0.07461815,-0.70264786,0.5291843],[0.088751696,-0.7015499,-2.262332,0.07993792,-0.5452428,0.36403584,-0.888494,0.26214746,0.52286375,0.47499555,0.12439757,0.32842526,-0.22486946,-0.2082452,0.2083624,0.20134373,-0.26366135,0.040187743],[2.7838297,0.36513317,-2.2177417,0.17293313,-1.3490273,-1.395796,0.7361196,0.024529908,0.0147317415,0.50988925,-0.16947655,-0.14311421,-0.13544203,0.6211999,-0.28396562,-0.19654925,-0.4721205,0.44046035],[-1.0456268,0.006558085,0.029179003,-0.24681818,0.33209732,-0.31439346,1.0280732,1.6322477,0.33988294,-1.1288414,-0.7784953,-1.3079332,-0.922044,-0.7579679,-0.7932985,0.090359144,2.2930832,3.7051785],[-0.032393374,0.15797108,2.6865292,-0.022740832,0.7215196,0.9335919,-0.9160322,0.63953984,-0.10847628,-0.41109005,-0.58336747,0.8728414,0.2319681,-0.77523047,-0.6650054,-0.19625007,-0.0422657,0.4323157]],"activation":"σ"},{"dense_2_W":[[-1.0469242,2.310652,2.5330374,-1.1560289,0.87019974,-0.24008566,-2.4145112],[-1.5431111,1.6602669,1.4227277,0.44263628,2.124669,-0.881401,-1.636305],[-0.7812676,0.3887846,0.046831988,-0.0021416398,0.0068075457,0.26359168,-0.40856928],[0.5853211,-0.020535953,0.1977803,0.11166494,-0.7388882,-0.6265164,0.19296904],[-1.4384844,-0.07708128,-0.62513274,0.1822617,-0.83729374,-0.20433801,0.08106154],[0.79002935,-0.51513207,-0.17725268,0.70090765,-0.37455943,-0.00461776,0.6140211],[0.38233972,0.11824663,-0.048423085,-0.22234191,0.071728714,0.09328836,0.5405535],[1.0066482,0.12065403,-0.67822254,0.91310203,0.3381496,-0.46563134,0.6765602],[-0.058819644,0.04884941,0.44360304,-0.16011114,-0.493316,-0.18134312,0.31395072],[-1.1391008,1.2845155,0.65725374,-0.75513005,1.1359249,-0.5923027,-0.46509168],[-0.28455976,0.122011006,0.19924502,-0.016063396,-0.19426562,-0.7366286,-0.30496517],[-1.1961275,-0.44696903,0.2981926,-0.6047452,0.60021174,0.7954056,0.67303944],[0.66179645,-0.35565352,0.4263759,-0.23354627,-0.5218455,-0.14847569,-0.45979464]],"activation":"σ","dense_2_b":[[-0.70381194],[-0.41715994],[-0.18704335],[-0.20373428],[-0.23588026],[-0.022451308],[0.010537296],[0.10221664],[0.014627381],[0.060474735],[-0.033638965],[-0.051280532],[-0.20772089]]},{"dense_3_W":[[0.15796849,0.6079072,0.5830924,-0.5528727,-0.1478945,-0.27996355,-0.30358565,-0.6117205,0.22281085,0.6154891,0.0165758,0.616245,-0.5880501],[-0.1846488,-0.46482992,-0.33469623,-0.15623315,-0.20466302,0.642436,0.34555972,0.60815287,0.43956748,-0.5986671,0.3041771,-0.26802206,0.03272353],[-0.88071394,-0.01339668,-0.4710771,-0.08369313,-0.47736472,-0.29117015,0.5252153,0.36675686,0.37659007,-0.38053805,0.07111416,-0.030936832,-0.3208197]],"activation":"identity","dense_3_b":[[-0.04642651],[0.037014484],[0.055794742]]},{"dense_4_W":[[-0.5493109,0.48931855,0.5176042]],"dense_4_b":[[0.04616592]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[7.1964235],[0.87585396],[0.34334365],[0.04189015],[0.88570154],[0.8828632],[0.8788816],[0.85152715],[0.8326557],[0.8105437],[0.790872],[0.041831378],[0.04184441],[0.041850727],[0.041653063],[0.041487437],[0.041109927],[0.0406368]],"model_test_loss":0.016751321032643318,"input_size":18,"current_date_and_time":"2023-08-06_13-52-18","input_mean":[[27.281948],[0.057562165],[0.025426663],[0.001435362],[0.049740613],[0.051872276],[0.053928934],[0.06504589],[0.07349952],[0.08201744],[0.088106535],[0.0013536362],[0.0013746973],[0.001394585],[0.0014019185],[0.001435841],[0.0014179434],[0.0013371226]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.0041493755],[0.21777502],[0.7115575],[-2.2624984],[0.10148076],[-1.9139864],[-2.6148589]],"dense_1_W":[[0.0027682746,-0.5923534,-0.0008324875,-0.96639884,-0.43687794,1.0992304,0.44394565,-0.15681875,-0.19448969,0.23627451,0.027064066,1.0438472,0.38998574,-0.3910353,0.07241692,-0.3872127,0.24487913,-0.00981091],[-0.0063605076,0.41579154,4.60037,0.15178576,-0.41990525,-0.9291791,-1.8990772,-1.2513685,1.3644165,1.6527833,0.822613,0.6267062,0.3986885,-0.65917814,-0.68864816,0.038168486,-0.43694118,0.5313064],[0.1826715,0.21753219,2.6482086,0.49831605,0.04197241,0.48248503,-0.85676134,-0.088123225,0.5933527,-0.101084374,-0.07996661,0.39820936,-0.25201222,-0.5013944,-0.18441774,0.085484736,-0.20741902,0.15278186],[0.20413034,0.7558973,0.0039974884,0.09515875,0.023952896,0.12318843,-0.24863702,0.28330338,0.598279,-0.0031794424,0.12692909,0.26882735,0.002343814,-0.20356114,-0.4958486,-0.2599618,-0.3243958,-0.15502147],[0.0008160921,-0.75155866,3.2958338,0.18005188,-0.48001406,-0.37221822,-0.014907395,0.34556574,-0.36695525,0.5220802,0.9252095,-0.6326275,0.31536806,0.40089336,-0.24786693,-0.16599582,0.26964852,-0.11618827],[-0.6374511,0.50671804,3.4275095,0.45084175,0.014429362,0.16759996,-0.40217194,-0.1596027,0.27413476,-0.020348325,0.03291187,0.29519597,0.0606238,-0.77494323,-0.04082934,-0.019097991,0.021767832,0.017387142],[0.24087234,-0.5286611,-0.0010711186,0.50206137,-0.37612498,-0.065321624,0.3152248,-0.3156515,-0.31909347,-0.5960725,0.07865838,-0.57626325,-0.28874642,0.36706463,0.55150944,0.021375967,0.53079313,0.0685934]],"activation":"σ"},{"dense_2_W":[[-0.61061996,-0.3219788,-0.61355484,-0.41679764,0.9514292,0.089833274,-0.08153515],[0.5216678,0.35865775,0.14493388,0.75064963,-0.9559691,-0.11178071,-0.26124665],[-0.07039463,-0.54774076,-0.7926992,-0.28961974,0.25917596,0.06013633,0.6089615],[-0.29096878,-0.55007404,-0.6435847,0.022112146,0.31680974,-0.22504552,0.35249886],[-0.6804567,-0.94920105,-0.8136485,0.3378733,0.597489,0.46872833,0.28344125],[-0.8909486,0.17668937,-0.50494355,-0.51266,0.76238817,-0.08368523,0.21360965],[-0.08500846,-1.3190831,-0.40328535,0.17221951,0.9102355,-0.42406878,-0.14185876],[0.41169032,0.12483639,-0.43139625,1.0178162,-0.7741975,0.49720922,-0.0029358894],[-0.11413294,0.35335183,0.5509884,0.60089856,-0.07613763,-0.18951175,-0.5859379],[-0.30574977,0.66385657,0.29187888,0.15835138,-0.13989422,0.93255055,0.16954228],[0.9125405,0.33926046,-0.45827863,0.20637102,-1.3337029,0.99624145,-0.6220122],[1.0066077,0.5247419,0.3793085,0.006325064,-0.7290911,-0.32310325,0.17187376],[-0.6349526,-0.62067527,-0.291574,0.05529339,0.7121756,-0.08375974,0.22644123]],"activation":"σ","dense_2_b":[[0.04084762],[-0.06363596],[0.024858473],[0.10673008],[0.13199006],[0.10104594],[-0.008044478],[-0.10162189],[-0.15080203],[-0.11178794],[-0.24866438],[-0.17219713],[-0.008406249]]},{"dense_3_W":[[0.40549794,-0.4494019,0.2861901,0.37104332,0.5890352,0.58301944,0.40222168,-0.49054152,-0.31034032,-0.07984426,-0.5973653,-0.20854333,0.5224267],[-0.6481895,0.81970197,-0.5651685,-0.54807013,-0.5982727,-0.21111657,-0.7437358,-0.18910314,-0.22034706,0.69472176,0.7825804,0.5047144,0.30723065],[-0.2815957,-0.25135168,-0.03530872,-0.47208393,-0.14322938,0.72277945,0.027914466,-0.113597095,-0.31811848,0.057283014,0.22687551,0.074457414,0.35829133]],"activation":"identity","dense_3_b":[[-0.064762406],[0.042542093],[0.06525171]]},{"dense_4_W":[[-1.0957879,0.49216008,-0.0023324802]],"dense_4_b":[[0.054476205]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.603165],[0.968196],[0.31648555],[0.043116625],[0.97207046],[0.97122186],[0.9696193],[0.9440986],[0.9209154],[0.89170784],[0.8635297],[0.0430813],[0.043076806],[0.043065626],[0.04281562],[0.042584687],[0.0422511],[0.041811552]],"model_test_loss":0.0409439355134964,"input_size":18,"current_date_and_time":"2023-07-18_02-56-25","input_mean":[[26.58399],[0.02317232],[0.002863659],[-0.0103310775],[0.023948237],[0.024388459],[0.024497893],[0.02269405],[0.02217117],[0.02469916],[0.02554692],[-0.01046288],[-0.010425196],[-0.010389729],[-0.0103868665],[-0.010423806],[-0.010380345],[-0.010442573]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[1.7315183],[-2.0931118],[-0.08195505],[-0.07830412],[0.17271917],[-4.8443527],[1.3409065]],"dense_1_W":[[1.3492318,0.050542787,-2.0778215,0.23633496,-0.18946455,0.08569419,-1.1538246,-0.56782997,-1.1068271,-0.28026178,0.6351039,-0.5325991,-0.16680008,-0.6554269,0.7481424,0.39339453,-0.037751142,0.12015114],[-0.8597578,1.2366588,1.7126143,-0.63454264,-0.43808976,0.8164015,-0.69233084,0.61550444,0.9666506,0.42250025,-0.7908081,0.5167161,0.30983937,0.048737403,-0.14529826,0.22033516,-0.09019369,-0.3203758],[0.051401302,1.1819376,5.170329,-0.33289638,-1.3051468,0.29249665,-0.37950587,0.86728233,1.2912674,0.83467674,-2.1016138,1.439997,0.83915204,0.022718783,-1.1455536,-0.6881879,-0.294737,0.1764151],[0.13776821,-0.616747,-0.0515103,0.09284325,0.5059833,-2.2745788,0.8794392,0.23675422,0.050319634,-0.16485108,0.022945715,-0.55973744,-0.19152954,0.5871755,0.48204577,0.43679258,0.084300846,-0.48278216],[0.32304537,-0.17996605,-0.050503615,0.057818476,-1.1874164,0.93133926,-1.135065,-0.2207176,0.5842914,0.26639673,-0.4034041,0.74324435,-0.26271045,0.25194508,-0.33687708,-0.11164587,-0.21532725,0.31314066],[-2.675871,0.18930794,0.004894184,0.36429468,-0.28649125,1.037061,-0.8956486,-0.2692209,0.13867386,0.14524221,-0.07555664,0.13616084,-0.29872495,0.0028986863,-0.50115776,0.32039323,0.062777095,-0.08310216],[0.82229155,0.4732484,1.5131059,0.062322427,-0.036212314,0.24138685,-0.46806708,0.7292275,1.3152804,0.55548984,-1.013016,0.65633196,0.2736623,-0.5331334,-0.49591142,0.22494234,0.028473936,-0.29246685]],"activation":"σ"},{"dense_2_W":[[-0.07206964,-0.69786,-0.3486531,0.48960513,-0.0696577,-0.49357864,0.2556807],[-0.2884806,-0.41657805,-0.3665416,0.15454409,-0.028397316,-0.2936546,-0.16180961],[0.803782,-0.27441671,0.8961105,-0.4721216,0.7000408,0.5584937,0.4574221],[0.2588418,0.21096861,-0.08602997,-0.7243836,0.6489519,1.1368387,-0.47698346],[0.5214179,-0.4379109,-0.10204686,0.5734521,-0.5929383,-0.35884753,0.059597526],[0.7346847,-0.71839786,-0.044602457,-1.2187109,-0.13774236,-2.6510515,-0.51899457],[-1.7133079,-4.6997886,-0.25009632,0.4603738,-0.87082464,3.0611444,-3.0963175],[-0.048846636,0.91797,-0.31641433,-0.20087503,0.10279341,0.38753894,-0.038774494],[0.15197727,-0.81371284,-0.12212125,0.7514405,0.32369855,-0.2520269,-0.50490427],[0.25197092,0.8954266,0.3530475,-0.9002343,-0.6774651,0.55687094,-0.2753792],[0.9715217,0.11435808,0.7430187,-0.18673508,0.24399346,0.75376093,0.18281539],[0.07828533,0.40924087,-0.0052447147,-0.87007385,-0.16614385,0.75889,-0.09113192],[-0.42538083,-0.6130854,-0.18442006,0.81436867,-0.4363763,-0.4421119,-0.20321086]],"activation":"σ","dense_2_b":[[0.21890728],[-0.08548715],[-0.08091435],[-0.101685315],[0.10115151],[-0.14451991],[0.54433477],[-0.21013816],[-0.0104931025],[-0.4982431],[-0.1676464],[-0.31867242],[0.17811179]]},{"dense_3_W":[[0.7400645,-0.16807431,-0.12028546,-0.58515614,0.34891638,-0.5609874,0.7747953,-0.06871472,-0.044812664,-0.26168486,-0.2864116,-0.4026426,0.7852125],[0.13187477,0.58926487,-0.62580276,-0.043964617,0.5385393,0.07869039,0.43877578,-0.6161494,0.4016125,-0.06597045,-0.4159714,0.23538205,0.7423825],[0.11068092,0.26080158,0.051800307,0.3499296,-0.56061244,0.5514093,-1.840586,-0.14135396,-0.050766982,0.4223278,0.39574477,0.30749676,-0.8040509]],"activation":"identity","dense_3_b":[[0.034426726],[0.022138074],[-0.039126255]]},{"dense_4_W":[[-0.8798318,-0.64988774,0.49071792]],"dense_4_b":[[-0.03172631]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.67131],[1.0606116],[0.3141555],[0.047306955],[1.0598024],[1.059542],[1.058586],[1.0353245],[1.0132898],[0.98134106],[0.9488499],[0.0472228],[0.047223553],[0.04722212],[0.047007233],[0.04672726],[0.046201415],[0.045611456]],"model_test_loss":0.030893046408891678,"input_size":18,"current_date_and_time":"2023-08-06_16-03-17","input_mean":[[24.826109],[-0.0015730427],[-0.0024845933],[-0.006542893],[-0.0021615939],[-0.0027822834],[-0.0034116579],[-0.002972936],[-0.0019527061],[-0.0018800201],[-0.00055315095],[-0.0066206236],[-0.0066137947],[-0.0066051884],[-0.0065096957],[-0.00645474],[-0.0064896797],[-0.0065450436]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[2.0666385],[-2.1265264],[-0.009373159],[2.1585333],[0.037653618],[-0.017867725],[3.2116225]],"dense_1_W":[[1.1914837,-0.5645276,6.58303e-5,-0.11589882,0.37734768,-0.27381,-0.19863185,0.824706,0.4373293,-0.20449224,-0.15180561,0.35472932,0.3237236,-0.10154249,-0.578405,-0.2772973,0.10017485,0.25640446],[-1.0303509,0.29729548,1.9708672,-0.5768468,-0.028354015,0.42035812,0.3361436,0.3343814,0.37328744,0.8638404,-0.2677837,-0.15447378,0.49736965,-0.08687722,-0.66492444,-0.032154877,1.1899335,-0.48110774],[0.01983638,-0.24834296,-3.3855686,0.6749708,0.07187869,-0.024789268,0.37607005,-0.47755113,-1.0089839,-0.81658024,1.3305435,-0.97285813,-0.6226301,0.6422294,0.9579225,0.49827808,-0.48402268,-0.29993263],[1.2045997,0.62863886,0.0019727307,0.17700921,-0.8630537,0.98878884,-0.16361095,-0.29803157,-0.7254775,-0.15229262,0.3722205,-0.22486125,-0.06222317,-0.37571073,0.4424153,0.06388154,0.5859267,-0.56900877],[-0.013524671,0.31598365,0.0006406281,-0.25858632,-0.27701482,0.7357323,-0.35521507,-0.4483451,0.44878978,0.2829642,-0.2362616,0.62810344,-0.121423006,-0.38609955,0.0749125,-0.17727378,-0.38110465,0.35318217],[-0.0052065155,-0.5593012,0.002159691,-0.08422028,0.23008162,-1.022624,0.32955936,0.431307,-0.1006895,-0.030441636,-0.08401783,-0.3437167,-0.22863047,0.7158902,-0.17199361,0.09197799,0.19186375,-0.1833609],[1.4867296,-0.15920977,2.3333318,-0.23857078,-0.0040042745,1.2148064,0.10699171,0.22722282,0.5444096,1.349413,-0.47866884,0.40205494,-0.11314535,-0.5150614,-0.4630753,0.030254288,0.7952247,-0.2603006]],"activation":"σ"},{"dense_2_W":[[-0.17723514,-0.23341042,0.57393736,-0.4927488,-0.927548,0.58540887,-0.5868284],[0.66296387,0.29695207,0.20052847,-0.62608564,-1.0550549,1.0728254,0.0891513],[-0.16829221,-0.0679403,-0.36510104,0.23858383,1.1178643,-0.6089432,-0.31060657],[-1.8900537,-0.27381107,-0.5241167,-0.7089269,-1.1469728,-0.0641088,-0.41346708],[-0.51642907,-0.43836012,-0.31121448,0.47541407,1.169322,-0.2952497,-0.37012473],[0.8616518,0.12941492,-1.1983941,1.7177894,1.0778812,-1.3677566,1.5917606],[-0.407816,0.042307053,-0.53986156,0.5610484,0.7355027,-0.8320296,0.05677452],[1.4589415,-1.2519528,0.8708634,0.6212387,-0.9204132,1.7146589,0.13543351],[-0.055101812,-0.19029272,0.013408977,-0.46497017,-0.92594385,0.9864242,0.13991055],[0.5894197,-0.28149623,0.41216704,0.216877,-0.51424307,0.83235174,0.14314461],[-2.6734824,2.668342,-1.7240498,-1.0608208,0.54306996,-1.3263385,-0.19313851],[-0.82157856,-0.23220612,1.0158018,-2.0316136,0.06581752,0.7996686,-1.5219475],[0.5740489,0.18412288,-0.14555724,-0.5847231,-1.1873335,1.0647899,0.008006016]],"activation":"σ","dense_2_b":[[-0.29801813],[-0.25020108],[-0.022192547],[0.026752593],[-0.027117254],[0.30578387],[0.053404447],[0.23486306],[-0.07118241],[-0.09914868],[-0.18535325],[-0.32233533],[-0.04571355]]},{"dense_3_W":[[0.43566743,0.43129563,-0.6076586,-0.46461692,-0.40563574,-0.60545087,0.47773033,0.15361485,0.54101425,-0.14459106,-1.1077414,0.30648795,0.5856095],[0.07340811,-0.49523342,0.6213182,0.19087262,0.06972069,0.8834424,0.5443848,-0.50467765,-0.38180703,-0.4638601,0.65264165,-0.8575672,-0.5819035],[0.33573294,0.619451,-0.046216093,-0.66367626,-0.64414126,-0.084879674,-0.60994107,0.5997581,-0.2552046,0.10798684,-0.29609105,0.45087123,-0.3904423]],"activation":"identity","dense_3_b":[[0.064981125],[0.043677732],[-0.029785963]]},{"dense_4_W":[[-0.35612056,0.9586297,-0.2525408]],"dense_4_b":[[0.03888263]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.118591],[1.012343],[0.30252126],[0.04747358],[1.0110137],[1.0105052],[1.0093575],[0.98329234],[0.96060896],[0.93123335],[0.90310067],[0.04717917],[0.047231637],[0.047265887],[0.047122534],[0.046797972],[0.046346754],[0.045773227]],"model_test_loss":0.03557046875357628,"input_size":18,"current_date_and_time":"2023-08-06_17-27-23","input_mean":[[24.204573],[-0.024622405],[0.0015252293],[-0.0032674451],[-0.023904368],[-0.02417538],[-0.024461435],[-0.023585865],[-0.021832237],[-0.020321053],[-0.019801456],[-0.0032891335],[-0.0032849729],[-0.0032711467],[-0.0032068372],[-0.0030881383],[-0.0030222118],[-0.0030280964]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.7401334],[-4.296874],[0.051964045],[-1.5580355],[0.59131175],[0.9876563],[-0.059906512]],"dense_1_W":[[0.39198807,0.14618506,-0.0005603469,0.5384161,0.583554,0.90904,-0.9356289,-0.347572,0.054832783,-0.01266942,0.20926124,0.40405145,0.26462293,-0.5968776,-0.4170079,-0.24383324,-0.36820978,0.23693004],[-1.4237757,0.44019157,1.7405101,0.107415356,0.73406404,0.38215244,-0.6587738,0.6303781,0.9956125,0.3772358,-0.60114783,0.28546256,-0.21894793,-0.5291562,0.028785085,-0.0466827,-0.02260468,-0.14874777],[-0.011811628,0.5467675,3.1406043,-0.5367604,0.16197537,0.72486085,-1.0583096,0.6693704,0.23038347,0.16671906,-0.6996211,0.9920219,0.24508859,-0.8121351,-0.11340726,-0.124802016,0.0040163123,-0.03318359],[-0.89146703,-0.43514004,-1.1770084,-0.113605686,-0.2791039,-0.6336671,0.52206266,-0.37517008,-0.583943,0.13963065,0.10783694,-0.019744247,0.09936149,0.34897432,0.077529624,-0.12277383,-0.21316914,0.31482303],[-0.5459662,0.6174858,-1.5395053e-5,0.23975974,0.1680196,0.6688479,-0.5717515,-0.2257085,-0.37668842,0.37691414,0.016556103,0.5753194,0.43969232,-0.63690066,-0.79015404,0.094646364,-0.26196766,0.13351451],[1.219549,0.6434229,1.5366393,0.29663944,-0.1569686,0.1139518,1.0193243,0.13182868,0.1257156,0.4684622,-0.33492422,-0.1404477,-0.20704125,0.21394883,-0.60481495,0.20762968,-0.2884613,0.04056693],[0.0022561958,-0.10740119,-2.973164,-0.24940717,-0.11246171,-0.017514866,-1.2795074,-0.021132804,0.8575916,0.07600141,-0.029272523,0.5688567,0.09931985,-0.10324848,-0.2901189,-0.37775588,0.39807785,0.3334187]],"activation":"σ"},{"dense_2_W":[[0.5666278,0.1050696,0.5731484,-0.6657482,0.57242334,-0.6813752,0.650503],[-0.3233396,-0.44350263,-0.16690572,0.123169236,-0.8172176,0.5242723,-0.45013273],[-0.1649446,0.012782408,-0.80965835,0.28827253,-0.6245722,0.2006493,-1.087686],[0.96152276,0.35989368,0.22035821,-0.80648047,0.4686015,-0.6329297,-0.0023717843],[-0.11855806,-0.91366136,-0.90975124,0.47533065,0.41179633,0.05490874,0.1064329],[-0.73532724,-0.6584749,-0.5160826,0.34969312,0.062357668,0.13114415,-0.32903922],[-0.72250515,1.2826318,-1.2006475,0.9427826,-1.371755,0.20815341,-1.0248761],[-0.4109795,-0.64342046,-0.22680378,0.12261962,-0.15706545,0.4520076,-0.09530116],[0.5485182,0.3166386,0.60656774,-1.0352023,0.35866728,-0.37757927,-0.37554651],[-0.7688577,-0.31978396,-0.42268845,0.59393954,-0.4435929,0.47090167,-0.31540674],[-1.0920306,-1.0558451,0.11860894,0.49140632,-0.10677766,0.47734076,-0.398253],[-0.030640373,0.41173688,-0.98270494,0.5081087,-0.5071277,-0.3028872,-0.8938836],[0.4381069,0.943475,0.6218088,-0.742083,-0.38795125,-0.054727156,0.31301942]],"activation":"σ","dense_2_b":[[-0.09199342],[0.03208081],[-0.04846608],[-0.1532128],[-0.012221367],[-0.15162058],[0.14393868],[-0.17525378],[-0.38610223],[0.03283754],[0.02243522],[-0.046554077],[-0.10267613]]},{"dense_3_W":[[0.76260686,-0.14955303,-0.07697563,0.795136,-0.5793355,-0.39125565,-0.850312,0.054931063,0.53414947,-0.3139965,-0.5467518,-0.38860124,-0.034747276],[0.26200438,-0.37439495,-0.4377097,0.17163786,-0.30471745,0.30637982,0.06850715,-0.34865668,-0.35463956,-0.1303642,-0.39582416,-0.5477129,0.69954056],[-0.38012898,0.3671737,0.4092681,0.1147916,-0.33737427,0.28946012,-0.2992325,-0.067024715,0.4072253,-0.31171417,0.33009604,0.12577192,-0.27651602]],"activation":"identity","dense_3_b":[[0.05052462],[0.061525963],[0.01540329]]},{"dense_4_W":[[1.5063055,0.714805,0.00043001983]],"dense_4_b":[[0.047914207]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.957924],[1.0602055],[0.3483377],[0.044007655],[1.0696881],[1.0669217],[1.0629013],[1.022558],[0.99117285],[0.95355713],[0.91828537],[0.043950602],[0.043960184],[0.043955244],[0.04370865],[0.043465454],[0.04305762],[0.042518806]],"model_test_loss":0.03983215242624283,"input_size":18,"current_date_and_time":"2023-08-06_20-30-54","input_mean":[[24.622238],[0.017521156],[0.00757826],[0.0011451022],[0.016594924],[0.017204277],[0.018039215],[0.021406805],[0.02439622],[0.026556514],[0.028528417],[0.001193815],[0.0011970581],[0.0011935198],[0.0011202878],[0.001060377],[0.00095698517],[0.0008617843]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.07002942],[-0.16705358],[-2.9611764],[0.34919006],[0.515888],[-3.0217357],[-0.3703743]],"dense_1_W":[[-0.001037722,-0.23034889,0.00070932484,0.19091949,-0.35902733,-0.8921682,0.30972338,0.3144616,0.13060336,-0.1961081,-0.1309547,-0.729507,-0.079179555,0.49697357,0.02997426,0.37342516,-0.24386461,0.3236473],[0.9159012,-0.010550688,-2.401509,0.30691516,0.05056717,0.5097978,-1.1722806,0.17247927,0.34559217,-0.24330676,0.04055541,0.46409106,0.20967084,-0.82562864,-0.4943086,0.2081027,0.2530364,-0.0926206],[-0.93078494,0.5642841,2.5035574,-0.35270843,0.18849362,0.87544584,-0.2044937,0.73466784,0.47539774,0.07997192,-0.76057374,0.3159093,0.40554965,-0.5378864,-0.09868344,-0.3483285,0.16861473,0.19001411],[-0.8801367,-0.10308599,-2.2299495,0.04202499,-0.05023124,0.13920471,-0.78326404,0.39430746,0.23543742,0.14010431,-0.23845911,0.2567459,0.059797786,-0.57988393,0.113685064,0.14517607,0.16730362,-0.17216507],[0.14910753,-0.31030202,-2.4019601,0.1968272,-0.40163112,-0.23238596,0.6703164,0.07859055,-0.14317967,0.07362763,-0.04258365,-0.509903,-0.38269565,0.7657585,0.030617407,-0.11210979,0.30991936,-0.27056235],[-0.9013445,-0.74709606,-2.4476326,0.38786903,-0.3051019,-0.585037,0.06283271,-0.3787836,-0.61694026,-0.032208323,0.70738953,-0.2658627,-0.35824144,0.5567474,-0.033071913,0.1493693,-0.014829384,-0.16828252],[0.06442954,-0.869912,-2.9056792,0.1365006,0.16463475,-0.5906101,1.1546344,-0.06482889,-0.37295368,-0.1456135,0.2937723,-0.5213806,-0.57213086,0.38927227,0.49697468,0.21409509,0.63319594,-0.7391959]],"activation":"σ"},{"dense_2_W":[[-0.17591965,-0.07106175,-0.40103337,0.56516284,-0.6760929,-0.15387549,-0.89492965],[-0.45764968,-1.0195202,-0.41464484,-0.2810938,-0.028325718,0.09300495,0.35360244],[0.8125133,-0.54840755,-0.6930447,-0.89210993,0.56695956,0.44670337,0.5310144],[-1.0358114,0.33042994,0.11012975,0.23487902,0.24800783,-0.4299027,-0.46129325],[1.2276291,-0.5162977,0.22191486,0.16638434,0.23429595,-0.22487517,0.28309682],[1.0107075,-1.0881076,-1.008768,-0.5629702,-0.05878989,0.7923787,0.7309502],[0.49559563,-0.35230458,-0.7740999,0.02204071,0.24508348,0.075914145,0.75374156],[-0.21838671,0.42116773,0.5945599,0.30151197,-0.24432571,-0.46020442,-0.33258623],[-0.021219064,-0.25157404,-0.35190338,0.0668151,-0.6102883,0.1603531,-0.79725957],[0.0735072,0.5327899,-0.13316682,0.18007801,-0.7896261,0.08766711,-0.64606833],[0.6770077,-0.8900657,-0.26981142,-0.38599125,0.09799069,0.5758287,0.66643196],[-0.82503897,0.3003343,0.15965503,0.37416932,-0.644764,0.043236665,0.19912353],[-0.9234739,0.57710344,-0.4265305,0.3661275,-0.030128404,-0.4210636,-0.7627061]],"activation":"σ","dense_2_b":[[0.07509254],[-0.45370674],[-0.08009313],[-0.21234833],[-0.08377176],[-0.056009393],[-0.10460085],[-0.003972127],[-0.21230274],[-0.0108628925],[-0.14868702],[0.04881384],[0.053917274]]},{"dense_3_W":[[-0.43450725,0.28928438,0.63958466,0.26900065,0.59471947,0.045950003,-0.08964677,0.14317968,-0.1560713,0.4362775,0.6118739,-0.48017085,-0.17556131],[0.7623459,-0.3990245,-0.53529125,0.28715876,-0.25771093,0.25057483,-0.4946012,0.14644647,-0.02983568,-0.065986775,-0.55813897,0.34047204,0.29583102],[-0.093450435,-0.42808297,0.068437345,-0.1521326,0.11618435,0.6433002,0.44079673,-0.6619756,-0.2237737,-0.65349114,-0.118622996,-0.61334574,-0.14610668]],"activation":"identity","dense_3_b":[[-0.06914952],[0.05192733],[-0.03913266]]},{"dense_4_W":[[-0.4807093,1.1989409,-1.1321285]],"dense_4_b":[[0.044341844]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.738584],[1.5957829],[0.58238095],[0.048208784],[1.5838295],[1.5881729],[1.5908173],[1.5664002],[1.5340934],[1.4806168],[1.4221525],[0.047998115],[0.04803774],[0.048071872],[0.048102442],[0.04803064],[0.047811132],[0.04743304]],"model_test_loss":0.007402807008475065,"input_size":18,"current_date_and_time":"2023-08-06_22-19-42","input_mean":[[21.779322],[-0.078570016],[-0.0073580677],[-0.0065681813],[-0.07246284],[-0.0734754],[-0.07447408],[-0.07268334],[-0.069738925],[-0.06446174],[-0.057134904],[-0.0064781737],[-0.006475137],[-0.006476324],[-0.006474212],[-0.006491243],[-0.00650736],[-0.00642134]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-2.1603358],[-0.419876],[0.084331356],[-0.07068766],[2.0145605],[-0.63310754],[1.434537]],"dense_1_W":[[-0.31878927,-0.47954968,-0.260915,-0.23391017,-0.14123324,-0.16656223,0.34148905,-0.55040246,0.048909064,-0.084660634,-0.05452977,-0.14122179,0.19401318,0.18124454,0.29322624,-0.11721254,0.058719337,0.049679324],[1.2746987,0.53341556,-0.5038306,-0.3943573,-0.3552817,0.6985798,-0.7583908,-0.071790285,0.10988926,-0.1613498,-0.43469277,0.20283195,0.37326258,-0.2713744,0.053292856,0.12493837,0.112449214,0.071374826],[-0.005748887,0.4395075,-0.023206176,-0.00010381389,0.10724853,0.79803634,-0.10418732,-0.17200217,0.07352905,-0.04382284,0.12897137,0.27188876,-0.2986032,0.1732639,-0.43260622,-0.13877538,0.108885035,0.037624177],[-0.009819267,0.7978249,3.3524475,0.21963945,-1.1893661,0.12886666,-0.12307468,-0.0057551884,0.89947134,0.2433565,-0.7049134,0.41656977,0.5013669,-0.4488184,-0.19362147,-0.21371745,-0.12667105,-0.11616998],[0.5350432,-0.6518214,-0.29382524,-0.186406,-0.17762733,-0.1445377,0.13506992,-0.35136354,0.24111918,-0.36675584,0.021335155,-0.05516007,-0.15420103,0.4554361,0.4533603,-0.34406003,0.006251238,0.1428859],[1.1166015,-0.29759768,0.48270738,0.43025842,0.0056440467,-0.4213741,0.4217568,0.15726581,0.074272975,0.1225627,0.32488325,-0.059570342,-0.34078333,0.076991476,-0.26384223,-0.06351244,0.1692961,-0.21616662],[0.098687425,-0.3278237,-0.21179028,0.0031954458,-0.20943744,-0.13822405,0.548112,-0.34726304,-0.3400807,0.25883827,-0.17620128,-0.36422935,0.52832425,-0.1289231,-0.026027037,0.18089916,0.1012807,-0.07116273]],"activation":"σ"},{"dense_2_W":[[1.3021795,-0.4139669,-0.7120532,-0.74666166,-0.18984732,0.048739053,-0.25614926],[-0.45348325,-0.5127636,-0.35794353,0.021264847,-0.73585445,0.02490475,-0.37029886],[-1.0356512,0.21161588,0.15873429,0.17991234,-0.3031208,0.07505193,-0.33505473],[1.5017016,-0.31481206,-1.1198424,-0.40624765,-0.09357655,0.51827437,-0.055450503],[-0.6468184,0.053211562,-0.6933904,-0.13317326,-0.24886934,-0.3967814,-0.6371098],[-0.41236708,0.3045984,0.51569694,0.026683038,-0.66206634,0.038440548,-0.3386708],[-0.58338356,-0.09002029,-0.13582824,0.008655593,-0.69411683,-0.21923552,-0.3192624],[-0.6897999,0.12905283,0.67996913,0.1456075,0.25029323,-0.34134966,-0.6459057],[-0.252227,0.043475367,-0.9427369,-0.14302255,-0.10663869,0.31176025,-0.35857844],[0.22877508,-0.5189181,-0.41833526,0.20187113,-0.1781152,-0.16428699,-0.2800521],[-0.65191513,0.44252837,0.6581859,0.25468537,-0.9424999,-0.32678768,-0.8593621],[0.43401113,-0.24967693,-0.281952,-0.284015,0.7110927,0.27138582,0.9720163],[-1.1512148,-0.18058608,0.45996955,-0.5937282,0.31828657,0.15207982,-0.22012103]],"activation":"σ","dense_2_b":[[0.0048766164],[-0.056708604],[-0.123050824],[-0.07202907],[-0.25869218],[-0.20529492],[-0.091088444],[-0.091022156],[-0.32449347],[-0.17546864],[-0.0612454],[0.04344016],[-0.074389376]]},{"dense_3_W":[[0.25576973,-0.575117,-0.6076316,0.36512917,-0.41574427,-0.40301278,-0.4620185,-0.5097215,0.122016355,0.3936914,-0.041409556,-0.059126735,0.07365807],[0.29514056,-0.25677466,-0.18109803,-0.030853858,-0.029449929,-0.28013232,-0.025037538,-0.4706025,0.02876151,-0.48724273,-0.6757201,0.6601352,-0.20265144],[-0.7641006,0.21497111,-0.28698337,-0.379376,-0.31239873,-0.26711258,0.02512146,-0.31214246,0.077003516,-0.18367848,0.6396449,-0.61027414,0.5836878]],"activation":"identity","dense_3_b":[[0.047669664],[0.041923303],[-0.020977087]]},{"dense_4_W":[[-0.6845342,-1.0030532,0.7527504]],"dense_4_b":[[-0.03611581]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.910586],[1.4123459],[0.59487087],[0.03911551],[1.409979],[1.4115622],[1.411603],[1.3893355],[1.3640546],[1.3232217],[1.276401],[0.0390601],[0.039079115],[0.03908953],[0.039015334],[0.038927097],[0.038650174],[0.03832818]],"model_test_loss":0.007736066821962595,"input_size":18,"current_date_and_time":"2023-08-07_01-15-55","input_mean":[[22.795855],[-0.08798489],[0.01143446],[-0.009032234],[-0.09088829],[-0.090495676],[-0.09043885],[-0.08431701],[-0.0800931],[-0.07318552],[-0.065705255],[-0.009123672],[-0.009095005],[-0.009068311],[-0.008966204],[-0.008944961],[-0.008930321],[-0.008916563]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.1817923],[-3.718042],[-0.17253013],[1.0498631],[-2.7819123],[-0.40877423],[-0.1835958]],"dense_1_W":[[-0.051857583,1.3051457,3.4929137,-0.65374345,-1.1122645,-0.24794711,-0.3011514,-0.08444903,0.8605938,0.7186169,-0.99715984,0.579954,0.45131174,-0.5857832,-0.25104427,0.36404672,0.08432625,-0.118304946],[-1.1977811,-0.475098,-0.32292378,-0.4435726,-0.21691985,-0.45479798,0.93214303,-0.6325391,-0.057171293,-0.48693532,-0.058870036,0.043592565,0.29524007,0.19475447,-0.16399422,0.17714727,0.02705515,0.09614742],[0.0504194,0.37990266,0.039530136,0.04288842,0.036023762,0.50610423,-0.04245624,-0.08900527,-0.18667571,-0.136124,0.24658443,0.4461418,-0.21306992,-0.1905496,-0.24427558,0.019992698,-0.0458097,0.082212],[1.8970265,0.3291775,-0.45923525,-0.42205855,-0.4413092,0.022868842,-0.3697922,-0.2818066,-0.4076601,-0.3907717,-0.20571287,0.6031218,-0.23714252,-0.16817166,0.07743641,0.021997932,0.611759,-0.23154868],[-0.9974602,0.15397596,0.22610018,0.036102634,0.06823634,0.6489421,-0.41508022,0.35325828,-0.10202731,0.1711457,0.28493625,0.035079315,-0.4149946,0.08604628,0.117554076,0.10761524,0.08686444,-0.2359245],[-0.28764305,0.34052572,0.18389913,-0.017938213,-0.2068081,0.2519639,-0.7214537,0.29472184,0.27933893,0.27484724,-0.15843095,-0.037846185,0.316401,-0.09005458,-0.14835708,-0.19075473,-0.03951283,0.114958726],[-0.052516285,-0.16471781,0.17191207,-0.23444073,-0.022119049,-0.24730825,0.75023305,-0.40318617,-0.34178376,0.12554757,0.39539844,0.059354424,-0.44725272,0.4979164,0.060783666,-0.0009443115,0.11399086,-0.14107631]],"activation":"σ"},{"dense_2_W":[[0.15574715,0.106084,0.6234715,0.48498833,0.24288625,0.6844518,-0.61408937],[0.5661129,-0.5984536,0.79835355,0.3082054,-0.060715023,0.26763362,-0.016118767],[0.14648265,0.21900931,-1.1337527,0.16373587,-0.9757596,0.041679647,0.65339375],[-0.11193495,0.15425135,-0.22649455,0.4248423,-0.7341563,-0.15863545,0.44211566],[0.19026476,0.5881703,-1.0570571,0.34021673,-1.0282404,-0.26504597,0.28280511],[-0.8895008,0.8121495,-0.5693253,-0.77341056,0.33465576,-0.49232218,-0.11758821],[0.9326459,-0.36728933,0.24325472,1.0141891,0.16826893,0.2829455,-0.06759766],[-0.16648382,-0.44048628,0.39915726,0.06806857,1.0963099,-0.03239437,-0.6205627],[0.2911811,0.57449996,-0.9605739,0.043008372,-0.73384374,-0.6097065,0.45541903],[0.31353498,-0.08516989,0.8531249,0.013826798,0.6559815,0.18347614,-0.7929507],[-0.016170498,-0.18118915,-0.86683124,-0.34802145,-0.47758147,0.13393015,-0.17496912],[0.091279745,0.35503078,-1.1297911,0.2600009,-0.10615289,-0.7520532,0.5357286],[-1.2284657,0.86050045,-0.034789667,-1.018808,-0.06296706,-0.028193004,-0.4022851]],"activation":"σ","dense_2_b":[[-0.05504892],[0.01253799],[-0.062120188],[-0.051010966],[-0.08326587],[-0.2394042],[0.028907817],[-0.080568254],[0.03604939],[-0.12410697],[-0.01955361],[-0.051553864],[-0.18583551]]},{"dense_3_W":[[0.63645065,0.63501835,-0.66807485,-0.52668273,-0.28929064,-0.23005038,0.43932953,0.121157095,-0.7683699,0.4412728,-0.32547268,-0.71282554,-0.4370708],[-0.30129626,0.3909303,0.29454166,-0.1705362,0.48066851,0.06491059,-0.090611994,-0.08033778,0.3795498,-0.5508733,-0.32967407,0.38930234,0.2549319],[0.005347131,-0.5191341,-0.26486373,0.12736864,0.5334262,0.5237369,0.38844875,0.003590752,-0.26281914,0.01214623,-0.24618849,-0.056392476,-0.0030399126]],"activation":"identity","dense_3_b":[[0.015747098],[-0.13919984],[-0.0075076534]]},{"dense_4_W":[[1.3023344,-0.041308355,-0.00318671]],"dense_4_b":[[0.015396652]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[6.5459266],[1.3150389],[0.55143183],[0.0433077],[1.3103489],[1.3122923],[1.3130105],[1.2928256],[1.2722898],[1.2458807],[1.2160609],[0.043061666],[0.04310888],[0.043158278],[0.04318699],[0.043118294],[0.042912837],[0.042521223]],"model_test_loss":0.008513328619301319,"input_size":18,"current_date_and_time":"2023-08-07_03-22-20","input_mean":[[28.507357],[0.10861685],[-0.013601736],[-0.0064216373],[0.110937536],[0.10975514],[0.10922218],[0.10294279],[0.09506291],[0.08270148],[0.068715945],[-0.006518178],[-0.006483864],[-0.0064613186],[-0.0065263556],[-0.0066083767],[-0.0067466046],[-0.006989514]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.09213746],[0.07837435],[-0.127023],[-3.701971],[0.02127427],[-1.6431203],[2.2172556]],"dense_1_W":[[-0.015300604,0.5825342,-0.05051114,-0.18122214,0.07876552,0.9315104,-0.6162402,0.016129851,0.010469424,-0.020838048,0.1523773,0.15082102,0.090840556,-0.28110996,-0.1849562,0.15245719,0.22167133,-0.14279774],[0.02588672,0.32077435,-0.006722575,-0.011324345,-0.5431526,0.77720726,-0.32035637,-0.036528517,0.21234833,0.12834615,-0.15494944,0.5575763,-0.31280997,0.0010270807,0.14701857,-0.5796583,-0.3692745,0.5129307],[-0.0071143424,0.15858999,0.05704565,0.18143037,0.10665202,0.79463303,-1.0030777,0.2742014,0.20928839,-0.016834116,-0.14212018,0.18155766,0.4066399,-0.36911637,-0.50523275,-0.22205615,0.03395741,0.21754928],[-0.91471785,-0.0921693,-0.48348656,-0.14060836,0.024012497,-0.018223943,-0.12564234,-0.15323682,-0.3923083,-0.38660574,-0.31491503,0.011104942,-0.050269924,-0.032277748,-0.20858657,-0.018367982,0.19149122,0.10155454],[0.002645861,-0.8126742,-2.6549594,0.3429386,-0.20882957,-0.07800046,1.2651403,0.20753327,-0.7863295,-0.38006702,0.40243247,-0.76908433,-0.23738272,0.14581157,-0.38623288,0.39540884,0.04323188,0.56106085],[-0.9343576,-0.3586926,0.48885745,-0.13841353,0.17987157,0.061989535,0.46451867,0.29794976,-0.008585158,0.35067263,0.529655,0.51325566,-0.010691093,0.24579975,-0.5215634,0.0016024356,0.093200974,-0.031658597],[0.8293412,-0.20795242,-0.4017055,-0.533866,0.06481363,-0.26879504,0.3793856,-0.471539,0.023038805,-0.48921797,-0.22237803,-0.25630578,-0.039906733,0.666029,-0.0033022463,-0.31751958,0.26048532,0.09580422]],"activation":"σ"},{"dense_2_W":[[-1.0194138,-0.4770013,-1.6248175,1.692745,0.9337828,0.8437085,-0.54136294],[-0.52307904,-0.3975833,-0.6281236,0.08257637,0.27855587,0.43421826,0.45445123],[-0.20069543,-0.41561922,-0.44643855,0.07080084,-0.5047794,0.030606043,0.30134434],[-0.47260144,-0.7754414,-0.77397937,0.25201085,-0.07254463,0.658033,0.5073921],[0.3583858,0.10549722,0.5157753,-0.14047585,-0.617101,0.01266099,-0.6511524],[-0.9189057,-1.0387809,-0.5919117,0.46444207,0.1477566,0.459492,-0.2141334],[0.6823633,0.32230988,-0.13244073,0.2521329,-0.5877716,0.24724948,-0.416414],[-1.1259369,-1.071255,-0.25267237,-0.15611424,-0.36670506,0.8724834,0.70592606],[-0.3924353,-0.48566842,-0.89685357,-0.118145935,0.5531914,-0.012460924,0.78037065],[0.22028138,0.3253433,0.69419026,-0.08042979,-0.053916857,-0.2591152,-0.7299852],[0.37642446,0.15646371,0.73757994,-0.17530896,0.03673549,-0.35259926,-0.61480165],[0.6373535,-0.17438105,0.09731847,-0.37075844,-0.66817486,0.2684939,-0.48366025],[-0.8707067,-0.44384053,-0.44201162,0.51280767,-0.21291855,0.090648316,0.46247554]],"activation":"σ","dense_2_b":[[-0.3433028],[-0.031133696],[-0.06321145],[-0.19336915],[0.029136015],[-0.03043773],[-0.08612019],[0.05573746],[0.27088183],[-0.027076768],[-0.045460623],[-0.23163527],[0.058642514]]},{"dense_3_W":[[0.25786313,0.56292504,0.20988815,-0.11078339,-0.77840126,0.58619094,0.01413026,0.5725057,0.1304814,-0.74678564,-0.2714909,0.0549931,0.36715108],[-0.81611776,-0.17429464,-0.21161298,-0.10920066,0.2845192,0.3519452,0.42357373,0.09085552,0.41325328,0.05708694,-0.14555562,0.13213179,-0.20445172],[0.19899562,0.10822825,-0.4272676,0.613673,0.33998376,-0.17425252,-0.64963627,-0.19976379,0.64160216,-0.4531084,-0.40512505,-0.49072832,0.52435446]],"activation":"identity","dense_3_b":[[-0.05059222],[-0.15303764],[-0.035763595]]},{"dense_4_W":[[-0.9634106,0.023092944,-0.42669016]],"dense_4_b":[[0.04803448]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.469145],[1.4993936],[0.57071626],[0.04533063],[1.4846802],[1.4910924],[1.4950643],[1.4770368],[1.450109],[1.4059838],[1.3534893],[0.0450725],[0.04513867],[0.04519552],[0.04527874],[0.045279715],[0.045107212],[0.044762082]],"model_test_loss":0.011814278550446033,"input_size":18,"current_date_and_time":"2023-08-07_03-50-24","input_mean":[[22.163363],[-0.072142825],[-0.0025159488],[-0.006112024],[-0.069063514],[-0.06971331],[-0.0704586],[-0.0690143],[-0.06599702],[-0.060672827],[-0.053519193],[-0.006028869],[-0.0060502393],[-0.0060780053],[-0.006223877],[-0.0063924924],[-0.0066624186],[-0.006921035]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-1.1967828],[1.3245456],[0.103971295],[-1.2520714],[-0.16602024],[-2.0981002],[-0.14066501]],"dense_1_W":[[-0.4214301,0.103772216,0.8929513,-0.18447745,-0.2701103,0.30181846,-0.36284757,0.21057971,-0.018612964,0.0593094,-0.16024835,0.1416867,-0.15246183,-0.3907173,-0.08361737,0.2765874,-0.1042719,0.12791668],[0.2745816,0.9077304,-0.011180789,-0.113791615,0.3160003,0.6698024,-0.6092146,-0.40735677,-0.053869486,0.12563229,0.2932765,0.4824642,0.22824322,-0.60383517,0.30220488,-0.049962338,-0.10605018,-0.088415876],[0.057883058,-0.04662177,0.68351626,-0.26972455,-0.43764362,-0.3083863,0.90403295,-0.09680003,-0.1232865,-0.18376413,0.0876113,-0.32598537,0.17061934,-0.039507188,0.030940559,0.22072437,-0.15162866,0.08447131],[-0.4781647,-0.22644347,-0.89709544,0.010036355,0.10885899,-0.12831874,0.32772595,0.41050613,-0.5090009,-0.107521385,0.26115948,-0.30580103,0.59975356,0.21102095,0.12877508,-0.07514449,-0.22881992,0.021187356],[0.011980259,0.655078,0.042019397,-0.39598337,-0.041903555,0.066606015,-0.36221957,0.049460504,0.3256252,0.043578107,-0.21974392,0.42173225,-0.007631104,-0.024107013,0.045484435,-0.3227939,-0.42450958,0.39688012],[-0.3749303,1.2016063,-0.0067011383,-0.14846599,0.07785109,0.20617402,0.023736777,-0.21452771,-0.34367922,0.24584025,0.24662304,0.051978063,0.2859072,-0.12438496,0.35116002,-0.25033846,0.10243457,-0.23285078],[0.010329517,-0.67234844,-3.8885512,0.32423398,0.45072496,0.7296973,0.38731125,-0.056170475,-0.81186455,-0.70703673,0.57100385,-0.9289139,0.09747156,-0.16550198,0.57601154,0.15654263,0.26841167,-0.023330638]],"activation":"σ"},{"dense_2_W":[[0.12735078,0.7578463,-0.8394619,-0.16871296,0.67499816,0.50618064,-0.036082815],[-0.9349809,0.49174136,0.64577276,0.8777052,-0.27532703,-1.3241053,0.92440283],[-0.88465834,-1.2536055,0.3215816,0.9998298,-0.78880596,0.3562564,0.29056188],[0.38568902,0.47334033,-0.39721346,-0.4981637,0.029624036,0.738565,-0.1316896],[-0.054050677,-0.34113935,0.34908327,0.3195855,-0.82633394,-0.4289165,-0.2309725],[-0.6001114,-0.48455656,0.088143736,0.6083232,-0.19328989,-0.6810937,0.45793325],[-0.04838382,-0.6484051,-0.373168,-0.47354728,-0.71413493,-0.10174487,0.009353199],[0.8382851,0.78388906,-0.7335581,-0.45394737,0.45634454,0.032309055,-0.18919362],[0.29141206,0.25385764,-0.36612022,-0.35426342,0.6002645,0.6095089,-0.22014005],[-0.29009074,-0.96834266,0.6976368,0.3486304,-0.2684134,-0.94937044,-0.25426298],[0.11204245,-1.096992,0.3850058,0.012738441,0.02725583,-0.9902537,0.24397202],[-0.33665514,-0.9425791,-0.08292521,0.23680806,-0.41410118,-0.24981315,0.34143913],[0.014888026,-0.03633883,0.665913,0.18707138,-0.85576785,-0.8612555,-0.39374956]],"activation":"σ","dense_2_b":[[-0.017777005],[0.23545785],[-0.15226115],[-0.047002222],[-0.08956424],[-0.059980016],[-0.13794045],[0.0060922517],[-0.3427262],[-0.07332524],[-0.21932544],[-0.22186531],[-0.076186255]]},{"dense_3_W":[[-0.7212533,0.5909567,0.60852754,0.30440143,0.5012994,-0.24762858,-0.66177696,0.15439416,-0.22291721,0.4902901,-0.34424105,-0.119624294,0.09342594],[0.44096592,-0.49161512,-0.6518094,0.6872087,-0.59066635,0.55458814,-0.36470622,0.4769713,-0.045274016,0.15205328,-0.5337833,-0.3563202,-0.15947717],[-0.7922449,0.5979252,0.5463646,-0.42703834,-0.019785186,0.51403254,0.4312795,-0.45969784,-0.33491063,0.21159784,0.3650792,0.1885672,0.5103654]],"activation":"identity","dense_3_b":[[-0.11362524],[0.06490415],[-0.09258138]]},{"dense_4_W":[[-0.34753174,0.23976417,-0.86662257]],"dense_4_b":[[0.07719801]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[4.3663363],[1.0055081],[0.48724762],[0.041052617],[0.9967611],[1.000683],[1.0039185],[1.0006562],[0.9922954],[0.9760051],[0.96259797],[0.040620644],[0.040736996],[0.040861562],[0.041329786],[0.041552614],[0.04158318],[0.041458495]],"model_test_loss":0.007739691529422998,"input_size":18,"current_date_and_time":"2023-08-07_05-33-00","input_mean":[[21.149132],[0.04869401],[0.010550776],[-0.042260047],[0.04392769],[0.045757443],[0.04700402],[0.05030857],[0.046020832],[0.043477297],[0.04459311],[-0.042488344],[-0.042413425],[-0.042349935],[-0.0422564],[-0.042364012],[-0.04258541],[-0.042924497]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.2678127],[0.08612767],[-0.9489097],[0.706986],[-0.30796576],[-0.32985103],[0.080427095]],"dense_1_W":[[0.0036277466,0.51429325,1.0403895,-0.21717447,-0.43794936,-0.19047353,-0.64920795,-0.048046228,0.69371104,0.53239745,-0.7118019,0.6192604,0.5279617,-0.30141866,-0.19268416,-0.3834617,-0.04798644,0.15677519],[0.030118963,-0.13764045,-0.07282364,0.08246006,0.2705789,1.1211811,-0.57014453,-0.16758528,-0.2744678,0.09098098,0.30342337,-0.20622616,0.0074658724,0.117365144,-0.2300956,0.17353779,0.0072367247,-0.05224067],[-0.46240714,-0.814998,-0.15898485,0.23570561,0.2619672,-0.6533978,0.53975147,0.42714936,-0.15445922,-0.27475175,0.2855774,-0.6121087,-0.085973136,0.56669056,-0.24448115,0.47533005,-0.0016848596,-0.2630539],[0.48946816,-0.17746238,-0.16460344,-0.3096607,0.21007513,-0.51034343,0.029157858,-0.13090727,-0.09923416,0.38133857,-0.08658899,-0.37016922,-0.20602193,0.81421083,0.47483093,-0.30339777,0.043880396,-0.07612349],[0.010865774,-0.24699818,1.7088879,0.025180334,0.0171949,-0.8591754,0.41037732,-0.19206196,0.020423349,-0.07455425,0.17094779,-0.25438294,0.11110474,0.32507765,0.43417934,-0.011772227,0.14530338,-0.59843206],[0.027194558,0.63995826,-0.010129754,0.44069192,-0.1763659,-0.9194824,0.02155618,-0.12091762,-0.05442227,0.43881658,-0.3719806,-0.23903327,-0.20877454,0.41533244,-0.13582179,-0.14811464,-0.20708357,0.15655594],[-0.0028607307,0.34870997,2.821092,0.2508811,-1.035149,-0.465783,-1.5769824,0.18240027,1.7161161,1.8064464,-1.3023019,0.52437043,-0.00077510276,0.16097444,0.040497832,-0.045791112,-0.8714639,-0.1387739]],"activation":"σ"},{"dense_2_W":[[-0.4802455,-0.5064868,-0.2886249,-0.0686329,-0.27806887,-0.3524303,-0.80409414],[0.34504583,0.3495648,-0.7631179,-0.38251773,0.29856616,-0.26794648,-0.18538539],[0.6198588,-0.22676483,-0.35512465,0.12881657,-0.40367082,-0.9252802,-0.0002468375],[0.35880542,0.46389118,-0.8148363,-0.59149826,-0.5300025,0.20585157,-0.07116474],[-0.23429085,-0.62216985,0.59508204,0.4193159,-0.15182957,0.5141024,-0.41728604],[0.66723776,0.073733844,-0.070885584,-0.48375297,-0.45241132,-0.84997284,-0.031634018],[-0.5627967,-0.4777591,0.868787,0.17813006,0.21961252,0.14355378,-0.57126164],[-0.14685419,0.03656165,-0.7900763,-0.08400198,0.24159017,-0.85876423,-0.26216614],[-0.71358204,-0.689546,0.051773578,-0.0848018,0.18454298,0.22894992,-0.1594909],[-0.018925406,-0.706924,0.090921454,0.70733404,-0.1029515,0.4853316,-0.19676127],[0.3700011,0.58441055,0.019160673,-0.4851522,-0.5654224,-0.81087536,0.48571846],[-0.6824983,-0.010707942,-0.03845548,-0.24932735,0.10926147,-0.65549374,-0.13580413],[0.044423133,0.24843681,0.10453449,-0.5270328,-0.0071183904,-0.805887,0.016872479]],"activation":"σ","dense_2_b":[[-0.32894507],[-0.1402385],[-0.08289674],[0.058721446],[-0.08779582],[-0.08003288],[-0.0015345884],[-0.02523492],[0.00043462456],[-0.033334095],[-0.036279026],[-0.33189464],[-0.07644796]]},{"dense_3_W":[[0.13798034,-0.55931157,-0.057955276,-0.049440853,0.51565015,-0.01682391,0.30927873,-0.11561556,0.6672029,-0.07284992,-0.4854766,-0.14209567,-0.34877455],[-0.031582475,0.050488807,-0.24109462,-0.54226226,-0.22244236,-0.3798091,0.5201355,0.11588744,0.013117147,0.33739212,-0.23309216,-0.14616711,-0.5281888],[-0.076868005,-0.03763952,-0.29681742,-0.12974247,0.4806066,-0.04267054,0.51561165,-0.50798887,-0.13377365,0.61627406,-0.48184386,0.3136061,0.23230153]],"activation":"identity","dense_3_b":[[0.062304508],[0.06676691],[0.045753885]]},{"dense_4_W":[[-0.7684763,-1.1087472,-0.815416]],"dense_4_b":[[-0.05879514]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[7.896002],[1.2703207],[0.4862841],[0.043405883],[1.2591066],[1.2634319],[1.2668407],[1.2588236],[1.2390842],[1.196458],[1.1518458],[0.04327276],[0.043316394],[0.043354623],[0.043371588],[0.043337632],[0.043194752],[0.04294343]],"model_test_loss":0.0052194190211594105,"input_size":18,"current_date_and_time":"2023-08-07_06-24-33","input_mean":[[21.445068],[0.09960828],[0.007299674],[-0.0005310989],[0.09852017],[0.09864108],[0.09867044],[0.10080879],[0.10140148],[0.09866842],[0.095603466],[-0.00043161964],[-0.0004366571],[-0.00044840755],[-0.00056364527],[-0.0007040198],[-0.0009044244],[-0.0011604802]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.09470449],[3.0432646],[0.03450416],[-0.46021092],[1.1594877],[0.029558277],[1.8363751]],"dense_1_W":[[0.005493746,-0.3358011,0.0037607898,0.29596448,0.3943874,-1.0717398,0.5701757,0.016112054,-0.3643242,0.23849818,-0.075061426,-0.56350166,0.061684538,0.23258829,0.3412455,-0.086815886,0.09234655,-0.08318382],[0.5553914,1.0832955,0.025380384,-0.42384112,0.25218967,0.2652197,-0.08185232,0.14480954,-0.08236447,0.41922125,0.03566944,0.47901392,0.27303162,0.23061423,-0.48810846,-0.049590047,0.055590317,-0.0777213],[0.020737711,-1.0003403,-4.471138,0.18066612,0.8972061,0.281358,0.63211244,0.037308935,-0.27867937,-0.5369628,0.02718618,-0.8628528,-0.5999772,0.41523072,0.23050354,0.6017408,0.07975743,-0.02996209],[0.13376372,-2.1679244,0.024798622,-0.6729938,-0.54384416,-1.0513178,0.8737397,-0.41420826,0.114922546,-0.99975115,-0.08032563,-0.5233528,-0.047853615,0.95928097,-0.67657197,-0.6571614,0.3954971,0.7528502],[1.0411915,0.2750806,-0.017673122,-0.287801,-0.5224428,-0.17964116,-0.7069524,-0.38134468,-0.040215928,-0.100667715,-0.22424145,-0.011132579,0.045741584,0.25371146,-0.41912347,-0.07781668,0.072858974,0.3702856],[0.006503676,0.31328365,0.7664561,-0.6728464,0.3802759,0.44000676,-0.5781886,0.107931,-0.15678358,0.1777509,-0.48083207,0.49993676,-0.26356068,-0.6739486,0.0690044,0.28473458,-0.08100241,0.2141241],[0.6557612,-1.1317073,-0.01985534,0.2997433,-0.3100224,-0.5334095,0.59377813,-0.11130485,0.11088933,-0.23197712,-0.15815854,-0.38820937,0.05915133,-0.4817993,0.3789274,0.16070421,-0.20570633,0.1632214]],"activation":"σ"},{"dense_2_W":[[0.4679878,0.2634842,-0.028860494,-0.21427041,0.14012837,-0.5288975,-0.42545995],[-0.6775605,-0.4815579,-0.454403,-0.07230136,0.009694609,0.59333,-0.62719697],[-0.6382057,0.6997013,0.36473322,0.2414489,0.13382578,-0.18536665,-0.90939593],[-0.8748301,2.3719103,-1.56188,-1.8237168,2.1302335,1.2548504,-0.031323623],[0.503896,-0.679211,-0.6008442,0.60013664,0.17343543,0.17834695,0.24348144],[-0.13778792,0.15866904,-0.76191425,-0.5750008,-0.69259375,0.40918577,-1.4637057],[-0.52587533,-0.25144148,-0.31243584,-0.1940254,-0.25742918,0.22230358,-0.21316433],[-0.29734585,-0.21217649,-0.4547587,-0.4792317,0.52856797,0.5213185,0.07181257],[-0.007364429,0.007793841,-0.71918666,-0.005362996,0.23980153,-0.49275202,-0.6564195],[0.27902287,0.11022579,0.09352632,0.18805945,0.30498815,0.03035562,0.31641266],[0.65705526,-0.5266016,-0.022429584,0.18331312,-0.32305643,-0.007786143,-0.26408496],[-0.4082327,-0.25355664,-0.5861339,0.31163412,0.25877875,-0.75417554,-0.30994046],[0.5602024,-0.5399794,0.34386253,-0.40272358,-0.48508552,-0.18899718,0.17928903]],"activation":"σ","dense_2_b":[[-0.010232577],[-0.00023857807],[-0.034300473],[0.46175855],[-0.028856292],[-0.191977],[-0.23886801],[-0.003576378],[-0.22439884],[-0.009154732],[-0.014472028],[-0.22065732],[0.0036408578]]},{"dense_3_W":[[-0.30743915,-0.5722211,-0.48067984,-0.108277574,0.29175866,-0.51613647,-0.52692574,-0.06551988,-0.0476114,0.3618537,0.05102852,-0.27722335,0.5223134],[0.30818227,0.17767535,0.5113013,-0.25676715,-0.058021083,0.4884727,-0.23518495,0.43626583,-0.42181972,-0.047644824,-0.1406492,0.23160899,-0.44818217],[0.45361012,-0.51555586,-0.5169346,-0.2632498,0.44542933,-0.15754463,0.30686757,-0.56882674,0.065441564,0.3283218,0.18038327,0.1817784,0.5348782]],"activation":"identity","dense_3_b":[[0.012215524],[0.0026582293],[0.008550247]]},{"dense_4_W":[[-0.97812647,-0.12224905,-1.2473096]],"dense_4_b":[[-0.009789151]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.222069],[1.4015005],[0.5433659],[0.046245173],[1.3907557],[1.3952589],[1.3979354],[1.3851876],[1.3639251],[1.3265828],[1.2794514],[0.04593869],[0.04602148],[0.04609722],[0.046142124],[0.04606174],[0.04579012],[0.045302678]],"model_test_loss":0.009272297844290733,"input_size":18,"current_date_and_time":"2023-08-07_07-41-26","input_mean":[[21.305267],[0.004457678],[0.0094668595],[-0.012420628],[0.004529341],[0.005278159],[0.005986334],[0.00870795],[0.010163208],[0.009530685],[0.008663278],[-0.012377954],[-0.01237566],[-0.012378746],[-0.012456359],[-0.012550046],[-0.012720126],[-0.012910544]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-2.047097],[1.9158853],[0.17434227],[-0.97165537],[-0.10269022],[-0.9169131],[0.0008914754]],"dense_1_W":[[-0.88408405,1.235049,0.0426836,0.013424199,-0.08920125,-0.013397676,0.586178,-0.04885077,0.3810674,0.36573988,-0.3742023,-0.11406285,0.04956962,0.03306387,-0.10079546,-0.18288964,-0.018636217,0.16385865],[0.88075936,1.297032,0.032537315,-0.17033583,-0.09099818,0.4118023,0.12728553,0.14429076,0.1508224,0.15520132,-0.16594887,0.11192377,0.23395588,-0.301161,-0.2021957,-0.0027576552,0.08704741,0.086546],[0.7485217,0.44026893,-1.9140397,-0.17217009,0.059100352,-0.047859672,-0.5856153,0.44894385,0.22710915,-0.21913743,-0.29625463,0.322819,0.07943353,-0.022421572,-0.090653695,-0.444467,0.1394176,0.18164952],[0.4358342,-0.32757956,2.063401,0.20161365,-0.24610913,-0.3428621,0.6505693,0.016287383,-0.07427287,0.03351724,0.22633989,-0.3643204,-0.26658386,0.20206529,0.12288221,0.2783347,0.19327204,-0.36068434],[-0.0035009065,-0.72611684,-0.0082449615,-0.22654101,0.46806103,-0.34762052,-0.40569013,0.40099728,0.11805809,-0.16216965,-0.042650726,-0.89064217,0.21002078,0.642215,0.20523302,0.31924605,0.101329714,-0.13541093],[-0.41431567,0.11045769,2.0121331,-0.2800082,-0.054261006,0.11609053,-0.5194348,0.0039073634,0.18652305,-0.21063456,0.3278946,0.18608095,-0.043919813,0.063306555,-0.30901843,0.42117286,0.14100657,-0.16917707],[0.1144374,0.0647928,1.4224553,-0.33906898,-0.090644486,-0.5943667,-0.7509755,0.8212074,0.73758525,0.21148895,-0.4533185,0.18891388,0.058078196,-0.32458195,0.36525872,0.30673453,-0.21418211,-0.02886248]],"activation":"σ"},{"dense_2_W":[[-0.09611834,0.018518968,0.3276854,-0.29474196,0.07749839,-0.18393336,-0.108452864],[0.8463591,0.2765366,0.26273692,-0.542793,-1.3948811,0.38413918,0.13216402],[0.6448755,-0.9121937,-0.4041889,-0.44714126,-0.6450281,0.62885827,0.6442234],[-0.6492855,-0.59167993,-0.2413325,0.6629408,0.8960554,-0.16874227,-0.23902991],[0.25179657,-0.0052280165,-0.787087,-0.52129155,-0.7962139,0.5745307,0.5154668],[0.1658994,-0.14782484,-0.34189487,-0.24388146,0.26166263,-0.10471854,-0.98238224],[0.3014624,-0.11165519,0.1926479,-0.0071346364,0.12017147,-0.5179131,-0.42826292],[-1.3958447,1.0750867,0.51260227,0.5384232,-0.34655526,1.0435345,1.5503204],[0.40272388,0.12323784,0.24391593,-0.66794497,-0.92917013,0.24938683,0.35117647],[-0.37655634,-0.79549915,-0.7874939,0.049076214,0.16099943,-0.46943882,-0.46139815],[0.101291455,0.14885388,-0.42190292,0.31973553,0.7213091,-0.43006414,-0.27885658],[-0.32128662,-0.3569677,-0.5827871,-0.44924423,0.16653252,-0.70502335,-0.009819985],[-0.1346414,0.065946266,0.22599967,-0.71018034,-0.8050497,0.21156272,0.017037582]],"activation":"σ","dense_2_b":[[-0.15589215],[-0.28170976],[-0.38979664],[0.083457045],[-0.43890372],[-0.010706772],[-0.07441867],[-0.20225793],[-0.14819947],[-0.0007909137],[-0.0439504],[0.00047137964],[-0.0815142]]},{"dense_3_W":[[0.04960481,0.7185168,0.55996764,-1.1893424,0.63903844,-0.7087734,0.2795772,0.5947179,-0.12752935,-0.9978769,-0.25698617,-0.06704499,-0.04695985],[0.301456,-0.21193206,0.22014925,0.07238018,-0.24935168,-0.38614914,-0.53463185,0.41344443,0.122541234,0.4214228,0.2293029,0.506032,-0.25195587],[0.30665806,0.26296693,0.6493592,-0.4486736,-0.020275978,-0.3785944,-0.39404252,0.43909723,0.5369053,-0.4844059,-0.36188412,-0.6198387,0.2678705]],"activation":"identity","dense_3_b":[[-0.104795374],[-0.0101343505],[-0.022516306]]},{"dense_4_W":[[0.6437274,-0.14137705,0.8526488]],"dense_4_b":[[-0.020337932]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.980772],[1.3223853],[0.9268239],[0.024433661],[1.4122427],[1.3833307],[1.3508096],[1.2307118],[1.1849836],[1.1415477],[1.0909376],[0.024418019],[0.024408164],[0.024402233],[0.024252728],[0.024191827],[0.024145853],[0.023861935]],"model_test_loss":0.010252699255943298,"input_size":18,"current_date_and_time":"2023-09-01_20-45-00","input_mean":[[16.563862],[0.1111928],[0.6683766],[0.015079002],[0.0854696],[0.09152668],[0.09758363],[0.121493205],[0.14106716],[0.15788953],[0.16946313],[0.015242839],[0.01523548],[0.015225873],[0.015277851],[0.015472722],[0.015790224],[0.015869608]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[0.9736897],[-0.14363614],[0.085171],[-0.55840254],[0.055252872],[2.0375261],[-0.18923905]],"dense_1_W":[[1.5419508,0.4347514,0.022342844,-0.13883114,0.2409088,-0.12417678,-0.53509873,0.20153597,0.17858733,-0.19925015,0.06234279,0.24006103,-0.19976556,-0.18627135,0.45923752,-0.15200825,-0.08930177,-0.0050552515],[-0.030591678,0.13387124,0.17806397,-0.13424215,3.5386305,1.7213475,0.84962314,-2.7109919,-1.8677185,-0.9485388,0.11587285,-0.52675563,0.16423121,0.09590165,-0.005669875,0.12117092,-0.3104153,0.34291723],[-0.040051196,-0.90900606,0.033305887,0.48924676,-0.05219214,0.16458692,0.23944448,-0.65811116,-0.14248033,-0.040640995,0.23316579,-0.11273267,0.26166895,-0.3892416,0.20361155,-0.32397175,-0.04944256,0.12745105],[-1.8584498,0.5795085,0.0001561481,-0.3926851,-0.62748444,0.32592124,0.26113057,-0.18676938,0.15465672,-0.039395984,-0.11589895,0.3461765,-0.16687828,0.007636779,0.34468338,-0.24718969,-0.08537343,0.095972665],[0.008184925,0.29720604,0.12834367,0.24606115,-0.050453648,-0.14317429,0.01469496,0.10121035,-0.15977393,-0.071321785,0.14336964,0.1700991,0.15197535,-0.16201954,-0.27186736,-0.18587373,-0.29943192,0.31800416],[1.3913352,0.09059665,-0.06279646,0.282595,-0.5809931,0.06669835,0.31247872,0.33775496,-0.5383088,0.59837353,-0.45551175,0.69241804,-0.26237598,-0.25280276,-0.23810647,-0.60125524,0.035016667,0.40757436],[-0.020792918,0.8449914,-0.31495875,-0.18665223,0.2601113,0.23361494,-0.20227535,0.23019418,-0.36623937,-0.52237487,0.2838479,-0.23221277,0.23532006,-0.1258153,-0.1928124,0.17601454,0.39783114,-0.15201832]],"activation":"σ"},{"dense_2_W":[[0.47221714,0.016886314,-0.33116162,-0.06792718,0.35775667,-0.52708566,0.5025349],[0.9420784,-0.7130284,0.091753036,0.014161378,0.35075215,0.23026218,0.2984281],[0.1440958,-0.022310976,-0.63004696,0.21640168,0.8508171,-0.16760021,0.13965653],[-0.051360242,0.4106794,-0.88011396,0.61412853,0.7515858,-0.2784069,0.19800848],[0.5194753,0.046521883,-0.864117,-0.34576842,-0.21068099,-0.09319121,0.52076554],[-1.8818634,0.99190366,-0.5483396,0.07163825,-0.53633076,0.30430192,-0.43019328],[-1.7481059,1.364397,-0.05183877,0.26558736,-1.0966011,-0.21229754,-0.33233747],[-0.30067447,-0.19872609,0.59686613,-0.5647894,-1.0501944,0.8325608,-0.43664268],[0.59113705,1.348725,0.6290724,-0.6959389,-0.8086151,0.6735704,-0.24954763],[-0.4161925,-0.09258512,0.60084736,0.50538963,-0.20283572,-0.10547142,0.25737134],[0.26642272,0.27427554,-0.86675686,0.3761756,0.13520287,-0.49277586,0.023729336],[-0.057346545,0.40247637,-0.96133965,-0.24963704,0.4294661,-0.0321745,0.3121117],[-1.1896358,0.47296816,0.2525738,-0.41773388,-0.91891223,0.53242177,0.026586607]],"activation":"σ","dense_2_b":[[-0.06391301],[0.10446307],[-0.07552547],[-0.03267669],[-0.08992916],[-0.3635667],[-0.4151249],[0.16962343],[0.17003855],[-0.014166557],[-0.009087415],[-0.12204086],[-0.021121267]]},{"dense_3_W":[[0.11135484,-0.110632345,0.19104497,0.45092243,-0.58294576,-0.22749306,0.0548284,-0.20707788,-0.07605733,-0.5409419,0.18328355,0.36243346,0.48439535],[-0.4690379,-0.19305366,-0.2964049,-0.77543974,-0.26955664,0.62021655,0.51425976,0.6449075,0.6932653,0.29448414,-0.5598454,-0.47247913,0.639388],[-0.086130135,0.0662881,-0.39795497,-0.05040378,0.051303852,-0.38565347,0.81593895,0.65294117,0.45629048,-0.2787272,0.3136061,-0.34606743,0.6333548]],"activation":"identity","dense_3_b":[[-0.0200204],[-0.028796887],[-0.06285456]]},{"dense_4_W":[[-0.10954055,-0.93173796,-0.32423872]],"dense_4_b":[[0.031629298]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[6.320446],[1.4674793],[0.55242187],[0.033747878],[1.4499153],[1.4551026],[1.4600143],[1.4764196],[1.4860643],[1.4978211],[1.5023137],[0.033594012],[0.033627346],[0.03367146],[0.033806257],[0.033919122],[0.03404663],[0.03421485]],"model_test_loss":0.0031593828462064266,"input_size":18,"current_date_and_time":"2023-08-07_09-20-56","input_mean":[[16.720589],[-0.3453631],[-0.01988461],[-0.011758546],[-0.33604637],[-0.33879158],[-0.34137574],[-0.34826595],[-0.34946606],[-0.35428008],[-0.36132792],[-0.011764421],[-0.011732091],[-0.0117199095],[-0.011728072],[-0.011719623],[-0.011750716],[-0.011823986]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[0.50939155],[0.3405257],[1.6462622],[-0.10843948],[0.285203],[0.037651468],[1.8082677]],"dense_1_W":[[0.024142604,-0.21203998,0.026902797,-0.026592031,-0.5052848,0.08084745,0.060381155,0.07824176,0.1476794,-0.31446207,-0.05622627,-0.24280141,-0.013746504,0.012400391,0.17171621,0.29621166,-0.28375784,0.05738833],[0.1768927,-0.29521623,-0.025311217,-0.092430666,0.28460526,-0.617111,0.49956995,-0.3885511,-0.2726708,0.20527962,0.14372464,0.26093155,0.14992015,-0.31772944,0.08945775,-0.09835619,0.31046915,-0.10769861],[0.97614205,0.4236573,0.38003942,0.49241897,0.51790404,0.053766027,-0.80027264,0.26498482,0.05449548,-0.26899186,0.087867126,0.12839077,-0.05710694,-0.66316336,-0.0033742453,0.2792481,-0.11627638,-0.041489422],[-0.0015497641,0.8673382,3.263093,-0.1707162,-0.6192832,-0.67156154,-0.04999914,0.14607337,-0.06100974,0.58493054,0.15063228,-0.05193594,-0.29414734,0.3289635,0.39314392,0.074083135,-0.25906774,-0.1849865],[0.047487535,0.6483187,-0.012538455,-0.38905606,-0.18153276,0.44709945,-0.5075622,0.21219371,0.068916075,0.25938293,-0.17245348,0.1482799,0.40387914,-0.40022132,0.06770608,0.36847785,-0.026828244,-0.16214016],[0.037951373,0.24962443,0.020283377,-0.0035552767,0.30666018,0.1413196,-0.38893646,0.35808158,-0.032923326,-0.071178645,-0.048781518,0.5162438,0.4610186,-0.7228655,-0.49375764,-0.21811645,-0.19861159,0.40984872],[0.9250359,-0.70112437,-0.36471853,0.0054842713,-0.09402759,0.082544014,0.30093822,0.16678151,-0.2748682,0.18376616,0.04107111,-0.25604424,0.42679307,-0.053103805,0.16130999,-0.40664944,-0.032497868,0.13323294]],"activation":"σ"},{"dense_2_W":[[-0.90112615,-0.4810132,-0.08950426,0.36772704,0.4500673,0.052173443,-0.77481836],[-0.3288408,-0.36183703,0.39837834,-0.19830135,-0.0052449205,-0.4256783,-0.3807343],[0.15238899,-0.52871466,-0.98836666,-0.46207833,-0.9737017,-0.7437858,0.3818713],[-1.0859724,-0.48526433,0.24535194,0.05596006,0.093554944,0.21621844,-0.53195745],[-0.7163611,-0.30886292,0.12716919,-0.4154194,0.37423986,0.9259443,-0.379039],[0.19235164,-0.15816337,-0.017028,0.31888407,-0.28815588,-0.8377302,0.39304262],[0.47231472,-0.08212948,-0.7769114,-0.7738407,-0.48245203,-0.7427551,-0.27572083],[0.2869671,-0.016490303,-0.70185846,-0.34122148,-0.2529159,-0.1406588,-0.40547752],[0.20577213,0.14548963,-0.52808815,-0.30710357,-0.35618016,0.13128263,0.33525097],[-0.17195134,0.3418375,0.095633924,-0.17584541,0.12383485,-0.8438437,-0.021029431],[-1.5742979,-1.0980865,0.13949709,1.2328507,0.30790532,-0.25942948,-1.8909296],[-0.11482437,-0.42623624,-0.34017542,0.49576285,-0.00045646817,0.61140454,-0.84245527],[0.03065336,-0.3165987,0.31627032,0.23499563,-0.5419005,-0.6005879,-0.44092956]],"activation":"σ","dense_2_b":[[-0.06588],[-0.24751721],[-0.036043685],[-0.08081857],[0.042379994],[-0.12687257],[-0.1196205],[-0.103857085],[-0.11169459],[-0.13132711],[-0.12644218],[-0.14405167],[-0.09716702]]},{"dense_3_W":[[-0.25552472,0.4888721,0.66748166,-0.059414074,-0.47127432,0.0070313723,0.562616,0.4663864,-0.12562452,0.27339113,0.011626089,-0.3627435,-0.31609577],[0.31728745,-0.048127633,0.3010577,-0.029504294,-0.633934,0.2603854,0.015562987,0.09305088,0.3503609,-0.30416068,-0.382153,-0.5815462,0.3423376],[0.512647,0.6342511,-0.7857153,0.26010734,-0.111801334,-0.24562247,0.19410154,-0.17319192,-0.4143214,-0.04857833,0.5264786,-0.41035476,-0.4759939]],"activation":"identity","dense_3_b":[[-0.053302422],[-0.044913977],[0.05779919]]},{"dense_4_W":[[-1.0770125,-0.37417558,0.8556539]],"dense_4_b":[[0.050846685]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.083802],[1.4611669],[0.43209597],[0.045783427],[1.4580129],[1.4600974],[1.4606811],[1.4370847],[1.4046228],[1.3548353],[1.301345],[0.045653045],[0.045695912],[0.04572814],[0.0456723],[0.04552948],[0.045236606],[0.044802427]],"model_test_loss":0.010045606642961502,"input_size":18,"current_date_and_time":"2023-08-07_10-17-58","input_mean":[[24.140347],[-0.040326927],[-0.00495007],[-0.01144458],[-0.037586022],[-0.039033934],[-0.04007914],[-0.040745206],[-0.039911933],[-0.037505746],[-0.035948202],[-0.011471909],[-0.011470749],[-0.011468973],[-0.011477571],[-0.011519244],[-0.0115342615],[-0.011574338]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[0.0585553],[-0.8787027],[0.06662454],[2.4645643],[0.2145419],[0.14631574],[-0.0031928595]],"dense_1_W":[[0.01278659,-0.639175,-3.9059505,-0.26950234,0.48975742,0.053148586,0.06006899,-0.15871193,-0.35619113,-0.3069537,0.6460098,-0.3795686,-0.14707989,0.10753279,0.589496,0.054787833,0.26607925,-0.27329552],[-0.31426805,0.29352117,0.30446848,0.17738476,0.021804355,0.49185294,0.05479423,0.1745057,-0.0944745,0.35397518,0.3583849,0.06355244,0.3294988,-0.7301665,-0.1879947,-0.0022402736,0.104507774,-0.21638979],[-0.010307992,0.7934238,-0.0006794772,-0.1334464,0.02091189,0.47137254,-0.6551125,0.066525705,0.3651862,-0.07319468,-0.10373536,0.33364198,-0.039477788,-0.1740325,-0.17714831,-0.15961868,-0.0405952,0.074915186],[0.5847928,0.619816,0.4203029,-0.21235059,0.4265746,-0.1263166,0.009960476,0.11006678,0.6733238,0.42611405,0.19867067,0.45256436,-0.13085747,-0.36200306,-0.3105818,0.34042296,-0.31901485,-0.08410049],[-0.024490528,-0.65694225,4.6159083e-5,0.59398013,-0.025485305,-0.018133782,0.0042006616,0.10598254,-0.33271274,0.27812153,-0.08935339,-0.0016619482,-0.54040617,-0.14387926,0.5431834,-0.19388175,-0.13796277,0.058109537],[0.41040012,0.4720514,-0.542709,0.27897146,-0.21233134,-0.26147744,-0.7639464,-0.7849991,-0.8057104,-0.53855383,-0.26171803,-0.01974412,0.539449,-0.3167468,-0.058017753,0.100660756,-0.02376293,0.39652997],[0.0073618917,-0.6812269,0.00047164486,0.19503322,0.21642539,-0.3812711,0.54097396,-0.4161706,-0.13814282,-0.42284945,0.37063465,-0.22952643,-0.52888757,0.5929762,-0.282835,0.19850107,0.20221026,-0.1419231]],"activation":"σ"},{"dense_2_W":[[-0.34819424,0.13951385,1.2464662,0.28751788,-0.5187095,0.6976768,-0.62041533],[-0.41341007,0.2805276,0.6287094,0.6696396,-0.54532576,0.7615568,-0.6390846],[0.17430355,-0.57738274,-0.6883198,-0.18806155,0.3362078,-0.27881357,0.2574153],[0.34108973,0.22211717,0.459976,0.35180148,-0.33524066,-0.2489619,-0.8272582],[0.23007147,0.0818965,-0.6714039,-0.55786407,0.43846977,-0.3866686,-0.31287605],[-0.21214552,-0.6325544,0.042784553,-0.73854697,-0.072142266,-0.20286769,-0.17739548],[0.12742646,0.17059988,-0.30783626,-0.62666696,-0.36179522,-0.23354167,0.48441237],[0.070377834,-0.16169746,-0.01426584,-0.12767823,-0.36949772,-0.79047674,-0.5630477],[-0.3562291,0.82187784,0.6215501,0.7167505,-0.062617205,0.5100963,-0.31727344],[0.53031796,-0.74287415,-0.583841,0.35455438,0.5706749,0.34090075,0.40166008],[-0.041094325,-0.7450218,-0.34826657,-0.27569434,0.28963897,-0.6791988,0.4819029],[-0.45388228,0.8081112,0.19463012,-0.20301336,-0.8971776,0.51671964,-0.79728514],[-0.19061111,-0.41954494,-0.61557233,0.033694874,-0.4513763,-0.046573047,0.36615795]],"activation":"σ","dense_2_b":[[-0.05189404],[0.11612667],[0.03374365],[-0.09175077],[-0.118053235],[-0.009669963],[-0.24390511],[-0.42936447],[-0.13871671],[0.105076954],[0.060429294],[-0.08152692],[-0.32616025]]},{"dense_3_W":[[-0.5707046,0.15472998,0.32784146,-0.52660066,0.3508428,0.2326405,-0.12091264,-0.36666492,-0.16838528,0.60772735,0.5778285,-0.024338374,-0.4535548],[-0.18583268,0.4316364,-0.614212,0.296555,0.21492256,0.09027471,-0.22776076,-0.28093025,0.4677053,-0.2794905,-0.16121306,0.5220755,-0.49487323],[0.6430829,0.38659704,-0.25451958,0.014723727,0.23223996,-0.39363125,-0.48956293,-0.40315047,0.6391995,-0.611482,-0.321689,-0.52045226,-0.2960742]],"activation":"identity","dense_3_b":[[0.030546237],[-0.03303123],[-0.0085044755]]},{"dense_4_W":[[-1.0266056,1.0412261,0.11489299]],"dense_4_b":[[-0.03331707]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[9.17877],[1.560403],[0.55696404],[0.04819407],[1.5485493],[1.551602],[1.5542839],[1.5297074],[1.4964435],[1.447148],[1.3966106],[0.047890175],[0.04795589],[0.04801992],[0.048169263],[0.04813858],[0.04792505],[0.047557294]],"model_test_loss":0.008605924434959888,"input_size":18,"current_date_and_time":"2023-08-07_13-18-55","input_mean":[[23.527355],[-0.09660584],[0.002421769],[-0.007888363],[-0.09495723],[-0.09453526],[-0.09517964],[-0.092055276],[-0.089080565],[-0.08710217],[-0.08428994],[-0.0079021575],[-0.007904708],[-0.007907821],[-0.007890973],[-0.007831142],[-0.007820599],[-0.0077761114]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[2.4574037],[-0.31610072],[0.06254806],[0.1658765],[-0.04939922],[-0.04379439],[-2.3606904]],"dense_1_W":[[0.4884821,0.4447991,0.27062133,0.29461905,-0.15870245,1.0499299,-0.67113316,0.14727078,0.46701437,-0.11520939,0.27191386,0.25705224,0.20442817,-0.5996387,-0.11848767,-0.22629784,0.10268118,-0.05196918],[-0.94526833,-0.06731887,0.36105722,-0.06478468,0.7274551,-0.787373,1.067588,-0.11700762,-0.18113732,-0.009122022,0.6951359,0.121739894,-0.31221318,0.43686992,0.19358343,-0.60511017,0.31918147,-0.16998838],[-0.0064108563,-1.0363407,-0.3657711,-0.03648839,0.25623804,-1.0107207,0.5950102,0.13701187,-0.03058584,-0.09836868,-0.47335115,-0.19476067,-0.25847888,0.24020503,0.27251944,-0.16899313,-0.10614574,0.20120943],[0.99380904,-0.13568194,0.37884694,0.2061394,0.25694898,-0.39774755,1.0660007,0.098927006,-0.11071541,-0.06035235,0.6582728,-0.1862874,-0.36728743,0.686768,-0.007125964,-0.43512365,0.21848302,-0.19364962],[-0.013903772,1.6984495,6.334462,-0.24601908,-0.88126016,-0.07609073,-0.6559659,0.5171736,1.2477276,0.13804865,-1.6805384,0.5297336,0.50917196,-0.35361633,-0.43783256,-0.16315787,0.09916458,0.19899222],[0.0027724826,-0.266893,0.009900119,0.1370816,-0.14222518,-0.7747496,0.40045345,-0.1508628,0.31491798,-0.11310718,-0.10476674,-0.5071864,0.27966213,0.071040496,0.17133062,0.3316448,-0.09659847,-0.028956251],[-0.46976677,0.2529768,0.2631776,0.29406658,-0.014786802,0.54289156,-0.2263323,0.34719956,0.24145603,-0.02186343,0.2373878,-0.0400574,0.016907027,0.0852952,-0.45880318,0.07774477,-0.08953317,-0.009223345]],"activation":"σ"},{"dense_2_W":[[0.06098307,-0.40966874,-0.17987315,-0.40513036,0.27261987,0.08310855,-0.5536096],[-0.691275,0.35682058,0.36383852,0.5730693,-0.25348198,0.5048341,-0.5584882],[-0.62200207,0.34269363,-0.37620154,0.39508444,-0.18625513,0.5273465,0.15910348],[-0.66713977,0.52275723,0.2329843,-0.39003682,-0.68911934,0.54985297,-0.1009992],[-0.6867374,-0.17710596,0.25754964,0.4175933,0.13662146,0.6200632,-0.7861373],[-0.09777525,-0.32259175,-0.6726679,-0.5632263,0.38548172,-0.78029376,0.8176162],[-0.7648048,0.50501686,0.48810425,-0.30770826,-0.13032949,-0.21508694,-0.5890472],[-0.21938957,-0.20063238,0.5301691,0.3849949,-0.2938749,0.58915985,-0.40684512],[0.09535999,-0.3482573,-0.028670665,-0.2520647,-0.18944943,-0.30540437,0.45314667],[-0.2825183,-0.18183878,0.43335834,-0.44332805,-0.14940064,0.075128734,-0.1811318],[0.29664114,-0.030906495,-0.37812403,-0.046466183,0.101335004,-0.53401035,0.79996306],[0.9250361,-0.67517155,-0.52387106,-0.2634134,-0.20555083,-0.812342,0.7927995],[0.22187099,-0.4586634,0.14067167,0.16797097,-0.51517123,-0.25366476,-0.0075834477]],"activation":"σ","dense_2_b":[[-0.16339622],[-0.06992213],[-0.14530285],[-0.21909085],[-0.18955792],[-0.123597145],[-0.114407286],[-0.06403072],[0.07467113],[-0.11460133],[-0.014573581],[0.15221187],[-0.2008074]]},{"dense_3_W":[[0.079248965,0.63441527,-0.037408806,0.5250491,0.1454134,0.033214454,-0.07036471,0.56555814,-0.26066884,-0.18814188,-0.19420856,-0.33199486,-0.17070732],[0.48755273,0.5925755,-0.089609005,0.2881994,0.09301222,-0.36505923,0.11187905,-0.18813112,-0.4484195,0.45447895,-0.46645686,-0.48254833,-0.48081368],[0.28768483,-0.50610393,-0.3329078,0.1855142,-0.32382408,0.25712836,-0.3997252,-0.4541148,0.69257694,-0.36352545,0.36789265,0.8448238,-0.36968893]],"activation":"identity","dense_3_b":[[-0.099045075],[-0.08617516],[0.0972388]]},{"dense_4_W":[[-0.9874007,-0.54182595,0.95884216]],"dense_4_b":[[0.09515336]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.994212],[1.3245196],[0.5245797],[0.042956702],[1.3203417],[1.3217984],[1.3220408],[1.2944245],[1.2665168],[1.2200946],[1.1748925],[0.0428153],[0.042849746],[0.042877868],[0.04289658],[0.042825807],[0.042584144],[0.042231884]],"model_test_loss":0.006699905265122652,"input_size":18,"current_date_and_time":"2023-08-07_15-02-41","input_mean":[[22.833767],[-0.0403752],[-0.023062065],[-0.003915003],[-0.03835354],[-0.039629113],[-0.04148385],[-0.050812945],[-0.058392923],[-0.07008045],[-0.08093289],[-0.0039168606],[-0.0039327657],[-0.0039458815],[-0.0040258327],[-0.0041203275],[-0.00426424],[-0.00439325]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-0.21267962],[-0.02729046],[-3.876878],[3.758936],[-0.094889574],[0.84803456],[1.0655135]],"dense_1_W":[[-0.01582406,1.491969,3.253744,-0.10518171,-0.19385417,0.78610295,-0.92538196,-0.33224037,0.3013307,-0.6688703,-0.19887793,0.114433184,0.15138905,-0.37872663,-0.26882437,0.53041375,0.5000704,-0.46208212],[0.0022284745,-0.44302207,0.0046756687,0.4405551,0.3678904,-1.3237227,0.94849795,-0.21979533,-0.354195,0.04168792,0.10481886,-0.14313328,0.09221937,0.62079024,-0.31655258,0.08006394,0.224768,-0.34386438],[-1.6695492,1.084495,0.12782213,-0.2916347,0.4173779,-0.012464437,-1.415515,0.46309748,0.14367689,-0.09085289,0.21108763,0.52149534,0.0030927972,-0.7394647,0.32236108,0.4132776,-0.08725703,-0.32379115],[1.7204846,0.99877,0.12921184,-0.5962452,0.11488813,0.7996907,-1.9083629,0.73996365,0.0138976555,-0.3083528,0.36691102,0.6522089,-0.30455202,-0.33463576,0.26659817,0.8397864,-0.53790885,-0.17022859],[0.01408686,0.30261004,0.021707801,-0.11919521,-0.11240657,1.2420307,-0.90936786,-0.13186933,-0.0830583,0.39522758,-0.15010051,0.67393625,0.37087741,-0.2007352,-0.70529145,-0.46263382,0.12367665,0.1901094],[0.22501494,1.2126215,-0.04891412,0.11348339,0.10659557,1.1126171,-0.6577273,0.0517829,0.034891758,0.16096263,0.016899597,0.53799254,0.19248869,-0.099386215,-0.24717341,0.1219544,0.1654292,-0.6051804],[0.29689962,-1.252187,0.051804602,0.028222922,-0.63980806,-0.693479,0.9105569,-0.05222635,-0.4362798,0.45733297,-0.29413572,-0.5301683,-0.6064637,0.42068645,-0.02681922,-0.020214137,0.22010683,0.34188196]],"activation":"σ"},{"dense_2_W":[[-0.6086301,0.2085108,0.37262338,-0.9238916,-0.39440706,-0.531614,-0.13330653],[0.3900694,0.25841695,-0.506336,-0.87635046,-0.23827943,-0.22281836,0.14377734],[0.39564994,-0.52945167,0.4045585,-0.22950102,0.66113174,-0.55567765,-0.7538522],[0.1472609,0.4034027,-0.39680183,-0.01948131,-0.06318282,-0.40607718,0.54647887],[0.40735146,-0.76506615,0.15106998,-0.04639545,0.2356493,0.34029764,0.58116305],[0.17658016,-0.48829883,0.8479261,0.103093006,-0.085700735,-0.05685383,0.12873933],[-0.58091015,-0.36427772,-0.119214594,-0.15918592,-0.77523655,-0.78004694,0.03406656],[0.42519712,-0.15369514,0.0024256515,0.7537345,0.12914199,-0.19718027,0.2781377],[0.38494098,-0.8098266,1.6810417,-0.4136923,-0.33961916,0.15786585,-1.5184373],[0.19256154,0.4130768,-0.31395087,-0.5005648,-0.51987,-0.34723067,-0.081991576],[-0.49874434,-0.6762422,-0.09994346,0.09899775,0.06528094,-0.75826293,-0.5126717],[-0.35837945,0.36765984,0.8528636,-0.3219268,0.03151658,0.19896397,0.34016657],[-0.20404705,0.35541695,0.0011049275,-0.0022879532,-0.64204615,-0.5036561,-0.035362314]],"activation":"σ","dense_2_b":[[0.036364183],[-0.00221331],[-0.117371835],[-0.097624525],[0.009239539],[-0.091520816],[-0.23231187],[-0.016982464],[-0.54738104],[0.04596814],[-0.24534227],[-0.005133318],[-0.022278212]]},{"dense_3_W":[[-0.6959402,0.31169927,0.53220147,0.19400354,-0.31628206,0.26289627,0.32454082,0.41816694,-0.31043547,-0.67317456,0.65171415,-0.30771238,0.09026865],[0.38488102,0.31554824,-0.70509696,0.3893292,-0.10749988,-0.40098265,0.18507135,-0.11758874,-0.0043080114,0.6012859,0.25160068,-0.42651844,0.48249626],[0.7162551,0.64301497,-0.36417845,-0.037450142,-0.45597866,0.15023938,-0.0077365125,0.0701791,-0.71762145,0.18638995,0.018750757,0.14510971,0.41565806]],"activation":"identity","dense_3_b":[[0.030530091],[-0.0479702],[-0.053273804]]},{"dense_4_W":[[0.5025325,-1.0537963,-0.85901815]],"dense_4_b":[[0.04645968]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[8.261341],[1.0799276],[0.47439072],[0.035921823],[1.0769413],[1.0782329],[1.078946],[1.0603385],[1.0393461],[1.0079743],[0.97282183],[0.03575561],[0.03581589],[0.03587639],[0.035916228],[0.03587763],[0.03574848],[0.03554262]],"model_test_loss":0.00492028146982193,"input_size":18,"current_date_and_time":"2023-08-07_15-53-19","input_mean":[[21.97073],[-0.029600525],[0.0032512692],[0.0019785082],[-0.031247197],[-0.030642778],[-0.030970285],[-0.027264683],[-0.02531458],[-0.023465578],[-0.022579186],[0.001951127],[0.0019527602],[0.0019488906],[0.001962819],[0.001987138],[0.0018675312],[0.0017249424]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[-3.245048],[3.3935277],[-0.15662995],[-0.014851185],[-0.09243428],[-0.004402729],[0.0380219]],"dense_1_W":[[-0.5481877,-1.1734215,-0.45120606,0.034027565,-0.12534843,-0.4320663,0.08604743,0.20808327,-0.46957174,-0.24812324,0.19450486,-0.2840027,-0.29063642,0.8850254,0.1337479,0.12512524,-0.11077451,-0.10846867],[0.55359775,-0.78132075,-0.45535302,0.04589877,-0.23332703,-0.6900583,0.27111268,-0.2906912,-0.26810634,-0.0014484213,0.012803484,-0.4214593,0.14392284,0.39275578,0.4591555,0.20790677,-0.47720864,0.03637555],[-0.001160366,0.07135902,0.020283442,-0.11026379,-0.3300407,1.1425788,-0.8465417,-0.14491843,0.10389491,-0.094203144,0.08786806,0.58249265,-0.31260887,-0.24686775,0.25243184,-0.12136195,-0.14665185,0.10891337],[0.00075157254,0.018735576,-0.015033022,0.2552897,-0.07354839,0.36636823,-0.5266892,0.12183493,0.06295568,0.08566852,-0.0952725,0.33919626,0.36296552,-0.376174,-0.39300168,0.07231392,-0.20756865,-0.050174374],[-0.000663185,0.6687934,-0.021183483,-0.20696321,0.28176227,0.8060634,-0.5820421,-0.17129976,-0.0828522,0.009332605,0.15914959,0.06899979,-0.071527235,-0.21463287,0.2533481,0.31726366,-0.07277975,-0.18115173],[0.0028130943,-1.0741395,-3.5949726,-0.08878999,0.21987598,0.103467554,0.6372202,0.32599628,-0.5349482,-0.4875307,0.49166214,-0.50000715,0.108137466,0.38457507,0.040603124,0.52961135,-0.122126095,-0.14863239],[0.0012397681,-0.8501431,0.004625623,0.39065698,0.3043851,-0.7930684,0.51580155,-0.047317076,-0.22162919,0.1124854,0.017583156,-0.33733293,-0.13366492,0.6077388,0.29493827,0.16720308,-0.41922003,-0.117570505]],"activation":"σ"},{"dense_2_W":[[-0.05502436,-0.66888684,0.065067135,0.53669417,-0.01893934,0.36197692,0.01791807],[0.59498864,0.6528727,-0.38318837,-0.45497322,-0.08562961,-0.31445232,0.69590557],[-0.41835263,0.04931508,0.0073655155,0.6559025,0.22435378,-0.42106333,0.13407917],[0.29046017,-0.09791975,-0.41265818,-0.49019828,-0.6872615,-0.26517653,-0.3567036],[0.13606516,0.44112694,-0.57032704,-0.13413966,0.0034367347,0.24891582,0.16898009],[0.011530882,-0.15070426,-0.46052173,0.5160092,-0.38340572,0.1328647,-0.18670098],[0.3382954,-0.22624794,0.028343266,-0.62450606,-0.059560556,-0.16521035,0.595776],[-0.5985326,-0.5175321,0.53653544,0.20450565,-0.12380274,-0.101402126,0.21046633],[-0.10918766,0.7896873,-0.6037477,-0.021383286,-0.36211497,0.5407418,0.30803818],[-0.38357767,0.13743253,0.5462274,0.33449608,0.58031,-0.44345102,-0.26854265],[0.5908161,-0.21907422,0.20983866,-0.4897011,-0.59968626,-0.065551214,0.5250327],[0.3375154,0.43778437,-0.31592417,-0.13451315,-1.0115412,-0.32253185,0.66413474],[0.09797849,-0.3698204,0.04279515,0.25717175,0.30788177,-0.25584602,0.19880241]],"activation":"σ","dense_2_b":[[0.003746753],[-0.08357698],[0.006304543],[-0.24605891],[-0.07121214],[-0.015032947],[-0.09400678],[-0.0024056516],[-0.010130554],[0.014799146],[-0.060003918],[-0.07540407],[-0.03000076]]},{"dense_3_W":[[0.017942075,-0.6212448,-0.12496728,0.14162916,-0.2248813,0.49471742,0.18174668,0.67305565,-0.181309,0.61732584,-0.27006516,-0.049796086,0.12735644],[0.3594483,-0.31422514,0.66338825,-0.41523233,-0.47088245,-0.28914762,-0.116269276,0.29540908,-0.6357099,0.3832997,-0.06724131,-0.5605163,0.09249603],[0.21089882,-0.26488605,0.433047,0.35239476,0.3053993,0.25026608,-0.4875768,-0.38531804,-0.30042005,0.68175066,-0.5961486,0.07390234,0.31267327]],"activation":"identity","dense_3_b":[[0.02659904],[0.034767646],[0.024563152]]},{"dense_4_W":[[0.6525578,1.0061679,0.50279385]],"dense_4_b":[[0.032301653]],"activation":"identity"}]}
@@ -0,0 +1 @@
{"input_std":[[7.9325304],[1.0882362],[0.43774286],[0.04055885],[1.0919278],[1.0913655],[1.0900016],[1.0642537],[1.0437973],[1.014913],[0.9828307],[0.040379256],[0.04041959],[0.040456932],[0.04061512],[0.040622164],[0.040395677],[0.040053483]],"model_test_loss":0.012668303214013577,"input_size":18,"current_date_and_time":"2023-08-07_17-09-24","input_mean":[[22.347511],[-0.10092363],[0.011539685],[-0.024840366],[-0.10495763],[-0.104191564],[-0.103371926],[-0.0960919],[-0.088538796],[-0.081120916],[-0.073905],[-0.024927486],[-0.024909802],[-0.024889572],[-0.024763657],[-0.024654102],[-0.024695622],[-0.02485533]],"input_vars":["v_ego","lateral_accel","lateral_jerk","roll","lateral_accel_m03","lateral_accel_m02","lateral_accel_m01","lateral_accel_p03","lateral_accel_p06","lateral_accel_p10","lateral_accel_p15","roll_m03","roll_m02","roll_m01","roll_p03","roll_p06","roll_p10","roll_p15"],"output_size":1,"layers":[{"dense_1_b":[[2.777723],[-0.21736239],[0.06858174],[0.028778331],[-0.1341363],[-3.286173],[0.05866324]],"dense_1_W":[[0.9532825,-0.57736486,-0.3511588,0.6824505,-0.024612838,-0.4149641,-0.2517366,-0.38986352,-0.041095104,-0.23648082,-0.22857088,-0.52361864,0.59133035,-0.016187055,-0.30439842,-0.008700108,0.37054965,-0.3851146],[-1.2131011,-0.040348757,-0.030648885,0.07944047,-0.5089448,-0.17325257,-0.35811424,-0.39610377,-0.3414392,0.13268204,0.036754124,0.244627,-0.18363807,-0.29357588,0.14597428,-0.07848809,0.117397904,-0.0066551454],[-0.33372527,-0.8653413,-0.0204796,0.15082183,0.21337464,-1.1272148,0.6884098,0.10593993,-0.21011119,-0.019475536,0.060115736,-0.7099037,-0.3675179,0.98888445,-0.0021350337,-0.0023339558,0.034033813,-0.08632464],[-0.0087699555,0.47234085,-0.003936672,-0.08932229,-0.15217909,0.76968,-0.6072722,0.19957112,-0.1826489,0.28319913,-0.11377978,0.5678719,0.0690483,-0.4572559,-0.256832,-0.19453537,-0.1292364,0.26785675],[-0.20146403,-0.6867957,-0.021399295,-0.09085224,-0.13374451,-0.95356876,0.7412253,-0.0020842238,-0.32998958,0.29012066,-0.12927385,-0.17273527,0.046919394,0.31265458,-0.0067970203,0.049638614,-0.1646258,0.1021922],[-1.0781149,-1.9831505,-0.39170006,0.6552042,0.2507927,-0.7482493,0.69903153,0.11317306,-0.44421217,-0.17660317,-0.19381957,-0.40258512,0.057917267,0.6132898,0.2122239,-0.68616545,-0.016808815,0.009621946],[0.07036603,0.6711271,3.090535,0.5774168,-1.0394694,0.01879839,-0.89210445,0.5525633,1.0586205,0.27921924,-0.4908341,0.3026311,0.51791734,-0.2981133,-0.38711485,-0.3440137,-0.20040374,-0.14860815]],"activation":"σ"},{"dense_2_W":[[0.053376287,-0.27212048,-0.592167,-0.66140467,0.123351865,-0.45312202,-0.5552815],[-0.15174036,0.3456475,-0.72808313,-0.16873683,-0.87532926,-0.19756816,0.010091597],[0.32735926,0.2430751,-0.49615663,0.71439725,-0.11260843,-0.43778282,0.48608312],[0.5652805,-0.25033778,0.47545195,-0.27911112,0.3687969,0.25403744,-0.3056421],[0.4027308,0.06937314,-0.008849847,-0.09499983,0.50666314,-0.021115543,-0.31085667],[0.15451042,0.16761723,0.14800774,0.6163942,-0.77986425,-0.58117247,0.40439337],[-0.52235144,0.37827665,-0.83033717,0.8296531,0.2544118,-0.37235376,-0.1002346],[0.09825943,-0.60037464,0.65948284,-1.2040564,0.6021252,0.091694914,0.21354105],[-0.31508094,0.2741653,-0.7038115,0.279092,-0.13322929,0.11963509,-0.14818548],[0.20600095,-0.076976694,0.21097696,-0.76661587,0.3835434,-0.05707485,0.10319275],[0.62171084,-0.24905708,0.5991603,-0.52393246,0.49378031,-0.1764447,-0.21842895],[-0.20955467,0.22948128,0.26585734,-0.95675725,-0.113945276,0.6225702,-0.500622],[0.16029201,0.49023697,-0.6596639,0.25944898,-0.21170011,-0.20044534,-0.0025964344]],"activation":"σ","dense_2_b":[[-0.2663133],[-0.10525206],[-0.011656664],[-0.15913439],[-0.09004699],[0.038266346],[0.051478483],[-0.2926297],[-0.24159859],[-0.120620705],[-0.11021781],[-0.33539078],[0.00798126]]},{"dense_3_W":[[0.16740364,-0.068965144,-0.3025593,0.50858945,0.5449389,-0.24625476,-0.49794698,0.29956707,-0.30424193,-0.008103076,0.58150756,0.0818273,0.01633671],[0.4533966,-0.42790514,-0.31081665,0.5545747,0.38430354,-0.67824066,-0.5380451,0.05798864,0.105315335,0.27879745,0.52759033,-0.06383929,-0.3282453],[-0.5254706,0.061006207,-0.26732418,-0.028615523,0.17779939,-0.3987639,-0.033597037,0.12323639,0.024477432,0.33606854,0.38722304,0.18485908,-0.4257627]],"activation":"identity","dense_3_b":[[-0.057745293],[-0.045989405],[-0.043302864]]},{"dense_4_W":[[-0.6202967,-0.6532501,-1.0174378]],"dense_4_b":[[0.047135167]],"activation":"identity"}]}

Some files were not shown because too many files have changed in this diff Show More