Configuración de una simulación - AWS RoboMaker

Aviso de fin del soporte: el 10 de septiembre de 2025, AWS dejaremos de ofrecer soporte a AWS RoboMaker. Después del 10 de septiembre de 2025, ya no podrás acceder a la AWS RoboMaker consola ni a AWS RoboMaker los recursos. Para obtener más información sobre la transición para ayudar AWS Batch a ejecutar simulaciones en contenedores, visite esta entrada de blog.

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.

Configuración de una simulación

En las siguientes secciones, se describe cómo configurar los trabajos de simulación. Para más información, consulte el concepto que describe Configuración de aplicaciones.

Configuración de un trabajo de simulación para Amazon VPC Access

Cuando crea recursos en la Amazon Virtual Private Cloud (AmazonVPC), no se pueden leer a través de la Internet pública. Algunos ejemplos de recursos podrían ser los almacenes de datos de Amazon Redshift o los clústeres de Amazon ElastiCache . También pueden ser sus servicios en una instancia de Amazon Elastic Compute Cloud. De forma predeterminada, los recursos de Amazon no VPC son accesibles para un AWS RoboMaker trabajo de simulación.

nota

AWS RoboMaker ejecuta el trabajo de simulación en una red aislada sin conectividad externa. Para permitir que tu trabajo acceda a los recursos de AmazonVPC, debes proporcionar datos VPC específicos que incluyan la VPC subred IDs y el grupo de seguridad de Amazon. IDs AWS RoboMakerutiliza estos datos para configurar interfaces de red elásticas () ENIs. ENIsayude a su trabajo a conectarse de forma segura a otros recursos de su Amazon privadoVPC.

AWS RoboMaker no se conecta a los recursos de un arrendamiento VPCs exclusivo. Para obtener más información, consulte Dedicado VPCs.

Puedes añadir VPC datos de Amazon a tu AWS RoboMaker trabajo de simulación utilizando el VpcConfig parámetro en el momento de crear un trabajo (consulteCreateSimulationJob). La siguiente es una AWS CLI ejemplo en el que se asigna una IP pública.

aws robomaker create-simulation-job \ --output-location s3Bucket=amzn-s3-demo-bucket,s3Prefix=my-output-folder \ --max-job-duration-in-seconds 3600 \ --iam-role my-role-arn \ --failure-behavior Continue \ --robot-applications application='my-robot-application-arn,launchConfig={command=["roslaunch", "hello_world_robot", "rotate.launch"]}' \ --simulation-applications application='my-simulation-application-arn,launchConfig={command=["roslaunch", "hello_world_simulation", "empty_world.launch"]}' \ --vpc-config assignPublicIp=true,subnets=comma-separated-vpc-subnet-ids,securityGroups=comma-separated-security-group-ids
nota

Cuando un trabajo de simulación está configurado para ejecutarse en unVPC, se incurre en una ENI penalización. La resolución de direcciones puede retrasarse cuando intenta conectarse a recursos de red.

Acceso a Internet para trabajos de simulación

AWS RoboMaker utiliza los VPC datos que usted proporciona para configurarlo. ENIs ENIspermita que su trabajo acceda a VPC los recursos. A cada uno ENI se le asigna una dirección IP privada del rango de las subredes que especifique. De forma predeterminada, no ENI se le asigna ninguna dirección IP pública.

Si su trabajo requiere acceso a Internet (quizás para encontrar AWS servicios que no tienen VPC puntos finales) y está utilizando subredes privadas, puede configurar una NAT dentro de su. VPC Puedes usar la VPC NAT pasarela de Amazon y solicitar AWS RoboMaker para asignar una IP pública. Para obtener más información, consulta NATGateways en la Guía del VPC usuario de Amazon.

nota

No puede usar una puerta de enlace a Internet que esté directamente conectada a la suyaVPC, ya que una conexión ENI a Internet requiere tener direcciones IP públicas. De forma predeterminada, ENI tienes una dirección IP privada.

Para configurar el acceso a Internet cuando se utilizan subredes públicas, assignPublicIp=true configúrelo para asignar una IP pública a suENI.

Si su trabajo de simulación solo requiere acceso al público AWS APIsy quieres más privacidad, consultaAWS RoboMaker y puntos de conexión de VPC de interfaz (AWS PrivateLink). Con esta información, puede crear el VPC punto final de la interfaz y añadirlo VPC mediante CreateSimulationJobAPI.

Configuración de la computación de SimulationJob

Para usarlo GPU en suSimulationJobs, puede configurar el modo ComputeType en SimulationJob que utilizará GPU Compute. Obtendrá las siguientes ventajas al utilizar trabajos de simulación basados en unidades de procesamiento gráfico (GPU) en AWS RoboMaker.

  • GPULos trabajos de simulación basados en datos permiten la ejecución de aplicaciones que requieren complementos de sensores GPU habilitados y un renderizado y rendimiento de alta fidelidad mediante OpenGLCUDA, OpenCL y Vulkan.

  • GPUlos trabajos de simulación basados en datos garantizan que AWS RoboMaker GUIlas herramientas tienen una resolución HD de alta calidad para que pueda ver los objetos con mayor detalle. La experiencia de la GUI herramienta es ideal porque GPU garantiza una mayor velocidad de fotogramas por segundo.

  • GPUla simulación basada en datos acelera el tiempo de finalización del trabajo de simulación. Con GPU ella, puede ejecutar escenas de simulación complejas sin afectar el rendimiento en tiempo real ni en los fotogramas por segundo.

  • GPULos trabajos de simulación basados en la simulación mejoran el entrenamiento de los modelos de aprendizaje por refuerzo.

Computación

El parámetro Compute de la solicitud CreateSimulationJob se puede usar para configurar el tipo de computación necesario para el SimulationJob.

ComputeType

ComputeType especifica el tipo de computación necesario para el trabajo. Los valores válidos son CPU y GPU_AND_CPU. El valor predeterminado es CPU. Si GPU_AND_CPU se especifica, el trabajo creado se puede utilizar GPU junto conCPU.

GpuUnitLimit

Con el GpuUnitLimit parámetro, puede especificar el número de GPU unidades que deben asignarse a su trabajo. Para GPU_AND_CPU ComputeType, debe ser 1. Para CPU ComputeType, debe ser 0.

Para obtener información sobre cómo crear contenedores para utilizarlosGPU, consulteCrear imágenes para ejecutar aplicaciones de GPU.

Configuración de herramientas de simulación personalizadas

Con AWS RoboMaker, puede configurar herramientas personalizadas para las aplicaciones de un trabajo de simulación. Utilice herramientas personalizadas como las utilidades de diagnóstico para interactuar con la simulación o para otros fines. También puede configurar las herramientas predeterminadas, como rqt las rviz proporcionadas por AWS RoboMaker. Si su trabajo de simulación forma parte de un proceso automatizado, puede deshabilitar las herramientas predeterminadas y utilizar menos recursos.

Puede configurar hasta 10 herramientas personalizadas. Las herramientas personalizadas se inician una vez iniciado ROS el proceso principal.

Las configuraciones de herramientas personalizadas incluyen los elementos siguientes:

  • Nombre de la herramienta: el nombre de la herramienta.

  • Comando: el comando para invocar la herramienta en un intérprete de comandos de bash. Debe incluir el nombre del archivo ejecutable de la herramienta. Puede utilizar variables de entorno en sus argumentos, incluidas las variables personalizadas. Por ejemplo, para usar el ID del trabajo de simulación actual, puede hacer referencia a AWS_ROBOMAKER_SIMULATION_JOB_ID.

  • Comportamiento de salida: determina qué acción se realiza si la herramienta personalizada se cierra. Si especifica fail, se producirá un error en el trabajo de simulación. Si especifica restart, la herramienta se reiniciará. El valor predeterminado es restart.

  • Streaming de UI: especifica si hay una sesión de streaming configurada para la herramienta. Si es cierto, AWS RoboMaker configura una conexión para que pueda interactuar con la herramienta mientras se ejecuta en la simulación. Debe tener una interfaz gráfica de usuario. El valor predeterminado es false.

  • Comportamiento del registro: especifica si la herramienta stdout y stderr se transmiten a los CloudWatch registros. El valor predeterminado es false.

Acceso raíz y capacidades del sistema

AWS RoboMaker proporciona acceso root (sudo) limitado a las aplicaciones que se ejecutan en un trabajo de simulación. La lista siguiente incluye algunas de las syscalls más importantes que están bloqueadas, aunque puede haber otras.

  • acct

  • add_key

  • bpf

  • clock_adjtime

  • clock_settime

  • clone

  • create_module

  • delete_module

  • finit_module

  • get_kernel_syms

  • get_mempolicy

  • init_module

  • ioperm

  • iopl

  • kcmp

  • kexec_file_load

  • kexec_load

  • keyctl

  • lookup_dcookie

  • mbind

  • mount

  • move_pages

  • name_to_handle_at

  • nfsservctl

  • open_by_handle_at

  • perf_event_open

  • personality

  • pivot_root

  • process_vm_readv

  • process_vm_writev

  • ptrace

  • query_module

  • quotactl

  • reboot

  • request_key

  • set_mempolicy

  • setns

  • settimeofday

  • stime

  • swapon

  • swapoff

  • sysfs

  • _sysctl

  • umount

  • umount2

  • unshare

  • uselib

  • userfaultfd

  • ustat

  • vm86

  • vm86old