Neuer IRB 2400, ich bin auch neu hier.
Der Roboter soll sphärische Linsen polieren.
Das Werkzeug soll immer senkrecht zur Oberfläche stehen.
Die Bahn soll mit MoveL Befehlen gefahren werden.
Ich habe ein Programm geschrieben, das für eine vorgegebene
Bahn die Position (x,y,z) und die Orientierung (Quaternion)
berechnet. Als nächstes müßte ich die Komponente
robconf (Typ confdata) von robtarget mit sinnvollen Werten füttern.
Bei IRB 2400 werden die ersten drei Komponenten von confdata
genutzt (Achsen 1,4,6).
Ich suche nun nach einer Möglichkeit, für gegebene Zielposition
und -orientierung bei bekannten Werkzeug- und Werkstückdaten
die Positionen der einzelnen Achsen vorherzusagen. Dadurch,
daß um die zu bearbeitende Linse "herumgefahren" wird,
ändert sich die Konfiguration ja ständig.
Gibt es eine Möglichkeit, das offline zu erreichen. Telefonische
Nachfrage bei ABB ergab nur die Vorschläge
- Konfigurationsüberwachung abschalten (ConfL\Off) und robconf
überall mit Nullen zu füllen.
das funktioniert aber nicht, da Achse 4 dann schon bald in Endlage
(200 Grad) landet.
- zur Laufzeit die aktuellen Werte mit CJoinT() auszulesen
Das will mir auch nicht so recht gefallen, da man hier immer einen
zeitlichen Versatz hat.
Kann mir jemand raten, ob/wie ich die Roboterkonfiguration
vorher errechenen kann?
----------------------------------------------------------------------------
Ein anderes Problem ist die "Handgelenk-Singularität" (Achse 5 = 0 Grad)
Dann wird die Bewegung so langsam, daß man ein Loch in die
Linse polieren würde.
Kann man das im Vorfeld prüfen, ob man bei gegebener Bahn
in diese Falle laufen wird - und ggf. konstruktive Gegenmaßnahmen
(z.B. Werkzeug mit Keil befestigen) ergreifen.
Aber diese Frage ist der obigen ähnlich.
Vielen Dank im Voraus.