支援終止通知: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 主控台