Esecuzione di simulazione - AWS RoboMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esecuzione di simulazione

Per iniziare a eseguire una simulazione, usa i seguenti comandiAWS CLI per descrivere le tue applicazioni. Questi comandi forniscono un output che puoi esaminare per confermare che sei pronto a procedere alla creazione di un lavoro di simulazione.

Il comando seguente recupera i dati associati all'applicazione del robot.

aws robomaker describe-robot-application --application YOUR-ROBOT-APP-ARN

L'output perdescribe-robot-application contiene i seguenti dati.

{ "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" } }

Il comando successivo recupera i dati associati all'applicazione di simulazione.

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

L'output per ildescribe-simulation-application contiene i seguenti dati.

{ "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" } }

Salva i valori restituiti perYOUR-ROBOT-APP-ARN eYOUR-SIM-APP-ARN. Ti servono entrambi per inviare il tuo lavoro di simulazione. Se devi importare WorldForge risorse nel tuo lavoro di simulazione, usa l'DataSourceAPI. Ciò consente di importare risorse mondiali dalla directory di output di Amazon S3 del processo di esportazione mondiale verso una destinazione a scelta all'interno del contenitore dei lavori di simulazione. Per ulteriori informazioni, consulta Utilizzo di mondi esportati nella simulazione.

Per inviare il lavoro di simulazione, crea un file JSON nella directory di lavoro denominatacreate_simulation_job.json. Copia, incolla e modifica le stringhe identificate dal testo in corsivo rosso per contenereYOUR-IAM-ROLE-ARNYOUR-ROBOT-APP-ARN, eYOUR-SIM-APP-ARN. Le impostazioni deiroslaunch comandi, della variabile diTurtleBot ambiente e dello strumento riportate di seguito sono specifiche dell'applicazione di esempio hello world. È necessario aggiornare queste impostazioni con valori personalizzati in base alle esigenze del lavoro di simulazione. Per ulteriori informazioni, consulta l'API CreateSimulationJob.

{ "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" } ] } ] }
Nota

Prendi nota in particolare delleROS_ impostazioniGAZEBO_ specifiche delle variabili di ambiente nell'launchConfigoggetto nel robot e nell'applicazione di simulazione. I valori delleROBOMAKER_* stringhe e i numeri di porta sono necessari per consentire al contenitore dell'applicazione robotica di comunicare con il contenitore dell'applicazione di simulazione.

Dopo aver confermato le impostazioni del lavoro, è possibile inviare il lavoro utilizzando il seguente comando.

aws robomaker create-simulation-job --cli-input-json file://create_simulation_job.json

Per confermare che la simulazione è in esecuzioneAWS RoboMaker, visita la pagina Simulation Jobs all'interno della AWS RoboMakerconsole. Cerca il tuo job in esecuzione e sceglilo per visualizzare i dettagli e avviare gli strumenti associati. Congratulazioni, il tuo lavoro di simulazione è in corsoAWS RoboMaker!