Einfachste Steuerung eines Roboters?

  • Guten Morgen,


    ich möchte einen Industrieroboter steuern. Über eine Schnittstele vom PC, wie ist egal. Netzwerk wäre toll. Wenn man eine SPS braucht oder ein Upgrade einer Robotersteuerung, alles kein Problem ... Ausgeschlossen ist aber eine Bedienung des Roboters nach dem Kaltstart der Anlage. D.h. das Anwählen von Programmen etc. über das Programmierhandgerät durch den Anwender ist ausgeschlossen. Alles muss über den Rechner / die SPS laufen. Das ganze System muss also eigenständig in einen definierten Zustand hochfahren der entweder eine externe Steuerung (kartesische Zielvorgaben und Bewegarten sowie externe IO schalten) erlaubt oder die automatische Anwahl und Ausführung eines Roboterprorgammes das den gewünschten Ablauf umsetzt.


    Warum ich hier so doof frage:
    Ich habe bisher Kuka und Reis Steuerungen kennengelernt (nicht gut, nur im Studium) und keine positiven Erfahrungen (was externe Steuerung und Einfachheit betrifft) gemacht. Können aktuelle Stueurngen das? Mir ist vollkommen unklar wie und ob man soetwas umsetzen kann. Letzendlich bewege ich mich mit meinem Problem abseits von Standard-Vorgehen. Also Roboter starten, einrichten und er läuft bis die Welt untergeht ist keine Option. Trotzdem muss das Gesamtsystem durch Anwender kaltstartbar und bedienbar sein. Und das ganze mit einem Knopf (Start/Stop).


    Mir fehlts da an Erfahrung. Ich weiss z.B. dass die Universa Robot Roboter über Netzwerk gesteuert werden können. Aber (meines Wissens nach) nicht ohne die aktive Bedienen des Handgerätes.
    Was gibt es hier noch, oder wie wird sowas in der Industrie gelöst?


    Gruß
    Christoph

    Einmal editiert, zuletzt von Chr ()

  • ANZEIGE
  • Hallo,


    und willkommen im Forum.



    Letzendlich bewege ich mich mit meinem Problem abseits von Standard-Vorgehen.


    Nein, das kann man nicht so absolut sagen. Bei den großen Kisten ist das absolut unüblich. Bei manchen japanischen Kleinroboterherstellern aber normal, das gibt es dort schon seit den Zeiten von MS-DOS.


    In unseren Anlagen (Prüfständen) verwenden wir Mitsubishi-Roboter. Die lassen sich vollständig über den PC steuern, die Tasten auf der Robotersteuerung lassen sich deaktivieren. Für das Handbediengerät gilt eine Einschränkung: Wenn man per Schlüsselschalter auf Handbetrieb schaltet, dann hat ein angeschlossenes Handbediengerät oberste Priorität. Man muss also den Schlüssel verstecken und das Handbediengerät durch den im Lieferumfang enthaltenen Blindstecker ersetzen.


    Allerdings ist das Angebot bei Mitsubishi auf Scaras und 6-Achser bis 20 kg Traglast begrenzt. Zur Programmierung gibt es ein paar Hundert Beiträge im zugehörigen Unterforum hier.


    Grüße


    Urmel


  • Guten Morgen,
    ...
    Ich habe bisher Kuka und Reis Steuerungen kennengelernt (nicht gut, nur im Studium) und keine positiven Erfahrungen (was externe Steuerung und Einfachheit betrifft) gemacht.
    ...


    Externe Steuerung und Einfachheit, das sind m.E. zwei Bedingungen die sich (zumindest derzeit) gegenseitig ausschliessen. :mrgreen:


    Habe schon viele Versuche gesehen eine externe Steuerung einfach zu gestalten, und die wurde immer komplizierter als die 'normale'.


    Weiss aber nicht, warum das nicht z.Bsp. mit einem Kuka-Roboter gehen sollte.
    KRC4 z.Bsp: In Auto-Extern schalten, Smartpad abstecken und er kann bzw. muss komplett von aussen gesteuert werden, sofern man das Anwenderprogramm entsprechend gestaltet hat.


    Allerdings ist die Anforderung

    Zitat

    ich möchte einen Industrieroboter steuern. Über eine Schnittstelle vom PC

    sehr allgemein gehalten. Wie und was soll denn gesteuert werden? Werd' mal konkreter.

  • Naja, in der Baumarkt-Reklame heißt es "Es gibt viele Arten von Gut", genauso gibt es viele Arten von "Einfach". :mrgreen:


    Die angesprochenen Lösungen aus den 80ern waren einfach im Sinne von primitiv. Da gab es Befehle wie

    Code
    DJ 2,40


    für drehe Gelenk 2 auf 40 Grad. Oder gar

    Code
    MC 1,100


    für fahre zu Position 1, 2, 3, 4, ..., 100.


    Dagegen ist Mitsubishis C++ Schnittstelle einfach im Vergleich zu Kukas RSI aus der Sicht eines C++ Programmierers, der den Roboter ohne diese primitive Robotersprache bewegen will, aber für andere ist beides möglicherweise nicht die einfachste Art Roboter zu steuern.


    Aber schon der Begriff "Industrie" ist etwas schwammig in diesem Zusammenhang. Eine Laborautomatisierung die Reagenzgläser handhabt wird sicher ganz anders aufgesetzt, als das Handling von Blechen im Schiffsbau.

    Einmal editiert, zuletzt von Urmel ()

  • Danke für die Antorten soweit.


    Ok noch ein paar Randbedingungen.


    Es geht nicht darum den die Robotersteuerng gegen die Anwender abzusichern. Im Gegenteil, könnte sie jeder bedienen wäre alles gut.
    Es geht um das Handling von Proben bei Bestrahlungsexperimenten. Ca. 1-5kg (eher 1kg). Anforderungen an die Präzision: quasi keine (+/- 1 cm ist i.d.R. tolerabel und überschreitet die Widerholgenauigkeit typischer kleiner Roboter weit).
    Die Proben sind allerdings variabel, und müssen je nach Art unterschiedlich gegriffen und behandelt werden (Schütteln ist doof ;)). Die eine muss liegen und aufgestellt werden, die andere muss um 180° rotiert werden ... usw. Viele mechanische Freiheitsgrade die mit einer spezifischen Kinematik zwar umsetzbar sind, aber wenn man wirklich flexibel sein will bleibt (aus kinematischer Sicht) meiner Meinung nach nur der klassische Sechsachs-Roboter.
    Die Anwender wollen das System aufbauen, bestücken und benutzen. Ein Auf- und Abbau ist nötig da sich Expertimentorte und Umgebung ändern. Deswegen muss es möglich sein die Anlage komplett ohne "Experte" in Betrieb zu nehmen. Das sind alles intelligente Menschen die damit Arbeiten, aber es ist nicht Sinn der Sache die Leute zu Roboterexperten zu machen. Die werden sich auch schlicht weigern und eine "ein Knopf Lösung" fordern. Das ist auch berechtigt, denn das Handling ist nur eine Handwerksaufgabe die funktionieren muss.


    Bei einem Schrittmotor ist die Sache klar. Man kauft sich einen Controller mit der Wunsch-Schnittstelle. Anstöpseln, definierter Zustand ist erreicht. Der Rest kommt z.B. aus meinem PC-Programm. Das Selbe möchte ich mit dem Roboter. Ich weiß nur nicht wie man so einen Zustand erreicht.
    Und was ich nicht will ist echtzeitkritische Steuerschnittstellen und komplizierte Menüführungen bis man diesen definierten Zustand erreicht hat. Wie es konkret funktioniert ist mir Wurst, letztendlich werden die Hersteller aber nicht jedes Rad neu erfinden und entweder bekannte Schnittstellen nehmen oder entsprechende Wandler anbieten. Netzwerk fände ich total toll... schickt man ein "fahr mal an Pose A als Bewegart B" rüber und wenn er da ist sagt er "Voila, bin da". Das wär toll ...


    Alles weitere ist quasi egal. Ob ich nun für jede Handlingaufgabe ein spezifisches Roboterprogramm schreiben muss oder eine Sequenz am PC hinterlege ist beides ok. Sie muss allerdings einfach startbar und auch beeinflussbar sein. Z.B. konkret die Zielpose der Proben muss nach einem Neuaufbau überüft oder vorgegeben werden. Das beinhaltet also eine Art Initialisierung in der z.B. die Zielpose gespeichert wird und im weiteren Verlauf verwendet wird.


    In unseren Anlagen (Prüfständen) verwenden wir Mitsubishi-Roboter. Die lassen sich vollständig über den PC steuern, die Tasten auf der Robotersteuerung lassen sich deaktivieren. Für das Handbediengerät gilt eine Einschränkung: Wenn man per Schlüsselschalter auf Handbetrieb schaltet, dann hat ein angeschlossenes Handbediengerät oberste Priorität. Man muss also den Schlüssel verstecken und das Handbediengerät durch den im Lieferumfang enthaltenen Blindstecker ersetzen.

    ok das klingt ganz interessant. Aber was heißt vollständig über den PC? Läuft die Steuerngs auf dem Rechner (vgl. wie eine Remote-Desktop-Verbindung) oder eine Steuerung des TCPs?


    Zitat

    Allerdings ist das Angebot bei Mitsubishi auf Scaras und 6-Achser bis 20 kg Traglast begrenzt. Zur Programmierung gibt es ein paar Hundert Beiträge im zugehörigen Unterforum hier.

    kein Problem, siehe oben. Die Programmierung selber ist erst mal nebensache, mir gehts darum dass ich keinen Plan habe wie das komzeptionell umzusetzen ist.



    Externe Steuerung und Einfachheit, das sind m.E. zwei Bedingungen die sich (zumindest derzeit) gegenseitig ausschliessen. :mrgreen:

    Das ist eben auch meine Erfahrung.


    Zitat

    Habe schon viele Versuche gesehen eine externe Steuerung einfach zu gestalten, und die wurde immer komplizierter als die 'normale'.

    Ok, aber ich will ja nicht die Steuerung ersetzen sondern lediglich den Roboter als Aktor einsetzen. Was die Steuerng macht ist mir vollkommen egal.


    Zitat

    Weiss aber nicht, warum das nicht z.Bsp. mit einem Kuka-Roboter gehen sollte.
    KRC4 z.Bsp: In Auto-Extern schalten, Smartpad abstecken und er kann bzw. muss komplett von aussen gesteuert werden, sofern man das Anwenderprogramm entsprechend gestaltet hat.

    Da mangelt es mir schon wieder an Erfahrung, aber du meinst man Startet das Roboterprogramm welches die Logik z.b. durch Reaktion auf externe I/Os umsetzt? Das ist schwierig weil das Starten des Roboterprogrammes etc. eben auch nicht trivial ist.


    Zitat

    Allerdings ist die Anforderung "ich möchte einen Industrieroboter steuern. Über eine Schnittstelle vom PC" sehr allgemein gehalten. Wie und was soll denn gesteuert werden? Werd' mal konkreter.

    Wie geschrieben bisher versuche ich herauszufinden wie man es überhaupt machen kann.




    Naja, in der Baumarkt-Reklame heißt es "Es gibt viele Arten von Gut", genauso gibt es viele Arten von "Einfach". :mrgreen:



    für fahre zu Position 1, 2, 3, 4, ..., 100.

    Ja klar, wenn es nun sein müsste könnte man sich mit festen Posen aushelfen. Aber eine Steuerng die die Inverskinematik selber umsetzt sollte 30 Jahre später wohl Standard sein?


    Zitat

    Dagegen ist Mitsubishis C++ Schnittstelle einfach im Vergleich zu Kukas RSI aus der Sicht eines C++ Programmierers, der den Roboter ohne diese primitive Robotersprache bewegen will, aber für andere ist beides möglicherweise nicht die einfachste Art Roboter zu steuern.

    Gut, ich habe RSI bisher nur benutzt. Die Implementierung unterliegende C++ gab es schon. Aber wenn das Stand der Technik (oder Ende der Möglichkeiten) sein soll denke ich mir was anders aus.

    Einmal editiert, zuletzt von Chr ()


  • Netzwerk fände ich total toll... schickt man ein "fahr mal an Pose A als Bewegart B" rüber und wenn er da ist sagt er "Voila, bin da". Das wär toll ...


    Das ganze per Ethernet zu realisieren ist einfach. Du nimmst einen Denso RC8 Robotercontroller verbindest den per Ethernet mit deinem PC.
    nutzt eine Hochsprache nach Wahl...
    C#,Java,C,C++,Visual Basic, VBA, Labview, Mathlab usw.
    fügst die die Denso-Hochsprachen-Bibliothek in die Entwicklungsumgebung deines PCs und kannst los legen.
    Der PC schickt dann alle Befehle (Bewegung,Ausgänge, Aktoren, Geschwindigkeit, Sensoren) an den Robotercontroller.
    Der Controller meldet an den PC (Positionsdaten, Zustände von Eingängen, Sensorwerte usw.).


    Auf dem Controller muss kein Programmcode geschrieben werden. Alles passiert nur auf dem PC. Der Controller übernimmt lediglich die Bewegungs und Sicherheitsoptionen des Roboters.


    Entspricht das in etwa deinen Vorstellungen.



    Gruss
    Björn

    Es ist nicht einfach Ich zu sein aber irgend jemand muss es ja tun.<br /><br /><br />Björn Gentsch <br />Robotics Division<br /><br />NACHI EUROPE GmbH | Bischofstr. 99 |&nbsp; DE-47809 Krefeld, Germany<br />Phone: +49 (0)2151 7843338 |&nbsp; Mobile: +49 (0)172 / 1775455&nbsp; | Fax: +49 (0)2151-7843332<br />E-Mail: gentsch@nachi.de |&nbsp; Internet: http://www.nachi.de


  • Aber was heißt vollständig über den PC?


    Der Anwender bedient nur eine PC-Software, Abläufe setzt er da in Diagrammen zusammen. (Das ist unsere Entwicklung, nicht die des Roboterherstellers.) Roboterprogramme, soweit benötigt, werden ggf. von der PC-Software generiert und an die Robotersteuerung übertragen. Die Steuerung des TCPs kann dann das Roboterprogramm übernehmen, oder die PC-Software über das erwähnte Echtzeitinterface, das hängt vom Einsatzfall ab.


    Die Schnittstelle der Robotersteuerung ist dreigeteilt. Es gibt ein textbasiertes Steuerprotokoll, quasi die Kommandozeile des Roboterbetriebssystems. Dann gibt es TCP-Kommunikation mit dem Roboterprogramm. Außerdem UDP-Kommunikation zur Echtzeitmanipulation des TCP, üblicherweise PC-seitig aus C++ benutzt.



    Aber eine Steuerng die die Inverskinematik selber umsetzt sollte 30 Jahre später wohl Standard sein?


    Die Erklärungen zu diesem "Einfach" bezogen sich auf die Antwort von Herrman. Sie zeigen, dass da programmiertechnisch Welten aufeinanderprallen. Für SPS-Programmierer ist die von Bjoern beschriebene Denso Bibliothek nicht einfach, weil es keine SPS-Programmierung ist. So ein C++ Interface ist für manche einfach, weil nichts mehr zwischen Programm und Roboterbewegung steht, für dich aber nicht.


    Bleibt mir nur mich zu wiederholen, das was du suchst findest bei den kleinen Japanern am ehesten. Zwei hatten wir jetzt, Epson wäre wahrscheinlich der dritte, da haben wir hier wohl keine aktiven Mitglieder, die da was sagen könnten.


    Technisch nehmen die sich nicht viel, die Art der Umsetzung der Schnittstellen variiert halt nach Hersteller.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden