16
Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX- PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur ein Spielzeug ?

Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Embed Size (px)

Citation preview

Page 1: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA1

Verbindungen RCX-PC

Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung

Lego Mindstorms – mehr als nur ein Spielzeug ?

Page 2: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA2

Inhalt• Vorstellung des Robotik Invention System

• Programmiermethoden im Überblick

• Programmieren via Active X Control

• Vision Command

Page 3: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA3

Vorstellung des Roboter Invention System

• 718 Lego Teile• 2

Berührungssensoren• 1 Lichtsensor• 2 Motoren• RCX• Software

Page 4: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA4

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)

Page 5: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA5

Programmiermethoden

RCX

Spez. Firmware

• LegOS

• PBForth

•Java*

Standard Firmware

• RCX Code

• NQC

• LASM

• ActiveX

Page 6: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA6

RIS & Brick Command Center

Page 7: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA7

Programmieren via ActiveX Control

• RIS 1.0 – 1.5 ActiveX (spirit.ocx)

• Dokumentation im SDK1 bzw. SDK2

• Visual Basic, C++, Delphi usw.

Page 8: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA8

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

Page 9: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA9

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"

Page 10: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA10

Ansteuerung der Eingänge

• Unterschiedliche Sensortypen

• Unterschiedliche Wertebereiche

• Zuvor setzen• Eingänge auch Timer,

Variablen, Zeit, usw.

Page 11: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA11

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)

Page 12: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA12

Weitere Möglichkeiten

• Programme komplett übertragen und bei Ereignis anstoßen schneller

• Kopplung mit Spracherkennung sprachgesteuerter Roboterarm

• Tonausgabe, Übertragungsstatistik …

Page 13: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA13

Vision Command

• Lego Cam + Software + Lego Teile

• 352x288 Pixel (30 Frames/s)

• Webcamsoftware / RIS

• Läuft nur unter Win9x• Sensitive Bereiche

Page 14: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA14

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)

Page 15: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA15

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

Page 16: Frank Zimmermann © 2002 Hauptseminar RA 1 Verbindungen RCX-PC Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung Lego Mindstorms – mehr als nur

Frank Zimmermann © 2002 Hauptseminar RA16

Vision Command Film

robots_that_see3.swf