In der vorherigen Lektion haben Sie gelernt, wie Sie den 6-Achsen-Arm codieren, um einen Würfel aufzunehmen und auf die Palette zu legen. In dieser Lektion werden Sie auf dem aufbauen, was Sie gelernt haben, um mehrere Würfel auf die Palette zu bringen. Sie werden lernen, wie man:
- Planen Sie die Abgabestellen der Würfel, die Sie auf der Palette platzieren werden.
- Codieren Sie den 6-Achsen-Arm, um zwei Würfel erfolgreich auf die Palette zu bewegen.
Am Ende der Lektion werden Sie auf Ihr Projekt aufbauen, um in der Aktivität vier Würfel aufzunehmen und auf die Palette zu legen.

Über die Positionierung auf der Palette nachdenken
In der vorherigen Lektion haben Sie einen Würfel auf die Palette verschoben und in der Mitte platziert. Einer der Vorteile des Versands großer Mengen von Gegenständen mit einer Palette ist, dass viele Gegenstände gleichzeitig transportiert werden können. Um dies effektiv zu tun, müssen diese Objekte effizient angeordnet werden, damit Unternehmen mehr auf jede Palette packen können, die sie versenden.
Eine Palette wäre eine ineffiziente und teure Möglichkeit, ein oder zwei kleine Objekte zu
bewegen, wie die Situation, einen Würfel in der Mitte der Palette zu platzieren. Wenn Sie jedoch
mehr Würfel auf die Palette legen, wird der Versand effizienter und kostengünstiger. 
Um dies zu tun, müssen wir darüber nachdenken, wo jeder der Würfel auf der Palette platziert wird. In dieser Lektion erfahren Sie, wie Sie den 6-Achsen-Arm codieren, um mehrere Würfel zu bewegen und sie effektiv zusammen auf der Palette zu platzieren.
Platziere den ersten Würfel
Ihr Projekt aus Lektion 2 hat einen Cube in die Mitte der Palette verschoben. Der erste Schritt zum Platzieren mehrerer Würfel besteht darin, den Abgabeort für den ersten Würfel anzupassen – ihn an der Ecke der Palette zu platzieren.
Öffnen Sie Ihr Projekt aus Lektion 2 in VEXcode EXP.

Benennen Sie das Projekt in Einheit 7 Lektion 3 um und speichern Sie es auf Ihrem Gerät.

Legen Sie den Würfel auf die Ecke der Palette.
Bewegen Sie den 6-Achsen-Arm manuell so, dass der Magnet die Oberseite des Würfels berührt.

Stellen Sie sicher, dass der 6-Achsen-Arm mit dem VEXcode verbunden ist.
Wählen Sie das Monitor-Symbol in der Symbolleiste, um den Monitor zu öffnen.

Notieren Sie die x- und y-Koordinaten von der Monitor-Konsole in Ihrem technischen Notizbuch. Dies sind die x- und y-Koordinaten des Absetzorts für den Cube.
Denken Sie daran, dass sich der 6-Achsen-Arm über den Absetzort bewegt, bevor Sie den Würfel zur Palette bewegen. Das bedeutet, dass Sie den z-Wert nicht erfassen müssen.

Geben Sie die x- und y-Koordinaten des neuen Zielorts in Ihr Projekt ein. Die z-Koordinate sollte gleich bleiben, damit der 6-Achsen-Arm über der Absetzstelle bleibt.
Achten Sie darauf, Ihre Koordinaten zu verwenden, da die hier gezeigten ein Beispiel sind und von Ihren eigenen aufgezeichneten Koordinaten abweichen können.

Stellen Sie sicher, dass der 6-Achsen-Arm mit dem VEXcode verbunden ist und der Würfel in der Ladezone platziert ist.
Führen Sie das Projekt aus, um es zu testen. Beobachten Sie das Verhalten des 6-Achsen-Arms. Nimmt es den Würfel auf und platziert ihn wie vorgesehen an der Ecke der Palette? Warum oder warum nicht?

Stoppen Sie das Projekt, wenn sich der 6-Achsen-Arm nicht mehr bewegt. Notieren Sie Ihre Beobachtungen in Ihrem technischen Notizbuch.

Verschieben eines zweiten Würfels
Jetzt, da der erste Würfel an der neuen Abgabestelle ist, gibt es Platz auf der Palette, um
zusätzliche Würfel zu platzieren. Die gleichen Verhaltensweisen, die zum Bewegen des ersten
Würfels verwendet wurden, werden wiederholt, um eine Sekunde zu bewegen. Der 6-Achsen-Arm muss
sich an denselben Abholort bewegen, den Magneten aktivieren, den Würfel auf die Palette bewegen
und den Würfel freigeben.
Es gibt mehrere Codierungsstrategien, mit denen Sie versuchen können, beide Cubes erfolgreich zu bewegen.
Hinzufügen eines Wiederholungsblocks
Da man weiß, dass sich eine Reihe von Verhaltensweisen wiederholen werden, ist die erste Strategie, es zu versuchen, einen Wiederholungsblock zu verwenden. Wie Sie in der vorherigen Einheit gelernt haben, ist ein Wiederholungsblock nützlich, um Blöcke oder einen Stapel von Blöcken in einem Projekt zu wiederholen.
Fügen Sie Ihrem Projekt unterhalb des Set-Endeffektor-Blocks einen Wiederholungsblock hinzu, wie hier gezeigt.
Ziehen Sie den Verschieben des Würfels zum Palettenkommentarblock in den Wiederholungsblock , wie hier gezeigt. Dadurch werden auch alle nachfolgenden Blöcke in den Wiederholungsblock gezogen.
Nun können alle Blöcke, die zum Aufnehmen und Platzieren eines Würfels vom Abholort bis zur Ecke der Palette benötigt werden, wiederholt werden.
Stellen Sie den Parameter im Wiederholungsblock auf 2.
Da Sie versuchen, zwei Würfel auf die Palette zu bringen, werden die Verhaltensweisen zweimal wiederholt.

Lesen Sie den Code, den Sie erstellt haben, und prognostizieren Sie, was der 6-Achsen-Arm tun wird, wenn das Projekt ausgeführt wird.
Notieren Sie Ihre Vorhersage in Ihrem technischen Notizbuch. Sie können den Weg des 6-Achsen-Arms skizzieren oder zeichnen, wo die Würfel auf der Palette platziert werden.

Stellen Sie sicher, dass der 6-Achsen-Arm mit dem VEXcode verbunden ist.
Führen Sie das Projekt aus, um es zu testen. Beobachten Sie das Verhalten des 6-Achsen-Arms, wenn das Projekt ausgeführt wird.

Stoppen Sie das Projekt, wenn sich der 6-Achsen-Arm nicht mehr bewegt. Notieren Sie Ihre Beobachtungen in Ihrem technischen Notizbuch.
Hat der 6-Achsen-Arm beide Würfel erfolgreich auf die Palette gebracht? Warum oder warum nicht?

Dadurch wurde der zweite Cube nicht wie beabsichtigt verschoben und ein Fehler verursacht. Da der erste Würfel an dieser Position platziert wurde, kann der zweite Würfel nicht auch an derselben Position platziert werden. Der 6-Achsen-Arm konnte die Position nicht erreichen, daher ist ein Fehler aufgetreten.
Um den zweiten Würfel auf der Palette zu platzieren, müssen wir diesen Würfel in eine offene Position auf der Palette verschieben.
Bewegen Sie den zweiten Würfel relativ zum ersten
Die Kenntnis der Position des ersten Würfels auf der Palette bedeutet, dass der nächste Würfel relativ zum ersten platziert werden kann. Sie haben in der vorherigen Einheit etwas über die relative Bewegung gelernt und können diese Konzepte nun anwenden, um den zweiten Würfel zu platzieren.
Um die nächste Ecke der Palette zu erreichen, bewegt sich der 6-Achsen-Arm in positiver Richtung
entlang der y-Achse. 
Anhand dessen, was über die Größe des Würfels bekannt ist, kann der Versatz bestimmt werden, der zum Platzieren des zweiten Würfels erforderlich ist. Der Offset ist die Differenz zwischen dem aktuellen Standort und dem gewünschten Standort eines Objekts. Auf der Palette ist der Versatz für den zweiten Würfel der Abstand zwischen der Mitte des ersten Würfels und der Mitte des zweiten Würfels an der gewünschten Stelle.
Da ein Würfel 25 mm breit ist, können wir ungefähr sagen, dass der Versatz 50 mm beträgt.
Nun, da Sie den Abstand und die Richtung der benötigten Relativbewegung kennen, können diese Informationen dem Projekt hinzugefügt werden.
Fügen Sie dem Projekt einen Inkrement-Positionsblock hinzu, wie hier gezeigt.
Stellen Sie den y-Parameter auf 50. Dies deutet auf eine Relativbewegung von 50 mm entlang der y-Achse hin.

Lesen Sie den Code und prognostizieren Sie das Verhalten des 6-Achsen-Arms.
Notieren Sie Ihre Vorhersage in Ihrem technischen Notizbuch. Glauben Sie, dass dieses Projekt beide Cubes erfolgreich an den gewünschten Standorten platzieren wird? Warum oder warum nicht?

Stellen Sie sicher, dass der 6-Achsen-Arm mit dem VEXcode verbunden ist. Führen Sie das Projekt aus, um es zu testen.
Beobachten Sie das Verhalten des 6-Achsen-Arms.

Stoppen Sie das Projekt, wenn der 6-Achsen-Arm fertig ist. Notieren Sie Ihre Beobachtungen in Ihrem technischen Notizbuch.
Entsprach Ihre Beobachtung Ihrer Vorhersage? Werden die beiden Cubes an die vorgesehenen Stellen auf der Palette bewegt? Warum oder warum nicht?

Wie Sie vielleicht vorhergesagt haben, verschiebt dieses Projekt auch nicht beide Cubes an ihre vorgesehenen Standorte. Der Block Inkrementposition hat den 6-Achsen-Arm korrekt in die gewünschte Position für den zweiten Würfel bewegt. Da jedoch alle Verhaltensweisen wiederholt wurden, wurden beide Cubes an diesen Ort verschoben. Dies verursachte den gleichen Fehler wie das vorherige Projekt, nur an einer anderen Stelle auf der Palette.
Ziel ist es, den ersten Cube an der ersten Stelle und den zweiten Cube an der zweiten Stelle auf der Palette zu platzieren. Um dies erfolgreich zu tun, muss das Projekt verfolgen, welcher Cube verschoben wird. Wenn der erste Cube verschoben wird, sollte er zum ersten Ort gehen. Wenn der zweite Würfel bewegt wird, kann er an der zweiten Stelle platziert werden.
Verschieben von zwei Würfeln mit Variablen und einem Wenn-dann-Block
Um den Überblick darüber zu behalten, welcher Würfel verschoben wird, kann eine Variable erstellt und im Projekt verwendet werden, um die Würfel während der Manipulation im Wesentlichen zu "zählen". Eine Variable kann verwendet werden, um Informationen darüber zu speichern, welcher Cube verschoben wird. Diese Informationen können dann verwendet werden, um eine Entscheidung innerhalb des Projekts zu treffen – wenn der 6-Achsen-Arm den zweiten Würfel bewegt , sollte er ihn an die zweite Stelle auf der Palette verschieben.
Erstellen Sie eine Variable und nennen Sie sie CubeCount. Wählen Sie Absenden , um die Variable zu erstellen.
Sie können Einheit 6 Lektion 2 noch einmal besuchen, um sich daran zu erinnern, wie Sie eine Variable in VEXcode erstellen.

Fügen Sie dem Projekt über dem Wiederholungsblock den Block Variable festlegen hinzu, wie hier gezeigt.
Setzen Sie den Parameter auf 1. Stellen Sie sicher, dass die Variable CubeCount in der Dropdown-Liste ausgewählt ist.
Wenn das Projekt gestartet wird, wird der erste Cube abgeholt. Da der Zweck dieser Variable darin besteht, den Würfel, der verschoben wird, zu nummerieren, muss sie auf '1' gesetzt werden, um zu beginnen.

Zuvor wurde ein Inkrement-Positionsblock hinzugefügt, um den 6-Achsen-Arm an die zweite Absetzstelle zu bewegen. Um den ersten Cube an die Abgabestelle zu verschieben, muss dieser Block gelöscht werden.
Klicken Sie mit der rechten Maustaste auf den Block Position erhöhen und löschen Sie ihn, wie hier gezeigt.
Fügen Sie einen Änderungsvariablenblock am unteren Rand des Wiederholungsblocks hinzu, wie hier gezeigt.
Wenn das Projekt ausgeführt wird, wird der erste Cube an den Zielort verschoben. Wenn Sie hier den Block Variable ändern hinzufügen, erhöht sich der CubeCount, nachdem der erste Cube geliefert wurde. Wenn der Wiederholungsblock zurückkehrt, um den zweiten Würfel aufzunehmen, wird die Variable '2' erhöht, was anzeigt, dass der zweite Würfel bewegt wird.
Jetzt, da das Projekt Informationen über die Anzahl der Cubes speichert, können wir diese
Informationen verwenden, um eine Entscheidung zu treffen. Ein Wenn dann -Block
ermöglicht es uns, eine Frage innerhalb eines Projekts zu stellen und Informationen (wie den
Wert einer Variablen) zu verwenden, um eine Entscheidung zu treffen. 
Der If then -Block ist ein C-Block, der Boolesche Reporter-Blöcke als Bedingung akzeptiert. Ein Boolescher Block gibt eine Bedingung entweder als WAHR oder FALSCH zurück und passt in jeden Block mit einem hexagonalen Eingang. Wenn die Bedingung als WAHR gemeldet wird, werden die Blöcke innerhalb des C-Blocks ausgeführt. Wenn die Bedingung als FALSCH gemeldet wird, wird der Block Wenn dann im Projekt übersprungen.
In diesem Fall ist die Bedingung, nach der wir suchen, dass die CubeCount-Variable 2 ist. Wenn die Variable CubeCount 2 ist , muss der 6-Achsen-Arm in die zweite Position auf der Palette bewegt werden.
Lassen Sie uns darüber nachdenken, wo im Projekt diese Entscheidung getroffen werden muss. Das
Projekt nimmt den Würfel in der Ladezone auf und bewegt sich dann über den
Absetzort. Wenn der CubeCount 2 ist , muss der
6-Achsen-Arm ein zusätzliches Verhalten ausführen, um zur zweiten Palettenposition zu
gelangen. 
Fügen Sie dem Projekt einen Wenn dann -Block hinzu, wie hier gezeigt.

Fügen Sie einen Equal to -Block in den hexagonalen Raum im If then -Block ein, wie hier gezeigt.
Fügen Sie die Variable CubeCount auf der linken Seite des Operators Equal to hinzu. Stellen Sie die rechte Seite des Equal to -Bedieners auf 2, wie in diesem Video gezeigt.
Wenn die CubeCount-Variable gleich 2 ist, wird die boolesche Bedingung als WAHR gemeldet. Wenn der CubeCount nicht 2 ist, wird die boolesche Bedingung als FALSCH gemeldet.
Fügen Sie einen Inkrement-Positionsblock innerhalb des C-Blocks hinzu, wie hier gezeigt.
Stellen Sie den y-Parameter des Blocks Inkrementposition auf 50 ein.
Wenn die Bedingung des Wenn-dann-Blocks erfüllt ist, wird der Inkrement-Positionsblock innerhalb des Wenn-dann-Blocks ausgeführt. Dies bedeutet, dass , wenn der CubeCount 2 ist, der 6-Achsen-Arm die Relativbewegung zur zweiten Position auf der Palette ausführt.

Lesen Sie den Code und sagen Sie voraus, was der 6-Achsen-Arm tun wird, wenn das Projekt ausgeführt wird.
Notieren Sie Ihre Vorhersage in Ihrem technischen Notizbuch.

Stellen Sie sicher, dass der 6-Achsen-Arm mit dem VEXcode verbunden ist. Führen Sie das Projekt aus, um es zu testen.
Beobachten Sie das Verhalten des 6-Achsen-Arms während des Projektablaufs.

Stoppen Sie das Projekt, wenn der 6-Achsen-Arm seine Bewegung beendet hat. Notieren Sie Ihre Beobachtungen in Ihrem technischen Notizbuch.
Hat sich der 6-Achsen-Arm wie vorhergesagt bewegt? Wurden beide Würfel wie vorgesehen auf die Palette gebracht? Warum oder warum nicht?

Zur Kenntnisnahme
Möglicherweise möchten Sie das Projekt mehrmals ausführen, damit Sie auf die Blöcke
achten können, die ausgeführt werden, während sich der 6-Achsen-Arm bewegt. Achten Sie
auf die Markierung um die Blöcke herum, während sie im Projekt ausgeführt werden, damit
Sie besser verstehen, wann der Wenn-dann-Block ausgeführt wird. Sie können auch die
Schrittfunktion verwenden, um das Projekt blockweise auszuführen, damit
Sie den Projektablauf mit dem Block Wenn dann klarer sehen können. 
Denken Sie daran, dass Sie dem Monitor eine Variable hinzufügen können, um den CubeCount-Wert während der Ausführung des Projekts anzuzeigen. Um eine Variable zum Monitor hinzuzufügen, ziehen Sie die Variable in das Monitor-Symbol im Arbeitsbereich, wie in diesem Video gezeigt. Achten Sie beim Ausführen des Projekts darauf, die Variable im Monitor zu beobachten, damit Sie die Verbindung zwischen dem Variablenwert und dem Projektablauf erkennen können.
Überprüfung des Projekts
Sehen wir uns den Problemlösungsprozess an, der verwendet wurde, um die Herausforderung zu lösen, zwei Würfel auf der Palette zu platzieren. Es gab mehrere Iterationen des Projekts, um den 6-Achsen-Arm dazu zu bringen, beide Cubes wie beabsichtigt zu bewegen:
- Ein Wiederholungsblock wurde hinzugefügt, um die Verhaltensweisen zu wiederholen, die erforderlich sind, um einen Würfel aufzunehmen, zu bewegen und auf die Palette zu bringen.
- Ein Inkrement-Positionsblock wurde hinzugefügt, um den zweiten Würfel in eine offene Position auf der Palette zu bewegen.
- Eine Variable wurde hinzugefügt, um die Cubes zu zählen, damit eine Entscheidung getroffen werden konnte, welcher Cube verschoben wurde.
- Ein Wenn dann -Block wurde hinzugefügt, um eine Entscheidung basierend auf dem Wert der Variablen zu treffen.
Alle diese Iterationen zusammen haben ein Projekt geschaffen, das beide Cubes erfolgreich
aufgenommen und geliefert hat. Als der zweite Würfel aufgenommen wurde, bewegte der
6-Achsen-Arm den Würfel wieder über die ursprüngliche Abgabestelle auf der Palette. Dann
wurde eine Entscheidung getroffen.
Da der CubeCount '2' ist, läuft der Block
innerhalb des If then-Blocks und bewegt den Cube entlang der y-Achse an die
gewünschte Position auf der Palette.
Der iterative Prozess, an dem Sie sich während dieser Lektion beteiligt haben, wird jedes Mal fortgesetzt, wenn Sie eine Herausforderung mit dem 6-Achsen-Arm lösen. Es ist wichtig, sich daran zu erinnern, dass die meisten Codierungsherausforderungen nicht beim ersten Versuch perfekt gelöst werden. Dieser Prozess der Planung, des Aufbaus, des Testens und der Bewertung kann Ihre Gruppe dazu führen, kreative Lösungen zu finden. Die meisten Herausforderungen können auf verschiedene Arten gelöst werden. Wenn Sie sich also gemeinsam an diesem Prozess beteiligen, können Sie die Strategie finden, die für Ihre Gruppe am besten geeignet ist.
Aktivität
Nachdem Sie nun zwei Würfel von der Ladezone auf die Palette gebracht haben, werden Sie diese Fähigkeiten üben. In dieser Aktivität bauen Sie auf Ihrem Projekt aus dieser Lektion auf, um den 6-Achsen-Arm zu codieren und vier Würfel auf die Palette zu bewegen.

Aktivität: Codieren Sie den 6-Achsen-Arm, um vier Würfel auf einer Palette zu platzieren.
- Planen Sie, wie Sie auf Ihr Projekt aufbauen, um den 6-Achsen-Arm zu codieren, um den
zusätzlichen Würfel aus der Ladezone aufzunehmen und ihn mit Ihrer Gruppe auf
die Palette zu legen. Stellen Sie sicher, dass Sie sich alle auf Ihren Ansatz
geeinigt haben, bevor Sie mit der Bearbeitung des Projekts beginnen.
- Dokumentieren Sie Ihren Plan in Ihrem technischen Notizbuch.
- Benennen Sie Ihre Projekteinheit 7 Lektion 3 Aktivität um und speichern Sie sie auf Ihrem Gerät, bevor Sie mit der Bearbeitung des Projekts beginnen.
- Bearbeiten Sie das Projekt in VEXcode, um dem von Ihrer Gruppe vereinbarten Plan zu entsprechen.
- Führen Sie das Projekt aus, um es zu testen. Platzieren Sie den zweiten, dritten und vierten Würfel manuell in der Ladezone, sobald jeder Würfel platziert wurde.
- Bewegt der 6-Achsen-Arm die Würfel erfolgreich wie beabsichtigt? Es sollten vier Würfel auf der Palette sein. Wenn nicht, bearbeiten Sie das Projekt weiter, bis Sie alle vier Cubes erfolgreich platziert haben.
Überprüfe dein Verständnis
Bevor Sie mit der nächsten Lektion fortfahren, stellen Sie sicher, dass Sie die Konzepte in dieser Lektion verstehen, indem Sie die folgenden Fragen in Ihrem technischen Notizbuch beantworten.
Fragen zum Verständnis prüfen > (Google Doc / .docx / .pdf)
Wählen Sie Weiter > , um mit der Putting It All Together -Aktivität fortzufahren.