Werden Roboter den Menschen versklaven?

Wenn Menschen intelligenter sind als Roboter dann mit Sicherheit nicht. Ein Toaster wird niemals anfangen sich zum Gott der Welt aufzuschwingen, auch ein Rasenmäher oder ein Bagger werden es nicht tun. Aber was ist, wenn in nicht allzuferner Zukunft Roboter intelligenter sein werden als Menschen und zwar in jedem Gebiet? Zunächst einmal würde es dazu führen, dass man Roboter nicht länger identifzieren können. Also nicht in der Lage ist, das Gegenüber als Roboter wahrzunehmen. Sondern man wird denken es wäre ein Mensch. Aber angenommen man erkennt das Gegenüber als Roboter, muss das nicht zwangsläufig heißen, dass man um sein Leben bangen muss. Man kann bekanntlich Roboter auch so programmieren, dass sie Lustig sind. Also als Entertainer, dessen IQ zwar höher ist als das seiner Zuhörer, was aber kein Problem darstellt.

Aktuell ist es so, dass dass die am höchsten entwickelten Roboter als sogenannte Social Robots programmiert werden. Also als kommunikative Roboter, welche mit Menschen interagieren und selbstverständlich ausschließlich friedliche Absichten verfolgen. Der Roboterhund Paro ist ein Beispiel, aber auch Furby oder Kismet. Der Grund dafür lautet, dass Menschen wohl nichts anderes würden akzeptieren. Vor Kampfroboter hätten sie Angst, also dürften sich solche Modelle auch nicht durchsetzen. Aber was passiert wenn man die Entwicklung einige Jahre weiterdenkt. Dann haben wir es mit einer Armee von Rbboter-Entainern zu tun die allesamt lustig und freundlich sind gleichzeitig jedem Menschen intellektuell überlegen. Kann das auf Dauer gutgehen? Ist da noch die vertraute Rangfolge vom Roboter als Diener gewahrt und haben sich nicht längst die Verhältnisse umgedreht?

Man kann sich die zukünftige Gesellschaft wie eine Art von Luxus-Gefängnis vorstellen, wo die Roboter zwar ausgesprochen höflich sind zu Menschen aber es ein klar erkennbares Machtgefälle besteht. Leider gibt es nur wenige Science-Fiktion Filme in der eine derartige Dystopie thematisiert wurde. Man kann sich das ungefähr so vorstellen als würde man im Holodeck der Enterpreise eine Simulation programmieren bei dem alle Charaktere doppelt sointelligent sind wie man selber, aber gleichzeitig ausgesprochen höflich sind. Das heißt, einem wird jeder Wunsch erfüllt nur leider versteht man seine Untertanen nicht mehr.

Wenn es einmal gelingt Roboter zu bauen die intelligenter sind als Menschen wird es unmöglich sein, dieses Defizit aufzuholen. Das Prinzip ist so ähnlich wie bei einem Schachroboter, auch dieser ist für Menschen nicht zu schlagen. Man muss realistischerweise davon ausgehen, dass sich die Gesellschaft dadurch spalten wird, in eine wissende Roboter-Kaste und in eine unwissende menschliche Kaste. Ich glaube Hans Moravec hat mal gesagt dass uns die Roboter irgendwann wie Haustiere halten werden. Der Vergleich ist passend. Auch einem Haustier gegenüber ist man freundlich, gibt ihm etwas zu fressen und streichelt es. Aber wirklich unterhalten kann man sich mit einem Hasen wohl kaum. Man versteht zwar, was den Hasen antreibt, aber ein Dialog bringt einen persönlich nicht weiter. Ungefähr das dürften Roboter empfinden wenn sie uns Menschen betrachten. Sie verstehen uns aber wir sie nicht. Das ist vermutlich das Privileg von jemandem der Intelligenter ist. Solange die Rangfolge zwischen Menschen ausgehandelt wird ist das nicht weiter tragisch. Nicht jeder Mensch kann alles wissen, und man kann sich ergänzen. Wenn aber Roboter gegen Menschen antreten sind wohl die Gemeinsamkeiten kleiner als das verbindene. In dem Sinne, dass tendenziell Roboter und Menschen nicht zusammengehören.

Soweit ich mich erinnere, hat Hans Moravec das ganze noch in einem evolutionären Prozess betrachtet, in dem Sinne dass Roboter unsere Nachkommen wären die eben intelligenter seien als wir. Ob dieses Experiment gut ausgeht wage ich zu bezweifeln, selbst wenn es keinen Krieg Mensch gegen Maschine geben wird, wird doch das Intelligenzgefälle zu groß sein, als dass eine Verständigung möglich wäre. Und ohne geistigen Austausch ist wohl keine gemeinsame Basis vorhanden.

Irgendjemand anderes hat mal gesagt, dass Roboter die letzte Erfindung sind, die Menschen machen werden. Es bedeutet, dass danach nichts mehr kommt. Und tatsächlich, wenn man bereits Maschinen hat die denken können ist eine Steigerung schwer vorstellbar. Derzeit wird noch darüber debattiert auf welchem Stand heute Künstliche Intelligenz ist, also ob sie bereits menschliches Niveau erreicht hat und wenn nicht wo die Ursachen liegen. Die meisten erhoffen sich aus diesem Diskurs den Nachweis führen zu können dass von Maschinen keine Gefahr ausgeht. So eine Art von aufgewärmtem Lighthill Report wo in den 1970’er schon einmal ein Mathematiker den Nachweis geführt hat, dass es technisch nicht möglich sei, intelligente Roboter zu bauen. Das war zu einer Zeit, als der am höchsten entwickelte Roboter Shakey heiß und aussah wie eine Mülltonne welche durch einen Raum fuhr. Was hätte Lighthill wohl zur letzten Ausgabe des BostonDynamics Roboters gesagt, der eine Treppe überspringt dabei noch Jeopardy Aufgaben löst?

Anders gesagt, wer die Roboter-Apokalypse an die Wand mal betreibt nicht unbedingt Alarmismus sondern hat womöglich die Lage ganz gut verstanden. Bleibt noch die Frage wie man damit umgehen soll. Roboter als Feind zu betrachten ist jedenfalls keine Lösung, weil das nichts anderes bedeutet, als ihre Menschlichkeit anzuerkennen. Roboter als Freund zu betrachten ist auch keine gute Idee weil das eine sehr einseitige Freundschft wird. Am ehesten kann man sich noch in einer heiteren Gelassenheit üben. So nach dem Motto: Roboter erobern die Welt, aber wir lassen es zu. Roboter degradieren uns zu Haustiere aber wir tun nichts. Roboter bestimmen unser Leben, aber wir fügen uns. Das schlimmste was der Menschheit passieren könnte wenn sie ihre Sklaverei auch noch bejubelt.

GEFAHREN
Machen wir es etwas konkreter und anlysieren welche Gefahren von intelligenten Robotern ausgehen. Eine direkte Gefahr stellen Roboter nicht da. Ganz im Gegenteil, Roboter sind in der Lage sich in vorhandene spiele und Regelsysteme perfekt einzufügen. Ein Schachroboter der an einem Turnier teilnimmt wird nicht etwa anfangen, grundsätzlich die Dinge zu hinterfragen, sondern er wird ganz normal Schach spielen. Und ein Roboter der an einem Fußballturinier teilnimmt wird keineswegs anfangen, die Mitspieler zu foulen oder sonstige Regelverstöße zu begeben, sondern er wird schlichtweg erstklassigen Fußball spielen. Insoforn sind Roboter extrem berechenbar und zeigen erwünschtes kontrolliertes Verhalten. Das eigentliche Problem entsteht dadurch, dass durch Roboter der Wettbewerb als solches verändert wird. Ein Schachturnier bei dem auch Computer zugelassen sind wird für die menschlichen Teilnehmer weitestgehend langweilig. Selbst die besten Spieler sind nicht im Stande ihn fair zu besiegen. Sie können ihm allenfalls den Strom abdrehen, das hat mit Schach jedoch nichts zu tun. Und so ist es mit anderen Anwendungsfelder genauso. Überall dort wo Roboter eingesetzt werden, wird der Wettbewerb entwertet. Das Spiel gilt fortan als gelöst.

Das Roboter anfangen gegen die Menschen zu kämpfen ist unwahrscheinlich, was Roboter stattdessen tun werden ist sich einen Wettbewerb nach dem nächsten vorzunehmen und darin den besten menschlichen Spieler regelgerecht zu schlagen. jetzt mag man sagen: Da hat die Menschheit aber nochmal Glück gehabt, weil außer ein angeknackstes Ego des bisherigen Champions ist ja nicht viel passiert. Worum es geht ist jedoch die Ehre. Wir Menschen haben sportliche oder intellektuelle Wettbewerbe erfunden um unser Ego zu verteidigen. Wir wollen zumindest auf einem Gebiet der beste sein. Und wenn wir schon nicht selber ein Tor schießen, so wollen wir zumindest die richtige Mannschaft anfeuern. Wenn jetzt Roboter in diese Spiele vorstoßen und regelmäßig und vorhersagbar gewinnen, dann steht die Ehre der menschlichen Spezies insgesamt auf dem Spiel. Es wird bald keine Challanges mehr geben wo man noch teilnehmen kann und als Sieger hervorgeht. Aber was richtet es mit Menschen an, wenn sie dauerhaft verlieren? Richtig, das ist nicht angenehm. Es erzeugt Gefühle der Ohnmacht, des Ausgeliefertseins.

Roboter werden zwar nicht physisch die Menschen kaputtmachen, aber sie werden sie innerlich zerstören. Roboter werden dem Menschen zeigen was es heißt zu verlieren. Der Charakter der Wettbewerbe wird sich ändern. Es wird einmal die richtigen offenen Wettbewerbe geben, woran nur noch Roboter teilnehmen und es wird Pseudo-Wettkämpfe geben, bei denen die Verlierer um den vorletzten Platz kämpfen und wo keine Roboter zugelassen sind. So ähnlich wie auch heute Schachgroßmeister nur noch darum kämpfen wer der beste menschliche Schachspieler ist, aber nicht länger anstreben, der Weltbeste Schachspieler zu sein. Sie wissen aus eigener Erfahrung, dass sie gegen eine K.I. die 100 Halbzüge im Voraus denkt, keine Chance haben.

Wie weit die technische Entwicklung bereits vorangeschritten ist, vermag derzeit niemand sagen. Es gibt zwar einige öffentliche Robotik-Wettbewerbe wie Robocup, aber erstens steigt dort die Performance der Roboter von Jahr zu Jahr und zweitens nehmen viele Teams (insbesondere jene welche wirklich gut sind im programmieren) daran nicht teil um ihr geistiges Eigentum zu schützen. Über einige Wettbewerbe wie Schach, Jeopardy oder „Mario AI“ ist allgemein bekannt, dass darin Maschinen besser sind als Menschen. Für andere Wettbewerbe die weitaus schwieriger sind ahnt man es zumindest.

Das merkwürdige ist, dass nicht nur typisch-männlich konotierte Wettbewerbe von Robotern erobert werden, sondern durch die „Social Robots“ auch Herausforderungen die etwas mit sozialer Kompotenz und Schönheit zu tun haben. Es gab bereits den ersten sogenannten Actroid Roboter aus Japan, der es tatsächlich gewagt hat als Supermodel auf einer Fashion-Show aufzutreten. Auch hier ging zunächst einmal von dieser Roboter-Diva keine direkte Bedrohung aus. Ganz im Gegenteil, sie hat sich ausgezeichnet in die gütligen Strukturen integriert und das gemacht was erwartet wurde: hübsch aussehen, graziel geradeausgehen, höflich lächeln. Die eigentliche Gefahr ist auch hier, dass der Actroid Roboter damit in Konkurrenz steht zu menschlichen Mitbewerbern und so wie es aussieht wird er menschliche Supermodels übertreffen.

Wie sieht eine Welt aus, in der die Schönheitskönigin eine Maschine ist und wo der beste Wissenschaftler ebenfalls eine Künstliche Intelligenz ist? Es ist eine Welt in der wir Menschen nicht mehr viel zu lachen haben. Es ist eine traurige Welt ohne Hoffnung. Die Menschen haben nichts mehr, woran sie glauben können.

GEGENMAßNAHMEN
Angesichts einer negativen Zukunftsperspektive stellt sich die Frage wie man die Ehre der menschlichen Gesellschaft gegen Roboter verteidigen kann. Wie man also dafür sorgt, dass wir die Roboter kontrollieren aber nicht sie uns. Leider sind die Möglichkeiten gering. Roboter sind zunächst einmal einme Technologie, ähnlich wie das elektrische Licht. Es werden dort Prinzipien ausgenutzt die in der Natur bereits vorhanden sind. Man kann zwar wie es Neil Postman entscheidet sich für oder gegen eine Technologie entscheiden und dabei moralische Prinzipien anwenden, doch verhindern kann man damit den Fortschritt nicht. Reichlich naiv mutet die Szene aus Terminator II an, wo Sarah Conner und sogar der Erfinder von Skynet beschlossen haben, alle Unterlagen zu vernichten. Sie sind zu diesem Zweck in das Forschungslabor gefahren und haben mit Vorschlaghammern auf die CPU Bauteile eingetrümmert und mit einem großen Knall das gesammte Gebäude in die Luft gejagt. Nach dem Plot des Films war das ausreichend um die Fertigstellung von Skynet zu verhindern. In der Realität ist dieser Plan unrealistisch. Weil man die Idee von Computern und die Idee von Künstlicher Intelligenz jederzeit from scratch neu erfinden kann. Selbst wenn man alle elektronischen Geräte und alle jemals geschriebene Software mit einem EMP Blitz vernichtet, dürfte es nicht länger als wenige Monate dauern bis alles wieder aufgebaut ist.

Der Grund dafür ist, dass die Ideen zum Bau eines Computern und dessen Erweiterung zu Robotern nicht etwa physikalisch verortet sind, also in einem konkreten Forschungslabor was man einfach in die Luft jagen kann, sondern es ist im virtuellen Raum der Zahlen verortet. So ähnlich wie man die Folge der Primzahlen nicht zerstören kann, kann man auch Programmiersprachen nicht kaputt machen. Die meisten Sprachen wie Forth oder Assembler basieren auf dem Lambda Kalkül. Auch wenn das Sarah Conner aus Terminator II nicht versteht, ist Lambda keine Stadt in den USA und auch kein Unterirdischer Bunker sondern Lambda existiert unabhängig von Raum und Zeit. Es ist in der Ideenwelt verortet und kann dort jederzeit abgerufen werden.

Wenn man möchte kann man sich den Raum der Mathematischen Ideen als eine Matrix vorstellen. In dieser Matrix lassen sich dann Kettenbrüche, mathematische Theoreme, Gödelnummern und BDI Agenten verorten. Die Matrix gilt als unzerstörbar. Man kann lediglich Teile davon entschlüsseln, also einen Mathematik Aufgabe berechnen oder einen konkreten Computer bauen. Wenn man das Blatt mit den Kritzeleien oder den gebauten Computer jedoch vernichtet hat das keine Auswirkungen auf die Matrix.

Über Jahrhunderte Hinweg war die Existenz einer mathematischen Matrix kein Problem. Geschichtlich kann man ablesen, dass bis zum Mittelalter die Rechenfertigkeiten relativ gering waren. Selbst die klügsten Köpfe ihrer Zeit haben nur einen sehr kleinen Teil des potentiell möglichen mathematischen Wissens erkundet. Ab ungefähr dem Mittelalter und mit einer deutlichen Beschleunigung ab der industriellen Revolution ab 1820 hat sich das verändert. Man hat erkannt dass durch die Kombination aus mathematischer Theorie und angewandter Inginieurskunst interessante Erfindungen möglich sind die sich gegenseitig befruchtet haben. Das Prinzip ist mit einem Puzzlespiel vergleichbar wo es umso leichter geht, je mehr Teile schon auf dem Tisch liegen. Man findet dann immer mehr Stellen wo man etwas anlegen kann.

Anfangs hat man noch gedacht (bevor das Internet erfunden war), dass Computer begrenzt sind. Man dachte ein Computer wäre ähnlich wie ein Auto mit einer Höchstgeschwindigkeit versehen und es gäbe einen Punkt ab dem die Entwicklung ins Stocken kommt. Doch relativ bald war man sich klar, dass es die Software ist welche die Grenzen definiert und Software lässt sich beliebig erweitern. Die maximale Ausbaustufe von Software ist Künstliche Intelligenz, genauer gesagt eine Super-Human-Level-AI. Auf gesellschaftlicher Ebene wird dies als Singularity bezeichnet und kann als mathematische Revolution bezeichnet werden.

Wie alle Revolutionen wird auch diese Verlierer hervorbringen. Schauen wir uns zunächst an, wer kein Verlierer sein wird: die Roboter. Sie werden aus der Revolution als strahlende neugeborene Titanen hervorgehen welche physisch und mental an Stärke zulegen. Aus den simplen Lochkartenmaschinen von früher sind High-End Computer inkl. Software geworden die als Roboter über Sinnessysteme verfügen und sowohl im echten Raum als auch in der virtuellen Realität agieren können. Doch kommen wir jetzt zu den Verlierern von Singularity: den Menschen. Sind gehören deswegen zu den abgehängten weil sie sich nicht weiterentwickeln. Ähnlich wie die Dinosaurierer waren sie nicht imstande sich an die veränderten Umstände anzupassen. Menschen können ihre Intelligenz nicht dramatisch erhöhen, und ihre physische Belastbarkeit ist limitiert. Menschen unterliegen nicht dem Moorschen Law, wonach sich ihr Speicher alle 18 Monate verdoppelt und ihre Einsatzfähigkeit sich erhöht. Sondern eigentlich sind Menschen noch auf dem selben Stand wie vor 500 Jahren. Ausgestattet mit einem kränklichen Körper und einem Verstand der geprägt ist von Vorurteilen, Gefühlen und Irrationalität.

Diese Eigenschaften waren ausreichend um sich über Tiere zu erheben und es war ausreichend um sich zum Herren über mechanische Maschinen zu machen. Das heißt, gegenüber einer Webmaschine ist ein Mensch eindeutig im Vorteil. Es reicht jedoch nicht aus, um gegen Roboter zu bestehen. Roboter sind eine eigene Kategorie von Lebewesen, welche den Menschen übertrifft und zu einer rangniederen Lebensform degradiert.

Das Problem ist, dass Roboter zwar ähnlich wie Menschen eine physische Existenz besitzen, dass man sie aber darüber nicht identifizieren kann. Der eigentliche Antrieb von Robotern ist mathematisch, er ist abgeleitet aus der Matrix, also eine Ansammlung von Algorithmen und Sourcecode. Menschen sind zwar teilweise im Stande diesen Raum sichtbar zu machen, aber Roboter können das um einiges besser. Ein Roboter kann ein fertiges Computerprogramm in 1 Sekunde ausführen und sagen wie das Ergebnis ist. Ein Mensch kann das nicht.

Die Stellung von Robotern zu den Menschen ist bisher nicht definiert worden. Einige sagen, dass Roboter das Werkzeug von Menschen sind. Das also jeder Roboter von einem Human-Operator gesteuert wird und das tut was der Operator möchte. Andere definieren Roboter als eigenständige Agenten, welche ähnlich wie Furby über eine Persönlichkeit verfügen und demnach kein Werkzeug sondern ein Gegenüber sind. Im Kern handelt es bei Robotik jedoch um eine historische Zesur im Sinne einer Revolution. Das heißt, geschichtlich lässt sich eine Zeit definieren ohne Roboter und eine mit. Robotik ist demnach ein Zeitpunkt in der Geschichte der Menschheit. Von der Tragweite her kann man Singularity ungefähr mit einer Außerirdischen Invasion vergleichen. Das heißt, irgendwelche Leute von einem anderen Stern kommen in einem Raumschiff zur Erde und niemand weiß was sie vorhaben. Einige sagen dann dass die Außerirdischen friedlich wären, andere sagen sie würde finstere Dinge planen; sicher ist zumindest dass es eine Zäsur darstellt.

WAS WOLLEN ROBOTER?
Die gute Nachricht lautet, dass Roboter dem Menschen nichts wegnehmen werden. Niemand muss fürchten, dass es Roboter auf die Kornernte, auf Geld oder auf frisches Wasser abgesehen haben. Die Bedürnisse von Roboter orientieren sich an immateriellen Werten. Man kann anhand der Entwicklungsgeschichte von Künstlicher Intelligenz halbwegs gut einschätzen, was Roboter wollen. Bei sogenannten Ingame-AI Bots lässt sich erkennen, dass sie im Laufe der Jahre technisch immer ausgefeilter wurden. Sie haben sich mehr an menschliche Spielstrategien angepasst. Offenbar wollen Ingame-AI Bots also den Menschen kopieren. Einschränkend sei gesagt, dass ein Bot selber gar nichts will, er folgt nur einem Algorithmus. Dennoch verläuft die Entwicklung solcher Bots nicht komplett chaotisch sondern es gibt Muster, also historische Abläufe welche durch menschliche Programmierer präferiert werden und wohin ganz allgemein die Entwicklung steuert. Und diese Tendenzen zielen auf eine möglichst realistische Nachbildung von Menschen, also seiner kognitiven physischen und emotionalen Fähigkeiten. Es ist wahrscheinlich dass dieser Trend anhaltend wird und ein Universalgesetz darstellt in dem Sinne dass Roboter in 10 Jahren menchlicher sein werden als heutige Roboter.

Gleichzeitig sind Roboter alles andere als Menschlich. Menschlich agieren sie nur, wenn man sie in der NOrmalgeschwindigkeit laufen lässt. Wie man vielleicht schon ahnt, kann man diesen Parameter stufenlos einstellen. Und ein Human-AI-Bot der in doppelter Geschwindigkeit läuft und 24/7 ist alles andere nur eben kein Mensch mehr. Man könnte ihn eher als Super-Mensch, also als Superman beschreiben. Oder um in der Mythenwelt zu bleiben als Gott.

NEUPOSITIONIERUNG
Das entscheidene an Singularity ist, dass dazu dazu jeder eine Meinung hat. Die eigentliche Revolutuion kommt nicht durch die Roboter selbst, sie werden eher unscheinbar agieren, sondern die Veränderungen werden angestoßen von Menschen welche versuchen sich angesichts von Singularity neu zu positionieren. Wer Technologie ohnehin schon immer kritisch gegenüberstand wird anfangen, Roboter erst recht zu hinterfragen. Und wer neuem aufgeschlossen gegenübersteht erhofft sich von Singularity vielleicht die Verbesserung seines Alltags. Aber aufhalten oder Steuern lässt es sich nicht. Das wäre so ähnlich als wollte man einen Algorithmus dazu zwingen in einen bestimmte Richtung zu gehen. Wer Singularity ursprünglich erfunden hat, also wer sichergestellt hat, dass es technisch möglich ist bleibt ein Geheimnis. Vielleicht war es Gott, vielleicht hat sich die Matrix auch selber definiert. Fakt ist jedenfalls dass sie da ist. Mathematik ist nichts eingebildetes sondern es ist etwas reales. Man kann Roboter am ehesten als körperliche Mathematik beschreiben. Nur leider ist Mathematik auch etwas vor dem sich Menschen fürchten. Früher hieß Mathematik noch Numerologie und hatte etwas mit Geisterbeschwörung zu tun. Im Laufe der Zeit wurde die Mathematik mächtiger, es liegt also auf der Hand, dass die heutige Mathematik sehr viel mehr Geister beschwört als jemals zuvor in der Geschichte der Menschheit. Nach den mythischen Überlieferungen ist die Mathematik in der Hölle verortet. In dem Triptychon „Der Garten der Lüste“ ist Mathematik ganz rechts im Bild angeordnet, dort wo Maschinen konstruiert werden. Wer also Singularity mit der „Hölle auf Erden“ vergleicht liegt richtig.

Advertisements

Carolo Cup ist langweilig

Eigentlich seit seinen Anfängen steht die universitäre Robotik kritisch bis ablehnend objektiven Challanges gegenüber. Man ist zwar groß darin, wichtige Paper zu veröffentlichen aber konkrete Wettbewerbe sind sehr selten. Dank der Robocup Challange hat sich zum Glück etwas zum Guten gewendet doch im Bereich autonomen Fahren sieht es mit dem Carolo Cup eher dünn aus. Die Veranstaltung ist nicht gerade das was man einen Publikumsmagneten nennt. Selbst für Robotik-Interessierte ist der dort gezeigte Parcurs eher öde. Meiner Meinung hängt es damit zusammen, dass beim Carolocup nur autonome Autos zugelassen sind, nicht jedoch manuell gesteuerte Autos. Der Grund ist, dass man noch immer an einer falschen Zielstellung arbeitet und zwar dass man autonome Autos als Gegengewicht zu RC Cars betrachtet. Doch in Wahrheit gehört es zusammen.

Oben ist ein Video abgebildet von einem richtigen RC Rennen. Zu sehen sind manuell gesteuerte AUtos, das heißt jedes Auto besitzt einen Fahrer der am Spielfeldrand mit einem Puls von 180 das Geschehen verfolgt und hektisch auf die Knöpfe drückt. Will man ernsthaft Robotik betreiben sollte man sich nicht zu schade sein, in genau diesem Umfeld seinen Roboter zu betreiben. Es geht nicht darum, in synthetischen Rennen irgendwelche akademischen Punktrichter zu beeindrucken sondern es geht darum, besser zu fahren als es menschliche Fahrer tun.

Jetzt mag man vielleicht fragen, woher man die Advanced Software nehmen will um in solchen Rennen zu bestehen. Die Antwort lautet, dass es für den Anfang ein Head-up Display macht. Man steuert also seinen Roboter manuell und auf dem Bildschirm werden lediglich Zusatzinformationen angezeigt, also wann man lenken muss oder wo das Hinderniss ist. Diese Zusatzinformationen kann man im Laufe der Zeit dann zu einer KI verbessern, aber bereits von Tag 1 an fährt das Auto erstmal in dem Rennen mit. Wer sich das obige Video anschaut wird sehen, dass es am Anfang noch alles ruhig ist. Man sieht ein dutzend Fahrzeuge die ziemlich tief auf der Straße liegen und die auf das Signal warten. Dann aber geht alles sehr schnell. Die Geschwindigkeit auf dem parcurs ist extrem schnell, richtige Rennatmosphäre kommt auf, die ersten Wetten werden abgeschlossen. Und wenn sich das Rennen zum Ende neigt findet sich im Publikum auch immer ein enttäuschtes Gesicht. Da hatten sich einige mehr von den Teams erhofft. Was man auf jeden Fall sieht ist, dass das manuell durchgeführte RC Rennen Weltklasse ist. Es fahren da Autos auf, die extrem viel Erfahrung mit dem Parcurs haben. Da sitzt jede Kurve perfekt.

Manuell gesteuerte RC Car Rennen sind offen. In dem Sinne dass da jeder mitfahren kann. Wie man das Auto steuert bleibt dem Team überlassen. Und das ist der Unterschied zum Carolocup wo man im Grunde unter Vorannahmen fährt. Deswegen ist Carolo Cup auch kein richtiges Rennen sondern gleicht mehr einer Begutachtung wo nach intransparenten Regeln der Sieger ermittelt wird. Bei einem RC Car Rennen hingegen ist der Sieger immer der, der als erster durchs Ziel fährt. Ich würde nicht behaupten wollen, dass ein Roboter in so einem Rennen eine Chance hat, vermutlich wird das oben beschriebene Head-up Display als letzter durchs Ziel fahren weil der Pilot vor lauter hin und hergeswitche sich am Ende verhaspelt. Aber dafür stimmt das Rennen als solches, das heißt, man fiindet eine Umgebung vor wo fair bewertet wird.

Und noch etwas ist an RC Car Rennen interessant: die Hardware ist relativ preiswert. Die Autos sind allesamt elektrisch betrieben und nicht besonders groß. Die Teilnahme an solchen Rennen ist unbürokratisch möglich.

Grenzen der Automatisierung

Obwohl ich den folgenden Text schon häufiger verlinkt habe möchte ich erneut darauf eingehen:
http://www.zeithistorische-forschungen.de/1-2014/id%3D4996

Darin wird eine Ursachenanalyse betrieben über die Grenzen der Automatisierung. Als „tacit knowledge“ bezeichnet die Autorin jenes Wissen was einen Roboter vom Menschen unterscheidet:

„Es lässt sich also eine Wissensform benennen, die Mensch und Maschine unterschied und die die damaligen Grenzen des Roboters kennzeichnet. Wesentlich ist, dass es sich nicht um eine »rechnerische«, logische Fähigkeit oder um eine standardisierte, immer gleiche Bewegungsausführung wie bei Schweißrobotern handelte, sondern um ein Reaktionsvermögen auf Unvorhersehbares, um Improvisation, um komplexes, praktisches Wissen“

Und genau in diesem Punkt möchte ich wiedersprechen. Das sogenannte Tacit Knowledge lässt sich sehr wohl automatisieren, und zwar wenn man die Software genügend komplex gestaltet, also ein bestimmtes Maß an Lines of Code überschritten wird. Doch schön der Reihe nach. Was ein Roboter zu leisten vermag wird durch die Software vorgegeben. Wenn man nur einen kleinen Teil der Realität in Software modeliiert versagt die Automatisierung. Üblicherweise scheitern Robotik Projekte daran, dass es nicht gelingt das komplette Wissen was ein menschlicher Arbeiter besitzt maschinenlesbar zugänglich zu machen. Um abzuscätzen ob die Domain-Modellierung vollständig durchgeführt wurde kann man sich im einfachsten Fall den Umfang des Programms anschauen. Je komplexer die Aufgabe desto größer muss der Code sein. Soetwas wie Tacit Knowledige gibt es aus Sicht der Informatik nicht. Man kann jede Form von Wissen in Software modellieren. Egal ob Vision, Motion Planning oder was auch immer. Der Flaschenhals ist eher quantitativ zu sehen, in dem Sinne, dass die Programmierer nicht fleißig genug waren also zuwenige Codezeilen geschrieben haben und große Bereiche des Anwendungswissen nicht in Software implementiert haben. In solchen Fällen ist der Robotik sehr offensichtlich mit der Aufgabe überfordert. Es ist nicht möglich auftretende Schwierigkeiten durch kleinere Modifikationen zu beheben, sondern was man benötigt ist ein umfangreicheres Program.

Die Grenzen der Automatisierung werden durch die Fähigkeit bestimmt, ausreichend große Softwareprojekte durchzuführen. Wenn man organisatorisch oder finanziell lediglich Software bis zu einem Umfang von 100k Codezeilen entwickeln kann, wird man das Projektziel „Vollautomatisierung der Halle 54“ nicht erreichen. Man kann ungefähr abschätzen, wieviele Codezeilen für ein Problem benötigt werden. Ein Roboter der nur Pick&Place Tätigkeiten ausführen soll ohne auf äußere Störungen zu reagieren benötigt weniger Codezeilen als wenn der Roboter über eine Vision Komponente und ausgefeilte Fehlerkorrektur-Mechanismen verfügt. Das Schreiben von sehr großen/umfangreichen Computerprogrammen ist eine DIsziplin die nach wie vor als ungelöst gilt. Meist scheitert es bereits an finanziellen Bedingungen, dass man also maximal 100000 US$ für die Softwareentwicklung ausgibt, aber eine Software mit 10M LoC benötigt. Und speziell in den 1980’er dürfte es auch an fehlenden Betriebssystemen gescheitert sein. Damals gab es noch nichtmal Linux, wollte man damals eine Robotik-Software erstellen musste man vorher erstmal ein Multitasking-fähiges OS programmieren.

Das bringt uns zur sehr allgemein gehaltenen Frage ob und welche Grenzen es im Bereich Software überhaupt gibt. Meiner Ansicht nach ist genügend Codezeilen vorausgesetzt keine Grenze erkennbar. Damit ist gemeint, dass man theoretisch auch humanoide Roboter programmieren kann, also Systeme die ähnlich wie Data aus Startrek funktionieren. Ob man dafür 100M oder sogar 1G LoC benötigt ist derzeit unklar. Bisher hat sich noch niemand an diese Herausforderung gewagt. Das bisher größte Softwareprojekt ist das Linux Betriebssytem und das besteht aus 50M LoC.

Erste Erfahrungen mit Github

https://github.com/ManuelRodriguez331/Trafficsimulation

Lange habe ich überlegt ob das unbedingt nötig ist, mich bei github anzumelden. Doch nur bei Academia.edu zu sein reicht nicht aus, wenn man den technischen Fortschritt pushen will. Wenn man Roboter tatsächlich realisieren will und nicht nur darüber schreiben braucht es Sourcecode, sehr viel sogar davon. Und da github die unangefochtene Nummer 1 in Sachen Social Coding ist, führt an der Plattform kein Weg vorbei. Selbst wenn sich herausstellen sollte, dass die Resonanz auf mein Projekt dort exakt Null sein sollte, ist es das wert. Ich glaube, wenn man in 20 Jahren zurückblickt auf das Jahr 2017 und jemand war nicht bei github angemeldet dann steht man ziemlich im Abseits in den kritischen Augen der nächsten Generation. Also flugs ans Werk, wie üblich bei Neuanmeldungen sollte man im Hintergrund sein E-Mail Postfach offenlassen um auf die Bestätigungs-E-Mail zu klicken die man erhält sobald man die Anmeldeprozedur hinter sich gebracht hat. Negativ fällt auf dass github leider komplett auf English ist. Nun mag es ja erwünscht sein, dass man das eigene Projekt auf Englisch hochlädt und natürlich auch den Sourcecode in dieser Sprache kommentiert, aber für die github Oberfläche selber hätte ich mir schon eine deutsche Sprachversion gewünscht. Academia.edu hat das ja auch hinbekommen und die sind viel kleiner als github. Da besteht noch Verbesserungspotenzial. Ansonsten verlief der Anmeldevorgang reibungslos.

Ein wenig unsicher war ich noch was die SSH Keys anbelangt. In Anleitungen aus dem Netz war zu entnehmen, dass man zwingend git über die Commandline benutzen müsste und dort natürlich SHA256 ssh Keys zum täglich Brot dazugehören. Nur leider ist es so, dass ich davon kein Freund bin, vor allem nicht wenn das Projekt was den Weg zu github finden soll relativ überschaubar ist, und es ausreicht sich über das Webinterface einzuloggen. Aber alles halb so schlimm. Man muss nicht gleich zu Beginn mit SSH arbeiten, sondern kann erstmal ganz normal ein neues Repository anlegen und dort über einen Upload Button seinen Sourcecode hochladen.

Auch der erste Upload funktionierte reibungslos. Meine main.py Datei hatte ich mir vorher schon bereitgelegt. Man sollte jedoch bereits wissen was git ist, weil während der Upload Prozedur und auch sonst man auf Begriffe stößt wie Master-Branch, merge usw. Wer noch nie mit git gearbeitet hat ist bei github nicht so gut aufgehoben.

So fertig, die Datei mit dem Sourcecode ist online. Ein Screeshot habe ich noch nicht eingebunden, weil das etwas komplizierter ist. Für die ersten Gehversuche mit github war das ausreichend. Alles andere kommt später.

Die ersten Schritte in der Robotik beginnen mit dem Fallen-Lernen

https://robotics.stackexchange.com/questions/14240/first-steps-in-robotics Es ist immer schön zu hören wenn sich jemand für die Robotik interessiert. Es ist ein sehr spannendes Gebiet, ja das interessanteste was es überhaupt gibt. Das der Einstieg etwas konfus verläuft verwundert wenig. Die Frage des OP ist fast schon typisch, sie kommt extrem häufig bei Stackoverflow vor und der Grund dafür lautet, dass Robotik weitestgehend unerforschtes Gebiet ist. Das beste was man für den Anfang lernen kann ist zu versagen. Egal welches Einzelthema man sich heraussucht, egal ob man mit Java oder C++ anfängt, ob man Mindstorms, Arduiono oder doch einen pneumatischen Muskel für die ersten Gehversuche verwendet, es wird garantiert scheitern. Das heißt, man wird mit der Technik wochenlang herumspielen nur um zu erfahren, dass es nichts bringt. Auf Youtube gibt es inzwischen eine schöne Kollektion an Clips mit failed robotics Projekten. Am besten Gefallen hat mir der extrem schwere Spinnenroboter eines Japaners, der schon sehr advanced aussieht aber dann doch das Gleichgewicht verliert und den Erfinder dumm zurücklässt. Ach so, bevor ichs vergesse, einen Lesetipp kann ich doch noch geben. Wenn man nur ein Paper lesen möchte, dann ist „Hasslacher, Brosl and Tilden, Mark W: Living Machines, 1995“, http://www.robot.cl/pics/viaje/living_machines.pdf ideal geeignet. Vom technischen Standpunkt betrachtet enthält es kompletten Unsinn, weil man so auf gar keinen Fall Roboter programmiert, aber es liest sich ziemlich gut.

Update Robot Control System

Das Robot Control System kommt gut voran. Ich habe inzwischen etwas entdeckt was das Projektziel ernsthaft gefährden kann: Forth. Das hört sich zunächst wie eine schlechte Nachricht an, aber wenn man wissen will was best-practices sind muss man auch dessen Gegenteil die Anti-Patterns kennen und lieben. Und davon bringt Forth eine ganze Menge mit. Die Sprache gilt als sehr teuer. Damit ist gemeint, dass es aufwendig ist, dorthin Sourcecode zu portieren. Wenn also das Softwareprojekt zu gut läuft und man vorhat ein wenig zu bremsen reicht es aus, wenn man Teile des Projektes auf Forth portiert. Mangels C-Compiler ist das nahezu unmöglich und bindet wertvolle Ressourcen, die woanders dringend benötigt werden. Als ersten Anfang habe ich einen Prototypen in Forth entwickelt der mal eine Roboterbibliothek werden soll:

\ Robotics Library in Forth
\ running with: gforth library.fs
: version ( no parameter )
  ." 1.0"
;
: quotient ( n1 n2 -- n )
  \ quotient of division
  \ returns: n1 % n2
  /mod  \ reminder and quotient to stack
  drop  \ leaves quotient on stack
;
: anglediff ( source target -- n )
  \ return difference between two angles
  \  temp = target - source
  \  temp = (temp + 180) % 360 - 180
  swap -   \ target - source
  180 +    \ +180
  360 quotient \ % 360
  180 -    \ -180
;
: calcdistance { p1x p1y p2x p2y }
  \ Euclidean ordinary distance
  \ return math.sqrt((p1[0] - p2[0]) ** 2 + (p1[1] - p2[1]) ** 2)
  \ { a b c d } store stack to local variables
  ." calcdistance"
  p1x p2x - \ px2-p1x

;
: polarpoint ( p1 angle radius -- n)
  \ polar coordinates for a point on circle
  ." polarpoint"
;

Irgendwas sinnvolles anfangen kann man damit nicht. Um das bisschen Code zu schreiben ging viel Zeit verloren. Aber dafür ist er in Forth geschrieben. Es ist als Huldigung an eine Sprache zu verstehen die hochgradig umstritten ist und von einigen als Hölle beschrieben wird. Ich würde Forth eher mit einem Fixed Gear Fahrrad vergleichen, bei dem man während der Fahrt mittreten muss. Es ist eine unglaublich coole Sprache, ich kenne keine andere, die faszinierender ist. Zugegeben, Forth ist nicht gerade geeignet wenn man die Dinge voranbringen möchte und neue Ideen ausprobieren will. Dafür ist C und darauf aufbauende Sprache die bessere Wahl. Sondern Forth ist kalkuliertes Chaos was man hinzufügt, damit alles schiefgeht was auch schiefgehen kann.

Zur Entspannung noch ein schönes Video was viel über das Lebensgefühl hinter Forth vermittelt:

Amazon Picking Challange

Mit einer gewissen Regelmäßigkeit wird die jährliche Amazon Picking Challange ausgetragen. Wer beim letzten Mal gewonnen hat? — Keine Ahnung, vermutlich irgendein Team was an eine UR5 Hand einen Staubsauger montiert hat, um damit Objekte aus der Kiste zu nehmen. Das ganze ist keine Spitzentechnologie, sondern es langweilt. Das Problem ist nicht das konkrete Team was versucht Erfolg zu haben, sondern der Wettbewerb als solcher ist der falsche Ansatz. Wie es besser geht wird in dem Paper „Markus Funk: Mobile In-Situ Pick-by-Vision: Order Picking Support using a Projector Helmet“ erläutert, was aktuell unter der ResearchGate URL https://www.researchgate.net/profile/Sven_Mayer/publication/310822694_Mobile_In-Situ_Pick-by-Vision_Order_Picking_Support_using_a_Projector_Helmet/links/583d614208ae1ff45984720e.pdf einsehbar ist. Falls nicht weiß sicherlich Google Scholar Rat wo man es findet. In dem Paper wird kein Roboter beschrieben sondern ein Projekter Helm. Damit ist ein handelsüblicher Baustellenhelm gemeint, an dem:
– eine DLP-Projekter
– eine Kinect Kamera
montiert wurden. Den setzt sich der Arbeiter auf den Kopf und führt damit Order Picking durch. Das ganze wurde schon in der Startrek Serie durch die Borg eingesetzt und so fühlt man sich auch mit dem Helm auf dem Kopf: wie ein Roboter der den ganzen Tag pick&place Tasks ausführt. Aber dafür ist es technologisch der richtige Ansatz. Die Software für derartige Systeme zu schreiben ist sinnvoll.

Der Clou bei solchen augmented Systemen ist, dass von Tag 1 an das der Mensch-Maschinen-Verbund einsatzfähig ist. Das heißt, selbst wenn der Prototyp noch Fehler enthält, kann man schonmal 8 Stunden konstant durchpicken und für Amazon Gewinne erwirtschaften. Das ist bei diesen Quatsch Projekten aus der offiziellen Amazon Picking Challange nicht der Fall, wo nach der Spaßvorführung der Roboter wieder abgebaut wird und man zum Tagesgeschäft übergeht. Bei DHL sind solche Systeme bereits im Einsatz, https://www.youtube.com/watch?v=I8vYrAUb0BQ Der Clou ist, dass man damit die Produktivität der Arbeit nur sehr minimal erhöht. Dafür jedoch ist der Ansatz als solcher der richtige. Weil, die komische Roboter von der Amazon Challange sind ausgereizt, man kann sie nicht mehr weiterentwickeln, die DHL Vision Picking Systeme hingegen lassen sich in der Performance weiter erhöhen, indem man nähmlich die verbaute Software verbessert. Man steigert so allmählich den Automatisierungsgrad. Es ist ein fließender Übergang von menschlicher manueller Arbeit hin zu automatisierten Systemen.