P2, Frage zu Funktionen

Ithaqua
Mausschubser
Mausschubser
Beiträge: 65
Registriert: 2. Apr 2005 20:59

P2, Frage zu Funktionen

Beitrag von Ithaqua »

Hallo!
Worin liegt denn Eurer Meinung nach der Unterschied der Funktionen regler und CLP?
Beide sollen doch die Drehmomente berechnen.
Wo sollen wir denn implementieren?

Draco
Nichts ist wie es scheint
Beiträge: 23
Registriert: 26. Nov 2005 14:05

Beitrag von Draco »

Hi,

ich finde die Aufgabenstellung total konfus.

Zuerst geht es um eine Funktion regler.m (ich denke damit ist regler.sci gemeint). Dann gibts aber wie erwähnt auch eine CLP.sci. Demnach würde ich in regler.sci die Funktion zum Plotten und einen Aufruf der Funktion CLP in regler.sci implemntieren. Den Rest in CLP.sci.

Weiter unten steht die P2_Rob2.sci könne als Vorlage verwendet werden bzw T2i_Rob2.sci zum testen, die ich jedoch beide garnicht gefunden habe.

Auf der Übungseite steht etwas von main() als Hauptprogramm, und es gibt eine T2 zum runterladen, die ich aber nicht verstehe (woher kommt z.B. die Variable dgl). Dazu sind überall Aufrufe der Form exec('regler.sci', -1) enthalten, die bei mir immer nur zu einer Fehlermeldung führen.

Zuletzt soll dann aber alles in einer Datei P2_XXXXXXX.sci abgeschickt werden.

Was denn nun? :roll:

Ithaqua
Mausschubser
Mausschubser
Beiträge: 65
Registriert: 2. Apr 2005 20:59

Beitrag von Ithaqua »

Stimmt.
Ich hab gestern ne Stunde lang versucht, mich einzuarbeiten, hab dann aber ob der Masse an Dateien einfach aufgegeben und mich wieder der Übung gewidmet.

Mindestes hab ich die Fehlermeldungen in den Exec-Zeilen wegbekommen.
In dieses Zeilen werden externe Dateien geladen und deren Funktionen eingebunden.
Setze einfach vor den Dateinamen deinen absoluten Pfad, wo du das Archiv entpackt hast.

Draco
Nichts ist wie es scheint
Beiträge: 23
Registriert: 26. Nov 2005 14:05

Beitrag von Draco »

Danke,

ich werde noch ein bischen rumprobieren...

C.
Mausschubser
Mausschubser
Beiträge: 64
Registriert: 29. Nov 2004 23:14

Beitrag von C. »

Man kann auch einfach das Arbeitsverzeichnis auf den entpackten Ordner setzten;)
Z.B. scilab einfach in diesem Ordner starten, oder sich per cd pfad hindurchhangeln.
Dann muss man bei der Abgabe wenigstens keine Pfade mehr umbenennen.

Benutzeravatar
Maestro
Mausschubser
Mausschubser
Beiträge: 67
Registriert: 21. Feb 2005 01:53

Beitrag von Maestro »

Wie habt ihrs denn jetzt im Endeffekt, also welche Funktionen wo implementiert?

Und die Funktion tau, die man programmieren soll, auf den ersten Blick wirkt es so als wäre das einfach das abschreiben der Formel die in der Aufgabenstellung steht?

Benutzeravatar
Maestro
Mausschubser
Mausschubser
Beiträge: 67
Registriert: 21. Feb 2005 01:53

Beitrag von Maestro »

Also es ist ja wohl so, dass man nicht das tau, also die Stellgröße, sondern das tau_tilde berechnen soll, die Regelgröße.

Aber welche Rolle spielt dann die Bewegungsgleichung die vorgegeben wird? Laut Skript wird Tau_tilde ja etwas anders berechnet, aus kv & kp; q_dotdot und e und e_dot.

Und wie bekommt man denn das q_dotdot?

Ithaqua
Mausschubser
Mausschubser
Beiträge: 65
Registriert: 2. Apr 2005 20:59

Programmieraufgabe 2

Beitrag von Ithaqua »

Sitzt von Euch noch jemand an dieser Aufgabe?

Meiner Meinung nach können wir in CLP die Sollposition des Endeffektors berechnen.
Daraus wäre es dann möglich mittels INVKIN die Soll-Winkel der Gelenke zu berechnen.
Allerdings ist für INVKIN der komplette Roboter notwendig und den haben wir ja nicht in der Funktion CLP.

Hab jemand ne Idee, wie man die Sollwerte der Gelenkwinkel bekommt?

heinrich
Mausschubser
Mausschubser
Beiträge: 43
Registriert: 25. Apr 2006 17:35

Beitrag von heinrich »

sind das nicht q_act und qdot_act? (zum zeitpunkt t)

wir haben gerade ein konzeptionelles problem: in dgl wird ja tau berechnet, nicht das t_dach. - Wie bekommen wir allerdings dort kv und kp untergebracht(die müssen ja in cdl definiert sein, jedoch fehlt uns da ein bischen die formel zu?!)

Ithaqua
Mausschubser
Mausschubser
Beiträge: 65
Registriert: 2. Apr 2005 20:59

Beitrag von Ithaqua »

q_act und qdot_act sind doch die momentanen Werte, also die aus dem vorherigen Zeit-Intervall, oder?

Und die desired-q's sind die, die erreicht werden sollen.
Damit können dann die e's (Abweichungen, gemäß 6.3.5 im Skript) berechnet werden.

Oder nehmt Ihr ne andere Formel?

Ithaqua
Mausschubser
Mausschubser
Beiträge: 65
Registriert: 2. Apr 2005 20:59

Beitrag von Ithaqua »

heinrich hat geschrieben: wir haben gerade ein konzeptionelles problem: in dgl wird ja tau berechnet, nicht das t_dach. - Wie bekommen wir allerdings dort kv und kp untergebracht(die müssen ja in cdl definiert sein, jedoch fehlt uns da ein bischen die formel zu?!)
In der Test-Datei steht drin kp sei 10.
Wir haben das einfach mal in CLP so gesetzt.
Und dann kv = 2*sqrt(kp) für kritische Dämpfung genommen.

Außerdem berechnet dgl nicht Tau sonder q_dotdot.
Ich denke tau und tau^ sind gleich.

Ithaqua
Mausschubser
Mausschubser
Beiträge: 65
Registriert: 2. Apr 2005 20:59

Beitrag von Ithaqua »

Ich weiß echt nicht mehr weiter.
Wie können die Gelenkwinkel-Koordinaten mit den kartesischen Koordinaten der Trajektorie in Verbindung gebracht werden?
Eigentlich mit INVKIN, aber dafür braucht man die Struktur des kompletten Scaras, welcher aber in CLP nicht zur Verfügung steht...

Benutzeravatar
Ronny
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 133
Registriert: 18. Nov 2005 14:33
Wohnort: IGD

Beitrag von Ronny »

Ich hoffe, ich bin nicht zu spät. Der Roboter ist global in der Testdatei definiert. Man kann von überall mit der Variable "rob" auf ihn zugreifen.

Ithaqua
Mausschubser
Mausschubser
Beiträge: 65
Registriert: 2. Apr 2005 20:59

Beitrag von Ithaqua »

Kann es sein, dass die Funktion für die Trajektorie in trajectory.sci andersrum definiert ist, als die auf dem Übungsblatt gegebene?

Und noch ne Frage:
Nach Kapitel 6.3.5 berechne ich tau^.
Auf tau komme ich doch mit der Partitionierung über Alpha und Beta.

Code: Alles auswählen

f = [rob.m1; rob.m2]'*tau_dach + beta
Aber wie kommt man auf Beta?
Dafür sind b und k notwendig, die ja nicht bekannt sind...

Antworten

Zurück zu „Archiv“