Les 3: Twee kubussen verplaatsen
In de vorige les hebt u geleerd hoe u de 6-assige arm programmeert om een kubus op te pakken en op de pallet te plaatsen. In deze les bouwt u voort op wat u hebt geleerd om meerdere kubussen naar het pallet te verplaatsen. Je leert hoe je:
- Plan de afleverlocaties van de Cubes die u op de pallet plaatst.
- Programmeer de 6-assige arm om twee kubussen succesvol naar de pallet te verplaatsen.
Aan het eind van de les ga je verder met je project door vier Cubes op te pakken en op het pallet in de activiteit te plaatsen.

Denken over de positionering op het pallet
In de vorige les heb je één kubus naar het pallet verplaatst en in het midden geplaatst. Een van de voordelen van het verzenden van grote hoeveelheden artikelen met een pallet is dat u veel objecten tegelijk kunt vervoeren. Om dit effectief te kunnen doen, moeten de objecten op een efficiënte manier worden gerangschikt, zodat bedrijven meer op elke pallet kunnen zetten die ze verzenden.
Een pallet zou een inefficiënte en dure manier zijn om één of twee kleine objecten te verplaatsen, vergelijkbaar met de situatie waarbij één Cube in het midden van de pallet wordt geplaatst. Door meer Cubes op een pallet te plaatsen, wordt de verzending efficiënter en kosteneffectiever. 
Om dit te doen, moeten we nadenken over waar elke Cube op de pallet wordt geplaatst. In deze les leert u hoe u de 6-assige arm kunt programmeren om meerdere kubussen te verplaatsen en ze effectief samen op de pallet te plaatsen.
Plaats de eerste kubus
Je project uit Les 2 verplaatste één kubus naar midden van het palet. De eerste stap bij het plaatsen van meerdere Cubes is het aanpassen van de afleverlocatie voor de eerste Cube. Deze plaatst u op hoek van de pallet.
Open uw project uit Les 2 in VEXcode EXP.

Hernoem het project naar Unit 7 Les 3,en sla het op uw apparaat op.

Plaats de kubus op de hoek van het pallet.
Beweeg de 6-assige arm handmatig zodat de magneet de bovenkant van de kubus raakt.

Zorg ervoor dat de 6-assige arm is aangesloten op VEXcode.
Selecteer het Monitor-pictogram op de werkbalk om de Monitor te openen.

Noteer de x- en y-coördinaten van de Monitor Console in uw technisch notitieboekje. Dit zijn de x- en y-coördinaten van de afleverlocatie voor de Cube.
Houd er rekening mee dat de 6-assige arm eerst boven de afleverlocatie beweegt voordat de kubus op de pallet terechtkomt. Dit betekent dat u de z-waarde niet hoeft te registreren.

Voer de x- en y-coördinaten van de nieuwe afleverlocatie in uw project in. De z-coördinaat moet hetzelfde blijven, zodat de 6-assige arm boven de afzetlocatie blijft.
Zorg ervoor dat uuw coördinaten gebruikt. De hier getoonde coördinaten zijn een voorbeeld en kunnen afwijken van uw eigen geregistreerde coördinaten.

Zorg ervoor dat de 6-assige arm is aangesloten op VEXcode en dat de kubus in de laadzone is geplaatst.
Voer het project uit om het te testen. Observeer het gedrag van de 6-assige arm. Pakt het apparaat de Cube op en plaatst het deze op de hoek van het pallet zoals de bedoeling is? Waarom wel of waarom niet?

Stop het project wanneer de 6-assige arm niet meer beweegt. Noteer uw observaties in uw technisch notitieboekje.

Een tweede kubus verplaatsen
Nu de eerste Cube op de nieuwe afleverlocatie staat, is er ruimte op de pallet om extra Cubes te plaatsen. Dezelfde handelingen die zijn uitgevoerd om de eerste kubus te verplaatsen, worden herhaald om de tweede kubus te verplaatsen. De 6-assige arm moet naar dezelfde oppaklocatie bewegen, de magneet inschakelen, de kubus naar de pallet verplaatsen en de kubus loslaten.
Er zijn verschillende coderingsstrategieën die u kunt proberen om beide kubussen succesvol te verplaatsen.
Een herhaalblok toevoegen
Als u weet dat een reeks gedragingen zich gaat herhalen, kunt u het beste eerst een Herhaal blok proberen. Zoals u in de vorige eenheid hebt geleerd, is een blok Herhaal handig voor het herhalen van blokken of een stapel blokken in een project.
Voeg een Herhaal blok toe aan je project onder het Set eind-effector blok, zoals getoond in deze video.
Versleep het Verplaats de kubus naar het palet Commentaar blok in het Herhaal blok, zoals getoond in deze video. Hiermee worden alle volgende blokken ook naar het blok Herhaal gesleept.
Nu kunnen alle blokken die nodig zijn om een kubus op te pakken en te plaatsen van de oppaklocatie naar de hoek van het pallet, worden herhaald.
Stel de parameter in het blok Herhaal in op 2.
Omdat u twee kubussen naar het pallet probeert te verplaatsen, wordt het gedrag twee keer herhaald.

Lees de code die u hebt geschreven en voorspel wat de 6-assige arm zal doen wanneer het project wordt uitgevoerd.
Noteer uw voorspelling in uw technisch notitieboekje. U kunt het pad van de 6-assige arm schetsen of tekenen waar de kubussen op het pallet worden geplaatst.

Zorg ervoor dat de 6-assige arm is aangesloten op VEXcode.
Voer het project uit om het te testen. Observeer het gedrag van de 6-assige arm wanneer het project wordt uitgevoerd.

Stop het project wanneer de 6-assige arm niet meer beweegt. Noteer uw observaties in uw technisch notitieboekje.
Heeft de 6-assige arm beide kubussen succesvol naar de pallet verplaatst? Waarom wel of waarom niet?

Hierdoor werd de tweede Kubus niet verplaatst zoals bedoeld, wat een fout veroorzaakte. Omdat de eerste Kubus op die positie is geplaatst, kan de tweede Kubus niet op dezelfde locatie worden geplaatst. De 6-assige arm kon de locatie niet bereiken, er is een fout opgetreden.
Om de tweede kubus op de pallet te plaatsen, moeten we deze kubus naar een open positie op de pallet schuiven.
Verplaats de tweede kubus ten opzichte van de eerste
Als u de positie van de eerste Cube op het pallet kent, kunt u de volgende Cube relatief ten opzichte van de eerste plaatsen. In de vorige eenheid hebt u geleerd over relatieve beweging. Nu kunt u die concepten toepassen om de tweede kubus te plaatsen.
Om de volgende hoek van de pallet te bereiken, beweegt de 6-assige arm in de positieve richting langs de y-as. 
Met behulp van de kennis over de grootte van de kubus kan de offset worden bepaald die nodig is om de tweede kubus te plaatsen. De offset is het verschil tussen de huidige locatie en de gewenste locatie van een object. Op het pallet is de offset voor de tweede kubus de afstand tussen het midden van de eerste kubus en het midden van de tweede kubus op de gewenste locatie.
Aangezien een Cube 25 mm breed is, kunnen we aannemen dat de offset 50 mm bedraagt.
Nu u de afstand en richting van de benodigde relatieve beweging weet, kunt u deze informatie aan het project toevoegen.
Voeg een blok met een positieincrement toe door het te slepen van de werkbalk naar het midden van het opmerkingenveld van de blokken in het palet, zoals getoond in deze video.
Stel de y-parameter in op 50. Dit duidt op een relatieve beweging van 50 mm langs de y-as.

Lees de code en voorspel het gedrag van de 6-assige arm.
Noteer uw voorspelling in uw technisch notitieboekje. Denkt u dat dit project ervoor zal zorgen dat beide Cubes op de gewenste locaties worden geplaatst? Waarom wel of waarom niet?

Zorg ervoor dat de 6-assige arm is aangesloten op VEXcode. Voer het project uit om het te testen.
Observeer het gedrag van de 6-assige arm.

Stop het project wanneer de 6-assige arm klaar is met bewegen. Noteer uw observaties in uw technisch notitieboekje.
Kwamen uw waarnemingen overeen met uw voorspelling? Worden de twee Cubes naar de gewenste locatie op de pallet verplaatst? Waarom wel of waarom niet?

Zoals u wellicht al had voorspeld, worden bij dit project beide Cubes niet naar de gewenste locatie verplaatst. Het blok Increment positieverplaatste de 6-assige arm correct naar de gewenste positie voor de tweede kubus. Omdat echter alle gedragingen werden herhaald, werdenenCubes naar deze locatie verplaatst. Hierdoor ontstond dezelfde fout als bij het vorige project, alleen op een andere locatie op de pallet.
Het doel is om de eerste kubus op de eerste locatie en de tweede kubus op de tweede locatie op het pallet te plaatsen. Om dit succesvol te doen, moet het project bijhouden welke Cube wordt verplaatst. Als de eerste kubus verplaatst wordt, moet deze naar de eerste locatie gaan. Als de tweede Kubus verplaatst moet worden, kan deze op de tweede locatie geplaatst worden.
Twee kubussen verplaatsen met behulp van variabelen en een If-then-blok
Om bij te houden welke kubus wordt verplaatst, kan een variabele worden aangemaakt en in het project worden gebruikt. Deze variabele 'telt' de kubussen terwijl ze worden gemanipuleerd. Een variabele kan worden gebruikt om informatie op te slaan over welke kubus wordt verplaatst. Deze informatie kan vervolgens worden gebruikt om een beslissing te nemen binnen het project:alsde 6-assige arm de tweede kubus verplaatst,danmoet deze deze naar de tweede locatie op de pallet verplaatsen.
Maak een variabele en noem deze CubeCount. Selecteer Verzenden om de variabele te maken.
U kunt Unit 6 Les 2 bekijken voor herinneringen over het maken van een variabele in VEXcode.

Voeg het blok Set variable toe aan het project boven het blok Repeat , zoals getoond in deze video.
Stel de parameter in op 1. Zorg ervoor dat de variabele CubeCount is geselecteerd in de vervolgkeuzelijst.
Zodra het project start, wordt de eerste Cube opgehaald. Omdat het doel van deze variabele is om de kubus te nummeren die verplaatst wordt, moet deze op '1' worden gezet om te beginnen.

Eerder werd een positieblok metincrement toegevoegd om de 6-assige arm naar de tweede afleverlocatie te verplaatsen. Om de eerste Cube naar de afleverlocatie te kunnen verplaatsen, moet dit blok worden verwijderd.
Klik met de rechtermuisknop op het blok Increment positionen verwijder het, zoals getoond in deze video.
Voeg een Wijzig variabele blok toe aan de onderkant van het Herhaal blok, zoals getoond in deze video.
Wanneer het project wordt uitgevoerd, wordt de eerste Cube naar de afleverlocatie verplaatst. Als u hier het blok Wijzigingsvariabele toevoegt, zal de CubeCount toenemen nadat de eerste Cube is afgeleverd. Wanneer het blok Herhaal terugloopt om de tweede Kubus op te pakken, wordt de variabele verhoogd met '2', wat aangeeft dat de tweede Kubus wordt verplaatst.
Nu het project informatie over het aantal Cubes opslaat, kunnen we die informatie gebruiken om een beslissing te nemen. Met een If then blok kunnen we een vraag stellen binnen een project en informatie (zoals de waarde van een variabele) gebruiken om een beslissing te nemen. 
Het If then blok is een C-blok dat Booleaanse reporterblokken als voorwaarde accepteert. Een Booleaans blok retourneert een voorwaarde als TRUE of FALSE en past in elk blok met een hexagonale invoer. Als de voorwaarde WAAR is, worden de blokken binnen het C-blok uitgevoerd. Als de voorwaarde FALSE is, wordt het If then-blok overgeslagen in het project.
In dit geval zoeken we naar de voorwaarde dat de variabele CubeCount gelijk is aan 2. Alsde CubeCount variabele 2 is,danmoet de 6-assige arm naar de tweede positie op de pallet bewegen.
Laten we eens nadenken over op welk punt in het project die beslissing genomen moet worden. Het project haalt de Cube op bij de laadzone en verplaatst deze vervolgens naar de afleverlocatie. Alsde CubeCount 2 is,en dandan moet de 6-assige arm een extra gedrag uitvoeren om naar de tweede palletpositie te bewegen. 
Voeg een If then blok toe aan het project zoals hier getoond.

Voeg een Gelijk aan blok toe aan de hexagonale ruimte in het Als dan blok, zoals getoond in deze video.
Voeg de variabele CubeCount toe aan de linkerkant van de operator Gelijk aan . Stel de rechterkant van de operator Gelijk aan in op 2, zoals getoond in deze video.
Als de variabele CubeCount gelijk is aan 2, wordt de Booleaanse voorwaarde gerapporteerd als TRUE. Als CubeCount niet 2 is, wordt de Booleaanse voorwaarde gerapporteerd als FALSE.
Voeg een Increment positieblok toe binnen het C blok zoals getoond in deze video.
Stel de y-parameter van het blok Increment position in op 50.
Wanneer aan de voorwaarde van het blok Indien dan is voldaan, wordt het blok Increment positie binnen het blok Indien dan uitgevoerd. Dit betekent dat als de CubeCount gelijk is aan 2, de 6-assige arm de relatieve beweging naar de tweede positie op de pallet zal uitvoeren.

Lees de code en voorspel wat de 6-assige arm zal doen wanneer het project wordt uitgevoerd.
Noteer uw voorspelling in uw technisch notitieboekje.

Zorg ervoor dat de 6-assige arm is aangesloten op VEXcode. Voer het project uit om het te testen.
Observeer het gedrag van de 6-assige arm terwijl het project wordt uitgevoerd.

Stop het project wanneer de 6-assige arm klaar is met bewegen. Noteer uw observaties in uw technisch notitieboekje.
Bewoog de 6-assige arm zoals u had voorspeld? Zijn beide Cubes zoals bedoeld op de pallet geplaatst? Waarom wel of waarom niet?

Ter informatie
Het kan zijn dat u het project meerdere keren wilt uitvoeren, zodat u aandacht kunt besteden aan de blokken die worden uitgevoerd terwijl de 6-assige arm beweegt. Let op de markering rond de blokken terwijl ze in het project worden uitgevoerd. Zo begrijpt u beter wanneer het If then-blok wordt uitgevoerd. U kunt ook de functie Stap gebruiken om het project één blok tegelijk uit te voeren, zodat u de projectstroom met het If then-blok duidelijker kunt zien. 
Vergeet niet dat u een variabele aan de Monitor kunt toevoegen, waarmee u de waarde CubeCount kunt zien terwijl het project wordt uitgevoerd. Om een variabele aan de Monitor toe te voegen, sleept u de variabele naar het Monitor-pictogram in de Werkruimte, zoals getoond in deze video. Terwijl u het project uitvoert, moet u de variabele in de Monitor in de gaten houden, zodat u het verband tussen de variabelewaarde en de projectstroom kunt zien.
Het project beoordelen
Laten we eens kijken naar het probleemoplossingsproces dat werd gebruikt om de uitdaging van het plaatsen van twee Cubes op de pallet op te lossen. Er waren verschillende iteraties van het project nodig om de 6-assige arm beide kubussen te laten bewegen zoals bedoeld:
- Er is een Herhaal blok toegevoegd om de gedragingen te herhalen die nodig zijn om een Cube op te pakken, te verplaatsen en af te leveren op het pallet.
- Er is een positieblok metincrement toegevoegd om de tweede kubus naar een open positie op de pallet te verplaatsen.
- Er werd een variabele toegevoegd om het aantal kubussen te tellen, zodat er een beslissing genomen kon worden op basis van welke kubus verplaatst werd.
- Er werd een If then blok toegevoegd om een beslissing te nemen op basis van de waarde van de variabele.
Al deze iteraties samen resulteerden in een project dat beide Cubes succesvol oppakte en opleverde. Toen de tweede Cube werd opgepakt, verplaatste de 6-assige arm de Cube opnieuw boven de oorspronkelijke afleverlocatie op de pallet. Toen werd er een besluit genomen.
Omdat de CubeCount '2' is, beweegt het blok in het blok Als dan wordt uitgevoerd, de kubus langs de y-as naar de gewenste positie op het pallet.
Het iteratieve proces dat u tijdens deze les hebt doorlopen, zult u blijven herhalen elke keer dat u een uitdaging met de 6-assige arm oplost. Houd er rekening mee dat de meeste programmeeruitdagingen niet in één keer perfect opgelost kunnen worden. Dit proces van plannen, bouwen, testen en evalueren kan ertoe leiden dat uw groep creatieve oplossingen vindt. De meeste uitdagingen kunnen op verschillende manieren worden opgelost. Door dit proces samen te doen, kunt u de strategie vinden die het beste werkt voor uw groep.
Activiteit
Nu u twee Cubes van de laadzone naar de pallet hebt verplaatst, gaat u deze vaardigheden oefenen. In deze activiteit bouwt u voort op uw project uit deze les om de 6-assige arm te programmeren waarmee u vier kubussen naar het pallet kunt verplaatsen.
Activiteit :Programmeer de 6-assige arm om vier kubussen op één pallet te plaatsen.
- Bedenk hoe u uw project gaat uitbreiden door de 6-assige arm te programmeren die de extra kubus uit de laadzone haalt en met uw groep op de pallet plaatst. Zorg ervoor dat jullie het eens zijn over jullie aanpak voordat je begint met het bewerken van het project.
- Leg uw plan vast in uw technisch notitieboekje.
- Geef uw project een nieuwe naamUnit 7 Les 3 Activiteiten sla het op uw apparaat op voordat u het project gaat bewerken.
- Bewerk het project in VEXcode zodat het overeenkomt met het plan waar uw groep mee heeft ingestemd.
- Voer het project uit om het te testen. Plaats de tweede, derde en vierde Cube handmatig in de laadzone nadat elke Cube is geplaatst.
- Beweegt de 6-assige arm de kubussen zoals u dat wilt? Er zouden vier Cubes op het pallet moeten staan. Als dat niet lukt, ga dan door met het bewerken van het project totdat u alle vier de Cubes succesvol hebt geplaatst.
Controleer uw begrip
Voordat u doorgaat naar de volgende les, moet u ervoor zorgen dat u de concepten in deze les begrijpt door de volgende vragen in uw technische notitieboekje te beantwoorden.
Controleer uw begrip vragen >(Google Doc / .docx / .pdf)
SelecteerVolgende >om door te gaan naar de activiteit Alles bij elkaar brengen.