Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Conteneur ROS FAQs - AWS RoboMaker

Avis de fin de support : le 10 septembre 2025, AWS le support de AWS RoboMaker. Après le 10 septembre 2025, vous ne pourrez plus accéder à la AWS RoboMaker console ni aux AWS RoboMaker ressources. Pour plus d'informations sur la transition AWS Batch afin de faciliter l'exécution de simulations conteneurisées, consultez ce billet de blog.

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.

Avis de fin de support : le 10 septembre 2025, AWS le support de AWS RoboMaker. Après le 10 septembre 2025, vous ne pourrez plus accéder à la AWS RoboMaker console ni aux AWS RoboMaker ressources. Pour plus d'informations sur la transition AWS Batch afin de faciliter l'exécution de simulations conteneurisées, consultez ce billet de blog.

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.

Conteneur ROS FAQs

Cette page répertorie les questions et réponses courantes relatives à la migration d'applications de robots et de simulation basées sur ROS vers des conteneurs Docker adaptés à l'exécution. AWS RoboMaker

Notre flux de travail soumet des tâches de simulation à l'aide de robots et d'applications de simulation colcon groupés. Dois-je effectuer une migration ?

Oui, vous devez effectuer la migration. Les étapes de migration se trouvent à l'adresseMigration des applications ROS vers des conteneurs.

Je ne sais pas si mon robot et mes applications de simulation doivent être migrés. Comment puis-je le savoir ?

Vous pouvez vérifier via la AWS console ou le AWS CLI. Pour obtenir des instructions, choisissez l'onglet approprié suivant.

Using the console
  1. Connectez-vous à la console AWS RoboMaker.

  2. Dans le panneau de navigation de gauche, choisissez Development (Développement), puis Simulation applications (Applications de simulation).

  3. Sélectionnez le nom d'une application de simulation pour voir ses détails.

    Si vous voyez General et Simulation Runtime, la migration n'est pas nécessaire. Si vous voyez des valeurs spécifiques à ROS ou à Gazebo, vous devez effectuer la migration.

Using the AWS CLI

Voici un exemple de AWS CLI commande qui exécute l'équivalent des étapes basées sur la console.

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

Cette commande renvoie une sortie qui indique lesimulationSoftwareSuite, l'URI robotSoftwareSuite (le cas échéant) et l'environmentURI. Si vous considérez Simulation Runtime comme simulationSoftwareSuite et General comme telrobotSoftwareSuite, et que votre environment URI est défini, vos applications de simulation n'ont pas besoin de migration.

  1. Connectez-vous à la console AWS RoboMaker.

  2. Dans le panneau de navigation de gauche, choisissez Development (Développement), puis Simulation applications (Applications de simulation).

  3. Sélectionnez le nom d'une application de simulation pour voir ses détails.

    Si vous voyez General et Simulation Runtime, la migration n'est pas nécessaire. Si vous voyez des valeurs spécifiques à ROS ou à Gazebo, vous devez effectuer la migration.

Comment le robot et les conteneurs d'applications de simulation communiquent-ils entre eux ?

Ce n'est pas différent de la façon dont les applications basées sur ROS communiquent généralement entre elles à l'aide du middleware ROS. Cependant, vous devez définir certaines variables d'environnement spécifiques à ROS dans les objets de configuration de lancement de votre demande de tâche de simulation.

Voici un exemple d'extrait des paramètres que vous devez utiliser pour l'application robot. 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 } ]

Voici un exemple d'extrait des paramètres que vous devez utiliser pour l'application de simulation. 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 } ]

Les conteneurs communiquent entre eux comme prévu si vous utilisez les ROBOMAKER_* chaînes et les numéros de port fournis pour définir ROS_IPROS_MASTER_URI, etGAZEBO_MASTER_URI.

Pour de plus amples informations, veuillez consulter Exécution d'une simulation.

Où est passée ma métrique RTF (Real-Time Factor) ? Comment puis-je le restaurer ?

AWS RoboMaker ne publie plus cette métrique automatiquement. Si vous souhaitez publier cette métrique sur CloudWatch, vous devez importer le package AWS RoboMaker CloudWatch Publisher dans votre application de simulation et modifier le fichier de lancement de la simulation en suivant les instructions fournies dans le README.mdfichier.

Comment puis-je annuler et étiqueter mes tâches de simulation ?

Vous pouvez utiliser la configuration VPC pour étiqueter ou annuler automatiquement vos tâches de AWS RoboMaker simulation à l'aide du générique. AWS APIs Pour utiliser l'approche suivante, le conteneur doit être exécuté dans un VPC avec une route publique via un NAT ou un IGW vers le. AWS APIs L'approche la plus simple consiste à utiliser un sous-réseau public dans votre VPC par défaut pour vous connecter à AWS. APIs Si vous souhaitez exécuter des simulations dans un sous-réseau privé, vous pouvez également configurer un NAT ou configurer un point de terminaison VPC d'interface. Pour de plus amples informations, veuillez consulter AWS RoboMaker et points de terminaison VPC d'interface ()AWS PrivateLink.

Note

Si vous utilisez l'IGW, assurez-vous de le configurer assignPublicIp=True comme décrit dans la documentation ci-dessous. Si vous utilisez une adresse IP publique, assurez-vous que vos groupes de sécurité sont suffisamment verrouillés.

Vous devez ajouter le bloc suivant aux paramètres de la demande.

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

En outre, la tâche AWS RoboMaker de simulation doit avoir un rôle IAM autorisé à étiqueter et à annuler des tâches de simulation.

Dans votre tâche de simulation, vous pouvez utiliser la bibliothèque Python AWS CLI ou la bibliothèque boto3 Python pour appeler public AWS RoboMaker APIs. La boto3 bibliothèque AWS CLI and doit être préinstallée dans votre conteneur avant de pouvoir les utiliser dans une tâche de AWS RoboMaker simulation. L'exemple de code Python suivant montre comment annuler une tâche de simulation.

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 )

Comment importer des WorldForge mondes de simulation dans la tâche de simulation ?

Si vous devez importer des WorldForge actifs de simulation dans votre tâche de simulation, utilisez l'DataSourceAPI. Cela vous permet d'importer des ressources mondiales depuis le répertoire de sortie Amazon S3 de la tâche d'exportation mondiale vers la destination de votre choix dans le conteneur de tâches de simulation.

Pour de plus amples informations, veuillez consulter Utilisation de mondes exportés dans la simulation.

Les fichiers journaux de mon application ne sont pas créés. Qu'est-ce qui se passe ?

Assurez-vous d'avoir créé tous les répertoires de sortie sur lesquels vous comptez pour déboguer les artefacts associés dans votre Dockerfile. Par exemple, vous pouvez ajouter la ligne suivante à votre Dockerfile.

RUN mkdir -p $YOUR_LOG_DIR

Pour de plus amples informations, veuillez consulter Ajouter une configuration de téléchargement personnalisée.

Mon application de simulation a échoué avec « run_id sur le serveur de paramètres ne correspond pas au run_id déclaré ». Que dois-je faire ?

Si vous lancez votre tâche de simulation ROS avec à la fois une application robot et une application de simulation, vous devez ajouter des commandes roslaunch --wait aux commandes roslaunch.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.