Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.
-
Upload
witold-eble -
Category
Documents
-
view
105 -
download
3
Transcript of Robotik für Lehr- und Entwicklungszwecke Zwischenpräsentation.
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
Grundaufbau - Konzept
Entwicklung eines universellen Robotiksystems zur Verwendung und Weiterentwicklung im Schulbetrieb◦ OS-unabhängig
flexibles, erweiterbares System hardwaretechnisch einfach zu bedienen Ausreichende Dokumentation
Ziel
Module◦ I2C-Bausteine, Sensoren/Aktoren
Verbindung◦ USB-I2C-Converter, ev. Direktverbindung
Zwischenplatine◦ Aktorensteuerung (Motoren u.a.)
DriveSystem◦ Eigene Energieversorgung, auswechselbar
Konzept
Komponentenauswahl
I2C-USB-Converter: i2c-tiny-usb ([email protected])Controller-Board: Make Controller Kit (makingthings.com)
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
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
Programmierung – Libraries
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
Sprachen◦ C/C++◦ Java◦ C#
Systeme◦ Windows◦ Linux
Sprachen und Systeme
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
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()
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
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
Fortschritt
Hardwareplanung und Bau Programmierung
◦ MCK Windows – C Windows – C# Windows – Java – Basisfunktionalitäten
◦ I2C Windows – C Linux – C Windows – C# - Grundfunktionen
Done
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
Danke