welchen Speicher?
Beiträge von MOM
-
-
Welche biosversion?
Existiert auch ein "Kuka settings"?
-
Erste Vermutung:
Batterie auf dem Main Board hat Geist aufgegeben
Zweite Vermutung:
Kontakte der einzelnen Platinen sind verschmutzt (oxidiert9 und sollten gereinigt werden
(für Reinigung habe ich bei Platinen immer einen Glasfaserradierer verwendet)
-
(1) Eine Transformationsmatrix (4x4) besteht aus mehreren Komponenten(Rotationsmatrix, Vektor und Füller (0,0,0,1):
Rotationsmatrix (mit (Vektor)):
a11, a12, a13, (X)
a21, a22, a23, (Y)
a31, a32, a33, (Z)
0,0,0,1
(2) entspricht der Rotationsmatrix und wird durch Transponieren (Zeilen mit Spalten vertauschen) erreicht Vektor und Füller ignorieren):
a11, a21, a31, a14
a12, a22, a32, a24
a13, a23, a33, a34
(erster Schritt)
Hintergrund:
eine Transformationsmatrix gibt die Verschiebung und Verdrehung zwischen Bezugs- und Zielkoordinatensystem an! Durch das Invertieren wird Ziel- und Bezugskoordinatensystem vertauscht
(Bezugskoordinatensystem: Zeilen; Zielkoordinatensystem: Spalten - jetzt verkehrt rum)
Berechnung der Verschiebung (vierte Spalte):
Hier handelt es sich eine Multiplikation einer 3x3 Matrix mit einem Vektor!
daraus ergibt sich (nach (2) und vierte Spalte aus (1)):
a14 = -(a11*X+a21*Y+a31*Z)
a24 = -(a12*X+a22*Y+a32*Z)
a34 = -(a13*X+a23*Y+a33*Z)
Es geht ja in die andere Richtung, daher "-"
Bei der 4.Zeile ändert sich nichts
Zum besseren Verständnis ist immer eine kleine Skizze hilfreich!
Ich hoffe, dass ich nicht weiter verwirrt habe
-
Hast du auch den Treiber aktualisert?
Unter WinXP haben wir plug 'n pray; bei Win95 nicht unbedingt
-
-
Mit einer Interbus Master-Slave Karte konnte man das machen. Master setzt einen Ausgang, dieser konnte dann als Eingang im Slaveteil zurück gelesen werden
-
"=" ist eine Zuweisung
"==" ist ein Vergleich
Da bei deinem Ausdruck eine Zuweisung erfolgt (aber ein Vergleich erwartet wird) stimmt die Anzahl deiner Klammern nicht mehr
-
Das könnte eigentlich ein neues Techpaket werden.
Das wäre ein Studiumprojekt
Die Idee dahinter klingt ziemlich nach OccuBot
-
Ausgangsposition ist die Achse 6 bei -28Grad während der Winkel A 0.00 beträgt. Darauf wird dann der vorher berechnete Winkel aufgerechnet. Man hat also in jede Richtung mehr als genug Rotation übrig um das Werkstück mehr als 180 Grad zu drehen.
zulässige Winkelbereiche:
A: +/- 180.0 Grad
B: +/- 90.0 Grad
C: +/- 180.0 Grad
-
Wie bereits im englischsprachig Forum erklärt gibt es einen Unterschied zwischen ACT.A6 und Winkel A.
Wird der berechnete Winkel auf Winkel A (Rotation um Z-Achse) aufgerechnet ?
Wäre endlos drehende A6 eine Lösung?
-
Ich muss schon sagen, dass ABB wesentlich strukturierter vorgeht...
und was würde ABB sagen?
-
Was für ein neckisches Spiel machen wir hier?
RobSpace hat sein Problem geschildert und nachgelegt, sonst aber nichts, alle anderen haben nur Vermutungen angestellt (ich wahrscheinlich auch)
Was ist eigentlich das Problem?
Nach deinem "-" in Post #3 vermute ich, dass es hier um eine Inverse handelt!
Somit:
Alle Karten auf den Tisch
-
Ich muss schon sagen, dass ABB wesentlich strukturierter vorgeht...
Das glaube ich nicht!
Mathematik ist unabhängig von den Roboterherstellern!
Für die Framearithmetik müssen die Frames in Transformationsmatrizen umgerechnet werden und dann gilt, dass die Reihenfolge der Matrizenmultiplikation (nicht kommutativ) eingehalten werden muss!
Falsche Reihenfolge - falsche Ergebnisse (es gibt auch hier Ausnahmen)
Daher einen kleinen Tip(p):
Koordinatensysteme nicht mit Namen, sondern einem Index versehen
anstatt Kwelt K0 verwenden
anstatt Kkorr K1 verwenden
die Transformationsmatrix hier wäre dann T01, eine zweite wäre dann T12 (von K1 nach K2)
Überleg mal, bei Rückfragen stehe ich gerne zu Verfügung (außerdem gibt es bereits genügend Beispiele im deutschen und englischem Forum)
-
-
In deiner KSS Installations CD (deswegen meine vorige Frage) gibt es auch dieses Verzeichnis:
..\INTERNAT\TOOLS\KUKALOGVIEWER\
Hier findest Du den externen Logviewer. Mit dem kannst Du Logs aus KRCDiags extrahieren und anzeigen lassen (alte Fehlermeldungen - evtl aus Archiven).
Kurze History:
unter Win95 und allen KSS Versionen (V1. bis V4) wurden die Logmeldungen in einer Access Datenbank gespeichert, aktuelle Logmeldungen konnten nur mit dem internen Logviewer in eine Textdatei, allerdings nur in der aktuell in der BOF eingestellten Sprache exportiert werden.
Ältere Logmeldungen konnten nur durch direktes Lesen der Datenbank (passwortgeschützt) ausgegeben werden (ohne Übersetzung, nur mit Sprachschlüssel).
Beim Umstieg auf WinXP wurde der Windows Log Mechanismus (eventlogs - .evt) verwendet. Ab hier war dann eine Anzeige der aktuellen Meldungen innerhalb der Bedieneroberfläche für aktuelle Meldungen bzw. über den externen Logviewer für ältere Meldungen möglich, allerdings auch mit Problemen:
Teilweis konnte beim Herunterfahren der Steuerung nicht mehr alle Daten geschrieben werden und somit war die evt Datei nicht mehr lesbar. Für WinXP gab es Tool (Fixevt.exe); hiermit wurde das Leseproblem behoben (allerdings gibt es diesen Tool nicht mehr)
Laut Aussage von einigen Moderatoren soll der ultimative Logviewer (Version 8.7) über XPert heruntergeladen werden können. Dieser funktioniert ab KSS V5.* bis KSS V8.7.
-
-
Probiere doch mal 0 (dann wird $NULLFRAME ausgewählt)
Du brauchst nur in das Feld mit W und B tippen. Es geht dann ein Fenster auf und dann entsprechendes Werkzeug auswählen
-
Hier der Unterschied:
-
Der Doppelpunktoperator ist einfach gesprochen die Multiplikation zweier Matrizen:
m = m1*m2 (Reihenfolge darf nicht vertauscht werden; außer bei Einheitsmatrix)
mit Doppelpunktoperator würde hier geschrieben:
m = m1:m2
Da dein pOffset als A= B = C = 0 hat, heißt das, dass bei pOffset als Rotatationsmatrix eine Einheitssmatrix steht und somit keine Orientierungsänderung stattfindet, deine Werte werden auf das
XStartpos angewendet und bewirken daher eine nicht gewünschte Verschiebung (B und C ungleich 0)
DECL E6POS XStartpos={X 529.990,Y -34.7600,Z 407.010,A 0.0,B -24.1200,C 180.000,S 2,T 10,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
mit
XStartpos.x = XStartpos.x + pOffset.x und
XStartpos.z = XStartpos.z + pOffset.z
sollte es funktionieren, da hier im Gegensatz zum Doppelpunktoperator die Orientierung von XStartpos keine Rolle spielt
Kurz zusammengefasst:
Doppelpunktoperator multipliziert nicht nur die Rotationsmatrizen, sondern bezieht auch die korrigierten Offsets mit ein
die direkte Zuweisung (z.B. XStartpos.x = XStartpos.x + pOffset.x) addiert diese in die tatsächliche Richtung auf