Stap 5: Coördinaat transformatie
1. Microscoop Kinect coördinaten
- Open en voer de gedownloade markerlocater.mdl Simulink Model in MatLab. De punt en de coördinaten die worden weergegeven op de ImageViewer negeren.
- Nu, plaatst u verscheidene verschillende objecten (ten minste 6, ik gebruikte 6 droog wissen Markers) in de weergave van de Microsoft-Kinect en binnen het grijpen van de afstand van de XR-4. Meer objecten die u gebruikt, op meer locaties, hoe nauwkeuriger die uw transformatie zal worden. Klik vervolgens op onderbreken op het model Simulink.
- Klik op de Tools-balk in de Image Viewer, Pixel regio. Gebruik dit hulpmiddel om vast te stellen de pixelcoördinaten van de bovenkant van elk object. Zorg ervoor dat pixels iets onder de bovenkant van elk object selecteren. Het opnemen van deze pixel-locaties. Gebruik vervolgens deze pixelcoördinaten als indexen in de X-, Y- en Z-matrices binnen de functie MatLab Simulink model, om te bepalen van X, Y en Z. Dit zorgt voor de (X, Y, Z) locatie van het object ten opzichte van de Microsoft Kinect het coördinatensysteem.
- Opmerking: Voor de Kinect coördinatensysteem, de y-as wordt beschouwd als de verticale as en de z-as wordt beschouwd als de diepteas (Stel de as wijst uit de lens van de Kinect).
2. rhino XR4 coördinaten
- Volgende, open en voer het gedownloade bestand met de naam init.m. Dit zal het initialiseren van de verbinding tussen de computer en de XR4 (zorg ervoor dat de Mark IV Controller is ingeschakeld). Vervolgens openen en uitvoeren van het movexyz.m bestand om te verplaatsen de robot grijper naar de locatie van elke markeerdraad door gissen en controle (de nummers die u invoert zijn in mm). De standpunten van elke markeerdraad locatie opnemen.
- Opmerking: Voor het coördinatensysteem XR-4, de z-as wordt nu beschouwd als de verticale as en de y-as wordt nu beschouwd als de diepteas.
2. coördineren van transformatie vergelijkingen
- Als u eenmaal de coördinaten van de objecten in (X, Y, Z) coördinaten voor zowel de Kinect en de XR-4, kunt u vergelijkingen maken de transformatie vergelijkingen voor elke as met Matrices en fundamentele digitale beeldverwerking ontwikkelen. Deze vergelijkingen zal zitten kundig voor transformeren elke coördinaat die de Kinect in het coördinatensysteem van het XR4 leest. Om dit te doen, zullen er verschillende fundamentele veranderingen die moeten worden uitgevoerd. Raadpleeg voor een vollediger begrip, pagina's 36-40 in de "Digitale signaalverwerking" door Rafael C. Gonzalez en Paul Wintz. De vergelijkingen die u zal oplossen voor zal worden van de volgende vorm:
- 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)
- Waar:
- RX, Ry, Rz = Robot coördinaat
- SX-, Sy, Sz = onbekend schaal factor voor de x, y en z-as
- x, y, en z = de Microsoft Kinect-coördinaten
- XO, yo, en zo = onbekende verplaatsing
- a = hoek van de Kinect Microsoft met betrekking tot de horizon
- Met de bovengenoemde vergelijkingen, de hoek van de Kinect, ten minste 6 Microsoft Kinect coördinaten en hun respectieve Rhino XR4-coördinaten, kunnen de vergelijkingen worden opgelost. Dit kan gedaan worden met behulp van MatLab, Mathematica, een geavanceerde wetenschappelijke grafische rekenmachine (zoals een TI-89) of een andere methode van uw keuze.
- Vervolgens kunt u de vergelijkingen in de functie van de MatLab label TransformCoordinates die u hebt berekend met de nieuwe vervangen. Zorg dat u om over te schakelen van de y en z variabelen in de vergelijkingen, aangezien deze assen tussen de Microsoft Kinect en de robotarm van Rhino XR4 worden getransporteerd.