[Notes d'étude] Reconnaissance du code AR (code QR)

【Utiliser l'arrière-plan】

ROS1 20.04 noétique

Caméra de profondeur : Caméra de profondeur Intel RealSense D435

[Installer le package de fonctions ar_track_alver]

Le package de fonctions est téléchargé depuis GitHub - machinekoder/ar_track_alvar sur noetic-devel . Faites attention à l'emplacement de stockage et au CD sur l'espace de travail avant de compiler.

catkin_make

     

【Créer un code AR】

Le package de fonctions ar_track_alver fournit la fonction de génération de codes AR. Tout d'abord, accédez au package de fonctions ar_track_alvar-noetic-devel et utilisez la commande suivante pour créer une étiquette de code QR avec l'étiquette correspondante :

rosrun ar_track_alvar createMarker AR_ID

 Parmi eux, AR_ID crée une étiquette avec un nombre quelconque de codes AR, par exemple :

rosrun ar_track_alvar createMarker 0

Création d'une image d'étiquette de code AR avec l'étiquette 0 (le test a révélé que la plage d'étiquettes n'est pas seulement de 0 à 65535 comme l'a dit Gu Yue, des codes AR après l'étiquette 65535 peuvent également être générés), nommée MarkerData_0.png, et l'a placée à l'emplacement actuel du terminal

 

 L'outil createMarker possède également de nombreux paramètres qui peuvent être configurés. Utilisez la commande suivante pour afficher :

rosrun ar_track_alvar createMarker

 Les amis intéressés peuvent effectuer plus de configurations, générer le code AR et l'imprimer pour une identification ultérieure.

[Code AR de reconnaissance de la caméra de profondeur]

[Modifier le fichier de lancement]

Utilisez pr2_indiv_no_kinect.launch dans le fichier de lancement du package de fonctions ar-track-alver comme modèle, modifiez les paramètres et renommez-le en ar_track_camera.launch

 Apportez principalement les modifications suivantes :

1) Ajouter la conversion des coordonnées TF entre le monde et la caméra

2) Le code de détection utilise individualMarkersNoKinect (si vous souhaitez utiliser d'autres codes de détection, vous pouvez vous référer au dossier de nœud sous le package ar_track_alver) et modifiez le nom du sujet pour abonner les données d'image (si vous n'êtes pas sûr du nom du sujet correspondant , vous pouvez utiliser la liste rostopique après avoir démarré la caméra) View), ainsi que la taille réelle du code AR utilisé, en centimètres

3) rviz : Après avoir démarré le programme de reconnaissance, démarrez rviz dans le nouveau terminal. Vous pouvez le configurer en fonction du nom du sujet souscrit ci-dessous. Après avoir enregistré, modifiez le chemin dans le fichier de lancement.

【Démarrer le programme de reconnaissance】

1) Démarrez d’abord la caméra

roslaunch camera_driver_transfer d435.launch 

2) Démarrez le fichier de lancement que vous venez d'écrire

roslaunch ar_track_alvar ar_track_camera.launch

L'effet réussi est le suivant :

 Ensuite, permettez-moi de vous présenter ma configuration rviz :

a) Cadre fixe : sélectionnez le monde

b)camera:订阅/camera/color/image_raw sujet

c) marqueur : sélectionnez Ajouter dans le coin inférieur gauche de la fenêtre Affichages pour ajouter un marqueur.

 Sélectionnez topic/visualization_marker dans le marqueur

 De cette façon, vous devriez pouvoir voir le code AR affiché dans l'image et voir l'état de pose du code AR.

En même temps, nous pouvons utiliser les commandes ROS pour afficher les informations dans le sujet AR

Utilisez les informations rostopiques et l'écho rostopique pour afficher respectivement

 【reconnaissant】

Merci au professeur Gu Yue pour "ROS Robot Development Practice"

Cet article est plutôt une explication supplémentaire de l’utilisation par le professeur Gu Yue et de l’utilisation réelle de la version mise à jour d’ar_track_alver.

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44362628/article/details/123151484
conseillé
Classement