Solución de problemas de AWS RoboMaker - 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.

Solución de problemas de AWS RoboMaker

Las siguientes secciones proporcionan consejos para solucionar problemas de errores y dificultades que puedan surgir al utilizar la simulación de AWS RoboMaker, los IDE o Simulation WorldForge. Si se encuentra con un problema que no aparezca en esta lista, puede utilizar el botón Proporcionar comentarios en la parte inferior de esta página para notificarlo.

Puede encontrar los registros de su trabajo de simulación en la consola de CloudWatch Logs. De forma predeterminada, AWS RoboMaker carga los registros de los trabajos de simulación a medida que se generan para su aplicación. Si streamOutputToCloudWatch se establece en True, se aplica el mismo comportamiento a las herramientas. También puede configurar las cargas mediante Adición de una configuración de carga personalizada en su trabajo de simulación.

Para obtener más información, consulte Registro y monitoreo en AWS RoboMaker.

Trabajos de simulación

Problema: Su trabajo de simulación ha fallado.

Use las siguientes preguntas para ayudarle a identificar la causa raíz y luego tomar las medidas sugeridas.

¿Los recursos de Amazon S3 se encuentran en la misma región que AWS RoboMaker?

La aplicación de robot, la aplicación de simulación y las ubicaciones de salida deben estar en la misma región que AWS RoboMaker. Verifique los orígenes de la aplicación y las ubicaciones de salida del trabajo de simulación.

¿La aplicación de robot se cerró de forma anómala?

Se ha producido un problema al configurar su aplicación de robot para la simulación. Revise los registros de la aplicación de robot del trabajo de simulación en Amazon CloudWatch.

Se puede acceder a los registros desde la pantalla de detalles del trabajo de simulación. Seleccione Logs (Registros) y, a continuación, seleccione una secuencia de registros. Para buscar problemas específicos, utilice el filtro. Por ejemplo, WARNING (Advertencia) o ERROR (Error).

¿Falta un archivo .so en la aplicación?

Si la aplicación se bloquea, es posible que se deba a la falta de un archivo de objeto compartido (.so) dependiente. Extraiga el paquete de la aplicación en su entorno y compruebe que las bibliotecas de objetos compartidos que necesita se encuentran en /usr/lib o en /usr/local/lib. Asegúrese de añadir la dependencia al archivo .xml de su paquete.

¿Ha utilizado el ARN de su rol con la AWS CLI?

Cuando llame a create-simulation-job desde la AWS CLI, utilice el nombre de recurso de Amazon (ARN) completo del rol, no solo el nombre del rol.

¿Su rol tiene una política de confianza para AWS RoboMaker?

Si pasa el nombre de recurso de Amazon (ARN) completo del rol de IAM al llamar a create-simulation-job desde la AWS CLI, los privilegios de su política de confianza podrían ser insuficientes. Compruebe el rol para asegurarse de que tiene una relación de confianza con robomaker.amazonaws.com de la siguiente manera.

{"Version": "2012-10-17", "Statement": {"Effect": "Allow", "Principal": { "Service": "robomaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {"StringEquals": {"aws:SourceAccount": "account#" // Account where the simulation job resource is created }, "StringEquals": {"aws:SourceArn": "arn:aws:robomaker:region:account#:simulation-job/*" } } } }

Las claves de condición evitan que se utilice un servicio de AWS como suplente confuso durante las transacciones entre servicios. Consulte SourceAccount y SourceARN para obtener información adicional sobre las claves de condición.

Consulte Modificación de un rol para obtener más información acerca de la visualización de acceso de rol y la adición de una política de confianza a un rol de IAM.

¿Su rol tiene permisos para publicar en Amazon S3?

Si especifica un bucket de Amazon S3 de salida para un trabajo de simulación, su rol debe disponer de permisos de escritura en el bucket. Actualice la política de confianza de forma que incluya permisos de escritura. La política de confianza de ejemplo a continuación añade los permisos de lectura, lista y escritura a un bucket de Amazon S3.

{"Action": "s3:ListBucket", "Resource": [ "my-bucket/*" ], "Effect": "Allow" },{"Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "my-bucket/*" ], "Effect": "Allow" },{"Action": "s3:Put*", "Resource": [ "my-bucket/*" ], "Effect": "Allow" }

¿Su rol tiene permiso para publicar en CloudWatch?

Actualice las políticas de permisos de su rol de IAM para dotarlas de acceso a CloudWatch.

{"Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": "*" }

¿Su aplicación tiene una etiqueta de entidad que no coincide?

La etiqueta de entidad (ETag) es un hash del objeto de Amazon S3 proporcionado al crear la simulación. La etiqueta de entidad (ETag) solo refleja los cambios en el contenido de un objeto, no en los metadatos. Si cambia el contenido de la aplicación de robot o del paquete de simulación en Amazon S3 antes de que AWS RoboMaker lo haya consumido, las versiones no coincidirán.

Para resolver el problema, cree una versión de la aplicación de robot o de simulación y proporcione la ubicación principal del paquete de la aplicación actualizado. Para obtener más información, consulte Creación de una versión de aplicación de robot o Creación de una versión de la aplicación de simulación.

¿Se ha superado el límite de interfaz de red elástica (ENI) de subred?

AWS RoboMaker utiliza una ENI por cada trabajo de simulación simultáneo en la subred en la que se ejecuta el trabajo de simulación. A cada ENI se le debe asignar una dirección IP. Para resolver este problema, puede:

Eliminar las ENI no utilizadas para liberar direcciones IP en la subred. Para eliminar una ENI sin utilizar, consulte Eliminar una interfaz de red.

Usando la AWS Management Console, solicitar un aumento del límite de servicio para las ENI de una región de AWS determinada.

¿El comando de lanzamiento se ha configurado correctamente?

Un trabajo de simulación puede tardar unos minutos en iniciarse si la simulación es compleja o si la imagen del contenedor es grande. Si AWS RoboMaker dedica más de 25 minutos a preparar el trabajo de simulación, es posible que haya un problema con el comando de lanzamiento. Cancele el trabajo y, a continuación, cree un trabajo de simulación. Si el problema persiste, póngase en contacto con AWS Support.

Se puede utilizar CloudWatch Logs para comprobar si hay errores en los registros de ejecución de aplicaciones de simulación y de robots. También puede añadir una herramienta personalizada de terminal para conectarse al trabajo de simulación en ejecución y solucionar los problemas.

¿Las subredes se encuentran en zonas que AWS RoboMaker admite?

Proporcione subredes que se encuentren en dos de las zonas de disponibilidad de AWS que AWS RoboMaker admite. La respuesta de la API contiene una lista de zonas de disponibilidad de AWS admitidas.

¿Las referencias a los modelos en el archivo del mundo son correctas?

Use CloudWatch Logs para verificar que todos los modelos del archivo del mundo sean correctos. Si no se puede localizar un modelo, se mostrará el siguiente error.

[Wrn] [ModelDatabase.cc:340] Getting models from[http://models.gazebosim.org/]. This may take a few seconds. [Wrn] [ModelDatabase.cc:212] Unable to connect to model database using [http://models.gazebosim.org//database.config]. Only locally installed models will be available. [Err] [ModelDatabase.cc:414] Unable to download model[model://model_name] [Err] [SystemPaths.cc:429] File or path does not exist[""] Error [parser.cc:581] Unable to find uri[model://model_name]

Simulation WorldForge

Problema: Mi trabajo de generación de mundos ha fallado.

Si su trabajo de generación de mundos no se completó, asegúrese de que su recuento de mundos, floorplanCount * interiorCountPerFloorplan, sea superior a 1 e inferior a 50.

Problema: ¿Por qué ha fallado mi trabajo de exportación de mundos?

Use las siguientes preguntas para ayudarle a identificar la causa raíz y luego tomar las medidas sugeridas.

¿Tiene una política de confianza para AWS RoboMaker?

Si pasa el nombre de recurso de Amazon (ARN) completo del rol de IAM al llamar a create-world-export-job desde la AWS CLI, los privilegios de su política de confianza podrían ser insuficientes. Compruebe el rol para asegurarse de que tiene una relación de confianza con robomaker.amazonaws.com de la siguiente manera.

{"Version": "2012-10-17", "Statement": {"Effect": "Allow", "Principal": { "Service": "robomaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {"StringEquals": {"aws:SourceAccount": "account#" // Account where the simulation job resource is created }, "StringEquals": {"aws:SourceArn": "arn:aws:robomaker:region:account#:simulation-job/*" } } } }

Las claves de condición evitan que se utilice un servicio de AWS como suplente confuso durante las transacciones entre servicios. Consulte SourceAccount y SourceARN para obtener información adicional sobre las claves de condición.

¿Su rol tiene permisos para publicar en Amazon S3?

Si especifica un bucket de Amazon S3 de salida para un trabajo de exportación, su rol debe disponer de permisos en el bucket. Actualice la política de confianza de forma que incluya los siguientes permisos:

{"Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject" ], "Resource": "my-bucket" }

¿Modificó o eliminó el bucket especificado para el trabajo de exportación?

Si actualiza su bucket durante el trabajo de exportación, es posible que aparezca un error ResourceNotFound en el trabajo de exportación.

Problema: Hay un problema con la imagen del mundo.

Use las siguientes preguntas para ayudarle a identificar la causa raíz y luego tomar las medidas sugeridas.

¿Por qué no hay ninguna puerta en mi entrada?

Solo puede añadir puertas mediante una plantilla de la versión 2 o posterior. Puede actualizar una plantilla de la versión 1 a una versión posterior. Para obtener más información, consulte Versiones, características y cambios en las plantillas de mundos de simulación.

Como Simulation WorldForge de AWS RoboMaker crea mundos únicos y asignados al azar, es posible que la configuración de puerta que especificó no exista en el mundo cuando la genere. Por ejemplo, puede especificar una puerta entre una sala de estar y una cocina en la plantilla, pero puede que haya una pared abierta entre esas habitaciones. Como hay una pared abierta en lugar de una entrada, no podría añadir una puerta ahí.

¿Por qué mi puerta bloquea la entrada a mi habitación?

Que la puerta bloquee la entrada a una habitación es una circunstancia que puede utilizar para desafiar a sus robots. Para crear un mundo que no suponga este desafío para sus robots, puede seguir una de las siguientes opciones:

Generar otro mundo a partir de su plantilla de mundo. Es posible que la puerta generada en el nuevo mundo no bloquee la entrada.

Cambiar el porcentaje de apertura de la puerta en la plantilla de mundo.

¿Por qué las paredes de mi imagen de mundo son más cortas que las paredes de mi trabajo de simulación o del mundo exportado?

AWS RoboMaker le permite ver los mundos de Simulation WorldForge sin que queden ocultos por las paredes acortando las paredes de la imagen del mundo. Las paredes tienen la altura que especifique en su plantilla de mundo en los mundos que cree.

En el caso de los mundos generados con la plantilla de la versión 2 o posterior, los modelos de puertas no aparecen acortados en las imágenes del mundo. La altura de las puertas de la imagen del mundo es la misma que la altura de las puertas de los mundos que cree.