執行模擬 - AWS RoboMaker

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

執行模擬

若要開始執行模擬,請使用下列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 範例應用程式特有的。您必須根據模擬工作的需求,將這些設定更新為您自己的自訂值。如需詳細資訊,請參閱 CreateSimulationJob API。

{ "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主控台內的「模擬工作」頁面。查找正在運行的作業,然後選擇它以查看詳細信息並啟動任何關聯的工具。恭喜您,您的模擬工作現在正在執行中AWS RoboMaker!