Académique Documents
Professionnel Documents
Culture Documents
Stand: 19.08.2014
© Copyright 2014
KUKA Laboratories GmbH
Zugspitzstraße 140
D-86165 Augsburg
Deutschland
Diese Dokumentation darf – auch auszugsweise – nur mit ausdrücklicher Genehmigung der KUKA
Laboratories GmbH vervielfältigt oder Dritten zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffä-
hig sein. Es besteht jedoch kein Anspruch auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Soft-
ware geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für die voll-
ständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in dieser Druckschrift werden
jedoch regelmäßig überprüft und notwendige Korrekturen sind in der nachfolgenden Auflage enthal-
ten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
Original-Dokumentation
KIM-PS5-DOC
Inhaltsverzeichnis
1 Einleitung ..................................................................................................... 7
1.1 Dokumentation des Industrieroboters ........................................................................ 7
1.2 Darstellung von Hinweisen ........................................................................................ 7
1.3 Verwendete Begriffe .................................................................................................. 8
1.4 Marken ....................................................................................................................... 8
2 Zweckbestimmung ...................................................................................... 9
2.1 Zielgruppe .................................................................................................................. 9
2.2 Bestimmungsgemäße Verwendung ........................................................................... 9
3 Produktbeschreibung ................................................................................. 11
3.1 Übersicht KUKA Sunrise.Connectivity ....................................................................... 11
3.1.1 Vergleich Bewegungseigenschaften (PTP, SmartServo, DirectServo) ................ 11
3.1.2 DirectServo und SmartServo in der RoboticsAPI ................................................. 12
3.2 KUKA Sunrise.Connectivity Rendering (Option) ........................................................ 13
4 Sicherheit ..................................................................................................... 15
5 Installation .................................................................................................... 17
5.1 Systemvoraussetzungen ............................................................................................ 17
5.2 SmartServo Befehlsbibliothek installieren .................................................................. 17
5.3 SmartServo Katalog mit Beispielapplikationen installieren ........................................ 17
5.4 DirectServo Befehlsbibliothek installieren .................................................................. 17
5.5 DirectServo Katalog mit Beispielapplikationen installieren ........................................ 18
5.6 Schnittstelle Rendering installieren ............................................................................ 18
5.6.1 V-REP PRO in Schnittstelle Rendering integrieren .............................................. 19
7 Programmierung .......................................................................................... 25
7.1 Servo-Bewegung im Applikationskontext ................................................................... 25
7.2 Einfache Zielvorgabe mit setDestination(…) .............................................................. 26
7.3 Zyklische Zielvorgabe mit setDestination(…) ............................................................. 26
7.4 Sekundenzeigereffekt ................................................................................................ 27
7.5 Klasse IServoRuntime ............................................................................................... 28
7.5.1 Umgang mit dem Echtzeitsystem ......................................................................... 28
7.5.1.1 Zeitstempel abfragen ....................................................................................... 28
7.5.1.2 Zustand des Feininterpolators abfragen .......................................................... 29
7.5.1.3 Debug-Informationen auslesen und ausgeben ................................................ 29
7.5.2 Achsspezifisches Interface ................................................................................... 30
7.5.2.1 Achsspezifische Zielposition vorgeben ............................................................ 30
7.5.2.2 Achsspezifische Zielposition mit Zielgeschwindigkeit vorgeben ...................... 30
7.5.2.3 Achsspezifische Istposition auslesen .............................................................. 30
7.5.3 Kartesisches Interface .......................................................................................... 31
7.5.3.1 Kartesisches Ziel im Roboterfuß-Koordinatensystem vorgeben ...................... 31
8 Beispielapplikationen .................................................................................. 59
8.1 Katalog "Simple Tutorials for SmartServo" ................................................................ 59
8.1.1 Applikation SmartServoSampleSimpleJointMotion .............................................. 59
8.1.2 Applikation SmartServoSampleSimpleCartesian ................................................. 59
8.1.3 Applikation SmartServoSampleInteractionControl ............................................... 59
8.2 Katalog "Simple Tutorials for DirectServo" ................................................................ 60
8.2.1 Applikation DirectServoSampleSimpleJointMotion ............................................... 60
8.2.2 Applikation DirectServoSampleSimpleCartesian .................................................. 60
8.2.3 Applikation DirectServoSampleInteractionControl ................................................ 60
9 Befehlsreferenz ............................................................................................ 61
9.1 Befehlsreferenz SmartServo ..................................................................................... 61
9.1.1 Bewegungsparameter .......................................................................................... 61
9.1.2 Laufzeit-Parameter ............................................................................................... 62
9.1.3 Zielposition setzen ................................................................................................ 63
9.2 Befehlsreferenz DirectServo ...................................................................................... 63
9.2.1 Bewegungsparameter .......................................................................................... 63
10 Ausnahmebehandlung ................................................................................ 65
10.1 Beispiel für Ausnahmebehandlung ............................................................................ 65
10.2 Übersicht Exceptions – Laufzeitfehler-Meldungen ..................................................... 65
10.3 Fehlerursachen CommandInvalidException .............................................................. 66
11 Fehlerbehebung ........................................................................................... 69
11.1 TCP/IP-Verkehr von Windows zu langsam ................................................................ 69
11.2 Roboter fährt ruckartig/pfeift - Sekundenzeigereffekt vermeiden ............................... 70
11.3 Impedanzregelung nicht aktivierbar ........................................................................... 71
11.4 Rückkopplungseffekt .................................................................................................. 71
Index ............................................................................................................. 81
1 Einleitung
Sicherheit Diese Hinweise dienen der Sicherheit und müssen beachtet werden.
Hinweise Diese Hinweise dienen der Arbeitserleichterung oder enthalten Verweise auf
weiterführende Informationen.
Begriff Beschreibung
API Application Programming Interface
Schnittstelle zur Programmierung von Applikationen
Exception Ausnahme oder Ausnahmesituation (engl. exception)
Eine Ausnahme bezeichnet ein Verfahren, um Informationen über
bestimmte Programmzustände, meist Fehlerzustände, an andere Pro-
grammebenen zur Weiterbehandlung weiterzugeben.
KUKA Sunrise Steuerungshardware zum Betrieb des Industrieroboters LBR iiwa
Cabinet
KUKA Sunrise.OS KUKA Sunrise.Operating System
System Software für Industrieroboter, die mit der Robotersteuerung KUKA
Sunrise Cabinet betrieben werden
KUKA Sunrise. Entwicklungsumgebung für die Inbetriebnahme einer Roboterzelle (Sta-
Workbench tion) und für die Entwicklung von Roboter-Applikationen
KUKA LBR iiwa KUKA Leichtbauroboter intelligent industrial work assistent
MRK Mensch-Roboter Kooperation
Systemreaktions- Zeit zwischen Kommandovorgabe und effektiver Roboterbewegung
zeit
V-REP PRO Virtual Robot Experimentation Platform
Simulations-Software, um das Verhalten von Robotern in einer virtuellen
Umgebung zu testen
1.4 Marken
V-REP PRO ist eine Marke von COPPELIA ROBOTICS MARC FREESE.
2 Zweckbestimmung
2.1 Zielgruppe
Verwendung KUKA Sunrise.Connectivity ist ausschließlich für den Einsatz im Labor be-
stimmt und nicht für die direkte Interaktion mit Menschen (MRK) freigegeben.
KUKA Sunrise.Connectivity darf ausschließlich unter den dafür spezifizierten
Systemvoraussetzungen verwendet werden, um neue Anwendungsfelder,
Applikationen und Algorithmen für den LBR iiwa zu untersuchen.
Zur bestimmungsgemäßen Verwendung gehört auch die ständige Beachtung
folgender Dokumente:
Montage- und Betriebsanleitung des Industrieroboters
Montage- und Betriebsanleitung der Robotersteuerung
Bedien- und Programmieranleitung für die System Software
3 Produktbeschreibung
4 Sicherheit
Diese Dokumentation enthält Sicherheitshinweise, die sich spezifisch auf das
hier beschriebene Produkt beziehen. Die grundlegenden Sicherheitsinforma-
tionen zum Industrieroboter sind im Kapitel "Sicherheit" folgender Dokumente
zu finden:
Betriebs- oder Montageanleitung für den Roboter
Bedien- und Programmieranleitung für die System Software
5 Installation
5.1 Systemvoraussetzungen
Vorgehensweise 1. Menüfolge Hilfe > Neue Software installieren... wählen. Das Fenster In-
stallieren öffnet sich.
2. Auf den Button Hinzufügen … klicken. Das Fenster Add Repository öff-
net sich.
3. Auf den Button Archiv... klicken. Das Fenster Repository archive öffnet
sich.
4. Zum Verzeichnis navigieren in dem das ZIP-Archiv com.kuka.ren-
dring.repository-release abgelegt ist.
5. ZIP-Archiv markieren und auf Öffnen klicken. Der Pfad zum Archiv wird in
das Fenster Add Repository übernommen.
6. Den Pfad mit OK bestätigen. Im Fenster Installieren wird der Eintrag
KUKA Rendering Features angezeigt.
Übersicht
Schaltfläche Beschreibung
Szene laden Lädt die ausgewählte Szene in V-REP PRO.
Die Schaltfläche ist nur aktiv, wenn ein Sunrise-
Projekt ausgewählt wurde.
Schaltfläche Beschreibung
LiveView starten Startet die Live-Ansicht in V-REP PRO.
(>>> 6.3 "Live-Ansicht starten" Seite 23)
Framegraph syn- Sendet die in den Applikationsdaten angelegten
chronisieren Frames an V-REP PRO und zeigt sie dort an.
(>>> 6.4 "Frames synchronisieren" Seite 23)
Beschreibung
Abb. 6-2: Sicht Rendering VREP (mit Verbindung und voll konfiguriert)
Wenn keine Verbindung mehr zum realen Roboter besteht, wird die
Zeile mit diesem Gerät in roter Schrift angezeigt.
7 Programmierung
Übersicht Die Abbildung zeigt den grundsätzlichen Programmablauf beim Ausführen ei-
ner Servo-Bewegung.
Pos. Beschreibung
1 Eine Instanz der Servo-Bewegung anlegen, hier eine Instanz der
Bewegungsklasse SmartServo.
2 Servo-Bewegung mit moveAsync(…) aktivieren.
Das Echtzeitsystem auf der Robotersteuerung führt die Servo-Be-
wegung aus. Die Roboter-Applikation läuft weiter.
3 Die Laufzeitumgebung mit getRuntime() abrufen. Die Laufzeitum-
gebung wird bereitgestellt, sobald der Roboter verfügbar ist.
Die Applikationsdaten werden mit den von der Laufzeit-Instanz
der IServoRuntime bereitgestellten Echtzeitsystem-Daten aktuali-
siert. Diese Daten, z. B. aktuelle Roboterposition, Geschwindig-
keit oder Beschleunigung, stehen zum weiteren Abruf bereit.
Pos. Beschreibung
4 Neue Zielpunkte mit setDestination(…) setzen (zyklisch zur Lauf-
zeit der Roboterbewegung).
Nachdem eine Zielposition eingenommen wurde, wird diese eine
definierte Zeit lang beibehalten. Nach Ablauf dieser Zeit wird die
Servo-Bewegung automatisch beendet (Timeout nach der in der
Variable timeoutAfterGoalReach definierten Zeit), sofern kein neu-
er Zielpunkt gesetzt wird oder die Servo-Bewegung mit stopMoti-
on() beendet wird.
(>>> 7.6 "Zielerreichung und Timeouts" Seite 34)
5 Servo-Bewegung mit stopMotion() beenden.
Die Roboter-Applikation läuft weiter.
Zum Zeitpunkt t0 wird ein Ziel vorgegeben. Durch erneuten Aufruf der Metho-
de setDestination(…) zum Zeitpunkt t1, während das Ziel aus Vorgabe t0 an-
gefahren wird, übernimmt der Feininterpolator die Zielvorgabe t1 in seine
Planung und verwirft die Zielvorgabe aus t0. Bei der Berechnung des neuen
Zielpunktes aus der Zielvorgabe zu t1 rechnet der Feininterpolator die aktuelle
Geschwindigkeit mit ein.
Dies bewirkt eine stossfreie Bahnbewegung auf das neue Ziel.
7.4 Sekundenzeigereffekt
Tritt der Sekundenzeigereffekt auf, ist dies daran zu erkennen, dass der Ro-
boter summt/pfeift und ruckartig fährt. Im Allgemeinen lässt sich dieser Effekt
auf eine falsche zeitliche Abstimmung zwischen der Roboter-Applikation und
der Robotersteuerung zurückführen.
Beschreibung Jede Interaktion mit dem Echtzeitsystem liefert einen Zeitstempel zurück. Fol-
gende Zeitstempel stehen zur Verfügung und können abgefragt werden:
Zeitstempel des letzten Sollkommandos:
long IServoRuntime.getTimeStampOfSetRealtimeDestina-
tion()
Dieser Zeitstempel bezieht sich auf die Ankunft des zuletzt gesetzten
Kommandos an die Robotersteuerung durch Aufruf der Methode setDes-
tination(…).
Übersicht Die Übersicht zeigt den Zusammenhang zwischen Laufzeitdaten und dem zu-
gehörigen Zeitstempel.
Beschreibung Um eine aktuelle Information mit der Abfrage des Feininterpolators zu erhal-
ten, ist zuvor eine Aktualisierung durchzuführen.
(>>> 7.5.1 "Umgang mit dem Echtzeitsystem" Seite 28)
Die Bewegungsart SmartServo stellt einen Event-Mechanismus zur Verfü-
gung, mit dem das Erreichen des Zieles signalisiert wird.
(>>> 7.7 "Empfang des GoalReached Events (nur SmartServo)" Seite 34)
Beschreibung Alle ausgelesenen Werte, z. B. die Soll- und Istpositionen, die Timing-Statistik
der Zugriffe oder der aktuelle Interpolatorzustand, können als Debug-Informa-
tionen auf der smartHMI ausgegeben werden.
Die Textausgabe erfolgt mit der Methode IServoRuntime.toString():
getLogger().info("aTextForGood " + RuntimeInstance.toString());
Beschreibung Bei der Bewegungsart SmartServo kann mit setDestination(…) zusätzlich die
achsspezifische Geschwindigkeit vorgegeben werden, mit der die Zielposition
angefahren werden soll.
Beispiel theRuntime.setDestination(XYZ_Frame);
Beschreibung Mit setDestination(…) kann ein neues kartesisches Ziel optional in einem zu-
sätzlichen Referenz-Koordinatensystem vorgegeben werden.
Rückgabewert Kartesische Istposition des Frames frameOnFlange, bezogen auf das Roboter-
fuß-Koordinatensystem. Der Wert wird mithilfe von updateWithRealtimeSys-
tem() aktualisiert.
(>>> 7.5.1 "Umgang mit dem Echtzeitsystem" Seite 28)
(>>> 7.5.1.1 "Zeitstempel abfragen" Seite 28)
Rückgabewert Kartesische Istposition des Frames frameOnFlange, bezogen auf das Refe-
renz-Koordinatensystem. Der Wert wird mithilfe von updateWithRealtimeSys-
tem() aktualisiert.
(>>> 7.5.1 "Umgang mit dem Echtzeitsystem" Seite 28)
(>>> 7.5.1.1 "Zeitstempel abfragen" Seite 28)
Beschreibung Eine Servo-Bewegung kann unabhängig vom Zustand der Applikation oder
des Roboters jederzeit über die Methode stopMotion() beendet werden.
Die aktuelle Bewegung des Roboters wird abgebremst und keine weitere mit
setDestination(…) gesetzte Zielvorgabe übernommen. Ist in der Roboter-Ap-
plikation eine nachfolgende Bewegung mit move(…)/moveAsync(…) pro-
grammiert, so setzt diese die Roboterbewegung fort.
Der Zusammenhang zwischen dem Erreichen des Ziels und des Timeouts
wird mithilfe eines Zustandsgraphen veranschaulicht. Der Zustandsgraph
stellt die innere Zustandsmaschine des Feininterpolators dar. Die in der Klas-
se IServoRuntime enthaltene Methode isDestinationReached() gibt bei der
Abfrage einen Zustandswert des Datentyps boolean zurück. Weitere Zu-
standsinformationen sind für die Applikation ohne Bedeutung, da diese zu
kurzlebig sind.
/**
* Simple Implementation of an
* GoalReachedEventHandler.Increase a local counter
* and print an error message if a goal was reached.
*/
private class SampleGoalReachedEventListener
implements IServoOnGoalReachedEvent
{
@Override
public void onGoalReachedEvent(String state,
double[] currentAxisPos, int[] osTimestamp)
{
_count++;
if (theSmartServoRuntime.isDestinationReached())
{
getLogger().info("ok");
}
}
}
Abhängig von der Last und der Roboterkonfiguration kann der Robo-
ter unter Umständen der gewünschten Bahn nicht mehr folgen und
bleibt mit einer Fehlermeldung stehen.
7.9 Zeiterfassung
Zur Zeitmessung stehen 2 von KUKA fest eingebundene sowie ein vom Be-
nutzer frei verwendbarer Timer zur Verfügung. Die Timer können zur Protokol-
lierung sich wiederholender Ereignisse verwendet werden.
KUKA-Timer Die beiden vordefinierten Timer werden durch Aufruf der Methoden updateWi-
thRealtimeSystem() und indirekt durch setDestination(…) ausgeführt.
Die Statistik der internen Timer kann über die Methode toString() der Klasse
IServoRuntime ausgegeben werden.
Benutzer-Timer Der vom Benutzer frei verwendbare Timer wird durch die Klasse StatisticTi-
mer bereitgestellt. Diese speichert die Anzahl der Messungen und die kleins-
te, die durchschnittliche und die längste gemessene Zykluszeit.
Damit die Klasse StatisticTimer zur Verfügung steht, muss diese selbst instan-
ziiert werden:
import com.kuka.common.StatisticTimer;
import com.kuka.common.StatisticTimer.OneTimeStep;
...
StatisticTimer timing = new StatisticTimer();
Die Ausgabe enthält die Anzahl n der Messungen und die Statistik T der Zyk-
luszeiten. Die Statistik T enhält die kürzeste, durchschnittliche und längste Zy-
kluszeit.
Statistic Timing of Overall Loop n(20687) T(0.91, 1.92, 6.36 msec)
(stdDev 0.36)
7.10 Impedanzregelung
Element Beschreibung
controlMode Regler-Objekt, das die Regler-Parameter enthält, die zur
Laufzeit der Servo-Bewegung geändert werden sollen.
Übersicht Folgende Parameter der jeweiligen Regelungsart können mithilfe der Metho-
de changeControlModeSettings(…) zur Laufzeit geändert werden:
setMaxControlForce(…):
Begrenzung der maximalen Kraft am TCP
final CartesianImpedanceControlMode cartImp =
new CartesianImpedanceControlMode();
cartImp.parametrize(CartDOF.TRANSL).setStiffness(1000.0);
cartImp.parametrize(CartDOF.ROT).setStiffness(100.0);
cartImp.setNullSpaceStiffness(100.0);
cartImp.parametrize(CartDOF.TRANSL).setMaxPathDeviation(50.0);
cartImp.parametrize(CartDOF.ROT).setMaxPathDeviation(1.0);
Die eigentliche Übergabe findet in der folgenden Anweisung statt, in der die
abzulösende SmartServo-Bewegung (theFirstRuntime) gestoppt wird.
theFirstRuntime.stopMotion();
Beschreibung Bei der Verwendung der Bewegungsart SmartServo und DirectServo kann der
regelungstechnische Nebeneffekt einer Rückkopplung auftreten. Dieser Ef-
fekt ist mit dem der Rückkopplung eines übersteuerten Mikrofons durch des-
sen gekoppelten Lautsprecher vergleichbar.
Beispiel 1, Visual
Servoing
Bei einer Visual Servoing-Anwendung soll der Roboter den roten Kreis in der
Bildmitte der Kamera halten. Dazu wird das Kamerabild erfasst und ausge-
wertet. In der Tracking-Applikation wird ein Stellsignal errechnet, um den Ro-
boter anzusteuern. Dieses Stellsignal ändert den Aufnahmepunkt der
Kamera.
Abbildung (>>> Abb. 7-14 ) stellt den Signalfluss des Regelkreises dar.
Dabei wird die Aktivität des Roboters und der Robotersteuerung als Kamera-
Pose abstrahiert.
In Abbildung (>>> Abb. 7-15 ) wird die Tätigkeit der Kamera-Pose und der
Bildverarbeitung jeweils als ideales Totzeitelement Z-1 modelliert. Der Tra-
cking Controller wird als Totzeitelement mit p-Verstärkung modelliert.
Aus der Situation ergibt sich die Forderung, die Gesamt-Performance des
Systems zu erhöhen, um die Leistung des Roboters voll auszuschöpfen. Der
Roboter GR soll daher anders parametriert werden.
Als Folge daraus kann das Gesamtsystem instabil werden, obwohl jedes Teil-
system für sich voll funktionsfähig ist.
Werden die Übertragungseigenschaften des Roboters GR durch nachfolgen-
de Maßnahmen geändert, kann das Verhalten des Gesamtsystems trotz vor-
heriger Stabilität instabil werden:
maximale Geschwindigkeit / maximale Beschleunigung
Wechsel zwischen Positionsregelung und Impedanzregelung
Änderung der Impedanzregelung
Wechsel zwischen den Bewegungsarten SmartServo und DirectServo
Die Stabilisierung des Systems kann in diesem Fall nur erreicht werden, in-
dem die Applikationsprogrammierung entsprechend angepasst wird.
Die folgenden Diagramme zeigen den kommandierten Sprung ("tgt") mit der
blauen Linie und die im Zeitverlauf gemessene Istposition der jeweiligen Ach-
se.
Die grüne Linie stellt den Verlauf bei der Bewegungsart SmartServo mit Stan-
dard-Einstellung dar. Hier sind die Beschleunigungswerte sehr konservativ
ausgelegt, um noch im ungünstigsten Fall (Strecklage und Last) sicher operie-
ren zu können.
Die rote Linie stellt den Verlauf der Bewegungsart DirectServo dar.
Bei der Bewegungsart SmartServo können Achsbeschleunigung und Ruck
geändert werden. Die hellblaue Linie stellt die Bewegungsart SmartServo mit
folgenden Einstellungen dar:
aSmartServoMotion.setJointJerk(500);
aSmartServoMotion.overrideJointAcceleration(20);
Die folgenden Diagramme zeigen synchron zur Position auch die Geschwin-
digkeit, Beschleunigung und den Ruck der jeweiligen Achse.
Aus diesen Aufzeichnungen sind folgende Erkenntnisse zu gewinnen:
Beide Bewegungsarten bieten die Möglichkeit, die Roboterperformance
auszureizen.
8 Beispielapplikationen
In den bereitgestellten Katalogen "Simple Tutorials for SmartServo" und "Sim-
ple Tutorials for DirectServo" sind Programmierbeispiele enthalten.
Zur Lektüre wird dem Leser die nachfolgende Reihenfolge empfohlen.
Für den sicheren Umgang mit dem Katalog "Simple Tutorials for Di-
rectServo" werden Kenntnisse des Katalogs "Simple Tutorials for
SmartServo" vorausgesetzt.
9 Befehlsreferenz
9.1.1 Bewegungsparameter
Methode Beschreibung
setJointVelocity- Achsspezifische Relativgeschwindigkeit (Typ: double; Einheit: %)
Rel(…)
0.0 … 1.0
Default-Wert: 1
Bezieht sich auf den Maximalwert der Achsgeschwindigkeit in den
Maschinendaten.
Hinweis: Weitere Informationen zur Programmierung achsspezifischer
Bewegungsparameter sind in der Bedien- und Programmieranleitung
der System Software zu finden.
setJointAcceleration- Achsspezifische relative Beschleunigung (Typ: double; Einheit: %)
Rel(…)
0.0 … 1.0
Default-Wert: 1
Bezieht sich auf den Maximalwert der Achsbeschleunigung in den
Maschinendaten.
Hinweis: Weitere Informationen zur Programmierung achsspezifischer
Bewegungsparameter sind in der Bedien- und Programmieranleitung
der System Software zu finden.
setMinimumTrajecto- Minimale Ausführungszeit für eine Trajektorie. (Typ: double; Einheit:
ryExecutionTime(…) Sekunden)
≥0
Default-Wert: 0.01
Setzt die minimale Ausführungszeit für eine Trajektorie. Verändert den
Bahnverlauf.
setSpeedTimeoutAf- Timeout für das Geschwindigkeitsprofil nach Erreichen des Ziels. (Typ:
terGoalReach(…) double; Einheit: Sekunden)
≥0
Default-Wert: 0
Setzt den Timeout, bis wann der Interpolator mit einem Geschwindig-
keitsprofil weiter planen soll.
setTimeoutAfterGoal- Timeout nach Erreichen des Ziels für den Bewegungsbefehl. (Typ: dou-
Reach(…) ble; Einheit: Sekunden)
≥0
Default-Wert: 120
Wenn nach der angegebenen Zeit kein neues Ziel vorgegeben wurde,
wird der Bewegungsbefehl abgebrochen.
Methode Beschreibung
setMode(…) Setzen der Bewegungsart.
Hinweis: Weitere Informationen zur Programmierung sind in der
Bedien- und Programmieranleitung der System Software zu finden.
overrideJointAccele- Erhöhen der achsspezifischen Beschleunigung. (Typ: double; Einheit:
ration(…) Faktor)
0 ... 20
Default-Wert: 1
9.1.2 Laufzeit-Parameter
Methode Beschreibung
setGoalReachedE- Setzen des Eventhandler beim Erreichen des Ziels. Der Parameter
ventHandler(…) muss eine Implementierung des Typs IServoOnGoalReachedEvent
sein.
setDetailedOutput(…) Setzen des Detailgrades der Debug-Informationen.
1, 2, 3
Default-Wert: 1
(>>> 7.5.1.3 "Debug-Informationen auslesen und ausgeben" Seite 29)
setMinimumTrajecto- Minimale Ausführungszeit für eine Trajektorie. (Typ: double; Einheit:
ryExecutionTime(…) Sekunden)
≥0
Default-Wert: 0.01
Setzt die minimale Ausführungszeit für eine Trajektorie. Verändert den
Bahnverlauf.
activateVelocityPlan- Aktiviert die Geschwindigkeitsplanung, nachdem ein Zielpunkt erreicht
ning(…) worden ist. (Typ: boolean)
Default-Wert: false
activateWaitForPau- Aktiviert in T1/T2 das Pausieren einer Bewegung, sobald die Start-Taste
seDuringSetDestina- oder ein Zustimmungsschalter losgelassen wird. (Typ: boolean)
tion(…)
Default-Wert: true
Wird diese Einstellung deaktiviert, läuft die Applikation weiter und ist für
die Pausierung und das Wiederanfahren verantwortlich.
changeControlMode- Ändern der Regler-Parameter während der Impedanzregelung.
Settings(…)
(>>> 7.10.3 "Regler-Parameter zur Laufzeit ändern" Seite 38)
Methode Beschreibung
setDestination(…) Setzen einer neuen achsspezifischen Zielposition
(>>> 7.5.2.1 "Achsspezifische Zielposition vorgeben" Seite 30)
Setzen einer neuen achsspezifischen Zielposition und der zugehörigen
Zielgeschwindigkeit der einzelnen Achsen
(>>> 7.5.2.2 "Achsspezifische Zielposition mit Zielgeschwindigkeit vor-
geben" Seite 30)
Setzen einer neuen kartesischen Zielposition
(>>> 7.5.3.1 "Kartesisches Ziel im Roboterfuß-Koordinatensystem vor-
geben" Seite 31)
Setzen einer neuen kartesischen Zielposition und eines Referenz-Koor-
dinatensystems, in dem die Servo-Bewegung ausgeführt werden soll
(>>> 7.5.3.2 "Kartesisches Ziel im Referenz-Koordinatensystem vorge-
ben" Seite 31)
9.2.1 Bewegungsparameter
Methode Beschreibung
setJointVelocity- Achsspezifische Relativgeschwindigkeit (Typ: double; Einheit: %)
Rel(…)
0.0 … 1.0
Default-Wert: 1
Bezieht sich auf den Maximalwert der Achsgeschwindigkeit in den
Maschinendaten.
Hinweis: Weitere Informationen zur Programmierung achsspezifischer
Bewegungsparameter sind in der Bedien- und Programmieranleitung
der System Software zu finden.
setJointAcceleration- Hinweis: Diese Methode hat bei der Bewegungsart DirectServo keine
Rel(…) Auswirkung.
setMinimumTrajecto- Minimale Ausführungszeit für eine Trajektorie. (Typ: double; Einheit:
ryExecutionTime(…) Sekunden)
≥0
Default-Wert: 0.01
Setzt die minimale Ausführungszeit für eine Trajektorie. Verändert den
Bahnverlauf.
setSpeedTimeoutAf- Timeout für das Geschwindigkeitsprofil nach Erreichen des Ziels. (Typ:
terGoalReach(…) double; Einheit: Sekunden)
≥0
Default-Wert: 0
Setzt den Timeout, bis wann der Interpolator mit einem Geschwindig-
keitsprofil weiter planen soll.
Methode Beschreibung
setTimeoutAfterGoal- Timeout nach Erreichen des Ziels für den Bewegungsbefehl. (Typ: dou-
Reach(…) ble; Einheit: Sekunden)
≥0
Default-Wert: 120
Wenn nach der angegebenen Zeit kein neues Ziel vorgegeben wurde,
wird der Bewegungsbefehl abgebrochen.
setMode(…) Setzen der Bewegungsart.
Hinweis: Weitere Informationen zur Programmierung sind in der
Bedien- und Programmieranleitung der System Software zu finden.
9.2.2 Laufzeit-Parameter
Methode Beschreibung
setGoalReachedE- Setzen des Eventhandler beim Erreichen des Ziels. Der Parameter
ventHandler(…) muss eine Implementierung des Typs IServoOnGoalReachedEvent
sein.
setDetailedOutput(…) Setzen des Detailgrades der Debug-Informationen.
1, 2, 3
Default-Wert: 1
(>>> 7.5.1.3 "Debug-Informationen auslesen und ausgeben" Seite 29)
setMinimumTrajecto- Minimale Ausführungszeit für eine Trajektorie. (Typ: double; Einheit:
ryExecutionTime(…) Sekunden)
≥0
Default-Wert: 0.01
Setzt die minimale Ausführungszeit für eine Trajektorie. Verändert den
Bahnverlauf.
activateWaitForPau- Aktiviert in T1/T2 das Pausieren einer Bewegung, sobald die Start-Taste
seDuringSetDestina- oder ein Zustimmungsschalter losgelassen wird. (Typ: boolean)
tion(…)
Default-Wert: true
Wird diese Einstellung deaktiviert, läuft die Applikation weiter und ist für
die Pausierung und das Wiederanfahren verantwortlich.
changeControlMode- Ändern der Regler-Parameter während der Impedanzregelung
Settings(…)
(>>> 7.10.3 "Regler-Parameter zur Laufzeit ändern" Seite 38)
Methode Beschreibung
setDestination(…) Setzen einer neuen achsspezifischen Zielposition
(>>> 7.5.2.1 "Achsspezifische Zielposition vorgeben" Seite 30)
Setzen einer neuen kartesischen Zielposition
(>>> 7.5.3.1 "Kartesisches Ziel im Roboterfuß-Koordinatensystem vor-
geben" Seite 31)
Setzen einer neuen kartesischen Zielposition und eines Referenz-Koor-
dinatensystems, in dem die Servo-Bewegung ausgeführt werden soll
(>>> 7.5.3.2 "Kartesisches Ziel im Referenz-Koordinatensystem vorge-
ben" Seite 31)
10 Ausnahmebehandlung
Beschreibung Die Bewegungsarten SmartServo und DirectServo stellen Exceptions zur Ver-
fügung, mit denen Laufzeitfehler an die Applikation übermittelt werden.
Diese Exceptions können von der Applikation in Form des Java-konformen
try-catch-Blocks behandelt werden. Nicht von der Applikation behandelte Ex-
ceptions führen zum Abbruch der Applikation.
11 Fehlerbehebung
Weist die numerische Zeitstatistik T(min, mean, max) bei Minimum und Durch-
schnitt einen Wert >100 ms auf, kann die Ursache die in Windows standard-
mäßige Optimierung der TCP/IP-Einstellung für hohen Datendurchsatz sein.
Diese bewirkt das Bündeln kleiner Einzel- zu größeren TCP/IP-Paketen, was
jedoch zur Verzögerungen der Kommunikation mit dem Echtzeitsystem führt.
Dabei werden Rückbestätigungen durch das Echtzeitsystem in kurzen Inter-
vallen verhindert.
Um das ungebündelte Versenden einzelner TCP/IP-Pakete zu realisieren,
müssen 2 neue Schlüssel in der Windows-Registrierungsdatenbank erstellt
werden.
Ursache Die Validierung des Lastmodells für die Impedanzregelung ist fehlgeschlagen.
11.4 Rückkopplungseffekt
Beschreibung Bei der Verwendung von Servo-Bewegungen wird die Roboterposition sehr
schnell kommandiert, wobei die aktuelle Roboterposition in das Kommando
mit einfließt.
12 KUKA Service
12.1 Support-Anfrage
Einleitung Diese Dokumentation bietet Informationen zu Betrieb und Bedienung und un-
terstützt Sie bei der Behebung von Störungen. Für weitere Anfragen steht Ih-
nen die lokale Niederlassung zur Verfügung.
Verfügbarkeit Der KUKA Customer Support ist in vielen Ländern verfügbar. Bei Fragen ste-
hen wir gerne zur Verfügung!
Index
A Kartesisches Interface 31
Achsspezifische Istposition, auslesen 30 Kartesisches Ziel, vorgeben 31
Achsspezifische Zielposition, vorgeben 30 Katalog, Simple Tutorials for DirectServo 60
Achsspezifisches Interface 30 Katalog, Simple Tutorials for SmartServo 59
activateVelocityPlanning(…) 62 Kenntnisse, benötigt 9
activateWaitForPauseDuringSetDestination(…) Klasse IServoRuntime 28
62, 64 KUKA Customer Support 73
API 8 KUKA Sunrise Cabinet 8
Applikations-Zykluszeit, messen 36 KUKA Sunrise.Connectivity, Übersicht 11
Ausnahmebehandlung 65 KUKA Sunrise.OS 8
KUKA Sunrise.Workbench 8
B KUKA-Timer 36
Bahnparameter, ändern 35
Befehlsreferenz 61 L
Begriffe, verwendet 8 Lastmodell, validieren 37
Beispielapplikationen 59 Laufzeitfehler-Meldungen 65
Benutzer-Timer 36 LBR iiwa 8
Live-Ansicht 13
C Live-Ansicht, starten 23
changeControlModeSettings(…) 62, 64
CommandInvalidException, Fehlerursachen 66 M
Marken 8
D MRK 8
Debug-Informationen, auslesen und ausgeben
29 O
DirectServo, Befehlsreferenz 63 onGoalReachedEvent(…) 34
DirectServo, Bewegungsparameter 63 overrideJointAcceleration(…) 62
DirectServo, Eigenschaften 11
DirectServo, installieren 17, 18 P
DirectServo, Laufzeit-Parameter 64 Produktbeschreibung 11
DirectServo, Zielposition setzen 64 Programmierung 25
DirectServoSampleInteractionControl 60 PTP, Eigenschaften 11
DirectServoSampleSimpleCartesian 60
DirectServoSampleSimpleJointMotion 60 R
Dokumentation, Industrieroboter 7 Referenz-Koordinatensystem 31, 33
Regler-Parameter, ändern 38
E Rendering Schnittstelle, Bedienung 21
Einleitung 7 Rendering VREP (Sicht) 21
Exception 8 Roboterfuß-Koordinatensystem 31, 32
Exceptions, Übersicht 65 RoboticsAPI, DirectServo und SmartServo 12
Rückkopplungseffekt 40
F Rückkopplungseffekt, Fehlerbehebung 71
Fehlanwendung 9
Fehlerbehebung 69 S
Feininterpolator, Zustand abfragen 29 Schnittstelle Rendering, installieren 18
Frames, synchronisieren 23 Schnittstelle Rendering, konfigurieren 22
Schnittstelle Rendering, V-REP PRO integrieren
H 19
Hinweise 7 Schnittstellen 11
Schulungen 9
I Sekundenzeigereffekt 27
Impedanzregelung 37 Sekundenzeigereffekt, Fehlerbehebung 70
Impedanzregelung, aktivieren 38 Service, KUKA Roboter 73
Impedanzregelung, nicht aktivierbar 71 Servo-Bewegung im Applikationskontext 25
Installation 17 Servo-Bewegung, beenden 33
setAmplitude(…) 39
K setBias(…) 39
Kartesische Istposition, auslesen 32, 33 setDamping(…) 38
setDestination(…) 63, 64 T
setDestination(…), Ziel vorgeben, einfach 26 TCP/IP-Verkehr, langsam 69
setDestination(…), Ziel vorgeben, zyklisch 26 Timeouts 34
setDetailedOutput(…) 62, 64
setFallTime(…) 39 U
setForceLimit(…) 39 Umgang mit dem Echtzeitsystem 28
setFrequency(…) 39
setGoalReachedEventHandler(…) 34, 62, 64 Ü
setHoldTime(…) 39 Übergang zwischen Regelungsarten 40
setJointAccelerationRel(…) 61, 63
setJointVelocityRel(…) 61, 63 V
setMaxControlForce(…) 40 V-REP PRO 8, 13
setMaxPathDeviation(…) 39 Verwendung, bestimmungsgemäß 9
setMinimumTrajectoryExecutionTime(…) 61,
62, 63, 64 Z
setMode(…) 62, 64 Zeiterfassung 36
setNullSpaceDamping(…) 38 Zeitstempel, abfragen 28
setNullSpaceStiffness(…) 38 Zielerreichung 34
setPhaseDeg(…) 39 Zielgeschwindigkeit, vorgeben 30
setPositionLimit(…) 39 Zielgruppe 9
setRiseTime(…) 39 Zweckbestimmung 9
setSpeedTimeoutAfterGoalReach(…) 61, 63
setStiffness(…) 38
setTimeoutAfterGoalReach(…) 61, 64
Sicherheit 15
Sicherheitshinweise 7
SmartServo vs. DirectServo 43, 50
SmartServo, Befehlsreferenz 61
SmartServo, Bewegungsparameter 61
SmartServo, Eigenschaften 11
SmartServo, installieren 17
SmartServo, Laufzeit-Parameter 62
SmartServo, Zielposition setzen 63
SmartServoSampleInteractionControl 59
SmartServoSampleSimpleCartesian 59
SmartServoSampleSimpleJointMotion 59
Sprungantwort der Systeme 43
Sprungantwort SmartServo vs. DirectServo, A1
44, 52
Sprungantwort SmartServo vs. DirectServo, A2
45, 53
Sprungantwort SmartServo vs. DirectServo, A3
46, 54
Sprungantwort SmartServo vs. DirectServo, A4
47, 55
Sprungantwort SmartServo vs. DirectServo, A5
48, 56
Sprungantwort SmartServo vs. DirectServo, A6
49, 57
Sprungantwort SmartServo vs. DirectServo, A7
50, 58
stopMotion() 33
Sunrise.Connectivity DirectServo 11
Sunrise.Connectivity Rendering (Option) 11, 13
Sunrise.Connectivity SmartServo 11
Support-Anfrage 73
Systemreaktionszeit 8
Systemvoraussetzungen, Hardware 17
Systemvoraussetzungen, Software 17