支援終止通知:2025 年 9 月 10 日, AWS 將停止對 的支援 AWS RoboMaker。2025 年 9 月 10 日後,您將無法再存取 AWS RoboMaker 主控台或 AWS RoboMaker 資源。如需有關轉換至 AWS Batch 以協助執行容器化模擬的詳細資訊,請造訪此部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
疑難排解 AWS RoboMaker
以下各節針對您在使用時可能遇到的錯誤和問題提供疑難排解建議 AWS RoboMaker 模擬IDEs,或模擬 WorldForge。如果您發現此處未列出的問題,請使用本頁底部的 [提供意見反應] 連結來回報問題。
您可以在記錄主控台中找到模擬工作的CloudWatch 記錄streamOutputToCloudWatch
為True
,相同的行為會套用至工具。您也可以在模擬任務新增自訂上傳組態中配置上傳。
如需詳細資訊,請參閱AWS RoboMaker 中的記錄和監控。
模擬工作
問題:您的模擬工作失敗。
請使用下列問題來協助找出根本原因,然後採取建議的動作。
您的 Amazon S3 資源是否位於同一個區域 AWS RoboMaker?
您的機器人應用程式、模擬應用程式和輸出位置必須位於與 AWS RoboMaker。驗證您的應用程式來源和模擬任務輸出位置。
您的機器人應用程序是否異常退出?
設定您的機器人應用程式進行模擬時發生問題。檢閱 Amazon 中模擬任務的機器人應用程式日誌 CloudWatch。
您可以從模擬任務詳細資訊畫面中存取日誌。選取 Logs (日誌),然後選取日誌串流。若要尋找特定問題,請使用篩選條件。例如,WARNING或ERROR。
您的應用程式是否缺少.so
檔案?
如果您的應用程式當機,則可能缺少相依的「共用物件」 (.so
) 檔案。擷取環境中的應用程式組合,並確認您需要的共用物件程式庫位於 /usr/lib
或 /usr/local/lib
中。確保依賴項已添加到您的包.xml
文件中。
你有沒有使ARN用你的角色 AWS CLI?
當您撥打create-simulation-job
電話時 AWS CLI,請使用角色的完整 Amazon 資源名稱 (ARN),而不僅僅是角色名稱。
您的角色是否具有信任政策 AWS RoboMaker?
如果您在create-simulation-job
從呼叫時傳遞IAM角色的完整 Amazon 資源名稱 (ARN) AWS CLI,您的信任政策可能沒有足夠的權限。檢查角色以確保它與robomaker.amazonaws.com
以下內容具有信任關係。
{"Version": "2012-10-17", "Statement": {"Effect": "Allow", "Principal": { "Service": "robomaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {"StringEquals": {"aws:SourceAccount": "account#" // Account where the simulation job resource is created }, "StringEquals": {"aws:SourceArn": "arn:aws:robomaker:region:account#:simulation-job/*" } } } }
條件鍵防止 AWS 服務在服務之間的交易過程中被用作混淆的副手。如需有關條件鍵SourceArn的其他資訊,請參閱SourceAccount和。
如需有關檢視角色存取以及將信任原則新增至角色的詳細資訊,請參閱修改IAM角色。
您的角色是否具有發佈到 Amazon S3 的許可權?
如果為模擬任務指定輸出 Amazon S3 儲存貯體,您的角色必須具有儲存貯體的寫入許可。更新您的信任政策以包含寫入許可。下列範例信任政策將讀取、列出和寫入權限新增至 Amazon S3 儲存貯體。
{"Action": "s3:ListBucket", "Resource": [ "amzn-s3-demo-bucket/*" ], "Effect": "Allow" },{"Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "amzn-s3-demo-bucket/*" ], "Effect": "Allow" },{"Action": "s3:Put*", "Resource": [ "amzn-s3-demo-bucket/*" ], "Effect": "Allow" }
您的角色是否有發佈的權限 CloudWatch?
使用存取權更新IAM角色的 CloudWatch 權限原則。
{"Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": "*" }
您的應用程式是否有不相符的實體標籤?
實體標籤 (ETag) 是建立模擬時所提供之 Amazon S3 物件的雜湊。只會ETag反映物件內容的變更,而不會反映其中繼資料。如果您之前在 Amazon S3 中變更機器人應用程式或模擬服務包的內容 AWS RoboMaker 已經消耗了它,會有一個版本不匹配。
若要解決這個問題,請建立新的機器人應用程式或模擬應用程式版本,並提供已更新之應用程式組合的金鑰位置。如需詳細資訊,請參閱 建立機器人應用程式版本 或 建立模擬應用程式版本。
您的子網路 elastic network interface (ENI) 是否超過限制?
AWS RoboMaker ENI針對執行模擬工作的子網路中的每個並行模擬工作使用一個。其中每一個都必須獲指派 IP 地址。若要解決此問題,您可以:
刪除未使ENIs用的以釋放子網路中的 IP 位址。若要刪除未使用的網路介面ENI,請參閱刪除網路介面。
使用 AWS Management Console,請求提高特定ENIs的服務限制
啟動命令是否正確配置?
如果您的模擬很複雜或容器映像很大,則模擬任務可能需要幾分鐘的時間才能啟動。If AWS RoboMaker 花費超過 25 分鐘準備模擬工作,啟動指令可能存在問題。取消任務,然後建立新的模擬任務。如果問題仍然存在,請聯繫 AWS 支持。
您可以使用 CloudWatch 記錄檔來檢查模擬和自動機制應用程式執行記錄是否有錯誤。您還可以添加終端的自定義工具,以連接並對正在運行的模擬任務進行故障排除。
您的子網是否位於區域中 AWS RoboMaker 支持?
在其中兩個中提供子網路 AWS 支援的可用區域 AWS RoboMaker。API響應包含支持的列表 AWS 可用區域。
您的 world 檔案模型參考是否正確?
使用 CloudWatch 日誌來驗證您的 world 文件中的所有模型是否正確。如果找不到模型,您將看到以下錯誤。
[Wrn] [ModelDatabase.cc:340] Getting models from[http://models.gazebosim.org/]. This may take a few seconds. [Wrn] [ModelDatabase.cc:212] Unable to connect to model database using [http://models.gazebosim.org//database.config]. Only locally installed models will be available. [Err] [ModelDatabase.cc:414] Unable to download model[model://model_name] [Err] [SystemPaths.cc:429] File or path does not exist[""] Error [parser.cc:581] Unable to find uri[model://model_name]
仿真 WorldForge
問題:我的世界一代工作失敗了。
如果您的世界一代工作沒有完成,請確保您的世界數量大於 1 且小於 50。floorplanCount * interiorCountPerFloorplan
問題:為什麼我的世界出口工作失敗了?
請使用下列問題來協助找出根本原因,然後採取建議的動作。
你有一個信任政策 AWS RoboMaker?
如果您在create-world-export-job
從呼叫時傳遞IAM角色的完整 Amazon 資源名稱 (ARN) AWS CLI,您的信任政策可能沒有足夠的權限。檢查角色以確保它與robomaker.amazonaws.com
以下內容具有信任關係。
{"Version": "2012-10-17", "Statement": {"Effect": "Allow", "Principal": { "Service": "robomaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {"StringEquals": {"aws:SourceAccount": "account#" // Account where the simulation job resource is created }, "StringEquals": {"aws:SourceArn": "arn:aws:robomaker:region:account#:simulation-job/*" } } } }
條件鍵防止 AWS 服務在服務之間的交易過程中被用作混淆的副手。如需有關條件鍵SourceArn的其他資訊,請參閱SourceAccount和。
您的角色是否具有發佈到 Amazon S3 的許可權?
如果為匯出任務指定輸出 Amazon S3 儲存貯體,您的角色必須具有儲存貯體的許可。更新您的信任政策以包含下列權限:
{"Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject" ], "Resource": "amzn-s3-demo-bucket" }
您是否修改或移除為匯出工作指定的值區?
如果您在匯出工作期間更新儲存貯體,則匯出工作可能會發ResourceNotFound
生錯誤。
問題:世界形象存在問題。
請使用下列問題來協助找出根本原因,然後採取建議的動作。
為什麼我的門口沒有門?
您只能使用第 2 版樣板或更高版本加入門。您可以將版本 1 範本更新為更新版本。如需詳細資訊,請參閱模擬世界範本版本、功能和變更。
因為 AWS RoboMaker 模擬會 WorldForge 建立獨一無二且隨機的世界,當您產生時,您指定的門配置可能不存在於世界中。例如,您可以在樣板中的客廳和廚房之間指定門,但這些房間之間可能會有開放的牆。因為有一個開放的牆,而不是一個門口,你將無法在那裡添加一扇門。
為什麼我的門擋住了我房間的入口?
擋住房間入口的門是一種可以挑戰機器人的情況。要創造一個不會對您的機器人帶來挑戰的世界,您可以執行以下操作之一:
從您的世界範本產生另一個世界。在新世界中產生的門可能不會阻塞入口。
變更世界範本中門的開啟百分比。
為什麼我的世界圖像中的牆壁比模擬工作或出口世界中的牆短?
AWS RoboMaker 可讓您透過截斷 WorldForge 世界影像中的牆來查看模擬世界,而不會被牆遮住。牆的高度與您在建立的世界中的世界樣板中指定的高度相同。
對於由第 2 版範本或更新版本產生的世界,世界影像中的門模型不會被截斷。世界影像中門的高度與您建立的世界中門的高度相同。