HS-KL RoboCup 2021

RoboCup 2014, Joao Pessoa, Brasilien. Quelle: Uni Bonn

HS KL geht zur RoboCup German Open 2021!

Der RoboCup soll die Robotik und KI Forschung fördern und das vor einem öffentlichen Publikum. Ein Fußball spielender Roboter mag  wie eine eher wissenschaftliche Herausforderung aussehen, aber man muss dabei eine Fülle von Standard Problemen – wie man sie aus der heutigen Industrie kennt – lösen, und ist damit ein guter Einstieg in die Welt der KI.

Der AK Smart Machines ruft alle interessierten Studierenden, Professoren, und interessierte Unternehmen auf, in unser Team einzusteigen, und es gemeinsam bis bin die Qualifikation für den RoboCup 2021 zu schaffen!

Unser Kooperationspartner abat+ unterstützt uns bei Projekt- und Bachelor-Arbeiten in den Feldern robuste Bildverarbeitung, innovative Roboter Programmierung und Prozessoptimierung in der diskreten Fertigung, um neue Geschäftsfelder für die Industrie 4.0 zu erschließen.

Was ist die RoboCup Standard Platform League?

Der Robot Soccer World Cup ist die Fußball WM für Roboter. Der erste Wettkampf wurde 1997 bestritten und heute werden neben Fußball auch viele andere Wettkampf Arten ausgefochten, wie z. Bsp. auch die RoboCup Rescue League, bei dem die Roboter auf eine Rettungsmission entsandt werden.

Beim RoboCup lassen verschiedene Teams aus aller Welt ihr 5 Roboter in 2 Mannschaften gegeneinander wetteifern und dabei um den Fußball kämpfen, den Gegner austricksen und Tore schießen.  Die Standard Platform League (SPL) verwendet ausschließlich den gleichen Roboter, den NAO v6.

Die kleinen Roboter müssen sich vollständig autonom über das Spielfeld bewegen und dürfen nur wenig miteinander kommunizieren, um dennoch eine Team Strategie zu entwickeln, die zum Sieg führt. Dabei sollen sie trotz allem unabhängig voneinander agieren können.

Arbeiten mit dem NAO



Arbeitsumgebung

Der kleine humanoide Roboter NAO ist unser Spieler auf dem Spielfeld und wir sind sein Trainer.
Bei uns wird er sowohl mit C++ als auch mit Python programmiert. Dabei wird Python bei der Bilderkennung, wie zur Erkennung des Balls und des Tors, verwendet und C++ für den ganzen Rest. Darunter fällt zum Beispiel seine Bewegung über den Fussballrasen.

Voraussetzung hierfür ist die im Projekt bereits mitgelieferte IDE CodeLite und das Betriebssystem Ubuntu 18.04 LTS.

Außerdem gibt es auch einen Simulator. Dann muss man nicht immer vor Ort sein um seinen Code zu testen. Der Simulator ‘SimRobot’ ist sogar von einem mehrfachen Siegerteam des RoboCup (B-Human, Uni Bremen und DFKI) entworfen.


Beispiel Code

Wie gut müsst ihr programmieren können? Beantwortet es euch selbst.

Unten seht ihr ein paar Code Beispiele. Wenn ihr in der Lage seid, nachzuvollziehen was dort passiert, dann seid ihr bestens vorbereitet.

Sollte der NAO umfallen muss er laut Regelwerk selbst in der Lage sein wieder auf zu stehen. Der folgende Code erreicht das.

void FallEngine::safeFall(FallEngineOutput& output) const { // set stiffness of each joint for(int i = 0; i < Joints::numOfJoints; i++) output.stiffnessData.stiffnesses[i] = 10; // falling backwards ? sit up. if(output.fallingBackwards) { MotionUtilities::sit(output); } // falling forward ? stand up. else if(output.fallingForward) { MotionUtilities::stand(output); } } Weiterlesen

TurtleBot 2

Der TurtleBot 2

Beschreibung und Eigenschaften

 






















TurtleBot 2 ist ein mobiles Roboterkit mit Open-Source-Software, der mit einer Blackboard Architektur namens ROS (Robot Operating System) gesteuert wird. Durch diese Architektur können verschiedene Programmiersprachen im selben Projekt genutzt werden. Diese sind vorwiegend Python und C++. Durch seinen flexiblen Baustil können ebenso diverse Komponenten ergänzt werden, damit auch mehr Funktionalitäten hinzugefügt werden können.

Im Rahmen eines Projektes wurde er von Studenten liebevoll zu Botty McTurtleFace getauft oder kurz Botty.

Videos

Botty fährt vorwärts und umgeht ein Objekt.

 

Botty fährt ein Viereck.

 

 

Ausstattung

Im Auslieferungszustand besaß der Turtlebot 2 mehrere Hardware Komponenten, um seine Umgebung wahrzunehmen und mit ihr interagieren zu können. Alle sind mit einem NUC PC mit Ubuntu 16.04 verbunden, der sich direkt als Onboard PC auf dem TurtleBot 2 befindet. Folgende Komponenten besitzt er:

  • Greifarm PhantomX Reactor
    Der PhantomX Reactor Arm ist ein ROS-kompatibler Greifarm. Der Greifarm wird über einen Arbotix-M gesteuert, welches ein modifiziertes Arduino-Board zur Ansteuerung von Servo-Motoren ist. Auf dem NUC des TurtleBot kann eine ROS Anwendung gestartet werden, welche Positionierungsbefehle für den Greifarm annimmt und diese Befehle dann an das Arduino-Board weiterleitet. Hierfür befindet sich ein Arduino-Image auf dem Arbotix-M, welches die ROS-Befehle interpretiert und entsprechend die Servo-Motoren ansteuert. 
  • Lidar Hokuyo URG-04LX-UG01
    Es handelt sich hierbei um einen Laserscanner zur Berechnung von Distanzen auf einer horizontalen Ebene. Der Wahrnehmungswinkel beträgt 240° und die Wahrnehmungsreichweite ist bis zu ca. 4 Meter.
  • 3D-Kamera Orbbec Astra
    Die Orbbec ist eine 3D-Kamera mit einem Sichtfeld von 60° horizontal und 49,5° vertikal. Dazu hat sie eine Reichweite von bis zu 8 meter.
  • Kobuki-Base
    Die Kobuki-Base macht den TurtleBot 2 mobil und beinhaltet die benötigte Lithium-Ionen Batterie. Daneben stellt die Basis auch Tasten, LEDs und Bumpers, zur Kollisionserkennung, zur Verfügung.

Allerdings erlaubt seine besondere Baustruktur durch Halterungen und Platten mehrere Etagen über der Kobuki-Base zu stapeln, um auf diese Weise mehr Platz für weitere Komponenten hinzuzufügen. Daher wurden zu den ursprünglichen Komponenten noch ein Mikro für Spracherkennung und Sprachausgabe hinzugefügt. Ebenso wurde die 3D-Kamera ummontiert und an der Unterseite einer der Platten angebracht, damit sie ein besseres Sichtfeld hat.

Arbeiten mit Turtlebot 2
Programmierung

Die Programmierung ist einfacher als man denkt. Wie bereits erwähnt unterstützt ROS sowohl Python, wie auch C++. Im folgenden wird ein Python Beispiel betrachtet, mit dem der TurtleBot 2 ein Viereck fahren soll. Ein Video davon ist weiter oben zu finden.

def drive(meter): # starte den Motor Service, um mit ihm kommunizieren zu können rospy.wait_for_service('motor') job = rospy.ServiceProxy('motor', call) # Die Nachricht ist in diesem Fall ein Objekt "call" # erzeuge die Nachricht param=[] param.append(meter) command=call() command.call="forwardByMeters" # die vom Motor erwünschte Aktion command.param=param # die zurück zu legende Distanz #sende die Nachricht response=job(command.call,command.param) # Übermittelung der Nachricht return response # Ausgabe der zurück erhaltenen Antwort def turn(angle): # starte den Motor Service, um mit ihm kommunizieren zu können rospy.wait_for_service('motor') job = rospy.ServiceProxy('motor', call) # Die Nachricht ist in diesem Fall ein Objekt "call" # erzeuge die Nachricht param=[] param.append(angle) command=call() command.call="turnRigthByAngle" # die vom Motor erwünschte Aktion command.param=param # die zurück zu legende Distanz in Gradzahl #sende die Nachricht response=job(command.call,command.param) # Übermittelung der Nachricht return response # Ausgabe der zurück erhaltenen Antwort if __name__ == "__main__": for x in range (0,4): print("Going Forward to "+str(drive(1.0))) sleep(0.1) print("Turning around to: "+str(turn(90))) sleep(0.1) Weiterlesen

Kennen Sie Ihre KI?

Katzentoast – Toast mit Katze? – Katze mit dickem Hals?

Kennen Sie Ihre KI? 

Was eine KI kann, und was nicht.

von Adrian Müller

Worum geht es?

Der folgende Beitrag ist eine Langfassung des Vortrags “Verstehen Sie Ihre KI? – Was KI kann, und was nicht.”, gehalten auf der Zukunftsmesse KI 2018.

Der Begriff Künstliche Intelligenz ist zwar in aller Munde, scheint jedoch bei genauerem Nachfragen sehr unterschiedlich besetzt. Ist beispielsweise ein Navigationssystem im Auto intelligent? Ist es „mehr“ intelligent, wenn es auf Verkehrsstörungen beispielsweise mit einer dynamischen Umfahrung reagiert?

Vor ein, zwei Dekaden wäre ein solches System zumindest technisch gesehen ein kleines Wunderwerk gewesen. Am technischen Fortschritt jedoch kann man einen Begriff inhaltlich nicht festmachen. Erst bei genauerer Betrachtung erkennt man Eigenschaften die unabhängig vom technischen Startpunkt eines Systems oder Lebewesen Gültigkeit haben.

Die Definition von Künstlicher Intelligenz in der Informatik, die sich in vielen Situationen bewährt hat, ist die eines „rationalen Agenten“. Der Agent, ein Computerprogramm, kann eine vorgegebene Aufgabe effizient und zielgerichtet erfüllen. Dabei setzt es je nach Situation und Umgebung Komponenten ein wie automatisches und überwachtes Lernen, Planen unter Zeit und Kostenoptimierung, Mustererkennung in Daten, Bildern, Audio usw.

Diese Komponenten wiederum benutzen Algorithmen zur Datenanalyse, zum Lernen von Mustern, zum logischen Schließen und zum Anwenden von Regeln auf ein gegebenes Problem. Dieser Zusammenhang zwischen Algorithmen, Optimierungen und Anwendungsszenarien wird in der aktuellen Diskussion gerne als „künstliche Intelligenz“ in unangebrachter Weise vereinfacht.

Um ein Beispiel zu geben: die automatische Verschlagwortung eines Bildes ist deutlich weniger intelligent als die Leistung der Saatkrähen im Freizeitpark “Puy de Fou” im Sommer 2018. Der Falkner des Parks hat sie erfolgreich darauf trainiert, eingesammelte Zigarettenkippen gegen Fressen zu tauschen. Eine intelligente Leistung, die sich nur durch Mustererkennung in Kombination mit zielgerichtetem Lernen erklären lässt (s. Beitrag in Euronews.com, 2018) – und das sehr rational ist!

In diesem “Standpunkt” fokussieren wir uns auf die Möglichkeiten und Grenzen der Mustererkennung (Bilder, Datensätze), von Lernverfahren, HCI, und Data und Text Mining. Dies entspricht technologisch dem primären Anteil der Systeme, wie sie in den letzten Jahren populär geworden sind. Dazu zählen Foto-tagging Applikationen, Bildmanipulationen, selbstfahrende Autos und Ähnliches.

Eine weiterführende Diskussion zu humanoiden Robotern, autonomen Fahrzeugen und ihrer Zuverlässigkeit, oder beispielsweise medizinischen Expertensystemen vermeiden wir in diesem Beitrag bewusst. Die gesellschaftlichen und ethischen Fragestellungen stellen eine andere Qualität der Diskussion dar.

In diesem Beitrag geht es stattdessen darum, dass sich technische und nicht technische Leser und Zuhörer in ihrem Verständnis von künstlicher Intelligenz gegenseitig kennenlernen können – auf Basis der prinzipiellen Gesetzmäßigkeiten, denen solche Systeme unterliegen.

Was in der aktuellen Diskussion von „KI“ – sprachlich präziser: vom Einsatz der Methoden der künstlichen Intelligenz in der Anwendungsentwicklung – und der allgemeinen Panikmache um die „Gefahr durch eine Super-KI“ und die „Macht der Maschinen“ ebenfalls gerne übersehen wird, sind die kreativen und gestalterischen Möglichkeiten durch den Einsatz einer KI, sei es als Werkzeug, oder als Trainingsgerät und vieles anderes mehr.

Im abschließenden Teil dieses Beitrages finden sich daher kritische Überlegungen zur Mensch-Maschine-Kommunikation genauso wie zu den positiven Auswirkungen von neuen Technologien auf den Erkenntnisgewinn in der Medizin und anderen Bereichen der Forschung. Die assoziierten Schlagwörter hier sind “industrie 4.0”, „high-speed science“, und auch „disruptive“ Technologien.

Mustererkennung vs. Bildverstehen

In 2015, a black software developer named Jacky Alciné embarrassed Google by tweeting that the company’s Photos service had labeled photos of him with a black friend as “gorillas.” Google declared itself “appalled and genuinely sorry.” An engineer who became the public face of the clean-up operation said the label gorilla would no longer be applied to groups of images, and that Google was “working on longer-term fixes.”

More than two years later, one of those fixes is erasing gorillas, and some other primates, from the service’s lexicon. The awkward workaround illustrates the difficulties Google and other tech companies face in advancing image-recognition technology, which the companies hope to use in self-driving cars, personal assistants, and other products.

WIRED tested Google Photos using a collection of 40,000 images well-stocked with animals. It performed impressively at finding many creatures, including pandas and poodles. But the service reported “no results” for the search terms “gorilla,” “chimp,” “chimpanzee,” and “monkey.”

Quelle:

https://www.wired.com/story/when-it-comes-to-gorillas-google-photos-remains-blind/ Weiterlesen

Zweite MarioAI-Challenge erfolgreich beendet

Die Firma NovaTec GmbH richtete dieses Semester zum zweiten Mal in Kooperation mit der Hochschule Kaiserslautern und dem Saarpfalz Gymnasium Homburg eine  MarioAI-Challenge  aus. Aufgerufen waren alle Studenten und Schüler, eine clevere KI zu entwickeln, mit der die Spielfigur selbständig durch verschiedene vorher nicht bekannte Labyrinthe navigieren kann. Hierzu hat NoveTec in verschieden Workshops vorher den zahlreichen Interessierten das notwendige Wissen vermittelt.

Am 15. Juni wurden alle Teilnehmer zum Abschlusswettbewerb ins NovaTec-Headquater nach Stuttgart eingeladen. Nach einem spannenden Wettbewerb am Vormittag, in dem beeindruckende KI-Agenten zu bestaunen waren, ging es dann am Nachmittag ins Mercedes-Benz-Museum. Es war ein rundum gelungener spannender Wettbewerb, der auf jeden Fall wieder angeboten wird.

Wettbewerbskonzeption

Der nachfolgende Text ist die Wettbewerbskonzeption einer Teilnehmerin des Wettbewerbs, Julia Dingert. Dieses Thema wurde von ihr außerdem als Schwerpunkt im Vertiefungsfach “Künstliche Intelligenz und Sprachanalyse” gewählt.

Künstliche Intelligenz und Sprachanalyse

Vertiefungsthema „Mario AI“ Sommersemester 2018

von Julia Dingert, Dozent: Prof. Adrian Müller (Webseite)

Aufgabenstellung Weiterlesen

Autofalle

Selbstfahrendes Auto in der Falle. Quelle: wired.de

“Was sieht eigentlich so ein selbstfahrendes Auto?

James Bridle

Tech-Firmen und Autokonzerne arbeiten derzeit daran, selbstfahrende Autos zu entwickeln und zu testen. Ihnen gemeinsam ist die Überzeugung, dass die Technologie unabhängig von ihrem Umfeld überall anzuwenden sein sollte. Der Britische Künstler James Bridle sieht das anders und hat deswegen seine eigene Version des autonomen Fahrens erprobt. Die Ergebnisse seiner Testfahrten auf dem griechischen Berg Parnassus gibt es in der Berliner Galerie NOME noch bis zum 29. Juli zu sehen.

Die Ausstellung trägt den Namen „failing to distinguish between a tractor tailer and the bright white sky“, ein Zitat aus dem Bericht zum tödlichen Unfall eines mit „Autopilot“ fahrenden Tesla, bei dem zum einen der Fahrer abgelenkt war, andererseits die Sensoren des Autos aber auch einen weißen LKW-Anhänger nicht erkannten. Bridle hat diesen Titel gewählt, weil er aus seiner Sicht gut darauf Bezug nimmt, wie maschinell und dennoch vor typisch menschlichen Fehlern nicht gefeit die Sichtweise autonomer Fahrzeuge ist. Seine Bilder zeigen die schemenhafte schwarz-weiße Welt der KI. Der Künstler aus Großbritannien sagt, um auf der Straße zu bleiben muss ein selbstfahrendes Auto „konstant die Welt um sich herum beobachten, auf eine sehr viel menschlichere Art als das zuvor nicht ganz so smarte Technologien gemacht haben“.

Um diese Perspektive auf die Außenwelt einer Künstlichen Intelligenz besser verstehen zu können hat Bridle mit Hilfe von Open-Source-Technologien, ein paar Kameras und Sensoren sein eigenes selbstfahrendes Auto gebastelt. Dazu musste er jedoch erstmal einige Fahrten rund um den Parnassus machen, da er auf Kartendienste wie Google Maps verzichten wollte. Mit den Fahrinformationen hat er dann ein neuronales Netzwerk gefüttert, wodurch das Auto dann schrittweise die „very basic bits“ des autonomen Fahrens gelernt habe, erzählt er im Gespräch mit WIRED. Sein Leben würde er dem Auto jedoch nicht anvertrauen wollen, fügt er hinzu.

Außerdem hat Bridle dazu die Android App Austeer entwickelt, ein Wortspiel, das Austerität, also staatliche Sparmaßnahmen, und das englische Wort für steuern, „steer“, verknüpft. Ganz nebenbei passt das ganz gut zum Ort seiner Test-Fahrten, kämpft Griechenland doch seit Jahren damit, seinen Weg durch strenge Auflagen zu lavieren und damit die Finanzkrise bewältigen zu können. Mithilfe der App kann man Bewegungen und Geschwindigkeiten beim Fahren aufzeichnen um sie für die Entwicklung des eigenen autonomen Fahrzeugs zu verwenden. Die App gibt es hier auf Bridle’s Github Repository.

Bridles Mission: Die für autonomes Fahren nötigen Technologien und die Sichtweisen der eingesetzten KI zu verstehen, die uns im Prinzip schon jetzt im Alltag, zum Beispiel in Gesichtserkennungs-Systemen an Flughäfen und Bahnhöfen, umgeben. Bridle gibt dazu das Beispiel des Ingenieurs und Künstlers Julian Oliver: „Fragt man, wie ein Brief verschickt wird, kann jeder ungefähr erklären, was die einzelnen Abläufe sind. Aber E-Mail? Da wird es schnell sehr komplex.“ Das gelte auch fürs autonome Fahren. Und wer nicht wisse, wie etwas funktioniert, in diesem Fall: wie eine KI die Welt um sich herum wahrnimmt, der könne solche Prozesse auch nicht aktiv beeinflussen.

Beim autonomen Fahren kommen viele neue Technologien zusammen, die dann auf ein altes System von Gesetzen treffen. Künstliche Intelligenz muss sich genauso daran halten wie Menschen aus Fleisch und Blut. Mit dem Unterschied, dass sie Ausnahmen nicht als solche begreift. Um das zu verdeutlichen, hat Bridle sein selbstfahrendes Auto in einen Kreis fahren lassen, dessen Außenseite gestrichelt, die Innenseite jedoch mit durchgezogener Linie markiert war. Das Video wurde überall geteilt, weil es so deutlich zeigte: Eine Künstliche Intelligenz stößt in so einem Fall wortwörtlich an ihre Grenzen. Das Auto verhielt sich, als sei es gefangen in dem Kreis. Entsprechend den Verkehrsregeln durfte es die durchgezogene Linie nicht überfahren.

Die durchgezogene Linie sei ein Problem, welches man durch eine Anpassung der Software hätte beheben können. Aber Bridle möchte damit eben zeigen: „Selbstfahrende Autos sind nicht etwas, an dem jeder in seiner Garage herumschraubt.“ Ein normaler Fahrgast wäre hilflos gewesen angesichts einer solchen Situation. „Ich glaube es liegt eine große Gefahr darin, wenn wir die Welt um uns herum nicht mehr verstehen“, so der Künstler im Gespräch mit WIRED. „Dann passiert es, dass Dinge geschehen, die wir nicht länger beeinflussen können.“

Die Vorstellung, dass Technologie Probleme löse, Antworten gebe und den Menschen generell weiterbringe, sei naiv. Es gehe darum, technische Innovation so gut wie möglich zu hinterfragen. Das treibe ihn für seine Kunst an. Wer nicht verstehe, wie die Technik im eigenen Auto funktioniere, müsse halt damit leben, immer mal im übertragenen Sinne in Gefangenschaft zu geraten, versinnbildlicht auf dem Berg Parnassus in Griechenland.”

Diesen Artikel erschien online im WIRED Magazin, unter

https://www.wired.de/collection/life/james-bridle-kuenstler-selbstfahrendes-auto-waymo-ausstellung-nome Weiterlesen