未來,將會是軟體在路上跑的時代/Philippe Chain

在下一波的汽車革命中,軟體將會扮演著非常重要的角色。傳統車廠除非在這個領域急起直追,否則將會被擅長作業系統和app生態系的資訊業廠商所取代。

當筆者剛到Tesla任職之後,發現這家公司其實受矽谷軟體公司文化的影響很深;不只是車子本身,還包括整個創新研發的思考流程。

第一次跟軟體主管Craig Carlson的對談,就是個活生生的例子:當時他是Tesla的韌體和電系整合副總裁,負責所有軟體和低電壓相關系統,涵蓋各種韌體、中控顯示幕的軟硬體設計、行車app、以及與車子連線的伺服器端系統。

他旗下大軍的人數,遠比Tesla其他工程部門都多得多;該公司總共700位工程師之中,有幾乎一半歸他管。相較之下,當時(2011年)雷諾汽車(Renault)和福斯汽車(VW)連一位編制內的軟體工程師都沒有,程式都是由外包廠商處理的。

筆者在2011年九月擔任Tesla Model S車系品保副總裁時,跟Craig Carlson開了一個會,以便進一步瞭解他的部門如何處理品保工作。

依照我的認知,傳統汽車業在處理(包括軟體系統在內的)任何作業時,都必須依循一套在車子早期開發階段就定義好的規格;如果需要修改,則是在之後每次大改款時才會進行。

但過去在理財軟體公司Intuit工作、完全以矽谷風格做事的Craig完全不懂這一套。他驚訝的說:「你問的是韌體對嗎?我們沒有『等大改款』這一套哩,隨時都在改啊。」

這時我才發現兩個產業的明顯差異:在傳統汽車業,每一行程式碼都是車子誕生幾年前就已經寫好放著的。而Tesla的作法,則是「純軟體公司」的風格;Craig和手下團隊的作法,是以「功能集」和「除錯」作為開發工作的主軸。

這些工程師會從定義好的「功能集」之中,依照優先順序將個別功能一一完成。最高優先的是車子的最重要功能,像是電源管理、煞車、轉向、以及安全防護等等;第二優先是其他重要功能,第三優先是電動窗、後視鏡,最後才是其他功能。

這些軟體的更新版本,會定期透過遠端推送(over-the-air,OTA)到車子的硬體上進行更新,跟手機更新的道理一樣;在Tesla研發的早期,更新是每兩週進行一次。

總而言之,即使我身為品保主管,但在軟體品質這方面,我只能信任Craig和他的團隊,別無選擇。

創意與反應

不久之後,我再度見識到了Tesla軟體公司基因的迅速反應。有一天,我在公司餐廳聽到一位工程師和同事之間的對話。這位工程師相當資深,可以每天開測試車回家;不過當他回到家的時候,都必須手動調整氣壓懸吊系統,以免車頭下端刮到車道邊緣。

這不是什麼大問題,但他想出了一個巧妙的方法來解決:何不讓GPS定位系統可以跟懸吊系統溝通?如此一來,當車子開到已知不平坦的路面時,就會自動抬高懸吊系統,避免車子刮傷。

跟他聊天的軟體工程師則說,「這不難嘛,只要寫幾行程式就解決了。」

第二天,他們把這個點子告訴當時Model S的專案負責人Jerome Guillen;於是這個設計被放到「功能集」之中、並且定義為「低優先順序」事項。雖然優先順序不高,但因為實作起來很簡單,所以後來在下一版韌體中就加上了這個功能。結案。

傳統車廠的經驗法則

這個例子,或許正可以說明Tesla和其他傳統車廠之間的巨大差異。在傳統車廠中,即使有人想出類似的創意,但只要讓動到懸吊之類的重要組件、導航系統傳送資料,就很可能石沈大海、永遠不會實現。

這還是「經驗法則」的問題:在傳統車廠中,任何新的設計都必須經過漫長的驗證過程,才有可能脫穎而出。在新功能寫成詳細文件之後,還必須召集行銷和業務單位進行一連串的會議,並回答「這對銷售有什麼幫助」之類的問題。

接下來,負責各個次系統的經理都會提供意見,連供應商都會被找來,再對這個新設計丟下一大堆「良心的建議」。

即使新設計能在這整個折磨過程中存活下來,也會被放進等待處理的隊伍之中,靜待兩年之後的大改版,再實際放上產品。

瞭解了以上這個過程之後,對於車用導航系統或操作介面為什麼總是比手機、平板、電腦落後個兩三代,你可能就不會那麼意外了。道理很簡單,因為你現在看到的東西,很可能都是五年前就設計好擺著的。

車上的「電腦」

而且,雖然車子上也有所謂行車電腦,但它運作的方式跟家裡的電腦並不一樣。首先,行車電腦上並沒有手機或PC上的「中央作業系統」概念,而是由不同的韌體程式來控制各種硬體設備。

像是燃料噴射、動力系統、碰撞預防、車窗、雨刷、或是撞擊防護,這些裝置都是由各自不同的韌體來控制的。例如當一輛電動車遭到撞擊時,一整組韌體會分別啟動安全帶拉力裝置、啟動安全氣囊、發出緊急求援訊息、並且關閉動力系統以避免電擊。

以實際的車款來說,新款的保時捷Tycan採用電壓高達800伏特的電池組,比Tesla用的高出一倍;所以在事故中必須能自動斷電,以免意外把車上的人烤焦。

事實上,配備一般燃油引擎(Internal Combustion Engine,ICE)的車子,因為整體複雜度更高,所以使用的韌體比電動車還多:一輛Tesla電動車上有50–60組由不同韌體驅動的電子控制單元(Electronic Control Units,ECU;每個單元可以視為一組小型電腦),但一輛Audi燃油車上就有100組。

在汽車上的電子裝置之間,資料傳輸是透過一種稱為CAN(Controller Area Network,控制器區域網路)的連線形式[footnote]行話叫做「匯流排」。[/footnote]來進行的;在CAN上,各種控制器和裝置可以依序彼此傳送資訊,進行必要的互動。

CAN由Robert Bosch GmBH公司在1983發明、並在1991年首度應用於Mercedes-Benz汽車上。日後,這個標準除了汽車業之外,在航空業、自動控制產業、甚至義肢上都獲得廣泛採用。

汽車作業系統大戰

奇怪的是,在似乎「什麼東西都有作業系統」的今天,汽車業並沒有自己專屬的作業系統;而以公司的技術能力和反應速度來看,Tesla應該會在這方面拔得頭籌。有些車廠雖然也意識到這一點,但卻已經落在人後。

對於這一點,福斯集團的執行長Herbert Diess特別有感。去年,他在一次主管會議中表達了他的憂心:

我們恐怕必須花上很多年時間,才能在軟體方面達到應有的專業水準,來跟新一代的車廠抗衡。……即使到了今天,幾乎沒有一行程式是我們自己寫的。

關於VW的競爭對手,他則表示:

我們必須接受的是,我們在中國的市場領導地位已經不再那麼理所當然。……在中國,現在電動車的領導廠商叫做Tesla。

一年之前,Diess在對財經界的一場簡報中說明了VW在稱為「Car.software」的軟體開發策略;在以下的兩張投影片中,指出VW正在開發一個「類似作業系統」的軟體集:

Image for post

譯按:圖中敘述「目前每輛車上有1億行程式碼,每一行的成本為US$10,例如導航系統上就有2,000萬行;未來的車上預計會有2-3億行程式,具備第5級自動駕駛能力的車上會有10億行」。

Image for post

譯按:圖中敘述「目前VW每輛車上有大約70組ECU,但沒有自行設計的軟體;未來每部車上會有3-5部高性能電腦與更多ECU,再加上雲端連線功能和作業系統,將會成為最複雜的上網設備」。

雖然「程式有多少行」並不是衡量軟體效能的最佳指標,不過如同麥肯錫顧問公司在這份報告中所提到的,可以當作規模進化的一個參考:

隨著電子設備和軟體的重要性日漸提高,系統也越來越複雜。以現今汽車上「軟體程式行數」(software lines of code,SLOC)的爆發性成長為例:2010年時的SLOC大約是1,000萬,2016年時則增加了15倍,來到1億5,000萬。

這種如滾雪球般變大的複雜性,也帶來了軟體方面的品管問題;最近牽涉高達上百萬輛汽車的召回事件,就是一個證明。

要做出一套真正能用、有用的汽車作業系統,不僅對汽車產業是個巨大的挑戰,對於整個科技產業也都一樣,而且後者遲早會開始投入這個領域。對於汽車業來說,最可能的進化是來自車廠和科技業巨頭之間的競爭(而Tesla則是隔山觀虎鬥的「第三者」),最後出現一個成為產業標準的「車OS」。

「車OS」的出現,將會帶動另外兩個領域的商機:汽車本身的應用價值、以及軟體生態系的建立。

汽車的新價值

從第一點「價值」來看,電動車因為馬達的可靠度高、機械組件較少、以及高度系統整合帶來的「故障預測能力」,所以使用壽命可望較長、維護費用也低;連過去被視為「死穴」的電池壽命,目前都已經可以達到行駛10,000英里的水準。

也就是說,電動車的折舊速度會比燃油車慢很多,而且目前已經有數字佐證:根據研究機構CarEdge的數據,2017年購進的Tesla Model S至今還能保有63%的殘值,而相較之下Mercedes Benz S Class只有53%、Audi A7更只剩48%。

這樣的數字,多半要歸功於電動車技術本身的優點;而軟體持續更新所帶來的價值,也會在新世代汽車的保值方面,扮演非常重要的角色。

Elon Musk曾經表示,進行第5級自動駕駛所需要的感測器,都已經整合在Tesla車款上。至於這一點是否真實,還有待時間證明,但基本的道理已經出現在智慧手機上:每一次iOS或Android系統改版,都會「喚醒」一些原本就存在、但是先前沒有使用的硬體功能,例如AI人工智慧晶片等。

註:「第5級自動駕駛」的Wiki定義:駕駛者不必在車內,任何時刻都不會控制到車輛。此類車輛能自行啟動駕駛裝置,全程也不須開在設計好的路況,就可以執行所有與安全有關之重要功能,包括沒有人在車上時的情形,完全不需受駕駛意志所控,可以自行決策(無需方向盤自動車)。

這一點在汽車上也是一樣,因為跟汽車本身的售價相較,加裝那些新型晶片的成本都幾乎是可以忽略的。所以,有些軟體更新只會更新原有功能或操作介面,有些則會(或許透過付費)「解鎖」一些硬體,以增加輔助駕駛功能、或是改進續航距離。

例如Tesla在2017年和2019年美國佛羅里達州發生風災的期間,就透過遠端更新解鎖功能,讓位於該州的車子增加了8%-24%的續航距離,以便儘快離開災區。

未來,一些諸如自動駕駛之類的進階「加價購」功能,應該也都會循著相同模式來提供給用戶。

車用「app store」軟體商店

而讓未來汽車更有價值的,則應該是類似現今手機上的「線上軟體商店」生態系;只要開發者有足夠的想像力,就能為車子增加各種各樣的實用功能。

舉例來說,機場營運單位就可以專為管理機場車流和旅客動線開發一款app。假設你要到機場搭乘一個小時後起飛的班機,你手機上和車上的同一支app能即時查詢航班狀況、登機門位置、以及機場附近的路況,並提醒你何時該離家出發。

當你抵達機場附近,app會引導你前往離登機門最近的停車場;未來你甚至還可以直接把車子留在門口去趕飛機,讓車子自行前往幾公里外的長期停車場。因為從機場到停車場之間可以設定「電子圍籬」(geofence),成為半封閉式環境,所以適合第4級自動駕駛的應用。

到那時候,「軟體」在汽車上的作用與地位,會跟現在完全不同。在上面的例子中,車上和手機上的app必須緊密合作,與航空公司、機場、導航系統、停車場、以及自動駕駛系統交換即時資訊。

這一點目前還沒有達到,但只會是時間問題。

誰才是老大?

未來的一個可能,是車廠開發出自己的作業系統、再加上便於外界開發商製作app的程式開發套件(SDK);或是由科技業公司出手,以來自手機產品的軟體思維和技術基礎,為汽車運用開啟全新的方向。

我一直認為,Apple已經有後者的想法,所以為傳說中代號「Titan」的電動車專案聘用了大批工程師、並且在美國加州車輛管理局申請了自動駕駛車輛的開發計畫。

因為,雖然手機市場有著5,000億美元的價值,但高達3兆美元的汽車市場中就會是一塊更可口的大餅。