19. Januar 2019, 21:33:12
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

 Anpressdruck der Z-Achse


normal_post Autor Thema:  Anpressdruck der Z-Achse  (Gelesen 1220 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

06. November 2013, 22:17:54
Gelesen 1220 mal
Offline

blutsauger


Naechste Frage:
Ich habe einen Vakuum-Sauger am Roboter-Arm befestigt, der einen Gegenstand hochheben soll. Damit das Vakuum erzeugt werden kann, muss der Gummisauger aber einen gewissen Anpressdruck haben, jedoch ohne den Gegenstand oder den Sauger zu zerstoeren.
Da der Gegenstand nicht immer in einer garantierten Z-Position liegt und evtl. der Untergrund auch nicht 100% stabil ist, waere es noetig, die Aufnahmeposition derart anzufahren, dass der Roboter anhaelt, sobald ein gewisser Widerstand auftritt, ohne dass aber der Roboter in den Kollisionsfehler verfaellt.

Jetzt habe ich die Compliance Befehle ausfindig gemacht. Ist das der richtige Ansatz fuer solch eine Aufgabe?

A.
  • gefällt mir    Danke

Heute um 21:33:12
Antwort #1

Werbung

Gast

Heute um 21:33:12
Antwort #1

Werbung

Gast

06. November 2013, 22:51:49
Antwort #1
Offline

WolfHenk


ich hab den sauger an nem pneumatikzylinder hängen. Mit 0,5 Bar Druck kann ich per Suchfahrt fahren, bis der Zylinder Endlage vorn verlässt. Dann Stop, Saugen, Vakuum prüfen, hochfahren, Zylinder in endlage hinten bringen und Teil ablegen....
  • gefällt mir    Danke
Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

https://www.xing.com/go/invite/5634410.eb15e5

PMs und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.

06. November 2013, 23:15:37
Antwort #2
Offline

blutsauger


Wenn ich Dich richtig verstehe, hast Du eine bewegliche Mechanik in der Pneumatik, die sich nach innen verschieben kann und diese Positionsaenderung meldet?
So etwas habe ich leider nicht.
Ich kann zwar pruefen, ob das Vakuum existiert und bis dahin solange herunterfahren, das ist aber unsicher. Die Sauger sind starr.

Gut waere eben, wenn der Roboter selber diese genannte 'Weichheit' der Bewegung beherrscht um nichts zu beschaedigen.

A.
  • gefällt mir    Danke

06. November 2013, 23:53:18
Antwort #3
Offline

WolfHenk


n ganz normale zylinder mit endlagenschaltern. völlig ohne tricks und absolut betriebssicher
  • gefällt mir    Danke
Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

https://www.xing.com/go/invite/5634410.eb15e5

PMs und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.

07. November 2013, 08:07:25
Antwort #4
Offline

Urmel

Global Moderator
Würde auch zu dem Zylinder tendieren, haben wir auch schon so gemacht. Die Suchfahrt geht am einfachsten mit Skip, etwas komplizierter auch mit einem Interrupt.
  • gefällt mir    Danke

Heute um 21:33:12
Antwort #5

Werbung

Gast

11. November 2013, 02:59:59
Antwort #5
Offline

blutsauger


Um meine Erkenntnisse zurueckfliessen zu lassen:

- Eine mechanische Loesung mit Zylinder scheidet aus, weil erstens die Verbauung in Z-Richtung zu gross wird, und zweitens dadurch weitere Fehler in X/Y durch die Mechanik entstehen. Wir benoetigen in diesem Fall tatsaechlich die maximale Positioniergenauigkeit des Objektes in der X/Y Ebene.

- Die Cmp* Befehle greifen genau dieses Thema an. Z.B. folgendes Skript:

Servo On
Ovrd 1
Mov p1
CmpG ,,0.05,,,,,
Cmp Pos,&B100
Mov p2
Dly 20.0
Cmp Off
End

Sorgt dafuer, dass von P1 (oben) nach P2 (unten) gefahren wird, wobei der Z-Achsen Weichheits-Faktor (CmpG 0.05) in etwa der Kraft entspricht, die man mit einem Finger aufhalten kann.
Bezieht sich hier auf einen 6-Achs Knickarm Roboter, mag bei Scara oder anderen unterschiedlich sein, weil das Eigengewicht der Arme ja auch noch eine Rolle spielt.

Waehrend des 'Dly 20.0', d.h. 20 Sek. warten, ist es moeglich, den Roboter gegen seine Zielrichtung manuell zu bewegen, wobei er eben wie eine Feder nachgibt. Danach wird mit 'Cmp Off' diese Weichheit wieder abgeschaltet, und der Roboter verharrt stoisch in der letzten Position (egal ob echtes Ziel, oder von Hand verbogen, ohne Fehlermeldung).

Alex.


  • gefällt mir    Danke

12. November 2013, 00:38:46
Antwort #6
Offline

blutsauger


So, nun noch ein paar tiefschuerfende Gedanken zu vorgerueckter Stunde:

Ist die Weichheit wie in o.g. Beispiel eingeschaltet, ist es mir bisher nicht gelungen mittels R3 Protokoll herauszufinden, ob der Roboter an seinem Anschlag angekommen ist. Stattdessen scheint der Status mehr oder weniger unmittelbar nach Absetzen des Mov Kommandos auf 'Ziel erreicht/not moving' zu stehen, und die aktuelle Position ist immer die Zielposition, obwohl man noch meilenweit davon entfernt ist.

Ausserdem ist eine Fahrt mit eingeschalteter Weichheit viel langsamer, genauer gesagt, verringert sich die Geschwindigkeit, je mehr man sich dem Ziel naehert.

Dass der Anschlag erreicht ist, muss aber irgendwie herauszufinden sein, denn im RT Toolbox mit Melfa Basic klappt das ja auch, und die machen glaube ich auch nichts anderes als irgendeinen Zustand zu pollen.

Also manchmal finde ich es schon nervig, dass man bei einem so teuren Geraet alles reverse engineeren muss...

Gruebelnd -

Alex.
  • gefällt mir    Danke

12. November 2013, 08:37:57
Antwort #7
Offline

Urmel

Global Moderator
Am schnellsten ist wahrscheinlich die Lösung mit einem federnd gelagerten Sauger und einem Bit.

Mit Compliance machen wir nur sehr wenig, im Vergleich zu Echtzeitsteuerung mit Kraftsensor ist das viel zu grob.

Bei P_Curr macht das Sinn, ist ja auch die Sollposition. Was ist mit P_Fbc ?

Kandidaten wären eventuell  M_CmpDst, M_Ratio oder M_RDst.

Grüße

   Urmel
  • gefällt mir    Danke

12. November 2013, 18:39:13
Antwort #8
Offline

blutsauger


Hi Urmel,

danke fuer die Tips. Hier meine Ergebnisse:

Waehrend einer Fahrt mit 'compliance on' verhalten sich die Variablen so (die ich in einer Schleife 1000 mal hintereinander per R3 Protokoll abgefragt habe):
- M_Ratio ist immer 100%
- M_RDst ist immer 0
- M_CmpDst liefert genau was es sagt, und schwankt bei Erreichen des Triggerpunktes im Bereich von < 0.01mm
- M_Fbc liefert ebenfalls die 'echte' Position und schwankt ebenfalls im Bereich von <0.01mm

Ich habe den Roboterarm auf eine Blisterfolie aufsetzen lassen, um genuegend Elasitizitaet zu erhalten. Das erklaert auch die Schwankungen.
Einen richtigen 'Endpunkt' in diesem SInne gibt es ja nicht, aber ich kann mit einem Threshold ja nun festlegen, ab welcher Abweichung die Fahrt als beendet gesehen werden kann.

Wie gesagt ist eine Loesung mit federnd gelagertem Sauger nicht moeglich, weil die Federung in der XY Eben zusaetzliches Spiel einbringt und wir die Positioniergenauigkeit des Roboters maximal ausreizen muessen. Zudem bringt diese Mechanik einen weiteren zusaetzlichen Verbau in Z-Richtung, den wir uns ebenfalls nicht leisten koennen.
Deshalb der ganze Aufwand mit dem compliance Mode. Aber so langsam komme ich schon dahin, wo ich hin will.

Ach genau: und letztlich kann ich als Trigger ja auch das Signal des Vakuums verwenden. Wenn das existiert, passt ja alles. Nur wenn aus irgendwelchen Gruenden das Vakuum nicht erzeugt werden kann, ist die Abfrage der Positionsabweichung von weiterem Interesse.

Alex.


  • gefällt mir    Danke

Heute um 21:33:12
Antwort #9

Werbung

Gast


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH