1. Dashboard
    1. Dashboard
    2. Suche
  2. Forum
    1. Unresolved Threads
  3. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Search Members
  4. Jobs
  5. Articles
  6. Calendar
    1. Upcoming Events
    2. Map
  7. Shop
    1. Orders
    2. Shipping Costs
  • Login or register
  • Search
Roboterprogrammierer finden
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Events
  • Files
  • Products
  • More Options
  1. Roboterforum.de - die Industrieroboter und Cobot Community
  2. Forum
  3. Industrieroboter Support
  4. KUKA Roboter
Your browser does not support videos Handwerk automatisieren - ich schaffs mit KUKA
besuche unseren Partner
Roboterschulung Online
Robot Support Forum
Advertise in Robotics
Der Roboterkanal
Deutscher Robotikverband
Werben in Robotik
Werben für Robotik

Kollisionserkennung

  • Spiral
  • July 8, 2022 at 2:11 PM
  • Thread is Resolved
  • Spiral
    Reactions Received
    4
    Points
    1,239
    Trophies
    1
    Posts
    224
    • July 8, 2022 at 2:11 PM
    • #1

    Hallo,

    habe bei einem KRC4 8.6.8 Roboter die Kollisionserkennung eingeschaltet. Nach einlernen der Bereiche im collmonlib.dat die Werte waren gespeichert.

    Nächsten Tag aus irgendeinem Grund im collmonlib.dat standen nur Default Werte. Habe die Datei aus dem Backup eingespielt, sind aber immer noch Default Werte drin.

    Hat jemand eine Idee was das sein kann?

    Edited once, last by Spiral (July 9, 2022 at 3:53 PM).

  • Schritt für Schritt zum Roboterprofi!
  • Georg25
    Points
    105
    Posts
    16
    • July 11, 2022 at 6:51 AM
    • #2

    Hallo.

    Probier mal herunterfahren mit den Haken Dateien neu einlesen.

    Gruß

    Georg25

  • Spiral
    Reactions Received
    4
    Points
    1,239
    Trophies
    1
    Posts
    224
    • July 11, 2022 at 7:08 AM
    • #3

    Hallo,

    es hat geklappt. Danke!

  • AmA
    Points
    145
    Posts
    23
    • April 25, 2024 at 8:03 AM
    • #4

    Ich kapere mal diesen alten Thread!

    Ich habe das Problem das mir 32 Datensätze für meine Kollisionserkennung zu wenig sind (zu viele Stationen, zu viele verschiedene Bauteile...)

    Hat schon mal jemand ein ähnliches Problem gehabt und gelöst?

    Am liebsten wäre mir wenn ich die Daten in der Collmonlib.dat direkt beschreiben könnte, aber da bekomme ich nur Fehlermeldungen.

  • Online
    woodys
    Reactions Received
    35
    Points
    3,175
    Trophies
    8
    Posts
    589
    • April 25, 2024 at 4:58 PM
    • #5
    Quote from AmA

    Ich kapere mal diesen alten Thread!

    Ich habe das Problem das mir 32 Datensätze für meine Kollisionserkennung zu wenig sind (zu viele Stationen, zu viele verschiedene Bauteile...)

    Hat schon mal jemand ein ähnliches Problem gehabt und gelöst?

    Am liebsten wäre mir wenn ich die Daten in der Collmonlib.dat direkt beschreiben könnte, aber da bekomme ich nur Fehlermeldungen.

    Servus ....Also ich nutze die Kollisionserkennung gar nicht....das ist mir zu empfindlich....und wie du schon sagst ist das Produkt abhängig usw.....

    Ich habe mir was eigenes gemacht....so bin ich viel Flexibler und kann so viele nehmen wie ich will...

    Ich mach das zb. so....

    Code
    ; Ich definiere mir ein Maxmoment welches für den Prozess/abarbeitung maximal haben darf
    
    MAXMoment[1]=50
    MAXMoment[2]=38
    MAXMoment[3]=42
    MAXMoment[4]=19
    MAXMoment[5]=25
    MAXMoment[6]=28
    
    $CYCFLAG[4]=(($TORQ_DIFF[1]>MAXMoment[1])OR($TORQ_DIFF[2]>MAXMoment[2])OR($TORQ_DIFF[3]>MAXMoment[3])OR($TORQ_DIFF[4]>MAXMoment[4])OR($TORQ_DIFF[5]>MAXMoment[5])OR($TORQ_DIFF[6]>MAXMoment[6]))
    INTERRUPT DECL 106 WHEN $CYCFLAG[4]==TRUE DO KOLLISION()
    Display More
    Code
    ;vor der Überwachung alle 6 Achsen die Differenz auf 0 setzen
    FOR Q = 1 TO 6
        $TORQ_DIFF[Q]=0
    ENDFOR
    WAIT SEC 0.1
    INTERRUPT ON 106     ;KOLLISION
    Code
    ;Damit man weiss welche werte man für den Prozess benötigt, gibt man noch eine Toleranz von +10 für alle 6 Achsen Hinzu um die Sensibilität zu erhöhen
    FOR Q = 1 TO 6
        ACTMoment[Q]=$TORQ_DIFF[Q] +10
    ENDFOR


    Code
    ;Wenn Kollision erkannt wird, wird zum Schutz des Werkzeugs freigefahren
    GLOBAL DEF KOLLISION()
       
       INTERRUPT OFF 106
        LIN_REL SAFEPOS_ENTNAHME
        BRAKE
        HALT
        WAIT FOR e_KUKA_GST_Roboter ;Aufforderung Grundstellung
        WAIT SEC 1
       
    END
    Display More
  • AmA
    Points
    145
    Posts
    23
    • April 26, 2024 at 7:28 AM
    • #6
    Quote from woodys

    Servus ....Also ich nutze die Kollisionserkennung gar nicht....das ist mir zu empfindlich....und wie du schon sagst ist das Produkt abhängig usw.....

    Ich habe mir was eigenes gemacht....so bin ich viel Flexibler und kann so viele nehmen wie ich will...

    Ich mach das zb. so....

    Code
    ; Ich definiere mir ein Maxmoment welches für den Prozess/abarbeitung maximal haben darf
    
    MAXMoment[1]=50
    MAXMoment[2]=38
    MAXMoment[3]=42
    MAXMoment[4]=19
    MAXMoment[5]=25
    MAXMoment[6]=28
    
    $CYCFLAG[4]=(($TORQ_DIFF[1]>MAXMoment[1])OR($TORQ_DIFF[2]>MAXMoment[2])OR($TORQ_DIFF[3]>MAXMoment[3])OR($TORQ_DIFF[4]>MAXMoment[4])OR($TORQ_DIFF[5]>MAXMoment[5])OR($TORQ_DIFF[6]>MAXMoment[6]))
    INTERRUPT DECL 106 WHEN $CYCFLAG[4]==TRUE DO KOLLISION()
    Display More
    Code
    ;vor der Überwachung alle 6 Achsen die Differenz auf 0 setzen
    FOR Q = 1 TO 6
        $TORQ_DIFF[Q]=0
    ENDFOR
    WAIT SEC 0.1
    INTERRUPT ON 106     ;KOLLISION
    Code
    ;Damit man weiss welche werte man für den Prozess benötigt, gibt man noch eine Toleranz von +10 für alle 6 Achsen Hinzu um die Sensibilität zu erhöhen
    FOR Q = 1 TO 6
        ACTMoment[Q]=$TORQ_DIFF[Q] +10
    ENDFOR


    Code
    ;Wenn Kollision erkannt wird, wird zum Schutz des Werkzeugs freigefahren
    GLOBAL DEF KOLLISION()
       
       INTERRUPT OFF 106
        LIN_REL SAFEPOS_ENTNAHME
        BRAKE
        HALT
        WAIT FOR e_KUKA_GST_Roboter ;Aufforderung Grundstellung
        WAIT SEC 1
       
    END
    Display More

    Sehr interessanter Ansatz, danke schon mal für den Denkanstoß!

    Aber ist das im Prinzip nicht so wie die "Kollisionserkennung Alt"?

    Also ein Set_TQ_Values()?

  • Online
    woodys
    Reactions Received
    35
    Points
    3,175
    Trophies
    8
    Posts
    589
    • April 26, 2024 at 7:46 AM
    • #7
    Quote from AmA

    Sehr interessanter Ansatz, danke schon mal für den Denkanstoß!

    Aber ist das im Prinzip nicht so wie die "Kollisionserkennung Alt"?

    Also ein Set_TQ_Values()?

    Guten Morgen….

    Ja/nein….. das sind ja quasi diese Momenten Begrenzungen wenn ich mich recht entsinne…anhand den Values kann man ja drücken/ziehen um schäden zu vermeiden…

    Aber durch umfunktionieren geht das fast mit dem selben Prinzip…da hatte ich damals immer das Problem zb. bei füge prozesse es dann zu einer stoppmeldung kommt und es weiter aufgedrückt wurde während der Roboter steht mit dem haltemoment.

    So habe ich das einfach standardisiert für KRC2/KRC4 und läuft bis heute…

  • maxiTC3
    Points
    210
    Posts
    35
    • January 6, 2025 at 10:38 AM
    • #8

    Hallo zusammen, ich greife das Thema nocheinmal auf. Ich stehe aktuell vor einer ähnlichen Aufgabe und kann noch nicht ganz nachvollziehen wie ihr MAXMoment bestimmt. Mit dieser Schleife von woodys =

    FOR Q = 1 TO 6

    ACTMoment[Q]=$TORQ_DIFF[Q] +10

    ENDFOR

    wird doch durchgehend der Wert überschrieben und kein (Spitzenwert ausgegeben). Wie weis ich dann welchen Wert ich in MAXMoment einzutragen habe?

    Vielen dank für die Hilfe im vorraus.

  • Online
    woodys
    Reactions Received
    35
    Points
    3,175
    Trophies
    8
    Posts
    589
    • January 8, 2025 at 3:51 PM
    • #9
    Quote from maxiTC3

    kann noch nicht ganz nachvollziehen wie ihr MAXMoment bestimmt

    Maxmoment wird händisch eingetragen...und zwar dieses was im ACTMoment[Q] drinsteht.

    ACTMoment[Q]=$TORQ_DIFF[Q] +10 /// hier wird +10 aufaddiert...damit er nicht so Sensiebel Reagiert.....man kann dies Händeln wie eine Toleranz.

    $TORQ_DIFF[Q] gibt dir einen Spitzenwert für alle 6 Achsen die du für deinen Prozess benötigst...Auf Grund Wärme, Schlauchpakete, Getriebe etc. rechne ich eine Toleranz von 10 hinzu...erhöht man diese Toleranz dann kann man logischerweise mehr widerstand aufbringen. Entweder bestimmt man das für alle 6 Achsen gleichzeitig oder eben einzeln.


    Im laufenden Prozess werden sich die werte was in ACTMoment[Q] drinstehen stabilisieren....

    Das sind dann im Idealfall inkl. Toleranz die Werte was in MAXMoment eingetragen wird was ermittelt wurde.


    Sobald $TORQ_DIFF[Q] > MAXMoment dann wird per Interrupt reagiert und der Kollisionsbereich entlastet.

    Man kann es natürlich auch völlig automatisieren...

  • maxiTC3
    Points
    210
    Posts
    35
    • January 9, 2025 at 11:23 AM
    • #10

    Vielen dank für die Antwort, ich habe es jetzt völlig automatisiert indem ich ACTMoment für alle 6 Achsen auslese und an meine Beckhoff Steuerung schicke. Ich habe für die Roboterbewegung mehrere Bereiche festgelegt um das ganze ein bisschen empfindlicher zu machen. Zwischen diesen Bereichen Schalte ich im Prozess quasi immer um und trage die für den Bereich maximalen Daten ein. Dadurch realisiere ich zwischen den Bereichen indenen ACTMoment sehr unterschiedlich ist, so sensibel wie möglich zu überprüfen ob eine Kollision besteht. Anlage läuft seit 2 tagen durch und funktioniert einwandfrei. Getestet habe ich natürlich auch ob er bei überlast auch auslöst. Danke für den Beitrag, war ein gutes Grundgestell! Bei Interesse kann ich meinen Source code hier auch einmal Teilen.

  • Online
    woodys
    Reactions Received
    35
    Points
    3,175
    Trophies
    8
    Posts
    589
    • January 9, 2025 at 12:29 PM
    • #11
    Quote from maxiTC3

    Vielen dank für die Antwort, ich habe es jetzt völlig automatisiert indem ich ACTMoment für alle 6 Achsen auslese und an meine Beckhoff Steuerung schicke. Ich habe für die Roboterbewegung mehrere Bereiche festgelegt um das ganze ein bisschen empfindlicher zu machen. Zwischen diesen Bereichen Schalte ich im Prozess quasi immer um und trage die für den Bereich maximalen Daten ein. Dadurch realisiere ich zwischen den Bereichen indenen ACTMoment sehr unterschiedlich ist, so sensibel wie möglich zu überprüfen ob eine Kollision besteht. Anlage läuft seit 2 tagen durch und funktioniert einwandfrei. Getestet habe ich natürlich auch ob er bei überlast auch auslöst. Danke für den Beitrag, war ein gutes Grundgestell! Bei Interesse kann ich meinen Source code hier auch einmal Teilen.

    Super ,dass er dir gelungen ist.....:thumbup:


    über einen Code freut man sich immer...evtl. hat mal jemand ein ähnliches Thema...oder einfach eine Gedankenstütze falls man mal den Wald vor Bäumen nicht sieht^^

Tags

  • 1
  • 33
  • 2
  • ABB
  • ABB Roboter
  • ABS
  • base
  • constant
  • CP_PARAMS
  • Dialog
  • EX
  • fanuc
  • Fehler
  • FRAMES
  • INIT
  • INITIALIZED
  • INITMOV
  • IRC5
  • joint
  • KRC2
  • KRC4
  • kuka
  • new
  • NONE
  • notify
  • PATH
  • PGNO_GET
  • profinet
  • PTP_DAT
  • PTP_PARAMS
  • P_ACTIVE
  • P_FREE
  • P_RESET
  • P_STOP
  • Quit
  • Roboter
  • RobotStudio
  • Schweißen
  • Sps
  • Sync
  • T1
  • t2
  • tcp
  • Tool
  • VALUE
  • VAR
  • vel_cp
  • vel_ptp
  • Yaskawa
  • YRC1000
AD
Your browser does not support videos autonome mobile Roboter von KUKA
Einloggen für weniger Werbung

gesponserte Artikel

  • Gebrauchtroboter kaufen - Was ist zu beachten. Die Checkliste zum kauf von gebrauchten Robotern

    August 11, 2019 at 7:02 PM
  • Was macht ein Roboterprogrammierer genau und was verdient er?

    August 21, 2019 at 8:17 AM
  • Vernetzen, referenzieren, kollaborieren: Das B2B Portal für die Produktionsautomatisierung

    June 2, 2021 at 11:29 AM

Job Offer

  • Sie wollen Ihr Stellenangebot im Roboterforum schalten? Ab 149€

    Werner Hampel June 17, 2021 at 9:52 AM
  • Werde Roboterprogrammierer bei ROBTEC GmbH in Mainburg / Bayern

    Werner Hampel April 5, 2023 at 7:13 PM
Werbung auf Roboterseite
Roboter programmieren lernen
Banner Robotik

Similar Threads

  • Getriebemoment

    • woodys
    • January 21, 2020 at 7:00 PM
    • KUKA Roboter
  • Kollisionserkennung -> welche Achse ausgelöst?

    • doc_rob
    • March 10, 2020 at 10:53 AM
    • KUKA Roboter

Wieviele Mitglieder waren heute eingeloggt?

Logge Dich ein, um hier zu lesen wer in den letzten 24h Online war und um weniger Werbung zu sehen.

  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™ 6.0.22
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on Google Play
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on the App Store
Download