Skip to main content

Les 2: Code lezen

In de vorige les hebt u geleerd over relatieve beweging en hoe dit zich verhoudt tot absolute beweging. Tijdens de les werd u gevraagd om voorspellingen te doen over hoe de 6-assige robotarm zou bewegen als er een project werd uitgevoerd. Dit is een voorbeeld van het lezen van code. 

In deze les oefent u met het lezen van code om te bepalen wat er gebeurt als een project wordt uitgevoerd. 

Er wordt een project getoond waarbij de 6-assige arm een driehoek tekent op het whiteboardhulpstuk. Dit is een voorbeeld van het soort project dat in deze les aan bod komt.

Wat is code lezen?

Net als het schrijven van code is het lezen van code een fundamentele vaardigheid voor programmeurs. Programmeurs moeten vaak code lezen en begrijpen die door anderen is geschreven, of dat nu is om problemen in de code op te lossen, code te beoordelen of te leren van bestaande projecten. Elke keer dat je naar een project keek, las je code en deed je een voorspelling over wat het zou doen in je technische notitieboekje. Nu ga je deze vaardigheid bewuster oefenen. In de projecten in deze les is het belangrijk om te kijken of de code absolute of relatieve beweging gebruikt en hoe dit van invloed is op wat er in de whiteboardbijlage wordt getekend.

Het organiseren van uw codelezing

Er zijn veel hulpmiddelen waarmee u kunt bepalen wat er in een project gaat gebeuren. Het kan handig zijn om je technische notitieboekje te gebruiken om het gedrag van de robot te visualiseren, zodat je aan de slag kunt met het lezen van code. 

In deze les laten we je zien hoe je het lezen van code in je technische notitieboekje organiseert. U kunt de hier getoonde indeling gebruiken als uitgangspunt bij het beschrijven van elk onderdeel van uw project. In de voorbeelden in deze les bevat de engineering notebook-pagina aan de linkerkant een afbeelding van het VEXcode-project en aan de rechterkant de regels voor het toevoegen van tekst. In elke stap worden de blokken waarop de focus ligt, gemarkeerd met een rood kader. De tekst beschrijft het gedrag dat bij die blokken hoort.

De code lezen in Project A

Om het lezen van code te oefenen, doorlopen we het documentatieproces terwijl we de code voor Project A lezen.

Documenteer dit project in uw technisch notitieboekje. U kunt dit doen door de stappen in volgorde op te schrijven of door de afbeelding van de code rechtstreeks aan uw notitieboekje toe te voegen.

Voordat u begint met het lezen van de code, moet u een voorspelling doen over wat de 6-assige arm zal doen wanneer het project wordt uitgevoerd. U keert terug naar deze voorspelling nadat u het codeleesproces hebt voltooid.

Project A begint met een Wanneer gestart-blok en wisselt af tussen een Opmerking-blok en het bijbehorende Arm-blok. Van boven naar beneden ziet het project er als volgt uit: Opmerking 1: Ga aan de slag om te tekenen; plaats de arm-eind-effector op de pen; Opmerking 2: Ga aan de slag om een vierkant te tekenen; beweeg de arm naar positie 75, 125, 0. Dan aan elke zijde: Opmerking 3: Teken zijde AB met relatieve beweging; verhoog de armpositie met x 50; Opmerking 4: Teken zijde BC met relatieve beweging; verhoog de armpositie met y 50; Opmerking 5: Teken zijde CD met relatieve beweging; verhoog de armpositie met x -50; en ten slotte, Opmerking 6: Teken zijde DA met relatieve beweging; verhoog de armpositie met y -50.

Om code te lezen, begint u bij het begin van het project. Kijk naar het eerste blok en schrijf het gedrag dat bij dat blok hoort in je technische notitieboekje, naast het project.

Hier kunnen de eerste blokken als volgt worden beschreven: 1. Stel de eind-effector in op Pen.

Voorbeeld van een codeleesnotitieboek, gebaseerd op Project A van hierboven. De eerste opmerkingen en ingestelde arm-eind-effectorblokken worden gemarkeerd en beschreven.

Terwijl u de code leest, moet u elk blok nauwkeurig bekijken om te bepalen of de 6-assige arm absolute of relatieve beweging gebruikt.

In dit project is het eerste verplaatsingsblok een Verplaats naar positie blok. Houd er rekening mee dat de 6-assige arm absolute beweging gebruikt om naar de coördinaten te bewegen die in de parameters van het blok staan vermeld.

Het begingedeelte van Project A zoals hierboven beschreven, waarbij de bewegingsarm naar positie x 75, y 125, z 0 mm is gemarkeerd in een rood kader.

Noteer het gedrag dat bij het blok hoort in uw technisch notitieboekje. Deze opmerking en verplaatsen naar positie blok kunnen worden beschreven als: 2. Gebruik absolute beweging om naar coördinaten (75, 125, 0) te bewegen.

Voorbeeld van een codeleesnotitieboek, met de start van Project A van bovenaf weergegeven. De tweede opmerking en het verplaatsingsblok eronder worden gemarkeerd en beschreven. Het blok beweegt de arm naar positie x 75, y 125, z 0.

Kijk naar het volgende bewegingsblok in het project. Is dit een absolute of relatieve beweging?

Dit is eenIncrement positieblok, wat de relatieve beweging van de 6-assige arm aangeeft.

Het begingedeelte van Project A zoals hierboven beschreven, waarbij het blok om de positie met x 50 mm te verhogen rood is gemarkeerd.

Gebruik de incrementele toename in de parameters van het blok om de positie te bepalen waarheen de 6-assige arm beweegt wanneer dit blok wordt uitgevoerd. Doe dit door de waarde van de relatieve beweging (50 mm) van de overeenkomende coördinaat (x) uit het absolute bewegingsblok toe te voegen.

Noteer dit in uw technisch notitieboekje. Dit kan als volgt worden omschreven: 3. Relatieve verplaatsing door 50 bij de x-coördinaat op te tellen. De nieuwe coördinaten zijn (125, 125, 0).

 

Voorbeeld van een codeleesnotitieboek, waarin een deel van Project A van bovenaf wordt getoond. De derde opmerking en het daaronder liggende blok met de positieverhoging worden gemarkeerd en beschreven. Het blok vergroot de arm met 50 mm langs de x-as.

Herhaal dit proces voor de resterende blokken in het project. Documenteer wat elk blok doet wanneer het project wordt uitgevoerd.

Vergeet niet om de blokken Commentaar en Notities te lezen als referentie wanneer u het project leest.

De resterende stappen van dit project om de overige drie zijden te tekenen, kunnen als volgt worden beschreven: 

4. Relatieve verplaatsing door 50 bij de y-coördinaat op te tellen. De nieuwe coördinaten zijn (125, 175, 0).

5. Relatieve verplaatsing door 50 van de x-coördinaat af te trekken. De nieuwe coördinaten zijn (75, 175, 0).

6. Relatieve verplaatsing door 50 van de y-coördinaat af te trekken. De nieuwe coördinaten zijn (75, 125, 0).

Voorbeeld van een codeleesnotitieboek, waarbij het onderste gedeelte van Project A van bovenaf wordt bekeken. De laatste drie opmerkingen en de blokken met de toenemende positie daaronder worden gemarkeerd en beschreven. De incrementele positieblokken in deze sectie luiden als volgt: het eerste blok leest de incrementele armpositie met y 50; het tweede blok leest de incrementele armpositie met x - 50; en het laatste blok leest de incrementele armpositie met y - 50.

Schets het pad van de 6-assige arm wanneer het project wordt uitgevoerd. 

Om het eindproduct van het project te visualiseren, kunt u de coördinaten die u hebt bepaald, gebruiken om het pad in uw technische notitieboekje te schetsen. 

Een diagram uit een technisch notitieboekje met een bovenaanzicht van de 6-assige arm met het whiteboardhulpstuk. Er worden een X- en een Y-as over elkaar gelegd, waarbij de oorsprong elkaar in het midden van de basis van de arm kruist. Er wordt een stippellijn getekend om de vier punten op het whiteboard met elkaar te verbinden, zodat deze overeenkomen met de coördinaten die hierboven in de codelezing zijn beschreven. Het vierkant bevindt zich in het midden aan de rechterkant van het whiteboard.

Bekijk hoe het project wordt uitgevoerd. Beantwoord de volgende vragen in je technische notitieboekje.

  • Hoe verhouden de waargenomen gedragingen van de 6-assige arm zich tot de lijst met gedragingen in uw technische notitieboekje?
  • Hoe verhoudt jouw lijst met gedragingen zich tot de voorspelling die je aan het begin van de les deed?
  • Hoe verhoudt de voorspelling die u aan het begin van de les deed zich tot het gedrag dat in deze video wordt getoond?
    • In de onderstaande video beweegt de 6-assige arm van de veilige positie om de pen op locatie (75, 125, 0) te plaatsen. Vervolgens beweegt de muis weg van de basis om de eerste zijde van het vierkant te tekenen, naar rechts om de tweede zijde te tekenen, richting de basis om de derde zijde te tekenen en naar links om het vierkant te voltooien.
Videobestand

Gefeliciteerd! U hebt nu code gelezen en die kennis gebruikt om te bepalen wat er gebeurt als een project wordt uitgevoerd. Je gaat dit verder oefenen met twee extra voorbeelden. 

De code lezen in Project B

In dit voorbeeld ga je oefenen met het lezen van code om fouten in een project te vinden. De bedoeling van dit project is om een vierkant te tekenen, net als bij Project A. Als Project B echter zou worden uitgevoerd, zou de 6-assige arm geen vierkant tekenen zoals bedoeld. U leest de code in dit voorbeeld door dezelfde stappen te volgen die u in Project A hebt gebruikt om de fout te vinden. Vervolgens gebruikt u de informatie uit onze codelezing om te bepalen hoe het probleem kan worden opgelost.

Documenteer het project in uw technisch notitieboekje. U kunt dit doen door de stappen in volgorde op te schrijven of door de afbeelding van de code rechtstreeks aan uw notitieboekje toe te voegen.

Voorspel wat de 6-assige arm zal doen wanneer het project wordt uitgevoerd. U keert terug naar deze voorspelling nadat u het codeleesproces hebt voltooid.

Project B begint met een Wanneer gestart-blok en wisselt af tussen een Opmerking-blok en het bijbehorende Arm-blok. Van boven naar beneden ziet het project er als volgt uit: Opmerking 1: Ga aan de slag om te tekenen; plaats de arm-eind-effector op de pen; Opmerking 2: Ga aan de slag om een vierkant te tekenen; beweeg de arm naar positie 75, 125, 0. Dan aan elke zijde: Opmerking 3: Teken zijde AB met relatieve beweging; verhoog de armpositie met x 50; Opmerking 4: Teken zijde BC met relatieve beweging; verhoog de armpositie met y 50; Opmerking 5: Teken zijde CD met relatieve beweging; verhoog de armpositie met x 50; en ten slotte, Opmerking 6: Teken zijde DA met relatieve beweging; verhoog de armpositie met y -50.

Begin bij het begin van het project. Documenteer de projectinstellingsblokken op dezelfde manier als u dat voor het vorige project hebt gedaan.

Het eerste commentaar en de set eind-effector blok kunnen als volgt worden beschreven: 

1. Plaats de eind-effector op de pen

Voorbeeld van het lezen van code in het technisch notitieboekje, waarbij de eerste opmerking en het set-arm-eind-effectorblok in een rood kader zijn gemarkeerd en beschreven.

Lees het eerste bewegingsblok in het project en let daarbij op of de beweging absoluut of relatief is. Welk gedrag zou het blok veroorzaken dat de 6-assige arm voltooit? Visualiseer dit gedrag.

Het begingedeelte van Project B, met een rood gemarkeerd vak rond het blok Verplaatsen naar positie onder de opmerking Instellen om een vierkant te tekenen. Het blok luidt: beweeg arm naar positie x 75, y 125, z 0 mm.

Noteer het gedrag dat u voor dit blok hebt gevisualiseerd in uw technisch notitieboekje.

Dit gedrag kan als volgt worden beschreven: 

2. Gebruik absolute beweging om naar de coördinaten (75, 125, 0) te bewegen.

Voorbeeld van een codeleesnotitieboek, met hierboven de start van Project B. De tweede opmerking van 'Stel een vierkant in' en 'Verplaats naar positie blok eronder' worden gemarkeerd en beschreven. Het blok luidt: beweeg arm naar positie x 75, y 125, z 0 mm.

Kijk nu naar het tweede bewegingsblok. Is dit een absolute of relatieve beweging? Dit is eenIncrement positie blok, wat de relatieve beweging van de 6-assige arm aangeeft.

Visualiseer het gedrag dat dit blok teweeg zou brengen in de 6-assige arm. 

 

Een deel van Project B wordt weergegeven, met het rode gemarkeerde vak rond het eerste incrementele armblok, onder de opmerking Teken zijde AB met relatieve beweging. Het blok geeft aan dat de positie van de arm met x 50 moet worden verhoogd.

Net zoals u dat voor Project A hebt gedaan, leest u de parameters van het blok om te bepalen waar de positie van de 6-assige arm zich zal bevinden nadat het blok Positie increment is uitgevoerd. Noteer dit in uw technisch notitieboekje.

Deze opmerking en het increment positie blok kunnen als volgt worden beschreven: 

3. Relatieve verplaatsing door 50 bij de x-coördinaat op te tellen. De nieuwe coördinaten zijn (125, 125, 0).

Voorbeeld van een codeleesnotitieboek, met hierboven de start van Project B. De derde opmerking van Draw side AB met relatieve beweging en het blok met de positieverhoging eronder worden gemarkeerd en beschreven. Het blok geeft de positie van de arm aan met stappen van x 50 mm.

Herhaal dit proces voor de resterende blokken in het project. Visualiseer en documenteer vervolgens wat elk blok zal doen wanneer het project wordt uitgevoerd.

De resterende stappen in het project kunnen als volgt worden beschreven: 

4. Relatieve verplaatsing door 50 bij de y-coördinaat op te tellen. De nieuwe coördinaten zijn (125, 175, 0).

5. Relatieve verplaatsing door 50 bij de x-coördinaat op te tellen. De nieuwe coördinaten zijn (175, 175, 0).

6. Relatieve verplaatsing door 50 van de y-coördinaat af te trekken. De nieuwe coördinaten zijn (175, 125, 0).

Voorbeeld van een codeleesnotitieboek, waarbij het onderste gedeelte van Project B van bovenaf wordt getoond. De laatste drie opmerkingen en de blokken met de toenemende positie daaronder worden gemarkeerd en beschreven. De incrementele positieblokken in deze sectie luiden als volgt: het eerste blok leest de incrementele armpositie met y 50; het tweede blok leest de incrementele armpositie met x 50; en het laatste blok leest de incrementele armpositie met y - 50.

Schets het pad van de 6-assige arm wanneer het project wordt uitgevoerd.

Om het eindproduct van het project te visualiseren en documenteren, kunt u de coördinaten die u hebt bepaald, gebruiken om het pad in uw technische notitieboekje te schetsen. 

Schema uit een technisch notitieboek van de 6-assige arm met het whiteboardhulpstuk, met een X- en Y-as over elkaar heen en de oorsprong die elkaar in het midden van de basis van de arm kruist. Er worden vijf punten uitgezet en met een stippellijn verbonden. Deze punten weerspiegelen de coördinaten die in de bovenstaande codetekst worden beschreven. Het vierkant is niet nauwkeurig getekend, want de stippellijnen zijn eerst naar beneden getekend, dan naar rechts, dan naar beneden en dan naar links.

Bekijk hoe het project wordt uitgevoerd. Beantwoord de volgende vragen in je technische notitieboekje. 

  • Hoe verhouden de waargenomen gedragingen van de 6-assige arm zich tot de lijst met gedragingen in uw technische notitieboekje?
  • Hoe verhoudt jouw lijst met gedragingen zich tot de voorspelling die je aan het begin van de les deed?
  • Hoe verhoudt de voorspelling die u aan het begin van de les deed zich tot het gedrag dat in deze video wordt getoond?
    • In de onderstaande videoclip beweegt de 6-assige arm van de veilige positie naar coördinaten (72, 125, 0). Vervolgens beweegt het van de basis weg om de eerste zijde te tekenen, naar rechts om de tweede zijde te tekenen, verder weg van de basis om de derde zijde te tekenen en naar links om de vierde zijde te tekenen. 

 

Videobestand

Ga nu terug naar je schets. Geef aan op welk punt het project stopte met het tekenen van een vierkant. Terwijl de 6-assige arm de eerste drie bewegingsblokken in het project uitvoert, lijkt het alsof de pen doorgaat met het tekenen van een vierkant.

Bij het vierde bewegingsblok beweegt de 6-assige arm echter in de tegenovergestelde richting dan verwacht: langs de positieve x-as in plaats van de negatieve x-as. Zoek deze stap in het project en markeer deze in uw technisch notitieboekje.

 

Hetzelfde diagram uit het technische notitieboekje van hierboven, met de stippellijn van de derde zijde gemarkeerd in een rood kader, om aan te geven dat er beweging in de verkeerde richting op de x-as plaatsvindt.

Identificeer nu het blok in het project dat overeenkomt met de stap waarin de fout is opgetreden. Markeer het blok ook in je technisch notitieboekje.

In dit voorbeeld is het stap 5 die overeenkomt met de opmerking 'Teken zijde CD met relatieve beweging' die is gemarkeerd.

Het bovenstaande codeleesvoorbeeld uit een technisch notitieboekje, waarbij de tekst en blokken van stap 5 in een rood kader zijn aangegeven.

Pas uw kennis over beweging langs de assen toe om een oplossing voor deze fout voor te stellen.

Om een vierkant te tekenen, moet de 6-assige arm langs de x-as in negatieve richting bewegen. Dit betekent dat voor dit Increment positie blok de x-parameter ingesteld moet worden op –50 in plaats van 50.

Een deel van Project B met een rood gemarkeerd vak rond de x-parameter van het blok voor de toenamepositie onder de Draw-zijde CD met commentaar over de relatieve beweging. De x-parameter is nu ingesteld op negatief 50.

Noteer de wijziging die nodig is om het project correct te laten verlopen in uw technisch notitieboekje.

Dit kan worden vastgelegd in een notitie onder het project, zoals beschreven: 

Stap 5 moet worden gewijzigd in min van de x-coördinaat. De nieuwe coördinaten moeten (75, 175, 0) zijn om een vierkant te kunnen tekenen. 

Stap 6 zou dan veranderen omdat de beweging relatief is. De nieuwe coördinaat na stap 6 zou (75, 125, 0) zijn.

uitlegtekst

Bekijk het project waarbij de x-parameter van het blok Increment position is gewijzigd van 50 naar –50. De 6-assige arm beweegt nu van de veilige positie naar coördinaten (75, 125, 0_, en beweegt vervolgens om een vierkant te tekenen zoals bedoeld.

Videobestand

U bent nu klaar met het lezen van code voor twee verschillende projecten: één om u te helpen een proces te leren voor het lezen en documenteren van code, en een andere om code te lezen om een fout in een project te identificeren. Elke keer dat u met de 6-assige Arm en VEXcode werkt, blijft u oefenen met het lezen van code, het visualiseren en documenteren van projecten. U kunt op elk gewenst moment terugkeren naar deze les om u te helpen een proces voor het lezen en documenteren van code te onthouden. 

Activiteit

Nu u het lezen van code met behulp van twee verschillende projecten hebt geoefend, gaat u nog een keer zelfstandig oefenen.

Voorbeeldproject waarbij een driehoek wordt getekend. Het project begint met een Wanneer gestart-blok en wisselt tussen Opmerking-blokken en Arm-blokken. Het project luidt als volgt: Opmerking 1: Ga aan de slag met tekenen; plaats de arm-eind-effector op de pen; Opmerking 2: Ga naar het begin van de driehoek met behulp van absolute beweging, beweeg de arm naar positie x 100, y 100, z 0 mm. Hierna volgen de opdrachten om de zijden te tekenen. Commentaar 3 luidt: Teken zijde AB met relatieve beweging, verhoog vervolgens de armpositie met x 100 mm; Commentaar 4: Teken zijde BC met relatieve beweging, verhoog de armpositie met y 100 mm; en ten slotte, Commentaar 5: Teken zijde CA met relatieve beweging en verhoog de armpositie met x-100, y-100 mm.

Activiteit: Volg de procedure die u hebt geleerd om de code in het bovenstaande project te lezen.

  1. Documenteer het bovenstaande project in uw technisch notitieboekje.
  2. Voorspel wat u denkt dat de 6-assige arm zal doen wanneer het project wordt uitgevoerd. Noteer uw voorspelling in uw technisch notitieboekje.
  3. Lees elk blok in het project en visualiseer het gedrag dat de 6-assige arm zou vertonen bij het uitvoeren van het blok. Noteer dit gedrag in uw technisch notitieboekje.
  4. Schets het pad dat de 6-assige arm zou volgen wanneer het project wordt uitgevoerd.
  5. Meld je bij je docent als je klaar bent. U volgt het project als klassikaal. Vervolgens bespreekt u uw voorspelling en de documentatie.

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 uw Mid-Unit Reflectie te starten.