Institut für Innovation, Design und Engineering IDEE‐FHS Rapid Automation – Workshop zur schnellen Prozess‐ automatisierung 10. Ostschweizer Innovationstagung 3. Mai 2017, St. Gallen Rapid Prototyping & Process Automation Quelle: https://lochieferrier.wordpress.com/tag/lego/ Quelle: https://www.youtube.com/watch?v=WBEtUJmp05w#t=80 Workshop: «Rapid Automation» 14:00 Begrüssung und Einführung ins Thema 14:05 Einführung in den Workshop 14:15 littleBits 14:25 Lego Mindstorms EV3 14:35 Arduino (Makeblock/MeArm) 14:45 Pause (Gruppeneinteilung) 15:00 Start des Workshops 16:30 Präsentation und Diskussion der Workshopergebnisse 17:00 Ende des Workshops IDEE‐Workshopteam littleBits Thomas Achermann Arduino Andreas Peter Gallus Glanzmann Lego Mindstorms EV3 Support Dave Spoerle Thomas Utz Jörg Bachmann Ueli Hagger Lukas Schmid Urs Sonderegger Projekt Altglas ‐ Aufgabenstellung für den Workshop Altglastransporter Umladestation Sortieranlage Komponenten: littleBits Aufgabe: bauen Komplexität: einfach Komponenten: Arduino/MeArm Aufgabe: programmieren Komplexität: schwierig Komponenten: Arduino/Mindstorms Aufgabe: programmieren Komplexität: schwierig Gabelstapler Portalkran Containerschiff Komponenten: Mindstorms Aufgabe: bauen und programmieren Komplexität: mittel Komponenten: Mindstorms Aufgabe: programmieren Komplexität: schwierig Komponenten: Mindstorms Aufgabe: bauen und programmieren Komplexität: einfach Rapid Automation mit littleBits Littlebits sind kleine Elektronikbausteine, die mit Hilfe von Magneten zusammengehalten werden. Mit den farblich nach Funktion gestalteten Modulen (sogenannten «Bits») können Schaltungen und Stromkreisläufe erstellt werden - ohne Programmieren, Löten, Verkabeln oder Steckbrett. Von den «Bits» gibt es vier Grundtypen: • pinke Input-Bits (z.B. Taster, Schalter und Sensoren), die auf die Umgebung reagieren • grüne Output-Bits (z.B. Lichter und Motoren), die Signale, Töne oder Bewegungen ausgeben • blaue Output-Bits (Stromversorger), die jedem Projekt den notwendigen Strom liefern • orange Wire-Bits (Kabel-Module), die Verbindungen herstellen Vorteile und Nachteile von littleBits + - - sehr einfache Handhabung - - Fehlerhaftes Aufbauen unmöglich Einschränkung in den Bauelementen - nicht programmierbar - Sehr schnell aufgebaut - magnetische Verbindungen Module Sensoren (rosa) Aktoren (grün) • Taster • Servomotor • Schieberegler • Gleichstrommotor • Licht • Leuchtdiode • Temperatur • Anzeige (Zähler) • Druck • Summer • Schwellwert • Ventilator • usw. • usw. Module (Aufbau) Beispiel einer Temperaturmessung Stromversorgung Temp. Sensor Anzeige usw. Film Quelle: https://www.youtube.com/watch?v=YUUsJSDa7PE Rapid Automation mit Lego Mindstorms EV3 Lego Mindstorms EV3 ist eine Produktserie des dänischen Spielwarenherstellers Lego. Kernstück der Produktserie ist ein programmierbarer Legostein (NXT/EV3) sowie Elektromotoren, Sensoren und Lego-Technik-Teile (Zahnräder, Achsen, Lochbalken, Pneumatik-Teile usw.), um Roboter und andere autonome und interaktive Systeme zu konstruieren und programmieren. World Record Rubik's Cube Solver DIY‐Roboter für Alltagsaufgaben Hardware / Roboterbausatz Programmierung und Software Um den EV3-Stein zu programmieren gibt es verschiedene Programmierumgebungen und Sprachen: • Die von LEGO mitgelieferte Software wird schlicht als «EV3- Software» bezeichnet. Sie bietet eine grafische Oberfläche und fertige Blöcke für Programmabläufe. • NEPO – die im «Open Roberta Lab» verwendet wird – ist ebenfalls eine grafische Programmiersprache, mit der ein unkomplizierter Einstieg in die Programmierung von EV3-Robotern möglich ist. • ROBOTC ist eine von der Carnegie Mellon Universität entwickelte Programmiersprache. Mit RobotC können Lego Mindstorms Roboter in C programmiert werden. • Mit leJOS (LEGO Java Operating System) kann der EV3 auch in Java programmiert werden. leJOS ist ein Framework welche auch die benötigte Firmware für die Programmierung in Java enthält. EV3‐Software (LabVIEW) Programm‐Blöcke Parametereinstellungen der Programm‐Blöcke Vom programmieren einfacher Sequenzen … … bis zu «intelligenten» Steuerungen, … Beispiel: Jedes Mal, wenn der Berührungssensor gedrückt wird, startet dieses Programm den Motor, mit 50% Leistung. Wenn der Berührungssensor losgelassen wird, stoppt der Motor. Die Schleife sorgt dafür, dass der Sensortest im Schalter-Block ständig wiederholt wird. … mit Datenerfassung und Datenübertragung, … Beispiel: Der Ultraschallsensor regelt die Geschwindigkeit des Motors. Je näher der Sensor an einem «Hindernis» ist, desto langsamer dreht sich der Motor. … unter Verwendung von Variablen und Logik, … Beispiel: Der Motor dreht sich mit 50% Leistung und stoppt erst, wenn der Tastsensor gedrückt wird und gleichzeitig der Farbsensor die Farbe rot erkennt . … oder mit Messwerterfassung und Kommunikation. Beispiel: Dieses Programm stellt eine Verbindung zu einem EV3-Stein namens Kim her. Das Programm sendet die Nachricht „Hello“ (Hallo), wenn sich der Zustand des Berührungssensors ändert. Beispiel aus dem Workshop ‐ Sortieranlage Beispiel aus dem Workshop ‐ Sortieranlage Vorteile und Nachteile von Lego Mindstorms EV3 + - • Kompatibel mit Lego Technik • Hohe Anschaffungskosten • Skalierbares Medium • Ungenaue Messergebnisse • Verschiedene Sprachen • Leistungsabfall • WLAN und Bluetooth fähig • Vorgegebene Bauelemente • Hard- und Software stimmig • Image (Lego spielen) • Sensoren von Fremdanbietern • Grosser Leistungsumfang • Kompatibel mit Arduino • Viele Bücher und Beispiele Rapid Automation mit Arduino ‐ Mikrocontroller Mikrocontroller Kernkomponente Lego Mindstorms EV3 Sehr kleine Bauformen mit tiefem Stromverbrauch möglich Riesige Palette an Möglichkeiten Programmierung in Hochsprache Einsatz von Elektronik Komponenten (Bauteile, Leitungen für Signale und Stromversorgung) Rapid Automation mit Arduino Arduino Den Einstieg in die Mikrocontroller-Welt der unbegrenzten Möglichkeiten etwas leichter gemacht. Vereinfachte Handhabung – Hardware und Programmierumgebung Grosse Community mit einer riesigen Vielfalt an Projekten Rapid Automation mit Arduino ‐ Mikrocontroller Rapid Automation mit Arduino ‐ Einordnung der Systeme Systeme ohne Betriebssystem Prozedurale Programmierung (Arduino Uno, etc.) Systeme mit Betriebssystem Erweiterte Möglichkeiten in der Programmierung und Kommunikation (Lego Mindstorms EV3, Raspberry Pi, MKR1000, Mobile Phones, etc.) Rapid Automation mit Arduino Bestandteile Arduino ist eine Open-Source-Elektronik-PrototypingPlattform für flexible, einfach zu bedienende Hardware und Software. Die Hardware besteht aus einem einfachen Board mit dem Mikrocontroller und elektrischen Anschlüssen für Speisung und Signale Die Entwicklungsumgebung ist einfach aufgebaut und soll auch technisch weniger Versierten den Zugang zur Programmierung und zu Mikrocontrollern erleichtern. Die Programmierung kann in C bzw. C++ erfolgen. Rapid Automation mit Arduino Entwicklungsumgebung Rapid Automation mit Arduino mit Breadboard Rapid Automation mit Arduino Bausätze Mit dem Mikrokontroller können auch diverse Mechanik- und Robotikbausätze angesteuert werden. XY Plotter (Makeblock) MeArm (Mime Industries) Mindstorms (Lego) Rapid Automation mit Arduino Bausätze Rapid Automation mit Arduino Projekte Beispiel aus dem Workshop MeArm Beispiel aus dem Workshop MeArm Beispiel aus dem Workshop Sortieranlage Sortieranlage mit Arduino und EV Shield Um die Lego Sensoren, z.B. Schalter, Farbsensor und Lego Aktoren, z.B. Motoren verwenden zu können, verwenden wir ein EV Shield. Ausgereifte Peripherie direkt einsteckbar. Diese Baugruppe wird zusammen mir einem Arduinoboard verwendet. void loop() { int val, grad; int farbe; static bool gestartet = false; if (gestartet || evshield.getButtonState(BTN_GO)) { evshield.bank_a.motorStop(SH_Motor_1,SH_Next_Action_BrakeHold); gestartet = true; // lesen des Sensorwertes farbe = c1.getVal(); switch (farbe) { case 2: // blau if (!(position == ABSOLUT_BLAU)) { // neue Position blau_anfahren(); } // nicht blau abladen(); break; // ende blau // usw. default: // keine Element mehr -> mache nichts evshield.bank_a.motorStop(SH_Motor_1,SH_Next_Action_BrakeHold); } // switch Farbauswahl } // Zum Starten GO Taste drücken -> danach Endlos } // loop() Vorteile und Nachteile von Arduino + - - Individuelle Lösungen möglich - Komplexität Programmierung - Frei programmierbar - - Schritt zu reiner Mikrocontrollerlösung vergleichsweise klein Handhabung, Verdrahtung und Einsatz von Elektronikkomponenten - viele unterschiedliche Sensoren und Aktoren einsetzbar Keine Computerarchitektur wie zum Beispiel Raspberry Pi 3 - Begrenzte Kommunikation von Arduino Uno (Kein LAN, WLAN, USB Host) - Prozedural ablaufende Programme - Open-Source, viele Quellen mit Beispielen, Hilfestellungen - Low Power, Low Cost Projekt Altglas ‐ Aufgabenstellung für den Workshop Altglastransporter Umladestation Sortieranlage Komponenten: littleBits Aufgabe: bauen Komplexität: einfach Komponenten: Arduino/MeArm Aufgabe: programmieren Komplexität: schwierig Komponenten: Arduino/Mindstorms Aufgabe: programmieren Komplexität: schwierig Gabelstapler Portalkran Containerschiff Komponenten: Mindstorms Aufgabe: bauen und programmieren Komplexität: mittel Komponenten: Mindstorms Aufgabe: programmieren Komplexität: schwierig Komponenten: Mindstorms Aufgabe: bauen und programmieren Komplexität: einfach Projekt Altglas ‐ Workshopstationen Projekt Altglas ‐ Präsentation Altglastransporter Umladestation Sortieranlage Komponenten: littleBits Aufgabe: bauen Komplexität: einfach Komponenten: Arduino/MeArm Aufgabe: programmieren Komplexität: schwierig Komponenten: Arduino/Mindstorms Aufgabe: programmieren Komplexität: schwierig Gabelstapler Portalkran Containerschiff Komponenten: Mindstorms Aufgabe: bauen und programmieren Komplexität: mittel Komponenten: Mindstorms Aufgabe: programmieren Komplexität: schwierig Komponenten: Mindstorms Aufgabe: bauen und programmieren Komplexität: einfach Wir sind auf dem Weg Anwendungsorientierung steht an erster Stelle Vereinfachung und Leistungssteigerung schreitet voran Möglichkeiten und Hürden im kombinierten Einsatz verschiedener Systeme Vernetzung – Internet of Things (IoT) Kombination mit industriellen Systemen (SPS-Systeme, Antriebssysteme) Referate der Abendveranstaltung Rapid Innovation • Challenges in Design ‐ schnelle Markteinführung als kritischer Erfolgsfaktor Ramon Hofer Kraner (Optrel AG) • BIG DATA für Innovation – Live Demo IBM Watson IoT Romeo Kienzler (IBM Watson) • Intelligente Roboter mit Gefühls‐Sensorik – für eine sichere Zusammenarbeit Michael Schüpbach (FANUC Switzerland AG)