Les 1: Relatieve beweging
Voorheen verplaatste u de 6-assige arm naar specifieke coördinaten om verschillende vormen te tekenen. In deze les leert u een andere manier om de 6-assige arm te bewegen om een vierkant te tekenen. U maakt kennis met de concepten absolute en relatieve beweging, zodat u deze twee soorten beweging kunt combineren om de 6-assige arm te coderen.
In deze les leert u:
- Het verschil tussen absolute en relatieve beweging.
- Wanneer moet u absolute of relatieve beweging in een project toepassen om de 6-assige arm te bewegen zoals bedoeld?
- Hoe je Increment positie blokken in een project gebruikt om relatieve bewegingen te coderen.
Aan het eind van deze les programmeert u de 6-assige arm om vierkanten te tekenen, waarbij u gebruikmaakt van een combinatie van absolute en relatieve bewegingen.

Een vierkant tekenen met absolute beweging
In de vorige eenheid tekende u een vierkant door de coördinaten van elk punt te vinden en de 6-assige arm naar die specifieke locaties te bewegen. Laten we dit proces eens bekijken, zodat we kunnen letten op het soort beweging dat de 6-assige arm maakt.
Noteer de coördinaten van vierkant ABCD.
Noteer de bekende informatie over het vierkant in je technisch notitieboekje.
- Elke zijde heeft een lengte van 75 mm
- Punt A is (100, 100, 0)
- Punt B is (175, 100, 0)
- Punt C is (175, 175, 0)
- Punt D is (100, 175, 0)

Open een nieuw blokkenproject door de stappen in deze video te volgen.
Selecteer de optie Bestand in de werkbalk om het menu Bestand te openen en selecteer vervolgens Nieuw blokkenproject. Er verschijnt een pop-upvenster met de optie voor EXP Brain of 6-Axis Arm. Selecteer 6-assige arm. Vervolgens wordt het nieuwe project geopend.
Maak het hier getoonde project opnieuw in VEXcode.

Kijk naar de blokken in het project. Wat denk je dat de 6-assige arm zal doen als dit project wordt uitgevoerd?
Noteer uw voorspelling in uw technisch notitieboekje. Beschrijf in woorden hoe de 6-assige arm zal bewegen en schets wat er volgens jou op het whiteboard getekend zal worden.

Zorg ervoor dat de 6-assige arm is aangesloten op VEXcode. Voer het project uit en observeer het gedrag van de 6-assige arm.

Stop het project wanneer de 6-assige arm klaar is met bewegen.
Heeft de 6-assige arm getekend wat u had voorspeld? Waarom wel of waarom niet?

In dit project gebruikt de 6-assige arm een absolute beweging om het vierkant te tekenen. Dat betekent dat de 6-assige arm naar specifieke coördinaten beweegt om elke zijde van het vierkant te tekenen. De coördinaten worden altijd bereikt, ongeacht waar de 6-assige arm zich voorheen bevond. Dit kan soms handig zijn, maar vereist wel dat we de exacte coördinaten hebben van elk punt in de vorm die we maken. Er is nog een manier om de informatie over zijdelengtes in een project te gebruiken om een vierkant te tekenen.
Een vierkant tekenen met relatieve beweging
Als we de lengtes van de zijden van het vierkant kennen, kunnen we bepalen hoeveel de 6-assige arm moet bewegen tenvan de huidige positie om elke zijde nauwkeurig te tekenen. In plaats van alle vier de hoeken van het vierkant vast te stellen, kunnen we de arm eenvoudigweg ten opzichte vanten opzichte van het beginpunt verplaatsen om de vorm te voltooien.
Wat is relatieve beweging?
Relatieve beweging verplaatst de 6-assige arm naar een nieuwe positie op basis van de huidige locatie. Gegeven een startpunt en de lengtes van de zijden van het vierkant, kunnen we de 6-assige arm langs de x- en y-assenten opzichte vanten opzichte van de startpositie verplaatsen. Laten we dit eens opsplitsen met ons vierkant van 75 mm.
We beginnen met een absolute beweging om bij de startcoördinaat te komen. Vanaf daar kan elke zijde met relatieve beweging worden getekend. 
Laten we ons project bewerken om dit in actie te zien.
Verwijder de Verplaats naar positie blokken die gebruikt zijn om het vierkant te tekenen.
In de video hier is te zien dat de onderste vijf blokken van het eerder uitgevoerde project worden verwijderd. De blokken die overblijven zijn de twee opmerkingen en het Set eind-effector blok.
Voeg vijf blokken Commentaar toe aan het project om de beweging van de 6-assige arm te beschrijven en elke zijde van het vierkant te tekenen. Typ de volgende opmerkingen in het project:
- Beweeg naar punt A met absolute beweging
- Teken zijde AB met relatieve beweging
- Teken zijde BC met relatieve beweging
- Trekzijde CD met relatieve beweging
- Trek zijde DA met relatieve beweging
Door opmerkingen als deze toe te voegen, blijft u georganiseerd en ziet u welke stappen in welke volgorde nodig zijn om de taak uit te voeren.

Zijde AB tekenen met relatieve beweging
Voeg een Verplaats naar positie blok toe onder de opmerking "Verplaats naar punt A met absolute beweging". Voer de startcoördinaat (punt A) in de parameters in.
- Punt A (100, 100, 0)
Dit project begint hetzelfde als het vorige: het begint met een absolute beweging.

Om zijde AB met relatieve beweging te tekenen, gebruiken we een positieblok met een toename . 
Het blok met positie increment verplaatst de 6-assige arm over een bepaalde afstand langs de x-, y- en z-as. Dit is het blok dat we gaan gebruiken om de 6-assige arm met relatieve beweging te bewegen. Het blok met positieincrement verplaatst de 6-assige arm over een bepaalde afstand ten opzichte van de huidige locatie.
Voeg een positie blok metincrement toe onder de opmerking "Teken zijde AB met relatieve beweging".

Merk op dat het blok Increment positie parameters heeft voor de x-, y- en z-as. Dit heeft betrekking ophoe verde 6-assige arm langs elke as beweegt, of de relatieve beweging van de 6-assige arm op elke as. Deze parameters zijnen niet, een coördinaatwaarde, zoals in het blok Verplaats naar positie , toen de 6-assige arm absolute beweging gebruikte.
Om de parameter(s) te bepalen die nodig zijn om een zijde van een vierkant te tekenen, zijn twee stukjes informatie nodig:
- de afstand om de 6-assige arm te verplaatsen ten opzichte van de huidige positie
- de as of assen waarlangs de 6-assige arm zal bewegen
Om zijde AB van het vierkant te tekenen, is de afstand die de 6-assige arm ten opzichte van de huidige positie beweegt de lengte van de zijde, oftewel 75 mm. Om van punt A naar punt B te bewegen, beweegt de 6-assige arm langs de x-as in de positieve richting. Het beweegt niet langs de y- of z-as.
Stel de x-parameter in op 75 in het blok Increment positie. De parameters y en z blijven 0.
Hierdoor wordt de 6-assige arm 75 mm langs de x-as verplaatst, in positieve richting.

Kijk eens naar het project zoals het er nu voor staat. Wat denk je dat dit met de 6-assige arm zal doen als deze in werking is?
Noteer uw voorspelling in uw technisch notitieboekje. Teken wat je denkt dat de 6-assige arm zal tekenen.

Zorg ervoor dat de 6-assige arm is aangesloten op VEXcode. Voer het project uit en observeer het gedrag van de 6-assige arm.

Stop het project wanneer de 6-assige arm niet meer beweegt.
Bewoog de 6-assige arm zoals u had voorspeld? Waarom wel of waarom niet?

Zijde BC tekenen met relatieve beweging
Wat we hebben geleerd om de eerste zijde van het vierkant te tekenen, kunnen we toepassen om zijde BC te tekenen.
Voeg een positieverhogingtoe, blok onder de opmerking "Teken zijde BC met relatieve beweging".

Bepaal de parameters van het blok Increment positie.
Om zijde BC te kunnen tekenen, moet de 6-assige arm 75 mm bewegen. Als we kijken naar de bewegingsrichting ten opzichte van de huidige positie, zien we dat de 6-assige arm langs de y-as moet bewegen. De 6-assige arm mag niet langs de x- of z-as bewegen.

Stel de y-parameter van het blok Increment positiein op 75.
Hierdoor wordt de 6-assige arm 75 mm langs de y-as verplaatst. Omdat de parameters voor de x- en z-as 0 zijn, beweegt de 6-assige arm niet over de x- of z-as.

Voorspel hoe u denkt dat de 6-assige arm zal bewegen wanneer het project wordt uitgevoerd. Noteer uw voorspelling in uw technisch notitieboekje.
Maak een schets van wat je denkt dat de 6-assige arm zal tekenen.

Voer het project uit en observeer het gedrag van de 6-assige arm.

Stop het project wanneer de 6-assige arm klaar is met bewegen.
Heeft de 6-assige arm getekend wat u had voorspeld? Waarom wel of waarom niet?

Tekenzijde CD met relatieve beweging
Nu we de eerste twee zijden van het vierkant hebben getekend, kunnen we verdergaan met ons project en zijde CD tekenen.
Voeg een positieverhogingtoe, blok onder de opmerking "Teken zijde CD met relatieve beweging".

Bepaal de parameters voor het Increment positieblok.
Om zijde CD te tekenen, bedraagt de zijdelengte nog steeds 75 mm. Als we kijken naar de richting van die beweging ten opzichte van de huidige positie van de 6-assige arm, zien we dat de beweging weer langs de x-as plaatsvindt.
De 6-assige arm mag niet over de y- of z-as aan deze kant van het vierkant bewegen.

Stel de x-parameter van het blok Increment positiein op 75.

Voorspel hoe u denkt dat de 6-assige arm zal bewegen wanneer het project wordt uitgevoerd. Noteer uw voorspelling in uw technisch notitieboekje en zorg ervoor dat u er een schets bijvoegt van wat u denkt dat er getekend zal worden.

Voer het project uit en observeer het gedrag van de 6-assige arm.
Heeft het getekend wat je had voorspeld? Waarom wel of waarom niet?

De 6-assige arm had, nietCD aan de trekzijde zoals de bedoeling was.
Laten we eens kijken waarom dat gebeurde. De lengte van de zijde is niet veranderd, dus de lengte van de getekende lijn is correct. Derichtingvan die beweging is dat echter niet.
We kunnen rekening houden met beweging in een positieve of negatieve richting door de parameter in het blok Increment positionin te voeren als een positief of negatief getal.
Voor de zijden AB en BC bewoog de 6-assige arm in de positieve richting langs de x- en y-as, dus gebruikten we een positief getal. Om zijde CD te tekenen, moet de 6-assige arm echter in de richtingminbewegen. We moeten dus een negatieve waarde in de parameter gebruiken.
Stel de x-parameter van het Increment positie blok in op –75.
Hierdoor wordt de 6-assige arm 75 mm in de richtingminlangs de x-as verplaatst. De waarden voor de y- en z-as hoeven niet te worden gewijzigd, aangezien de 6-assige arm nog steeds niet langs deze assen beweegt om zijde CD te tekenen.

Voer het project opnieuw uit en bekijk het gedrag van de 6-assige arm.
Is de CD-zijde getekend zoals bedoeld? Waarom wel of waarom niet?

Zijde DA tekenen met relatieve beweging
Nu we de drie zijden van het vierkant hebben getekend, kunnen we wat we hebben geleerd toepassen om de laatste zijde te tekenen.
Voeg een positieverhogingtoe, blok onder de opmerking "Teken zijde DA met relatieve beweging".

Bepaal de parameters voor het Increment positie blok.
Om zijde DA te tekenen, beweegt de 6-assige arm opnieuw over 75 mm. Als we naar de richting van die beweging kijken op basis van de huidige positie, dan moet de 6-assige arm opnieuw langs de y-as bewegen. Om zijde DA te tekenen, hoeft het niet langs de x- of z-as te bewegen.

Stel de y-parameter van het Increment positie blok in op 75. De x- en z-parameters moeten 0 blijven.

Voorspel hoe de 6-assige arm zal bewegen en wat deze zal tekenen wanneer het project wordt uitgevoerd. Noteer uw voorspelling in uw technisch notitieboekje.

Voer het project uit en observeer het gedrag van de 6-assige arm.
Beweegt het zoals u voorspelde? Wordt de uiteindelijke zijde van het vierkant getekend zoals bedoeld? Waarom wel of waarom niet?

Om zijde DA te tekenen zoals bedoeld, moest de 6-assige arm in de richtingminlangs de y-as bewegen. We stellen de y-parameter echter in op 75 mm, wat aangeeft dat de 6-assige arm in de richtingpositieflangs de y-as moet bewegen.

Stel de y-parameter van het laatste Increment positieblok in op –75. De x- en z-parameters moeten 0 blijven, omdat de 6-assige arm niet over deze assen hoeft te bewegen om zijde DA te tekenen zoals bedoeld.
De 6-assige arm moet nu langs de y-as in negatieve richting bewegen om het vierkant te voltooien.

Voer het project uit en observeer de beweging van de 6-assige arm.
Wordt het vierkant getekend zoals bedoeld? Waarom wel of waarom niet?

Zorg ervoor dat u uw project een nieuwe naam geeft en opslaat.

Waarom Relatieve Beweging gebruiken?
Hoewel de beweging van de 6-assige arm hetzelfde is om een 75mm-winkelhaak te tekenen met zowel absolute als relatieve beweging, is er meer flexibiliteit en gemak wanneer we relatieve beweging gebruiken. Wat zou je doen als je bijvoorbeeld een vierkant van 75 mm op een andere locatie zou willen tekenen? Met behulp van absolute beweging vindt u de nieuwe coördinaten van alle vier de punten en codeert u de 6-assige arm om ze met elkaar te verbinden. Bij relatieve beweging hoeft u echter alleen de startcoördinaat te weten, de rest blijft hetzelfde.
Bij absolute beweging kom je altijd op dezelfde coördinaat terecht, ongeacht de startlocatie. Dit is handig als u de 6-assige arm naar een specifieke locatie moet verplaatsen om een project te starten of als u er zeker van wilt zijn dat u die locatie kunt bereiken, ongeacht de vorige coördinaten. In de onderstaande video ziet u hoe een marker op drie verschillende plekken op het whiteboardhulpstuk begint. Alle markers bewegen naar de locatie (75, 75, 0) omdat ze met absolute beweging bewegen.
Relatieve beweging zal naar een nieuwe locatie verplaatsen op basis van de huidige positie. Dit is handig als u de 6-assige arm ten opzichte van een bekende locatie wilt verplaatsen, zoals bij het tekenen van een vierkant of wanneer u de arm in een specifiek patroon wilt verplaatsen. In de onderstaande video ziet u hoe een marker op dezelfde drie plekken als hierboven op het whiteboard wordt geplaatst. Alle markeringen verplaatsen zich tegelijkertijd diagonaal omdat hun x-waarde met 75 is verhoogd en hun y-waarde tegelijkertijd met 75 is verhoogd. De eindlocaties van de markeringen zijn allemaal verschillend en hangen rechtstreeks samen met hun startposities, met de toename van x- en y-waarden.
Beide projecten in deze les gebruikten dezelfde informatie, maar de manier waarop deze in de code werd gebruikt, was anders. Laten we onze projecten eens nader bekijken. De afbeelding links komt uit ons Absolute Movement-project. De zijdelengte van 75 mm komt overeen met de verandering in x-coördinaat die nodig is om van punt A naar punt B te bewegen.
De afbeelding rechts komt uit ons relatieve bewegingsproject. Hierbij komt de zijdelengte van 75 mm overeen met de afstand die de 6-assige arm langs de x-as beweegt. 
Door relatieve beweging te gebruiken, krijgt u meer flexibiliteit in uw project. Zo kunt u uw code eenvoudiger aanpassen en aanpassen voor verschillende doeleinden.
Activiteit
Nu u de 6-assige arm hebt gecodeerd om te bewegen met zowel absolute als relatieve beweging, is het tijd om deze vaardigheden te oefenen. In deze activiteit gaat u uw project bewerken om de 6-assige arm te coderen om drie vierkanten op het whiteboard te tekenen. 
Instellen: Noteer de volgende informatie in uw technisch notitieboekje.
- De startcoördinaten voor elk vierkant zijn als volgt:
- Vierkant ABCD (100, 150, 0)
- Vierkant EFGH (-5, 153, 0)
- Vierkant IJKL (155, 57, 0)
- De lengte van alle zijden van de drie vierkanten is 50 mm.
- De vierkanten mogen elkaar niet raken.
Activiteit :Bouw voort op je project uit deze les om de 6-assige arm te coderen en twee extra vierkanten te tekenen.
- Leg een plan voor uw project vast in uw technisch notitieboekje. Zorg ervoor dat de groep het erover eens is welk vierkant het eerst, tweede en derde moet worden getekend. En bespreek ook welke bewegingen jullie gaan gebruiken om de tekeningen te voltooien.
- Bouw voort op uw project op basis van deze les en volg uw plan in uw technische notitieboekje.
- Voer uw project uit om het te testen. Zorg ervoor dat uw 6-assige arm is aangesloten op VEXcode. Zijn alle drie de vierkanten in uw project zoals bedoeld? Waarom wel of waarom niet?
- Ga door met het tekenen van uw project totdat u alle drie de vierkanten succesvol hebt getekend. Geef uw project een naam en sla het op wanneer u klaar bent.
Controleer uw begrip
Voordat u met de volgende les begint, moet u ervoor zorgen dat u de concepten in deze les begrijpt door de vragen in het onderstaande document in uw technische notitieboekje te beantwoorden.
Controleer uw begrip vragen > (Google Doc / .docx / .pdf)
SelecteerVolgende > om door te gaan naar Les 2.