Forum: PC-Programmierung Regelbasierte Automatisierung


von Frager (Gast)


Lesenswert?

Ich suche Bücher, Links, Ideen, Ansätze für folgenden Gedanken:
Einfach Prozesse können algorithmisch exakt beschrieben und geregelt 
werden. Eine Drehzahl wird gemessen, ein Motor so geregelt, dass die 
Drehzahl auf konstantem Wert gehalten wird. Komplexere Prozesse könnten 
zB sein, ein Uboot mit definierter mittlerer Geschwindigkeit entlang 
einer vorgegebenen Bahn zu fahren, auch hier können Eingangsgrößen noch 
klar den Aktoren zugeordnet werden (Abweichung in X-Achse wird auf den 
Regler der X-Aktoren gegeben usw).
Wenn die Aufgaben aber noch größer und die Aufgabenstellung allgemeiner 
wird, funktioniert das nicht mehr gut.

Nehmen wir als etwas doofes Beispiel eine Strasse, die autonom geteert 
werden muss, ohne sie zu kennen. Die Teermaschine hat eine einstellbare 
Breite zwischen 4 und 6 Metern. Anfangs passen zB 3 Bahnen a 5m 
nebeneinander, die Breite der Strasse wächst auf 19m an. Die 
Teermaschine fährt also die erste Bahn am Rand entlang und erkennt die 
steigende Breite. Sie kompensiert mit proportional gesteigerter 
Teerbreite, bis sie am Maximum von 6m ist. Bei 3x6=18m kann die Strasse 
also nicht komplett gefüllt werden, an dieser Stelle ist es nötig, auf 
vier Bahnen umzustellen. Da hier schon mit 6m geteert wurde, bleiben 13m 
Breite über, die mit weiteren 3 Bahnen in den nächsten Durchläufen 
gefüllt werden müssen. Weiter vorne verengt sich die Straße auf 11m 
Breite, hier können nur noch 2 Bahnen parallel geteert werden. 
Vielleicht kommt es auch vor, dass die Straße schmaler als 4m wird, dann 
soll der Rest davor trotzdem geteert werden, für diese Stelle eine 
Fehlermeldung ausgegeben werden und nach dem teeren aller teerbaren 
Abschnitte soll angehalten werden. Oder die Straße wächst auf 25m Breite 
an, dann soll auch gemeldet werden und bis zur Stelle mit 24m Breite 
geteert werden.

Für diesen Ablauf sollen Start- und Zielkilometermarke definiert werden 
sowie oben angeschnittene Regeln:
-teere mit 1 bis 4 Bahnen
-Verstellbereich Teerbreite 4 bis 6 Meter
-teere gierig (also bei Fehlern nicht aufhören, sondern alles andere 
fertigstellen)
-gleiche Bahnbreiten an (also bei 10m Breite nicht 6+4, sondern 5+5)

Nach dem Auftrag wird ein anderer "Teerkopf" an die Maschine geschraubt, 
die Parameter werden geändert und die nächste Straße wird geteert...

Dieses Beispiel ist noch sehr simpel, aber verdeutlicht doch das 
Problem. Wie bringt man Maschinen ein solches regelbasiertes Verhalten 
bei? Wie übersetzt man automatisch von der Sprache des Anwenders in 
Programmierlogik? Wie kann man Maschinen einen "Expertenblick" 
beibringen?

von Jens Martin (Gast)


Lesenswert?

Frager schrieb:
> Nehmen wir als etwas doofes Beispiel eine Strasse, die autonom geteert
> werden muss

Du hast von Straßenbau noch weniger Ahnung als ich. Das geht damit los 
das auf der Baustelle gerade wenn die Fahrbahndecke gemacht wird (als 
Vorletztes vor der Markierung) jede Menge Leute rumwieseln die alle noch 
vor deiner Maschine was zu tun haben (Unterbau, Drainage, Leitungen 
Böschung etc. p.p.). Dann ist das Material nicht da weil der Teerkocher 
im Stau steckt und wenn er kommt die Masse kalt weil inzwischen das Gas 
alles ist. Wenn neue Flaschen besorgt sind und das Zeugs wieder heiß ist 
fängt es an zu regnen und du kannst immer noch nicht arbeiten. Dann ist 
der Regen weg, der Untergrund trocken aber kein Tageslicht mehr. Morgen 
geht es weiter, übermorgen kommt der Minister mit der Schere.

Das ist nur der Kram der mir in 30 Sekunden einfällt. Wenn du auch nur 
das automatisierst bekommst brauchst du dir keine Sorgen mehr machen. 
Die Nutzer der Autobahn werden nämlich auch Roboter sein ;-).

von P. M. (o-o)


Lesenswert?

Frager schrieb:
> Dieses Beispiel ist noch sehr simpel, aber verdeutlicht doch das
> Problem. Wie bringt man Maschinen ein solches regelbasiertes Verhalten
> bei?

Programmierung nennt sich sowas. Gibt diverse Sprachen dafür ;-)

Klar hat man für typische Teilaufgaben Methoden entwickelt, um 
systematisch einen Steueralgorithmus zu entwerfen (z.B. State Machines), 
aber dafür musst du schon konkreter werden. Für den allgemeinen Fall 
kann man nichts konkreteres empfehlen, als ein Buch zur Programmierung.

von Georg (Gast)


Lesenswert?

Frager schrieb:
> Wie kann man Maschinen einen "Expertenblick"
> beibringen?

Mit Hilfe eines Expertensystems - googel mal damit, das Problem ist 
schon ziemlich alt und ziemlich durchdiskutiert, eigentlich sollte es 
schon jede Hausfrau kennen.

Im Prinzip definiert ein menschlicher Experte einfache Regeln wie 
Mindestbreite 4 m und gibt so sein Wissen an das System weiter. Das 
zieht ALLE Regeln in Betracht (an dem Punkt ist es sogar Menschen 
überlegen) und sucht eine optimale Lösung, die alle Regeln beachtet, ev. 
auch gewichtet. Das ganze kann man einfach kaufen, die Regeln für ein 
bestimmtes Fachgebiet muss man natürlich selber eingeben.

Georg

von думжвац (Gast)


Lesenswert?

Es ist vieles machbar. Die Frage ist jeweils wie teuer ist so eine 
Entwicklung, was sind die Vorteile, wo ist sie besser als Manpower,
und wann ist die Entwicklung amortisiert. Dabei sollte man auch 
Fehlverhalten, Schaeden, usw einbeziehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.