Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

ROS-Behälter FAQs - AWS RoboMaker

Ende des Supporthinweises: Am 10. September 2025 AWS wird der Support für AWS RoboMaker eingestellt. Nach dem 10. September 2025 können Sie nicht mehr auf die AWS RoboMaker Konsole oder die AWS RoboMaker Ressourcen zugreifen. Weitere Informationen AWS Batch zur Umstellung auf containerisierte Simulationen finden Sie in diesem Blogbeitrag.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ende des Supporthinweises: Am 10. September 2025 AWS wird der Support für AWS RoboMaker eingestellt. Nach dem 10. September 2025 können Sie nicht mehr auf die AWS RoboMaker Konsole oder die AWS RoboMaker Ressourcen zugreifen. Weitere Informationen AWS Batch zur Umstellung auf containerisierte Simulationen finden Sie in diesem Blogbeitrag.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

ROS-Behälter FAQs

Auf dieser Seite finden Sie häufig gestellte Fragen und Antworten zur Migration von ROS-basierten Roboter- und Simulationsanwendungen zu Docker-Containern, in denen sie ausgeführt werden können. AWS RoboMaker

In unserem Workflow werden Simulationsaufträge mithilfe colcon gebündelter Roboter- und Simulationsanwendungen eingereicht. Muss ich migrieren?

Ja, Sie müssen migrieren. Die Schritte zur Migration befinden sich unterMigration von ROS-Anwendungen zu Containern.

Ich bin mir nicht sicher, ob meine Roboter- und Simulationsanwendungen migriert werden müssen. Woran erkenne ich das?

Sie können dies über die AWS Konsole oder die überprüfen AWS CLI. Anweisungen finden Sie auf der folgenden entsprechenden Registerkarte.

Using the console
  1. Melden Sie sich an der AWS RoboMaker -Konsole an.

  2. Wählen Sie im linken Navigationsbereich Development (Entwicklung) und anschließend Simulation applications (Simulationsanwendungen) aus.

  3. Wählen Sie den Namen einer Simulationsanwendung aus, um deren Details zu sehen.

    Wenn Sie „Allgemein“ und „Simulationslaufzeit“ sehen, ist keine Migration erforderlich. Wenn Sie ROS- oder Gazebo-spezifische Werte sehen, müssen Sie migrieren.

Using the AWS CLI

Im Folgenden finden Sie einen AWS CLI Beispielbefehl, der den Schritten auf der Konsole entspricht.

aws robomaker describe-simulation-application --application YOUR-SIM-APP-ARN

Dieser Befehl gibt eine Ausgabe zurücksimulationSoftwareSuite, die den, robotSoftwareSuite (falls zutreffend) und den environment URI angibt. Wenn für Simulation Runtime die Option simulationSoftwareSuite und für Allgemein die robotSoftwareSuite Option angezeigt wird und Ihr environment URI festgelegt ist, müssen Ihre Simulationsanwendungen nicht migriert werden.

  1. Melden Sie sich an der AWS RoboMaker -Konsole an.

  2. Wählen Sie im linken Navigationsbereich Development (Entwicklung) und anschließend Simulation applications (Simulationsanwendungen) aus.

  3. Wählen Sie den Namen einer Simulationsanwendung aus, um deren Details zu sehen.

    Wenn Sie „Allgemein“ und „Simulationslaufzeit“ sehen, ist keine Migration erforderlich. Wenn Sie ROS- oder Gazebo-spezifische Werte sehen, müssen Sie migrieren.

Wie kommunizieren der Roboter und die Container der Simulationsanwendung miteinander?

Es unterscheidet sich nicht von der Art und Weise, wie ROS-basierte Anwendungen normalerweise mithilfe von ROS-Middleware miteinander kommunizieren. Sie müssen jedoch einige ROS-spezifische Umgebungsvariablen in den Startkonfigurationsobjekten Ihrer Simulationsjobanforderung festlegen.

Im Folgenden finden Sie ein Beispiel für die Einstellungen, die Sie für die Roboteranwendung verwenden müssen. launchConfig

"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" }, ... # Removed extra data for clarity } ]

Im Folgenden finden Sie einen Beispielausschnitt der Einstellungen, die Sie für die Simulationsanwendung verwenden müssen. launchConfig

"simulationApplications": [ { "application": "YOUR-SIM-APP-ARN", "applicationVersion": "$LATEST", "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" }, ... # Removed extra data for clarity } ]

Die Container kommunizieren erwartungsgemäß miteinander, wenn Sie die bereitgestellten ROBOMAKER_* Zeichenfolgen und Portnummern verwenden, um ROS_IPROS_MASTER_URI, und festzulegen. GAZEBO_MASTER_URI

Weitere Informationen finden Sie unter Eine Simulation ausführen.

Wo ist meine RTF-Metrik (Real-Time Factor) geblieben? Wie kann ich sie wiederherstellen?

AWS RoboMaker veröffentlicht diese Metrik nicht mehr automatisch. Wenn Sie diese Metrik veröffentlichen möchten CloudWatch, müssen Sie das AWS RoboMaker CloudWatch Publisher-Paket in Ihre Simulationsanwendung importieren und Ihre Simulationsstartdatei gemäß den Anweisungen in der README.mdDatei ändern.

Wie storniere und markiere ich meine Simulationsjobs?

Sie können die VPC-Konfiguration verwenden, um Ihre AWS RoboMaker Simulationsjobs mithilfe der generischen Version selbst zu taggen oder abzubrechen. AWS APIs Um den folgenden Ansatz zu verwenden, muss der Container in einer VPC mit einer öffentlichen Route über ein NAT oder IGW zum laufen. AWS APIs Der einfachste Ansatz besteht darin, ein öffentliches Subnetz in Ihrer Standard-VPC zu verwenden, um eine Verbindung zu AWS herzustellen. APIs Wenn Sie Simulationen in einem privaten Subnetz ausführen möchten, können Sie alternativ ein NAT oder einen VPC-Schnittstellen-Endpunkt einrichten. Weitere Informationen finden Sie unter AWS RoboMaker und Schnittstellen-VPC-Endpunkte ()AWS PrivateLink.

Anmerkung

Wenn Sie das IGW verwenden, stellen Sie sicher, dass Sie die Einstellungen assignPublicIp=True wie in der folgenden Dokumentation beschrieben vornehmen. Wenn Sie eine öffentliche IP verwenden, stellen Sie sicher, dass Ihre Sicherheitsgruppen ausreichend gesperrt sind.

Sie müssen den Anforderungsparametern den folgenden Block hinzufügen.

vpcConfig={ 'subnets': [ 'string', ], 'securityGroups': [ 'string', ], 'assignPublicIp': True|False },

Darüber hinaus muss der AWS RoboMaker Simulationsjob über eine IAM-Rolle mit Berechtigungen zum Markieren und Stornieren von Simulationsaufträgen verfügen.

In Ihrem Simulationsjob können Sie entweder die AWS CLI oder die boto3 Python-Bibliothek verwenden, um public aufzurufen AWS RoboMaker APIs. Sie müssen die AWS CLI boto3 and-Bibliothek in Ihrem Container vorinstalliert haben, bevor Sie sie in einem AWS RoboMaker Simulationsjob verwenden können. Der folgende Python-Beispielcode zeigt, wie ein Simulationsjob abgebrochen wird.

class RoboMakerUtils: def __init__(self): self.job_arn = os.getenv('AWS_ROBOMAKER_SIMULATION_JOB_ARN') self.client = boto3.client('robomaker', region_name=os.getenv('AWS_ROBOMAKER_REGION', 'us-east-1')) def tag_robomaker_sim_job(self, key, value): self.client.tag_resource( resourceArn=self.job_arn, tags={ key: str(value) } ) def cancel_robomaker_sim_job(self): self.tag_robomaker_sim_job("END_TIME", time.time()) response = self.client.cancel_simulation_job( job=self.job_arn )

Wie importiere ich WorldForge Simulationswelten in den Simulationsjob?

Wenn Sie WorldForge Simulations-Assets in Ihren Simulationsjob importieren müssen, verwenden Sie die DataSourceAPI. Auf diese Weise können Sie Welt-Assets aus dem Amazon S3 S3-Ausgabeverzeichnis des Weltexportauftrags in ein Ziel Ihrer Wahl innerhalb Ihres Simulationsjob-Containers importieren.

Weitere Informationen finden Sie unter Verwendung exportierter Welten in der Simulation.

Die Protokolldateien meiner Anwendung werden nicht erstellt. Was ist los?

Stellen Sie sicher, dass Sie alle Ausgabeverzeichnisse erstellt haben, auf die Sie sich für das Debuggen verwandter Artefakte in Ihrem Dockerfile verlassen. Sie können Ihrem Dockerfile beispielsweise die folgende Zeile hinzufügen.

RUN mkdir -p $YOUR_LOG_DIR

Weitere Informationen finden Sie unter Hinzufügen einer benutzerdefinierten Upload-Konfiguration.

Meine Simulationsanwendung ist mit der Meldung „run_id auf dem Parameterserver entspricht nicht der deklarierten run_id“ fehlgeschlagen. Was soll ich tun?

Wenn Sie Ihren ROS-Simulationsjob sowohl mit einer Roboteranwendung als auch mit einer Simulationsanwendung starten, sollten Sie die Roslaunch-Befehle ergänzen. --wait

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.