Les 2: Een waypoint vinden
In de vorige les hebt u geleerd hoe u de Pen Holder Tool gebruikt en de 6-assige arm programmeert om een lijn op het whiteboard te tekenen. In deze les blijft u de pen gebruiken terwijl u leert hoe u het pad van de 6-assige arm kunt besturen om obstakels te omzeilen. Je leert:
- Hoe je een waypoint identificeert om de 6-assige arm rond een obstakel te bewegen.
- Hoe je de 6-assige arm programmeert zodat deze een gecontroleerde route volgt met behulp van een waypoint.
Aan het einde van deze les weet u welk waypoint u nodig hebt en programmeert u de 6-assige arm om een obstakel te omzeilen.
Bekijk de onderstaande animatie om te zien hoe de 6-assige arm waypoints gebruikt om lijnen te tekenen. Eerst tekent de 6-assige arm een diagonale lijn die twee waypoints verbindt. Vervolgens verbindt hij drie waypoints in een rechte hoek, zodat er geen kubus op de tegel kan worden geplaatst.
Waarom moet ik de baan van de 6-assige arm regelen?
Stel je voor dat meerdere robotarmen samenwerken om een product op een assemblagelijn te assembleren. De robotarmen moeten snel en nauwkeurig om elkaar heen kunnen bewegen. Elke arm moet zijn eigen, ingewikkelde pad afleggen om de operatie te laten slagen. Dit wordt bereikt door het pad van elke arm te programmeren, zodat deze langs een reeks waypoints beweegt. Hiermee wordt voorkomen dat de armen met elkaar of met het product dat ze monteren, botsen.

Voorheen codeerde u de 6-assige arm zo dat deze in een rechte lijn van het ene punt naar het andere bewoog. Er waren echter geen obstakels die verhinderden dat de 6-assige arm rechtstreeks van de ene naar de andere locatie kon worden gebracht. In deze les is er een obstakel aanwezig. U moet dus een waypoint identificeren waarmee u de 6-assige arm kunt programmeren om langs het obstakel te navigeren.
Het coderen van de 6-assige arm om een gecontroleerd pad te volgen
De 6-assige arm moet van punt A naar punt B bewegen, maar er bevindt zich een obstakel direct tussen de twee punten.

Daarom moet u een waypoint vinden waarmee u de 6-assige arm kunt programmeren om het obstakel te omzeilen, zodat de 6-assige arm zijn bestemming kan bereiken. Een waypoint is een tussenpunt tussen twee locaties op een reisroute. In de afbeelding hieronder is punt C een waypoint. In plaats van rechtstreeks van punt A naar punt B te bewegen, kan de 6-assige arm van punt A naar punt C en vervolgens naar punt B bewegen om een botsing met het obstakel te voorkomen.

Ter informatie
De Monitor in VEXcode EXP kan handig zijn bij het vinden van specifieke coördinaten op het whiteboard. De x-, y- en z-coördinaten worden in realtime bijgewerkt op de monitor terwijl u de 6-assige arm handmatig beweegt, zodat u eenvoudig specifieke punten kunt vinden (zoals in stap 1 hieronder).

Een waypoint vinden
Plaats uw whiteboard zoals hier getoond. Zorg ervoor dat u een whiteboardmarker gebruikt om op het whiteboard te schrijven.
Punt A ligt ongeveer op (150, 50, 0).
Punt B ligt ongeveer op (50, 150, 0).

Trek een lijn van punt B naar de onderkant van het whiteboard, evenwijdig aan de x-as.

Teken vervolgens een lijn van punt A naar de rand van het whiteboard, evenwijdig aan de y-as.

Het punt waar deze twee lijnen elkaar kruisen, is uw waypoint. Markeer het snijpunt en noem het punt C.
Dit punt zorgt ervoor dat de 6-assige arm van punt A naar punt B kan bewegen zonder het obstakel te raken.

Vervolgens moet u de coördinaten van punt C bepalen. Eerst vindt u de x-coördinaat.
Meet de afstand tussen de punten B en C en noteer deze in uw technisch notitieboekje.
Opmerking:Deze afmetingen zijn bij benadering, uw afmetingen kunnen enigszins afwijken. Zorg ervoor dat u van uw metingen in uw berekeningen gebruikt.

We kunnen de bekende x-coördinaat van punt B gebruiken en de gemeten afstand die de 6-assige arm langs de x-as moet bewegen om de x-coördinaat van punt C te vinden.
In deze formule vertegenwoordigt de 'delta' een verandering in waarden. De afstand die u hebt gemeten, is de verandering in de x-waarden tussen de punten B en C.

Voer uw waarden in om de x-coördinaat van punt C in uw technisch notitieboekje te berekenen.
In dit voorbeeld is de x-coördinaat van C 163 mm.

Volg hetzelfde proces om de y-coördinaat van punt C te vinden. Meet eerst de afstand tussen punt A en punt C en noteer deze in uw technisch notitieboekje. Dit is de afstand langs de y-as die uw 6-assige arm moet bewegen.

We kunnen de bekende y-coördinaat van punt A gebruiken, en de gemeten afstand die de 6-assige arm langs de y-as moet bewegen, om de y-coördinaat van punt C te vinden.
In deze formule vertegenwoordigt de 'delta' een verandering in waarden. De afstand die u hebt gemeten, is de verandering in de y-waarden tussen de punten A en C.

Voer uw waarden in om de y-coördinaat van punt C in uw technisch notitieboekje te berekenen.
In dit voorbeeld is de y-coördinaat van C 165 mm.

Het coderen van de 6-assige arm om het obstakel te omzeilen
Nu u de coördinaten voor punt C hebt bepaald, is het tijd om een VEXcode EXP-project te maken voor de 6-assige arm om van punt A naar punt B te reizen via het waypoint, punt C.
Open uw project uit Les 1 in VEXcode EXP. U gaat dit project aanpassen door een Verplaats naar positie blok toe te voegen, zodat de 6-assige arm van punt A naar punt C en vervolgens naar punt B kan bewegen.

Sleep een extra Verplaats naar positie blok naar de werkruimte. Voer de x- en y-coördinaten die u eerder hebt berekend in de parameters van het blok in.

Bedenk welk pad de 6-assige arm moet afleggen. Eerst beweegt de pen naar punt A en vervolgens naar punt C. Het nieuwe blok Verplaats naar positie moet dus in het project worden ingevoegd tussen de twee blokken Verplaats naar positie.

Geef uw project een nieuwe naam en sla het op uw apparaat op.
Noteer in uw technisch notitieboekje het pad dat de 6-assige arm volgens u zal afleggen wanneer het project wordt uitgevoerd. Je kunt dit doen met een tekening, of met woorden.

Zorg ervoor dat de 6-assige arm is aangesloten op VEXcode. Voer uw project uit.
De 6-assige arm voorkomt een botsing met het obstakel door eromheen te gaan. Het beweegt zich van punt A naar waypoint C en eindigt bij punt B.
Bekijk deze video voor een voorbeeld van de 6-assige arm die langs dit pad beweegt.
Activiteit
Nu je hebt geleerd hoe je een waypoint kunt vinden en hoe je de robot kunt programmeren om erlangs te reizen, kun je deze vaardigheid gaan oefenen. In deze activiteit maakt u een project waarmee de 6-assige arm op een gecontroleerde manier van het ene nieuwe punt naar het andere nieuwe punt kan bewegen, zonder tegen het obstakel te botsen.

- Opstelling: Teken de start- en eindlocaties (A en B) op het whiteboard zoals hierboven weergegeven. U kunt de coördinaten op de afbeelding gebruiken om de activiteit in te stellen.
- Punt A ligt ongeveer op (175, 0, 0)
- Punt B ligt ongeveer op (-25, 150, 0)
- Plaats een obstakel tussen de punten A en B. In de afbeelding hierboven bevindt het obstakel (een kubus) zich op ongeveer (100, 125, 0)
- Activiteit:Maak een VEXcode EXP-project voor de 6-assige arm, zodat deze van punt A naar punt B kan bewegen zonder tegen het obstakel te botsen. Gebruik hiervoor een waypoint.
- Voer uw project uit om het te testen. Kan het voertuig succesvol van punt A naar punt B bewegen zonder tegen een obstakel te botsen? Indien dit niet het geval is, pas dan uw project aan en test het opnieuw.
- Noteer in uw technisch notitieboekje het proces dat u hebt gevolgd om het waypoint te vinden en geef details over hoe u deze informatie in uw project hebt gebruikt.
Controleer uw begrip
Voordat u doorgaat naar de volgende les, 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 de Mid-Unit Reflection te voltooien.