回覆列表
  • 1 # 使用者5587876211766

    謝邀。這兩天對這道題想了很多,大概會寫一大堆廢話。同一臺發動機或變速箱會去匹配不同車型,車與車之間的硬體狀態以及配置有很多不同。不同的車在功能上也不盡相同(是否有起停、是否有巡航、是否有運動模式……)。但是執行在同一臺變速箱或發動機內的軟體,基本都是一樣的,所以就會有很多軟體引數需要修改——這就是標定工作。我想聊聊標定的細節,為何標定工程師需要一點一點去打磨各種引數。當我端著電腦坐在車裡,盯著眼前的曲線的時候,我常常會感嘆。車,是如此不完美的器物。不完美的,不僅僅是硬體,也包括各個控制器裡面執行的軟體。一顆晶片,僅僅是安靜地躺在那裡,這裡面執行的,卻是大大的乾坤。理科生和工科生的區別是什麼?理科生說:世界按照我的公式來執行。工科生說:我的公式執行如同真實的世界。當我剛從學校畢業入職的時候,我被眼前的景象驚呆了。變速箱不就控制幾個離合器嗎,這軟體,居然要有幾萬個變數,真是浩如煙海。我一頭扎入這海洋,看到一個炫彩斑斕的世界。小小晶片,確實是自成一格的獨立王國。這個世界的輸入,不過是數量不多的感測器和透過匯流排從其他模組傳過來的幾十上百個訊號。這個世界的輸出,也不過是控制幾個電磁閥的電流而已。從輸入到輸出的距離居然有幾萬個變數之多。何也?

    道生一,一生二,二生三,三生萬物……我漸漸明白,幾萬個變數,不過是01之間的幻化,其目的,乃是模擬出汽車執行的狀態以及外部環境。沒有GPS,沒有氣壓感測器——沒關係,海拔可以算出來(發動機功能)。離合器上沒有溫度感測器——沒關係,建一個溫度模型可以算出來。執行器油路中為了節省成本不要裝油壓感測器——沒關係,我們想想辦法算出來。……晶片裡執行的,是工科生的公式,充分知曉了整輛車的狀態後,真正輸出的,也就幾個電磁閥的電流。真是先至繁,而後至簡。有時我會想,會不會有那麼一天,理科生的公式和工科生的公式可以統一起來。我們洞悉了世間的規律,工業產品都能臣服於理性,所有的表現都和公式一樣精準可以預見。到了那一天,軟體工程師開著上帝視角寫完程式碼,一切執行完美,應該就不需要為標定專門設定一個崗位了。然而我所見的,全是不完美。感測器是不完美的,不是所有的地方都能安裝感測器,因為成本原因,不能裝太多感測器。模型是不完美的,模擬出來的世界,怎可能那麼好地貼近真實。我們需要簡化模型以方便計算,同時也不可能考慮到所有的影響因素。其他模組過來的訊號是不完美的,每個模組都有難以預計的誤差。在開發過程中,不同模組的工程師也經常會相互扯皮,要求對方調整某個訊號。汽車的世界是如此的不完美,但是我們不可以投降,我們依然需要利用有限的資源,儘可能計算出最合適的輸出,獲得當前條件下的最佳駕駛感受,這就是標定的價值。為何可以做到?因為儘管無法用數學精準地去描繪這個世界,並不代表這個世界是無序的。物理的世界,一定是在某種規律下執行的,一定是具有一定可重複性的。即使找不到公式也沒有關係,用一張張人為填寫的表格去貼近真實就可以了。最初級的標定引數的修改也就兩個關鍵詞就差不多了。1. 掃點軟體不斷地劃分工況,使得一種工況下的執行,使用一種模型即可。這種模型就是一個更小的子程式。這個子程式有多個比較關鍵的輸入——比如當前油門踏板開度和發動機轉速。於是形成一張大表,負責任的標定工程師會努力把每一種踏板開度配合每一種發動機轉速在此工況下的狀態都在車上開一遍,保證每一種組合能較為理想地執行。2. Offset數學的公式如此不完美,自然需要加加減減各種Offset來補救。還有許多輸入對某個引數的影響沒有模型,就直接以Offset的方式加減到這個引數上面。如果諸位願意看這不算短的文字,那麼到這裡,大概能夠初步瞭解標定是在幹嘛了。回想起學生時代,我在焦慮的求職季之時,曾經給一個師兄打過一個電話表達自己的疑惑:“標定就是調調引數,感覺也沒有太多技術含量,做幾年之後該怎麼發展呢……”那位師兄當時一定在心裡罵我了。現在我明白了:標定,也是一門工匠的藝術,只是充滿了工程上的妥協。

  • 中秋節和大豐收的關聯?
  • 瀝青路面車轍產生的原因有哪些,如何預防?