Crée une simulation. - AWS RoboMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Crée une simulation.

Pour commencer à exécuter une simulation, utilisez les commandesAWS CLI suivantes pour décrire vos applications. Ces commandes fournissent des résultats que vous pouvez examiner pour confirmer que vous êtes prêt à procéder à la création d'une tâche de simulation.

La commande suivante permet de récupérer les données associées à votre application robot.

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

La sortie dedescribe-robot-application contient les données suivantes.

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

La commande suivante extrait les données associées à votre application de simulation.

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

La sortie dedescribe-simulation-application contient les données suivantes.

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

Enregistrez les valeurs renvoyées pourYOUR-ROBOT-APP-ARN etYOUR-SIM-APP-ARN. Vous avez besoin des deux pour soumettre votre travail de simulation. Si vous devez importer WorldForge des actifs dans votre tâche de simulation, utilisez l'DataSourceAPI. Cela vous permet d'importer des ressources mondiales depuis le répertoire de sortie Amazon S3 de la tâche d'exportation mondiale vers la destination de votre choix dans votre conteneur de tâches de simulation. Pour plus d'informations, veuillez consulter Utilisation de mondes exportés dans la simulation.

Pour soumettre votre tâche de simulation, Crée un fichier JSON dans votre répertoire de travail nommécreate_simulation_job.json. Copiez, collez et modifiez les chaînes identifiées par du texte en italique rouge devant contenirYOUR-IAM-ROLE-ARNYOUR-ROBOT-APP-ARN, etYOUR-SIM-APP-ARN. Les paramètres deroslaunch commande, de variable d'TurtleBotenvironnement et d'outil ci-dessous sont spécifiques à l'exemple d'application Hello World. Vous devez mettre à jour ces paramètres selon vos propres valeurs personnalisées en fonction des besoins de votre tâche de simulation. Pour en savoir plus, consultez 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" } ] } ] }
Note

Prenez particulièrement note des paramètresGAZEBO_ spécifiquesROS_ des variables d'environnement de l'launchConfigobjet dans le robot et dans l'application de simulation. Les valeurs deROBOMAKER_* chaîne et les numéros de port sont nécessaires pour permettre à votre conteneur d'applications de robot de communiquer avec votre conteneur d'applications de simulation.

Une fois que vous avez confirmé les paramètres de votre tâche, vous pouvez soumettre la tâche à l'aide de la commande suivante.

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

Pour vérifier que votre simulation est en cours d'exécutionAWS RoboMaker, rendez-vous sur la page Tâches de simulation de la AWS RoboMakerconsole. Recherchez votre tâche en cours d'exécution et choisissez-la pour afficher les détails et lancer les outils associés. Félicitations, votre travail de simulation est maintenant en cours d'exécutionAWS RoboMaker !