PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo Geschw. regeln für "sicherheitskrit." Robbi?



bjoerng
09.02.2011, 13:35
Hi,

folgendes Problem: Mein Robbi (R2-D2-Replik, 1,20m, 50kg) ist häufiger auf Messen / Conventions unterwegs und von kleinen bis ganz kleinen Kindern umringt, denen er theoretisch ordentlich weh tun kann. Oberste Prämisse: Das ist in jedem Fall zu vermeiden. In solchen Situationen ist er im Regelfall ferngesteuert, ergo bin ich selbst der Regler.

Gleichzeitig hab ich ihn aber auch oft zuhause und möchte mit Autonomie experimentieren. Dazu brauche ich eine PC-Steuerung.

Die Plattform-Bewegung macht ein Mikrocontroller (Arduino) mit über PWM angebundenem Motorsteller. An den Rädern habe ich Encoderscheiben, der Mikrocontroller zählt interruptgetrieben die Ticks, erlaubt also jetzt schon eine Koppelodometrie, macht aber auf Basis der Encoderticks noch keine Geschwindigkeitsregelung. Statt dessen macht er auf Basis einer kalibrierten RPM-to-PWM-Kurve aus der Geschwindigkeitsanforderung, die er bekommt, einen PWM-Duty-Cycle und gibt den auf den Motorsteller, so daß er "Pi mal Daumen" der Anforderung nachkommt. Wenn die Batterie nachläßt, stimmt das natürlich nicht mehr.

Zu den Eckdaten: Der Mikrocontroller stellt alle 10ms am Motorsteller und liefert alle 40ms Encoderticks und Status an den PC. Ebenfalls alle 40ms holt er sich neue Soll-Eingangsdaten von Fernbedienung bzw. PC. Die Motoren machen so ca. 200rpm max, das ergibt mit meinen 15cm-Rädern ungefähr 6km/h max. Die Encoder liefern pro Umdrehung 1800 Ticks.

Wenn ich mit PC steuern will, ergeben sich für mich jetzt zwei Möglichkeiten:

1. Ich realisiere eine Geschwindigkeitsregelung im Mikrocontroller auf Basis der Encoderticks. Da ich nicht zwei verschiedene Modi auf dem Mikrocontroller haben will (Softwarekomplexität), würde diese Regelung den aktuellen Geschwindigkeitssteller ersetzen, also auch bei Fernsteuerung zum Tragen kommen. Vorteil aus meiner Sicht: Geringerer Regelaufwand auf der Strecke zwischen Rad und PC, weil die Regelung näher ans Rad rückt. Nachteil: Höherer programmatischer und mechanischer Absicherungsaufwand (wenn ein Encoder spinnt, spinnt möglicherweise der Regler und gibt Gas, und das eben auch, wenn ferngesteuert gefahren wird).

2. Ich realisiere eine Geschwindigkeitsregelung im PC auf Basis von Encoderticks und "Pi mal Daumen"-Geschwindigkeitsanforderungen an den Mikrocontroller. Vorteil: Hohe Systemsicherheit, primitiver Softwareaufbau auf dem Mikrocontroller. Nachteil: Relativ hohe Ungenauigkeit, weil die Geschwindigkeitsanforderung ja nicht ausgeregelt wird, und zeitliche Trägheit auf der Regelstrecke.

Die nachgelagerte Positionsregelung kommt auf jeden Fall in den PC.

Mir fehlt die Erfahrung, die Ungenauigkeit und zeitliche Trägheit abzuschätzen. Was meint Ihr? Wie würdet Ihr sowas aufbauen? Oder gibt es noch weitere Möglichkeiten, die mir noch gar nicht aufgefallen sind?

Vielen Dank im Voraus!

bjoerng
11.02.2011, 23:23
Niemand ne Idee?

TobiKa
11.02.2011, 23:29
Was den Betrieb per Fernsteuerung angeht (ich nehme mal an Funk), solltest du aufjedenfall dafür sorgen das er sobald er kein Signal mehr bekommt sofort stehen bleibt. Ist im RC Modellbau auch nichts anderes. Bei meinem Auto 12kg und bis zu 80km/h ist sowas auch verbaut, alles andere ist unverantwortlich.

oberallgeier
11.02.2011, 23:36
... eine Koppelodometrie ...Eine interessante Wortschöpfung. Oder gibts das wirklich?
... fehlt die Erfahrung, die Ungenauigkeit und zeitliche Trägheit abzuschätzen ...Dafür gibts erstens die Suchfunktion, zweitens das RNWissen und schließlich noch Google. Stichwort Regelung und Rege lungstechnik.

Klick hier (http://www.rn-wissen.de/index.php/Regelungstechnik#Realisierung_mit_digitalem_Regler ) und lies, am Besten den ganzen Artikel.
Und hier (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=538317#538317) und lies, da habe ich ein bisschen was über !meine! Realisierung des Problems skizziert - mit Links zu ausführlichen Beschreibungen. Meine Regelung läuft ohne PC, nur am Controller; der mega168 oder m328 hat genug Kapazität für "alles". Es bleibt noch Platz z.B. für eine IR-Fernsteuerung (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=533106#533106) . . . .

Viel Erfolg