Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur ein Spielzeug ? Frank Zimmermann © 2002 Hauptseminar RA
Frank Zimmermann © 2002 Hauptseminar RA Inhalt Vorstellung des Robotik Invention System Programmiermethoden im Überblick Programmieren via Active X Control Vision Command Frank Zimmermann © 2002 Hauptseminar RA
Vorstellung des Roboter Invention System 718 Lego Teile 2 Berührungssensoren 1 Lichtsensor 2 Motoren RCX Software Frank Zimmermann © 2002 Hauptseminar RA
Frank Zimmermann © 2002 Hauptseminar RA Der RCX im Detail 3 Eingänge 3 Ausgänge Hitachi H8 Prozessor 16Mhz, 16k ROM, 512 RAM plus 32KSRAM Timer (16 bzw. 8 Bit) durch Tricks Eingänge erweiterbar IR 2400baud (Fernsehfernbedienung) Frank Zimmermann © 2002 Hauptseminar RA
Frank Zimmermann © 2002 Hauptseminar RA Programmiermethoden RCX Spez. Firmware LegOS PBForth Java* Standard Firmware RCX Code NQC LASM ActiveX Frank Zimmermann © 2002 Hauptseminar RA
RIS & Brick Command Center Frank Zimmermann © 2002 Hauptseminar RA
Programmieren via ActiveX Control RIS 1.0 – 1.5 ActiveX (spirit.ocx) Dokumentation im SDK1 bzw. SDK2 Visual Basic, C++, Delphi usw. Frank Zimmermann © 2002 Hauptseminar RA
Frank Zimmermann © 2002 Hauptseminar RA Vorbereitungen Port muss bestimmt werden an dem IR Tower angeschlossen ist Initialisieren in Form_Load und schließen in Unload Rcx.ComPort = i Rcx.InitCom Rcx.CloseComm Frank Zimmermann © 2002 Hauptseminar RA
Ansteuerung der Ausgänge Richtung und Geschwindigkeit der Motoren bestimmbar und einstellbar Danach aktvieren (Dauer, bestimmte Zeit,…) rcx.SetFwd "0" rcx.SetRwd "2" rcx.On "02" Frank Zimmermann © 2002 Hauptseminar RA
Ansteuerung der Eingänge Unterschiedliche Sensortypen Unterschiedliche Wertebereiche Zuvor setzen Eingänge auch Timer, Variablen, Zeit, usw. Frank Zimmermann © 2002 Hauptseminar RA
Frank Zimmermann © 2002 Hauptseminar RA Datalog Ständige Übermitteln von Werten kostet Zeit und Energie Werte sammeln und mit einmal übermitteln Datalog anlegen rcx.SetDatalog (2) Werte schreiben rcx.DatalogNext 9, 1 Werte lesen Array als Ergebnis arr = rcx.UploadDatalog(0, 3) Frank Zimmermann © 2002 Hauptseminar RA
Weitere Möglichkeiten Programme komplett übertragen und bei Ereignis anstoßen schneller Kopplung mit Spracherkennung sprachgesteuerter Roboterarm Tonausgabe, Übertragungsstatistik … Frank Zimmermann © 2002 Hauptseminar RA
Frank Zimmermann © 2002 Hauptseminar RA Vision Command Lego Cam + Software + Lego Teile 352x288 Pixel (30 Frames/s) Webcamsoftware / RIS Läuft nur unter Win9x Sensitive Bereiche Frank Zimmermann © 2002 Hauptseminar RA
Frank Zimmermann © 2002 Hauptseminar RA Vision Command (2) Bereiche können Licht, Dunkel, Farbe und Bewegung erkennen Toleranz angeben Befehle (RCX Code) Erkennung geschieht auf PC RCX nur Befehlsausführer (starten von Unterprogrammen) Frank Zimmermann © 2002 Hauptseminar RA
Probleme des Vision Command RCX muss Kabel hinterher ziehen Erkennungsprobleme bei Bewegung und anderen Lichtverhältnissen Kein einbinden in VB (nur Logitech SDK) Geschwindigkeitsprobleme Guter Ansatz aber mit Problemen behaftet Frank Zimmermann © 2002 Hauptseminar RA
Frank Zimmermann © 2002 Hauptseminar RA Vision Command Film Frank Zimmermann © 2002 Hauptseminar RA