Aviso de fim do suporte: em 10 de setembro de 2025, AWS
interromperá o suporte para AWS RoboMaker. Depois de 10 de setembro de 2025, você não poderá mais acessar o AWS RoboMaker console ou AWS RoboMaker os recursos. Para obter mais informações sobre como fazer a transição para ajudar AWS Batch a executar simulações em contêineres, visite esta postagem no blog.
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á.
Executando uma simulação
Para começar a executar uma simulação, use os seguintes comandos da CLI AWS para descrever seus aplicativos. Esses comandos fornecem uma saída que você pode examinar para confirmar que está pronto para continuar com a criação de um trabalho de simulação.
O comando a seguir recupera dados associados ao seu aplicativo de robô.
aws robomaker describe-robot-application --application
YOUR-ROBOT-APP-ARN
A saída de describe-robot-application
contém os seguintes dados.
{
"arn": "YOUR-ROBOT-APP-ARN
",
"name": "YOUR-ROBOT-APP-NAME
",
... # Removed extra data for clarity
"robotSoftwareSuite": {
"name": "General"
},
... # Removed extra data for clarity
"environment": {
"uri": "YOUR-ROBOT-APP-ECR-URI
"
}
}
O próximo comando recupera os dados associados ao seu aplicativo de simulação.
aws robomaker describe-simulation-application --application
YOUR-SIM-APP-ARN
A saída para o describe-simulation-application
contém os seguintes dados.
{
"arn": "YOUR-SIM-APP-ARN
",
"name": "YOUR-SIM-APP-NAME
",
... # Removed extra data for clarity
"simulationSoftwareSuite": {
"name": "SimulationRuntime"
},
"robotSoftwareSuite": {
"name": "General"
},
... # Removed extra data for clarity
"environment": {
"uri": "YOUR-SIM-APP-ECR-URI
"
}
}
Salve os valores retornados para YOUR-ROBOT-APP-ARN
e YOUR-SIM-APP-ARN
. Você precisa que os dois enviem seu trabalho de simulação. Se você precisar importar ativos do WorldForge para seu trabalho de simulação, use a API DataSource. Isso permite que você importe ativos mundiais do diretório de saída do Amazon S3 do trabalho de exportação mundial para um destino de sua escolha dentro do contêiner de trabalho de simulação. Para obter mais informações, consulte Usando mundos exportados em simulação.
Para enviar seu trabalho de simulação, crie um arquivo JSON em seu diretório de trabalho chamado create_simulation_job.json
. Copie, cole e edite as sequências identificadas pelo texto em itálico vermelho para conter YOUR-IAM-ROLE-ARN
, YOUR-ROBOT-APP-ARN
e YOUR-SIM-APP-ARN
. As configurações de comando roslaunch
, variável de ambiente TurtleBot
e ferramenta abaixo são específicas do aplicativo de exemplo “hello world”
{ "maxJobDurationInSeconds": 3600, "iamRole": "
IAM-ROLE-ARN
", "robotApplications": [ { "application": "YOUR-ROBOT-APP-ARN
", "applicationVersion": "$LATEST", "launchConfig": { "environmentVariables": { "ROS_IP": "ROBOMAKER_ROBOT_APP_IP
", "ROS_MASTER_URI": "http://ROBOMAKER_ROBOT_APP_IP
:11311", "GAZEBO_MASTER_URI": "http://ROBOMAKER_SIM_APP_IP
:11345" }, "streamUI": false, "command": [ "/bin/bash", "-c", "roslaunch hello_world_robot rotate.launch" ] }, "tools": [ { "streamUI": true, "name": "robot-terminal", "command": "/entrypoint.sh && xfce4-terminal", "streamOutputToCloudWatch": true, "exitBehavior": "RESTART" } ] } ], "simulationApplications": [ { "application": "YOUR-SIM-APP-ARN
", "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", "TURTLEBOT3_MODEL":"waffle_pi" }, "streamUI": true, "command": [ "/bin/bash", "-c", "roslaunch hello_world_simulation empty_world.launch --wait" ] }, "tools": [ { "streamUI": true, "name": "gzclient", "command": "/entrypoint.sh && gzclient", "streamOutputToCloudWatch": true, "exitBehavior": "RESTART" } ] } ] }
nota
Anote principalmente as configurações específicas das variáveis de ambiente ROS_
e GAZEBO_
no objeto launchConfig
no robô e no aplicativo de simulação. Os valores da string ROBOMAKER_*
e os números das portas são necessários para permitir que o contêiner do aplicativo do robô se comunique com o contêiner do aplicativo de simulação.
Depois de confirmar as configurações do trabalho, você pode enviar o trabalho usando o comando a seguir.
aws robomaker create-simulation-job --cli-input-json file://create_simulation_job.json
Para confirmar que sua simulação está sendo executada no AWS RoboMaker, acesse a página Simulation Jobs no AWS RoboMakerconsole