Oliver Hock
Videa Project Services GmbH
2
videa-services.com
www.videa.services
oliver.hock@videa.services
JUG Hamburg
Kids4IT Hamburg
kids4it.de
@oliver_hockOliv...
3
4
PE
Geschäftsprozesse
Neugier
SpaßPräzision
Know-how
5
Definition
Steuerung
6
Momentaufnahmen
9V Ausgang
Zustände
Abfragen
Motoren Sensoren
7
CubeFinder
GRIPP3R
8
PC/Remote API
Sensor/Motor Port API
leJOS
9
Business
Developers
Admins
Framework
BPMN 2 Process Engine for Java
JAR
Workflows
Java Application
10
11
up
down
12
Main Process
Name Value
Subprocess
Name Value
EL
EL
13
CubeFinder Main
Walk
Search
Walk Right And DownWalk Right And Up
TurnWalk And Scan
Scan
14
x
y
2m
3m
turn
walk
walk up
right
down
scan
scan
15
Robot Access Delegate Layer
EV3 Brick Access Singleton
Service Task Processes
«JavaDelegate»
Data Objects
CubeFinder Fu...
16
Process
public class RotateDelegate implements JavaDelegate {
private FixedValue port;
private JuelExpression angle;
17
@Override
public void execute(DelegateExecution execution)
throws Exception {
String portValue = (String) port.getValue...
18
public class
ProcessTestCubeFinderMain {
@Test
public void startProcess()
throws RemoteException {
repositoryService
.c...
19
Brick.java
20
RotateDelegate.java
21
22
23
FetchSampleDelegate.java
24
25
27
28
Tilted Twister 2.0
Cube Finder
Engine / Designer
Eclipse Mars.1 for Java Developers
GitHub
Eclipse Juno Java Dev
CubeTw...
29
Danke schön
Ein Prozess lernt laufen: LEGO Mindstorms Steuerung mit BPMN
Nächste SlideShare
Wird geladen in …5
×

Ein Prozess lernt laufen: LEGO Mindstorms Steuerung mit BPMN

106 Aufrufe

Veröffentlicht am

Betriebliche Abläufe gehören zum Geschäftsalltag wie LEGO zur Kindheit. Dennoch mangelt es in vielen Unternehmen an der Transparenz und Wiederverwendbarkeit dieser Abläufe. Mit der Business Process Model and Notation (BPMN) lässt sich dieses Manko beseitigen, und Fachabteilungen und Technik wachsen zusammen. Zusätzlich wird die Geschäftswelt ortsübergreifend visualisiert. Als Ergebnis entstehen Diagramme, die als Dokumentation für das Business dienen und Automatisierungsgrundlage der IT sind.

Im Gegensatz hierzu steht das praktische Lernen mit LEGO Mindstorms. Ein kleiner Roboter wird in mannigfaltigen Ausprägungen zusammengebaut, mit einer Java-API gefüttert und über externe Software gesteuert. Seriell und parallel geschaltete Einzelschritte erwecken unseren beweglichen Freund zum Leben.

In diesem Vortrag wird der Bogen zwischen Prozessen und Robotern gespannt. Bewegungsabläufe werden mit BPMN2 definiert und mittels einer Business Process Engine automatisiert. Es wird die Herangehensweise der Modellierung inklusive BPMN-Basics, Strukturierung von Prozessen sowie Motorik und Sensorik behandelt und während einer Live-Demo veranschaulicht.

Alles in allem ein Thema, das Programmierer und Tüftler, Profis und Unerfahrene sowie Erwachsene und Kinder gleichermaßen zu begeistern vermag.

https://youtu.be/bBJrKY_OBLc

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
106
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
48
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Agenda

    Intro
    Robotik
    Architektur
    BPMN
    Design
    Activiti and leJOS Code Examples
    leJOS API
    Search Pattern
    Demo CubeFinder
    Demo RubikCubeSolver
    Outlook
    Sources
    Questions and Answers
  • Roboter
    Übernimmt bestimmte Funktionen des Menschen (Humanoid)
    Programmierte Befehlsfolgen anstelle bestimmte, mechanische Tätigkeiten des Menschen (Automat)
    Autark
    Sensoren und Motoren

    Steuerung
    Businessprozess (Workflow) als Steuerung
    Logik auf externer Hardware
    Umgebung scannen (Sensoren) und in Bewegung umsetzen (Motoren)
  • Motoren  Output: Bewegungen, Input: Zustände
    Sensoren  Input: Abfragen der Umwelt (Entferung, Farbe, GPS), Output: Triggern von Momentaufnahmen
  • Umbauten:

    Brick tiefer,
    Infrarotsensor drauf.
    Greifer breiter
  • BPMN  Activiti
    Eclipse + Process Designer Plugin
    leJOS Image + Oracle JRE for Lego Mindstorms
  • Prozess: Data Objects => Call Activity: Input Parameters
  • Ausblick: Würfel aufnehmen und zurückbringen
  • Brick.getRegulatedMotor ( String portName );
  • In Eclipse zeigen ( Walk – Main Config – Data Objects )

    FixedValue:  Field name = „port“, String value = „B“
    JuelExpression  Field name = „angle“, Expression = „${ ( distance / 10 ) * 360 }“
  • Generiere Junit Testklasse
  • Vaadin
    JavaFX
  • Openclipart.org
    Tilted Twister 2.0
    LEGO® MINDSTORMS®
    leJOS API
    Activiti Engine und Designer
    GitHub
  • Ein Prozess lernt laufen: LEGO Mindstorms Steuerung mit BPMN

    1. 1. Oliver Hock Videa Project Services GmbH
    2. 2. 2 videa-services.com www.videa.services oliver.hock@videa.services JUG Hamburg Kids4IT Hamburg kids4it.de @oliver_hockOliver_Hock3 olihock / bepemind
    3. 3. 3
    4. 4. 4 PE Geschäftsprozesse Neugier SpaßPräzision Know-how
    5. 5. 5 Definition Steuerung
    6. 6. 6 Momentaufnahmen 9V Ausgang Zustände Abfragen Motoren Sensoren
    7. 7. 7 CubeFinder GRIPP3R
    8. 8. 8 PC/Remote API Sensor/Motor Port API leJOS
    9. 9. 9 Business Developers Admins Framework BPMN 2 Process Engine for Java JAR Workflows Java Application
    10. 10. 10
    11. 11. 11 up down
    12. 12. 12 Main Process Name Value Subprocess Name Value EL EL
    13. 13. 13 CubeFinder Main Walk Search Walk Right And DownWalk Right And Up TurnWalk And Scan Scan
    14. 14. 14 x y 2m 3m turn walk walk up right down scan scan
    15. 15. 15 Robot Access Delegate Layer EV3 Brick Access Singleton Service Task Processes «JavaDelegate» Data Objects CubeFinder Functions RotateDelegate FetchSampleDelegate Brick.getInstance() Very Static Model getRegulatedMotor(p) getSampleProvider(p) Host = “192.168.173.67”
    16. 16. 16 Process public class RotateDelegate implements JavaDelegate { private FixedValue port; private JuelExpression angle;
    17. 17. 17 @Override public void execute(DelegateExecution execution) throws Exception { String portValue = (String) port.getValue(execution); Long angleValue = (Long) angle.getValue(execution); String hostVar = ""+execution.getVariable("Host"); // leJOS API stuff here }
    18. 18. 18 public class ProcessTestCubeFinderMain { @Test public void startProcess() throws RemoteException { repositoryService .createDeployment() .addInputStream( "cubeFinderMain.bpmn20.xml", mainPath)) .addInputStream( "scan.bpmn20.xml", scanPath) .deploy(); }} Run as …
    19. 19. 19 Brick.java
    20. 20. 20 RotateDelegate.java
    21. 21. 21
    22. 22. 22
    23. 23. 23 FetchSampleDelegate.java
    24. 24. 24
    25. 25. 25
    26. 26. 27
    27. 27. 28 Tilted Twister 2.0 Cube Finder Engine / Designer Eclipse Mars.1 for Java Developers GitHub Eclipse Juno Java Dev CubeTwister (Randelshofer) KCube 1.0 by Greg Schmidt Kociemba two-phase solver
    28. 28. 29 Danke schön

    ×