Como registrar uma simulação - AWS RoboMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como registrar uma simulação

Para capturar arquivos de saída e outros artefatos do seu trabalho de simulação, você pode configurar uploads personalizados. Você pode configurar uploads personalizados para seu aplicativo de robô e seu aplicativo de simulação. Quando você configura um upload personalizado, os arquivos que você especifica são carregados do trabalho de simulação para o local de saída da simulação do Amazon S3 que você fornece. Isso pode ser útil quando você deseja revisar ou analisar a saída do aplicativo gerada durante a execução de uma simulação ou reutilizar artefatos.

Antes de configurar uploads personalizados, você deve fornecer um destino de saída do Amazon S3 para seu trabalho de simulação. AWS RoboMaker carrega arquivos correspondentes em uma pasta usando um nome que você especificar. Os arquivos correspondentes podem ser carregados quando todas as ferramentas de trabalho de simulação são desligadas ou carregadas à medida que são produzidas e depois removidas.

As configurações de upload padrão são adicionadas automaticamente às suas configurações de upload personalizadas, a menos que você as desative. A configuração de upload padrão carrega a saída de registro padrão do ROS e do Gazebo. Isso mantém a compatibilidade com as configurações anteriores de saída do trabalho de simulação, que carregaram a saída de registro padrão do ROS e do Gazebo. Você pode desativar a configuração de upload padrão ao configurar um trabalho de simulação no console. Você também pode desativá-lo definindo useDefaultUploadConfigurations como false na API CreateSimulationJob.

Seus aplicativos de simulação são extraditados em uma única partição de 128 GB e você tem acesso de gravação à partição.

Como adicionar uma configuração de upload personalizada

Para criar uma configuração de upload personalizada, você precisa especificar um prefixo de nome que especifique onde os arquivos serão carregados no Amazon S3, um caminho global do Unix especificando os arquivos a serem carregados e um comportamento de upload especificando quando os arquivos serão carregados.

Nome

Um nome é um prefixo que especifica como os arquivos são carregados no Amazon S3. Ele é anexado ao local de saída da simulação para determinar o caminho final.

Por exemplo, se o local de saída da simulação for s3://my-bucket e o nome da configuração de upload for robot-test, seus arquivos serão enviados para s3://my-bucket/<simid>/<runid>/robot-test.

Path

O caminho especifica quais arquivos são carregados. As regras padrão de correspondência global do Unix são aceitas de acordo com o seguinte:

  • O caminho deve começar com /home/robomaker/ ou /var/log.

  • O caminho não deve conter uma expressão de caminho inverso (/..).

  • Links simbólicos não são seguidos.

  • Você pode usar ** como um super asterisco em seu caminho. Por exemplo, se você especificar /var/log/**.log, isso fará com que todos os arquivos .log na árvore de diretórios /var/log sejam coletados.

    Você também pode usar o asterisco padrão como um curinga padrão. Por exemplo, /var/log/system.log* corresponde a arquivos, como system.log_1111, system.log_2222, e assim por diante em /var/log.

Comportamento de upload

Permissões necessárias para alternar arquivos automaticamente:

  • Upload on terminate (UPLOAD_ON_TERMINATE) carrega todos os arquivos que correspondem ao caminho quando o trabalho de simulação entra no estado de encerramento. AWS RoboMaker tenta fazer upload de registros por no máximo 60 minutos.

    AWS RoboMaker não inicia o upload de arquivos até que todas as ferramentas em execução na simulação tenham parado.

  • Upload rolling with auto remove (UPLOAD_ROLLING_AUTO_REMOVE) carrega todos os arquivos que correspondem ao caminho à medida que são gerados. Os caminhos são verificados a cada 5 segundos. Quando os arquivos são carregados, os arquivos de origem são excluídos. Depois que um arquivo é excluído, se um novo arquivo for gerado com o mesmo nome, ele substituirá o arquivo enviado anteriormente. AWS RoboMaker executa uma verificação final dos arquivos quando todos os aplicativos em execução na simulação são interrompidos.

    O upload contínuo com remoção automática é útil para carregar registros contínuos. Grave ou transmita a saída para um arquivo “ativo” que não é coberto pelo path glob. Depois de terminar de gravar no arquivo ativo, coloque o arquivo em um local coberto pelo path glob a ser carregado e removido.

    Essa configuração pode ajudá-lo a economizar espaço em seu trabalho de simulação. Isso também pode ajudar você a acessar arquivos antes que seu trabalho de simulação termine.

O tamanho da partição do trabalho de simulação é de 128 GB. Se seu trabalho de simulação terminar por algum motivo, AWS RoboMaker tente fazer o upload de todos os arquivos especificados em sua configuração de upload personalizada.

Variáveis de ambiente criadas pelo AWS RoboMaker

AWS RoboMaker define as seguintes variáveis de ambiente do trabalho de simulação.

  • AWS_ROBOMAKER_SIMULATION_JOB_ID

  • AWS_ROBOMAKER_SIMULATION_JOB_ARN

  • AWS_ROBOMAKER_SIMULATION_RUN_ID

Você pode acessar essas variáveis no aplicativo ou na linha de comando. Por exemplo, para obter o nome do recurso da Amazon (ARN) do trabalho de simulação atual no Python, use os.environ.get("AWS_ROBOMAKER_SIMULATION_JOB_ARN").

Se tiver especificado um bucket de saída do Amazon Simple Storage Service para o trabalho de simulação, você poderá usar as variáveis de ambiente para encontrar o caminho de saída. O AWS RoboMaker grava a saída no s3://bucket-name/AWS_ROBOMAKER_SIMULATION_JOB_ID/AWS_ROBOMAKER_SIMULATION_RUN_ID. Use isso para gerenciar objetos no Amazon S3 no código ou na linha de comando.

AWS RoboMaker também lida com variáveis de ambiente específicas configuradas em CreateSimulationJobRequest para permitir que contêineres de robôs e aplicativos de simulação se comuniquem entre si. Para obter mais informações, consulte Perguntas frequentes sobre contêiner ROS.