NXT Steuerung

Im Rahmen der Teamarbeit wird LEGO Mindstorms eingesetzt. LEGO Mindstorms bietet die Möglichkeit mechatronische Produkte bestehend aus mechanischen Bauteilen, Strukturbauteilen, Aktuatoren (z.B. Servomotoren) und verschiedenen Sensoren zu bauen. Zur Steuerung existiert ein intelligenter Baustein, in dem eine Prozessoreinheit und Speicherbausteine verbaut sind. Dieser Baustein, NXT Brick genannt, kann von MATLAB angesprochen werden, um Programme zu starten, Motoreinheiten zu (de-)aktivieren oder Sensordaten auszulesen.

Nachfolgend lernen Sie die einzelnen Befehle für die Kommunikation mit dem NXT Brick sowie den restlichen mechatronischen Komponenten. Da leider nicht ausreichend reale Bausätze existieren, werden Sie anfänglich auf einer virtuellen Entwicklungsumgebung arbeiten. Diese Entwicklungsumgebung simuliert den realen Roboter sowie alle Beschränkungen. Gegen Ende der Teamarbeit dürfen Sie Ihr Projekt dann auf dem realen Roboter testen.

Hinweis: Theoretisch unterscheiden sich die Entwicklungsumgebung und die Realität nicht voneinander. Sollten doch Abweichungen auftreten, melden Sie uns diese bitte sofort, damit diese behoben werden können.

 

Entwicklungsumgebung nutzen

Zuerst müssen Sie die nebenstehende Entwicklungsumgebung herunterladen und in ein Verzeichnis Ihrer Wahl entpacken. Im folgenden wird davon ausgegangen, dass Sie die Datei in das Verzeichnis "NXT" entpackt haben.

Machen Sie nun MATLAB das entpackte Verzeichnis "bekannt". Geben Sie dazu den folgenden Befehl ein: path(path, 'H:\NXT'). MATLAB wird nun auch in diesem Verzeichnis nach Funktionen suchen.

Hinweis: Sollten Sie die Entwicklungsumgebung auch auf Ihrem privaten Rechner nutzen wollen, benötigen Sie vorab die neuste Version des JAVA Runtime Environment.

Aufbauen einer Verbindung zu einem Modul (NXT Brick)

Sie sollten nun alle offenen Verbindungen schließen:

COM_CloseNXT('all');


Als nächsten Schritt müssen Sie eine Verbindung zu einem NXT-Brick aufbauen. Die Module sind von 1 bis 4 durchnummeriert. Je nachdem zu welchem NXT-Brick Sie eine Verbindung aufbauen wollen, lauten die Befehle daher wie folgt:

nxtHandle = COM_OpenNXTEx('Any', '01', '01.ini'); % Farberkennung nxtHandle = COM_OpenNXTEx('Any', '02', '02.ini'); % Sortiermaschine nxtHandle = COM_OpenNXTEx('Any', '03', '03.ini'); % Zählwerk nxtHandle = COM_OpenNXTEx('Any', '04', '04.ini'); % Portionierer


Als nächstes definieren Sie eine Standardverbindung: COM_SetDefaultNXT(nxtHandle);


Sie sollten nun ein Fenster sehen, dass Ihnen eine Übersicht über alle Anschlüsse an Ihrem virtuellen NXT-Brick gibt (siehe Abbildung).