-
HINTERGRUND DER ERFINDUNG
-
Technisches Gebiet
-
Die Erfindung betrifft eine Steuereinrichtung, insbesondere für einen industriellen Roboter, die einen Kontakt im externen Umfeld detektiert.
-
Zum Stand der Technik
-
Ein Roboterarm ist üblicherweise mit einem Kraftsensor versehen zum Detektieren einer auf den Roboterarm einwirkenden externen Kraft. Bei der japanischen Patentveröffentlichung
JP 2006 - 021 287 A wird eine interne Kraft geschätzt, die auf einen Kraftsensor wirkt wenn ein Roboterarm betrieben wird, ohne dass er in Kontakt kommt mit einem (Objekt in) externen Umfeld. Kommt ein Roboterarm mit einem externen Umfeld in Kontakt, wird die Kontaktkraft aus der (Kraft-) Änderung ermittelt, die gewonnen wird durch Subtraktion eines geschätzten Wertes bezüglich der internen Kraft von dem Ausgangssignal des Kraftsensors. Ob ein Roboterarm in Kontakt kommt mit einem externen Umfeld oder nicht, wird entsprechend dieser Änderung ermittelt. Kommt ein Roboterarm in Kontakt mit einem externen Umfeld, so wird der Roboterarm dazu gebracht, diesen Kontakt zu beenden oder zum Stoppen, um so einen sicheren Betrieb des Roboters zu gewährleisten.
-
4A zeigt die Beziehung zwischen einem Roboter in einer bestimmten Stellung und einem Kabel oder dergleichen. Wie in 4A gezeigt, hängen Kabel, Leitungen etc. 109 von einer Decke und sind an mehreren Stellen am Roboterarm 101 des Roboters 1 mit Befestigungsmitteln 108 befestigt. Gemäß 4B ändert der Roboterarm 101 beim Betrieb seine Stellung.
-
Ändert der Roboterarm 101 im Betrieb seine Stellung, wird eine Kraft aufgrund des Zuges an dem Kabel, der Leitung oder dergleichen 109 (nachfolgend: Leitung bzw. Kabel), die am Roboterarm 101 befestigt ist, erzeugt. Ein Kraftsensor 103 an einem unteren Abschnitt des Roboters 101 detektiert eine solchen Kraft aufgrund eines Zuges an dem Kabel 109. Üblicherweise wird das Kabel 109 in Abhängigkeit von Einzelheiten des Robotersystems angebracht und in Abhängigkeit von der Art und der Anzahl der Kabel 109, die für jedes Robotersystem verschieden sind. Aus diesem Grunde ist es - anders als bei einer internen Kraft, die aufgrund des Aufbaus der Roboterarms 101 abgeschätzt werden kann - nicht möglich, vorab eine Kraft abzuschätzen die entsteht durch Zug an der Schnur 109.
-
Deshalb kann nicht präzise festgestellt werden, ob ein Roboterarm in Kontakt kommt mit einem (Objekt) im Umfeld weil die Zugkräfte bezüglich der Kabel 109 nicht in die abzuschätzenden internen Kräfte aufgenommen werden können. Deshalb kann es vorkommen, dass auch dann, wenn der Roboterarm 101 nicht in Kontakt kommt mit einem externen Umfeld (diese Formulierung soll nachfolgend immer beinhalten, dass es um ein Objekt im Umfeld geht), festgestellt wird, dass der Roboterarm 101 (vermeintlich) in Kontakt kommt mit einem externen Umfeld; oder es kann vorkommen, dass dann, wenn der Roboterarm 101 tatsächlich in Kontakt kommt mit einem externen Umfeld, festgestellt wird, dass er vermeintlich nicht in diesem Kontakt steht.
-
Deshalb muss eine Kraft korrigiert werden, die durch Zug den Kabeln 109 verursacht wird und hierzu wird das nachfolgende Verfahren in Erwägung gezogen. Zunächst wird der reale Raum in eine Vielzahl kleiner Bereiche unterteilt und sodann wird für jeden der unterteilten kleinen Bereiche die oben erwähnte Kraft bei Aufenthalt der Spitze des Roboterarms 101 in dem kleinen Bereich gemessen und als Kraftkorrekturbetrag gespeichert. Sodann werden ein Schätzwert der internen Kraft und ein Kraftkorrekturwert entsprechend einem Bereich, der die momentane Position der Spitze des Roboterarms 101 beinhaltet, von einem Ausgangssignal eines Kraftsensors subtrahiert, um eine Abweichung als Kontaktkraft zu ermitteln.
-
Wird aber die Stellung des Roboterarms 101 geändert und bleibt die Position der Spitze des Roboterarms 101 im gleichen Bereich, kann sich ein falscher Kraftkorrekturwert ergeben. Beispielsweise sind die Positionen der Spitze des Roboterarms 101 in den 4A und 4B gleich. Gleichwohl sind die Winkel an jedem Gelenk des Roboters in den 4A und 4B voneinander verschieden und somit sind auch die Stellungen des Roboters in den 4A und 4B voneinander verschieden.
-
Entsprechend sind in den 4A und 4B die Beträge und die Richtungen der Kräfte am Roboterarm 101 zum Ziehen der Kabel unterschiedlich. In einer solchen Situation kann die Differenz in der Größe und der Richtung der oben erwähnten Kraft
nicht korrigiert werden, auch wenn ein Kraftkorrekturbetrag in Abhängigkeit von nur der Position der Spitze des Roboterarms 101 ermittelt wird.
-
Die vorliegende Erfindung betrifft diese Umstände und ein Ziel der vorliegenden Erfindung ist die Bereitstellung einer Robotersteuerung, die mit hoher Präzision einen Kontakt mit einem externen Umfeld detektieren kann, ohne dass sogar in Fällen, in denen eine Kraft erzeugt wird, durch Ziehen eines Kabels, die am Roboterarm befestigt ist, eine Beeinflussung durch eine solche Kraft erfolgt.
-
DE 10 2007 060 682 A1 offenbart ein Verfahren zur modellbasierten Regelung eines Manipulators. Nach dem Verfahren wird eine Soll-Kraft eines Aktuators des Manipulators auf Basis eines Modells des Manipulators bestimmt und der Manipulator mit dieser Soll-Kraft durch den Aktuator beaufschlagt. Dabei wird eine vom Manipulator ausgeübte virtuelle Kraft auf Basis des Modells des Manipulators und eine vom Manipulator ausgeübte reale Kraft sowie die Differenz zwischen ausgeübter virtueller und realer Kraft bestimmt und diese mit einem Maximalgrenzwert verglichen. Nur falls der Vergleich ergibt, dass die Differenz kleiner als der Maximalgrenzwert ist, wird der Manipulator mit der auf Basis des Modells des Manipulators bestimmten Soll-Kraft beaufschlagt.
-
EP 0 605 050 A2 offenbart ein Mechanismus, das auf Basis eines kinematischen Modells gesteuert wird. Die Parameter des Modells können eingestellt werden, um den Effekt der Veränderung von Längen oder Winkeln in dem Mechanismus Rechnung zu tragen, die aufgrund von Nachgiebigkeit unter Last, Wärmeausdehnung oder Verschleiß über die Zeit auftritt. Sensoren sind zur Beobachtung der Position eines oder mehrerer Teile des Mechanismus vorgesehen, und aus einer ausreichenden Anzahl solcher Beobachtungen werden die Parameter automatisch durch Maximum-Likelihood-Schätzung angepasst.
-
KURZBESCHREIBUNG DER ERFINDUNG
-
Um obiges Ziel zu erreichen wird gemäß einer ersten Merkmalskombination eine Robotersteuerung bereitgestellt zum Steuern eines Gelenk-Roboters, an dem ein Kraftsensor angebracht ist, folgendes aufweisend: eine interne Kraftschätzeinheit zum Schätzen einer Kraft als interne Kraft, die erzeugt wird an einem Punkt, wo der Kraftsensor angebracht ist, auf Basis des Gewichtes sowohl eines Roboterarmes als auch einer an der Spitze des Roboterarmes angebrachten Hand in einem Zustand, in dem der Roboterarm des Roboters nicht in Kontakt steht mit einem externen Umfeld, und einer Trägheitskraft, die durch den Betrieb sowohl des Roboterarmes als auch der Hand erzeugt wird; eine Speichereinheit, in welcher jeder Dreh-Betätigungsbereich einer Mehrzahl von Gelenken des Roboterarmes in eine Mehrzahl kleiner Bereiche in Abhängigkeit vom Winkel unterteilt ist und für jeden der kleinen Bereiche eine von der internen Kraftschätzeinheit abgeschätzte interne Kraft von einem Ausgangssignal des Kraftsensors in einem Zustand abgezogen wird, in dem der Roboterarm nicht mit einem externen Umfeld in Kontakt ist, um so einen Kraftkorrekturbetrag zu speichern; eine Kraftkorrekturbetragbestimmungseinheit, in welcher ein Kraftkorrekturbetrag entsprechend dem momentanen Winkel der Mehrzahl von Gelenken des Roboterarms durch die Speichereinheit bestimmt wird; und eine Kontaktkraftberechnungseinheit, in welcher eine Kontaktkraft bei Kontakt des Roboterarms mit einem externen Umfeld berechnet wird durch Subtraktion einer durch die interne Kraftabschätzeinheit abgeschätzten internen Kraft und des Kraftkorrekturbetrages, wie durch die Kraftkorrekturbetragbestimmungseinheit ermittelt, von einem Ausgangssignal des Kraftsensors.
-
Gemäß einer zweiten Merkmalskombination weist bei der ersten Merkmalskombination die Robotersteuereinrichtung weiterhin eine Stoppbefehlseinheit auf zum Stoppen des Roboterarmes wenn die durch die Kontaktkraftberechnungseinheit berechnete Kontaktkraft größer ist als ein vorgegebener Wert.
-
Diese Ziele, Merkmale und Vorteile der Erfindung sowie weitere Ziele, Merkmale und Vorteile werden noch deutlicher aus der nachfolgenden Beschreibung eines typischen Ausführungsbeispieles der Erfindung, wie in den Figuren dargestellt.
-
Figurenliste
-
- 1 ist ein Funktionsblockdiagramm einer Robotersteuervorrichtung gemäß der Erfindung.
- 2 zeigt ein Beispiel für eine Kraftkorrekturbetragstabelle, die in einer Speichereinheit abgespeichert ist.
- 3 zeigt einen Rotationsbetriebsbereich eines Gelenkes.
- 4A erläutert die Beziehung zwischen einem Roboter in einer Stellung und einer Schnur, Leitung oder dergleichen.
- 4B ist eine Darstellung ähnlich 4A in einer anderen Stellung.
-
BESCHREIBUNG IM EINZELNEN
-
Ausführungsbeispiele der Erfindung werden nunmehr beschrieben mit Bezug auf die begleitenden Figuren. Die gleichen Bezugszeichen werden in den Figuren und in der Beschreibung für die gleichen bzw. funktionsähnliche Elemente verwendet. Zur Erleichterung des Verständnisses haben die Figuren nach Bedarf unterschiedliche Maßstäbe.
-
1 ist ein Funktionsblockdiagramm einer Robotersteuervorrichtung auf Basis der vorliegenden Erfindung. Wie 1 zeigt, hat der Roboter 1 eine Mehrzahl von Gelenken, wie eine Vertikalanordnung mit 6 Gelenkachsen, und ist mit der Robotersteuerungvorrichtung 10 verbunden. Der Roboterarm 101 des Roboters 1 hat 6 Gelenke und jedes der 6 Gelenke J1 bis J6 des Roboterarmes 101 kann eine Rotation oder Drehung ausführen.
-
Obwohl nicht dargestellt, ist jedes Gelenk J1 bis J6 mit einem Motor, einem Untersetzungsgetriebe, einem Drehwinkeldetektor oder dergleichen versehen und der Drehwinkel jedes Gelenkes J1 bis J6 wird gemäß einem Befehl aus der Robotersteuervorrichtung 10 gesteuert. Die Spitze des Roboterarmes 101 ist mit einer Hand 107 versehen, welche ein Werkstück halten kann.
-
Wie in 1 gezeigt ist, hängt von der Decke (des Raumes) ein Kabel, eine Schnur bzw. Leitung 109 (nachfolgend nur „Leitung“ genannt) bis zur Hand 107 des Roboters 1. Die Leitung 109 ist an mehreren Stellen des Roboterarmes durch Befestigungsmittel 108 befestigt. Zum Antreiben der Hand 107 weist die Leitung 109 folgendes auf: ein Kabel zum Zuführen einer Antriebskraft oder eines Signals; und/oder einen Schlauch zum Zuführen eines Kühlmittels oder Luft zum Antrieb (der Begriff „Leitung“ erfasst also auch ein „Leitungsbündel“). Anstelle der Hand 107 kann ein Schweißbrenner oder dergleichen an der Spitze des Roboterarmes 101 angebracht sein.
-
Eine Roboterbasis 102 ist an der Bodeneinheit des Roboterarmes 101 vorgesehen. Ein Kraftsensor 103 ist am unteren Abschnitt der Roboterbasis 102 angebracht. Der Kraftsensor 103 kann drei Komponenten einer Kraft detektieren, nämlich in X-Richtung, in Y-Richtung und in Z-Richtung. Wenn sich eine am Roboterarm 101, welcher über der Roboterbasis 102 angeordnet ist, wirkende Kraft ändert, ändert sich auch das Ausgangssignal (nachfolgend „Ausgang“) des Kraftsensors 103.
-
Eine am Roboterarm 101 wirkende Kraft enthält folgende Kräfte: eine Kontaktkraft, die am Roboterarm 101 wirkt wenn dieser in Kontakt kommt mit einem externen Umfeld (also einem Objekt im externen Umfeld); eine Kraft, die erzeugt wird durch Betrieb des Roboterarmes 101 selbst (nachfolgend „interne Kraft“); und ein Kraft, die erzeugt wird durch Zug der Leitung 109 bei Betätigung des Roboterarmes 101 mit Stellungsänderung.
-
Der Kraftsensor 103 kann in den Roboterarm 101 eingebettet sein. Bei der Kontaktkraft, welche unter anderen Kräften auf den Roboterarm 101 wirkt, handelt es sich um eine Kraft, die in einem Abschnitt wirkt von der Stelle, wo der Kraftsensor 103 eingebettet ist, bis zur Spitze des Roboterarms 101 wenn es zu einem Kontakt mit dem externen Umfeld kommt.
-
Die Robotersteuervorrichtung 10 ist ein Digitalrechner, welcher den Betrieb des Roboters 1 steuert. Wie 1 zeigt, weist die Robotersteuerung 10 folgendes auf: eine Ablaufeinstelleinheit 17, die ein Betriebsprogramm oder dergleichen für den Roboter 1 enthält; und eine Betriebsbefehlserzeugungseinheit 18, welche einen Betriebsbefehl für den Roboter 1 auf Basis der Ablaufeinstelleinheit 17 erzeugt.
-
Weiterhin hat die Robotersteuervorrichtung 10 eine Kontaktkraftberechnungseinheit 15, welche für jede vorgegebene Steuerperiode des Roboters 1 eine Kontaktkraft berechnet wenn der Roboterarm 101 in Kontakt kommt mit einem externen Umfeld. Wie die Figur zeigt, hat die Kontaktkraftberechnungseinheit 15 Folgendes: eine interne Kraftabschätzeinheit 11, welche die oben genannte interne Kraft abschätzt; eine Speichereinheit 12, welche eine Kraftkorrekturbetragstabelle speichert; und eine Kraftkorrekturbetragsbestimmungseinheit 13, welche einen Kraftkorrekturbetrag bestimmt auf Basis der Kraftkorrekturbetragstabelle.
-
Die interne Kraftabschätzeinheit 11 schätzt mit einem bekannten Verfahren eine Kraft ab, die aufgrund des Gewichtes von Roboterarm 101 und Hand 107 und einer Trägheitskraft aufgrund des Betriebes dieser Teile an einem Punkt einwirkt, wo der Kraftsensor 103 angebracht ist, wenn der Roboterarm 101 nicht mit dem externen Umfeld in Kontakt ist. Beim Abschätzen der internen Kraft verwendet die interne Kraftabschätzeinheit 11 entsprechend einen Drehwinkel eines Motors, der durch einen Drehwinkeldetektor detektiert worden ist, einen Drehwinkelbefehlswert des Motors in der Ablaufeinstelleinheit 17 etc. Interne Kräfte in X-Richtung, Y-Richtung und Z-Richtung werden durch die Symbole RFX, RFY und RFZ bezeichnet.
-
2 erläutert ein Beispiel einer Kraftkorrekturwerttabelle, die in einer Speichereinheit abgespeichert ist. Gemäß 2 ist in der Kraftkorrekturwerttabelle bezüglich eines Gelenkes aus der Vielzahl von Gelenken J1 bis J6 des Roboterarmes 101, wie beispielsweise bezüglich des Gelenkes J1, ein Rotationsbetriebsbereich des Gelenkes J1 unterteilt in kleine Bereiche J11 bis J1n, jeweils mit den Nummern „n“.
-
Die 3 zeigt einen Rotationsbetriebsbereich eines Gelenkes. Das in 3 dargestellte Zentrum repräsentiert die Zentralachse des Gelenkes, zum Beispiel des Gelenkes J1. Der Rotationsbetriebsbereich des Gelenkes J1 ist 360°. Gemäß 3 ist der Rotationsbetriebsbereich unterteilt in „n“ kleine Bereiche J11 bis J1n mit regelmäßigen Intervallen in Abhängigkeit vom Winkel um das Gelenk J1. Ähnlich, aber nicht dargestellt, erfolgt die Aufteilung in „n“ kleine Bereiche für die anderen Gelenke J2 bis J6.
-
Bei der Darstellung gemäß 2 werden die Gelenke J2 bis J6 jeweils in kleine Bereiche J21 J61 unterteilt, während das Gelenk J1 in kleine Bereiche J11 bis J1n unterteilt ist. In 2 ist für jede Kombination irgendeines der kleinen Bereiche J11 bis J1n des Gelenkes J1 und irgendeines ersten kleinen Bereiches J21 bis J61 der Gelenke J2 bis J6 ein Kraftkorrekturwert gesetzt. Wie 2 zeigt, werden Kraftkorrekturwerte ΔFX, ΔFY und ΔFZ für die X-Richtung gesetzt und entsprechend für die Y-Richtung und die Z-Richtung.
-
Der jeweilige Kraftkorrekturwert wird gewonnen durch Subtraktion einer internen Kraft, wie durch die interne Kraftschätzeinheit 11 geschätzt, von einem Ausgang des Kraftsensors 103 in einem Zustand, in dem der Roboterarm 101 nicht in Kontakt ist mit dem externen Umfeld. Insbesondere wird der Roboter 1 so betrieben, dass er eine Stellung hat, in welcher die Gelenke J1 bis J6 des Roboters 1 sich in den kleinen Bereichen entsprechend 2 befinden. Dann hat der Roboterarm 101 keinen Kontakt mit dem externen Umfeld.
-
Befindet sich der Roboter in einer solchen Stellung, werden die Ausgänge SFX, SFY und SFZ des Kraftsensors
103 in X-Richtung, Y-Richtung bzw. Z-Richtung ausgelesen. Sodann werden entsprechend den Gleichungen (1) bis (3) Kraftkorrekturwerte ΔFX, ΔFY und ΔFZ berechnet durch Subtraktion interner Kräfte RFX, RFY und RFZ, wie von der internen Kraftschätzeinheit
11 abgeschätzt, von den Ausgängen SFX, SFY bzw. SFZ des Kraftsensors
103.
-
Die so berechneten Kraftkorrekturwerte korrigieren eine Kraft, die erzeugt wird durch Zug an der Leitung 109, die am Roboterarm 101 befestigt ist, wenn sich die Stellung des Roboterarms 101 ändert.
-
Bei der in
2 gezeigten Kraftkorrekturwerttabelle sind die Gelenke
J2 bis
J6 in ihren ersten kleinen Bereichen
J21 bis
J61 fixiert, während dem Gelenk
J1 die kleinen Bereiche
J11 bis
J1n zugeordnet sind. Sodann wird in einem Zustand, in dem die Gelenke
J2 bis
J6 unterteilt sind in zweite kleine Bereiche
J22 bis
J62, der jeweilige Kraftkorrekturbetrag in ähnlicher Weise ermittelt. Durch Wiederholung dieses Betriebs wird eine Kraftkorrekturwerttabelle erzeugt derart, dass alle Kombinationen von kleinen Bereichen der Gelenke
J1 bis
J6 enthalten sind (vgl. die nachfolgende Gleichung 4). Die Kraftkorrekturwerte können durch eine gemeinsames Interpolationsverfahren berechnet werden.
-
Der Rotationsbetriebsbereich ist nicht notwendigerweise in regelmäßige Intervalle zu unterteilen. Beispielsweise kann ein kleiner Bereich eingestellt werden als regelmäßiges Intervall pro kleinem Winkel in einem Bereich des Rotationsbetriebsbereiches, wo sich der Kraftkorrekturbetrag stark ändert, während ein kleiner Bereich eingestellt werden kann als regelmäßiges Intervall pro großem Winkel in einem Bereich des Rotationsbetriebsbereiches, wo die Änderung des Kraftkorrekturbetrages klein ist. Auf diese Weise kann die Speicherkapazität der Speichereinheit 12 geschont werden und gleichwohl der weiter unten noch näher erläuterte Korrektureffekt erreicht werden.
-
Ein Element, welches nur einen kleinen Einfluss auf den Kraftkorrekturbetrag hat, kann von der Kraftkorrekturbetragstabelle entsprechend 1 ausgeschlossen werden. Ist beispielsweise offensichtlich, dass Stellungen der Gelenke J4 bis J6 nur einen geringen Einfluss auf den Kraftkorrekturwert haben, können Einstellungen für schmale Bereiche der Gelenke J4 bis J6 weggelassen werden. Auch hierdurch wird die Speicherkapazität der Speichereinheit 12 geschont und gleichwohl werden die Korrektureffekte erreicht.
-
Die Kraftkorrekturwertbestimmungseinheit 13 bestimmt Kraftkorrekturwerte ΔFX, ΔFY und ΔFZ für jede vorgegebene Steuerperiode, in welcher der Roboter 1 arbeitet. Insbesondere gewinnt die Kraftkorrekturwertbestimmungseinheit 13 Winkel um die Gelenke J1 bis J6, die vom Rotationswinkeldetektor detektiert werden, und bestimmt Kraftkorrekturwerte ΔFX, ΔFY und ΔFZ entsprechend den Winkeln unter Verwendung der Kraftkorrekturwerttabelle in der Speichereinheit 12.
-
Wie
1 zeigt, berechnet die Kontaktkraftberechnungseinheit
15 Kontaktkräfte CFX, CFY und CFZ durch Subtraktion der Kraftkorrekturwerte ΔFX, ΔFY und ΔFZ und interner Kräfte RFX, RFY und RFZ von den Ausgängen SFX, SFY und SFZ des Kraftsensors
103.
-
Eine Stoppbefehlseinheit 16 der Robotersteuervorrichtung 10 vergleicht die Größen der Kontaktkräfte CFX, CFY und CFZ mit Bezugswerten und wenn die Kontaktkraft größer ist als der Bezugswert, wird ein Stoppbefehl für den Roboter 1 erzeugt für die Betriebsbefehlserzeugungseinheit 18. Die Betriebsbefehlserzeugungseinheit 18 liefert den Stoppbefehl an den Roboter 1, um diesen zu stoppen.
-
Die Stoppbefehlseinheit 16 kann einen Stoppbefehl für den gesamten Roboter erzeugen wenn alle Kontaktkräfte CFX, CFY und CFZ größer sind als ein Bezugswert; andererseits kann die Stoppbefehlseinheit 16 auch einen Stoppbefehl für den gesamten Roboter erzeugen wenn zumindest eine der Kontaktkräfte CFX, CFY und CFZ größer ist als ein Bezugswert. In weiterer Abwandlung kann die Stoppbefehlseinheit 16 auch dann, wenn zumindest eine der Kontaktkräfte, zum Beispiel die Kontaktkraft CFX, größer ist als ein Bezugswert, einen Stoppbefehl nur bezüglich dieser Richtung erzeugen. Unterschiedliche Bezugswerte können eingestellt werden für die X-Richtung, die Y-Richtung und die Z-Richtung. Ein Stoppbefehl kann erzeugt werden wenn die Größe einer Kraft, die zusammengesetzt ist aus den Kontaktkräften dieser Richtungen, größer ist als ein Bezugswert.
-
Befindet sich der Roboterarm 101 bei Betrieb des Roboters 1 nicht in Kontakt mit dem externen Umfeld, werden ein Kraftkorrekturbetrag und eine interne Kraft von dem Ausgang des Kraftsensors 103 subtrahiert, um eine Kontaktkraft zu erhalten, die null ist. Deshalb ist die Kontaktkraft nicht größer als der Bezugswert und die Betriebsbefehlserzeugungseinheit 18 setzt die Sendung von Betriebsbefehlswerten an den Roboter 1 entsprechend der Ablaufeinstelleinheit 17 fort.
-
Hat der Roboterarm 101 aber Kontakt mit dem externen Umfeld, wie beispielsweise einem Objekt in der Umgebung oder einem Arbeiter, werden ein Kraftkorrekturbetrag und eine interne Kraft vom Ausgang des Kraftsensors 103 subtrahiert, um eine Kontaktkraft zu erhalten, die nicht null ist. Ist die Kontaktkraft größer als der Bezugswert, wird ein Stoppsignal von der Stoppbefehlseinheit 16 ausgegeben und damit wird der Roboter 1 gestoppt. Auf diese Weise kann der Roboter 1 in sicherer Weise betrieben werden.
-
Wie oben erläutert ist, wird bei der vorliegenden Erfindung eine Kontaktkraft berechnet durch Subtraktion einer internen Kraft, die durch eine interne Kraftabschätzeinheit 11 abgeschätzt ist, und eines Kraftkorrekturbetrages, der bestimmt ist durch die Kraftkorrekturbetragbestimmungseinheit 13, von einem laufenden Ausgang des Kraftsensors 103. Ein Kraftkorrekturbetrag wird vorab bestimmt durch Subtraktion einer internen Kraft von dem Ausgang des Kraftsensors 103 in einem Zustand, in dem der Roboterarm 101 nicht in Kontakt mit dem externen Umfeld ist. Der Kraftkorrekturbetrag wird für jede Kombination von der Gelenke J1 bis J6 des Roboters 1 eingestellt. Auf diese Weise kann mit der Erfindung auch in Fällen, in denen eine Kraft erzeugt wird durch Zug an einem Leitungsbündel 109 oder dergleichen, welches am Roboterarm 101 befestigt ist, ein Kontakt mit dem externen Umfeld mit hoher Genauigkeit detektiert werden, ohne dass solche Kräfte die Detektion verfälschen.
-
VORTEILE DER ERFINDUNG
-
Gemäß der ersten Merkmalskombination wird ein Kraftkorrekturbetrag ermittelt durch Subtraktion einer durch eine interne Kraftabschätzeinheit abgeschätzten internen Kraft von einem Kraft-Ausgangssignal eines Kraftsensors in einem Zustand, in dem ein Roboterarm nicht mit dem externen Umfang in Kontakt ist („kollidiert“). Ein solcher Kraftkorrekturbetrag korrigiert durch Zug an einem Leitungsbündel oder einer Leitung erzeugte Kräfte, die am Roboterarm angebracht sind, bei Wechsel der Stellung des Roboterarmes. Dementsprechend kann auch dann, wenn eine Kraft durch Zug an der Leitung oder dem Leitungsbündel erzeugt wird, ein Kontakt mit dem externen Umfeld mit hoher Zuverlässigkeit und Genauigkeit detektiert werden, ohne dass die Zugkräfte die Detektion verfälschen.
-
Gemäß der zweiten Merkmalskombination wird der Roboterarm gestoppt wenn eine Kontaktkraft bei Kontakt des Roboterarmes mit dem externen Umfeld größer ist als ein vorgegebener Wert. Dies erhöht die Sicherheit beim Betrieb des Roboters.
-
Oben wurde die Erfindung anhand typischer Ausführungsbeispiele erläutert, jedoch versteht die Fachperson, dass Abwandlungen, Weglassungen und Hinzufügungen ohne Weiteres möglich sind, ohne den Bereich der Erfindung zu verlassen.