【Arm 專欄】自駕車最初一哩路:先進駕駛輔助系統之市場與演進

Strategy Analytics 最新報告指出部署先進駕駛輔助系統 (ADAS) 的三大挑戰。
評論
Arm 提供
評論

先進駕駛輔助系統 (ADAS) 最初是在高級轎車上的高階功能,但由於消費者和安全監管機構對該系統的興趣日益濃厚,使得在所有等級車輛的採用率都大幅上升。事實上,Strategy Analytics 最新報告預測,2020 到 2025 年間,市場年平均成長率為 17.7%。

除了廣泛的汽車生態系外,Arm 在提供 ADAS 系統方面已經發揮了關鍵作用,但在大規模部署方面仍面臨挑戰。在 Strategy Analytics 的報告中指出,汽車產業在大規模部署 ADAS 時必須解決的三大問題為:成本(特別是在低階系統和較便宜的車輛上)、利用自駕車的學習,以及如何在軟體定義汽車上管理 ADAS。

管理 ADAS 的成本

Strategy Analytics 的報告概述了美國、歐洲、日本、中國和韓國的許多安全標準倡議,這些倡議都依賴 ADAS 功能來減少交通事故,這些地區占全球汽車銷量的絕大部分,但是只有當新型及更安全的汽車價格是人們負擔的起時,才能實現安全效益,這使得在幾乎所有車輛上所需具備的基本 ADAS 功能之成本,成為人們關注的焦點。

Arm 車用事業部副總裁 Chet Babla 在2020年4月探索部署最先進的 ADAS 安全技術的經濟挑戰時,提出需要關注一點:倘若即使是最便宜的車型也必須配備價值數百美元的新式 ADAS 技術時,該由誰付錢?

幸運的是,Arm 及其蓬勃發展的生態系已證明有能力提供多重市場健康競爭的環境,包括 ADAS。

正如 Strategy Analytics 發布的研究報告所強調,攝影機是 ADAS 所需的基本感測器,因此,由視覺開始尋找效率很合乎邏輯,這也是 Arm 能進行豐富創新的領域。Mali-C71AE為汽車市場開發的第一台安全圖像信號專用處理器 (ISP),該處理器提供了針對電腦視覺和人類視覺的需求進行優化的解決方案,從而在 ADAS 應用中能以更簡單的軟體和減少整個感知管道的處理器工作負載。

Arm 在低功耗運算方面的專業知識有助於控制 ADAS 所需的硬體成本,降低功耗可節省在電池、電源、電源線、散熱器和 ECU 外殼的成本。在 Arm 生態系統中,像 Brodmann17 這樣的公司正在為 ADAS 在全新更有效率 的CPU上進行感知演算法之創新,這些演算法可以在靈活且廣泛可用的Arm SOC 上運行,而不需要專業的神經處理單元。

將自動駕駛數據用於 ADAS

在北美、歐洲和亞洲的許多城市,機器人計程車和自動駕駛汽車的研究和試驗計劃正在激增。雖然這些試驗中部署的自主技術在若干年內不太可能在私家車中量產,但 OEM 廠商意識到,它們在試驗車輛中構建的某些功能已經能夠讓它們與其他品牌車輛做出差異化,並且在建立技術領先聲譽方面發揮作用。例如自動代客泊車和車道保持輔助等功能可以提高駕駛的安全性和駕駛樂趣,消費者對此表現出濃厚的興趣,並且願意為此體驗支付溢價,甚至月費。

然而,任何 OEM 在其車輛中安裝獨特的 ADAS 功能都不會保持太久,因此加速上市時間對於差異化至關重要。

但是,幾乎所有 ADAS 功能都需要如同 ISO 26262 所定義的功能性安全方法,OEM 和一線汽車合作夥伴需要由起始就將功能安全能力整合到處理器中,以簡化 ADAS 系統的開發、驗證和認證,此要求在包含Arm Cortex-A78AE 應用處理器、Arm Mali-G78AE 圖形處理器Arm Cortex-R52 即時處理器此項不斷擴大的安全就緒產品系列中實現。

Arm 合作夥伴專注於開發 OEM 所需的 SOC,以在高階 ADAS 功能方面進行創新,最近發佈的合作夥伴包括 NXP S32S 平台,Renesas R-Car-V3U 和最近宣佈的 Nvidia Atlan。

管理 ADAS 中的軟體複雜性

早期 ADAS 系統的架構相對簡單,通常軟體運行在專用電子控制單元 (ECU) 上,與其他功能協作的需求不高,但新的軟體定義汽車具有多個 ADAS 功能、共用相同的感測器和促動器 (actuator),因此軟體日趨複雜。

解決方案是將許多功能整合到一個更強大的 ECU 中,我們稱之為域控制器 (domain controller)。Strategy Analytics 公司強調 ADAS 域控制器 (ADAS domain controller) 是 ADAS 中增長最快的應用之一,年平均增長率估計為50%。

由於它整合了多個功能,其中部分功能具有複雜的處理要求,因此域控制器必須提供高效能運算以及安全和即時功能。Arm AE 和 Cortex-R 即時處理器非常適合應用在 ADAS 系統的SoC上,提供即時效能,同時支援最高水準的汽車安全完整性。

由於預計現今交付的車輛在其生命週期中將體驗軟體升級,域控制器的運算能力需具一定程度的效能。

若要在單一 SoC 上安全運行多個 ADAS 應用,則需要虛擬化才能將這些工作負載彼此分離,Arm AE 應用類處理器系列和 Cortex-R52 即時處理器提供此種能力,而我們的生態系合作夥伴在虛擬機器監視器 (hypervisor) 方面的專業知識則簡化了開發過程。

通用 ADAS 時代

從今起,大多數離開世界汽車工廠的車輛都將配備多重 ADAS 功能,使道路運輸對駕駛者、乘客和其他道路使用者的危險性大大降低。

Arm 及其生態系致力於為所有道路使用者提供可擴展、安全、節能與異質性運算,為所有道路使用者提供可負擔的 ADAS。

愈進一步瞭解汽車市場與 ADAS 的演進,請下載Strategy Analytics最新的免費報告《先進駕駛輔助系統的演進》以瞭解:

  • 全球政府如何影響汽車產業
     
  • 哪些 ADAS 的功能和應用成長率最高
     
  • 開發新 ADAS 功能和自駕汽車的新興趨勢
Arm

加入 INSIDE 會員,獨享 INSIDE 最精采每日趨勢電子報,未來還有會員專屬內容。 點擊立刻成為會員

核稿編輯:Chris

延伸閱讀:



開發者享受 CI/CD 價值!運用 Amazon EKS 整合 GitLab 創建自動化部署

企業如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署,減輕人力負擔,提升專案服務運作效率?
評論
評論

所謂現代化智慧 IT,所有工程師最希望的境界,莫過於只要輕鬆點幾下設定,系統就會自動跑起來,管理者再也不用隨時待命在機台旁邊,從此工作悠哉又快樂!儘管這樣情境還沒到來,但隨著敏捷式開發的流行,除了 DevOps 人員,有越來越多開發者將 CI/CD 概念融入到工作流程當中,例如從 build code、執行 unit test、到部署應用程式。

打造第一個在 AWS 上的應用程式

上述種種反覆步驟自動化執行,也就能提昇服務品質、主動通知開發人員以減輕人力負擔,讓專案服務能持續運作。

其中,GitLab 是執行 CI/CD 常用的工具之一,也是開發者使用程式碼儲存庫的地方。為了讓 GitLab Runner 在雲端快速實踐 CI/CD,《AWS 開發者系列》透過影片分享,如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署。

以下節錄工作坊影音內容,幫助開發者快速理解如何運用 Amazon EKS 的高可用性且安全的叢集,將修補、部署節點、更新等關鍵任務,全部做到自動化設定。同時影片也會示範 Amazon EKS 搭配 GitLab 如何展開自動部署,幫助工程團隊實踐 CI/CD 價值。

Amazon EKS 對容器管理輕鬆簡單、維運省時省力

容器化服務越來越興盛,當容器(Container)越來越多,在複雜的微服務(Microservice)系統環境之下,運維團隊的管理成本可能相對會增加不少,為了有效調度容器部署, 導入Kubernetes 無疑是近年企業熱門的話題之一。

建構 Kubernetes Cluster 流主要可區分兩大塊,一是安排容器調度的Control Plane、另一則是容器運行時需要用到的 Worker Node。

Control Plane 裡面涵蓋有儲存狀態的 ETCD、CoController manager 、Scheduler 的調度管理、甚至是操作時進行互動的 APIServer,若是自己創建 的 Kubernetes Cluster ,需要自己安裝這些元件,後續仍需要對 Control Plane 進行相關管理、維護、升級工作。為了減少上述 Components 的繁複維護,在透過 AWS EKS 代管的 Kubernete Control Plane 部可以獲得以下三大好處。

透過 AWS 增加雲端技能 在組織發揮影響力

Amazon EKS 一鍵式部署,展現三大優勢

第一,Amazon EKS代管的 Control Plane實踐了跨AZ的高可用部署,使用者不需要擔心單一節點故障的風險。

第二,Amazon EKS 支持至少四個 Kubernetes版本,持續跟進每季 CNCF 的發佈,同時 EKS 也完全符合上游 CNCF 規範。

第三,部署 Amazon EKS 之後,可直接使用 AWS 平台上現成的服務工具,在安全性管理、網路設定方面,可以做到無縫整合。

最後 AWS 台灣解決方案架構師也提到,若想在容器環境進行 CI/CD 及應用程式的管理,可以進一步透過 IaC 整合部署 Amazon EKS 叢集,透過使用 Console、把 EKS 變成 Cloudformation 的模板、使用 AWS 所開發出來的 eksctl.io、或指令是採用 AWS CDK 可以讓開發者用自身熟悉的語言,在 AWS 平台整合 CI/CD 工具進行維運及部署 EKS。

了解 Amazon EKS 整合 GitLab ,獲得三面向價值

對開發者而言,想把 Amazon EKS 整合到 CI/CD 工具之一的 GitLab 平台上,可以看到那些實際的優勢?

在 DevOps 開發者示範工作坊當中,GitLab 資深解決方案架構師指出,GitLab 使用到 Kubernetes 技術,主要有三種搭配方法,包含 GitLab Server、GitLab Runner、以及創建 Deployment Environment。

本次示範教學會主要聚焦在 GitLab Runner 如何採取 Auto-scaled 方式進行 Build、Test、Package Apps;以及在 Deployment Environment 運用 Kubernetes 技術,做到 Auto Deploy、Review App。

正因為 Amazon EKS 能夠在 DevOps 過程提供所需要的彈性計算資源,幫助開發者在 GitLab 平台上面獲得以下三個層次的優勢:

  • 在 GitLab 內建的部署工作流程當中,自動生成整套 CI/CD 最佳實踐腳本。
  • Review App 過程,從 Merge Request 中可直接訪問應用程式 /App 的 UI 介面,並且根據 Git branch 名稱、專案名稱,自動生成 Review App 的 URL,以及在 Merge 前的最後防線進行 Approval 檢查。
  • 加速 CI/CD 流水線,GitLab Runner 運行時候還可藉由 Amazon EKS Cluster 進行 Auto-scaled 的支援。

Amazon EKS 整合 GitLab ,需要兩大流程

影片最後,GitLab 資深解決方案架構師示範如何把 Amazon EKS 整合至 GitLab 執行 Auto Deploy,主要可分為兩大區塊流程,第一部分聚焦在 Amazon EKS cluster 的設置,第二部分則執行 Auto Deploy 設置。

第一塊可拆分為四個階段,首先教學怎麼創建 EC2 節點的 EKS cluster,第二階段示範把 EKS Cluster 連接到開發者的 GitLab Instance、Group 或 Project,下一步則使用 Cluster Management Project Template 創建一個 Cluster Management Project,以及最後一階段透過 Cluster Management Project 自帶的 Helm Chart,安裝在 Cluster 所需要的內建 App。

第二塊執行 Auto Deploy 設置,針對需要部署的 App 創建一個 GitLab Project,接著再把 gitlab-ci.yml 添加到 Project,並從 Web IDE 選擇及導入 Auto Deploy 的 CI 模版,讓 GitLab 自動生成最佳實踐的整套流水線。

幫助開發者更了解 Amazon EKS 整合 GitLab 的 QA 系列

Q:使用 Amazon EKS 之後,如何更有效率或優化資源去配置 Worker Node 的機器數量,以及如何有效空管開發維運的成本?

A:Kubernetes 除了本身有 HPA(Horizontal Pod Autoscaling)可根據使用程度自動調整資源流量,另外也能延伸使用 AWS Auto Scaling 方案,針對可擴展資源去設定自動擴展管理。另外在成本管控,雖然 Amazon EKS 會收取額外管理費用,但可透過 AWS 平台的 Calculato r計算每個 EKS 的價格,你會發現自動化部署及管理的費用,相對工程師人力的成本更加便宜。

Q:越來越多客戶考慮把現有 Application 變成容器部署,大多是爲了加快部署的效率,那麼變成容器模式之後,對 CI/CD 的工作流程有什麽影響嗎?

A:運用容器技術最直接的效果,可以讓應用程式的環境更一致化,例如 testing 環節、stage production,讓容器避開一些差異問題。至於 CD 部分要 delivery 一些 usage 不太一樣的時候,容器會幫忙做配置,所以 CI/CD 對容器的效益是相輔相成的。

Q: 客戶在開發流程漸漸會把 Infrastructure 變成代碼或文檔,是不是可以把程式碼跟現有的應用程式的 CI/CD 流水線整合在一起,達到一套完整的 CI/CD 部署流程?

A:觀察目前市場作法,主要分成兩個階段去做整體部署。如果規模比較小的團隊,會把 Infrastructure 代碼跟 App 代碼分開,在管理上會比較靈活;如果企業規模比較大,會有另外一個 Infrastructure 團隊來控制部署事情,這種情况之下,APP 的項目會生成一個 APP package,主要做到 delivery 這個階段爲止。而 Infrastructure 的項目會指定把需要版本的文檔,部署到他們的 Kubernetes Cluster。

填寫表單 找到適合的快速上雲服務與工具!