Wir haben mit einem 6-Achsroboter eine Bahnmessung vorgenommen. Genauer gesagt sind wir eine Diagonale im Raum abgefahren und haben während dessen x,y,z Messwerte aufgenommen. Ziel des Projektes war es die Bahnabweichung zu messen. Somit bildet man die Gerade zwischen beiden Endpunkten der Bewegung und einige der gemessenen Punkte werden nicht auf dieser Geraden liegen.
Da ich aber absoluter Anfänger ins Sachen MatLab bin, aber gefordert ist dieses Problem graphisch in 3D darzustellen, wäre ich für Eure Hilfe sehr dankbar. Ich habe also noch NIE mit Matlab gearbeitet.
Nun will ich somit eine 3D Graphik erstellen in der eine feste Linie durch den Raum geht und um diese Linie herum sich Punkte befinden (andersfarbig)
Kann jemand genau beschreiben was ich tun muss bzw. welchen Code ich wo eingeben sollte! Mfg Chris
Wie bekommst du deine Messwerte? Excel o.ä. oder willst du die Manuell eingeben?
Ist die Gerade immer die Gleiche? Wenn ja wie verläuft die? Parallel / Senkrecht zu einer Ebene oder Windschief?
Soll die tatsächlich gefahrene Bahn als Linie verbunden werden oder willst du nur die Messpunkte angezeigt bekommen?
Excel, manuell, dzzz. Ich hoffe die Messwerte werden mit MATLAB aufgenommen
Also das hört sich nach PLOT3, SCATTER3 und HOLD an.
Andreas
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 16.09.2009, 18:52
Titel:
Also die Messwerte befinden sich noch in einer Editor Datei. Die blöde Robotersteuerung war so alt, dass Sie nur mit Diskette funktionierte. Die Sollgerade soll natürlich verbunden sein und die restlichen Punkte einzeln im Raum. Die Gerade ist einfach eine Diagonale durch den Raum. D.h. alle Werte x,y,z ändern sich. Ups ich seh grad sind doch mehr koordinaten. Ich häng mal die Datei an. Die ersten zwei punkte a und b sind der anfangs und endpunkt.
figure hold on
scatter3(messung.x,messung.y,messung.z);%,'rx-','Markersize',10,'Linewidth',2) plot3([start.x;ende.x],[start.y;ende.y],[start.z;ende.z],'r','Linewidth',2) hold off
grid on
xlim([01]) ylim([01]) zlim([01]) xlabel('X-Achse') ylabel('Y-Achse') zlabel('Z-Achse') view(45,45)
Vorgegeben sind ein Start- und Endpunkt im Raum und eine Messreihe.
Einmal wird die Ideal-Trajektorie geplottet und einmal die Messpunkte mit diskreten Kringeln.
mit den Limit Befehlen kann man den Ausschnitt des Koordinatensystems so wählen, dass es nach einer Diagonalen aussieht und mit view stellt man die Betrachtungsrichtung auf das Koordinatensystem ein.
jetzt mußt Du nur zusehen wie Du aus den Messdaten irgendwie die xyz Koordinaten bekommst... ich seh das grade ned so direkt ;-)
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 17.09.2009, 09:59
Titel:
Merci schonmal für den ersten Versuch. Hatte mir die messpunkte auch nicht richtig angeschaut. Naja ein 6-Achsroboter scheint wohl 12 Koordinaten zu haben. Jetzt muss ich nur noch herausfinden welche die richtigen sind
bei einem Vergleich von Start und Endpunkt fällt mir auf dass die ersten 6 Werte der beiden recht gleich aussehen... eigentlich weichen nur die letzten drei voneinander ab...
hab mich bisher leider nur mit Linearrobotern beschäftigt...
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 17.09.2009, 11:42
Titel:
Es war ein Stäubli. Idefix kannst mir den Code schreiben hab 0 Dunst
wenn ich das richtig sehe ist nicht Matlab das Problem...
man müßte wissen wie der Roboter aufgebaut ist und was das genau für Messdaten sind... dann kann man die entsprechenden Koordinatentransformationen aneinander setzen und kartesische Koordinaten berechnen.
eine Software die das automatisch erkennt... hhhhmmm
ich würde an Deiner Stelle die Messdaten auf die letzten drei Werte beschränken
evtl sind das drei Winkel, die bei Umrechnung von Polarkoordinaten in kartesische Koordinaten tatsächlich eine Diagonale beschreiben
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 17.09.2009, 14:05
Titel:
Ok, und dann müsste das mit dem Quellcode passen den du oben geschrieben hast? Ich geb dir heut abend noch 2 Bilder vom Roboter.
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.