Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

19
Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation

Transcript of Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Page 1: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Robotik für Lehr- und Entwicklungszwecke

Zwischenpräsentation

Page 2: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Grundaufbau - Konzept Komponentenauswahl

◦ Controller-Board◦ USB-I2C-Converter

Programmierung – Libraries◦ Grundsystem◦ Sprachen und Systeme◦ I2C◦ MCK

Fortschritt

Inhalt

Page 3: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Grundaufbau - Konzept

Page 4: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Entwicklung eines universellen Robotiksystems zur Verwendung und Weiterentwicklung im Schulbetrieb◦ OS-unabhängig

flexibles, erweiterbares System hardwaretechnisch einfach zu bedienen Ausreichende Dokumentation

Ziel

Page 5: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Module◦ I2C-Bausteine, Sensoren/Aktoren

Verbindung◦ USB-I2C-Converter, ev. Direktverbindung

Zwischenplatine◦ Aktorensteuerung (Motoren u.a.)

DriveSystem◦ Eigene Energieversorgung, auswechselbar

Konzept

Page 6: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Komponentenauswahl

I2C-USB-Converter: i2c-tiny-usb ([email protected])Controller-Board: Make Controller Kit (makingthings.com)

Page 7: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Kleine Größe – großer Komponentenumfang Eigenbau: Zeitkomponente kritisch Viele Schnittstellen

◦ Aktoren/Sensoren◦ Programmiersprachen

Hohe Leistung◦ Atmel AT91SAM7X256 Mikrocontroller

32-bit ARM7 core 256K Flash 64K SRAM Bis zu 55MHZ/48MIPS

Hoher Preis◦ Versand aus den USA

Make Controller Kit - MCK

Page 8: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Einfache Handhabung – universelle Basis◦ LibUSB

Library zum USB-Handling In C, entwickelt für Linux, Windows Port existiert

Direktes Übersetzten in I2C-Signale◦ Kein simulierter COM-Port

Geringer Preis, jedoch Eigenbau

i2c-tiny-usb

Page 9: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Programmierung – Libraries

Page 10: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Bestehende Funktionen (z.B. von LibUSB) tlw. sehr komplex Kapselung

Basis-Funktionen erstellt◦ Einfacher, jedoch ev. eingeschränkte

Funktionalität

Bestehende Funktionen beibehalten Für erfahrende User

Grundsystem

Page 11: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Sprachen◦ C/C++◦ Java◦ C#

Systeme◦ Windows◦ Linux

Sprachen und Systeme

Page 12: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

C#◦ Baut auf der MCK Basic C# Lib auf. (Nur Windows)

Java◦ Baut auf NetUtil auf. (Plattformunabhängig)

Es sollen einsteigerfreundliche Bibliotheken erstellt werden

In C werden Samples erstellt◦ Kompilierbar auf Windows und Linux

MCK

Page 13: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

MCK – Example-StrukturPort wählen Port.USB oder Port.LAN

Verbindung öffnen open()

Verbindung testen isReady()

Ticket generieren generateTicket()

Kommando und Kommandotyp setzen Setter/Getter möglich

Kommando ausführen 1. executeBlocking() -> warten, bis das Kommando beendet ist (nur für GETTER)2. executeNonBlocking() -> manuell den Status abfragen (für GETTER und SETTER)

Bei Getter Kommandos das Ergebnis auslesen getValue()

Speicher den das Ticket belegt freigeben Dispose()

Verbindung schließen close()

Speicher den das MakingThings Objekt belegt freigeben

Dispose()

Page 14: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Bauen auf LibUSB auf OS-Unabhängig

Einsteigerfunktionen sollen bereitgestellt werden◦ Kapselung der bestehenden LibUSB-Funktionen

C#-Lib: In DLL zusammengefasste C-Funktionen aufrufen

Java-Lib: JNI

I2C

Page 15: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

i2c_get_multiple_converters◦ Liefert die Adressen der an-

geschlossenen Converter

Wenn nur ein Converteri2c_init_win()

I2C – Example-Strukturi2c_get_multiple_convertersi2c_get_multiple_converters

i2c_init_win_multiplei2c_init_win_multiple

i2c_tiny_usb_get_funci2c_tiny_usb_get_func

i2c_lookup_addressi2c_lookup_address

i2c_write_basici2c_write_basic

i2c_read_basici2c_read_basic

i2c_close_wini2c_close_win

Page 16: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Fortschritt

Page 17: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Hardwareplanung und Bau Programmierung

◦ MCK Windows – C Windows – C# Windows – Java – Basisfunktionalitäten

◦ I2C Windows – C Linux – C Windows – C# - Grundfunktionen

Done

Page 18: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Programmierung◦ I2C

Windows – C# (Kosmetik- und erweiterte Funktionen) Windows – Java Linux – Java

◦ MCK Windows C# (Kosmetik- und erweiterte Funktionen) Windows – Java (Kosmetik- und erweiterte Funktionen) Linux – Java (Test) Linux/Windows – C (Mehr Samples)

Testsysteme◦ Auswahl erweitern

I2C-Converter Neubau

ToDo

Page 19: Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.

Danke