Utilizzo di mondi esportati nella simulazione - AWS RoboMaker

Avviso di fine del supporto: il 10 settembre 2025, AWS interromperà il supporto per. AWS RoboMaker Dopo il 10 settembre 2025, non potrai più accedere alla AWS RoboMaker console o alle risorse. AWS RoboMaker Per ulteriori informazioni sulla transizione AWS Batch verso l'esecuzione di simulazioni containerizzate, consulta questo post del blog.

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à.

Utilizzo di mondi esportati nella simulazione

La simulazione WorldForge può essere utilizzata per creare mondi da utilizzareAWS RoboMaker. Una volta creati, i mondi devono essere esportati per essere utilizzati nelle simulazioni. Puoi anche caricare mondi da usare nella tua simulazione.

Exporting worlds offre l'opportunità di utilizzare:

Nelle sezioni seguenti vengono ulteriori ulteriori ulteriori ulteriori informazioni ulteriori ulteriori ulteriori informazioni ulteriori ulteriori informazioni ulteriori ulteriori informazioni ulteriori ulteriori informazioni ulteriori ulteriori informazioni ulteriori ulteriori informazioni ulteriori ulteriori informazioni

Importante

Per ulteriori informazioni sulle modalità di addebitoAWS RoboMaker, consulta la pagina AWS RoboMaker dei prezzi.

Utilizzare un mondo esportato come fonte di dati

Con Simulation WorldForge, puoi esportare mondi che puoi usare nel tuo ambiente ROS. Il mondo che scegli di esportare viene copiato in un singolo file.zip in un bucket Amazon S3. Questa sezione descrive come utilizzare un mondo esportato in un bucket Amazon S3 in un processo di simulazione fornendo istruzioni su come modificare il file di avvio, quindi creando un processo di simulazione tramite l'interfaccia a riga di comandoAWS Management Console o utilizzando l'interfaccia a riga di comando.

È necessario aggiornare il file di avvio dell'applicazione di simulazione prima di utilizzareAWS Management Console oAWS CLI per aggiungere una fonte di dati.

Per aggiornare il file di avvio della simulazione:
  1. EEEEEEEEEsegui i seguenti:

    <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>

    Puoi generare il tuo robot a(0, 0, 0). I mondi WorldForge generati da Simulation hanno la garanzia di avere un cilindro pulito da 1 metro(0, 0, 0).

  2. Ricostruisci l'immagine e spingi come al solito. Per ulteriori informazioni, consulta Usare le immagini per sviluppareAWS RoboMakerapplicazioni.

Per aggiungere una fonte di dati

Segui la procedura indicata in una delle seguenti schede:

Using the console
  1. Segui la proceduraCreare un posto di lavoro nel settore delle esportazioni mondiali per esportare un mondo.

  2. Durante la creazione di un processo di simulazione, aggiungi una nuova fonte di dati. Assegna alla fonte dei dati un nome significativo, ad esempioWorldForge, utilizzato nell'esempio.

  3. Facoltativamente, identifica una cartella di destinazione in cui collocare il mondo.

    Nota

    Non utilizzare la directory dell'area di lavoro come destinazione, poichéAWS RoboMaker sovrascrive la destinazione con i file DataSource. È invece possibile specificare una directory separata sotto l'area di lavoro, adyour_workspace/src/aws_exported_world esempio la destinazione.

  4. Scegliete Archivio come tipo. AWS RoboMaker decomprime il mondo nella cartella di destinazione.

  5. Scegli Browse S3 e trova l'esportazione corretta generata dal mondo.

  6. Continuate a creare il lavoro di simulazione come di consueto.

Using the AWS CLI

Segui la proceduraCreare un posto di lavoro nel settore delle esportazioni mondiali per esportare un mondo.

Supponendo che l'area di lavoro si trovi nel contenitore in/home/simulation_ws, il comando seguente estrae il mondo nella directory di destinazione predefinita:

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>

Utilizzando un mondo esportato in ROS e Gazebo

Come indicato nella sezione precedente, Simulation WorldForge esporta il mondo scelto in un singolo file.zip. Il file.zip include tutte le risorse necessarie per modificare e visualizzare i mondi utilizzando ROS e Gazebo. Include le seguenti cartelle importanti:

  • La cartella principale èworkspace_src l'area di lavoro ROS. Contiene modelli condivisi, dati mondiali e altre informazioni per i mondi. È compatibile con ROS 1 e ROS 2.

  • I modelli condivisi vengono copiati inworkspace_src/src/aws_robomaker_worldforge_shared_models/models. Ad esempio, se la stessa sedia viene utilizzata in più di un mondo, viene inserita nella cartella del modello condivisa.

  • I dati mondiali vengono copiati inworkspace_src/src/aws_robomaker_worldforge_worlds/worlds/.

Per aggiornare il file di avvio della simulazione:
  1. Segui la proceduraCreare un posto di lavoro nel settore delle esportazioni mondiali per esportare un mondo.

  2. Unzipil mondo in uno spazio di lavoro ROS.

    cd MyApplication/simulation_ws unzip MyExportedWorld.zip
  3. Costruisci il mondo.

    rosdep install --from-paths src --ignore-src -r -y$ colcon build
  4. Lancia il mondo.

    source install/setup.sh roslaunch aws_robomaker_worldforge_worlds launch_world.launch gui:=true
Per costruire e lanciare il mondo in un lavoro di simulazione:
  1. Segui la proceduraCreare un posto di lavoro nel settore delle esportazioni mondiali per esportare un mondo.

  2. Importa il mondo esportato nella directory dei pacchetti sorgente dell'area di lavoro/home/simulation_ws/src/aws_exported_world utilizzando DataSource

  3. Modifica l'applicazioneLaunchConfig di simulazione.

    "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" ] },

Utilizzo di un mondo esportato con fisica, luci e modelli personalizzati

Se il tuo scenario di simulazione richiede una personalizzazione, puoi esportare e modificare il mondo. Ad esempio, puoi applicare una fisica personalizzata, diversi effetti di luce, aggiungere modelli personalizzati o apportare altre modifiche.

Dopo aver esportato il mondo, è necessario modificare il.world file per includere il modello mondiale esportato. Il.world file utilizza SDF. Per ulteriori informazioni su SDF, vedete SDFormat.

Per modificare il.world file in modo da includere il modello mondiale esportato:
  1. Segui la proceduraCreare un posto di lavoro nel settore delle esportazioni mondiali per esportare un mondo.

  2. Copia il codice seguente nel.world file. Assicurati che il nome mondiale corrisponda al nome del modello esportato.

    <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. Verifica che il file di avvio includa il.world file modificato. Usa il file di avvio aggiornato per avviare la simulazione.