Configuration d'une application de simulation. - AWS RoboMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration d'une application de simulation.

Les sections suivantes décrivent comment configurer les tâches de simulation. Pour plus d'informations, consultez le concept qui décritConfiguration de l'application.

Configuration d'une application de simulation pour l'accès à Amazon VPC.

Lorsque vous créez des ressources dans Amazon Virtual Private Cloud (Amazon VPC), elles ne peuvent pas être lues via l'Internet public. Des exemples de ressources peuvent être des entrepôts de données Amazon Redshift ou des ElastiCache clusters Amazon. Il peut également s'agir de vos services sur une instance Amazon Elastic Compute Cloud. Par défaut, les ressources d'un Amazon VPC ne sont pas accessibles à une tâcheAWS RoboMaker de simulation.

Note

AWS RoboMakerexécute votre tâche de simulation sur un réseau isolé sans connectivité externe. Pour permettre à votre tâche d'accéder aux ressources de votre Amazon VPC, vous devez fournir des données spécifiques au VPC, notamment des identifiants de sous-réseau Amazon VPC et des identifiants de groupe de sécurité. AWS RoboMakerutilise ces données pour configurer des interfaces réseau élastiques (ENI). Les ENI vous permettent de vous connecter en toute sécurité aux autres ressources de votre Amazon VPC privé.

AWS RoboMaker ne se connecte pas aux ressources au sein de VPC à location dédiée. Pour plus d'informations, consultez VPC dédiés.

Vous pouvez ajouter des données Amazon VPC à votre tâche deAWS RoboMaker simulation en utilisant leVpcConfig paramètre au moment de créer une tâche (voirCreateSimulationJob). Voici unAWS CLI exemple d'attribution d'une adresse IP publique.

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
Note

Lorsqu'une tâche de simulation est configurée pour s'exécuter au sein d'un VPC, elle subit une perte de performances ENI. La résolution d'adresse peut être retardée lors de la tentative de connexion aux ressources réseau.

Accès à Internet pour les tâches de simulation

AWS RoboMaker utilise les données de VPC que vous fournissez pour configurer les ENI. Les ENI permettent à votre tâche d'accéder aux ressources VPC. Chaque ENI se voit attribuer une adresse IP privée à partir de la plage d'adresses IP dans les sous-réseaux que vous spécifiez. Par défaut, aucune adresse IP publique n'est attribuée à l'ENI.

Si votre travail nécessite un accès à Internet (peut-être pour rechercherAWS des services ne disposant pas de points de terminaison VPC) et que vous utilisez des sous-réseaux privés, vous pouvez configurer un NAT au sein de votre VPC. Vous pouvez utiliser la passerelle NAT Amazon VPC et demanderAWS RoboMaker l'attribution d'une adresse IP publique. Pour plus d'informations, veuillez consulter NAT Gateways (Passerelles NAT) dans le Guide de l'utilisateur Amazon VPC.

Note

Vous ne pouvez pas utiliser de passerelle Internet directement connectée à votre VPC, car une connexion Internet nécessite que l'ENI possède des adresses IP publiques. Par défaut, votre ENI possède une adresse IP privée.

Pour configurer l'accès à Internet lorsque vous utilisez des sous-réseaux publics, configurezassignPublicIp=true pour attribuer une adresse IP publique à votre ENI.

Si votre travail de simulation nécessite uniquement l'accès à desAWS API publiques et que vous souhaitez davantage de confidentialité, consultezAWS RoboMaker et points de terminaison VPC d'interface (AWS PrivateLink). Avec ces informations, vous pouvez créer le point de terminaison VPC de votre interface et ajouter le VPC à l'aide de l'CreateSimulationJobAPI.

ConfigurationSimulationJob du calcul

Pour utiliser le GPU dans votreSimulationJobs, vous pouvez configurerComputeType leSimulationJob pour utiliser GPU Compute. Vous bénéficiez des avantages suivants lorsque vous utilisez des tâches de simulation basées sur des unités de traitement graphique (GPU) dansAWS RoboMaker.

  • Les tâches de simulation basées sur le GPU permettent d'exécuter des applications nécessitant des plug-ins de capteurs compatibles avec le GPU, ainsi qu'un rendu et des performances de haute fidélité à l'aide d'OpenGL, CUDA, OpenCL et Vulkan.

  • Les tâches de simulation basées sur le GPU garantissent que les outils de l'AWS RoboMakerinterface graphique disposent d'une résolution HD de haute qualité, ce qui vous permet de voir les objets de manière plus détaillée. L'expérience des outils de l'interface graphique est idéale car le GPU garantit un taux d'images par seconde plus élevé.

  • La simulation basée sur le GPU accélère le temps d'exécution des tâches de simulation. Avec le GPU, vous pouvez exécuter des scènes de simulation complexes sans affecter les performances du facteur temps réel et du nombre d'images par seconde.

  • Les tâches de simulation basées sur le GPU améliorent l'entraînement des modèles d'apprentissage par renforcement.

Calcul

LeCompute paramètre de laCreateSimulationJob demande peut être utilisé pour configurer le type de calcul requis pourSimulationJob.

ComputeType

ComputeTypespécifie le type de calcul requis pour la tâche. Les valeurs valides sont CPU et GPU_AND_CPU. La valeur par défaut est CPU. Si celaGPU_AND_CPU est spécifié, la tâche créée peut utiliser le GPU et le processeur.

GpuUnitLimit

À l'aide duGpuUnitLimit paramètre, vous pouvez spécifier le nombre d'unités GPU qui doivent être allouées à votre tâche. CarGPU_AND_CPU ComputeType, ça doit être 1. PourCPU ComputeType, il doit être 0.

Pour plus d'informations sur la création de conteneurs utilisant le GPU, consultezCréation d'images pour exécuter des applications GPU.

Configuration d'outils de simulation personnalisés

AvecAWS RoboMaker, vous pouvez configurer des outils personnalisés pour les applications d'une tâche de simulation. Utilisez des outils personnalisés pour interagir avec la simulation, en tant qu'utilitaires de diagnostic ou à d'autres fins. Vous pouvez également configurer des outils par défaut tels querqt ourviz fournis parAWS RoboMaker. Si votre tâche de simulation fait partie d'un pipeline automatisé, vous pouvez désactiver les outils par défaut et utiliser moins de ressources.

Vous pouvez configurer jusqu'à 10 outils personnalisés. Les outils personnalisés sont démarrés après le démarrage du processus ROS principal.

Une configuration d'outil personnalisée inclut les composants suivants :

  • Nom de l'outil : nom de l'outil.

  • Commande : commande permettant d'appeler l'outil dans unbash interpréteur de commandes. Vous devez inclure le nom exécutable de l'outil. Vous pouvez utiliser des variables d'environnement, y compris des variables personnalisées dans vos arguments. Par exemple, pour utiliser l'ID de tâche de simulation actuel, vous pouvez le référencerAWS_ROBOMAKER_SIMULATION_JOB_ID.

  • Comportement de sortie : détermine l'action à effectuer en cas de fermeture de l'outil personnalisé. Si vous le spécifiezfail, la tâche de simulation échoue. Si vous le spécifiezrestart, l'outil est redémarré. La valeur par défaut est restart.

  • Streaming de l'interface utilisateur : indique si une session de streaming est configurée pour l'outil. Si la valeur est True,AWS RoboMaker configure une connexion afin que vous puissiez interagir avec l'outil lorsqu'il s'exécute dans la simulation. Il doit disposer d'une interface utilisateur graphique. La valeur par défaut est false.

  • Comportement du journal : indique s'il s'agit d'un outilstdout etstderr est diffusé vers CloudWatch Logs. La valeur par défaut est false.

Accès root et fonctionnalités du système

AWS RoboMaker fournit un accès racine (sudo) limité aux applications exécutées dans une tâche de simulation. La liste suivante répertorie les appels système importants (mais pas tous) qui sont bloqués.

  • 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