Configurazione di una simulazione - AWS RoboMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di una simulazione

Le seguenti sezioni descrivono come configurare processi di simulazione. Per ulteriori informazioni, consulta il concetto che descriveConfigurazione dell'applicazione.

Configurazione di un processo di simulazione per l'accesso ad Amazon VPC

Quando crei risorse in Amazon Virtual Private Cloud (Amazon VPC), crei in Amazon Virtual Private Cloud (Amazon VPC). Le risorse di esempio potrebbero essere i data warehouse Amazon Redshift o ElastiCache i cluster Amazon. Potrebbero anche essere i tuoi servizi su un'istanza Amazon Elastic Compute Cloud. Per impostazione predefinita, le risorse in un Amazon VPC non sono accessibili a un processo diAWS RoboMaker simulazione.

Nota

AWS RoboMakeresegue il processo di simulazione su una rete isolata senza connettività esterna. Per consentire al tuo lavoro di accedere alle risorse in Amazon VPC, devi fornire dati specifici del cloud virtuale che includono gli ID di sottorete Amazon VPC e gli ID dei gruppi di sicurezza. AWS RoboMakerutilizza questi dati per configurare interfacce di rete elastiche (ENI). Gli ENI aiutano il tuo lavoro a connettersi in modo sicuro ad altre risorse nel tuo Amazon VPC privato.

AWS RoboMaker non si connette alle risorse all'interno di VPC di istanza dedicata a tenant singolo. Per ulteriori informazioni, consulta VPC dedicati.

Puoi aggiungere dati Amazon VPC al tuo processo diAWS RoboMaker simulazione utilizzando ilVpcConfig parametro al momento della creazione di un lavoro (vediCreateSimulationJob). Di seguito è riportato unAWS CLI esempio in cui viene assegnato un IP pubblico.

aws robomaker create-simulation-job \ --output-location s3Bucket=my-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
Nota

Quando un'attività di simulazione è configurata per l'esecuzione in un VPC, essa comporta una penalità ENI. La risoluzione degli indirizzi potrebbe essere ritardata quando si tenta di connettersi alle risorse di rete.

Accesso a Internet per lavori di simulazione

AWS RoboMaker utilizza i dati VPC forniti per configurare gli ENI. Gli ENI consentono alla tua attività di accedere alle risorse VPC. A ogni ENI viene assegnato un indirizzo IP privato dell'intervallo all'interno della sottorete specificata. Per impostazione predefinita, all'ENI non è assegnato alcun indirizzo IP pubblico.

Se il tuo lavoro richiede l'accesso a Internet (magari per trovareAWS servizi che non dispongono di endpoint VPC) e stai utilizzando sottoreti private, puoi configurare un NAT all'interno del tuo VPC. Puoi utilizzare il gateway NAT Amazon VPC eAWS RoboMaker richiedere l'assegnazione di un IP pubblico. Per ulteriori informazioni, consulta Gateway NAT nella Guida per l'utente di Amazon VPC.

Nota

Non è possibile utilizzare un gateway Internet collegato direttamente al VPC, poiché una connessione Internet richiede che l'ENI disponga di indirizzi IP pubblici. Per impostazione predefinita, l'ENI ha un indirizzo IP privato.

Per configurare l'accesso a Internet quando usi sottoreti pubbliche, impostaassignPublicIp=true per assegnare un IP pubblico al tuo ENI.

Se il tuo lavoro di simulazione richiede solo l'accesso alleAWS API pubbliche e desideri maggiore privacy, consultaAWS RoboMaker e gli endpoint VPC dell'interfaccia (AWS PrivateLink). Con queste informazioni, puoi creare l'endpoint VPC dell'interfaccia e aggiungere il VPC utilizzando l'CreateSimulationJobAPI.

ConfigurazioneSimulationJob dell'elaborazione

Per utilizzare la GPU nel tuoSimulationJobs, puoi configurarneComputeType l'utilizzoSimulationJob per utilizzare GPU Compute. Si ottengono i seguenti vantaggi quando si utilizzano processi di simulazione basati su unità di elaborazione grafica (GPU) inAWS RoboMaker.

  • I processi di simulazione basati su GPU consentono l'esecuzione di applicazioni che richiedono plugin di sensori abilitati per GPU e rendering e prestazioni ad alta fedeltà utilizzando OpenGL, CUDA, OpenCL e Vulkan.

  • I processi di simulazione basati su GPU assicurano che gli strumenti dellaAWS RoboMaker GUI abbiano una risoluzione HD di alta qualità in modo da poter vedere gli oggetti in modo più dettagliato. L'esperienza con gli strumenti della GUI è ideale perché la GPU garantisce una maggiore frequenza di fotogrammi al secondo.

  • La simulazione basata su GPU accelera i tempi di completamento del lavoro di simulazione. Con la GPU, puoi eseguire scene di simulazione complesse senza compromettere le prestazioni del fattore in tempo reale e dei fotogrammi al secondo.

  • I lavori di simulazione basati su GPU migliorano l'addestramento dei modelli di reinforcement learning.

Calcolo

IlCompute parametro nellaCreateSimulationJob richiesta può essere utilizzato per configurare il tipo di Compute necessario perSimulationJob.

ComputeType

ComputeTypespecifica il tipo di elaborazione richiesto per il lavoro. I valori validi sono CPU e GPU_AND_CPU. Il valore di default è CPU. SeGPU_AND_CPU specificato, il lavoro creato può utilizzare la GPU insieme alla CPU.

GpuUnitLimit

Utilizzando ilGpuUnitLimit parametro, è possibile specificare il numero di unità GPU che devono essere allocate al lavoro. PerchéGPU_AND_CPU ComputeType deve essere 1. InfattiCPU ComputeType, deve essere 0.

Per informazioni sulla creazione di contenitori per utilizzare la GPU, consultaCreazione di immagini per eseguire applicazioni GPU.

Configurazione di strumenti di simulazione personalizzati

ConAWS RoboMaker, è possibile configurare strumenti personalizzati per le applicazioni in un processo di simulazione. Utilizza strumenti personalizzati per interagire con la simulazione, come utilità diagnostiche o per altri scopi. Puoi anche configurare strumenti predefiniti comerqt orviz forniti daAWS RoboMaker. Se il lavoro di simulazione fa parte di una pipeline automatizzata, puoi disabilitare gli strumenti predefiniti e utilizzare meno risorse.

Puoi configurare fino a 10 strumenti personalizzati. Gli strumenti personalizzati vengono avviati dopo l'avvio del processo ROS principale.

Una configurazione dello strumento personalizzata include i seguenti elementi:

  • Nome utensile: il nome dell'utensile.

  • Comando: il comando per richiamare lo strumento in unabash shell. È necessario includere il nome dell'eseguibile dello strumento. Puoi utilizzare le variabili di ambiente, incluse le variabili personalizzate, nei tuoi argomenti. Ad esempio, per utilizzare l'ID del processo di simulazione corrente, è possibile fare riferimentoAWS_ROBOMAKER_SIMULATION_JOB_ID.

  • Comportamento di uscita: determina quale azione viene intrapresa se lo strumento personalizzato esce. Se si specificafail, il processo di simulazione ha esito negativo. Se si specificarestart, lo strumento viene riavviato. Il valore predefinito è restart.

  • Streaming dell'interfaccia utente: specifica se una sessione di streaming è configurata per lo strumento. Se True,AWS RoboMaker configura una connessione in modo da poter interagire con lo strumento mentre è in esecuzione nella simulazione. Deve avere un'interfaccia utente grafica. Il valore predefinito è false.

  • Comportamento del registro: specifica se lo strumentostdout e lo strumentostderr vengono trasmessi in streaming a CloudWatch Logs. Il valore predefinito è false.

Accesso root e funzionalità di sistema

AWS RoboMaker fornisce accesso root (sudo) limitato alle applicazioni in esecuzione in un processo di simulazione. L'elenco seguente contiene le chiamate di sistema significative (ma non tutte) bloccate.

  • acct

  • add_key

  • bpf

  • clock_adjtime

  • clock_settime

  • clone

  • create_module

  • delete_module

  • modulo finit_

  • 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

  • personalità

  • pivot_root

  • process_vm_readv

  • process_vm_writev

  • Ptrace

  • query_module

  • quotactl

  • reboot

  • request_key

  • set_mempolicy

  • Setn

  • settimeofday

  • stime

  • Swapon

  • Swapoff

  • Sysfs

  • _sysctl

  • Umount

  • umount2

  • annullare la condivisione

  • uselib

  • userfaultfd

  • Ustat

  • vm86

  • VM86old