Utilisation de mondes exportés dans la 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.

Utilisation de mondes exportés dans la simulation

La simulation WorldForge peut être utilisée pour créer des mondes à utiliser avecAWS RoboMaker. Une fois les mondes créés, ils doivent être exportés pour être utilisés dans des simulations. Vous pouvez également télécharger des mondes à utiliser dans votre simulation.

Exporter des mondes offre la possibilité d'utiliser :

Les sections suivantes fournissent de plus amples informations sur l'utilisation des mondes générés dans votre simulation.

Important

Pour en savoir plus sur la façon dont vous êtes facturéAWS RoboMaker, consultez AWS RoboMaker les tarifs.

Utiliser un monde exporté comme source de données

Avec Simulation WorldForge, vous pouvez exporter des mondes que vous pouvez utiliser dans votre environnement ROS. Le monde que vous choisissez d'exporter est copié dans un fichier .zip dans un compartiment Amazon S3. Cette section explique comment utiliser un monde exporté dans un compartiment Amazon S3 dans une tâche de simulation en donnant des instructions sur la façon d'ajuster le fichier de lancement, puis en créant une tâche de simulation viaAWS Management Console ou à l'aide de l'interface de ligne de commande.

Vous devez d'abord mettre à jour le fichier de lancement de votre application de simulation avant d'utiliserAWS Management Console ouAWS CLI pour ajouter une source de données.

Pour mettre à jour votre fichier de lancement de simulation :
  1. Exécutez les commandes de lancement suivantes :

    <launch> <!-- Always set GUI to false for AWS RoboMaker Simulation Use gui:=true on roslaunch command-line to run with gzclient. --> <arg name="gui" default="false"/> <include file="$(find aws_robomaker_worldforge_worlds)/launch/launch_world.launch"> <arg name="gui" value="$(arg gui)"/> </include> <!-- Your other launch commands go here. --> </launch>

    Vous pouvez faire apparaître votre robot à(0, 0, 0). Les mondes générés par la simulation WorldForge ont la garantie d'avoir un cylindre de 1 mètre libre à(0, 0, 0).

  2. Reconstruisez votre image et appuyez comme d'habitude. Pour plus d'informations, veuillez consulter Utiliser des images pour développerAWS RoboMakerapplications.

Pour ajouter une source de données

Suivez les étapes décrites dans l'un des onglets suivants :

Using the console
  1. Suivez la procédure décriteCrée une tâche de créer un tâche pour exporter un monde.

  2. Lors de la création d'une tâche de simulation, ajoutez une nouvelle source de données. Donnez à la source de données un nom significatifWorldForge, tel que celui utilisé dans l'exemple.

  3. Vous pouvez éventuellement identifier un répertoire de destination dans lequel placer le monde.

    Note

    N'utilisez pas le répertoire de votre espace de travail comme destination, car laAWS RoboMaker destination est remplacée par des fichiers DataSource. Vous pouvez plutôt spécifier un répertoire distinct sous l'espace de travail,your_workspace/src/aws_exported_world tel que la destination.

  4. Choisissez Archive comme type. AWS RoboMaker décompresse le monde dans le répertoire de destination.

  5. Choisissez Browse S3 et recherchez le bon export généré dans le monde entier.

  6. Continuez à créer la tâche de simulation comme d'habitude.

Using the AWS CLI

Suivez la procédure décriteCrée une tâche de créer un tâche pour exporter un monde.

En supposant que l'espace de travail se trouve dans le conteneur à/home/simulation_ws, la commande suivante extrait le monde dans le répertoire de destination par défaut :

aws robomaker create-simulation-job \ --max-job-duration-in-seconds <time> \ --iam-role <IAM role ARN> \ --data-sources '[{ "name": "WorldForge", "type": "Archive", "destination": "/home/simulation_ws/src/aws_exported_world", "s3Bucket": "worldforge-test", "s3Keys": ["aws-robomaker-worldforge-export-q376mqk4z7gm.zip"] }]' \ --robot-applications <config> \ --simulation-applications <config>

Utiliser un monde exporté dans ROS et Gazebo

Comme indiqué dans la section précédente, Simulation WorldForge exporte le monde que vous avez choisi vers un seul fichier .zip. Le fichier .zip inclut tous les éléments nécessaires pour modifier et visualiser les mondes à l'aide de ROS et de Gazebo. Il comprend les dossiers importants suivants :

  • Le dossier racine estworkspace_src l'espace de travail ROS. Il contient des modèles partagés, des données mondiales et d'autres informations relatives aux mondes. Il est compatible avec ROS 1 et ROS 2.

  • Les modèles partagés sont copiés dansworkspace_src/src/aws_robomaker_worldforge_shared_models/models. Par exemple, si la même chaise est utilisée dans plusieurs mondes, elle est placée dans le dossier de modèles partagé.

  • Les données mondiales sont copiées versworkspace_src/src/aws_robomaker_worldforge_worlds/worlds/.

Pour mettre à jour votre fichier de lancement de simulation :
  1. Suivez la procédure décriteCrée une tâche de créer un tâche pour exporter un monde.

  2. Unziple monde dans un espace de travail ROS.

    cd MyApplication/simulation_ws unzip MyExportedWorld.zip
  3. Construisez le monde.

    rosdep install --from-paths src --ignore-src -r -y$ colcon build
  4. Lancez le monde.

    source install/setup.sh roslaunch aws_robomaker_worldforge_worlds launch_world.launch gui:=true
Pour créer et lancer le monde à l'aide d'une tâche de simulation :
  1. Suivez la procédure décriteCrée une tâche de créer un tâche pour exporter un monde.

  2. Importez le monde exporté dans le répertoire du package source de l'espace de travail/home/simulation_ws/src/aws_exported_world à l'aide de DataSource

  3. Modifiez l'applicationLaunchConfig de simulation.

    "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", "GAZEBO_MODEL_PATH":"@GAZEBO_MODEL_PATH:/home/simulation_ws/src/aws_exported_world/aws_robomaker_worldforge_pkgs/aws_robomaker_worldforge_shared_models/models" }, "streamUI": true, "command": [ "/bin/bash", "-c", "cd /home/simulation_ws && colcon build && source install/setup.sh && roslaunch hello_world_simulation worldforge_world.launch" ] },

Utilisation d'un monde exporté avec une physique, des lumières et des modèles personnalisés

Si votre scénario de simulation nécessite une personnalisation, vous pouvez exporter et modifier le monde. Par exemple, vous pouvez appliquer une physique personnalisée, différents effets d'éclairage, ajouter des modèles personnalisés ou apporter d'autres modifications.

Une fois le monde exporté, vous devez modifier le.world fichier pour inclure le modèle de monde exporté. Le.world fichier utilise le format SDF. Pour plus d'informations sur SDF, consultez SDFormat.

Pour modifier votre.world fichier afin d'inclure le modèle mondial exporté :
  1. Suivez la procédure décriteCrée une tâche de créer un tâche pour exporter un monde.

  2. Copiez le code suivant dans votre.world fichier. Assurez-vous que le nom du monde correspond au nom du modèle exporté.

    <sdf version="1.6"> <world name="generation_82856b0yq33y_world_16"> <model name="WorldForge World"> <include> <uri>model://generation_82856b0yq33y_world_16</uri> </include> </model> <!-- Your other <world> elements go here --> </world> </sdf>
  3. Vérifiez que votre fichier de lancement inclut le.world fichier modifié. Utilisez le fichier de lancement mis à jour pour lancer votre simulation.