模擬

為何要使用模擬?

Pure Play 機器人公司是剛使用 AWS 的新創機器人公司,也是期望擴展專有軟體堆疊規模的知名機器人製造商。這類公司在將機器人部署至現場之前,需要對其機器人應用程式進行嚴格的測試和驗證。但是,為自主機器人建置和測試應用程式十分困難、複雜且耗時。傳統上,開發人員團隊編寫程式碼以解決各種各樣的部署情境,將程式碼整合在一起,然後必須在實體環境的真實機器人上測試所有應用程式情境。這種手動的開發和測試程序會佔用大量資源,減緩應用程式更新的發佈週期,並且無法輕鬆擴展。為應對這種情況,一些成熟的機器人製造商已經開始使用模擬來建立他們和機器人,以及預期要運作的實體環境的虛擬模型,然後在模擬中進行測試以驗證其應用程式的品質和精準性,再部署至實體機器人。這些公司在加速、反覆開發,以及擴展其測試規模和進一步提高其應用程式精準性的能力方面見證了模擬的優勢。然而,對於使用模擬的機器人公司而言,建置 3D 資產,建構測試環境以及進行擴展測試需要專業技能,而且價格昂貴,因此限制了模擬的採用。

為什麼要選擇 AWS RoboMaker 進行模擬?

AWS RoboMaker 透過提供預先建置的環境和工具,讓開發人員能夠在模擬環境中執行和反覆查看其程式碼,再在實體環境中進行部署和測試,因此,所有機器人製造商都能承受相關成本且便捷易用。由於開發人員無須預付費用,只需為所花費的模擬時間付費,因此降低了成本。AWS RoboMaker 是最完備的雲端解決方案,讓機器人開發人員能夠大規模模擬、測試和部署機器人應用程式。RoboMaker 提供一個全受管、可擴展的模擬基礎架構,客戶可將其用於多機器人模擬,以及在模擬中整合迴歸測試的 CI/CD。

全受管、可擴展的模擬基礎架構

AWS RoboMaker 減輕了所有機器人製造商執行模擬的負擔。在使用開放原始碼 Gazebo 引擎進行模擬時,可以使用 RoboMaker 模擬來執行稱為機器人作業系統 (ROS) 和 ROS2 應用程式的開放原始碼軟體庫。該服務支援大規模和平行模擬,並且能夠根據待測情境的複雜性自動擴展。開發人員只需將其機器人應用程式上傳至 Amazon S3 儲存貯體,然後執行模擬即可。無須佈建、設定或管理基礎架構,並且開發人員可以平行執行多個模擬。藉助 RoboMaker 大量處理模擬 API,開發人員透過單一 API 叫用,即可輕鬆啟動批次處理大規模模擬。此外,RoboMaker 還提供了預先建置的虛擬 3D 世界,例如室內房間、倉儲和零售商店,開發人員幾乎無需資本支出,也不需要專業的工程或設計技能,即可下載、修改和使用這些虛擬 3D 世界。

多機器人模擬大規模測試

多機器人模擬是一項功能,能夠在單一模擬環境中對多個機器人,從數十個到數百個機器人,進行機器人間的通訊和路由演算法測試。AWS RoboMaker 讓機器人製造商能夠將多個平行模擬連線至其中央機群管理軟體,以測試多機器人情境的行為並模擬整個機器人機群的任務。以此為參考,Bastian Solutions 希望擴展其機器人的部署,但其測試軟體需要在實體環境中對實體機器人進行測試,這實際上會限制 8-10 個機器人。透過使用 RoboMaker,Bastian 建立了一個模擬環境,能夠測試超過 35 個機器人的多機器人協調。現在,Bastian 已擴展為成功測試超過 100 個並行機器人,從而能夠測試實體裝置無法實現的情境。這些測試提供了有關如何在生產中部署和管理這些機器人的重要洞見。

在模擬中整合迴歸測試的 CI/CD 提高了程式碼品質

機器人應用程式開發通常涉及多個開發人員合作編寫程式碼,以及冗長的品質檢查週期,以識別錯誤並確保程式碼品質。AWS RoboMaker 讓機器人製造商能夠執行整合迴歸測試的 CI/CD (持續整合/持續交付),以提高程式碼品質並加快測試速度。CI/CD 是開發團隊用於頻繁且可靠地交付程式碼變更的一種開發實務。此開發模型的實作稱為 CI/CD 管道。傳統的應用程式開發人員已經很好地採用 CI/CD,現在更運用於機器人技術中。藉助 RoboMaker,開發人員可執行大量模擬,在每次程式碼簽入後使用 API 叫用進行​​迴歸測試,進行夜間整合測試,以及在每次軟體更新發佈之前進行測試。透過與 AWS Lambda、AWS CodePipeline 和 AWS CodeCommit 等其他服務結合,開發人員正將其迴歸測試執行整合至 CI/CD 管道中,從而加速軟體開發。RoboMaker 客戶正在使用紀錄的 ROS bag 檔案 (用於儲存 ROS 訊息資料的檔案格式),或實體型模擬器進行迴歸測試,並透過 AWS CodePipeline 和 CodeBuild 整合至 CI 管道。讓客戶大受裨益。以此為參考,iRobot 建置了用於大規模和自動化測試的 CI/CD 管道,並針對每個程式碼提交執行 40 多項自動化測試,針對每個備用軟體版本執行 500 多項自動化測試。透過使用 RoboMaker,iRobot 將發佈至其生產程式碼中的錯誤減少了 20%,並將手動測試減少了 50%。iRobot 軟體工程總監 Chris Kruger 表示,與 AWS RoboMaker 合作就像「增加了 20 名 QA 測試人員」。

機群管理

開發、測試和部署機器人應用程式後,需求將其移至現場管理機器人。AWS 透過 RoboMaker 的機群管理功能和 AWS 雲端服務針對性地解決了監控機器人狀態,獲取效能資料,以及安全地更新應用程式等多項挑戰。

機群管理支援現場機器人部署

RoboMaker 的機群管理服務與 AWS IoT Greengrass 整合,以提供機器人登錄、安全性和容錯能力。登錄服務讓公司能夠識別、追蹤和組織其機器人,使其成為最佳機群。開發人員可以使用 RoboMaker 機群管理,透過 AWS 的全受管空中 (OTA) 更新基礎架構,將其應用程式安全地部署至其機器人。Greengrass 使用 X.509 憑證、受管訂閱、AWS IoT 政策和 IAM 角色,透過加密連線安全地連線至 AWS 雲端服務。RoboMaker 的 OTA 服務支援條件式更新,可為 OTA 程序提供情報,以降低中斷或不完整軟體更新的風險。

ROS 擴充功能與 AWS 服務整合

RoboMaker 支援 ROS1 和 ROS2 (Beta 版),主動向開放原始碼 ROS 儲存庫貢獻程式碼,並針對 Amazon CloudWatch (指標、日誌記錄和監控)、Amazon Rekognition (物件偵測)、Amazon Kinesis (影片串流),以及 Amazon Polly (文字轉語音) 和 Amazon Lex (語音識別) 開發雲端擴充功能。這些雲端擴充功能讓開發人員無需安裝其他硬體或開發複雜軟體,即可增強其機器人的功能。AWS 將上述每種雲端服務擴充功能作為開放原始碼 ROS 套件提供,客戶可以透過雲端 API 存取,以獲取其機器人的效能和營運資料。憑藉該 AWS 服務整合套件,客戶能夠在現場輕鬆地監控和調整其機器人應用程式的效能。

映像
查看定價

AWS RoboMaker 定價按用量付費,沒有最低費用。

進一步了解 
映像
註冊免費帳戶

立即存取 AWS 免費方案 

註冊 
映像
開始在主控台進行建置

開始使用 AWS RoboMaker 進行建置。

開始使用