终止支持通知:2025 年 9 月 10 日, AWS
将停止对的支持。 AWS RoboMaker2025 年 9 月 10 日之后,您将无法再访问 AWS RoboMaker 控制台或 AWS RoboMaker 资源。有关过渡 AWS Batch 到以帮助运行容器化仿真的更多信息,请访问此博客文章。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
运行模拟
要开始运行模拟,请使用以下 AWS CLI 命令来描述您的应用程序。这些命令提供的输出可供您检查以确认已准备好继续创建模拟作业。
以下命令检索与您的机器人应用程序相关的数据。
aws robomaker describe-robot-application --application
YOUR-ROBOT-APP-ARN
describe-robot-application
的输出包含以下数据。
{
"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
"
}
}
下一个命令检索与您的模拟应用程序相关的数据。
aws robomaker describe-simulation-application --application
YOUR-SIM-APP-ARN
describe-simulation-application
的输出包含以下数据。
{
"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
"
}
}
保存 YOUR-ROBOT-APP-ARN
和 YOUR-SIM-APP-ARN
的返回值。您需要他们两者才能提交您的模拟作业。如果您需要将 WorldForge 资源导入模拟作业,请使用 DataSource API。这允许您从世界导出作业的 Amazon S3 输出目录中将世界资产导入到模拟作业容器中您选择的目的地。有关更多信息,请参阅在模拟中使用导出的世界。
要提交模拟作业,请在名为 create_simulation_job.json
的工作目录中创建一个 JSON 文件。复制、粘贴和编辑由红色斜体文本标识的字符串以包含YOUR-IAM-ROLE-ARN
、YOUR-ROBOT-APP-ARN
和 YOUR-SIM-APP-ARN
。以下 roslaunch
命令、TurtleBot
环境变量和工具设置特定于 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" } ] } ] }
注意
特别注意机器人和模拟应用程序中 launchConfig
对象的 ROS_
和 GAZEBO_
特定环境变量设置。为了使您的机器人应用程序容器能够与您的模拟应用程序容器进行通信,需要 ROBOMAKER_*
字符串值和端口号。
确认作业设置后,您可以使用以下命令提交作业。
aws robomaker create-simulation-job --cli-input-json file://create_simulation_job.json
要确认您的模拟正在运行 AWS RoboMaker,请访问AWS RoboMaker控制台