Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched.
Close
basierend auf dem netten Video von Codesys auf Youtube habe ich mir einen kleinen Roboter zugelegt und wollte diesen via Softmotion ansteuern.
Die Ansteuerung erfolgt über einen PCA 9685. Hierbei war die erste Punkt, dass die Frequenz nicht 50Hz sondern nur 48 Hz betrug. Dies habe ich korrigiert. Faktor 0.88 war falsch sondern 0.92 müssten es sein. Dies hat aber in Bezug auf die Ansteuerung weniger Auswirkung.
Die Standardformel für 0° auf Modelbauservo mit PW 1ms und 180° bei PW 2ms stimmt auch nicht zu 100%. Dies konnte ich mittels Oszi korrigieren.
0° entsprechen ca. 0,548 ms und 180° entsprechen 2,44 ms.
Falls jemand dieses Problem auch hat
Nachdem die Konstruktion ursprünglich nicht 180° fahren konnte, war es zwangsweise logisch das die Transformation auch nicht 100%ig stimmen konnte.
Nun aber zu meinem Problem.
Die Kinematik - Berechnung funktioniert bei mir nicht
Also Roboter verwende ich einen klein SainSmart 6 - Achsen. Als Kinematik hab ich hierfür den Trafo.Kn_ArticulatedRobot_6DOF verwendet und die Werte dementsprechend eingetragen.
(Werte und Roboter im Anhang)
Bei Verfahren um Z-Achse fährt der Roboter eher eine Kreisbahn nach oben.
Bei Verfahren um X,Y bekomme ich entweder Programm outside working Area oder Axis Limit reached. Zu Deutsch außerhalb Arbeitsbereich oder Achsbegrenzung. Achsbegrenzung ist aber innerhalb Codesys abgeschalten.
Die Ironie an der Sache ist aber folgende: Verfahre ich die Achsen einzeln, im Joint Modus, rechnet sich das Programm die neuen x,y,z Koordinaten aus ohne Fehlermeldung.
Daher die Frage: Hatte das schon jemand? Bzw. habe ich einen Denkfehler drin?
Dankeschön für eure Antworten
Verfahre ich mittels PTP im HMIRobot Projekt, macht der Roboter auch seine Bewegungen. Nur im "Singlemodus" funktioniert es nicht
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2019-02-24
Originally created by: *michi
Hat keiner eine Idee?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2019-03-17
Originally created by: *michi
Hallo Edwin,
sorry für die späte Antwort, hab leider erst jetzt wieder Zeit gefunden für das ganze Thema.
Bei genauerer Betrachtung kann die Transformation, nach meinem Verständnis nicht richtig funktioniert.
Der Arm hat z.b. bei Achse 1 (Servo1 Drehachse Flansch zu Servo2 Armgelenk) bereits einen Versatz von ca. 40 mm vom Drehpunkt aus. Bei weiterer Betrachtung, haben die anderen Achsen auch einen geringen Versatz drin. In Addition mit mehreren Umrechnungen, kann das logischerweise nicht funktionieren.
Ich glaube, dafür ist die verfügbare Transformation ungeeignet.
-> Klarer Anwenderfehler
Gibt es irgendwo ein Template oder ähnliches, wo ich z.b. die Transformationen selbst definieren kann von Achse zu Achse und dies dann invers betreiben kann?
Danke dir
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Originally created by: *michi
Hallo zusammen,
basierend auf dem netten Video von Codesys auf Youtube habe ich mir einen kleinen Roboter zugelegt und wollte diesen via Softmotion ansteuern.
Die Ansteuerung erfolgt über einen PCA 9685. Hierbei war die erste Punkt, dass die Frequenz nicht 50Hz sondern nur 48 Hz betrug. Dies habe ich korrigiert. Faktor 0.88 war falsch sondern 0.92 müssten es sein. Dies hat aber in Bezug auf die Ansteuerung weniger Auswirkung.
Die Standardformel für 0° auf Modelbauservo mit PW 1ms und 180° bei PW 2ms stimmt auch nicht zu 100%. Dies konnte ich mittels Oszi korrigieren.
0° entsprechen ca. 0,548 ms und 180° entsprechen 2,44 ms.
Falls jemand dieses Problem auch hat
Nachdem die Konstruktion ursprünglich nicht 180° fahren konnte, war es zwangsweise logisch das die Transformation auch nicht 100%ig stimmen konnte.
Nun aber zu meinem Problem.
Die Kinematik - Berechnung funktioniert bei mir nicht
Also Roboter verwende ich einen klein SainSmart 6 - Achsen. Als Kinematik hab ich hierfür den Trafo.Kn_ArticulatedRobot_6DOF verwendet und die Werte dementsprechend eingetragen.
(Werte und Roboter im Anhang)
Bei Verfahren um Z-Achse fährt der Roboter eher eine Kreisbahn nach oben.
Bei Verfahren um X,Y bekomme ich entweder Programm outside working Area oder Axis Limit reached. Zu Deutsch außerhalb Arbeitsbereich oder Achsbegrenzung. Achsbegrenzung ist aber innerhalb Codesys abgeschalten.
Die Ironie an der Sache ist aber folgende: Verfahre ich die Achsen einzeln, im Joint Modus, rechnet sich das Programm die neuen x,y,z Koordinaten aus ohne Fehlermeldung.
Daher die Frage: Hatte das schon jemand? Bzw. habe ich einen Denkfehler drin?
Dankeschön für eure Antworten
Verfahre ich mittels PTP im HMIRobot Projekt, macht der Roboter auch seine Bewegungen. Nur im "Singlemodus" funktioniert es nicht
Originally created by: *michi
Hat keiner eine Idee?
hm.. ohne Projekt, schwer...zu helfen
Originally created by: *michi
Hallo Edwin,
sorry für die späte Antwort, hab leider erst jetzt wieder Zeit gefunden für das ganze Thema.
Bei genauerer Betrachtung kann die Transformation, nach meinem Verständnis nicht richtig funktioniert.
Der Arm hat z.b. bei Achse 1 (Servo1 Drehachse Flansch zu Servo2 Armgelenk) bereits einen Versatz von ca. 40 mm vom Drehpunkt aus. Bei weiterer Betrachtung, haben die anderen Achsen auch einen geringen Versatz drin. In Addition mit mehreren Umrechnungen, kann das logischerweise nicht funktionieren.
Ich glaube, dafür ist die verfügbare Transformation ungeeignet.
-> Klarer Anwenderfehler
Gibt es irgendwo ein Template oder ähnliches, wo ich z.b. die Transformationen selbst definieren kann von Achse zu Achse und dies dann invers betreiben kann?
Danke dir