[Documentation] [TitleIndex] [WordIndex

Aperçu rapide des concepts du système de fichiers

Dans un système de fichiers, il est très facile de reconnaître un package ou une stack:


filesystem_layout_fr.png

Outils système de fichiers

Le code est réparti entre de nombreux packages ROS. La navigation à l'aide des outils en ligne de commande comme ls et cd peut être très fastidieux et c'est pourquoi ROS fournit des outils pour vous aider.

Utiliser rospack

rospack et rosstack vous permet d'obtenir des informations sur les packages et les stacks. Dans ce tutoriel, nous allons seulement parler de l'option find, qui renvoie le chemin du package. Utilisation:

Exemple:

Devrait vous renvoyer :

Si vous avez installé ROS Groovy avec apt sur ​​Ubuntu Linux, vous verriez exactement ceci:

Utiliser roscd

roscd fait partie de la suite rosbash Il vous permet de changer de répertoire (cd) pour se placer directement dans le répertoire d'un package ou d'une stack.

Utilisation:

Exécuter cet exemple:

Pour vérifier que nous pointons maintenant sur le répertoire du package roscpp, nous allons afficher le répertoire dans lequel nous sommes en utilisant la commande Unix pwd :

Vous devriez avoir:

Vous pouvez voir que LE_CHEMIN_DE_VOTRE_INSTALLATION/share/roscpp est le même chemin que celui trouvé par rospack dans l'exemple précédent. Notez que ROS_PACKAGE_PATH tapez:

Votre ROS_PACKAGE_PATH doit contenir une liste de répertoires où vous avez des packages ROS, séparés par des caractères ':'. Un ROS_PACKAGE_PATH typique pourrait ressembler à ceci:

De même que pour d'autres variables d'environnement de type PATH, vous pouvez ajouter des répertoires supplémentaires à votre ROS_PACKAGE_PATH, chaque chemin séparés par deux points «:».

Les sous-répertoires

roscd peut également vous placer dans le sous-répertoire d'un package ou d'une stack. Essayez:

Vous devriez voir:

Cas particuliers de roscd

Outre les packages et les stacks, il y a d'autres emplacements spécifiques accessibles via roscd.

roscd sans argument

roscd sans argument vous placera directement dans $ROS_WORKSPACE. Essayez ceci:

$ roscd
$ pwd

Et vous devriez avoir:

Note: Pour les versions antérieures à Fuerte, roscd vous menait à $ROS_ROOT.

roscd log

roscd log vous emmènera dans le dossier où ROS stocke les fichiers log. Notez que si vous n'avez pas encore exécuté de programmes ROS, cela va donner un message d'erreur indiquant que le répertoire n'existe pas encore.

Si vous avez déjà exécuté un programme ROS avant, essayez:

Utiliser rosls

rosls fait partie de la suite rosbash Il vous permet d'exécuter ls directement dans un package par son nom plutôt que par un chemin absolu. Utilisation:

Exemple:

devrait vous retourner :

Tab Complétion

Il peut être fastidieux de taper le nom complet d'un package. Dans l'exemple précédent, roscpp_tutorials est un nom assez long. Heureusement, certains outils ROS permettent la complétion avec la touche TAB.

Commencez par taper:

Après avoir appuyé sur la touche TAB, la ligne de commande doit remplir le reste:

Cela fonctionne parce que roscpp_tutorials est actuellement le seul package ROS qui commence par roscpp_tut . Maintenant, essayez de taper:

Après avoir appuyé sur la touche TAB, la ligne de commande doit se remplir autant que possible:

Toutefois, dans ce cas, il y a plusieurs packages qui commencent par turtle. Essayez de taper TAB une seconde fois. Ceci devrait afficher tous les packages ROS qui commencent par turtle :

Sur la ligne de commande, vous devriez toujours avoir:

Maintenant, tapez un s après turtle , puis appuyez sur TAB :

Comme il n'y a qu'un seul package qui commence par 'turtles', vous devriez voir:

En résumé

Vous avez sûrement repéré la convention de nommage des outils ROS:

Ce schéma de nommage est valable pour la plupart des outils ROS.

Maintenant que vous savez vous déplacer dans ROS, nous allons voir comment créer un package .


2020-01-18 12:39