De Dubbele Pendulum: Leren Over Chaotisch Gedrag Aan De Hand Van Een Spel

by lsikkema1 in Teachers > University+

86 Views, 2 Favorites, 0 Comments

De Dubbele Pendulum: Leren Over Chaotisch Gedrag Aan De Hand Van Een Spel

WhatsApp Image 2024-06-17 at 21.31.05.jpeg

Bij TN leren we natuurlijk, zoals volgens een fysicus goed betaamt, veel over manieren om de fysieke wereld om ons heen te reduceren tot slechts simpele formules. Op een deterministische manier kunnen die alles beschrijven wat er om ons heen gebeurt. Maar de vraag is maar of de wereld wel zo voorspelbaar is. De beweging van moleculen op microschaal lijkt immers volledig willekeurig, net zoals de beweging van eiwitten in de cellen van je lichaam, of als je liever op macroschaal werkt, de voortgang van het weer en de voortplanting van groepen dieren in het wild. Een gemiddeld fysicus zou het fijn vinden om dit soort zaken aan de hand van elegante vergelijkingen te verklaren en voorspellen.

Chaos theorie zou tegen die fysicus zeggen: dikke pech! Dit natuurkundig principe, in 1961 voor het eerst beschreven door de meteoroloog Lorenz, stelt dat sommige mechanismen geen duidelijke formules volgen, maar sensitief afhankelijk zijn van de initiële waarden. Of terwijl, als je beginwaarde ook maar 0.00000000001 afwijkt van de beginwaarde van een tweede proces in hetzelfde mechanisme, zal de uitkomst in korte tijd heel anders worden. Dit is nog steeds een deterministisch systeem. Het patroon dat een bepaalde variabele volgt, ligt van tevoren vast. Echter is de uitkomst zo gevoelig voor de beginwaarde, dat een verandering van het oneindigste getal na de komma uitmaakt - deze is dus níét voorspelbaar.

Een dubbele pendulum is een veelbehandeld voorbeeld van zo'n chaotisch systeem. Hier leer je hoe je een dubbele pendulum bouwt, kun je een simulatie op te zetten en deze uiteindelijk vergelijken met het daadwerkelijke pad dat jouw dubbele pendulum volgt. Je zult zien: hoeveel je ook probeert, het pad van de simulatie en jouw pendulum, zullen enorm afwijken, hoe erg je je best ook doet om de initiële waarden exact hetzelfde te krijgen!

Supplies

Materialen: plexiglas, plywood, staal, twee kogellagers (binnendoorsnede 6mm, buitendoorsnede 18mm), twee naaldlagers (binnendoorsnede 10mm, buitendoorsnede 14mm), aluminium as (doorsnede 8 mm, met uitersten afgesneden tot doorsnede 6mm, lengte .... mm), stalen as (doorsnede 10mm, lengte 290mm), twee-componenten-lijm, 4 schroeven (2 maal doorsnede 5mm, 2 maal doorsnede ...mm), 4 bouten (bijpassend), tie wraps, dubbelzijdig tape, rubber (en schroeven om dit vast te maken aan de ondergrond, maar een andere manier van vastmaken kan natuurlijk ook), zwaar materiaal voor de ondergrond (hier groot blok hout) en egale achtergrond (hier plaat karton).

Software: Spyder of een ander programma waarop Python kan runnen, Tracker, Excel, eventueel Inkscape (als je de .svg-files wil aanpassen).

Hardware: telefoon (device met camera- en communicatiefunctie), laptop (device waarop Spyder en Tracker kunnen runnen).

Productie: lasersnijder, kolomboor, draaibank, ijzerzaag, schroevendraaier/inbussleutel, schroefdraad tap.

Bijgevoegd zijn de benodigde codes in Python en vector (.svg) files voor de lasersnijder.

Achtergrond

Hier vertellen we kort hoe bepaalde designkeuzes zijn gemaakt, zodat jij, wanneer je zelf een dubbele pendulum in elkaar zet, weet waarin je kan variëren en hoe je aanpassingen maakt. Mocht je van plan zijn de hier gedemonstreerde pendulum exact na te bouwen, dan is deze paragraaf in principe over te slaan.

Bewegingsvergelijkingen en bepaling traagheidsmoment

De beweging van een pendulum is vrij goed te benaderen aan de hand van bewegingsvergelijkingen, waarin de lineaire kinetische energie en rotationele kinetische energie gelijk worden gesteld aan de zwaarte-energie. In het geval van een dubbele pendulum blijkt de boel wat ingewikkelder te liggen. In deze uitwerking hebben we de voorgenoemde energieën gedefinieerd en aan de hand daarvan de Langrangiaan bepaald, waarna we alles konden uitdrukken in theta aan de hand van Euler-Lagrange. Het is voor jou als gebruiker belangrijk te weten dat hierin enkele aannames zijn gemaakt. Ten eerste hebben we gekozen voor een opstelling waarin de lengte van de bovenste arm twee keer zo groot is als de lengte van de onderste arm. Daarnaast moest de massa van de onderste arm vier keer zo groot zijn als die van de onderste. Dit met het oog op de haalbaarheid voor het bouwen, en omdat het gelijkstellen van de inertia de bewegingsvergelijkingen versimpelde. Hieraan ten grondslag ligt echter wel de aanname dat op deze manier het traagheidsmoment van beide armen gelijk zou zijn - dit bleek niet helemaal waar te zijn, echter, door de juiste afmetingen te kiezen, liggen de traagheidsmomenten in de opstelling wel dicht bij elkaar en nemen we dus aan dat dit goed genoeg is.

Simulatie

Vervolgens willen we natuurlijk een simulatie maken. Hiertoe hebben we een code geschreven die als input de hoeken van de eerste en tweede draaias ten opzichte van de verticaal neemt, en aan de hand van de bewegingsvergelijkingen bepaalt waar het onderste punt van de pendulum zich moet bevindt. Die output neemt 'ie vervolgens weer als input en zo kan numeriek het pad worden bepaald dat de dubbele pendulum onder die specifieke initiële waarden zou moeten afleggen.

Opstelling Bouwen

WhatsApp Image 2024-06-17 at 21.30.58.jpeg
WhatsApp Image 2024-06-17 at 21.30.59.jpeg

Om de opstelling te bouwen, moeten eerst veel onderdelen verzameld en op maat gemaakt worden.

Lasersnijder

Ten eerste moeten de volgende files worden uitgesneden door de lasersnijder:

Plywood 3mm dikte: '8-defeindproject-kettinglijnen.svg' (dit document bevat tekst specifiek voor het huidige project, dit kan verwijderd worden in het programma 'Inkscape')

Plexiglas 5mm dikte: '8-defeindproject-zijplaten-versie2.svg' (2 maal), '8-defeindproject-onderplaat-versie1.svg'

Plexiglas 10mm dikte: '8-eindproject-bovenstearm-versie1.svg' , '8-defeindproject-ringen.svg'

NB: de afmetingen van de gaten waar de lagers in komen, zijn na iteratie zo bepaald dat de lagers er precies inklemmen. Om zeker te weten dat de lagers goed vast komen te zitten, kan het nuttig zijn om zelf een dergelijke iteratie uit te voeren.

Onderste draaiarm

Vervolgens moet vanuit een stuk staal een blok gezaagd met de afmetingen: 33mm x 27mm x 100mm. 20mm van de bovenkant van het blok wordt een gat geboord met doorsnede 7.9 mm. Met behulp van de draaibank wordt een aluminium as gemaakt met doorsnede 8 mm, met aan beide uiterste zijden een stuk afgesneden zodat deze een doorsnede van 6mm hebben. De as wordt in het blok staal geperst. Zo heb je een draaiarm van zo'n 850 gram met daarin een draaias, die in de kogellagers bevestigd kan worden. Onderop de onderste draaiarm plak je een opvallende sticker die het Trackerprogramma later kan volgen.

Bovenste draaiarm

De bovenste draaiarm is zo gefabriceerd dat deze gemakkelijk aan de bovenste draaias geklemd kan worden. Dit wordt gedaan door op 15mm van het gat, loodrecht op de gleuf een gat te boren van 4mm, vervolgens tot halverwege van 5mm. In dit 5mm gat wordt schroefdraad getapt. Het geheel kan vervolgens aan de stalen draaias bevestigd worden, dan vastgeklemd door twee schroeven strak aan te draaien (let op dat het plexiglas niet barst!). In het onderste gat komen de kogellagers, hier kan de onderste draaiarm weer in bevestigd worden. Je hebt nu de gehele combinatie van draaiarmen, die ook wanneer je hem in je hand houdt al chaotisch kan bewegen! Echter heb je nog een frame nodig.

Frame

De zij-, voor- en onderplaten worden (zoals van zelfsprekend) aan elkaar gemonteerd. Dit kan met twee-componenten-lijm. In de bovenste gaten worden de naaldlagers geklemd, daardoorheen komt de as met de armen eraan. Je hebt nu een werkende dubbele pendulum - echter neemt het geheel van de armen in haar traagheid het hele frame mee in de x-richting. Om dit tegen te gaan, wordt het frame hier gemonteerd op rubber, dat weer gemonteerd wordt op een zware ondergrond (houten plaat). Tevens kan de opstelling nu nog in de y-richting wiebelen. Om dit te stabiliseren wordt in plywood een kettinglijn uitgesneden, die met behulp van dubbelzijdig tape en tie wraps aan het frame wordt gemonteerd.


Gefeliciteerd! Je hebt nu een dubbele pendulum gebouwd!


Overige opmerkingen: let op veiligheidsmaatregelen bij het gebruik van de kolomboor en de lasersnijder, ga voorzichtig om met het plexiglas, zodat het niet breekt, en let vooral bij het in beweging zetten van de draaiarmen voordat de gehele opstelling is gestabiliseerd en verzwaard erg op, want dan beweegt het geheel chaotisch en onvoorspelbaar, en je wil geen 800 gram staal in je gezicht.

Simulatie Opzetten

Screenshot 2024-06-21 123922.png

Om het chaotisch gedrag goed te demonstreren, en een spelelement toe te voegen, zetten we een simulatie op. Voor jullie, als gebruiker, is dit een simpele zaak. Je laadt de eerder geüploade codes in Spyder en runt deze. Deze code bevat de afmetingen, massa's en traagheid zoals in deze opstelling gebruikt. Dit is natuurlijk aan te passen, let daarbij op de bewegingsvergelijkingen zoals die in stap 1 uitgelegd zijn.

Vervolgens wordt een telefoon geplaatst op .... mm afstand van de opstelling. Hiermee kan een filmpje gemaakt worden van het geheel. Deze moet naar de laptop gemaild worden (of op een andere manier gecommuniceerd) waar Tracker op draait. In Tracker kan gemakkelijk een filmpje geupload worden. Je doet dit en selecteert in het beginshot de sticker die je op de onderste arm hebt geplakt. Dan laat je het programma draaien. Tracker spuugt dan een hele lijst aan datapunten uit. Die sla je op als Excel-bestand, dat je kan uploaden naar de code. Je stopt de x- en y-coordinaten van het punt in een array en vervolgens worden de hoeken tussen de verticaal en draaiarm door het programma bepaald. De code bevat twee mogelijke visualisatiemethoden:

Plot van de trajectory: in dit plot zijn de locaties x- en y- waar de pendulum zich op elk moment in de gekozen tijdspanne bevindt tegen elkaar uitgezet. Blauwe lijnen geven tien-maal de simulatie weer en de oranje lijn laat het pad van de fysieke pendulum zien.

Simulatie: in de simulatie wordt aan de hand van stap-voor-stap, numeriek berekende waarden voor x en y een filmpje gemaakt van hoe een dubbele pendulum zich zou moeten gedragen, gegeven bepaalde beginwaarden. Eenzelfde filmpje kan gemaakt worden van de x- en y-waarden zoals ze door Tracker zijn bepaald. Op deze manier kunnen twee filmpjes naast elkaar bekeken worden (dit kost echter veel rekenkracht voor de computer, dus is het niet echt realistisch om meer verschillende filmpjes naast elkaar de leggen en zo het chaos-effect te demonstreren).

Spelen Maar

Het spelelement aan het geheel houdt in dat we willen proberen om fysieke waarden en gesimuleerde waarden zo dicht mogelijk bij elkaar te krijgen. (De werkelijkheid zal natuurlijk laten zien dat dit niet te doen is).


Je laat meerdere spelers de onderste arm naarboven bewegen en maakt een filmpje. Deze upload je allemaal en vergelijk je aan de hand van de trajectory-plot. Zelfs ondanks dat er tien blauwe lijnen zijn, zullen de oranje lijnen van de spelers afwijken van de gesimuleerde waarden. Je kunt voor de leuk ook nog twee filmpjes (gesimuleerd vs. fysiek) met elkaar vergelijken. Op het oog kies je een winnaar.