Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
優化 OpenPilot 的方向盤控制主要涉及 橫向控制算法 和 車型參數設定。以下是如何透過調整 latcontrol_pid.py
和 values.py
中的參數來優化方向盤控制的步驟與建議。
latcontrol_pid.py
– 調整 PID 控制器latcontrol_pid.py
是 OpenPilot 中的橫向控制算法,用於計算方向盤轉向所需的扭矩。優化的核心在於調整 PID 的三個增益參數:
self.pid = PIDController( kp=0.2, # P增益 ki=0.01, # I增益 kd=0.05, # D增益 rate=100, # 更新頻率 (Hz) )
這些參數通常位於 LatControlPID.update()
或初始化部分。0.1
,例如從 0.2
增加到 0.3
。0.005
,例如從 0.01
減少到 0.005
。0.01
),逐步增加。values.py
– 車型參數設定values.py
文件包含每個車型的方向盤限制和其他動態參數。調整這些參數可以進一步優化轉向控制的範圍與響應。
STEER_MAX
:方向盤的最大扭矩輸出。STEER_MAX = 1500 # 默認值,數值越大扭矩越大
STEER_RATIO
:方向盤轉角與車輪轉角的比例。STEER_RATIO = 15.5 # 大部分車輛的常見值
STEER_ACTUATOR_DELAY
:方向盤反應延遲(秒)。STEER_ACTUATOR_DELAY = 0.1 # 默認值
values.py
文件,例如:bash複製程式碼selfdrive/car/volvo/values.py
latcontrol_pid.py
中的 PID 增益。values.py
中微調車型參數,優化方向盤靈敏度和轉角。問題 | 調整方法 |
---|---|
車輛無法穩定保持車道 | 增加 P 增益,但不超過震盪的臨界值。 |
方向盤來回擺動 | 減小 P 增益或適當增加 D 增益。 |
彎道處理不足(過小轉角) | 增加 STEER_MAX 或減小 STEER_RATIO 。 |
彎道處理過度(過大轉角) | 減小 P 或增加 STEER_RATIO ,讓方向盤轉動更平滑。 |
高速方向盤響應遲緩 | 減少 STEER_ACTUATOR_DELAY 或適當增加 P 增益。 |
具體的車型或測試情況,需要更精確地調整參數。
進行優化時建議保持數據備份,方便隨時還原默認設定。