From 80d702c866bf2fa1242ecda88d86f2b6e8abae3d Mon Sep 17 00:00:00 2001 From: James Vecellio-Grant <159560811+Discountchubbs@users.noreply.github.com> Date: Mon, 18 Aug 2025 13:02:17 -0700 Subject: [PATCH 01/12] models panel ui: live description for lagd toggle (#1139) * Handle decoding directly in ui bc why not * dynamic max --------- Co-authored-by: DevTekVE --- .../qt/offroad/settings/models_panel.cc | 50 +++++++++++++++++-- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/models_panel.cc b/selfdrive/ui/sunnypilot/qt/offroad/settings/models_panel.cc index dfdf79938a..413bd8a373 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/models_panel.cc +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/models_panel.cc @@ -110,10 +110,23 @@ ModelsPanel::ModelsPanel(QWidget *parent) : QWidget(parent) { list->addItem(lagd_toggle_control); // Software delay control + int liveDelayMaxInt = 30; + std::string liveDelayBytes = params.get("LiveDelay"); + if (!liveDelayBytes.empty()) { + capnp::FlatArrayMessageReader msg(kj::ArrayPtr( + reinterpret_cast(liveDelayBytes.data()), + liveDelayBytes.size() / sizeof(capnp::word))); + auto event = msg.getRoot(); + if (event.hasLiveDelay()) { + auto liveDelay = event.getLiveDelay(); + float lateralDelay = liveDelay.getLateralDelay(); + liveDelayMaxInt = static_cast(lateralDelay * 100.0f) + 20; + } + } delay_control = new OptionControlSP("LagdToggleDelay", tr("Adjust Software Delay"), tr("Adjust the software delay when Live Learning Steer Delay is toggled off." "\nThe default software delay value is 0.2"), - "", {5, 30}, 1, false, nullptr, true, true); + "", {5, liveDelayMaxInt}, 1, false, nullptr, true, true); connect(delay_control, &OptionControlSP::updateLabels, [=]() { float value = QString::fromStdString(params.get("LagdToggleDelay")).toFloat(); @@ -367,8 +380,39 @@ void ModelsPanel::updateLabels() { // Update lagdToggle description with current value QString desc = tr("Enable this for the car to learn and adapt its steering response time. " - "Disable to use a fixed steering response time. Keeping this on provides the stock openpilot experience. " - "The Current value is updated automatically when the vehicle is Onroad."); + "Disable to use a fixed steering response time. Keeping this on provides the stock openpilot experience."); + bool lagdEnabled = params.getBool("LagdToggle"); + if (lagdEnabled) { + std::string liveDelayBytes = params.get("LiveDelay"); + if (!liveDelayBytes.empty()) { + capnp::FlatArrayMessageReader msg(kj::ArrayPtr( + reinterpret_cast(liveDelayBytes.data()), + liveDelayBytes.size() / sizeof(capnp::word))); + auto event = msg.getRoot(); + if (event.hasLiveDelay()) { + auto liveDelay = event.getLiveDelay(); + float lateralDelay = liveDelay.getLateralDelay(); + desc += QString("

%1 %2 s") + .arg(tr("Live Steer Delay:")).arg(QString::number(lateralDelay, 'f', 2)); + } + } + } else { + std::string carParamsBytes = params.get("CarParamsPersistent"); + if (!carParamsBytes.empty()) { + capnp::FlatArrayMessageReader msg(kj::ArrayPtr( + reinterpret_cast(carParamsBytes.data()), + carParamsBytes.size() / sizeof(capnp::word))); + auto carParams = msg.getRoot(); + float steerDelay = carParams.getSteerActuatorDelay(); + float softwareDelay = QString::fromStdString(params.get("LagdToggleDelay")).toFloat(); + float totalLag = steerDelay + softwareDelay; + desc += QString("

" + "%1 %2 s + %3 %4 s = %5 %6 s") + .arg(tr("Actuator Delay:"), QString::number(steerDelay, 'f', 2), + tr("Software Delay:"), QString::number(softwareDelay, 'f', 2), + tr("Total Delay:"), QString::number(totalLag, 'f', 2)); + } + } lagd_toggle_control->setDescription(desc); delay_control->setVisible(!params.getBool("LagdToggle")); From 9e3a35035aeff4348422d033679c96836def1b96 Mon Sep 17 00:00:00 2001 From: Kirito3481 <47619491+Kirito3481@users.noreply.github.com> Date: Tue, 19 Aug 2025 14:24:53 +0900 Subject: [PATCH 02/12] Update ko-kr translation (#1167) --- selfdrive/ui/translations/main_ko.ts | 818 ++++++++++++++------------- 1 file changed, 417 insertions(+), 401 deletions(-) diff --git a/selfdrive/ui/translations/main_ko.ts b/selfdrive/ui/translations/main_ko.ts index e5a7c413ee..90bbfcaea3 100644 --- a/selfdrive/ui/translations/main_ko.ts +++ b/selfdrive/ui/translations/main_ko.ts @@ -32,7 +32,7 @@ Enter new tethering password - 새 테더링 비밀번호를 입력하세요 + 새 테더링 비밀번호 입력 IP Address @@ -52,11 +52,11 @@ leave blank for automatic configuration - 자동 설정하려면 빈 칸으로 두세요 + 자동 설정하려면 비워 두세요 Cellular Metered - 모바일 데이터 종량제 + 셀룰러 종량제 Hidden Network @@ -64,7 +64,7 @@ CONNECT - 연결됨 + 연결 Enter SSID @@ -72,15 +72,15 @@ Enter password - 비밀번호를 입력하세요 + 비밀번호 입력 for "%1" - "%1"에 접속하려면 비밀번호가 필요합니다 + "%1"의 비밀번호를 입력하세요 Prevent large data uploads when on a metered cellular connection - 모바일 데이터 종량제 사용 시 대용량 데이터 업로드 방지 + 데이터 사용량 제한이 있는 셀룰러 연결 시 대용량 데이터 업로드 방지 default @@ -96,58 +96,59 @@ Wi-Fi Network Metered - 제한된 Wi-Fi 네트워크 + Wi-Fi 네트워크 종량제 Prevent large data uploads when on a metered Wi-Fi connection - 제한된 Wi-Fi 사용 시 대용량 데이터 업로드 방지 + 데이터 사용량 제한이 있는 Wi-Fi 연결 시 대용량 데이터 업로드 방지 AutoLaneChangeTimer Auto Lane Change by Blinker - + 방향지시등을 이용한 자동 차로 변경 Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. - + 방향지시등을 사용할 때 자동 차로 변경 동작을 지연하도록 타이머를 설정하세요. 타이머가 설정되어 있으면 자동 차로 변경을 위해 핸들 조작이 필요하지 않습니다. 기본값은 핸들 조작 필요입니다. +이 기능을 사용할 때에는 주의하세요. 교통 및 도로 상황이 허용할 때에만 방향지시등을 사용하세요. s - + Off - + 사용 안 함 Nudge - + 핸들 조작 필요 Nudgeless - + 조작 필요 없음 Brightness Brightness - + 밝기 Overrides the brightness of the device. - + 기기 밝기를 직접 설정합니다. Auto (Dark) - + 자동 (어둡게) Auto - + 자동 @@ -173,7 +174,7 @@ Please use caution when using this feature. Only use the blinker when traffic an You must accept the Terms and Conditions in order to use sunnypilot. - + sunnypilot을 사용하려면 이용 약관에 동의해야 합니다. @@ -184,15 +185,15 @@ Please use caution when using this feature. Only use the blinker when traffic an Longitudinal Maneuver Mode - 가감속 제어 조작 모드 + 가감속 제어 모드 openpilot Longitudinal Control (Alpha) - 오픈파일럿 가감속 제어 (알파) + openpilot 가감속 제어 (알파) WARNING: openpilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). - 경고: 오픈파일럿 가감속 제어는 알파 기능으로 차량의 자동긴급제동(AEB)기능이 작동하지 않습니다. + 경고: 이 차량에서 openpilot 가감속 제어는 알파 단계이며 자동 긴급 제동(AEB)을 비활성화합니다. Enable ADB @@ -200,55 +201,58 @@ Please use caution when using this feature. Only use the blinker when traffic an ADB (Android Debug Bridge) allows connecting to your device over USB or over the network. See https://docs.comma.ai/how-to/connect-to-comma for more info. - ADB (안드로이드 디버그 브릿지) USB 또는 네트워크를 통해 장치에 연결할 수 있습니다. 자세한 내용은 https://docs.comma.ai/how-to/connect-to-comma를 참조하세요. + ADB(Android Debug Bridge)는 USB 또는 네트워크를 통해 기기에 연결할 수 있게 해줍니다. 자세한 내용은 https://docs.comma.ai/how-to/connect-to-comma 를 참고하세요. On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to openpilot longitudinal control. Enabling Experimental mode is recommended when enabling openpilot longitudinal control alpha. - + 이 차량에서는 openpilot의 가감속 제어 대신 sunnypilot이 차량의 내장 ACC를 기본값으로 사용합니다. +이를 활성화하면 openpilot 가감속 제어로 전환합니다. +openpilot 가감속 제어(알파)를 활성화할 때는 실험적 모드 활성화를 권장합니다. DeveloperPanelSP Show Advanced Controls - + 고급 설정 표시 Toggle visibility of advanced sunnypilot controls. This only toggles the visibility of the controls; it does not toggle the actual control enabled/disabled state. - + sunnypilot 고급 설정의 표시 여부를 전환합니다. +이 설정은 설정의 표시 여부만 전환하며, 실제 기능의 켜짐/꺼짐 상태는 바꾸지 않습니다. Enable GitHub runner service - + GitHub runner 서비스 사용 Enables or disables the github runner service. - + GitHub Runner 서비스를 켜거나 끕니다. Enable Quickboot Mode - + 빠른 부팅 모드 사용 Error Log - + 오류 로그 VIEW - 보기 + 보기 View the error log for sunnypilot crashes. - + sunnypilot 충돌에 대한 오류 로그를 확인하세요. When toggled on, this creates a prebuilt file to allow accelerated boot times. When toggled off, it immediately removes the prebuilt file so compilation of locally edited cpp files can be made. <br><br><b>To edit C++ files locally on device, you MUST first turn off this toggle so the changes can recompile.</b> - + 토글을 켜면 부팅 시간을 단축하기 위해 미리 빌드된 파일을 생성합니다. 토글을 끄면 로컬에서 편집한 cpp 파일을 컴파일할 수 있도록 해당 미리 빌드된 파일을 즉시 제거합니다. <br><br><b>기기에서 C++ 파일을 로컬로 편집하려면, 변경 사항이 다시 컴파일될 수 있도록 반드시 이 토글을 먼저 꺼야 합니다.</b> Quickboot mode requires updates to be disabled.<br>Enable 'Disable Updates' in the Software panel first. - + 빠른 부팅 모드는 업데이트가 비활성화되어 있어야 합니다.<br>먼저 소프트웨어 패널에서 '업데이트 비활성화'를 활성화하세요. @@ -263,7 +267,7 @@ This only toggles the visibility of the controls; it does not toggle the actual Serial - 시리얼 + 일련번호 Driver Camera @@ -275,7 +279,7 @@ This only toggles the visibility of the controls; it does not toggle the actual Preview the driver facing camera to ensure that driver monitoring has good visibility. (vehicle must be off) - 운전자 모니터링이 잘 되는지 확인하기 위해 후면 카메라를 미리 봅니다. (차량 시동이 꺼져 있어야 합니다) + 운전자 모니터링이 잘 보이는지 확인하기 위해 운전자 방향 카메라를 미리 확인하세요. (차량은 시동이 꺼져 있어야 합니다) Reset Calibration @@ -331,7 +335,7 @@ This only toggles the visibility of the controls; it does not toggle the actual Your device is pointed %1° %2 and %3° %4. - 사용자의 장치는 %2 %1° 및 %4 %3° 의 방향으로 장착되어 있습니다. + 사용자의 기기는 %2 %1° 및 %4 %3° 의 방향으로 장착되어 있습니다. down @@ -375,23 +379,23 @@ This only toggles the visibility of the controls; it does not toggle the actual Pair your device with comma connect (connect.comma.ai) and claim your comma prime offer. - 장치를 comma connect (connect.comma.ai)에서 동기화하고 comma prime 무료 이용권을 사용하세요. + 기기를 comma connect (connect.comma.ai)와 페어링하고 comma prime 혜택을 받으세요. Pair Device - 장치 동기화 + 기기 페어링 PAIR - 동기화 + 페어링 Disengage to Reset Calibration - 캘리브레이션을 재설정하려면 해제하세요 + 캘리브레이션을 초기화하려면 해제하세요 openpilot is continuously calibrating, resetting is rarely required. Resetting calibration will restart openpilot if the car is powered on. - 오픈파일럿은 지속적으로 갤리브레이션되어 재설정이 거의 필요하지 않습니다. 차량과 연결된 경우 캘리브레이션 재설정이 오픈파일럿을 재시작합니다. + openpilot은 지속적으로 캘리브레이션을 수행하며, 캘리브레이션 초기화가 필요한 경우는 드뭅니다. 차량 전원이 켜져 있는 상태에서 캘리브레이션을 초기화하면 openpilot이 재시작됩니다. @@ -399,7 +403,7 @@ This only toggles the visibility of the controls; it does not toggle the actual Steering lag calibration is %1% complete. -조향 지연 캘리브레이션이 %1% 진행되었습니다. +조향 지연 캘리브레이션이 %1% 완료되었습니다. @@ -411,7 +415,7 @@ Steering lag calibration is complete. Steering torque response calibration is %1% complete. - 조향 토크 응답 캘리브레이션이 %1% 진행되었습니다. + 조향 토크 응답 캘리브레이션이 %1% 완료되었습니다. Steering torque response calibration is complete. @@ -419,150 +423,151 @@ Steering lag calibration is complete. Review the rules, features, and limitations of sunnypilot - + sunnypilot의 규칙, 기능 및 제한 사항을 검토하세요. sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. - + sunnypilot은 기기를 좌우 4° 이내, 위로는 5° 이내, 아래로는 9° 이내로 장착해야 합니다. DevicePanelSP Quiet Mode - + 정숙 모드 Driver Camera Preview - + 운전자 카메라 미리보기 Training Guide - + 교육 가이드 Regulatory - 규제 + 규제 Language - + 언어 Reset Settings - + 설정 초기화 Are you sure you want to review the training guide? - 트레이닝 가이드를 다시 확인하시겠습니까? + 교육 가이드를 검토하시겠습니까? Review - 다시보기 + 검토 Select a language - 언어를 선택하세요 + 언어를 선택하세요 Wake-Up Behavior - + 깨우기 동작 Interactivity Timeout - + 상호작용 타임아웃 Apply a custom timeout for settings UI. This is the time after which settings UI closes automatically if user is not interacting with the screen. - + 설정 화면에 사용자 지정 타임아웃을 적용하세요. +사용자가 화면과 상호작용하지 않으면 설정 화면이 자동으로 닫히는 시간입니다. Reboot - 재부팅 + 재부팅 Power Off - 전원 끄기 + 전원 끄기 Offroad Mode - + 오프로드 모드 Are you sure you want to exit Always Offroad mode? - + 항상 오프로드 모드를 종료하시겠습니까? Confirm - + 확인 Are you sure you want to enter Always Offroad mode? - + 항상 오프로드 모드로 진입하시겠습니까? Disengage to Enter Always Offroad Mode - + 항상 오프로드 모드로 진입하려면 해제하세요 Are you sure you want to reset all sunnypilot settings to default? Once the settings are reset, there is no going back. - + 모든 Sunnypilot 설정을 기본값으로 재설정하시겠습니까? 설정을 재설정하면 되돌릴 수 없습니다. Reset - 초기화 + 재설정 The reset cannot be undone. You have been warned. - + 재설정은 되돌릴 수 없습니다. 경고 드립니다. Exit Always Offroad - + 항상 오프로드 종료 Always Offroad - + 항상 오프로드 ⁍ Default: Device will boot/wake-up normally & will be ready to engage. - + ⁍ 기본값: 기기가 정상적으로 부팅/절전 모드에서 해제되며, 작동 준비가 완료됩니다. ⁍ Offroad: Device will be in Always Offroad mode after boot/wake-up. - + ⁍ 오프로드: 부팅/절전 해제 후 기기가 항상 오프로드 모드로 유지됩니다. Controls state of the device after boot/sleep. - + 부팅/절전 모드 후 기기의 상태를 제어합니다. DriveStats Drives - + 주행 Hours - + 시간 ALL TIME - + 전체 기간 PAST WEEK - + 지난주 KM - + KM Miles - + mi @@ -576,61 +581,63 @@ This is the time after which settings UI closes automatically if user is not int ExitOffroadButton Are you sure you want to exit Always Offroad mode? - + 항상 오프로드 모드를 종료하시겠습니까? Confirm - + 확인 EXIT ALWAYS OFFROAD MODE - + 항상 오프로드 모드 종료 ExperimentalModeButton EXPERIMENTAL MODE ON - 실험 모드 사용 + 실험 모드 켜짐 CHILL MODE ON - 안정 모드 사용 + 안정 모드 켜짐 FirehosePanel Firehose Mode: ACTIVE - 파이어호스 모드: 활성화 + Firehose 모드: 활성 ACTIVE - 활성 상태 + 활성 <b>%n segment(s)</b> of your driving is in the training dataset so far. - <b>%n 구간</b> 의 운전이 지금까지의 학습 데이터셋에 포함되어 있습니다. + <b>%n개 구간</b> 의 주행이 현재까지 학습 데이터셋에 포함되어 있습니다. <span stylesheet='font-size: 60px; font-weight: bold; color: #e74c3c;'>INACTIVE</span>: connect to an unmetered network - <span stylesheet='font-size: 60px; font-weight: bold; color: #e74c3c;'>비활성 상태</span>: 무제한 네트워크에 연결 하세요 + <span stylesheet='font-size: 60px; font-weight: bold; color: #e74c3c;'>비활성</span>: 무제한 네트워크에 연결 하세요 Firehose Mode - 파이어호스 모드 + Firehose 모드 sunnypilot learns to drive by watching humans, like you, drive. Firehose Mode allows you to maximize your training data uploads to improve openpilot's driving models. More data means bigger models, which means better Experimental Mode. - + sunnypilot은 당신과 같은 사람들의 운전을 보면서 스스로 운전을 배웁니다. + +Firehose 모드를 사용하면 훈련 데이터 업로드를 극대화하여 openpilot의 운전 모델을 개선할 수 있습니다. 더 많은 데이터는 더 큰 모델을 의미하며, 이는 더 나은 실험 모드를 의미합니다. For maximum effectiveness, bring your device inside and connect to a good USB-C adapter and Wi-Fi weekly.<br><br>Firehose Mode can also work while you're driving if connected to a hotspot or unlimited SIM card.<br><br><br><b>Frequently Asked Questions</b><br><br><i>Does it matter how or where I drive?</i> Nope, just drive as you normally would.<br><br><i>Do all of my segments get pulled in Firehose Mode?</i> No, we selectively pull a subset of your segments.<br><br><i>What's a good USB-C adapter?</i> Any fast phone or laptop charger should be fine.<br><br><i>Does it matter which software I run?</i> Yes, only upstream sunnypilot (and particular forks) are able to be used for training. - + 최대 효과를 위해 기기를 실내로 가져와 좋은 USB-C 어댑터와 Wi-Fi에 매주 연결하세요.<br><br>핫스팟이나 무제한 SIM 카드에 연결되어 있다면 운전 중에도 Firehose 모드를 사용할 수 있습니다.<br><br><br><b>자주 묻는 질문</b><br><br><i>운전 방식이나 장소가 중요한가요?</i> 아니요, 평소처럼 운전하시면 됩니다.<br><br><i>모든 세그먼트가 Firehose 모드로 가져와지나요?</i> 아니요, 세그먼트의 일부만 선택적으로 가져옵니다.<br><br><i>좋은 USB-C 어댑터는 무엇인가요?</i> 모든 고속 휴대폰 또는 노트북 충전기는 괜찮습니다.<br><br><i>어떤 소프트웨어를 실행하는지가 중요한가요?</i> 예, 업스트림 sunnypilot(및 특정 포크)만 훈련에 사용할 수 있습니다. @@ -645,50 +652,50 @@ Firehose Mode allows you to maximize your training data uploads to improve openp MAX - MAX + 최대 HyundaiSettings Off - + 사용 안 함 Dynamic - + 동적 Predictive - + 예측 Custom Longitudinal Tuning - + 사용자 지정 가감속 튜닝 This feature can only be used with openpilot longitudinal control enabled. - + 이 기능은 openpilot 가감속 제어가 활성화된 경우에만 사용할 수 있습니다. Enable "Always Offroad" in Device panel, or turn vehicle off to select an option. - + 옵션을 선택하려면 기기 패널에서 "항상 오프로드"를 활성화하거나, 차량의 시동을 끄세요. Off: Uses default tuning - + 사용 안 함: 기본 튜닝을 사용합니다 Dynamic: Adjusts acceleration limits based on current speed - + 동적: 현재 속도에 따라 가속 제한을 조정합니다. Predictive: Uses future trajectory data to anticipate needed adjustments - + 예측: 향후 주행 궤적 데이터를 활용해 필요한 조정을 미리 파악합니다. Fine-tune your driving experience by adjusting acceleration smoothness with openpilot longitudinal control. - + openpilot 가감속 제어의 가속 부드러움을 조정하여 주행 경험을 세밀하게 조정하세요. @@ -708,311 +715,312 @@ Firehose Mode allows you to maximize your training data uploads to improve openp LaneChangeSettings Back - 뒤로 + 뒤로 Auto Lane Change: Delay with Blind Spot - + 자동 차로 변경: 사각지대 감지 시 지연 Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. - + 토글을 켜면 사각지대 모니터링(BSM)이 가로막는 차량을 감지할 때 차로 변경을 안전하게 수행할 수 있도록 지연 타이머를 활성화합니다. LateralPanel Modular Assistive Driving System (MADS) - + 모듈형 보조 주행 시스템 (MADS) Enable the beloved MADS feature. Disable toggle to revert back to stock sunnypilot engagement/disengagement. - + 인기 있는 MADS 기능을 활성화하세요. 토글을 끄면 기본 sunnypilot 작동/해제 방식으로 되돌아갑니다. Customize MADS - + MADS 사용자 지정 Customize Lane Change - + 차로 변경 사용자 지정 Pause Lateral Control with Blinker - + 방향지시등으로 조향 제어 일시 중지 Pause lateral control with blinker when traveling below the desired speed selected. - + 설정한 속도보다 낮은 속도로 주행 중일 때 방향지시등으로 조향 제어를 일시 중지합니다. Enables independent engagements of Automatic Lane Centering (ALC) and Adaptive Cruise Control (ACC). - + 차로 중앙 유지(ALC) 및 어댑티브 크루즈 컨트롤(ACC) 기능을 독립적으로 사용할 수 있습니다. Start the vehicle to check vehicle compatibility. - + 차량 호환성을 확인하려면 차량 시동을 걸어주세요. This platform supports all MADS settings. - + 이 플랫폼은 모든 MADS 설정을 지원합니다. This platform supports limited MADS settings. - + 이 플랫폼은 제한된 MADS 설정을 지원합니다. LongitudinalPanel Custom ACC Speed Increments - + 사용자 지정 ACC 속도 조절 단위 Enable custom Short & Long press increments for cruise speed increase/decrease. - + 크루즈 속도 증가/감소 시 짧게 누르기 및 길게 누르기 단위를 개별 설정합니다. This feature can only be used with openpilot longitudinal control enabled. - + 이 기능은 openpilot의 가감속 제어가 활성화되어 있어야만 사용할 수 있습니다. This feature is not supported on this platform due to vehicle limitations. - + 이 기능은 차량 제한으로 인해 이 플랫폼에서 지원되지 않습니다. Start the vehicle to check vehicle compatibility. - + 차량 호환성을 확인하려면 차량 시동을 걸어주세요. MadsSettings Toggle with Main Cruise - + 메인 크루즈와 연동 Unified Engagement Mode (UEM) - + 통합 주행 보조 모드 (UEM) Steering Mode on Brake Pedal - + 브레이크 조작 시 조향 모드 Note: For vehicles without LFA/LKAS button, disabling this will prevent lateral control engagement. - + 참고: LFA/LKAS 버튼이 없는 차량의 경우, 이 기능을 비활성화하면 조향 제어가 작동하지 않습니다. Engage lateral and longitudinal control with cruise control engagement. - + 크루즈 컨트롤을 켜면 가감속과 조향을 동시에 시작합니다. Note: Once lateral control is engaged via UEM, it will remain engaged until it is manually disabled via the MADS button or car shut off. - + 참고: 통합 주행 보조 모드(UEM)로 조향 제어가 작동하면, MADS 버튼으로 직접 끄거나 차량 시동을 끄기 전까지 계속 유지됩니다. Start the vehicle to check vehicle compatibility. - + 차량 호환성을 확인하려면 차량 시동을 걸어주세요. This feature defaults to OFF, and does not allow selection due to vehicle limitations. - + 이 기능은 차량의 한계로 인해 기본적으로 비활성화되어 있으며, 선택할 수 없습니다. This feature defaults to ON, and does not allow selection due to vehicle limitations. - + 이 기능은 차량의 한계로 인해 기본적으로 활성화되어 있으며, 선택할 수 없습니다. This platform only supports Disengage mode due to vehicle limitations. - + 이 플랫폼은 차량의 한계로 인해 '해제 모드'만 지원합니다. Remain Active - + 계속 활성 유지 Remain Active: ALC will remain active when the brake pedal is pressed. - + 계속 활성 유지: 브레이크 페달을 밟아도 차로 유지 보조(ALC) 기능이 계속 작동합니다. Pause - + 일시 정지 Pause: ALC will pause when the brake pedal is pressed. - + 일시 정지: 브레이크 페달을 밟으면 차로 유지 보조(ALC) 기능이 일시 정지됩니다. Disengage - + 해제 Disengage: ALC will disengage when the brake pedal is pressed. - + 해제: 브레이크 페달을 밟으면 차로 유지 보조(ALC) 기능이 해제됩니다. Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. - + 브레이크 페달을 직접 밟았을 때 자동 차로 중앙 유지(ALC) 기능이 어떻게 작동할지 선택하세요. MaxTimeOffroad Max Time Offroad - + 최대 오프로드 시간 Device will automatically shutdown after set time once the engine is turned off.<br/>(30h is the default) - + 차량 시동이 꺼지면 설정된 시간이 지난 후 기기가 자동으로 꺼집니다.<br/>(기본값은 30시간입니다) Always On - + 켜짐 유지 h - + 시간 m - + (default) - + (기본값) ModelsPanel Current Model - + 현재 모델 SELECT - 선택 + 선택 Clear Model Cache - + 모델 캐시 지우기 CLEAR - + 지우기 Driving Model - + 주행 모델 Navigation Model - + 내비게이션 모델 Vision Model - + 비전 모델 Policy Model - + 정책 모델 Live Learning Steer Delay - + 조향 지연 실시간 학습 Adjust Software Delay - + 소프트웨어 지연 조절 Adjust the software delay when Live Learning Steer Delay is toggled off. The default software delay value is 0.2 - + 조향 지연 실시간 학습 기능이 꺼져 있을 때, 소프트웨어 지연을 조절합니다. +기본값은 0.2입니다. %1 - %2 - + %1 - %2 downloaded - + 다운로드 완료 ready - + 준비 완료 from cache - + 캐시에서 가져옴 download failed - %1 - + 다운로드 실패 - %1 pending - %1 - + 대기 중 - %1 Fetching models... - + 모델 가져오는 중... Select a Model - + 모델 선택 Default - + 기본값 Enable this for the car to learn and adapt its steering response time. Disable to use a fixed steering response time. Keeping this on provides the stock openpilot experience. The Current value is updated automatically when the vehicle is Onroad. - + 이 기능을 켜면 차량이 스스로 핸들 반응 속도를 학습하고 맞춥니다. 끄면 고정된 핸들 반응 속도를 사용합니다. 이 기능을 켜두는 것이 기본 openpilot 경험을 제공합니다. 차량이 주행 중일 때 현재 값이 자동으로 업데이트됩니다. Model download has started in the background. - + 모델 다운로드가 백그라운드에서 시작되었습니다. We STRONGLY suggest you to reset calibration. - + 캘리브레이션을 초기화하는 것을 강력히 권장합니다. Would you like to do that now? - + 지금 바로 하시겠습니까? Reset Calibration - 캘리브레이션 + 캘리브레이션 초기화 Driving Model Selector - + 주행 모델 선택기 This will delete ALL downloaded models from the cache<br/><u>except the currently active model</u>.<br/><br/>Are you sure you want to continue? - + <u>현재 사용 중인 모델을 제외한</u><br/>모든 다운로드된 모델이 캐시에서 삭제됩니다.<br/><br/>계속 진행하시겠습니까? Clear Cache - + 캐시 지우기 Warning: You are on a metered connection! - + 경고: 데이터 사용량 제한이 있는 네트워크에 연결되어 있습니다! Continue - 계속 + 계속 on Metered - + 데이터 사용량 제한 네트워크 사용 Cancel - 취소 + 취소 @@ -1049,70 +1057,70 @@ The default software delay value is 0.2 NetworkingSP Scan - + 검색 Scanning... - + 검색 중... NeuralNetworkLateralControl Neural Network Lateral Control (NNLC) - + 신경망 기반 조향 제어 (NNLC) NNLC is currently not available on this platform. - + 이 플랫폼에서는 현재 NNLC를 사용할 수 없습니다. Start the car to check car compatibility - + 차량 호환성을 확인하려면 차량 시동을 걸어주세요. NNLC Not Loaded - + NNLC가 불러와지지 않음 NNLC Loaded - + NNLC가 불러와짐 Match - + 일치 Exact - + 정확 Fuzzy - + 유사 Match: "Exact" is ideal, but "Fuzzy" is fine too. - + 일치: "정확"이 가장 좋지만, "유사"도 괜찮습니다. Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. - + 과거 <b>"NNFF"</b>라고 불렸던 이 기능은 기존의 조향 <b>"토크"</b> 제어기를 대체합니다. 이는 각 차량의 주행 데이터(더 정확히는, 각기 다른 EPS 펌웨어 데이터)를 기반으로 훈련된 신경망을 사용하여 제어 정확도를 높이기 위함입니다. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server - + sunnypilot 팀에게 연락하시려면, sunnypilot Discord 서버 내의 다음 채널을 이용해 주세요. with feedback, or to provide log data for your car if your car is currently unsupported: - + 피드백을 보내거나, 현재 지원되지 않는 차량의 로그 데이터를 제공하고 싶을 때: if there are any issues: - + 문제가 발생하면: and donate logs to get NNLC loaded for your car: - + 그리고 차량에 NNLC가 활성화될 수 있도록 로그를 제공하려면: @@ -1125,11 +1133,11 @@ The default software delay value is 0.2 Taking camera snapshots. System won't start until finished. - 카메라 스냅샷 찍기가 완료될 때까지 시스템이 시작되지 않습니다. + 카메라 스냅샷을 촬영하는 중입니다. 완료될 때까지 시스템이 시작되지 않습니다. An update to your device's operating system is downloading in the background. You will be prompted to update when it's ready to install. - 백그라운드에서 운영 체제에 대한 업데이트가 다운로드되고 있습니다. 설치가 준비되면 업데이트 메시지가 표시됩니다. + 기기 운영체제 업데이트가 백그라운드에서 다운로드 중입니다. 설치가 준비되면 업데이트를 진행하라는 메시지가 표시됩니다. NVMe drive not mounted. @@ -1137,11 +1145,11 @@ The default software delay value is 0.2 Device temperature too high. System cooling down before starting. Current internal component temperature: %1 - 장치 온도가 너무 높습니다. 시작하기 전에 시스템을 냉각하고 있습니다. 현재 내부 구성 요소 온도: %1 + 기기 온도가 너무 높습니다. 시스템이 시작하기 전에 온도를 낮추고 있습니다. 현재 내부 부품 온도는 %1입니다. Device failed to register with the comma.ai backend. It will not connect or upload to comma.ai servers, and receives no support from comma.ai. If this is a device purchased at comma.ai/shop, open a ticket at https://comma.ai/support. - 장치를 comma.ai 백엔드에 등록하지 못했습니다. comma.ai 서버에 연결하거나 업로드하지 않으며 comma.ai로부터 지원을받지 않습니다. comma.ai shop에서 구매 한 장치 인 경우 https://comma.ai/support에서 티켓을 여십시오. + 기기가 comma.ai 서버에 등록되지 못했습니다. 따라서 comma.ai 서버에 연결하거나 데이터를 업로드할 수 없으며, comma.ai의 지원도 받을 수 없습니다. 만약 이 기기를 comma.ai/shop에서 구매했다면, https://comma.ai/support에서 지원 티켓을 열어주세요. Acknowledge Excessive Actuation @@ -1153,29 +1161,31 @@ The default software delay value is 0.2 openpilot detected excessive %1 actuation on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. - + openpilot이 지난 주행에서 과도한 %1 작동을 감지했습니다. 문제 해결을 위해 https://comma.ai/support로 지원팀에 연락하시고, 사용 중인 기기의 동글 ID를 공유해 주세요. Immediately connect to the internet to check for updates. If you do not connect to the internet, sunnypilot won't engage in %1 - + 즉시 인터넷에 연결하여 업데이트를 확인하세요. 인터넷에 연결하지 않으면, %1 후 sunnypilot이 비활성화됩니다. Connect to internet to check for updates. sunnypilot won't automatically start until it connects to internet to check for updates. - + 업데이트를 확인하려면 인터넷에 연결해 주세요. 인터넷에 연결하여 업데이트를 확인할 때까지 sunnypilot은 자동으로 시작되지 않습니다. sunnypilot was unable to identify your car. Your car is either unsupported or its ECUs are not recognized. Please submit a pull request to add the firmware versions to the proper vehicle. Need help? Join discord.comma.ai. - + sunnypilot이 당신의 차량을 식별하지 못했습니다. 현재 차량은 지원되지 않거나, 차량의 ECU가 인식되지 않습니다. 올바른 차량에 펌웨어 버전을 추가하는 풀 리퀘스트를 제출해 주세요. 도움이 필요하면 discord.comma.ai에 참여하세요. sunnypilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. - + sunnypilot이 기기의 장착 위치 변화를 감지했습니다. 기기가 마운트에 완전히 장착되었는지, 그리고 마운트가 앞유리에 단단히 고정되었는지 확인하세요. OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. %1 - + OpenStreetMap 데이터베이스가 최신이 아닙니다. 향상된 속도 제어 및 도로명 표시를 위해 OpenStreetMap 데이터를 계속 사용하려면, 새로운 지도를 다운로드해야 합니다. + +%1 @@ -1197,184 +1207,188 @@ The default software delay value is 0.2 OffroadHomeSP ALWAYS OFFROAD ACTIVE - + 항상 오프로드 활성 상태 OnroadAlerts TAKE CONTROL IMMEDIATELY - 핸들을 잡아주세요 + 즉시 제어하세요 Reboot Device - 장치를 재부팅하세요 + 기기 재부팅 Waiting to start - 시작을 기다리는중 + 시작 대기 중 System Unresponsive - 시스템이 응답하지않습니다 + 시스템 응답 없음 sunnypilot Unavailable - + sunnypilot 사용 불가 OsmPanel Mapd Version - + Mapd 버전 Offline Maps ETA - + 오프라인 지도 남은 예상 시간 Time Elapsed - + 경과 시간 Downloaded Maps - + 다운로드된 지도 DELETE - + 삭제 This will delete ALL downloaded maps Are you sure you want to delete all the maps? - + 다운로드된 모든 지도가 삭제됩니다. + +모든 지도를 정말로 삭제하시겠습니까? Yes, delete all the maps. - + 네, 모든 지도를 삭제합니다. Database Update - + 데이터베이스 업데이트 CHECK - 확인 + 확인 Country - + 국가 SELECT - 선택 + 선택 Fetching Country list... - + 국가 목록 불러오는 중... State - + Fetching State list... - + 주 목록 불러오는 중... All - + 전체 REFRESH - + 새로 고침 UPDATE - 업데이트 + 업데이트 Download starting... - + 다운로드 시작 중... Error: Invalid download. Retry. - + 오류: 유효하지 않은 다운로드입니다. 다시 시도해 주세요. Download complete! - + 다운로드 완료! Warning: You are on a metered connection! - + + +경고: 데이터 사용량 제한이 있는 네트워크에 연결되어 있습니다! This will start the download process and it might take a while to complete. - + 다운로드 절차를 시작합니다. 완료하는 데 시간이 다소 걸릴 수 있습니다. Continue on Metered - + 데이터 사용량 제한 네트워크로 계속 Start Download - + 다운로드 시작 m - + s - + Calculating... - + 계산 중... Downloaded - + 다운로드됨 Calculating ETA... - + 남은 예상 시간 계산 중... Ready - + 준비 완료 Time remaining: - + 남은 시간: PairingPopup Pair your device to your comma account - 장치를 comma 계정에 동기화합니다 + 기기를 comma 계정에 페어링하세요. Go to https://connect.comma.ai on your phone - https://connect.comma.ai에 접속하세요 + 휴대폰에서 https://connect.comma.ai로 이동하세요. Click "add new device" and scan the QR code on the right - "새 장치 추가"를 클릭하고 오른쪽 QR 코드를 스캔하세요 + "새 기기 추가"를 누르고 오른쪽에 있는 QR 코드를 스캔하세요. Bookmark connect.comma.ai to your home screen to use it like an app - connect.comma.ai를 앱처럼 사용하려면 홈 화면에 바로가기를 만드세요 + connect.comma.ai를 홈 화면에 북마크하여 앱처럼 사용하세요. Please connect to Wi-Fi to complete initial pairing - 초기 동기화를 완료하려면 Wi-Fi에 연결하세요. + 초기 페어링을 완료하려면 Wi-Fi에 연결해 주세요. @@ -1392,90 +1406,90 @@ Warning: You are on a metered connection! ParamControlSP Enable - 활성화 + 활성화 Cancel - 취소 + 취소 PlatformSelector Vehicle - + 차량 SEARCH - + 검색 Search your vehicle - + 차량 검색 Enter model year (e.g., 2021) and model name (Toyota Corolla): - + 차량 연식(예: 2021)과 모델명(예: Toyota Corolla)을 입력하세요: SEARCHING - + 검색 중 REMOVE - 삭제 + 제거 This setting will take effect immediately. - + 이 설정은 즉시 적용됩니다. This setting will take effect once the device enters offroad state. - + 이 설정은 기기가 오프로드 상태에 진입하면 적용됩니다. Vehicle Selector - + 차량 선택기 Confirm - + 확인 Cancel - 취소 + 취소 No vehicles found for query: %1 - + 입력한 정보와 일치하는 차량을 찾을 수 없습니다: %1 Select a vehicle - + 차량 선택 Unrecognized Vehicle - + 인식할 수 없는 차량 Fingerprinted automatically - + 자동으로 지문 인식됨 Manually selected - + 수동으로 선택됨 Not fingerprinted or manually selected - + 지문 인식이 되지 않았거나 수동으로 선택되지 않음 Select vehicle to force fingerprint manually. - + 수동으로 지문 인식을 강제할 차량을 선택하세요. Colors represent fingerprint status: - + 색상은 지문 인식 상태를 나타냅니다: @@ -1486,11 +1500,11 @@ Warning: You are on a metered connection! Become a comma prime member at connect.comma.ai - connect.comma.ai에서 comma prime 사용자로 등록하세요 + connect.comma.ai에서 comma 프라임 회원이 되세요. PRIME FEATURES: - PRIME 기능: + 프라임 기능: Remote access @@ -1498,11 +1512,11 @@ Warning: You are on a metered connection! 24/7 LTE connectivity - 항상 LTE 연결 + 24시간 7일 LTE 연결 1 year of drive storage - 1년간 주행 로그 저장 + 1년치 주행 기록 저장 공간 Remote snapshots @@ -1513,11 +1527,11 @@ Warning: You are on a metered connection! PrimeUserWidget ✓ SUBSCRIBED - ✓ 구독함 + ✓ 구독됨 comma prime - comma prime + comma 프라임 @@ -1546,7 +1560,7 @@ Warning: You are on a metered connection! sunnypilot - + sunnypilot @@ -1557,7 +1571,7 @@ Warning: You are on a metered connection! Device - 장치 + 기기 Network @@ -1577,96 +1591,96 @@ Warning: You are on a metered connection! Firehose - 파이어호스 + Firehose SettingsWindowSP × - × + × Device - 장치 + 기기 Network - 네트워크 + 네트워크 sunnylink - + sunnylink Toggles - 토글 + 토글 Software - 소프트웨어 + 소프트웨어 Models - + 모델 Steering - + 조향 Cruise - + 크루즈 Visuals - + 시각 효과 OSM - + OSM Trips - + 주행 기록 Vehicle - + 차량 Firehose - 파이어호스 + Firehose Developer - 개발자 + 개발자 SetupWidget Finish Setup - 설정 완료 + 설정 완료하기 Pair your device with comma connect (connect.comma.ai) and claim your comma prime offer. - 장치를 comma connect (connect.comma.ai)에서 동기화하고 comma prime 무료 이용권을 사용하세요. + 기기를 comma connect (connect.comma.ai)와 페어링하고 comma prime 혜택을 받으세요. Pair device - 장치 동기화 + 기기 페어링 Sidebar CONNECT - 커넥트 + CONNECT OFFLINE - 연결 안됨 + 오프라인 ONLINE @@ -1686,11 +1700,11 @@ Warning: You are on a metered connection! GOOD - 좋음 + 정상 OK - OK + 양호 VEHICLE @@ -1698,11 +1712,11 @@ Warning: You are on a metered connection! NO - NO + 판다 PANDA - PANDA + 없음 -- @@ -1714,7 +1728,7 @@ Warning: You are on a metered connection! ETH - LAN + 이더넷 2G @@ -1737,34 +1751,34 @@ Warning: You are on a metered connection! SidebarSP DISABLED - + 비활성화됨 OFFLINE - 연결 안됨 + 오프라인 REGIST... - + 등록 중... ONLINE - 온라인 + 온라인 ERROR - 오류 + 오류 SUNNYLINK - + SUNNYLINK SoftwarePanel Updates are only downloaded while the car is off. - 업데이트는 차량 시동이 꺼졌을 때 다운로드됩니다. + 업데이트는 차량 시동이 꺼져 있을 때만 다운로드됩니다. Current Version @@ -1804,7 +1818,7 @@ Warning: You are on a metered connection! Are you sure you want to uninstall? - 제거하시겠습니까? + 정말로 제거하시겠습니까? CHECK @@ -1816,7 +1830,7 @@ Warning: You are on a metered connection! failed to check for update - 업데이트를 확인하지 못했습니다 + 업데이트 확인 실패 up to date, last checked %1 @@ -1832,50 +1846,50 @@ Warning: You are on a metered connection! never - 업데이트 안함 + 확인 안함 SoftwarePanelSP Search Branch - + 브랜치 검색 Enter search keywords, or leave blank to list all branches. - + 검색어를 입력하거나, 비워두면 모든 브랜치가 표시됩니다. Disable Updates - + 업데이트 비활성화 When enabled, software updates will be disabled. <b>This requires a reboot to take effect.</b> - + 이 기능을 활성화하면 소프트웨어 업데이트가 비활성화됩니다. <b>적용하려면 재부팅이 필요합니다.</b> No branches found for keywords: %1 - + 입력한 키워드와 일치하는 브랜치을 찾을 수 없습니다: %1 Select a branch - 브랜치 선택 + 브랜치 선택 %1 updates requires a reboot.<br>Reboot now? - + 업데이트 기능 %1는 재부팅이 필요합니다.<br>지금 재부팅하시겠습니까? Reboot - 재부팅 + 재부팅 When enabled, software updates will be disabled.<br><b>This requires a reboot to take effect.</b> - + 이 기능을 활성화하면 소프트웨어 업데이트가 비활성화됩니다.<br><b>적용하려면 재부팅이 필요합니다.</b> Please enable always offroad mode or turn off vehicle to adjust these toggles - + 이 설정들을 변경하려면 항상 오프로드 모드를 활성화하거나 차량 시동을 꺼야 합니다. @@ -1886,7 +1900,7 @@ Warning: You are on a metered connection! Warning: This grants SSH access to all public keys in your GitHub settings. Never enter a GitHub username other than your own. A comma employee will NEVER ask you to add their GitHub username. - 경고: 이 설정은 GitHub에 등록된 모든 공용 키에 대해 SSH 액세스 권한을 부여합니다. 본인의 GitHub 사용자 아이디 이외에는 입력하지 마십시오. comma에서는 GitHub 아이디를 추가하라는 요청을 하지 않습니다. + 경고: 이것은 당신의 GitHub 설정에 있는 모든 공개 키에 대한 SSH 접근을 허용합니다. 당신 자신의 GitHub 사용자 이름 외에는 절대로 입력하지 마세요. comma 직원은 절대 당신에게 그들의 GitHub 사용자 이름을 추가하라고 요청하지 않을 것입니다. ADD @@ -1894,7 +1908,7 @@ Warning: You are on a metered connection! Enter your GitHub username - GitHub 사용자 ID + GitHub 사용자 이름을 입력하세요 LOADING @@ -1902,11 +1916,11 @@ Warning: You are on a metered connection! REMOVE - 삭제 + 제거 Username '%1' has no keys on GitHub - 사용자 '%1'의 GitHub에 키가 등록되어 있지 않습니다 + GitHub에 사용자 이름 '%1'의 키가 없습니다. Request timed out @@ -1914,7 +1928,7 @@ Warning: You are on a metered connection! Username '%1' doesn't exist on GitHub - GitHub 사용자 '%1'를 찾지 못했습니다 + GitHub에 사용자 이름 '%1'이(가) 존재하지 않습니다. @@ -1928,162 +1942,162 @@ Warning: You are on a metered connection! SunnylinkPanel This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. - + 이것은 마스터 스위치입니다. 원할 경우 모든 sunnylink 요청을 차단할 수 있습니다. Enable sunnylink - + sunnylink 사용 Sponsor Status - + 후원 상태 SPONSOR - + 후원 Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. - + sunnypilot의 후원자가 되어, sunnylink 기능이 출시되면 얼리 액세스 권한을 얻으세요. Pair GitHub Account - + GitHub 계정 페어링 PAIR - 동기화 + 페어링 Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. - + GitHub 계정을 페어링하여 sunnylink의 API 접근을 포함한 후원자 혜택을 기기에 부여하세요. N/A - N/A + N/A sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. - + sunnylink 동글 ID를 찾을 수 없습니다. 인터넷 연결이 약하거나 sunnylink 등록 문제 때문일 수 있습니다. 재부팅 후 다시 시도해 주세요. 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 - + 🎉돌아오신 것을 환영합니다! sunnylink를 다시 활성화하셨군요! 🚀 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. - + 솔직히 말해서, sunnylink를 비활성화한 것을 보니 좀 슬프네요 😢. 하지만 돌아올 준비가 되면 저희는 언제든 여기 있을게요 🎉. Backup Settings - + 설정 백업 Are you sure you want to backup sunnypilot settings? - + sunnypilot 설정을 백업하시겠습니까? Back Up - + 백업 Restore Settings - + 설정 복원 Are you sure you want to restore the last backed up sunnypilot settings? - + 마지막으로 백업된 sunnypilot 설정을 복원하시겠습니까? Restore - + 복원 Backup in progress %1% - + 백업 진행 중 %1% Backup Failed - + 백업 실패 Settings backup completed. - + 설정 백업 완료. Restore in progress %1% - + 복원 진행 중 %1% Restore Failed - + 복원 실패 Unable to restore the settings, try again later. - + 설정을 복원할 수 없습니다. 나중에 다시 시도해 주세요. Settings restored. Confirm to restart the interface. - + 설정이 복원되었습니다. 인터페이스를 재시작하려면 확인하세요. Device ID - + 기기 ID THANKS ♥ - + 감사합니다 ♥ Not Sponsor - + 후원자 아님 Paired - + 페어링됨 Not Paired - + 페어링되지 않음 SunnylinkSponsorPopup Scan the QR code to login to your GitHub account - + GitHub 계정에 로그인하려면 QR 코드를 스캔하세요. Follow the prompts to complete the pairing process - + 안내에 따라 페어링 과정을 완료하세요. Re-enter the "sunnylink" panel to verify sponsorship status - + "sunnylink" 패널에 다시 들어가서 후원자 상태를 확인하세요. If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot - + 후원자 상태가 업데이트되지 않았다면, https://discord.gg/sunnypilot에서 운영자에게 연락해 주세요. Scan the QR code to visit sunnyhaibin's GitHub Sponsors page - + sunnyhaibin의 GitHub Sponsors 페이지를 방문하려면 QR 코드를 스캔하세요. Choose your sponsorship tier and confirm your support - + 후원 등급을 선택하고 후원을 확인하세요. Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status - + https://discord.gg/sunnypilot에서 우리 커뮤니티에 참여하고, 운영자에게 후원자 상태를 확인해 주세요. Pair your GitHub account - + GitHub 계정 페어링 Early Access: Become a sunnypilot Sponsor - + 얼리 액세스: sunnypilot 후원자가 되세요 @@ -2098,11 +2112,11 @@ Warning: You are on a metered connection! Welcome to sunnypilot - + sunnypilot에 오신 것을 환영합니다 You must accept the Terms and Conditions to use sunnypilot. Read the latest terms at <span style='color: #465BEA;'>https://comma.ai/terms</span> before continuing. - + sunnypilot을 사용하려면 이용 약관에 동의해야 합니다. 계속하기 전에 <span style='color: #465BEA;'>https://comma.ai/terms</span>에서 최신 약관을 읽어보세요. @@ -2145,11 +2159,11 @@ Warning: You are on a metered connection! Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. - 차량의 ACC가 가감속 제어에 사용되기 때문에, 이 차량에서는 실험 모드를 사용할 수 없습니다. + 차량의 순정 ACC가 가감속 제어에 사용되기 때문에, 이 차에서는 현재 실험 모드를 사용할 수 없습니다. openpilot longitudinal control may come in a future update. - 오픈파일럿 가감속 제어는 향후 업데이트에서 지원될 수 있습니다. + openpilot의 가감속 제어 기능은 향후 업데이트에서 제공될 수 있습니다. Aggressive @@ -2161,19 +2175,19 @@ Warning: You are on a metered connection! Relaxed - 편안한 + 느긋한 Driving Personality - 주행 모드 + 주행 성향 End-to-End Longitudinal Control - E2E 가감속 제어 + End-to-End 가감속 제어 The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. - 운전 시각화는 일부 회전을 더 잘 보여주기 위해 저속에서 도로를 향한 광각 카메라로 전환됩니다. 우측 상단에 실험 모드 로고가 표시됩니다. + 주행 시각화 화면은 저속에서 일부 회전 구간을 더 잘 보여주기 위해 전방 광각 카메라로 전환됩니다. 또한, 실험 모드 로고가 오른쪽 상단에 표시됩니다. Always-On Driver Monitoring @@ -2181,7 +2195,7 @@ Warning: You are on a metered connection! Changing this setting will restart openpilot if the car is powered on. - 이 설정을 변경하면 차량이 재가동된후 오픈파일럿이 시작됩니다. + 이 설정을 변경하면 차량 전원이 켜져 있을 때 openpilot이 재시작됩니다. Record and Upload Microphone Audio @@ -2189,115 +2203,117 @@ Warning: You are on a metered connection! Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. - 운전 중에 마이크 오디오를 녹음하고 저장하십시오. 오디오는 comma connect의 대시캠 비디오에 포함됩니다. + 운전 중 마이크 오디오를 녹음하고 저장합니다. 이 오디오는 comma connect의 대시캠 영상에 포함됩니다. Record Audio Feedback with LKAS button - + LKAS 버튼으로 오디오 피드백 녹음 Press the LKAS button to record and share driving feedback with the openpilot team. When this toggle is disabled, the button acts as a bookmark button. The event will be highlighted in comma connect and the segment will be preserved on your device's storage. Note that this feature is only compatible with select cars. - + LKAS 버튼을 눌러 openpilot 팀과 주행 피드백을 녹음하고 공유하세요. 이 기능을 비활성화하면, 해당 버튼은 북마크 버튼 역할을 합니다. 이 이벤트는 comma connect에서 강조되며, 해당 구간 영상은 기기 저장소에 보존됩니다. + +참고: 이 기능은 일부 차량에서만 호환됩니다. Enable sunnypilot - + sunnypilot 사용 Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. - + 어댑티브 크루즈 컨트롤 및 차로 유지 운전자 보조를 위해 sunnypilot 시스템을 사용하세요. 이 기능을 사용하는 동안에는 항상 주의를 기울여야 합니다. Enable Dynamic Experimental Control - + 동적 실험 제어 활성화 Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. - + 모델이 sunnypilot ACC 또는 sunnypilot End to End 가감속 제어를 언제 사용할지 결정하도록 토글을 활성화하세요. When enabled, pressing the accelerator pedal will disengage sunnypilot. - + 활성화하면, 가속 페달을 밟을 때 sunnypilot이 해제됩니다. Enable driver monitoring even when sunnypilot is not engaged. - + sunnypilot이 해제되어 있을 때도 운전자 모니터링을 사용합니다. Standard is recommended. In aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. - + 표준 모드가 권장됩니다. 공격적 모드에서는 sunnypilot이 앞차를 더 가깝게 따라가고 가속 및 제동에 더 적극적으로 반응합니다. 느긋한 모드에서는 sunnypilot이 앞차로부터 더 멀리 떨어져 주행합니다. 지원되는 차량에서는 핸들의 거리 조절 버튼으로 이 주행 성향들을 순환하며 변경할 수 있습니다. sunnypilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: - + sunnypilot은 기본적으로 <b>안정 모드</b>로 주행합니다. 실험 모드는 안정 모드에서 사용하기에는 아직 준비되지 않은 <b>알파 수준 기능</b>을 활성화합니다. 실험 기능은 아래에 나열되어 있습니다: Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. - + 주행 모델이 가속 페달과 브레이크를 제어하도록 허용합니다. sunnypilot은 신호등과 정지 표지판에서 정지하는 것을 포함하여 사람이 운전하는 것처럼 주행할 것입니다. 주행 모델이 운전 속도를 결정하므로, 설정 속도는 상한선 역할만 합니다. 이것은 알파 품질의 기능입니다. 실수가 예상되니 주의해 주세요. An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. - + sunnypilot 가감속 제어의 알파 버전은 실험 모드와 함께 비공개(비 릴리스) 브랜치에서 테스트할 수 있습니다. Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. - + 실험 모드를 활성화하려면 sunnypilot 가감속 제어(알파) 토글을 켜세요. TreeOptionDialog Select - 선택 + 선택 Cancel - 취소 + 취소 VisualsPanel Show Blind Spot Warnings - + 사각지대 경고 표시 Enabling this will display warnings when a vehicle is detected in your blind spot as long as your car has BSM supported. - + 이 기능을 활성화하면, 차량에 BSM(사각지대 모니터링) 기능이 지원되는 한 사각지대에 차량이 감지되었을 때 경고가 표시됩니다. Changing this setting will restart openpilot if the car is powered on. - 이 설정을 변경하면 차량이 재가동된후 오픈파일럿이 시작됩니다. + 이 설정을 변경하면 차량 전원이 켜져 있을 때 openpilot이 재시작됩니다. Off - + 끄기 Distance - + 거리 Speed - + 속도 Time - + 시간 All - + 전체 Display Metrics Below Chevron - + 역삼각형 아래에 측정 지표 표시 Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). - + 앞차를 추적하는 역삼각형 아래에 유용한 측정 지표를 표시합니다. (openpilot 가감속 제어 기능이 있는 차량에만 해당됩니다) @@ -2308,11 +2324,11 @@ Note that this feature is only compatible with select cars. Maximize your training data uploads to improve openpilot's driving models. - 오픈파일럿의 주행 모델 개선을 위해 학습 데이터 업로드를 최대화하세요. + openpilot의 주행 모델 개선을 위해 학습 데이터 업로드량을 극대화하세요. <span style='font-family: "Noto Color Emoji";'>🔥</span> Firehose Mode <span style='font-family: Noto Color Emoji;'>🔥</span> - <span style='font-family: "Noto Color Emoji";'>🔥</span> 파이어호스 모드 <span style='font-family: Noto Color Emoji;'>🔥</span> + <span style='font-family: "Noto Color Emoji";'>🔥</span> Firehose 모드 <span style='font-family: Noto Color Emoji;'>🔥</span> @@ -2331,7 +2347,7 @@ Note that this feature is only compatible with select cars. Forget Wi-Fi Network "%1"? - Wi-Fi "%1"에 자동으로 연결하지 않겠습니까? + Wi-Fi 네트워크 "%1"을(를) 삭제하시겠습니까? Forget From 8751435bf52b50f839763a2f478fe1e57a26e541 Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Tue, 19 Aug 2025 10:08:51 +0200 Subject: [PATCH 03/12] Improving tq redc gain and override behavior --- opendbc_repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opendbc_repo b/opendbc_repo index 7bf72c82f0..680b968061 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit 7bf72c82f059e3fc3a82d225e069b957b7593c5c +Subproject commit 680b968061bd88d4873c197473732c0f4f620c5b From c669473f884bb70eaf9861aabbaae0cb30fd0d75 Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Tue, 19 Aug 2025 19:35:34 +0200 Subject: [PATCH 04/12] Refine torque reduction parameters and update UI for angle error analysis --- opendbc_repo | 2 +- .../layouts/analyzing-torque-angle-hkg.xml | 541 ++++++++++++++++-- 2 files changed, 485 insertions(+), 58 deletions(-) diff --git a/opendbc_repo b/opendbc_repo index 680b968061..a30843251a 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit 680b968061bd88d4873c197473732c0f4f620c5b +Subproject commit a30843251a483e39e78d5bf6ad927443e2b160ef diff --git a/tools/plotjuggler/layouts/analyzing-torque-angle-hkg.xml b/tools/plotjuggler/layouts/analyzing-torque-angle-hkg.xml index 7245ae248d..d7788458a2 100644 --- a/tools/plotjuggler/layouts/analyzing-torque-angle-hkg.xml +++ b/tools/plotjuggler/layouts/analyzing-torque-angle-hkg.xml @@ -1,35 +1,35 @@ - + - + - + - + - + - + - + - + - + @@ -37,43 +37,33 @@ - + - + - - - + - + - - + - + - + - + - - - - - - - - + @@ -84,29 +74,71 @@ - + - - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -124,15 +156,401 @@ + + + + + - + - return (value * v1 ^ 2) - (v2 * 9.81) - /controlsState/desiredCurvature + if value > .3 then + return 1 +end + +return 0 + Angle Error + + + firstX = 0 +firstY = 0 +is_first = true +secondX = 0 +secondY = 0 +is_second = false + -- Wait for initial values +if (is_first) then + is_first = false + is_second = true + firstX = time + firstY = value +end + +if (is_second) then + is_second = false + secondX = time + secondY = value +end + +-- Central derivative: dy/dx ~= f(x+delta_x)-f(x-delta_x)/(2*delta_x) +dx = time - firstX +dy = value - firstY +-- Increment +firstX = secondX +firstY = secondY +secondX = time +secondY = value + +return dy/dx + /can/1/LFA_ALT/LKAS_ANGLE_CMD + + + min=0 +max=250 +max_from_speed=96 + +k1=200 +k2=30 +k3=1 +k4=1 +k5=10 + +function sign(number) + return number > 0 and 1 or (number == 0 and 0 or -1) +end + return 250 - value * 20 + desired lateral jark + + + min=0 +max=250 +max_from_speed=96 + +rate_lim = 500 + +la_deadzone = 0.38 + +k1=200 +k2=20 +k3=1.0 +k4=1 +k5=10 + +old = 0 + +function sign(number) + return number > 0 and 1 or (number == 0 and 0 or -1) +end + +function apply_rate_limit(old, new, limit) + return math.min(math.max(new, old - limit), old + limit) +end + +function apply_deadzone(val, deadzone) + if math.abs(val) <= deadzone then + return 0.0 + elseif val < 0.0 then + return val + deadzone + else + return val - deadzone + end +end + la = apply_deadzone(v2, la_deadzone) +lj = v3 + +if la == 0.0 then + lj = 0.0 +end + +fla = math.min(math.abs(k1 * la)^k3, max) +flj = math.min(math.abs(k2 * lj)^k4, max) + +out = fla + +flv = math.min(max_from_speed, k5 * v4) + +out = out + flv + +out = math.max(math.min(out, max), min) + +if sign(la) == sign(lj) then + out = out - flj +else + out = out + flj +end + + +if v5 == 1.0 then + out = 0.0 +end + +out = math.max(math.min(out, max), min) +out = apply_rate_limit(old, out, rate_lim) +old = out + +return out + /can/1/LFA_ALT/LKAS_ANGLE_CMD + + ang_cmd rate + desired lat accel + desired lateral jark + /carState/vEgo + /can/1/LFA_ALT/LKAS_ANGLE_ACTIVE + + + + + return value * 2.23694 + /carState/vEgo + + + + return math.abs(value) + desired lat accel + + + + if (v3 == 0 and v4 == 1) then + return (value * v1 ^ 2) - (v2 * 9.81) +end +return 0 + /controlsState/curvature /carState/vEgo /liveParameters/roll + /carState/steeringPressed + /carControl/latActive + + + + + return (0) + /carState/canValid + + + + return value * -9.8 + /can/1/IMU_01_10ms/IMU_LatAccelVal + + /carState/steeringPressed + /carControl/latActive + + + + + return value * v1^2 + /controlsState/desiredCurvature + + /carState/vEgo + + + + engage_delay = 5 +last_bad_time = -engage_delay + accel = value +brake = v1 +gas = v2 +enabled = v3 + +if (brake ~= 0 or gas ~= 0 or enabled == 0) then + last_bad_time = time +end + +if (time > last_bad_time + engage_delay) then + return value +else + return 0 +end + /carControl/actuators/accel + + /carState/brakePressed + /carState/gasPressed + /carControl/enabled + + + + last_angle_requested = 0 + angle_error = last_angle_requested - v1 + + +last_angle_requested = value +return angle_error + /carControl/actuators/steeringAngleDeg + + /carState/steeringAngleDeg + + + + + return value * 3.6 + /carState/vEgo + + + engage_delay = 5 +last_bad_time = -engage_delay + accel = value +brake = v1 +gas = v2 +enabled = v3 + +if (brake ~= 0 or gas ~= 0 or enabled == 0) then + last_bad_time = time +end + +if (time > last_bad_time + engage_delay) then + return value +else + return 0 +end + /longitudinalPlan/accels/0 + + /carState/brakePressed + /carState/gasPressed + /carControl/enabled + + + + engage_delay = 5 +last_bad_time = -engage_delay + accel = value +brake = v1 +gas = v2 +enabled = v3 + +if (brake ~= 0 or gas ~= 0 or enabled == 0) then + last_bad_time = time +end + +if (time > last_bad_time + engage_delay) then + return value +else + return 0 +end + /carState/aEgo + + /carState/brakePressed + /carState/gasPressed + /carControl/enabled + + + + firstX = 0 +firstY = 0 +is_first = true +secondX = 0 +secondY = 0 +is_second = false + -- Wait for initial values +if (is_first) then + is_first = false + is_second = true + firstX = time + firstY = value +end + +if (is_second) then + is_second = false + secondX = time + secondY = value +end + +-- Central derivative: dy/dx ~= f(x+delta_x)-f(x-delta_x)/(2*delta_x) +dx = time - firstX +dy = value - firstY +-- Increment +firstX = secondX +firstY = secondY +secondX = time +secondY = value + +return dy/dx + desired lat accel + + + engage_delay = 5 +last_bad_time = -engage_delay + curvature = value +pressed = v1 +enabled = v2 + +if (pressed == 1 or enabled == 0) then + last_bad_time = time +end + +if (time > last_bad_time + engage_delay) then + return value +else + return 0 +end + /lateralPlan/curvatures/0 + + /carState/steeringPressed + /carControl/enabled + + + + + return math.abs(value) + /can/1/LFA_ALT/LKAS_ANGLE_CMD + + + min=0 +max=250 +max_from_speed=96 + +rate_lim = 500 + +la_deadzone = 0.38 + +k1=200 +k2=20 +k3=1.0 +k4=1 +k5=10 + +old = 0 + +function sign(number) + return number > 0 and 1 or (number == 0 and 0 or -1) +end + +function apply_rate_limit(old, new, limit) + return math.min(math.max(new, old - limit), old + limit) +end + +function apply_deadzone(val, deadzone) + if math.abs(val) <= deadzone then + return 0.0 + elseif val < 0.0 then + return val + deadzone + else + return val - deadzone + end +end + return 0 + /carState/aEgo + + + engage_delay = 5 +last_bad_time = -engage_delay + curvature = value +pressed = v1 +enabled = v2 + +if (pressed == 1 or enabled == 0) then + last_bad_time = time +end + +if (time > last_bad_time + engage_delay) then + return value +else + return 0 +end + /controlsState/curvature + + /carState/steeringPressed + /carControl/enabled @@ -158,15 +576,6 @@ end /liveParameters/roll - - - return value * -9.8 - /can/1/IMU_01_10ms/IMU_LatAccelVal - - /carState/steeringPressed - /carControl/latActive - - if (v1 == 0 and v2 == 1) then @@ -179,21 +588,30 @@ return 0 /carControl/latActive - - - if (v3 == 0 and v4 == 1) then - return (value * v1 ^ 2) - (v2 * 9.81) + + engage_delay = 5 +last_bad_time = -engage_delay + curvature = value / v3 +pressed = v1 +enabled = v2 + +if (pressed == 1 or enabled == 0) then + last_bad_time = time end -return 0 - /controlsState/curvature + +if (time > last_bad_time + engage_delay) then + return curvature +else + return 0 +end + /liveLocationKalman/angularVelocityCalibrated/value/2 - /carState/vEgo - /liveParameters/roll - /carState/steeringPressed - /carControl/latActive + /carState/steeringPressed + /carControl/enabled + /liveLocationKalman/velocityCalibrated/value/0 - + return value * -9.8 /can/1/IMU_01_10ms/IMU_LatAccelVal @@ -202,6 +620,15 @@ return 0 /carControl/latActive + + + return (value * v1 ^ 2) - (v2 * 9.81) + /controlsState/desiredCurvature + + /carState/vEgo + /liveParameters/roll + + From b8985b6d726a3cadc6056460e11f41a2c15e52d2 Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Tue, 19 Aug 2025 19:50:13 +0200 Subject: [PATCH 05/12] Enhance torque reduction gain calculation with non-linear mapping and smoothing --- opendbc_repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opendbc_repo b/opendbc_repo index a30843251a..4298da6646 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit a30843251a483e39e78d5bf6ad927443e2b160ef +Subproject commit 4298da664667cd9071b25e8e33cdcc6ef2c67aa5 From 7c4d4154629c30e2778134264b2755c0c16a3b61 Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Wed, 20 Aug 2025 00:12:43 +0200 Subject: [PATCH 06/12] Enhance torque reduction gain calculation with non-linear mapping and smoothing --- opendbc_repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opendbc_repo b/opendbc_repo index 4298da6646..0bdd21ba1a 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit 4298da664667cd9071b25e8e33cdcc6ef2c67aa5 +Subproject commit 0bdd21ba1a48efb948d0b3e9516f8bef9b827030 From 17204a46e4a4f4c37f0979416c7d7287aea86ddd Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Wed, 20 Aug 2025 18:39:53 +0200 Subject: [PATCH 07/12] Add HkgAngleDebug structure and enhance angle debugging in car controller --- cereal/custom.capnp | 10 +++ opendbc_repo | 2 +- .../analyzing-panda-block-angle-hkg.xml | 67 ++++++++++--------- 3 files changed, 48 insertions(+), 31 deletions(-) diff --git a/cereal/custom.capnp b/cereal/custom.capnp index fdb89da84c..632b5f022d 100644 --- a/cereal/custom.capnp +++ b/cereal/custom.capnp @@ -246,7 +246,17 @@ struct BackupManagerSP @0xf98d843bfd7004a3 { } } +struct HkgAngleDebug { + applyAngle @0 :Float32; + applyAngleSmooth @1 :Float32; + applyAngleLimited @2 :Float32; + applyAngleBaselineLimited @3 :Float32; + maxAngle @4 :Float32; + maxAngleDelta @5 :Float32; +} + struct CarStateSP @0xb86e6369214c01c8 { + hkgAngleDebug @0 :HkgAngleDebug; } struct LiveMapDataSP @0xf416ec09499d9d19 { diff --git a/opendbc_repo b/opendbc_repo index 0bdd21ba1a..bcd4bedffd 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit 0bdd21ba1a48efb948d0b3e9516f8bef9b827030 +Subproject commit bcd4bedffd17280f5f5871bb0ba287433dd270fa diff --git a/tools/plotjuggler/layouts/analyzing-panda-block-angle-hkg.xml b/tools/plotjuggler/layouts/analyzing-panda-block-angle-hkg.xml index 5f0791eb2b..1449fd4999 100644 --- a/tools/plotjuggler/layouts/analyzing-panda-block-angle-hkg.xml +++ b/tools/plotjuggler/layouts/analyzing-panda-block-angle-hkg.xml @@ -1,33 +1,33 @@ - + - + - - + + - - + + - - + + - - + + @@ -35,40 +35,41 @@ - + - + - - + + - - + + - + + - - + + - - + + - - + + @@ -76,18 +77,18 @@ - + - + - - + + - - + + @@ -102,7 +103,7 @@ - + @@ -120,6 +121,12 @@ + + + + + + From a9b85ab27dc5ee32406156b9e70dc3fea031d573 Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Wed, 20 Aug 2025 19:54:10 +0200 Subject: [PATCH 08/12] Refactor HkgAngleDebug structure to include current and baseline limits for angle parameters --- cereal/custom.capnp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cereal/custom.capnp b/cereal/custom.capnp index 632b5f022d..653144dbc1 100644 --- a/cereal/custom.capnp +++ b/cereal/custom.capnp @@ -246,13 +246,18 @@ struct BackupManagerSP @0xf98d843bfd7004a3 { } } +struct HkgAngleDebugLimits { + maxAngle @0 :Float32; + maxAngleDelta @1 :Float32; +} + struct HkgAngleDebug { applyAngle @0 :Float32; applyAngleSmooth @1 :Float32; applyAngleLimited @2 :Float32; applyAngleBaselineLimited @3 :Float32; - maxAngle @4 :Float32; - maxAngleDelta @5 :Float32; + currentLimits @4 :HkgAngleDebugLimits; + baselineLimits @5 :HkgAngleDebugLimits; } struct CarStateSP @0xb86e6369214c01c8 { From 344021a3d916b73ea43a868e8005baab2d6976c9 Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Wed, 20 Aug 2025 19:54:31 +0200 Subject: [PATCH 09/12] Adjust non-linear mapping in torque reduction gain calculation for improved response --- opendbc_repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opendbc_repo b/opendbc_repo index bcd4bedffd..f1a73e93d6 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit bcd4bedffd17280f5f5871bb0ba287433dd270fa +Subproject commit f1a73e93d60edb66965b32d8657c62094f6db227 From 6d0402896d20a0b54127f03ccd52b6faf5582f7d Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Wed, 20 Aug 2025 23:16:04 +0200 Subject: [PATCH 10/12] Adjust STEER_THRESHOLD and refine non-linear mapping in torque reduction gain calculation for improved steering response --- opendbc_repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opendbc_repo b/opendbc_repo index f1a73e93d6..7f486399af 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit f1a73e93d60edb66965b32d8657c62094f6db227 +Subproject commit 7f486399afa42ddfedc62644c7033fa3dacc3ab6 From 6774f34eee116b32d03196087f572bc2534d93b4 Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Thu, 21 Aug 2025 00:21:46 +0200 Subject: [PATCH 11/12] Refine non-linear mapping in torque reduction gain calculation for improved steering response --- opendbc_repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opendbc_repo b/opendbc_repo index 7f486399af..d73580a562 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit 7f486399afa42ddfedc62644c7033fa3dacc3ab6 +Subproject commit d73580a5627f4340ec077d5c6c91771fdf0c0b37 From 6724085cfd12c132784a9daf84d62531023697de Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Thu, 21 Aug 2025 20:09:57 +0200 Subject: [PATCH 12/12] Refactor angle limit calculations and adjust average road roll for improved steering dynamics --- opendbc_repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opendbc_repo b/opendbc_repo index d73580a562..2b0c06a4ee 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit d73580a5627f4340ec077d5c6c91771fdf0c0b37 +Subproject commit 2b0c06a4ee0d08db64136a99f159613fd4ff4a66