Die Kreisbewegung (CIRC) zählt zu den Bahnbewegungen. Ausgehend von der aktuellen Roboterposition wird mittels Zirkularinterpolation die Bewegungsbahn zur Zielposition bestimmt. D.h. der Roboter-TCP verfährt auf einer Kreisbahn zu einer vorgegebenen Zielposition.
Um einen Kreis bzw. Kreisbogen eindeutig im Raum zu definieren, benötigt man mindestens drei voneinander verschiedene Punkte, die auf einer Kreisbahn liegen. Ausgehend von einem Startpunkt, der aktuellen Roboterposition, wird der Kreis bzw. Kreisbogen über einen zusätzlichen Hilfspunkt zu einer festgelegten Zielposition beschrieben. Bei Kreisbewegungen kann für die Zuweisung der Hilfs- und Zielposition, im Unterschied zu PTP-Bewegungen, ausschließlich auf das kartesische Koordinatensystem zurückgegriffen werden. Analog zur PTP-Bewegung besteht die Möglichkeit, die Hilfs- und Zielposition als Absolut- oder Relativposition anzugeben.Kreisbewegungen mit absoluten Positionsangaben beziehen sich auf das Basis-Koordinatensystem, während Kreisbewegungen mit relativen Positionsangaben als positive bzw. negative Positionsänderung relativ zur aktuellen Roboterposition angegeben werden. Im Unterschied zur Linearbewegung ist es notwendig zusätzlich zur Zielposition: x2,y2,z2,a2,b2,c2 eine Hilfsposition: x,y,z,a,b,c zu definieren:
Startpunkt:
ptp(hnd,350,50,550,0,90,0);
CIRC-Absolutbewegung (kartesisch: x,y,z,a,b,c,x2,y2,z2,a2,b2,c2):
circ(hnd,300,100,550,0,90,0, 250,50,550,0,90,0); Startpunkt:
ptp(hnd,350,50,550,0,90,0);
CIRC-Relativbewegung (kartesisch: x,y,z,a,b,c,x2,y2,z2,a2,b2,c2):
circrel(hnd,-50,+50,0,0,0,0, -100,0,0,0,0,0);
Die anzufahrende Kreisbahn kann zusätzlich zu Hilfs- und Zielposition anhand eines Kreiswinkels festgelegt werden. Dabei wird die Geometrie der Kreisbahn weiterhin durch Start-, Hilfs- und Zielposition bestimmt. Die tatsächliche Zielposition wird jedoch doch den Kreiswinkel angle definiert:
Kreisbewegung mit Winkelangabe (kartesisch: x,y,z,a,b,c,x2,y2,z2,a2,b2,c2,angle):
circangle(hnd,300,100,550,0,90,0, 250,50,550,0,90,0, -90);
circrelangle(hnd,-50,+50,0,0,0,0, -100,0,0,0,0,0, -90);
Die Geschwindigkeiten und Beschleunigungen beziehen sich bei den Bahnbewegungen im Gegensatz zu den PTP-Bewegungen nicht mehr auf die einzelnen Roboterachsen, sondern ausschließlich auf die Bewegung des TCP. Sowohl die Geschwindigkeiten des TCP als auch die Beschleunigungen des TCP müssen für Translation, Schwenkwinkel und Drehwinkel vorgegeben werden. Informationen zur Parametrierung dieser Bahnbewegungsparameter entnehmen Sie bitte der Dokumentation Linearbewegung (LIN).
Neben den Parametern für die Geschwindigkeiten und Beschleunigungen kann zusätzlich Einfluß auf die Orientierung des TCP ausgeübt werden. Soll sich die TCP-Orientierung während der Bahnbewegung ändern (Variable Orientierungsführung), so besteht die Möglichkeit, das mit der m-Funktion setoritype(hnd,value) einzustellen (siehe Dokumentation Linearbewegung (LIN)).Neben der Möglichkeit zwischen variabler und konstanter Orientierung, kann bei Kreisbewegungen zusätzlich zwischen raum- und bahnbezogener Orientierungsführung gewählt werden. Dafür steht die m-Funktion setcirctype(hnd,value) zur Verfügung:
Raumbezogene Orientierungsführung:
setcirctype(hnd,1); Bahnbezogene Orientierungsführung:
setcirctype(hnd,0);
CIRC-Befehle mit ÜberschleifenFür die Realisierung einer kontinuierlichen Bewegung über einen Bahnbewegungssatz wird das sogenannte Überschleifen genutzt. Dabei werden, abgesehen von Start- und Zielpunkt, die Bahnzwischenpunkte nicht genau angefahren, sondern überschliffen. Abgesehen vom cptp-Kriterium gelten bei den CIRC-Befehlen mit Überschleifen dieselben Überschleifkriterien wie beim PTP-Überschleifen (siehe Dokumentation PTP).
CIRC-Überschleifeinzelsätze können mit den nachfolgend auszugsweise aufgeführten CIRC-Befehlen in ein Bahnbewegungssatz eingefügt werden:
circcdis(hnd,...);
circcori(hnd,...);
circcvel(hnd,...);
circrelcdis(hnd,...);
...