Préface
L'auteur utilise ISAAC SIM pour ses besoins professionnels et a également compilé un didacticiel sur la façon de l'utiliser, afin que les futurs utilisateurs puissent éviter les détours.
Auteur : Herman Ye@Auromix
Auromix est une organisation de passionnés de robots. Bienvenue pour participer à nos projets open source sur Github
1. Installez Isaac Sim
1. Téléchargez l'omnivers
NVIDIA Omniverse™ Isaac Sim
Il s'agit NVIDIA Omniverse™
d'une boîte à outils de simulation de robot pour la plateforme. Isaac Sim
Il possède des fonctions clés pour créer des mondes et des expériences robotiques virtuels. Il fournit aux chercheurs et aux praticiens les outils et les flux de travail nécessaires pour créer des simulations robustes et physiquement précises et des ensembles de données synthétiques. Isaac Sim
En ROS/ROS2
prenant en charge les applications de navigation et de contrôle. Il peut simuler les données de capteurs tels que RVB-D, Lidar et IMU pour les utiliser dans diverses techniques de vision par ordinateur telles que la randomisation de domaine, les étiquettes de vérité terrain, la segmentation et les cadres de délimitation.
Puisqu'il Isaac Sim
s'agit d'une NVIDIA Omniverse
boîte à outils de simulation basée sur une plate-forme, vous devez la télécharger depuis le site officiel de Nvidia Isaac Sim.Omniverse
2. Démarrez Omniverse
Remplacez <your_omniverse_appimage>
la version omniverse téléchargée pour vous, généralement nomméeomniverse-launcher-linux.AppImage
sudo chmod +x <your_omniverse_appimage> # grant executable permissions
exemple:
sudo chmod +x omniverse-launcher-linux.AppImage # grant executable permissions
Appimage peut ne pas démarrer sans FUSE installé, alors installez d'abord FUSE
sudo apt install fuse -y # install fuse
Démarrez Omniverse via la ligne de commande ou double-cliquez manuellement pour le démarrer
./<your_omniverse_appimage>
exemple:
./omniverse-launcher-linux.AppImage
3. Connectez-vous à votre compte Nvidia
Connectez-vous au compte Nv, suivez les instructions et accédez par défaut à la page principale d'Omniverse.
4.Installez la carte SIM ISAAC
Entrez dans EXCHANGE
la page, sélectionnez ISAAC SIM
, cliquez sur install
et attendez la fin du téléchargement et de l'installation automatiques.
5.Installer NUCLEUS
Omniverse Isaac Sim
Utilisez-le NVIDIA Omniverse™ Nucleus
pour accéder à des éléments tels que l'environnement et les fichiers USD du robot. Omniverse Nucleus
Les services permettent à diverses applications clientes, moteurs de rendu et microservices de Omniverse Isaac Sim
partager et de modifier des représentations de mondes virtuels.
Nucleus
Adoptez un modèle de publication/abonnement . Sous contrôle d'accès, les clients Omniverse peuvent publier des modifications apportées aux actifs numériques et aux mondes virtuels dans la base de données Nucleus (DB) , ou s'abonner à leurs modifications. Les modifications sont transférées en temps réel entre les applications connectées. Les actifs numériques peuvent inclure la géométrie, les lumières, les matériaux, les textures et d'autres données qui décrivent le monde virtuel et son évolution au fil du temps.
Cela permet à diverses Omniverse-enabled
applications clientes (applications, connecteurs, etc.) de partager et de modifier une représentation faisant autorité du monde virtuel.
Entrez sur NUCLEUS
la page et cliquez Add Local Nucleus Device
pour créer un compte administrateur.
Cliquez COMPLETE SETUP
et attendez que le téléchargement et la configuration soient terminés.
6. Démarrez ISAAC SIM
LIBRARY
Recherchez ISAAC SIM dans , cliquez sur Démarrer Launch
, suivez les options par défaut et cliquez sur START
Continuer pour démarrer
. Au cours du processus, vous pouvez rencontrer des installations dépendantes, une compilation légère, un chargement, etc. La vitesse sera différente en fonction des performances du personnel ordinateur, attendez.
Astuce : ISAAC SIM a des exigences strictes en matière de performances des ordinateurs personnels, je recommande donc personnellement le tableau de configuration minimale suivant :
matériel | paramètre |
---|---|
Mémoire | 32 Go |
stockage | 1 T |
Mémoire vidéo | 8G |
Pour connaître les exigences spécifiques de performances ISAAC SIM, veuillez vous référer à la documentation Nvidia Isaac Sim Configuration système requise.
7. Observez l'interface principale d'ISAAC SIM
Après avoir démarré et terminé avec succès la compilation, la configuration et d'autres processus, l'interface principale vide d'Isaac Sim devrait être dans l'état suivant :
Annexes connexes
Nvidia Omniverse Isaac Sim Documentation
Tutoriel Isaac Sim ROS2
Comment utiliser Isaac Sim avec votre propre robot ?
Auromix Github Repository
0nhc@Auromix Isaac Sim wild tutoriel 01 : Installation d'Isaac Sim
2. Utilisation simple d'Isaac Sim
Ceci est le schéma d'architecture d'Isaac Sim, qui peut être utilisé comme référence. Pour une architecture spécifique, un flux de développement et d'autres contenus connexes, veuillez vous référer à la documentation d'Isaac Sim.
1. Comprendre le dollar américain
Comme mentionné dans le framework USD
, vous pouvez en apprendre un peu plus :
Omniverse Isaac Sim
utiliser USD
le format de fichier d'échange pour représenter la scène. Universal Scene Description (USD)
Il s'agit d'une description de scène 3D et d'un format de fichier open source facilement extensible développés par Pixar pour la création de contenu et l'échange entre outils. En raison de sa puissance et de sa polyvalence, USD
il est largement adopté non seulement dans la communauté des effets visuels, mais également dans les domaines de l'architecture, du design, de la robotique, de la fabrication et autres.
2. Configurer l'environnement
Les cas suivants sont basés ROS2 Humble
sur la version
Installer Xacro
sudo apt-get install ros-humble-xacro
Installer l'extension ROS d'Isaac Sim
Reportez-vous au didacticiel Activation de l'extension de pont ROS / ROS 2 fourni par Isaac Sim et effectuez les étapes suivantes :
Activer l’extension du pont ROS
- Dans Isaac Sim, accédez au menu Gestionnaire d'extensions de Fenêtre -> Extensions et recherchez le pont ROS. Veuillez noter qu'une seule extension ROS Bridge peut être activée à la fois. Par exemple, ROS BRIDGE ne peut pas être utilisé lorsque ROS2 BRIDGE est activé.
Définir la configuration du middleware Fast DDS
- Créez un nouveau fichier FASTDDS dans le répertoire ROS
sudo touch ~/.ros/fastdds.xml
- Ouvrez le fichier et collez le contenu du fichier XML suivant :
sudo nano ~/.ros/fastdds.xml
Par exemple, utilisez l'outil d'édition nano pour ouvrir le fichier :
<?xml version="1.0" encoding="UTF-8" ?>
<license>Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
NVIDIA CORPORATION and its licensors retain all intellectual property
and proprietary rights in and to this software, related documentation
and any modifications thereto. Any use, reproduction, disclosure or
distribution of this software and related documentation without an express
license agreement from NVIDIA CORPORATION is strictly prohibited.</license>
<profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles" >
<transport_descriptors>
<transport_descriptor>
<transport_id>UdpTransport</transport_id>
<type>UDPv4</type>
</transport_descriptor>
</transport_descriptors>
<participant profile_name="udp_transport_profile" is_default_profile="true">
<rtps>
<userTransports>
<transport_id>UdpTransport</transport_id>
</userTransports>
<useBuiltinTransports>false</useBuiltinTransports>
</rtps>
</participant>
</profiles>
fastdds.xml
Le fichier est utilisé pour configurer le middleware Fast DDS dans ROS2.
Dans fastdds.xml
le fichier, les contenus principaux suivants sont définis :
<transport_descriptors>
: Définit le descripteur de transport, ici le transport UDPv4 est utilisé.<participant>
: Définit la configuration du participant. Dans cette configuration, le transport UDPv4 est utilisé, il est donc définiUdpTransport
suruserTransports
et est définiuseBuiltinTransports
surfalse
.
L'implication de ces paramètres est que Fast DDS utilisera UDPv4 pour la communication de données au lieu d'utiliser le transport intégré.
Annuler la variable d'environnement LD_LIBRARY_PATH
unset LD_LIBRARY_PATH
unset LD_LIBRARY_PATH
: Cette commande est utilisée pour supprimer LD_LIBRARY_PATH
les variables d'environnement. LD_LIBRARY_PATH
est une variable d'environnement qui spécifie les répertoires dans lesquels l'éditeur de liens dynamique doit rechercher les bibliothèques partagées au moment de l'exécution. Cela peut causer des problèmes s'il LD_LIBRARY_PATH
existe des versions de bibliothèque incompatibles dans les répertoires contenus dans , donc supprimer cette variable d'environnement avant de démarrer Isaac Sim peut éviter des problèmes potentiels.
Ajouter des variables d'environnement au fichier de configuration FAST DDS
export FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xml
export FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xml
: Cette commande définit FASTRTPS_DEFAULT_PROFILES_FILE
la variable d'environnement pour qu'elle pointe vers l'emplacement du fastdds.xml
fichier précédemment créé. Fast RTPS utilise des fichiers XML pour définir les fichiers de configuration, et FASTRTPS_DEFAULT_PROFILES_FILE
l'emplacement de ce fichier de configuration est spécifié via des variables d'environnement. Une fois ROS2 Fast DDS
démarré, il examine cette variable d'environnement et charge la configuration à partir du fichier XML spécifié.
Attention : n'exécutez pas Isaac Sim dans un terminal source ROS2
car cela pourrait provoquer des erreurs au démarrage en raison de conflits de symboles.
Ceci est généralement déjà écrit lors de l'installation de ROS2 ~/.bashrc
, alors faites une sauvegarde de ~/.bashrc et annulez la source automatique de ROS2 dans bashrc.
sudo cp ~/.bashrc ~/.bashrc.backup # backup the ~/.bashrc
sudo nano ~/.bashrc # edit the ~/.bashrc
Commentez les lignes de script liées à ROS2 dans ~/.bashrc :
source /opt/ros/humble/setup.bash # uncomment the line of ROS
source /home/<your_username>/<your_workspace>/install/setup.bash # uncomment the line of ROS workspace
3. Téléchargez et configurez un espace de travail
Téléchargez le package ROS officiellement fourni par Isaac Sim
Pour la version Humble, l'espace de travail se trouve dans le répertoire du repo téléchargé IsaacSim-ros_workspaces/humble_ws
.
git clone https://github.com/NVIDIA-Omniverse/IsaacSim-ros_workspaces
Installer les dépendances
# For rosdep install command
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
# For colcon build command
sudo apt install python3-colcon-common-extensions
Définissez la variable d'environnement ROS une fois dans le terminal actuel
source /opt/ros/humble/setup.bash
Cas d'installation du package Turtlebot3
cd ~/humble_ws/src
git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3.git turtlebot3
Le fichier urdf correspondant est stocké ~/humble_ws/src/turtlebot3/turtlebot3_description/urdf
ci-dessous
Installer les dépendances des packages ROS
cd humble_ws # go to the humble_ws folder
rosdep install -i --from-path src --rosdistro humble -y # install dependencies of ROS
Les résultats suivants doivent être affichés :
#All required rosdeps installed successfully
Compiler l'espace de travail
- Installer les dépendances liées à la compilation
catkin_pkg
Il s'agit d'une bibliothèque Python pour le développement de ROS qui peut aider à analyser les informations du package ROS.
pip install catkin_pkg # install catkin_pkg for ROS colcon build
La bibliothèque Python nommée empy
est un moteur de modèles principalement utilisé pour générer du code. Certaines fonctions de ROS en ont besoin pour générer du code lié à l'interface.
# CAUTION: DO NOT INSTALL EM, EM IS NOT FOR ROS2
# pip uninstall em
pip install empy # install empy for ROS colcon build
Lark
est une puissante bibliothèque d'analyse pour créer des analyseurs de grammaire et des compilateurs en Python. Il peut vous aider à analyser des formats de texte et des langues personnalisés, ou à gérer des structures de données complexes.
pip install lark # install lark colcon build
- Définir
setuptools
la version pour éviter les erreurs de compilation
pip uninstall setuptools
pip install setuptools==58.2 # install setuptools 58.2 to avoid build error
Si le problème persiste, ignorez-le pour le moment et cela n'affectera pas l'utilisation.
- compiler
cd ~/humble_ws
unset LD_LIBRARY_PATH # avoid confict
source /opt/ros/humble/setup.bash
colcon build # build
5. Utilisez ce package
Ouvrez un nouveau terminal et exécutez la commande suivante
source /opt/ros/humble/setup.bash
cd humble_ws
source install/local_setup.bash
Exécutez ensuite la démo que vous souhaitez exécuter