Konfiguration einer Simulation - 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.

Konfiguration einer Simulation

In den folgenden Abschnitten wird beschrieben, wie Simulationsjobs konfiguriert werden. Weitere Informationen finden Sie in dem Konzept, das beschrieben wirdAnwendungskonfiguration.

Konfiguration eines Simulationsjobs für Amazon VPC Access

Wenn Sie Ressourcen in der Amazon Virtual Private Cloud (AmazonVPC) erstellen, können sie nicht über das öffentliche Internet gelesen werden. Beispielressourcen könnten Amazon Redshift Data Warehouses oder ElastiCache Amazon-Cluster sein. Dies könnten auch Ihre Dienste auf einer Amazon Elastic Compute Cloud-Instanz sein. Standardmäßig VPC sind Ressourcen in einem Amazon nicht zugänglich für AWS RoboMaker Simulationsjob.

Anmerkung

AWS RoboMaker führt Ihren Simulationsjob in einem isolierten Netzwerk ohne externe Konnektivität aus. Damit Ihr Job auf Ressourcen in Ihrem Amazon zugreifen kannVPC, müssen Sie VPC spezifische Daten angeben, die das VPC Amazon-Subnetz IDs und die Sicherheitsgruppe umfassen. IDs AWS RoboMakerverwendet diese Daten, um elastische Netzwerkschnittstellen einzurichten () ENIs. ENIshelfen Sie Ihrem Job, sich sicher mit anderen Ressourcen in Ihrem privaten Amazon zu verbindenVPC.

AWS RoboMaker stellt keine Verbindung zu Ressourcen innerhalb eines dedizierten Mietverhältnisses VPCs her. Weitere Informationen finden Sie unter Dedicated VPCs.

Sie können VPC Amazon-Daten zu Ihrem hinzufügen AWS RoboMaker Simulationsjob, indem Sie den VpcConfig Parameter bei der Erstellung eines Jobs verwenden (sieheCreateSimulationJob). Das Folgende ist ein AWS CLI Beispiel, bei dem eine öffentliche IP zugewiesen wird.

aws robomaker create-simulation-job \ --output-location s3Bucket=amzn-s3-demo-bucket,s3Prefix=my-output-folder \ --max-job-duration-in-seconds 3600 \ --iam-role my-role-arn \ --failure-behavior Continue \ --robot-applications application='my-robot-application-arn,launchConfig={command=["roslaunch", "hello_world_robot", "rotate.launch"]}' \ --simulation-applications application='my-simulation-application-arn,launchConfig={command=["roslaunch", "hello_world_simulation", "empty_world.launch"]}' \ --vpc-config assignPublicIp=true,subnets=comma-separated-vpc-subnet-ids,securityGroups=comma-separated-security-group-ids
Anmerkung

Wenn ein Simulationsjob so konfiguriert ist, dass er in einem ausgeführt wirdVPC, zieht er eine ENI Strafe nach sich. Die Adressauflösung kann verzögert werden, wenn Sie versuchen, eine Verbindung zu Netzwerkressourcen herzustellen.

Internetzugang für Simulationsjobs

AWS RoboMaker verwendet die von Ihnen zur Verfügung gestellten VPC Daten für die EinrichtungENIs. ENIsermöglicht Ihrem Job den Zugriff auf VPC Ressourcen. Jedem ENI wird eine private IP-Adresse aus dem Bereich in den von Ihnen angegebenen Subnetzen zugewiesen. Standardmäßig werden dem ENI keine öffentlichen IP-Adressen zugewiesen.

Wenn Ihr Job einen Internetzugang erfordert (vielleicht um zu finden AWS Dienste, die keine VPC Endpunkte haben) und Sie private Subnetze verwenden, können Sie ein NAT in Ihrem einrichten. VPC Sie können das VPC NAT Amazon-Gateway verwenden und eine Anfrage stellen AWS RoboMaker um eine öffentliche IP zuzuweisen. Weitere Informationen finden Sie unter NATGateways im VPCAmazon-Benutzerhandbuch.

Anmerkung

Sie können kein Internet-Gateway verwenden, das direkt mit Ihrem verbunden istVPC, da für eine Internetverbindung öffentliche IP-Adressen erforderlich sind. ENI Standardmäßig ENI hat Ihre eine private IP-Adresse.

Um den Internetzugang bei der Verwendung öffentlicher Subnetze assignPublicIp=true zu konfigurieren, stellen Sie ein, dass Ihrem ENI eine öffentliche IP zugewiesen wird.

Wenn Ihr Simulationsjob nur öffentlichen Zugriff erfordert AWS APIsund Sie möchten mehr Privatsphäre, siehe. AWS RoboMaker und Schnittstellen-VPC-Endpunkte (AWS PrivateLink) Mit diesen Informationen können Sie Ihren VPC Schnittstellenendpunkt erstellen und ihn VPC mithilfe von hinzufügen CreateSimulationJobAPI.

SimulationJobCompute konfigurieren

Zur Verwendung GPU in Ihrem SimulationJobs können Sie den für die Verwendung ComputeType von GPU Compute konfigurieren. SimulationJob Sie profitieren von den folgenden Vorteilen, wenn Sie Simulationsjobs verwenden, die auf Graphics Processing Unit (GPU) basieren AWS RoboMaker.

  • GPUbasierte Simulationsjobs ermöglichen die Ausführung von Anwendungen, die GPU -fähige Sensor-Plugins sowie High-Fidelity-Rendering und Leistung mit OpenGLCUDA, OpenCL und Vulkan erfordern.

  • GPUbasierte Simulationsjobs stellen sicher, dass AWS RoboMaker GUIDie Tools verfügen über eine hochwertige HD-Auflösung, sodass Sie Objekte detaillierter betrachten können. Die GUI Erfahrung mit dem Tool ist ideal, da dadurch eine höhere Bildrate pro Sekunde GPU gewährleistet wird.

  • GPUEine gestützte Simulation beschleunigt die Fertigstellung des Simulationsauftrags. Mit können Sie komplexe Simulationsszenen ausführenGPU, ohne die Leistung des Echtzeitfaktors und der Bilder pro Sekunde zu beeinträchtigen.

  • GPUbasierte Simulationsjobs verbessern das Training von Reinforcement-Learning-Modellen.

Datenverarbeitung

Der Compute Parameter in der CreateSimulationJob Anfrage kann verwendet werden, um zu konfigurieren, welche Art von Compute für die benötigt wirdSimulationJob.

ComputeType

ComputeTypegibt die Art der Rechenleistung an, die für den Job erforderlich ist. Gültige Werte sind CPU und GPU_AND_CPU. Der Standardwert ist CPU. Wenn GPU_AND_CPU angegeben, kann der erstellte Job GPU zusammen mit verwendet CPU werden.

GpuUnitLimit

Mithilfe des GpuUnitLimit Parameters können Sie die Anzahl der GPU Einheiten angeben, die Ihrem Job zugewiesen werden müssen. Für GPU_AND_CPU ComputeType muss es 1 sein. Für CPU ComputeType muss es 0 sein.

Informationen zum Erstellen von Containern zur Verwendung GPU finden Sie unterErstellen von Images zur Ausführung von GPU-Anwendungen.

Konfiguration benutzerdefinierter Simulationstools

Mit AWS RoboMaker, können Sie benutzerdefinierte Tools für die Anwendungen in einem Simulationsjob konfigurieren. Verwenden Sie benutzerdefinierte Tools, um mit der Simulation zu interagieren, als Diagnosewerkzeuge oder für andere Zwecke. Sie können auch Standardtools wie rqt oder rviz bereitgestellt von konfigurieren AWS RoboMaker. Wenn Ihr Simulationsjob Teil einer automatisierten Pipeline ist, können Sie Standardwerkzeuge deaktivieren und weniger Ressourcen verbrauchen.

Sie können bis zu 10 benutzerdefinierte Tools konfigurieren. Benutzerdefinierte Tools werden gestartet, nachdem der ROS Hauptprozess gestartet wurde.

Eine benutzerdefinierte Werkzeugkonfiguration umfasst die folgenden Elemente:

  • Werkzeugname — Der Name des Tools.

  • Befehl — Der Befehl zum Aufrufen des Tools in einer bash Shell. Sie müssen den Namen der ausführbaren Datei des Tools angeben. Sie können Umgebungsvariablen, einschließlich benutzerdefinierter Variablen, in Ihren Argumenten verwenden. Um beispielsweise die aktuelle Simulationsjob-ID zu verwenden, können Sie auf diese verweisenAWS_ROBOMAKER_SIMULATION_JOB_ID.

  • Verhalten beim Beenden — Legt fest, welche Aktion ausgeführt wird, wenn das benutzerdefinierte Tool beendet wird. Wenn Sie dies angebenfail, schlägt der Simulationsjob fehl. Wenn Sie dies angebenrestart, wird das Tool neu gestartet. Der Standardwert ist restart.

  • UI-Streaming — Gibt an, ob eine Streaming-Sitzung für das Tool konfiguriert ist. Falls wahr, AWS RoboMaker konfiguriert eine Verbindung, sodass Sie mit dem Tool interagieren können, während es in der Simulation ausgeführt wird. Es muss über eine grafische Benutzeroberfläche verfügen. Der Standardwert ist false.

  • Verhalten protokollieren — Gibt an, ob das Tool stdout in CloudWatch Logs gestreamt stderr wird. Der Standardwert ist false.

Root-Zugriff und Systemfunktionen

AWS RoboMaker bietet eingeschränkten Root (sudo) -Zugriff auf Anwendungen, die in einem Simulationsjob ausgeführt werden. Die folgende Liste enthält wichtige (aber nicht alle) Systemaufrufe, die blockiert sind.

  • acct

  • add_key

  • bpf

  • clock_adjtime

  • clock_settime

  • clone

  • create_module

  • delete_module

  • finit_module

  • get_kernel_syms

  • get_mempolicy

  • init_module

  • ioperm

  • iopl

  • kcmp

  • kexec_file_load

  • kexec_load

  • keyctl

  • lookup_dcookie

  • mbind

  • mount

  • move_pages

  • name_to_handle_at

  • nfsservctl

  • open_by_handle_at

  • perf_event_open

  • personality

  • pivot_root

  • process_vm_readv

  • process_vm_writev

  • ptrace

  • query_module

  • quotactl

  • reboot

  • request_key

  • set_mempolicy

  • setns

  • settimeofday

  • stime

  • swapon

  • swapoff

  • sysfs

  • _sysctl

  • umount

  • umount2

  • unshare

  • uselib

  • userfaultfd

  • ustat

  • vm86

  • vm86old