Beiträge von Urmel

    Na, also. :applaus:


    Jetzt kanns ja losgehen. :zwink:



    Man muss nicht wie im Handbuch beschrieben mit PRINT oder befehlen wie "NT" arbeiten, sondern einfach NT eingeben als Beispiel und er fährt in die Nest-Position.


    Das habe ich gestern eigentlich gemeint, als ich geschrieben habe, du sollst nur schicken was bei den PRINTs im Handbuch in Anführungszeichen steht. :bawling:

    Hallo jukka !


    Das klingt zumindest so, als ob was ankommt.


    Allerdings mußt du nicht "PRINT #1,"NT"" senden, sondern nur "NT".


    Die Beispiele im Handbuch zeigen vermutlich wie ein Basic Programm unter DOS Befehle an den Roboter sendet.
    Du schickst sie aber "von Hand" mit einem Terminalprogramm. Du musst das senden, was in den Print-Befehlen in Anführungszeichen steht.


    Wenn das nicht hilft, warte mal auf RobotCommander.


    Grüße


    Urmel

    Hallo vogster,


    ja das ist so möglich. Es gibt sogar verschiedene Varianten wie man das machen kann.


    Ich fange mal mit was einfachen an ... :zwink:


    Also du teachst deine Positionen mit der Teachbox. Dann benutzt du ein Programm wie Cosirop oder die PC-Support Software um ein Roboterprogramm zu schreiben.


    Angenommen du hast die Positionen P1, P2 und P3 geteacht und willst sie nacheinander anfahren, jeweils mit einer Bestätigung vom PC dazwischen. Das könnte dann z.B. so aussehen:


    Code
    10 OPEN "COM1:" AS #1
    20 MOV P1
    30 INPUT #1,MX
    40 MOV P2
    50 INPUT #1,MX
    60 MOV P3
    70 END


    Mit INPUT wird der Inhalt der Variable MX, in diesem Fall über die serielle Schnittstelle, eingelesen. Mit der
    Variable wird zwar nichts gemacht, aber da der Befehl auf Daten vom PC wartet, ergibt sich die Pause von selbst.


    Man kann das natürlich erweitern, indem man z.B. mit einen IF THEN den Inhalt von MX auswertet und bei Bedarf ans Programmende springt.



    Will man etwas flexibler in seinen Abläufen sein, kann man z.B. mit Cosirop die Positionen vom Roboter auf den PC übertragen. Dort werden sie in einer Textdatei gespeichert, die ungefähr so aussieht:


    Achtung Fantasiewerte, nur zur Demonstration !


    Code
    P1=(100.00,200.00,300.00,90.0,45.0,60.0)
    P2=(....
    P3=(...


    Da stehen dann die Koordinaten der Positionen drin, als Name=(X,Y,Z,A,B,C).


    Wenn du jetzt ein Roboterprogramm schreibst das ungefähr so aussieht


    Code
    10 OPEN "COM1:" AS #1
    20 INPUT #1,PNEXT
    30 MOV PNEXT
    40 GOTO 20


    kannst du an beliebige Positionen fahren, die du aus der Textdatei ausliest. Du schickst jeweils nur den Teil nach dem Gleichheitszeichen, also z.B. (100.0,200.0,300.0,90.0,45.0,60.0)<CR> . Wobei <CR> für ein "Carriage Return"-Zeichen steht.
    [Edit]
    Je nach Einstellung der Schnittstelle kommt da noch ein "PRN" davor, damit die Daten nicht als Kommandozeilenbefehl mißverstanden werden.
    [\Edit]


    So kannst du die Positionen in beliebiger Reihenfolge abfahren. Wobei du natürlich aufpassen musst, das der Weg dahin frei ist. :mrgreen:


    Eleganter geht diese Methode mit der von mir beschriebenen Kommunikationsart 2, wo man quasi auf die Kommandozeile des Roboterbetriebssystems zugreift und Befehle direkt ausführen kann, ohne Roboterprogramm.


    Ich hoffe das hilft dir weiter.


    Grüße


    Urmel

    Hallo,


    im Prinzip ist die Steuerung über RS232 und Ethernet identisch. Die Datenübertragung erfolgt in der Regel zeilenweise in Textform.
    Es gibt drei verschiedene Arten der Kommunikation.


    1. Datenaustausch zwischen einem PC-Programm und einem Roboterprogramm. Das ist im Programmierhandbuch und im Handbuch für die Ethernet-Schnittstelle beschrieben.


    2. Übertragen von Positionen, Programmen usw. vom PC auf den Roboter, Starten von Programmen, kurz alles was Programme wie Cosirop machen. Das ist in den allgemeinen Handbüchern nicht dokumentiert. Dafür muss man Mitsubishi kontaktieren und um entsprechende Unterlagen bitten.


    3. Echtzeitsteuerung des Roboters vom PC aus. Der Roboter wird in einem festen Zeittakt von 7.1 Millisekunden direkt von einem PC-Programm bewegt. Das geht selbstverständich nur über Ethernet (Binärdaten über UDP) und nur auf Robotern mit 4 oder 6 Achsen (plus maximal 2 Zusatzachsen). Infos dazu gibt es im Handbuch der Ethernetkarte. Offiziell unterstützt wird nur (Visual-) C++.


    CC-Link ist so eine Art japanischer Profibus und spielt nur bei SPSsen eine Rolle. Kannst du für PC-Anwendungen vergessen.


    Grüße
    Urmel

    Hallo,


    Zitat


    z.B. wenn mann Handwurzelpunkt und Achse 1 in Ueberdeckung bringt.


    Da könnten ja dann sogar drei Achsen in Überdeckung sein (1,4 und 6).


    Zitat


    Aber leider meinen die, es gibt beim Sechsachser nur eine Singularitaet.


    Ich meinte auch eher die schön formulierte mathematische Erklärung.


    Rein technisch gibt es wohl eine ganze Menge Methoden auf die Singularität zu reagieren.
    Fixieren von Axen, Verwendung der Pseudoinversen, Abweichen von der Bahn usw.


    Wie das bei Robotersteuerungen aussieht die Quaternionen statt Matrizen verwenden, weiß ich nicht.
    Soweit reichen meine Mathekenntnisse nicht.


    Ein anderer Ansatz ist, z.B. bei den Robotern von Neuronics aus der Schweiz, die Kinematikberechnung über neuronale Netze. Da weiß nur noch der Roboter selber, warum er was macht. :mrgreen:


    Grüße


    Urmel

    Bist du sicher, dass dein serielles Kabel in Ordnung ist ?


    In früheren Beiträgen in diesem Thread gibt es Hinweise dazu.


    Ein fertiges Kabel ist z.B. das Conrad Kabel 974838 - 62 mit angeschraubtem Null-Modem-Adapter 979996 - 62.


    Tag Männer,


    ich kann das ganze Trauerspiel hier nicht mehr mit ansehen.


    Hallo,


    endlich jemand der sich auskennt. :laugh:


    Vielleicht sollte ich einfach fünf Jahre warten, bis die ersten Leute z.B. mit gebrauchten RV-2AJ hierher ins Robotermusem, äh ich meine Roboterforum, kommen. Dann kann ich wieder mitreden. :zwink:


    Aber vielleicht kommt ja mal ein exotischer Oldtimer, z.B. ein Roboter mit Arcnet. Das waren noch Zeiten ...


    Grüße


    Urmel

    Was ist weg ? :kopfkratz:


    Wie schon gesagt, die Bremsen löst man zu Wartungszwecken um den Roboter von Hand zu bewegen.
    Sonst gibt es keinen Grund dafür.


    Gibt es da keine Resettaste zum Quittieren des Fehlers ? Ansonsten Reset (vermutlich RS ?) über serielle Schnittstelle schicken.


    Zusätzliche Frage: Kann ich mit HTerm die Dateien einfach auf den Robi schicken? Gesendet werden sie auf jeden fall, ichweiß nur nicht ob sie auch so funktionieren?


    Sollte eigentlich gehen. Mangels Versuchsobjekt fehlt mir da die praktische Erfahrung.


    Hauptproblem bei seriellen Verbindungen ist immer die richtige Einstellung der Parameter (Baudrate, Bits usw.).
    Auch mußt du die Befehlzeilen vermutlich mit dem richtigen Steuerzeichen abschliessen. Bei den neueren ist das ein Carriage Return (Ascii Code 13).


    Versuch mal NT<CR> wobei <CR> für das Steuerzeichen steht. Meiner Meinung nach müßte er dann eine Referenzfahrt machen.

    Also nochmal nachgefragt:


    Du willst den Roboter nicht bewegen bzw. programmieren, sondern bei ausgeschalteten Motoren die Feststellbremsen lösen, damit er in sich zusammensackt und du die Gelenke mit den Händen bewegen kannst ?


    Das geht normalerweise nur mit der Teachbox. Siehe Handbuch.


    Will man es ohne machen muss man nichts brücken, sondern irgendwo Strom einspeisen. Die Bremsen sind zu, wenn der Strom aus ist.


    Wie das geht kann nur jemand beantworten, der mit der Reparatur der Dinger vertraut ist und die Schaltpläne hat.


    das meint jukka auch.


    Das ist mir erst langsam klar geworden. Bei den Robotern die nach dem M1 kamen, kann man nämlich auch die Bremsen lösen, wenn die Servos aus sind.


    [Edit]
    Habe gerade mal ins Handbuch geschaut. Auch der M1 hat Bremsen an 2 Gelenken. Um die zu lösen braucht man wohl in der Tat die Teachbox.
    [/Edit]



    daher die frage ob das auch ohne teaching-box funzt......


    Ja.


    Wie schon gesagt, müßte auch dieser Roboter Befehle, die man ihm ohne Zeilennummer über die serielle Schnittstelle schickt, direkt ausführen. Man braucht also gar kein "Roboterprogramm" sondern kann die Anweisungen eine nach der anderen vom PC schicken.


    Achtung: Der M1 hat noch keine Absolutencoder. Er vergisst nach dem Ausschalten seine Position. Als erste Bewegung muß man ihn eine Referenzfahrt machen lassen. Sollte im Handbuch stehen ...


    Wo bekomme ich Programmiersoftware her? Für DOS oder für XP, am besten kostenlos als Download oder per Mail?


    Kostenlose Software für die alten Roboter kenne ich nicht.


    Aber wie schon gesagt geht es auch ohne. Bei den alten Robotern sind alle Funktionen die man dazu braucht über Roboterbefehle erreichbar. Schau dir mal das Handbuch durch. Es gibt z.B. Befehle um Positionen zu lesen.


    Die kann man in ein Programm einbauen, das Daten über die serielle Schnittstelle verschickt.


    Zur Not reicht auch Hyperterminal von Windows oder ein anderes Terminalprogramm.

    Hallo,


    ist dein Roboter ein RV-M1 wie der vom Anfang dieses Threads ? Wie schon gesagt, diese alten Teile kenne ich nicht persönlich...


    Aber am Not-Aus sollte eigentlich nicht "Nichts" angeschlossen sein, sondern eine bzw. zwei Brücken. So ist das jedenfalls bei allen neueren Robotern.


    Die Bremsen kann man, meines Wissens nach, normalerweise nur über die Teachbox lösen.


    Grüße


    Urmel


    ..ethernet mit tcp/ip oder firewire??


    Ich würde eher Ethernet nehmen.


    Aber das sind Fragen, die du den Sensorherstellern stellen kannst.


    Mit MEL habe ich schon mal vor einiger Zeit gesprochen, als ich mich für den Sensor interessiert hatte. Der Mann am Telefon war sehr freundlich und kompetent.


    Bei Micro-Epsilon kaufen wir andere Sensoren, außerdem haben die ein Vertriebsbüro hier in der Nähe. Daher kam damals jemand von denen vorbei und hat den Sensor vorgeführt.


    Sowas wäre sicher auch was für dich. Die können dir mehr erzählen als ich.


    Ruf halt mal an. Die beißen schon nicht. :zwink: