選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

ROS 容器FAQs - AWS RoboMaker

支援終止通知:2025 年 9 月 10 日, AWS 將停止對 AWS RoboMaker 的支援。2025 年 9 月 10 日之後,您將無法再存取 AWS RoboMaker 主控台或 AWS RoboMaker 資源。如需有關轉換至 AWS Batch 以協助執行容器化模擬的詳細資訊,請參閱此部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

支援終止通知:2025 年 9 月 10 日, AWS 將停止對 AWS RoboMaker 的支援。2025 年 9 月 10 日之後,您將無法再存取 AWS RoboMaker 主控台或 AWS RoboMaker 資源。如需有關轉換至 AWS Batch 以協助執行容器化模擬的詳細資訊,請參閱此部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ROS 容器FAQs

此頁面列出與將 ROS 型機器人和模擬應用程式遷移至適合在其中執行的 Docker 容器相關的常見問題和答案 AWS RoboMaker。

我們的工作流程使用 colcon綁定機器人和模擬應用程式提交模擬任務。我需要遷移嗎?

是,您必須遷移。要遷移的步驟位於 將 ROS 應用程式遷移至容器

我不確定我的機器人和模擬應用程式是否需要遷移。如何告知 ?

您可以透過 AWS 主控台或 進行檢查 AWS CLI。如需說明,請選擇下列適用的索引標籤。

Using the console
  1. 登入 AWS RoboMaker 主控台

  2. 在左側導覽窗格中,選擇 Development (開發),然後選擇 Simulation applications (模擬應用程式)

  3. 選取模擬應用程式的名稱以查看其詳細資訊。

    如果您看到一般模擬執行期,則不需要遷移。如果您看到任何 ROS 或 Gazebo 特定值,則必須遷移。

Using the AWS CLI

以下是範例 AWS CLI 命令,可執行與主控台型步驟相當的 。

aws robomaker describe-simulation-application --application YOUR-SIM-APP-ARN

此命令會傳回輸出,指出 simulationSoftwareSuiterobotSoftwareSuite(如適用) 和 environment URI。如果您將模擬執行期視為 simulationSoftwareSuite,將一般視為 robotSoftwareSuite,且您的 environment URI 已設定,則您的模擬應用程式不需要遷移。

  1. 登入 AWS RoboMaker 主控台

  2. 在左側導覽窗格中,選擇 Development (開發),然後選擇 Simulation applications (模擬應用程式)

  3. 選取模擬應用程式的名稱以查看其詳細資訊。

    如果您看到一般模擬執行期,則不需要遷移。如果您看到任何 ROS 或 Gazebo 特定值,則必須遷移。

機器人和模擬應用程式容器如何互相通訊?

這與以 ROS 為基礎的應用程式通常使用 ROS 中介軟體彼此通訊的方式不同。不過,您必須在模擬任務請求的啟動組態物件中設定一些 ROS 特定環境變數。

以下是您必須用於機器人應用程式 的設定範例程式碼片段launchConfig

"robotApplications": [ { "application": "YOUR-ROBOT-APP-ARN", "applicationVersion": "$LATEST", "launchConfig": { "environmentVariables": { "ROS_IP": "ROBOMAKER_ROBOT_APP_IP", "ROS_MASTER_URI": "http://ROBOMAKER_ROBOT_APP_IP:11311", "GAZEBO_MASTER_URI": "http://ROBOMAKER_SIM_APP_IP:11345" }, ... # Removed extra data for clarity } ]

以下是您必須用於模擬應用程式 的設定範例程式碼片段launchConfig

"simulationApplications": [ { "application": "YOUR-SIM-APP-ARN", "applicationVersion": "$LATEST", "launchConfig": { "environmentVariables": { "ROS_IP": "ROBOMAKER_SIM_APP_IP", "ROS_MASTER_URI": "http://ROBOMAKER_ROBOT_APP_IP:11311", "GAZEBO_MASTER_URI": "http://ROBOMAKER_SIM_APP_IP:11345" }, ... # Removed extra data for clarity } ]

如果您使用提供的ROBOMAKER_*字串和連接埠號碼來設定 ROS_IP、 和 ROS_MASTER_URI,容器會如預期互相通訊GAZEBO_MASTER_URI

如需詳細資訊,請參閱執行模擬

我的即時因素 (RTF) 指標往何處移動? 如何還原?

AWS RoboMaker 不會再自動發佈此指標。如果您想要將此指標發佈至 CloudWatch,您必須將 AWS RoboMaker CloudWatch Publisher 套件匯入模擬應用程式,並使用 檔案中提供的指示來修改模擬啟動README.md檔案。

如何取消和標記模擬任務?

您可以使用 VPC 組態,使用 AWS APIs 來自我標記或自我取消 AWS RoboMaker 模擬任務。若要使用下列方法,容器必須在 VPC 中執行,並透過 NATIGW 將公有路由傳送至 AWS APIs。最簡單的方法是使用預設 VPC 中的公有子網路來連線至 AWS APIs。如果您想要在私有子網路中執行模擬,您可以改為設定 NAT 或設定介面 VPC 端點。如需詳細資訊,請參閱AWS RoboMaker 和界面 VPC 端點 (AWS PrivateLink)

注意

如果您使用的是 IGW,請務必assignPublicIp=True依照下列文件所述進行設定。如果您使用的是公有 IP,請確定您的安全群組已充分鎖定。

您必須將下列區塊新增至請求參數。

vpcConfig={ 'subnets': [ 'string', ], 'securityGroups': [ 'string', ], 'assignPublicIp': True|False },

此外, AWS RoboMaker 模擬任務必須具有 IAM 角色,具有標記和取消模擬任務的許可。

在模擬任務中,您可以使用 AWS CLI 或 boto3 Python 程式庫來呼叫 AWS RoboMaker APIs。您必須先在容器中預先安裝 AWS CLI 和 boto3程式庫,才能在 AWS RoboMaker 模擬任務中使用它們。下列 Python 範例程式碼示範如何取消模擬任務。

class RoboMakerUtils: def __init__(self): self.job_arn = os.getenv('AWS_ROBOMAKER_SIMULATION_JOB_ARN') self.client = boto3.client('robomaker', region_name=os.getenv('AWS_ROBOMAKER_REGION', 'us-east-1')) def tag_robomaker_sim_job(self, key, value): self.client.tag_resource( resourceArn=self.job_arn, tags={ key: str(value) } ) def cancel_robomaker_sim_job(self): self.tag_robomaker_sim_job("END_TIME", time.time()) response = self.client.cancel_simulation_job( job=self.job_arn )

如何將模擬 WorldForge 世界匯入模擬任務?

如果您需要將模擬 WorldForge 資產匯入模擬任務,請使用 DataSource API。這可讓您將世界資產從世界匯出任務的 Amazon S3 輸出目錄匯入模擬任務容器中您選擇的目的地。

如需詳細資訊,請參閱在模擬中使用匯出的世界

系統不會建立我的應用程式日誌檔案。發生了什麼事?

請確定您已建立在 Dockerfile 中偵錯相關成品時所倚賴的所有輸出目錄。例如,您可以將以下行新增至 Dockerfile。

RUN mkdir -p $YOUR_LOG_DIR

如需詳細資訊,請參閱新增自訂上傳組態

我的模擬應用程式在參數伺服器上使用 'run_id 失敗,不符合宣告的 run_id'。我該怎麼辦?

如果您要使用機器人應用程式和模擬應用程式啟動 ROS 模擬任務,您應該將 --wait新增至 roslaunch 命令。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。