Étape 5: Transformation de coordonnées
1. Microsoft Kinect coordonnées
- Ouvrez et exécutez le markerlocater.mdl téléchargé modèle Simulink de MatLab. Ignorer le point et les coordonnées qui apparaissent sur le ImageViewer.
- Maintenant, placez plusieurs objets différents (au moins 6, j’ai utilisé 6 marqueurs effaçables à sec) dans la vue de la Kinect de Microsoft et au sein de l’accaparement de distance de la XR-4. Les plus d’objets que vous utilisez, dans plus d’endroits, les plus précis que sera votre transformation. Puis cliquez sur suspendre le modèle Simulink.
- Dans la barre d’outils dans le visualiseur d’images, cliquez sur la région de Pixel. Grâce à cet outil, identifier les coordonnées en pixels du haut de chaque objet. Prenez soin de sélectionner des pixels un peu du bord supérieur de chaque objet. Notez ces emplacements de pixel. Puis utiliser ces coordonnées en pixels comme indices dans les matrices de X, Y et Z au sein de la fonction MatLab du modèle Simulink, pour déterminer X, Y et Z. Cela vous donnera la (X, Y, Z) emplacement de l’objet en ce qui concerne le système de coordonnées de la Kinect Microsoft.
- Remarque : Pour le système de coordonnées de Kinect, l’axe des ordonnées sont considéré comme l’axe vertical et l’axe des z sont considéré comme l’axe de profondeur (imaginez l’axe est dirigé hors de l’objectif de la Kinect).
2. rhino XR4 coordonnées
- Ensuite, ouvrez et exécutez le fichier téléchargé étiqueté init.m. Ceci initialisera la connexion entre l’ordinateur et le XR4 (Assurez-vous que le contrôleur de Mark IV est allumé). Ensuite, ouvrez et exécutez le fichier movexyz.m pour déplacer le préhenseur du robot à chaque emplacement de marqueur de deviner et de vérification (les numéros que vous entrez sont exprimées en mm). Enregistrer les positions de chaque emplacement de marqueur.
- Remarque : Pour le système de coordonnées XR-4, l’axe z sont maintenant considéré comme l’axe vertical et l’axe des ordonnées sont aujourd'hui considérée comme l’axe de profondeur.
2. coordonner les équations de Transformation
- Une fois que vous avez les coordonnées des objets en (X, Y, Z) les coordonnées pour la Kinect et la XR-4, vous pouvez développer des équations à l’aide de Matrices et traitement d’image numérique de base pour créer des équations de transformation pour chaque axe. Ces équations seront en mesure de transformer toute coordonnée qui la Kinect lit dans le système de coordonnées de la XR4. Pour ce faire, il y aura plusieurs transformations de base qui doivent être exécutées. Pour une compréhension plus complète, veuillez vous reporter aux pages 36 à 40 « Digital Signal Processing » par Rafael C. Gonzalez et Paul Wintz. Les équations qui vous permettra de résoudre pour sera de la forme suivante :
- RX = Sx * (x + xo)
- Ry = Sy * (y + yo) * cos (a) + Sz * (z + zo) * sin (a)
- RZ = - Sy * (y + yo) * sin (a) + Sz * (z + zo) * cos (a)
- Où :
- RX, Ry, Rz = coordonnées du Robot
- SX, Sy, Sz = inconnu mise à l’échelle de facteur pour le x, y et z
- x, y et z = les coordonnées de Microsoft Kinect
- XO, yo et zo = déplacement inconnu
- a = Angle de la Kinect de Microsoft en ce qui concerne l’horizon
- Avec les équations ci-dessus, l’angle de la Kinect, au moins 6 Microsoft Kinect coordonnées et leurs coordonnées respectives de Rhino XR4, les équations peuvent être résolues. Cela peut être fait à l’aide de MatLab, Mathematica, une calculatrice graphique scientifique avancée (par exemple une TI-89) ou toute autre méthode de votre choix.
- Vous pouvez alors remplacer les équations dans la fonction MatLab étiqueté TransformCoordinates avec les nouveaux que vous avez calculé. N’oubliez pas de changer les variables y et z dans les équations depuis ces axes sont passés entre le Microsoft Kinect et le bras du robot Rhino XR4.