18. Februar 2019, 00:57:22
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

 Achsbegrenzung auslesen in RAPID-Programm


normal_post Autor Thema:  Achsbegrenzung auslesen in RAPID-Programm  (Gelesen 1378 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

03. Juli 2013, 10:41:37
Gelesen 1378 mal
Offline

FabbKU


Hallo Robotiker,

ich beschäftige mich gerade mit der Überprüfung der Erreichbarkeit vor der Abfahrt einer Bahn. Aktuell trage ich die jeweilige Begrenzung einer Achse manuell ein und überprüfe dann, ob die Achsstellung an der Zielpose noch innerhalb dieser Begrenzung liegt. Hier ein Beispiel für Achse 1:

CONST num JNT_SPC_LIM_MIN_RAX_1 := -180;
CONST num JNT_SPC_LIM_MAX_RAX_1 := 180;

FUNC bool CheckReachability(jointtarget dstJt)
IF     dstJt.robax.rax_1 < JNT_SPC_LIM_MIN_RAX_1 OR dstJt.robax.rax_1 > JNT_SPC_LIM_MAX_RAX_1 THEN
        RETURN FALSE;
ELSEIF ....
ENDFUNC


Gibt es in RAPID die Möglichkeit die Achsbegrenzung eines Roboters (IRB 140, IRC5) zu erfragen, sodass man sie nicht manuelle eintragen muss?

Vielen Dank!

Gruß
FabbKU
  • gefällt mir    Danke

Heute um 00:57:22
Antwort #1

Werbung

Gast

03. Juli 2013, 13:54:00
Antwort #1
Offline

Programmiersklave


Die Frage selbst kann ich Dir nicht beantworten, aber das Ziel kannst Du auch erreichen, wenn Du CalcRobT und CalcJointT benutzt. Beim Umrechnen mit CalcJointT überprüft der Robbi, ob die Achsstellung überhaupt möglich ist.
Ich habe es also mal so gelöst, dass ich Jointtargets erst mit CalcRobT in ein Robtarget temporär und für nix weiter umgewandelt habe (was bei Robtargets natürlich entfällt), und dann ebenso sinnlos wieder ein Jointtarget draus gemacht habe. Wenn das nicht möglich ist, dann wird es ein behandelbarer Fehler, der anzeigt, dass die Achsstellung nicht erreichbar ist.

Grüße,
Michael

  • gefällt mir    Danke

03. Juli 2013, 15:39:31
Antwort #2
Offline

FabbKU


Hallo Michael,

danke trotzdem für deine Antwort ;)
Das stimmt CalcJointT fängt das schon ab bzw. über ERR_ROB_LIMIT erkenne ich, ob die Pose erreichbar ist oder nicht. Meine Intention dahinter ist auch, dass ich gerne Posen erkennen würde, die sich in der Nähe eines Achsanschlags befinden und dafür bräuchte ich die Begrenzungen. Die würde ich ungern bei jedem Roboter manuell eintragen :denk:
  • gefällt mir    Danke

03. Juli 2013, 16:34:54
Antwort #3
Offline

Programmiersklave


Hast Du schon mal mit ReadCfgData versucht?
Müsste so gehen in der Art:

var num JNT_SPC_LIM_MAX_RAX_1;

 ReadCfgData "/MOC/ARM/rob1_1","upper_joint_bound", JNT_SPC_LIM_MAX_RAX_1;
Entsprechend der MOC.CFG halt.

Habs aber noch nie benutzt.

Grüße,
Michael



« Letzte Änderung: 03. Juli 2013, 16:47:13 von Programmiersklave »
  • gefällt mir    Danke

04. Juli 2013, 13:26:54
Antwort #4
Offline

FabbKU


Hallo Michael,

danke, ich hatte bisher noch nicht mit ReadCfgData gearbeitet, aber genau so funktioniert es! :danke:
  • gefällt mir    Danke

Heute um 00:57:22
Antwort #5

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