Uso de mundos exportados en la simulación - AWS RoboMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de mundos exportados en la simulación

Simulation WorldForge se puede usar para crear mundos para su uso con AWS RoboMaker. Una vez creados los mundos, deben exportarse para usarlos en simulaciones. También puede cargar mundos para usarlos en la simulación.

La exportación de mundos ofrece la oportunidad de utilizar:

En las siguientes secciones, encontrará más información acerca del uso de los mundos generados en la simulación.

importante

Para más información sobre cómo se le cobra AWS RoboMaker, consulte los precios de AWS RoboMaker.

Uso de mundos exportados como origen de datos

Con Simulation WorldForge, puede exportar mundos para usarlos en su entorno de ROS. El mundo que elija exportar se copia en un único archivo .zip en un bucket de Amazon S3. En esta sección se describe cómo utilizar un mundo exportado en un bucket de Amazon S3 en un trabajo de simulación. Para ello, se proporcionan instrucciones sobre cómo adaptar el archivo de lanzamiento y, a continuación, se crea un trabajo de simulación a través de la AWS Management Console o mediante la interfaz de línea de comandos.

Para añadir un origen de datos, primero debe actualizar el archivo de lanzamiento de la aplicación de simulación antes de utilizar AWS Management Console o AWS CLI.

Pasos para actualizar el archivo de lanzamiento de la simulación:
  1. Ejecute los comandos de inicio siguientes:

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

    Puede generar su robot en (0, 0, 0). Se garantiza que los mundos que genera Simulation WorldForge tendrán un cilindro de 1 metro de distancia libre en (0, 0, 0).

  2. Reconstruya su imagen e insértela como de costumbre. Para obtener más información, consulte Uso de imágenes para desarrollar aplicaciones AWS RoboMaker.

Para agregar un nodo de Origen de datos

Siga los pasos que aparecen en una de las siguientes pestañas:

Using the console
  1. Siga el procedimiento indicado en Creación de trabajos de exportación de mundos para exportar un mundo.

  2. Al crear un trabajo de simulación, añada un nuevo origen de datos. Asigne un nombre significativo al origen de datos, como WorldForge como se muestra en el ejemplo.

  3. Si lo desea, identifique un directorio de destino donde colocar el mundo.

    nota

    No utilice el directorio de su espacio de trabajo como destino: AWS RoboMaker sobrescribe el destino con archivos dataSource. En su lugar, especifique un directorio independiente en el espacio de trabajo como destino, por ejemplo, your_workspace/src/aws_exported_world.

  4. Elija Archivar como tipo. AWS RoboMaker descomprime el mundo en el directorio de destino.

  5. Elija Browse S3 y busque la exportación correcta generada por el mundo.

  6. Continúe creando el trabajo de simulación como de costumbre.

Using the AWS CLI

Siga el procedimiento indicado en Creación de trabajos de exportación de mundos para exportar un mundo.

Suponiendo que el espacio de trabajo se encuentre en el contenedor de /home/simulation_ws, el siguiente comando extraerá el mundo en el directorio de destino predeterminado:

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>

Uso de un mundo exportado en ROS y Gazebo

Como se indicó en la sección anterior, Simulation WorldForge exporta el mundo elegido a un único archivo .zip. que incluye todos los recursos necesarios para modificar y visualizar los mundos con ROS y Gazebo. Esto incluye las siguientes carpetas importantes:

  • La carpeta raíz, workspace_src, es el espacio de trabajo de ROS. Contiene modelos compartidos, datos sobre los mundos y otra información sobre ellos. Es compatible con ROS 1 y ROS 2.

  • Los modelos compartidos se copian en workspace_src/src/aws_robomaker_worldforge_shared_models/models. Por ejemplo, si la misma silla se utiliza en más de un mundo, se coloca en la carpeta de modelo compartida.

  • Los datos del mundo se copian en workspace_src/src/aws_robomaker_worldforge_worlds/worlds/.

Pasos para actualizar el archivo de lanzamiento de la simulación:
  1. Siga el procedimiento indicado en Creación de trabajos de exportación de mundos para exportar un mundo.

  2. Unzip el mundo en un espacio de trabajo de ROS.

    cd MyApplication/simulation_ws unzip MyExportedWorld.zip
  3. Construya el mundo.

    rosdep install --from-paths src --ignore-src -r -y$ colcon build
  4. Lance el mundo.

    source install/setup.sh roslaunch aws_robomaker_worldforge_worlds launch_world.launch gui:=true
Pasos para crear y lanzar el mundo en un trabajo de simulación:
  1. Siga el procedimiento indicado en Creación de trabajos de exportación de mundos para exportar un mundo.

  2. Importe el mundo exportado al directorio del paquete de origen del espacio de trabajo /home/simulation_ws/src/aws_exported_world mediante dataSource

  3. Modifique la LaunchConfig de la aplicación de simulación.

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

Uso de un mundo exportado con física, luces y modelos personalizados

Si necesita personalizar su escenario de simulación, puede exportar y modificar el mundo. Por ejemplo, puede aplicar una física personalizada y diferentes efectos de iluminación, añadir modelos personalizados o realizar otras modificaciones.

Una vez exportado el mundo, debe modificar el archivo .world para incluir el modelo de mundo exportado. El archivo .world utiliza XML. Para obtener más información sobre SDF, consulte la sección SDFormat.

Pasos para modificar el archivo .world e incluir el modelo de mundo exportado:
  1. Siga el procedimiento indicado en Creación de trabajos de exportación de mundos para exportar un mundo.

  2. Ahora, añada el siguiente código al archivo .world. Asegúrese de que el nombre del mundo coincida con el nombre del modelo exportado.

    <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. Compruebe que el archivo de lanzamiento incluya el archivo .world modificado. Utilice el archivo de lanzamiento actualizado para iniciar la simulación.