Verfahren zum Betreiben eines Roboters , zugehöriger Roboter mit einer Vibrationsvorrichtung und Roboterarbeitsplatz Method for operating a robot, associated robot with a vibration device and robot workstation
Die Erfindung betrifft ein Verfahren zum Betreiben eines Roboters, der einen Roboterarm mit mehreren Gliedern, die Glieder verbindenden Gelenken und die Gelenke bewegenden Antrieben, sowie eine zum Bewegen des Roboterarms ausgebildet Steu¬ erungsvorrichtung aufweist, die eingerichtet ist, während ei¬ nes manuell geführten Bewegens des Roboterarms die Gelenke des Roboterarms durch Ansteuern der Antriebe in Abhängigkeit von auf ein oder mehrere der Glieder manuell aufgebrachten Kräften zu verstellen. Die Erfindung betrifft außerdem einen Roboter zur Durchführung des Verfahren, der insbesondere eine Vibrationsvorrichtung aufweist und einen zugehörigen Roboterarbeitsplatz . The invention relates to a method for operating a robot, which has a robot arm with a plurality of links, the links connecting joints and the joints moving drives, and a trained for moving the robot arm STEU ¬ tion device, which is set up during ei ¬ nes manually guided moving the robot arm to adjust the joints of the robot arm by driving the drives in response to manually applied to one or more of the members forces. The invention also relates to a robot for carrying out the method, which in particular has a vibration device and an associated robot workstation.
Roboter im Allgemeinen sind Handhabungsmaschinen, die zur selbsttätigen Handhabung von Objekten mit zweckdienlichen Werkzeugen ausgerüstet und in mehreren Bewegungsachsen insbesondere hinsichtlich Orientierung, Position und Arbeitsablauf programmierbar sind. Roboter weisen üblicherweise einen Roboterarm mit mehreren Gliedern und programmierbare Steuerungen (Steuerungsvorrichtungen) auf, die während eines Automatikbe¬ triebs die Bewegungsabläufe des Roboterarms automatisch steu¬ ern bzw. regeln. Die Antriebe sind z.B. elektrische Antriebe und die Glieder sind insbesondere relativ zueinander bezüg¬ lich Achsen drehbar gelagert. Robots in general are handling machines that are equipped for the automatic handling of objects with appropriate tools and are programmable in several axes of motion, in particular with regard to orientation, position and workflow. Robots usually have a robot arm with a plurality of members, and programmable logic controllers (control means), which the motion sequences of the robotic arm automatically or regulate steu ¬ ren during a Automatikbe ¬ drive. The drives are, for example, electric drives and the links are in particular rotatably mounted relative to each other bezüg ¬ lich axes.
Insbesondere steuert im Automatikbetrieb die Steuerungsvor¬ richtung den Roboterarm derart an, dass das am Roboterarm befestigte Werkzeug automatisch entlang einer vorgegebenen Bahn bewegt wird. Dazu wird der Roboter bzw. dessen Steuerungsvorrichtung geeignet programmiert.
Die Aufgabe der vorliegenden Erfindung ist es, ein verbessertes Verfahren zum Programmieren und/oder zum Betreiben eines Roboters an einem Roboterarbeitsplatz anzugeben. Die Aufgabe der Erfindung wird gelöst durch ein Verfahren zum Betreiben eines Roboters an einem Roboterarbeitsplatz, wobei der Roboter einen Roboterarm mit mehreren Gliedern, die Glieder verbindenden Gelenken und die Gelenke bewegenden Antrieben, sowie eine zum Bewegen des Roboterarms ausgebildet Steu- erungsvorrichtung aufweist, die eingerichtet ist, während ei¬ nes manuell geführten Bewegens des Roboterarms die Gelenke des Roboterarms durch Ansteuern der Antriebe in Abhängigkeit von auf ein oder mehrere der Glieder manuell aufgebrachten Kräften zu verstellen, aufweisend folgende Verfahrensschrit- te : In particular, in the automatic mode, the control device controls the robot arm in such a way that the tool fastened to the robot arm is automatically moved along a predetermined path. For this purpose, the robot or its control device is suitably programmed. The object of the present invention is to provide an improved method for programming and / or operating a robot at a robot workstation. The object of the invention is achieved by a method for operating a robot at a robot workstation, wherein the robot has a robot arm with a plurality of links, the links connecting joints and the drives moving joints, as well as a control device which is designed to move the robot arm , while egg ¬ nes manually guided moving the robot arm to adjust the joints of the robot arm by driving the actuators in response to one or more of the links manually applied forces, comprising th following method steps:
— Vorgeben einer zu überwachenden Zustandsart des Roboterarbeitsplatzes oder des Roboters, Predetermining a state of the robot workstation or robot to be monitored,
— Überwachen eines der Zustandsart entsprechenden Zu- Standsparameters des Roboterarbeitsplatzes oder des Robo¬ ters, - monitoring one of the feed of condition corresponding status parameter of the robot job or the Robo ¬ ters,
— Vorgeben mindestens eines Grenzwertes für den überwachten Zustandsparameter des Roboterarbeitsplatzes oder des Robo¬ ters, — manuell geführtes Bewegen des Roboterarms durch manuelles Aufbringen von Kräften auf ein oder mehrere der Glieder, um die Gelenke des Roboterarms zu verstellen, - predetermining at least one threshold value for the monitored state parameter of the robot job or the Robo ¬ ters, - moving the robot arm manually run by manually applying forces to one or more of the links in order to adjust the joints of the robot arm,
— Erzeugen einer Vibration an dem Roboterarm, angesteuert durch die Steuerungsvorrichtung, während des manuell ge- führten Bewegens, wenn der überwachte Zustandsparameter den vorgegebenen mindestens einen Grenzwert erreicht.
Es können erfindungsgemäß ein oder mehrere Zustandsarten überwacht werden. Jede einzelne Zustandsart kann ein oder mehrere Zustandsparameter aufweisen. Jeder Zustandsparameter kann ein oder mehrere Grenzwerte aufweisen. Generating a vibration on the robot arm, controlled by the control device, during the manually guided movement when the monitored state parameter reaches the predetermined at least one limit value. One or more types of state can be monitored according to the invention. Each individual state type may have one or more state parameters. Each state parameter may have one or more limits.
Der Roboterarm kann beispielsweise ein Gestell und ein rela¬ tiv zum Gestell mittels eines Gelenks drehbar gelagertes Ka¬ russell umfassen, an dem eine Schwinge mittels eines anderen Gelenks schwenkbar gelagert ist. An der Schwinge kann dabei ihrerseits ein Armausleger mittels eines weiteren Gelenks schwenkbar gelagert sein. Der Armausleger trägt dabei eine Roboterhand, wobei insoweit der Armausleger und/oder die Ro¬ boterhand mehrere weitere Gelenke aufweisen können. Ein meh¬ rere über Gelenke verbundene Glieder aufweisende Roboterarm kann als ein Knickarmroboter mit mehreren seriell nacheinander angeordneten Gliedern und Gelenken konfiguriert sein, insbesondere kann der Roboterarm als ein Sechsachs- Knickarmroboter oder als ein Siebensachs-Knickarmroboter ausgebildet sein. The robot arm may, for example, a frame and a rela ¬ tive to the frame by means of a joint rotatably mounted Ka ¬ Russell include, on which a rocker is pivotally mounted by means of another joint. In turn, an arm jib can be pivotally mounted on the rocker by means of a further joint. The cantilever arm carries it, a robot hand, wherein the extent of the cantilever arm and / or the Ro ¬ boterhand may have more additional joints. A meh ¬ eral via joints having links connected to the robot arm may be configured as an articulated robot having a plurality of serially arranged one after the limbs and joints, in particular the robot arm may be designed as a six-axis jointed-arm robots or as a seven-Sachs articulated robot.
Roboterarme mit zugehörigen Robotersteuerungen, wie insbesondere Industrieroboter können aber auch so genannte Leichtbauroboter sein, die sich zunächst von üblichen Industrierobotern dadurch unterscheiden, dass sie eine für die Mensch- Maschine-Kollaboration günstige Baugröße aufweisen und dabei eine zu ihrem Eigengewicht relativ hohe Tragfähigkeit aufwei¬ sen. Daneben können insbesondere Leichtbauroboter auf einfache Weise kraft- und/oder momentgeregelt, beispielsweise in einer Nachgiebigkeitsregelung betrieben werden, statt positi- onsgeregelt betrieben zu werden, was beispielsweise ein manu¬ elles Verstellen der Pose des Roboterarms vereinfacht. Außer¬ dem kann dadurch eine sichere Mensch-Maschine-Kollaboration erreicht werden, da beispielsweise unbeabsichtigte Kollisio¬ nen des Manipulatorarmes mit Personen entweder verhindert o- der zumindest derart abgeschwächt werden können, so dass den
Personen kein Schaden entsteht. Ein solcher Roboterarm bzw. ein solcher Leichtbauroboter kann mehr als sechs Freiheitsgrade, insbesondere sieben Freiheitsgrade aufweisen, so dass insoweit ein überbestimmtes System geschaffen wird, wodurch derselbe Punkt im Raum in gleicher Orientierung durch mehrere verschiedene Posen des Manipulatorarms erreicht werden kann. Als Regelungskonzepte kann beispielsweise eine indirekte Kraftregelung durch Modellierung des Leichtbauroboters als mechanischer Widerstand (Impedanz) oder eine direkte Kraftre- gelung verwendet werden. However, robotic arms with associated robot controllers, such as in particular industrial robots may also be so-called lightweight robot, which differ first from conventional industrial robots in that they a have favorable size for the human-machine collaboration and thereby a relatively high to their own weight bearing capacity aufwei ¬ sen , In addition, lightweight robot may, in particular non-positively in a simple manner and / or torque control are operated, for example, in a compliance control, instead of being operated positive onsgeregelt, which facilitates, for example, a manu ¬ elles adjustment of the pose of the robot arm. Except the ¬ can be achieved in a reliable man-machine collaboration, as for example unintended Kollisio ¬ NEN of the manipulator arm with o- persons either prevents the can be alleviated at least in such a way so that the Persons no harm. Such a robot arm or such a lightweight robot can have more than six degrees of freedom, in particular seven degrees of freedom, so that in this respect an over-determined system is created, whereby the same point in space in the same orientation can be achieved by several different poses of the manipulator. As control concepts, for example, an indirect force control by modeling the lightweight robot as a mechanical resistance (impedance) or a direct power regulation can be used.
In einer Steifigkeitsregelung oder Nachgiebigkeitsregelung des Roboters können Kräfte, Momente, Posen und Richtungen ge¬ lernt werden. In diesen Ausführungen kann das Ansteuern der Antriebe des Roboters mittels Impedanzregelung oder Admit- tanzregelung erfolgen. Die Steuerungsvorrichtung kann insoweit eingerichtet sein, die Nachgiebigkeits- oder Steifig- keitsregelung des Roboters mittels Impedanzregelung oder Ad- mittanzregelung zu erzeugen. In a stiffness control or compliance control of the robot forces, moments, Poznan and directions can be ge ¬ learn. In these embodiments, the drives of the robot can be controlled by means of impedance regulation or admittance control. To that extent, the control device can be set up to generate the compliance or stiffness control of the robot by means of impedance regulation or adjunct regulation.
Unter einem manuell geführten Bewegen wird insbesondere ein manuelles Führen verstanden, bei dem eine Person den Roboterarm mit einer oder beiden Händen anfasst und durch Ziehen und/oder Drücken an seiner Struktur manuell bewegt, insbeson- dere dessen Gelenke verstellt. Der Roboterarm umfasst dazu insbesondere mit der Steuerungsvorrichtung verbundene Kraft- und/oder Momentsensoren, welche die Kräfte bzw. Drehmomente an den einzelnen Gelenken ermitteln. Dadurch ist es möglich, dass während des manuell geführten Bewegens, insbesondere Führens des Roboterarms die Steuerungsvorrichtung zum Bewegen des Roboters vorgesehene Antriebe derart ansteuert, dass die¬ se Antriebe die durch das manuell geführte Bewegen, insbeson¬ dere Führen, entstehenden Bewegungen der einzelnen Glieder ausführen oder zumindest unterstützen. Der Roboter ist in diesem Fall vorzugsweise kraft- und/oder momentgeregelt. Ein
manuelles Bewegen im Allgemeinen kann im weitesten Sinne aber auch das Bewegen einzelner oder mehrerer Gelenke des Roboterarms durch Betätigen von Tasten und/oder Schaltern an einem Handbediengerät sein, wodurch Bewegungssteuerbefehle über die manuelle Eingabe am Handbediengerät an die Steuerungsvorrich¬ tung übermittelt und durch diese unmittelbar ausgeführt wer¬ den . A manually guided movement is understood in particular as a manual guiding, in which a person touches the robot arm with one or both hands and moves it manually by pulling and / or pressing on its structure, in particular by adjusting its joints. For this purpose, the robot arm comprises in particular force and / or torque sensors connected to the control device, which determine the forces or torques at the individual joints. Thereby, it is possible that provided for moving the robot during the manually guided moving, in particular guiding the robot arm, the control device drives controls such that the ¬ se drives perform, insbeson ¬ particular by the manually guided movement guiding, resulting movements of the individual members or at least support. The robot is in this case preferably force and / or torque controlled. One Manual movement in general can be in the broadest sense, but also the movement of one or more joints of the robot arm by pressing keys and / or switches on a handheld device, whereby motion control commands via manual input to the handheld to the Steuerungsvorrich ¬ tion transmitted and executed by them directly who ¬ the.
In der Mensch-Roboter-Kollaboration ist jedoch die Funktiona- lität des Handführens eine Schlüsseleigenschaft eines Robo¬ tersystems. Hierbei berührt der Benutzer den Roboterarm di¬ rekt an seiner Struktur, d.h. an einem oder mehrerer seiner Gliedern oder an einer oder mehrerer an ihm befestigter Komponenten, wie Werkzeuge, und übt eine Kraft auf ihn aus. Ab- hängig von der Kraftstärke und ihrer Richtung gibt der Roboterarm typischerweise, d.h. in einem kraft-/ momentgeregelten Betrieb, der Kraft nach und bewegt sich in die gewünschte Richtung. Auf diese Weise kann der Benutzer auf intuitive Weise den Roboterarm in eine neue Pose überführen. In the human-robot collaboration but the functionalization is formality of the hand performing a key property of a Robo ¬ tersystems. Here, the user touches the robot arm di ¬ rectly to its structure, that is, on one or more of its members or to one or more attached to him components, such as tools, and exerts a force on it. Depending on the force strength and its direction, the robot arm typically gives way to force, ie in a force / torque-controlled mode, and moves in the desired direction. In this way, the user can intuitively transform the robotic arm into a new pose.
Typische Anwendung findet das Handführen beim sogenannten „Teachen durch Vormachen", bei dem der Bediener den Roboter von Hand in die gewünschten Positionen führt, während die Ko¬ ordinaten angefahrener Bahnpunkte im Roboterprogramm gespei- chert werden. Das Handführen ist auch relevant bei sogenannten geführten Bewegungen. Bei diesen greift der Bediener typischerweise in die Nähe des Flansches und lässt sich bei der Ausführung einer Bewegung vom Roboter aktiv unterstützen, indem der Roboter beim Bewegen beispielsweise das Überschreiten einer virtuellen Wand verhindert, so dass ein am Flansch montiertes Werkzeug keinen Schaden anrichtet oder mit ihm eine höhere Genauigkeit erzielt werden kann. Typical application finds the hand performing the so-called "teaching by Demonstration", in which the operator guides the robot hand in the desired positions, during the co ¬ ordinates struck path points in the robot program gespei- chert be. The hand guiding is also relevant in so-called guided movements In these, the operator typically grips close to the flange and is actively assisted in making a movement by the robot, for example by preventing the robot from crossing a virtual wall when moving, so that a tool mounted on the flange does no damage or with it he can be achieved a higher accuracy.
Beim Handführen kann es beispielhaft zu folgenden Zuständen des Robotersystems kommen:
Ein immer präsentes Problem bei einem Handführen eines Roboterarms sind seine mechanischen Achsgrenzen. So passiert es leicht, dass ein Bediener den Roboter versucht außerhalb sei- ner Reichweite zu bewegen oder in eine Position, wo mindes¬ tens eine Achse, d.h. ein Gelenk des Roboterarms, auf An¬ schlag gerät und nicht weiter drehen kann oder dass der Robo¬ terarm aufgrund seines Aufbaus mit sich selbst kollidieren kann, d.h. zwei Glieder des Roboterarms aneinanderstoßen. Wird das Handführen algorithmisch im kartesischen Raum berechnet, um beispielsweise die Orientierung eines Werkzeugs beizubehalten, kann es zudem passieren, dass der Bediener den Roboterarm in eine Singularität bewegt, also in eine Positi¬ on, in der es rechnerisch keine eindeutige Lösung für die ge- wünschte Stellung des Roboterarms gibt. During manual guiding, the following states of the robot system can occur by way of example: An ever-present problem with a hand-guided robotic arm is its mechanical axis limits. Thus, it is easy for an operator to the robot tries to move outside its ner range or in a position where Minim ¬ least one axis, ie, a joint of the robot arm appliance in ¬ impact and can rotate no further, or that the robo may collide with itself due to its construction ¬ terarm, that is, two members of the robot arm abut. If the manual guiding algorithmically in Cartesian space to maintain, for example, the orientation of a tool, it can happen also that the operator moves the robot arm in a singularity, that is, in a positi ¬ on where it mathematically no unique solution for the overall Wanted position of robotic arm there.
Ein drittes Problem stellen Hindernisräume dar, in die der Roboterarm nicht bewegt werden darf, um zum Beispiel Kollisi¬ onen zu verhindern. Bei der Nutzung der Technik des manuell geführten Bewegens kann es zu Kollisionen mit virtuellen Objekten, z.B. einer virtuellen Wand, eines virtuellen Kegels, kommen . A third problem is posed obstacle spaces into which the robot must not be moved to prevent Kollisi ¬ ons for example. When using the technique of manually guided moving, it can lead to collisions with virtual objects, such as a virtual wall, a virtual cone.
Bei einem Handführen kann es außerdem bestimmte einzelne Po- sition oder Lagen geben, die man speziell erreichen oder vermeiden will. In the case of a hand guide, there may also be certain individual positions or positions that you want to specifically reach or avoid.
Um dem zu begegnen, können die genannten Fälle beispielhaft mit folgenden Lösungsstrategien verhindert werden: In order to counter this, the cases mentioned can be prevented by way of example with the following solution strategies:
- der Roboter hält vollständig an, - the robot stops completely,
- einzelne Achsen, d.h. Gelenke des Roboterarms werden in ei¬ ne Richtung blockiert, - individual axes, that is, the joints of the robot arm to be blocked in egg ¬ ne direction,
- einzelne kartesische Richtungen der Roboterbewegung werden blockiert oder
- vor Erreichen einer solchen Stellung wird bspw. über eine Impedanzregelung eine stärker werdende Kraft aufgebaut, die den Benutzer von ihr quasi wegdrückt oder im positiven Fall auch dort hinzieht. - single Cartesian directions of robot movement are blocked or - Before reaching such a position, for example, an increasing force is built up via an impedance control, which virtually pushes the user away from her or, in the positive case, draws there as well.
Problematisch ist hierbei, dass es dem Benutzer oft nicht möglich ist, bei einem manuellen Handführen zu unterscheiden, wenn eine der Lösungsstrategien zum Einsatz kommt und/oder welcher Zustand diese Lösungsstrategie ausgelöst hat. So kann es sehr hilfreich sein für den Benutzer, beispielsweise unterscheiden zu können, dass er noch nicht an der Grenze der Reichweite des Roboterarms angekommen ist, sondern sich statt dessen beispielsweise auf eine Singularität zu bewegt. In ei¬ nem anderen beispielhaften Fall kann es hilfreich sein, dass der Benutzer erkennt, dass er nicht etwa deshalb einen Gegen¬ druck spürt, weil er sich an einer virtuellen Wand befindet, sondern weil er eine Achsgrenze des Roboters erreicht hat. Dann könnte er beispielsweise durch Umpositionieren der Gelenke des Roboterarms, insbesondere im Falle einer redundan- ten Kinematik im Nullraum, die angestrebte Position doch noch erreichen . The problem here is that it is often not possible for the user to differentiate in a manual guide when one of the solution strategies is used and / or which state has triggered this solution strategy. Thus, it can be very helpful for the user to be able to distinguish, for example, that he has not arrived at the limit of the range of the robot arm, but instead, for example, moves to a singularity. In ei ¬ nem another example case, it may be helpful that the user realizes that he does not feel so about a counter ¬ pressure because it is at a virtual wall, but because he has reached an axis limit of the robot. Then, for example, by repositioning the joints of the robot arm, in particular in the case of a redundant kinematics in zero space, it could still achieve the desired position.
Die Erfindung befasst sich demgemäß auch damit, dem Benutzer eine Hilfestellung beim Handführen zu bieten, die ihm bei der Programmieren seiner Applikation erlaubt zwischen den Systemzuständen zu unterscheiden, um leichter sein Handeln darauf einzustellen . Accordingly, the invention is also concerned with providing the user with assistance in guiding the hand, which allows him to distinguish between the system states during the programming of his application in order to adjust his actions to it more easily.
Es ist deshalb erfindungsgemäß vorgesehen, dass die Steue- rungsvorrichtung ausgebildet und/oder eingerichtet ist, die folgenden Verfahrensschritte auszuführen: It is therefore provided according to the invention that the control device is designed and / or set up to carry out the following method steps:
— Vorgeben einer zu überwachenden Zustandsart des Roboterarbeitsplatzes oder des Roboters,
— Überwachen eines der Zustandsart entsprechenden Zu- standsparameters des Roboterarbeitsplatzes oder des Robo¬ ters, Predetermining a state of the robot workstation or robot to be monitored, - monitoring one of the parameters of condition corresponding supply stand of the robot job or the Robo ¬ ters,
— Vorgeben mindestens eines Grenzwertes für den überwachten Zustandsparameter des Roboterarbeitsplatzes oder des Robo¬ ters, - predetermining at least one threshold value for the monitored state parameter of the robot job or the Robo ¬ ters,
— manuell geführtes Bewegen des Roboterarms durch manuelles Aufbringen von Kräften auf ein oder mehrere der Glieder, um die Gelenke des Roboterarms zu verstellen, — Erzeugen einer Vibration an dem Roboterarm, angesteuert durch die Steuerungsvorrichtung, während des manuell geführten Bewegens, wenn der überwachte Zustandsparameter den vorgegebenen mindestens einen Grenzwert erreicht. Mit anderen Worten wird die Aufgabe dadurch gelöst, dass am Roboterarm Vibrationen erzeugt werden, die einen bestimmten Zustand des Roboters kennzeichnen und die der handführende Benutzer mit seinen Händen spüren oder auch bloß hören kann. Indem mindestens ein Grenzwert vorgeben wird, kann ein einziger oder es können mehrere, insbesondere verschiedene Grenz¬ werte vorgegeben und überwacht werden. Zwei Grenzwerte können beispielsweise auch durch einen oberen Grenzwert und einen unteren Grenzwert desselben Zustandsparameters gebildet wer- den. Manually moving the robotic arm by manually applying forces to one or more of the links to displace the joints of the robotic arm; generating vibration on the robotic arm actuated by the control device during manual movement when the monitored conditional parameter causes the robotic arm to move predetermined at least one limit reached. In other words, the object is achieved in that vibrations are generated on the robot arm, which identify a particular state of the robot and the hand-held user can feel with his hands or just hear. By a limit value is preset as a minimum can be several, particularly different limit values are predetermined and monitored ¬ a single or can. For example, two limit values can also be formed by an upper limit value and a lower limit value of the same state parameter.
Diese Vibrationen können binärer Natur sein, d.h. lediglich an- und ausgeschaltet werden. Alternativ kann zusätzlich durch unterschiedliche Abspielmuster das Unterscheiden von diversen Systemzuständen möglich werden. Beispielsweise kann eine Pausenverkürzung zwischen mehreren Vibrationsfolgen bis hin zu einer Pausenverkürzung auf null, bei der dann eine Dauervibration erfolgt, eine Annäherung eines bestimmten Gliedes des Roboterarms an ein Hindernis ankündigt werden.
Alternativ oder ergänzend können die Vibrationen in ihrer Frequenz, ihrer Amplitude und/oder in Form unterschiedlicher Abspielmuster veränderlich sein. Dies kann geschehen analog zu Tönen, Tonfolgen, und/oder Melodien. These vibrations can be binary in nature, ie only turned on and off. Alternatively, distinguishing between different system states can additionally be made possible by different playback patterns. For example, a pause shortening between a plurality of vibration sequences up to a pause reduction to zero, at which a continuous vibration then takes place, an approach of a specific member of the robot arm to an obstacle can be announced. Alternatively or additionally, the vibrations may be variable in their frequency, their amplitude and / or in the form of different playing patterns. This can be done analogously to tones, tone sequences, and / or melodies.
Eine Veränderung der Vibrationen kann so die Unterscheidung zwischen verschiedenen Zuständen erlauben oder auch die Nähe zum Erreichen eines bestimmten Zustands vorankündigen. Bei- spielsweise kann die Frequenz der Vibration immer höher werden, je näher man den Roboterarm manuell an ein Hindernis heranführt . A change in the vibrations can thus allow the distinction between different states or even predict the proximity to reach a certain state. For example, the closer the robot arm is manually approached to an obstacle, the higher the frequency of the vibration becomes.
Das Erzeugen einer Vibration an dem Roboterarm, angesteuert durch die Steuerungsvorrichtung, während des manuell geführten Bewegens, wenn der überwachte Zustandsparameter den vorgegebenen Grenzwert erreicht, kann entweder unmittelbar durch eine Roboter-Steuerungsvorrichtung erfolgen, welche die Antriebe des Roboters ansteuert oder durch eine separate Über- wachungs- Steuerungsvorrichtung erfolgen, welche getrennt von der Roboter-Steuerungsvorrichtung eingerichtet ist. The generation of a vibration on the robot arm, controlled by the control device, during the manually guided movement when the monitored state parameter reaches the predetermined limit value can either be effected directly by a robot control device which controls the drives of the robot or by a separate override. Wake-up control device, which is set up separately from the robot control device.
In einer ersten Ausführungsform kann ein Vibrieren erzeugt werden durch kleine in der Richtung wechselnde Bewegungen mindestens eines Gelenks des Roboterarms. Ein solches Vibrie¬ ren kann durch entsprechendes Ansteuern der bereits vorhande¬ nen Antriebe der Gelenke des Roboters durch die Steuerungs¬ vorrichtung erzeugt werden. In einer zweiten Ausführungsform kann ein Vibrieren erzeugt werden durch ein oder mehrere separate Vibrationsvorrichtungen, wie beispielsweise elektrische Unwuchtmotoren, die in¬ nerhalb des Roboterarms und/oder außen an der Struktur, d.h. außen an einem oder mehrerer der Glieder des Roboterarms an-
gebracht sind und die von der Steuerungsvorrichtung betreibbar sind. In a first embodiment, vibration may be generated by small, alternating directional movements of at least one joint of the robotic arm. Such Vibrie ¬ ren can be generated by appropriately driving the already vorhande ¬ NEN drives of the joints of the robot by the control ¬ device. In a second embodiment, a vibration can be generated by one or more separate vibration devices, such as electric unbalance motors, within ¬ inside the robot arm and / or outside of the structure, ie outside on one or more of the members of the robot arm are brought and which are operable by the control device.
Unabhängig der Erzeugungsart des Vibrierens, mittels der An- triebe der Gelenke des Roboterarms oder mittels der separaten Unwuchtmotoren, können verschiedene Umsetzungsarten von Vibrationen angewendet werden. Zwei spezielle Umsetzungsarten, nämlich eine achsspezifische Vibration und eine kartesische Vibration sind im Folgenden näher beschrieben. Regardless of the type of vibration produced, by means of the drives of the joints of the robot arm or by means of the separate unbalance motors, different types of vibration can be used. Two specific types of implementation, namely an axis-specific vibration and a Cartesian vibration are described in more detail below.
Bei einer achsspezifischen Vibration kann vorgesehen sein, dass beispielsweise bei der Zustandsart einer nahenden Ach¬ sengrenze, d.h. Gelenkstellungsgrenze nur die betroffene Ach¬ se bzw. nur der Antrieb des betroffenen Gelenks oder ein am betroffenen Gelenk angeordneter Unwuchtmotor vibriert. DerIn an axis-specific vibration can be provided that will vibrate for example in the of condition of an approaching Ach ¬ scorching imit, ie joint position limit only the affected Ach ¬ se or only the drive of the affected joint or arranged on the affected joint unbalance motor. Of the
Benutzer bekommt also dadurch eine Rückmeldung, welche Achse bzw. welches Gelenk genau betroffen ist. Thus, the user receives feedback about which axis or joint is affected.
Vorteilhaft könnte die Achse, d.h. dasjenige Gelenke bzw. ei- nes oder beide der dieses Gelenk bildenden Glieder des Roboterarms vibrieren, welches der Hand des Benutzers am nächsten liegt. Dies kann typischerweise die Achse bzw. das Gelenk sein, das dem Flansch des Roboterarms am nächsten ist, wenn der Benutzer den Roboterarm beispielsweise an dem Flansch o- der an einem mit dem Flansch verbundenen Werkzeug oder Führungsgriff manuell führt. Advantageously, the axis, i. that one or both or both of the articulating members of the robotic arm vibrate closest to the user's hand. This may typically be the axis closest to the flange of the robot arm when the user manually guides the robot arm to, for example, the flange or a tool or guide handle connected to the flange.
Bei der Umsetzungsart der achsspezifischen Vibration ist eine Besonderheit, dass das geführte Werkzeug bzw. der geführte Flansch in Abhängigkeit von der Pose des Roboterarms unter¬ schiedlich von der Vibration betroffen sein kann. In the implementation of the axis-specific vibration is a peculiarity that the guided tool or the guided flange depending on the pose of the robot arm may be differently affected ¬ by the vibration.
Beispielsweise kann bei einer Ansteuerung mittels einer achs¬ spezifischen Impedanz-Regelung diese Impedanz-Regelung einen optionalen zusätzlichen Momenten-Eingang aufweisen, der dazu
genutzt werden kann, eine passende Sinus-Vibration mit zusätzlichen Drehmomenten zu erzeugen, die bei der Ansteuerung des Gelenks hinzu addiert werden kann. Bei einer kartesischen Vibration wird das Vibrieren hingegen beispielsweise durch eine Transformation im kartesischen Raum definiert. Die Richtung des Vibrierens wird hierdurch vorge¬ geben und kann in Relation zu einem beliebigen Bezugskoordinatensystem stehen, wie beispielsweise dem TCP (Tool-Center- Point ) -Koordinatensystem, einem Werkzeug-Koordinatensystem, einem Roboter-Basiskoordinatensystemen oder einem Welt- Koordinatensystemen . For example, in a driving means of an axle ¬ specific impedance control this impedance control can have an optional additional torque input to can be used to generate a matching sine vibration with additional torques, which can be added when driving the joint. In a Cartesian vibration, however, the vibration is defined, for example, by a transformation in Cartesian space. The direction of vibration is thereby give pre ¬ and may be in relation to any reference coordinate system, such as the TCP (tool center point) coordinate system, a tool coordinate system, a robot-base coordinate system or a global coordinate systems.
In einer Ausführungsvariante kann die Vibration in Relation zum geführten Werkzeug oder Flansch ausgeführt werden, wenn der Bediener diese während des Handführens in der Hand hält. So ist die Auswirkung der Vibration direkt am Ort des Empfängers spürbar. In einer anderen Ausführungsvariante können die Antriebe der Gelenke des Roboterarms oder die separaten Unwuchtmotoren derart angesteuert sein, dass eine Vibration nur in der zur Stoßrichtung des Werkzeugs senkrechten Ebene vibriert wird, so dass keine Vibration, d.h. keine Bewegung in Stoßrichtung stattfindet. In one embodiment, the vibration may be carried out in relation to the guided tool or flange when the operator holds them in hand during hand-guiding. Thus the effect of the vibration is felt directly at the place of the receiver. In another embodiment variant, the drives of the joints of the robot arm or the separate unbalance motors may be controlled such that a vibration is vibrated only in the plane perpendicular to the impact direction of the tool, so that no vibration, i. no movement in the direction of impact takes place.
In einer weiteren Ausführungsvariante kann die Richtung des Vibrierens auf eine einzelne kartesische Richtung im kartesi¬ schen Raum in Relation zu einem vorbestimmten Bezugskoordina- tensystem beschränkt sein. In a further embodiment variant, the direction of vibration can be limited in relation to a predetermined tensystem Bezugskoordina- to a single Cartesian direction kartesi ¬ c region.
Die Vibration kann beispielsweise in Relation zur n-ten Achse des Roboterarms ausgeführt werden, mit entsprechender Ein¬ schränkung in den Freiheitsgraden für die Vibrationsbewegung,
wenn die Hand des Bedieners sich in ihrer unmittelbaren Nähe befindet . The vibration can for example be carried out in relation to the n-th axis of the robot arm, with the corresponding ¬ A limitation in the degrees of freedom for the vibratory motion, when the operator's hand is in the immediate vicinity.
In einer weiteren Ausführungsvariante kann die Auswirkung der Vibration auf das geführte Werkzeug bzw. den Flansch unabhängig von der Stellung des Roboters sein. Dabei soll das Vib¬ rieren selbst keine Singularität oder mechanische Grenze des Roboters verletzen. Bei der Nutzung einer kartesischen Impedanz-Regelung kann diese Impedanz-Regelung einen optionalen zusätzlichen Kraft- Momenten-Eingang aufweisen, der dazu genutzt werden kann, eine passende Sinus- Vibration mit kartesischen Kräften und Drehmomenten zu erzeugen. In a further embodiment variant, the effect of the vibration on the guided tool or the flange can be independent of the position of the robot. The aim is itself violate any singularity or mechanical limit of the robot, the Vib ¬ Center. When using Cartesian impedance control, this impedance control may have an optional additional force-torque input that can be used to generate a proper sine vibration with Cartesian forces and torques.
In einer dritten Umsetzungsart kann ein Vibrieren erzeugt werden durch eine sogenannte Nullraum-Vibration. Das Vibrieren geschieht hierbei in einem Nullraum des Roboterarms. Bei¬ spielhafte Nullräume wären ein Nullraum, der die Orientierung des Werkzeugs stabil hält, ein Nullraum, der die Orientierung des Werkzeugs um einen Pivotpunkt in Art einer Kugelbewegung rotiert, ein Nullraum, der die Lage des Werkzeugs um einen Pivotpunkt bzw. in der Medizinrobotik ein Trokarpunkt rotiert, ein Nullraum, der in mindestens einer kartesischen Achse die Position des Werkzeugs stabil hält, z.B. die Ein¬ führtiefe hält, oder ein Nullraum, der die Lage von Flansch bzw. Werkzeug, beispielsweise in einer sogenannten Ellbogenbewegung, konstant hält. In a third mode of implementation, vibration may be generated by a so-called null-space vibration. The vibration happens here in a null space of the robot arm. In ¬ playable null spaces would be a null space that holds the orientation of the tool stable, a null space that rotates the orientation of the tool about a pivot point in the manner of a ball motion, a null space, the position of the tool around a pivot point or in the medical robotics Trocar point rotates, a null space that keeps the position of the tool stable in at least one Cartesian axis, eg the Ein ¬ leads depth holds, or a zero space that holds the position of flange or tool, for example, in a so-called elbow movement, constant.
Vorteilhaft kann diese Umsetzungsart eingesetzt werden, wenn in einer Applikation ein Nullraum definiert werden kann, der nicht-sicherheitskritische Bewegungen umfasst. Als Ausfüh¬ rungsbeispiel aus der Medizinrobotik kann das Werkzeug bei- spielsweise ein Laparoskop sein, das durch die Bauchdecke ei-
nes Patienten geführt wird. Nutzt man die Umsetzungsart des Pivotpunktes, ist sichergestellt, dass an der Bauchdecke, die durch das Vibrieren nicht bewegt d.h. nicht verletzt werden darf, ein Vibrieren das Laparoskop im Bereich der Bauchdecke nicht bewegt. Advantageously, this type of implementation can be used if a zero space can be defined in an application that includes non-safety-critical movements. When exporting ¬ approximately example of the medical robotic the tool can play examples, be a laparoscope, the egg through the abdominal wall a patient is guided. If one uses the implementation of the pivot point, it is ensured that on the abdominal wall, which must not be moved by the vibration, ie not injured, a vibration does not move the laparoscope in the area of the abdominal wall.
Der Fall eines Nullraums, der die Orientierung des Werkzeugs stabil hält, ist besonders vorteilhaft, da die Pose des Werk¬ zeugs von der Vibration unbetroffen bleibt. Ungewollte Mani- pulationen können vermieden werden. Vorteilhaft kann dieseThe case of a null space, which holds the orientation of the tool stable, is particularly advantageous, as the pose of the work ¬ zeugs from the vibration remains unaffected. Unintentional manipulations can be avoided. This can be beneficial
Umsetzungsart eingesetzt werden, wenn das Handführen auf ei¬ nen Nullraum eingeschränkt ist. In diesem Fall findet vor¬ teilhaft das Vibrieren nur in den Richtungen statt, die im Nullraum liegen. Sicherheitskritische Randbedingungen werden nicht verletzt. Implementation be used when the hand is limited to ei ¬ NEN Zero space. In this case, the vibration finds ¬ geous place only in the directions that are in the null space. Safety-critical boundary conditions are not violated.
Beim Nullraum-Vibrieren sind allerdings an der Vibration oft mehrere Achsen beteiligt. Außerdem geschieht die Vibration nicht unbedingt in der Nähe der Stelle, an der die Hand des Benutzers sich befindet. In zero-space vibration, however, several axes are often involved in the vibration. In addition, the vibration does not necessarily occur near the place where the user's hand is.
Ein weiteres Ausführungsbeispiel in der Medizinrobotik ist das Handführen mit einem medizinischen Werkzeug, wie beispielsweise einem laparoskopisches Instrument, welches in ei- nen Trokar eingeführt sein kann, bei der auch eine Gestenerkennung existieren kann, die Bewegungen entlang verschiedener Nullräume verursacht. Statt erkannter Gesten könnte hier eine passende Sinus-Vibration mit zusätzlichen Drehmomenten angelegt werden. Dabei kann auch ein Erkennen einer Geste mittels Vibration signalisiert werden. A further exemplary embodiment in medical robotics is the guiding of the hand with a medical tool, such as a laparoscopic instrument, which can be introduced into a trocar, in which gesture recognition can also occur, which causes movements along different null spaces. Instead of recognized gestures, a suitable sine vibration with additional torques could be created here. In this case, a recognition of a gesture can be signaled by vibration.
Das Vibrieren kann neben den bereits beschriebenen Zustands- arten auch genutzt werden, um allgemeine Ereignisse zu signa¬ lisieren, die nicht in Abhängigkeit stehen zur Pose des Robo- terarms oder dessen Bewegungsräumen.
Solche Ereignisse können beispielsweise Zustandsübergänge in einer Roboter-Applikation, Signale einer Sensorik, bspw. The vibration may modes in addition to the above-described status are also used public events to signa ¬ taping that are not available depending on the pose of the robot terarms or its movement spaces. Such events can be, for example, state transitions in a robot application, signals from a sensor system, eg.
„Kraftschwelle überschritten", „Temperatur wieder normal", signalisierte Fehlersituationen, bspw. „Tracking-Marker nicht sichtbar", „Handführung aktuell unsicher.", Zeitangaben bei zeitkritischen Aufgaben, bspw. „30 Sekunden sind verstrichen", oder ein bloßes Geben eines Lebenszeichens sein, dass der Roboter aktiv, bspw. „alle fünf Sekunden eine Vibration", sein. "Force threshold exceeded", "temperature back to normal", signaled error situations, eg "tracking marker not visible", "manual guidance currently uncertain.", Time information in time-critical tasks, eg. "30 seconds have passed", or a mere giving a Sign of life that the robot is active, for example, "every five seconds a vibration", be.
Das Vibrieren kann generell auch für Roboter-Applikationen verwendet werden, bei denen das Handführen nicht aktiv ist, d.h. bei denen der Benutzer seine Hand gar nicht an dem Robo- terarm hält, da die Vibrationen auch hörbar sein können. Vibrations can generally also be used for robotic applications in which hand guidance is not active, i. where the user does not hold his hand on the robot arm, as the vibrations can also be heard.
In einem weiteren Ausführungsbeispiel der Vermeidung von Singularitäten, kann eine Vibration eingesetzt werden, um die Nähe der Achsstellung zu einer Singularität zu beschreiben. Dazu können allgemein bekannte Verfahren verwendet werden, die eine „Schlechtheit" der Jacobi-Matrix für kleine Verände¬ rungen pro Achswinkel berechnen. Ab einem bestimmten Mindestwert für den so berechneten Gradienten kann eine schwache Vibration einsetzen, die mit steigendem Gradienten immer stärker wird. In a further embodiment of the avoidance of singularities, a vibration can be used to describe the proximity of the axis position to a singularity. These well-known methods can be used to calculate a "badness" of the Jacobi matrix for small Variegated ¬ stakes per axle angle. At a certain minimum value for the thus calculated gradient can use a weak vibration that is getting stronger with increasing gradient.
Unter bestimmten Umständen kann es beispielsweise bei medizinischen Applikationen auch sicherheitskritisch sein, dass man zwischen den genannten Zuständen unterscheiden können muss. In einem solchen Ausführungsbeispiel platziert beispielsweise ein Arzt ein am Flansch befestigtes chirurgisches Werkzeug mit Hilfe des Handführens an eine zu manipulierende Stelle. Um ihm dabei zu helfen, existiert ein virtueller Kegel, des¬ sen Spitze auf der zu manipulierenden Stelle liegt. Der Kegel wird mit Hilfe eines Tracking-Systems immer an derselben ana-
tomischen Stelle gehalten, selbst wenn der Patient sich bewegt. Der Arzt kann das Werkzeug nun nur innerhalb des virtu¬ ellen Kegels bewegen, so dass er je näher er der anatomischen Stelle kommt, immer genauer auf sie hingeführt wird. Ob er die virtuelle Kegelspitze erreicht hat, stellt der Arzt ins¬ besondere dadurch fest, dass der Roboter nun jede handgeführte Bewegungen näher an die anatomische Stelle verhindert. Gerät der Arzt allerdings in die Nähe einer Singularität oder einer Achsgrenze, während er sich der Kegelspitze annähert, dann könnte er die Tatsache, dass der Roboter sich nicht wei¬ terbewegt fehlinterpretieren. Er könnte glauben, er habe die Kegelspitze bereits erreicht und würde den nachfolgenden Ar¬ beitsschritt evtl. an der falschen Stelle beginnen und dazu noch an einer für den Roboter ungünstigen Pose. In diesem Ausführungsbeispiel könnte eine Vibration dem Arzt auf unter¬ schiedliche Weise helfen, die Situation richtig zu erkennen. So könnte man beispielsweise eine Vibration auslösen, wenn eine Achsgrenze oder Singularität der Grund der Einschränkung der Roboterbewegung ist, oder eine Vibration ausgeben, deren Frequenz oder Amplitude sich verändert abhängig von der Distanz zur Kegelspitze, oder eine Vibration auslösen, wenn man die Kegelspitze erreicht hat. In certain circumstances, for example, in medical applications it may also be safety-critical that one must be able to distinguish between the states mentioned. For example, in one such embodiment, a physician places a surgical tool attached to the flange to a location to be manipulated by means of hand-guiding. To help him, there is a virtual cone of ¬ sen peak on the manipulative stop is. The cone is always connected to the same ana even if the patient is moving. The doctor can only move within the virtu ¬ ellen cone so that it he comes closer the anatomical site, the tool now, is getting more precisely guided to on them. Whether it has reached the virtual cone tip, the physician into ¬ special thereby firmly that the robot now prevents any hand-guided movements closer to the anatomic site. Device the doctor, however, close to a singularity or an axis limit, as it approaches the apex, then he could be the fact that the robot is not misinterpret wei ¬ terbewegt. He might think that he had already reached the apex and would the following Ar ¬ beitsschritt possibly start at the wrong place and plus to an unfavorable for the robot pose. In this embodiment, a vibration could help the doctor to under ¬ schiedliche way to recognize the situation. For example, one could trigger a vibration if an axis boundary or singularity is the cause of the robot motion restriction, or output a vibration whose frequency or amplitude changes depending on the distance to the apex of the cone, or cause a vibration when it reaches the apex of the cone ,
Im Folgenden werden spezielle Ausführungsvarianten beschrie- ben, welche einzeln oder in beliebigen Kombinationen miteinander vorgesehen sein können. In the following, special embodiments are described, which can be provided individually or in any combination with each other.
Eine zu überwachende Zustandsart, Zustandsparameter oder Grenzwert, welche vorgegeben wird, kann insbesondere sein: A state type, state parameter or limit value to be monitored, which is specified, may be in particular:
- eine Achsgrenze wenigstens eines der Gelenke des Roboters, an axle limit of at least one of the joints of the robot,
- eine zu vermeidende Singularität-Gelenksstellung des Roboters,
- eine Kollisionsstellung des Roboters mit roboterexternen Gegenständen des Roboterarbeitsplatzes, a avoidable singularity joint position of the robot, a collision position of the robot with robot-external objects of the robot workstation,
- eine Eigenkollisionsstellung wenigstens eines Gliedes des Roboters mit einem anderen Glied des Roboters, an intrinsic collision position of at least one member of the robot with another member of the robot,
- eine Kollisionsstellung des Roboters mit virtuellen Objekten oder Grenzen des Roboterarbeitsplatzes, und/oder - ein Erreichen oder ein Vermeiden einer bestimmten vorgegebenen Position und/oder Orientierung eines ausgewählten Bezugspunktes, a collision position of the robot with virtual objects or boundaries of the robot workstation, and / or an achievement or avoidance of a certain predetermined position and / or orientation of a selected reference point,
- ein sonstiges, im Rahmen eines Anwenderprogramms benötig- tes, am Roboter oder am Roboterarbeitsplatz auftretendes Ereignis . - another event required by a user program that occurs at the robot or robot workstation.
Ist die vorgegebene Zustandsart eine Achsgrenze wenigstens eines der Gelenke des Roboterarms, so kann der Zustandspara- meter eine Winkelstellung des jeweiligen Gelenks des Roboterarms sein. Als Grenzwerte können dann ein Minimalwinkel und ein Maximalwinkel vorgeben sein. Der Zustandsparameter, d.h. hier also die momentane Gelenkwinkelstellung des betrachteten Gelenks des Roboterarms wird überwacht und laufend mit den vorgegebenen Grenzwerten, z.B. 0 Grad und 360 Grad oder -180 Grad und +180 Grad als Grenzwinkelstellungen des betrachteten Gelenks, verglichen. Wenn die überwachte momentane Gelenkwin¬ kelstellung einen der vorgegebenen Grenzwerte erreicht löst die Steuervorrichtung eine Vibration am Roboterarm aus, vor- zugsweise genau an demjenigen Gelenk, an dem der vorgegebene Grenzwert erreicht wird. Eine Vibration kann ausgelöst wer¬ den, wenn die momentane Gelenkwinkelstellung genau dem vorgegebenen Grenzwert entspricht, d.h. genau erst dann wird eine Vibration ausgelöst, wenn das Gelenk seine Anschlagsgrenze erreicht hat. Alternativ oder ergänzend kann bereits eine
Vibration ausgelöst werden, wenn die überwachte momentane Ge¬ lenkwinkelstellung knapp vor einem Erreichen des vorgegebenen Grenzwertes steht, d.h. das Gelenk sich knapp vor der An¬ schlagsgrenze befindet. Hier kann auch beispielsweise durch allmähliches Ändern der Frequenz oder Amplitude oder der Wiederholrate bzw. der Pausenlängen der Vibration, eine anschwellende Vibration durch die Steuervorrichtung veranlasst werden, während sich das Gelenk der Anschlagsgrenze annähert. Es kann auch beispielsweise eine abschwellende Vibration durch die Steuervorrichtung veranlasst werden, während sich das Gelenk von seiner Anschlagsgrenze entfernt. If the predetermined state type is an axle limit of at least one of the joints of the robot arm, then the state parameter can be an angular position of the respective joint of the robot arm. As limit values, a minimum angle and a maximum angle can then be specified. The state parameter, ie in this case the instantaneous joint angle position of the considered joint of the robot arm, is monitored and continuously compared with the predetermined limit values, eg 0 degrees and 360 degrees or -180 degrees and +180 degrees as limit angle positions of the considered joint. If the monitored momentary Gelenkwin ¬ kelstellung reaches one of the predetermined limits, the control device triggers a vibration on the robot arm, preferably exactly on that joint, where the predetermined limit is reached. A vibration can be triggered ¬ the, if the current joint angle position corresponds exactly to the predetermined limit, ie only then a vibration is triggered when the joint has reached its limit stop. Alternatively or additionally, a Vibration be triggered when the monitored instantaneous Ge ¬ steering angle position is just before reaching the predetermined limit, ie the joint is just before the An ¬ impact limit. Here, too, for example, by gradually changing the frequency or amplitude or the repetition rate or the pause lengths of the vibration, an increasing vibration can be caused by the control device while the joint approaches the abutment limit. For example, a decaying vibration may also be caused by the control device while the joint is moving away from its limit of impact.
Ist die vorgegebene Zustandsart eine zu vermeidende Singula- ritäts-Gelenksstellung wenigstens eines der Gelenke des Robo- terarms, so kann der Zustandsparameter eine Abweichung der Orientierungen zweier betrachteter Gelenkachsen voneinander sein und/oder ein Abstand zweier parallel zueinander ausgerichteter betrachteter Gelenkachsen sein. Eine Singularität wäre dann erreicht, wenn beide Abweichungen, d.h. beide Zu- Standsparameter zu Null werden. Dann wären die Gelenkachsen beider betrachteter Gelenke deckungsgleich bzw. identisch. Als Grenzwerte kann dann ein solcher Nullwert vorgeben sein. Der Zustandsparameter, d.h. hier also die momentane Abweichung der betrachteten Gelenkachsen voneinander, wird über- wacht und laufend mit dem vorgegebenen Grenzwert von Null verglichen. Spätestens, wenn die überwachten betrachteten Gelenke den Grenzwert von Null fast erreicht haben, löst die Steuervorrichtung eine Vibration am Roboterarm aus, vorzugsweise genau an denjenigen Gelenken, welche die Gefahr einer Singularitäts-Gelenksstellung verursacht haben. Ergänzend kann bereits eine Vibration ausgelöst werden, wenn die überwachten Gelenke knapp vor einem Erreichen einer Singularitäts-Gelenksstellung stehen.
Ist die vorgegebene Zustandsart eine Kollisionsstellung des Roboters mit roboterexternen Gegenständen, so kann der Zu- standsparameter beispielsweise ein Abstand zwischen der Kontur des Roboterarms und der Kontur des roboterexternen Gegen- Standes sein. Als Grenzwert kann dann ein wenigstens einzu¬ haltender Minimalabstand vorgeben sein. Der Zustandsparame- ter, d.h. hier also der momentane Abstand zwischen der Kontur des Roboterarms und der Kontur des roboterexternen Gegenstandes wird überwacht und laufend mit dem vorgegebenen Grenzwert verglichen. Wenn der überwachte momentane Abstand den vorge¬ gebenen Grenzwert des Minimalabstands erreicht, löst die Steuervorrichtung eine Vibration am Roboterarm aus, vorzugsweise genau an demjenigen Gelenk oder denjenigen Gelenken, die dem roboterexternen Gegenstand am nächsten stehen. Alter- nativ oder ergänzend kann bereits eine Vibration ausgelöst werden, wenn der überwachte momentane Abstand stetig kleiner wird. Hier kann auch beispielsweise durch allmähliches Ändern der Frequenz oder Amplitude oder der Wiederholrate bzw. der Pausenlängen der Vibration, eine anschwellende Vibration durch die Steuervorrichtung veranlasst werden, während sich der Roboterarm dem roboterexternen Gegenstand annähert. Es kann auch beispielsweise eine abschwellende Vibration durch die Steuervorrichtung veranlasst werden, während sich der Roboterarm von dem roboterexternen Gegenstand wieder entfernt. If the predetermined type of state is a singularity joint position to be avoided for at least one of the joints of the robot arm, then the state parameter may be a deviation of the orientations of two considered joint axes from one another and / or a distance between two considered joint axes oriented parallel to one another. A singularity would be achieved if both deviations, ie both additional parameters, become zero. Then the joint axes of both considered joints would be congruent or identical. As limit values, such a zero value can then be specified. The state parameter, ie in this case the instantaneous deviation of the considered joint axes from one another, is monitored and continuously compared with the predetermined limit value of zero. At the latest, when the monitored joints under consideration have almost reached the limit of zero, the control device triggers a vibration on the robotic arm, preferably precisely at those joints which have caused the risk of a singularity joint position. In addition, a vibration can already be triggered if the monitored joints are just before reaching a singularity joint position. If the predetermined state type is a collision position of the robot with objects external to the robot, the state parameter can be, for example, a distance between the contour of the robot arm and the contour of the robot external object. As a limit can then be given at least einzu ¬ to keep minimum distance. The state parameter, ie in this case the instantaneous distance between the contour of the robot arm and the contour of the robot-external object, is monitored and continuously compared with the predetermined limit value. When the monitored current reaches the pre-distance ¬ given limit value of the minimum distance, the control device triggers a vibration on the robot arm, preferably exactly at that joint or those joints that are the robot external object closest. As an alternative or in addition, a vibration can already be triggered if the monitored instantaneous distance becomes steadily smaller. Here, too, for example, by gradually changing the frequency or amplitude or the repetition rate or intervals of the vibration, swelling vibration can be caused by the control device as the robot arm approaches the robot external object. For example, a decaying vibration may also be caused by the control device while the robot arm moves away from the robot-external object.
Ist die vorgegebene Zustandsart eine Eigenkollisionsstellung wenigstens eines Gliedes des Roboters mit einem anderen Glied des Roboters, so kann der Zustandsparameter beispielsweise ein Abstand jeweils zweier Glieder des Roboterarms voneinan- der sein. Als Grenzwert kann dann ein wenigstens einzuhaltender Minimalabstand vorgeben sein. Der Zustandsparameter, d.h. hier also der momentane Abstand jeweils zweier Glieder des Roboterarms voneinander, wird überwacht und laufend mit dem vorgegebenen Grenzwert verglichen. Wenn der überwachte momen- tane Abstand den vorgegebenen Grenzwert des Minimalabstands
erreicht, löst die Steuervorrichtung eine Vibration am Roboterarm aus, vorzugsweise genau an demjenigen Gelenk oder denjenigen Gelenken, die zu nah aneinander stehen. Alternativ oder ergänzend kann bereits eine Vibration ausgelöst werden, wenn der überwachte momentane Abstand stetig kleiner wird. Hier kann auch beispielsweise durch allmähliches Ändern der Frequenz oder Amplitude oder der Wiederholrate bzw. der Pau¬ senlängen der Vibration, eine anschwellende Vibration durch die Steuervorrichtung veranlasst werden, während sich zwei Glieder des Roboterarms aneinander annähern. Es kann auch beispielsweise eine abschwellende Vibration durch die Steuer¬ vorrichtung veranlasst werden, während sich zwei Glieder des Roboterarms wieder voneinander entfernen. Eine entsprechende Überwachung einer Kollisionsstellung des Roboters mit virtuellen Objekten oder Grenzen kann in einer analogen Weise erfolgen wie bei der Zustandsart einer Kolli¬ sionsstellung des Roboters mit roboterexternen Gegenständen. Ganz allgemein können die beschriebenen Strategien angewandt werden, wenn ein Erreichen oder ein Vermeiden einer bestimmten vorgegebenen Position und/oder Orientierung eines ausgewählten Bezugspunktes überwacht werden soll. Ein solcher aus¬ gewählter Bezugspunkt kann beispielsweise der Ursprung eines TCP (Tool-Center-Point) -Koordinatensystems, eines Werkzeug- Koordinatensystems, eines Roboter-Basiskoordinatensystems o- der eines Welt-Koordinatensystems sein. If the predetermined type of state is an intrinsic collision position of at least one member of the robot with another member of the robot, the condition parameter can be, for example, a distance between two members of the robot arm. As a limit value can then be specified at least minimum distance to be observed. The state parameter, ie in this case the instantaneous distance between two members of the robot arm from each other, is monitored and continuously compared with the predetermined limit value. If the monitored instantaneous distance exceeds the specified limit value of the minimum distance reached, the control device triggers a vibration on the robot arm, preferably exactly on that joint or those joints that are too close to each other. Alternatively or additionally, a vibration can already be triggered if the monitored instantaneous distance becomes steadily smaller. Here, too, for example, by gradually changing the frequency or amplitude or the repetition rate or the Pau ¬ senlängen the vibration, an increasing vibration caused by the control device, while two members of the robot arm approach each other. It can also be caused, for example, a decaying vibration by the control ¬ device, while two members of the robot arm again away from each other. A corresponding monitoring of a collision position of the robot with virtual objects or boundaries can be done in an analogous manner as in the state of a Kolli ¬ sion position of the robot with robotic objects. More generally, the strategies described may be used to monitor the achievement or avoidance of a particular given position and / or orientation of a selected reference point. Such ¬ from selected reference point, for example, the origin of a TCP (tool center point) coordinate system, a tool coordinate system, a robot-base coordinate system o- be the one world coordinate system.
Die vorgegebene Zustandsart kann aber auch ein sonstiges, beispielsweise im Rahmen eines Anwenderprogramms benötigtes, auftretendes Ereignis sein. Solche Ereignisse können bei¬ spielsweise Zustandsübergänge in einer Roboter-Applikation, Signale einer Sensorik, bspw. „Kraftschwelle überschritten", „Temperatur wieder normal", signalisierte Fehlersituationen, bspw. „Tracking-Marker nicht sichtbar", „Handführung aktuell
unsicher.", Zeitangaben bei zeitkritischen Aufgaben, bspw. „30 Sekunden sind verstrichen", oder ein bloßes Geben eines Lebenszeichens sein, dass der Roboter aktiv, bspw. „alle fünf Sekunden eine Vibration", sein. However, the predefined state type can also be another event that occurs, for example, in the context of a user program. Such events may in ¬ play as state transitions in a robot application, signals of a sensor, for example. "Force threshold exceeded", "temperature back to normal," signaled error situations, for example. "Tracking markers invisible", "manual guidance currently unsafe. ", time information in time-critical tasks, for example," 30 seconds have passed ", or a mere giving of a sign of life that the robot is active, for example," a vibration every five seconds ".
Das Erzeugen einer Vibration an dem Roboterarm kann durch wiederholt reversierendes Ansteuern wenigstens eines der zum Verstellen der Gelenke des Roboterarms ausgebildeten Antriebe erfolgen. Jeder Antrieb jeden Gelenks des Roboterarms kann einen elektrischen Motor umfassen. Der elektrische Motor kann eine Motorsteuerung aufweisen. Der elektrische Motor kann über seine Motorsteuerung hinweg oder direkt von der Steuerungsvorrichtung des Roboters angesteuert werden. Die Vibra¬ tion kann erzeugt werden, indem der Rotor des betreffenden Antriebsmotors hin- und herbewegt wird. Ein solches Hin- und Herbewegen kann in einer Frequenz von beispielsweise 10 bis 100 Hertz, insbesondere ca. 50 Hertz erfolgen. Ein solches Hin- und Herbewegen kann mit einem maximalen Schwenkwinkel des Rotors von ca. 0,01 bis 1,0 Winkelgrad erfolgen. Die Vib- ration kann erzeugt werden, indem man einem von der Steuerungsvorrichtung auf den Motor des betrachteten Gelenks kommandierten Soll-Drehmoment ein insbesondere sinusförmig wie¬ derholt anschwellendes und abschwellendes Zusatz- Solldrehmoment überlagert. Ein solches dem Soll-Drehmoment überlagertes Zusatz-Solldrehmoment kann beispielsweise eine Amplitude von ca. 1 Nm bis ca. 5 Nm aufweisen. In einer spe¬ ziellen Ausführungsart kann ein Gelenk des Roboters relativ schnell mit einer gemäß dem Roboterprogramm vorgegebenen Sollgeschwindigkeit bewegt werden, wobei ein als erfindungs- gemäß reversierendes Hin- und Herbewegen dann eher einer wie¬ derholten Beschleunigung und Verlangsamung entspricht, ohne dass das betreffende Gelenk tatsächlich vorwärts und rück¬ wärts bewegt werden würde. Insoweit wir eine hin- und herge¬ hende kleinere Zusatz-Bewegungskomponente einer größeren
stets nur in eine Richtung gehende Soll-Bewegungskomponente überlagert . The generation of a vibration on the robot arm can take place by repeated reversing activation of at least one of the drives designed to adjust the joints of the robot arm. Each drive of each joint of the robotic arm may comprise an electric motor. The electric motor may include a motor controller. The electric motor can be controlled via its motor control or directly from the control device of the robot. The Vibra ¬ tion can be produced by way of the rotor of the respective drive motor is reciprocated. Such a reciprocating movement can take place at a frequency of, for example, 10 to 100 hertz, in particular about 50 hertz. Such reciprocating can be done with a maximum tilt angle of the rotor of about 0.01 to 1.0 angle degree. The VIB ration can be generated by superimposing a commanded from the control device to the motor of the considered target torque joint, in particular a sinusoidal like ¬ derholt intumescent and decongestant additional target torque. Such an additional setpoint torque superimposed on the setpoint torque may, for example, have an amplitude of approximately 1 Nm to approximately 5 Nm. In a spe ¬ essential embodiment, a joint of the robot can be moved relatively quickly with a predetermined in accordance with the robot program target speed, wherein an oscillating as Inventions according reciprocating rather then corresponds to a like ¬ derholten acceleration and deceleration, without the joint in question would actually be moved forward and back ¬ down. As far as we a back and Herge ¬ immediate smaller additional movement component of a larger always superimposed only in one direction target component of motion.
Eine Vibration ist am Handflansch des Roboterarms insbesonde- re dann besonders gut zu spüren, wenn ein solches beschriebe¬ nes, wiederholt reversierendes Ansteuern bei einem Sieben¬ achsroboterarm, insbesondere bei dem Leichtbauroboter des Ausführungsbeispiels, an den Motoren des dritten und fünften Gelenks erzeugt wird. Dabei gilt als das erste Gelenk dasje- nige Gelenk, welches der Roboterbasis am nächsten ist und als das siebte Gelenk, dasjenige Gelenk, welches dem Roboter¬ flansch am nächsten ist. A vibration is then particularly felt good on the hand flange of the robot arm, in particular, when such-described ¬ nes, repeatedly reversing drive with a seven ¬ achsroboterarm, especially at the lightweight robot of the embodiment, the motors of the third and fifth articulation is produced. In this case, the one joint, which is the robot base and the next as the seventh hinge, the one hinge, which is the robot flange ¬ the next is considered as the first joint.
Alternativ oder ergänzend zu einer Erzeugung einer Vibration an dem Roboterarm durch wiederholt reversierendes Ansteuern wenigstens eines der zum Verstellen der Gelenke des Roboterarms ausgebildeten Antriebe, kann das Erzeugen einer Vibration an dem Roboterarm durch Ansteuern von wenigstes einem Vibrationsmotor erfolgen, der innerhalb des Roboterarms angeord- net oder außen an der Struktur des Roboterarms befestigt ist. Der eine oder die mehreren Vibrationsmotoren sind also von den Antriebsmotoren der Gelenke des Roboterarms separate Vib¬ rationsvorrichtungen. Die separaten Vibrationsmotoren können unmittelbar in Nähe der Gelenke des Roboterarms angeordnet sein. Die separaten Vibrationsmotoren können jedoch auch fern der Gelenke des Roboterarms, beispielsweise in einem mittle¬ ren Abschnitt der Glieder des Roboterarms angeordnet sein. Je nach Ausführungsweise kann lediglich ein Vibrationsmotor am Roboterarm, insbesondere an einem Endglied oder Flansch des Roboterarms vorgesehen sein, es können aber auch mehrere Vibrationsmotoren an verschiedenen Gliedern oder Gelenken des Roboterarms vorgesehen sein, oder sogar an jedem Glied des Roboterarms wenigstens ein Vibrationsmotor vorgesehen sein.
Die Vibration kann, sowohl im Falle der Nutzung der Antriebsmotoren des Roboterarms als Vibrationsvorrichtung, als auch im Falle von separaten Vibrationsmotoren, dadurch erzeugt werden, dass eine oder mehrere Vibrationsschwingungen in örtlicher Nähe jeweils eines oder mehrerer der Gelenke des Roboterarms erzeugt wird. Alternatively or in addition to generating a vibration on the robot arm by repeatedly reversing driving at least one of the drives designed to adjust the joints of the robot arm, the generation of vibration on the robot arm can be accomplished by driving at least one vibration motor disposed within the robotic arm or externally attached to the structure of the robot arm. The one or more vibration motors are so rationsvorrichtungen of the drive motors of the joints of the robot arm separate Vib ¬. The separate vibration motors may be located immediately near the joints of the robotic arm. However, the separate vibration motors may also be remote from the joints of the robot arm, for example be arranged in a mittle ¬ ren portion of the members of the robot arm. Depending on the embodiment, only one vibration motor can be provided on the robot arm, in particular on an end member or flange of the robot arm, but several vibration motors can also be provided on different members or joints of the robot arm, or even at least one vibration motor can be provided on each member of the robot arm. The vibration can be generated both in the case of using the drive motors of the robot arm as a vibration device, as well as in the case of separate vibration motors, by generating one or more vibration vibrations in close proximity to one or more of the joints of the robot arm.
Die Vibration kann, sowohl im Falle der Nutzung der Antriebsmotoren des Roboterarms als Vibrationsvorrichtung, als auch im Falle von separaten Vibrationsmotoren, derart erzeugt werden, dass eine Vibrationsschwingung in den Roboterarm eingeleitet wird, welche ein Schwingen eines ausgewählten Be¬ zugspunktes am Roboterarm in einer oder zwei der drei karte- sischen Richtungen des dreidimensionalen Raumes bewirkt. The vibration can be generated both in the case of using the drive motors of the robot arm as a vibration device, as well as in the case of separate vibration motors, such that a vibration oscillation is introduced into the robot arm, which oscillates a selected Be ¬ zugspunktes on the robot arm in one or two of the three Cartesian directions of the three-dimensional space causes.
Die Vibration kann, sowohl im Falle der Nutzung der Antriebsmotoren des Roboterarms als Vibrationsvorrichtung, als auch im Falle von separaten Vibrationsmotoren, eine Vibrationsschwingung aufweisen, welche sich insbesondere hinsicht¬ lich Frequenz, Amplitude, Widerholungsrate, Pausendauer und/oder Abspielmuster kennzeichnet und insbesondere von an¬ deren Vibrationsschwingungen unterscheidet. The vibration can, both in the case of the use of the drive motors of the robot arm as a vibration device, as well as in the case of separate vibration motors, have a vibration oscillation, which in particular with regard ¬ frequency, amplitude, repetition rate, pause duration and / or playing pattern marks and in particular of ¬ whose vibration vibrations differentiates.
Generell können auch zwei oder mehrere verschiedene Zustands- arten des Roboters überwacht werden und jeder Zustandsart kann dabei eine eigene spezifische Vibrationsschwingung zuge¬ ordnet sein, welche Vibrationsschwingungen sich insbesondere durch unterschiedliche Frequenzen, Amplituden, Widerholungs- raten, Pausendauern und/oder Abspielmuster unterscheiden. Generally, two or more different status types of the robot can be monitored, and each of condition can thereby its own specific vibration oscillation be supplied ¬ arranged which vibration oscillations rates in particular by different frequencies, amplitudes, Widerholungs- differ pause durations and / or playback pattern.
Die Vibration kann eine sich in Abhängigkeit einer Annäherung oder einer Entfernung des überwachten momentanen Zustands von dem vorgegebenen Grenzwert verändernde Vibrationsschwingung aufweisen, welche sich insbesondere hinsichtlich Frequenz,
Amplitude, Widerholungsrate, Pausendauer und/oder Abspielmus¬ ter verändert. The vibration may have a vibrational vibration that varies as a function of an approaching or a distance of the monitored instantaneous state from the predefined limit value, which in particular with respect to frequency, Amplitude, repetition rate, pause duration and / or Abspielmus ¬ ter changed.
Die erfindungsgemäße Aufgabe wird neben dem beschriebenen Verfahren außerdem gelöst durch einen Roboter, insbesondere Industrieroboter, der einen Roboterarm mit mehreren Gliedern, die Glieder verbindenden Gelenken und die Gelenke bewegenden Antrieben, sowie eine zum Bewegen des Roboterarms ausgebildet Steuerungsvorrichtung aufweist, die eingerichtete ist, wäh- rend eines manuell geführten Bewegens des Roboterarms die Ge¬ lenke des Roboterarms durch Ansteuern der Antriebe in Abhän¬ gigkeit von auf ein oder mehrere der Glieder manuell aufge¬ brachten Kräften zu verstellen, wobei die Steuerungsvorrichtung ausgebildet und/oder eingerichtet ist, ein Verfahren, wie beschrieben, durchzuführen. In addition to the described method, the object according to the invention is also achieved by a robot, in particular an industrial robot, which has a robot arm with a plurality of links, links connecting joints and drives moving the joints, and a control device designed to move the robot arm, which is set up. rend of a manually guided moving of the robot arm, the Ge ¬ joints of the robot arm by driving the actuators in depen ¬ dependence of one or more of the links manually set ¬ applied forces to adjust, wherein the control device is designed and / or adapted is a method as described to perform.
Der Roboter kann wenigstens einen Sensor aufweisen, der ausgebildet ist, eine oder mehrere der folgenden Zustandsarten, Zustandsparameter oder Grenzwerte des Roboters zu erfassen und/oder zu überwachen: The robot may include at least one sensor configured to detect and / or monitor one or more of the following types of states, state parameters or limits of the robot:
- eine Achsgrenze wenigstens eines der Gelenke des Roboters, an axle limit of at least one of the joints of the robot,
- eine zu vermeidende Singularität-Gelenksstellung des Robo- ters, a avoidable singularity joint position of the robot,
- eine Kollisionsstellung des Roboters mit roboterexternen Gegenständen des Roboterarbeitsplatzes, - eine Eigenkollisionsstellung wenigstens eines Gliedes des Roboters mit einem anderen Glied des Roboters, a collision position of the robot with robot-external objects of the robot workstation, an intrinsic collision position of at least one member of the robot with another member of the robot,
- eine Kollisionsstellung des Roboters mit virtuellen Objekten oder Grenzen des Roboterarbeitsplatzes,
- ein Erreichen oder ein Vermeiden einer bestimmten vorgegebenen Position und/oder Orientierung eines ausgewählten Bezugspunktes, und/oder - ein sonstiges, im Rahmen eines Anwenderprogramms benötig¬ tes, am Roboter oder am Roboterarbeitsplatz auftretendes Ereignis . a collision position of the robot with virtual objects or boundaries of the robot workstation, - Achieving or avoiding a certain predetermined position and / or orientation of a selected reference point, and / or - another, in the context of an application program tätig ¬ tes occurring at the robot or at the robot workplace event.
Der Roboter kann wenigstens eine Vibrationsvorrichtung, ins- besondere einen Vibrationsmotor aufweisen, der innerhalb des Roboterarms angeordnet oder außen an der Struktur des Robo¬ terarms befestigt ist. The robot can be a vibration device at least having in particular a vibration motor which is arranged inside the robot arm or attached externally to the structure of Robo ¬ terarms.
Der Roboter kann wenigstens eine Detektorvorrichtung aufwei- sen, die ausgebildet und/oder eingerichtet ist, dasjenigeThe robot can have at least one detector device which is designed and / or set up, that one
Glied des Roboterarms oder diejenigen Glieder des Roboterarms zu identifizieren, welche während des manuell geführten Bewe¬ gens des Roboterarms manuell angefasst werden. Die Detektor¬ vorrichtung kann demgemäß ein oder mehrere Berührungssensoren oder Bewegungssensoren aufweisen. Je nach Roboteranwendung kann die Detektorvorrichtung bzw. der wenigstens eine Berührungssensor einen Näherungssensor, wie beispielsweise einen kapazitiven Sensor oder einen Wärmesensor, einen Abstandssensor, wie beispielsweise einen Ultraschallsensor, und/oder eine taktile Haut umfassen. Alternativ oder ergänzend zu ei¬ nem dieser separaten Sensorbauteile, kann die Detektorvorrichtung bzw. der wenigstens eine Berührungssensor von einem oder mehrerer der Kraft-/Momentsensoren der Gelenke des Roboterarms gebildet werden, die zur Ansteuerung des Roboterarms durch die Steuervorrichtung ausgebildet sind. Dazu kann dieTo identify member of the robot arm or those members of the robot arm, which are handled manually during the manually guided BEWE ¬ gens of the robot arm. The detector ¬ device may accordingly have one or more touch sensors or motion sensors. Depending on the robot application, the detector device or the at least one touch sensor may comprise a proximity sensor, such as a capacitive sensor or a thermal sensor, a distance sensor, such as an ultrasonic sensor, and / or a tactile skin. Alternatively, or in addition to egg ¬ nem these separate sensor components, the detection device or the at least one touch sensor of one or more of the force / torque sensors of the joints of the robot arm can be formed, which are designed for driving the robot arm by the control apparatus. This can be the
Steuervorrichtung alle an den Gelenken des Roboterarms anstehenden Gelenkskräfte und/oder Gelenksmomente erfassen und un¬ ter Einbeziehen des bekannten Robotermodells die an den Gliedern des Roboterarms anstehenden externe Kräfte mit einem dem
Fachmann an sich bekannten Berechnungsmethoden rechnerisch bestimmen . Control device detect all existing at the joints of the robot arm joint forces and / or joint moments and un ¬ including the known robot model pending on the limbs of the robot arm external forces with a the Determine professional calculation methods known per se.
Die erfindungsgemäße Aufgabe wird neben dem beschriebenen Verfahren und dem beschriebenen Roboter außerdem gelöst durch einen Roboterarbeitsplatz aufweisend einen Roboter gemäß einer oder mehrere der beschriebenen Ausführungsformen, und aufweisend wenigstens einen Sensor, der ausgebildet ist, als eine zu überwachende Zustandsart, Zustandsparameter oder Grenzwert: In addition to the described method and the described robot, the object according to the invention is also achieved by a robot workstation comprising a robot according to one or more of the described embodiments, and having at least one sensor which is designed as a state type, state parameter or limit value to be monitored:
- eine Achsgrenze wenigstens eines der Gelenke des Roboters, an axle limit of at least one of the joints of the robot,
- eine zu vermeidende Singularität-Gelenksstellung des Roboters, a avoidable singularity joint position of the robot,
- eine Kollisionsstellung des Roboters mit roboterexternen Gegenständen des Roboterarbeitsplatzes, a collision position of the robot with robot-external objects of the robot workstation,
- eine Eigenkollisionsstellung wenigstens eines Gliedes des Roboters mit einem anderen Glied des Roboters, an intrinsic collision position of at least one member of the robot with another member of the robot,
- eine Kollisionsstellung des Roboters mit virtuellen Objekten oder Grenzen des Roboterarbeitsplatzes, a collision position of the robot with virtual objects or boundaries of the robot workstation,
- ein Erreichen oder ein Vermeiden einer bestimmten vorgegebenen Position und/oder Orientierung eines ausgewählten Bezugspunktes, und/oder - reaching or avoiding a certain predetermined position and / or orientation of a selected reference point, and / or
- ein sonstiges, im Rahmen eines Anwenderprogramms benötig¬ tes, am Roboter oder am Roboterarbeitsplatz auftretendes Er- eignis, - any other, benötig ¬ tes in the context of an application program, occurring on the robot or on robot workstation ER- eignis,
zu erfassen. capture.
Der wenigstens eine Sensor kann demgemäß am Roboter, insbe¬ sondere am Roboterarm angeordnet sein. Alternativ oder ergän- zend kann wenigstens ein Sensor bzw. wenigstens ein weiterer Sensor an einer anderen Stelle, d.h. am Roboterarbeitsplatz, insbesondere getrennt vom Roboterarm am Roboterarbeitsplatz angeordnet sein. Es können durch einen solchen Sensor beispielsweise eine Raumtemperatur am Roboterarbeitsplatz über- wacht werden. Bei Erreichen, Überschreiten oder Unterschrei-
ten eines vorgegebenen Temperaturwertes kann dann eine Vibra¬ tion am Roboterarm ausgelöst werden. Ganz allgemein kann der wenigstens eine Sensor, ob am Roboterarm angeordnet oder se¬ parat vom Roboterarm angeordnet, also innerhalb des Roboter- arbeitsplatzes angeordnet, jeglichen Zustand innerhalb des Roboterarbeitsplatzes überwachen. Andere Arten von Sensoren können beispielsweise Bewegungssensoren sein, Temperatursensoren und/oder medizinische Sensoren, wie Atmungssensoren, Pulssensoren, Blutdrucksensoren, und/oder EKG-Sensoren oder ähnliche Sensoren. The at least one sensor can accordingly be ¬ arranged on the robot, and in particular sondere on the robot arm. Alternatively or additionally, at least one sensor or at least one further sensor can be arranged at a different location, ie at the robot workstation, in particular separately from the robot arm at the robot workstation. By way of example, a room temperature at the robot workstation can be monitored by means of such a sensor. Upon reaching, exceeding or undershooting th a Vibra ¬ tion can then be triggered on the robot arm th of a predetermined temperature value. In general, the at least one sensor, whether arranged on the robot arm or arranged se ¬ ready by the robot arm, so arranged within the robot workstation, monitor any state within the robot workstation. Other types of sensors may be, for example, motion sensors, temperature sensors and / or medical sensors, such as respiration sensors, pulse sensors, blood pressure sensors, and / or ECG sensors or similar sensors.
Konkrete Ausführungsbeispiele der Erfindung sind in der nach¬ folgenden Beschreibung unter Bezugnahme auf die beigefügten Figuren näher erläutert. Konkrete Merkmale dieser Ausfüh- rungsbeispiele können unabhängig davon, in welchem konkreten Zusammenhang sie erwähnt sind, gegebenenfalls auch einzeln oder in Kombination betrachtet, allgemeine Merkmale der Er¬ findung darstellen. Es zeigen: Specific embodiments of the invention are explained in greater detail by ¬ following description with reference to the accompanying figures. Specific features of these exemplary embodiments can regardless of where the actual context they are mentioned, where appropriate, considered individually or in combination, are general features of the He ¬ making. Show it:
Fig. 1 eine perspektivische Darstellung eines Roboters in der Bauart eines Industrieroboters mit einer schema¬ tisch dargestellten Robotersteuerung und einem Robo- terarm, 1 is a perspective view of a robot in the design of an industrial robot with a schematically ¬ shown robot controller and a robot terarm,
Fig. 2 eine perspektivische Darstellung eines Roboters in der Bauart eines Leichtbauroboters mit einer schema¬ tisch dargestellten Robotersteuerung und einem Robo- terarm in einer ersten Pose, Fig. 2 is a perspective view of a robot of the type of a lightweight robot with a robot controller shown schematically ¬ table and a robot terarm in a first pose,
Fig. 3 eine perspektivische Darstellung des Leichtbaurobo¬ ters gemäß Fig. 2 in einer durch manuelles Führen verstellten zweiten Pose, und
Fig. 4 eine schematische Darstellung eines Anwendungsbei¬ spiels aus der Medizinrobotik. Fig. 3 is a perspective view of the Leichtbaurobo ¬ ters of FIG. 2 in an adjusted by manually guiding the second pose, and Fig. 4 is a schematic representation of a Anwendungsbei ¬ game from the medical robotics.
Die Fig. 1 zeigt einen Roboter 1 in Bauart eines Industriero¬ boters la, der einen Roboterarm 2 und eine Steuerungsvorrichtung 10 aufweist. Der Roboterarm 2 umfasst im Falle des vor¬ liegenden Ausführungsbeispiels mehrere, nacheinander angeord¬ nete und mittels Gelenke Jl bis J6 drehbar miteinander ver- bundene Glieder LI bis L7. Fig. 1 shows a robot 1 in type of Industriero ¬ boters la having a robot arm 2, and a control device 10. The robot arm 2 comprises, in the case of the embodiment ahead ¬ several angeord ¬ items in succession and by means of joints Jl to J6 rotatably comparable with each other Thematic link LI to L7.
Der in Fig. 1 dargestellte Industrieroboter la weist demgemäß eine Robotersteuerung, d.h. die Steuerungsvorrichtung 10 auf, die ausgebildet ist, ein Roboterprogramm auszuführen, sowie weist der Industrieroboter la den Roboterarm 2 mit den mehreren Gliedern L1-L7 auf, die über die Gelenke J1-J6 verbunden sind, die zum automatischen gegeneinander Verstellen gemäß dem Roboterprogramm ausgebildet sind, wobei eines der mehre¬ ren Glieder L1-L7 ein Endglied (L7) des Roboterarms 2 bildet, das einen Roboterflansch 8 aufweist. The industrial robot 1 a shown in FIG. 1 accordingly has a robot controller, ie the controller 10, which is designed to execute a robot program, and the industrial robot 1 a has the robot arm 2 with the several members L 1 -L 7, which are connected via the joints J 1. J6 are connected, which are designed for automatic adjustment against each other according to the robot program, wherein one of the several ¬ ren members L1-L7 forms an end member (L7) of the robot arm 2, which has a robot flange 8.
Die Steuerungsvorrichtung 10 des Industrieroboters la ist ausgebildet bzw. eingerichtet, ein Roboterprogramm auszuführen, durch welches die Gelenke Jl bis J6 des Roboterarms 2 gemäß des Roboterprogramms automatisiert oder in einem Hand¬ fahrbetrieb automatisch verstellt bzw. drehbewegt werden kön¬ nen. Dazu ist die Steuerungsvorrichtung 10 mit ansteuerbaren elektrischen Antrieben Ml bis M6 verbunden, die ausgebildet sind, die Gelenke Jl bis J6 des Industrieroboters la zu ver- stellen. The control device 10 of the industrial robot la is formed and arranged to execute a robot program, by which the joints Jl automated to J6 of the robot arm 2 according to the robot program or automatically adjusted in a manual ¬ driving or rotating moved Kgs ¬ NEN. For this purpose, the control device 10 is connected to controllable electric drives M1 to M6, which are designed to adjust the joints J1 to J6 of the industrial robot 1a.
Bei den Gliedern LI bis L7 handelt es sich im Falle des vorliegenden Ausführungsbeispiels der Fig. 1 um ein Gestell 3 und ein relativ zum Gestell 3 um eine vertikal verlaufende Achse AI drehbar gelagertes Karussell 4. Weitere Glieder des
Roboterarms 2 sind eine Schwinge 5, ein Armausleger 6 und ei¬ ne vorzugsweise mehrachsige Roboterhand 7 mit einer als Robo¬ terflansch 8 ausgeführten Befestigungsvorrichtung zum Befestigen beispielsweise eines Handgriffs 11, insbesondere über eine Kraft-/Momenten-Sensorvorrichtung 12. Die Schwinge 5 ist am unteren Ende, d.h. an dem Gelenk J2 der Schwinge 5, das auch als Schwingenlagerkopf bezeichnet werden kann, auf dem Karussell 4 um eine vorzugsweise horizontale Drehachse A2 schwenkbar gelagert. The links LI to L7 are in the case of the present embodiment of FIG. 1 to a frame 3 and a relative to the frame 3 about a vertical axis AI rotatably mounted carousel 4. Other members of Robot arm 2 are a rocker 5, an arm boom 6 and ei ¬ ne preferably multi-axis robot hand 7 with a designed as Robo ¬ terflansch 8 fastening device for attaching, for example, a handle 11, in particular via a force / torque sensor device 12. The rocker 5 is on lower end, ie at the joint J2 of the rocker 5, which may also be referred to as swingarm head, pivotally mounted on the carousel 4 about a preferably horizontal axis of rotation A2.
Am oberen Ende der Schwinge 5 ist an dem Gelenk J3 der At the upper end of the rocker 5 is at the joint J3 of
Schwinge 5 wiederum um eine ebenfalls vorzugsweise horizonta¬ le Achse A3 der Armausleger 6 schwenkbar gelagert. Dieser trägt endseitig die Roboterhand 7 mit ihren vorzugsweise drei Drehachsen A4, A5, A6. Die Gelenke Jl bis J6 sind durch je¬ weils einen der elektrischen Antriebe Ml bis M6 über die Steuerungsvorrichtung 10 programmgesteuert antreibbar. Rocker 5 in turn about a preferably also horizonta ¬ le axis A3 of the arm boom 6 pivotally mounted. This end carries the robot hand 7 with its preferably three axes of rotation A4, A5, A6. The joints Jl to J6 are drivable by in each ¬ weils one of the electric drives Ml to M6 via the control device 10 program control.
Die Fig. 2 und Fig. 3 zeigen einen insbesondere als ein FIGS. 2 and 3 show one in particular as one
Leichtbauroboter lb ausgeführten Roboter 1, der einen Roboterarm 2 und eine Steuerungsvorrichtung 10 aufweist. Der Roboterarm 2 umfasst im Falle des vorliegenden Ausführungsbei¬ spiels mehrere, nacheinander angeordnete und mittels Gelenke J1-J7 drehbar miteinander verbundene Glieder L1-L8. Lightweight robot lb executed robot 1, which has a robot arm 2 and a control device 10. The robot arm 2 comprises in the case of the present game Ausführungsbei ¬ plural successively arranged and rotatably interconnected by means of joints J1-J7 members L1-L8.
Die Steuerungsvorrichtung 10 des Leichtbauroboters lb ist ausgebildet bzw. eingerichtet, ein Roboterprogramm auszuführen, durch welches die Gelenke J1-J7 des Roboterarms 2 gemäß des Roboterprogramms automatisiert oder in einem Handfahrbe- trieb automatisch verstellt bzw. drehbewegt werden können. Dazu ist die Steuerungsvorrichtung 10 mit ansteuerbaren elektrischen Antrieben verbunden, die ausgebildet sind, die Gelenke J1-J7 des Leichtbauroboters lb zu verstellen.
Die Steuerungsvorrichtung 10 ist ausgebildet und/oder eingerichtet, ein Verfahren zum Betreiben des Leichtbauroboters lb unter Einbeziehen eines manuell geführten Bewegens des Robo¬ terarms 2, wie im Folgenden anhand eines konkreten Anwen- dungsbeispiels näher beschrieben, durchzuführen. The control device 10 of the lightweight robot lb is designed or implemented to execute a robot program by means of which the joints J1-J7 of the robot arm 2 can be automated according to the robot program or automatically adjusted or rotated in a hand-held operation. For this purpose, the control device 10 is connected to controllable electric drives, which are designed to adjust the joints J1-J7 of the lightweight robot lb. The control device 10 is designed and / or arranged to a method for operating the lightweight robot lb with incorporation of a manually operated moving the Robo ¬ terarms 2, as hereinafter described with reference to a concrete application example of dung closer to perform.
In dem in Fig. 4 schematisch dargestellten Anwendungsbeispiel platziert beispielsweise ein Arzt ein am Flansch (Glied L8) befestigtes chirurgisches Werkzeug 14 mit Hilfe des Handfüh- rens an eine zu manipulierende Stelle, hier ein Knochen 15 eines Patienten. Um ihm dabei zu helfen, ist in der Steuerungsvorrichtung 10 ein virtueller Kegel 16 gespeichert, dessen Spitze 17a auf der zu manipulierenden Stelle 17 liegt. Der Kegel 16 kann bspw. mit Hilfe eines nicht näher darge- stellten, aber dem Fachmann als solches bekannten Tracking- Systems, immer an derselben anatomischen Stelle 17 gehalten werden, selbst wenn der Patient sich bewegt. Der Arzt kann das Werkzeug 14 nun nur innerhalb des virtuellen Kegels 16 bewegen, so dass er je näher er der anatomischen Stelle 17 kommt, immer genauer auf sie hingeführt wird. Ob er die vir¬ tuelle Kegelspitze 17a erreicht hat, stellt der Arzt insbe¬ sondere dadurch fest, dass der Roboterarm 2 nun jede handge¬ führte Bewegungen näher an die anatomische Stelle 17 verhin¬ dert . In the application example shown schematically in FIG. 4, for example, a doctor places a surgical tool 14 attached to the flange (limb L8) to a site to be manipulated, here a bone 15 of a patient, by means of the hand guide. In order to help him, a virtual cone 16 is stored in the control device 10, the tip 17a of which lies on the point 17 to be manipulated. For example, the cone 16 can always be held in the same anatomical position 17 with the aid of a tracking system not shown in more detail, but known to the person skilled in the art, even when the patient is moving. The doctor can now move the tool 14 only within the virtual cone 16, so that the closer it comes to the anatomical site 17, it is guided to it more and more accurately. Whether he has reached the vir ¬ tual conical tip 17a, the doctor in particular ¬ special characterized by the fact that the robot arm 2 now prevents any hand ¬ guided movements closer to the anatomical site 17 verhin ¬ .
Gerät der Arzt allerdings in die Nähe einer Singularität oder einer Achsgrenze, während er sich der Kegelspitze 17a annä¬ hert, dann könnte er die Tatsache, dass der Roboterarm 2 sich nicht weiterbewegt, fehlinterpretieren. Er könnte glauben, er habe die Kegelspitze 17a bereits erreicht und würde den nach¬ folgenden Arbeitsschritt evtl. an der falschen Stelle beginnen und dazu noch an einer für den Roboter 1 ungünstigen Pose. In diesem Ausführungsbeispiel kann eine Vibration dem Arzt auf unterschiedliche Weise helfen, die Situation richtig zu erkennen. So kann beispielsweise eine Vibration ausgelöst
werden, wenn eine Achsgrenze oder Singularität der Grund der Einschränkung der Roboterbewegung ist, oder eine Vibration ausgeben, deren Frequenz oder Amplitude sich verändert abhängig von der Distanz zur Kegelspitze 17a, oder eine Vibration auslösen, wenn man die Kegelspitze 17a erreicht hat. Device the doctor, however, close to a singularity or an axis limit, while the cone tip Annæ ¬ hert to 17a, then he could be the fact that the robot 2 does not move further, misinterpret. He might think that he had already reached the apex 17a and would begin to ¬ following step, possibly in the wrong place plus at an unfavorable for the robot 1 pose. In this embodiment, vibration can help the physician in different ways to correctly recognize the situation. For example, a vibration can be triggered when an axis boundary or singularity is the cause of the robot motion restriction, or output a vibration whose frequency or amplitude changes depending on the distance to the cone tip 17a, or cause a vibration when reaching the cone tip 17a.
Um eine Vibration an dem Roboterarm 2, angesteuert durch die Steuerungsvorrichtung 10, während des manuell geführten Bewegens erzeugen zu können, wenn der überwachte Zustandsparame- ter den vorgegebenen Grenzwert erreicht, kann der Roboterarm 2 wenigstens eine Vibrationsvorrichtung 18 aufweisen. Die Vibrationsvorrichtung 18 kann, wie in Fig. 4 schematisch dargestellt, von im Roboterarm 2 angeordneten internen Vibrationsmotoren 18a und/oder von außen an der Struktur des Robo- terarms 2 angeordneten externen Vibrationsmotoren 18b gebildet werden. Je nach Ausführungsweise kann lediglich ein Vibrationsmotor 18a, 18b am Roboterarm 2, insbesondere an einem Endglied oder Flansch (Glied L8) des Roboterarms 2 vorgesehen sein, es können aber auch mehrere Vibrationsmotoren 18a, 18b an verschiedenen Gliedern L1-L8 oder Gelenken J1-J7 des Roboterarms 2 vorgesehen sein, oder sogar an jedem Glied L1-L7 des Roboterarms 2 wenigstens ein Vibrationsmotor 18a, 18b vorgesehen sein.
In order to be able to generate a vibration on the robot arm 2, driven by the control device 10, during the manually guided movement when the monitored state parameter reaches the predetermined limit value, the robot arm 2 can have at least one vibration device 18. As schematically illustrated in FIG. 4, the vibration device 18 can be formed by internal vibration motors 18 a arranged in the robot arm 2 and / or external vibration motors 18 b arranged externally on the structure of the robot arm 2. Depending on the embodiment, only a vibration motor 18a, 18b on the robot arm 2, in particular on an end member or flange (member L8) of the robot arm 2 may be provided, but it can also be several vibration motors 18a, 18b to different members L1-L8 or joints J1-J7 be provided of the robot arm 2, or even at each member L1-L7 of the robot arm 2 at least one vibration motor 18a, 18b to be provided.