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.
Ejecución de una simulación
Para empezar a ejecutar una simulación, utilice los siguientes comandos de la CLI de AWS para describir las aplicaciones. Estos comandos ofrecen resultados que puede examinar para confirmar que todo está listo para continuar con la creación de un trabajo de simulación.
El siguiente comando recupera los datos asociados a la aplicación de robot.
aws robomaker describe-robot-application --application
YOUR-ROBOT-APP-ARN
El archivo de describe-robot-application
contiene los datos siguientes.
{
"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
"
}
}
El siguiente comando recupera los datos asociados a la aplicación de simulación.
aws robomaker describe-simulation-application --application
YOUR-SIM-APP-ARN
La salida de describe-simulation-application
contiene los datos siguientes.
{
"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
"
}
}
Guarde los valores devueltos para YOUR-ROBOT-APP-ARN
y YOUR-SIM-APP-ARN
. Necesitará ambos valores para enviar su trabajo de simulación. Si tiene que importar activos de WorldForge a su trabajo de simulación, utilice la API de DataSource. Esto le permite importar activos de mundos del directorio de salida de Amazon S3 del trabajo de exportación de mundos a un destino que elija dentro de su contenedor de trabajos de simulación. Para obtener más información, consulte Uso de mundos exportados en la simulación.
Para enviar su trabajo de simulación, cree un archivo JSON en su directorio de trabajo denominado “create_simulation_job.json
”. Copie, pegue y edite las cadenas identificadas con texto en cursiva de color rojo para que contengan YOUR-IAM-ROLE-ARN
, YOUR-ROBOT-APP-ARN
y YOUR-SIM-APP-ARN
. Los ajustes de comandos de roslaunch
, de variables de entorno de TurtleBot
y de las herramientas que se detallan a continuación son específicos para la aplicación de muestra “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
Preste especial atención a los ajustes de las variables de entorno específicos de ROS_
y GAZEBO_
del objeto launchConfig
en el robot y en la aplicación de simulación. Los valores de la cadena ROBOMAKER_*
y los números de puerto son necesarios para que el contenedor de aplicaciones de robot pueda comunicarse con el contenedor de aplicaciones de simulación.
En cuanto haya confirmado la configuración del trabajo, puede enviarlo mediante el siguiente comando.
aws robomaker create-simulation-job --cli-input-json file://create_simulation_job.json
Para confirmar que la simulación se está ejecutando en AWS RoboMaker, visite la página Trabajos de simulación en la consola de AWS RoboMaker