支援終止通知:2025 年 9 月 10 日, AWS 將停止對 的支援 AWS RoboMaker。2025 年 9 月 10 日後,您將無法再存取 AWS RoboMaker 主控台或 AWS RoboMaker 資源。如需有關轉換至 AWS Batch 以協助執行容器化模擬的詳細資訊,請造訪此部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行模擬
若要開始執行模擬,請使用下列AWS CLI 指令來描述您的應用程式。這些指令提供輸出,您可以檢查這些輸出,以確認您已準備好繼續建立模擬工作。
下列指令會擷取與自動機制應用程式相關聯的資料。
aws robomaker describe-robot-application --application
YOUR-ROBOT-APP-ARN
的輸出describe-robot-application
包含下列資料。
{
"arn": "YOUR-ROBOT-APP-ARN
",
"name": "YOUR-ROBOT-APP-NAME
",
... # Removed extra data for clarity
"robotSoftwareSuite": {
"name": "General"
},
... # Removed extra data for clarity
"environment": {
"uri": "YOUR-ROBOT-APP-ECR-URI
"
}
}
下一個指令會擷取與模擬應用程式關聯的資料。
aws robomaker describe-simulation-application --application
YOUR-SIM-APP-ARN
的輸出describe-simulation-application
包含下列資料。
{
"arn": "YOUR-SIM-APP-ARN
",
"name": "YOUR-SIM-APP-NAME
",
... # Removed extra data for clarity
"simulationSoftwareSuite": {
"name": "SimulationRuntime"
},
"robotSoftwareSuite": {
"name": "General"
},
... # Removed extra data for clarity
"environment": {
"uri": "YOUR-SIM-APP-ECR-URI
"
}
}
儲存YOUR-ROBOT-APP-ARN
和的傳回值YOUR-SIM-APP-ARN
。您需要兩者才能提交模擬工作。如果您需要將 WorldForge 資產匯入模擬任務,請使用DataSource API。這可讓您將全球資產從全球匯出任務的 Amazon S3 輸出目錄匯入模擬任務容器中選擇的目的地。如需詳細資訊,請參閱在模擬中使用匯出的世界。
若要提交模擬工作,請在名為的工作目錄中建立 JSON 檔案create_simulation_job.json
。複製、貼上及編輯以紅色斜體文字識別的字串YOUR-IAM-ROLE-ARN
,以包含YOUR-ROBOT-APP-ARN
、和YOUR-SIM-APP-ARN
。以下roslaunch
指令、TurtleBot
環境變數和工具設定是 hello world 範例應用程式
{ "maxJobDurationInSeconds": 3600, "iamRole": "
IAM-ROLE-ARN
", "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" }, "streamUI": false, "command": [ "/bin/bash", "-c", "roslaunch hello_world_robot rotate.launch" ] }, "tools": [ { "streamUI": true, "name": "robot-terminal", "command": "/entrypoint.sh && xfce4-terminal", "streamOutputToCloudWatch": true, "exitBehavior": "RESTART" } ] } ], "simulationApplications": [ { "application": "YOUR-SIM-APP-ARN
", "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", "TURTLEBOT3_MODEL":"waffle_pi" }, "streamUI": true, "command": [ "/bin/bash", "-c", "roslaunch hello_world_simulation empty_world.launch --wait" ] }, "tools": [ { "streamUI": true, "name": "gzclient", "command": "/entrypoint.sh && gzclient", "streamOutputToCloudWatch": true, "exitBehavior": "RESTART" } ] } ] }
注意
請特別注意自動機制ROS_
和模擬應用程式中launchConfig
物件中的特GAZEBO_
定環境變數設定。需要字ROBOMAKER_*
串值和連接埠號碼,才能讓自動機制應用程式容器與模擬應用程式容器進行通訊。
確認工作設定後,您可以使用下列指令送出工作。
aws robomaker create-simulation-job --cli-input-json file://create_simulation_job.json
若要確認您的模擬正在執行中AWS RoboMaker,請造訪AWS RoboMaker主控台