Innovation i NF

Som mange andre kører vi i NF variationer af forløbene: Vand, sundhed, energi/ressourcer. I slutningen af hvert forløb ligger et kort projektperiode, som forberedelse til den evalueringsopgave, som eleverne skal præsentere ved eksamen.

Foto: Steen Ladefoged, 2012

Efter et par års tilløb fik vi i år, lavet et forløb, med en innovativ del. De første måneder gik med at undersøge problem-feltet (skybrud i Svendborg) fra en hhv. kemisk, biologisk og geografisk vinkel.

Som nogen (Einstein) sagde: Brug 90% af tiden på at undersøge problemet og 10% af tiden på løsningen.

Jeg er ret sikker på, at eleverne oplevede det blot som almindelig sekvenseret undervisning, hvorefter vi gik over til en projektfase. Produktkravet lignede meget evalueringsopgaven dvs. opstil problemformulering og belys den gennem problemstillinger med bilag.

Dertil var en ny del, hvor de skulle forslå en løsning på skydbrudsproblemet. Konkret arbejdede vi med et område i Svendborg, som ofte oversvømmes ved skybrud (billede til højre), da meget af vandet fra oplandet samles i en slugt, som munder ud i byen 500 m fra havnen (rød cirkel på billedet herunder). miljøGIS kan vise højder og hvor der kan samle sig regnvand.

Vi fik besøg af en ingeniør fra kommunens regn- og spildevandshåndtering (Vand&Affald), som kort præsenterede problemet og gik rundt til grupperne for at besvare konkrete spørgsmål.

Det er tit svært at vide hvornår besøget udefra skal falde -ved introduktionen til problemet (og spørgsmål kan rettes skriftligt) eller når eleverne har arbejdet sig lidt ind på problemet og har mere konkrete spørgsmål. Og som regel er det konkrete svar mht. mængder og priser, som vi selv har svært ved at besvare.

Efter eleverne havde arbejdet nogle moduler (max 3) med opgaven, skulle de pitche eller fremlægge for deres lærer og vores gæste-ingeniør. De blev opfordret til at pitche, men havde også mulighed for en almindelig fremlæggelse.

Ud over at finde på en mulig (del-)løsning på problemet, skulle de vurdere løsningens innovationshøjde, realiserbarhed og nytteværdi. Særligt to forhold gik op for flere elever:

1) Man skal ikke forvente at finde en løsning, som løser problemet med skybrudsregn fuldstændigt.

2) Innovation kan være inkrementel eller kendt ide i ny kontekst -man behøver ikke finde på noget helt nyt, men kan implementere en kendt løsning et nyt sted.

Vi brugte ikke tid på ide-generering eller andre brainstorm aktiviteter. En enkelt af gruppernes løsningsforlag bar også præg deraf: Et tag, som kunne dække hele Svendborg by. De andre grupper tog opgaven lidt mere seriøst og kom med forslag om dæmninger, ny asfalt, plantekasser, ny rørføring, grøfter og kanaler.

Eleverne evaluerede forløbet positivt. Mit indtryk er, at eleverne fik en introduktion til  at  arbejde innovativt, herunder hvordan man fordyber sig i problemet, før man foreslår løsninger. Innovation landede i et fag, hvor vi har mulighed for fordybelse modsat fx et AT-forløb.

Udgivet i biologi, HF, innovation, kemi | Skriv en kommentar

Et par mindre nyheder i o365

Visio Online:

Vi har fået adgang til Visio Online inde fra OneDrive for Business. Visio er en lille app, dedikeret til flow-diagrammer. Eksempel: Program til lineær regression med maskinlæring:

Kassernes form indikerer hvad der foregår i dem. Se mere. De er meget nemme at forbinde i programmet. Ikke noget, som PowerPoint ikke kan, men lidt nemmere og med lidt flere muligheder indenfor sit område.

Diagrammerne kan komme i anvendelse ifbm. computational thinking, ved at man ikke koder et computer-program, men overvejer strukturen i programmet.

Forms i Excel:

Jeg bruger Microsoft Forms til spørgeskemaer, quizzer, prøver m.m. fordi eleverne er registreret via skolens o365 abonnement. Efter ca. et år, har jeg 20+ Forms, som blot ligger i en lang række på Forms-siden sorteret efter hvornår de har været redigeret sidst.

Der er ingen mulighed for at organisere sine Forms i en mappe-struktur. At placere et link fx i OneNote, til en specifik Form, er måske den bedste måde, at holde styr på sine Forms -det får jeg sjældent gjort. Som regel er det kun linket, som eleverne skal bruge for at besvare en Form, der ender i OneNote, og derfra kan man ikke tilgå redigering af den.

Før var alle filer bag en Form blevet placeret på en MS server, uden direkte adgang for brugere. Men nu er der kommet mulighed for at anbringe Excel-filen med svarene i OneDrive, og tilgå redigering af en Form fra Excel-filen. Funktionen er kun udrullet Excel Online.

Dvs. for at lave en Form, kan jeg gå til den mappe i OneDrive eller Sharepoint site, hvor jeg synes min Forms skal bo. Åbne en ny Excel Online fil, og derfra oprette min Form. Selve filen med spørgsmålene ligger fortsat kun på en MS-server, men Excel-filen tilbyder et link, hvorfra man kan tilgå redigering, og det er lidt bedre end at overskue min lange liste af Forms.

Edu resources til OneNote (og Forms):

I mit OneNote under “Indsæt” er der kommet et “Education Resources”, som giver adgang til forskellige arbejdsark, quizzer, øvelsesvejledninger, links, sekvenser med mere p.t. fra engelske kilder. Formaterne er bl.a. docx.

Jeg har endnu ikke fundet noget brugbart via tjenesten. Tiden vil vise, om der også kommer dansk materiale. Måske er det et forsøg på at erstatte delings-tjenesten docs.com, som MS lukkede for nyligt.

Udgivet i office 365, Onenote | Skriv en kommentar

Computational Thinking i stx

IT er ikke et valg, men et grundvilkår, som vi skal forberede de unge på. Det indeholder mange aspekter, herunder computeren og andre enheder som distraktion, det sociale og faglige liv på nettet, og nettet som kilde til information.

Det er også vigtigt, at få blik for computeren som et godt arbejdsredskab. Begrebet ‘computational thinking’ adresserer dette felt, og formentlig noget vi vil høre mere til de kommende år.

Computational thinking er et meget bredt begreb, men hovedsagen er, at få øje for hvornår og hvordan computeren kan og ikke kan indgå meningsfyldt i en proces eller arbejdsopgave. Dét være sig analyse, interaktion, produktion eller formidling og kræver en overordnet viden om hvilke arbejdsmetoder man anvender, når digitale værktøjer udvikles eller tages i brug.

Computational thinking bliver ofte konkretiseret i nogle trin:

  • undersøge et problem
  • udtænke en løsning som udnytter computerkraft
  • efterprøve løsningen
  • vurdere denne løsning.

Det trækker derfor på velkendte metoder fra mange fag bl.a. naturvidenskabelige, kreative og humanistiske, herunder innovation.

Man kan arbejde med alle trinnene eller nogle af dem, og fortrinsvist i grupper med henblik på at stimulere diskussion. Undersøgelse af et problem indebærer overvejelser om og hvordan IT kan bidrage til løsning, herunder hvordan en proces kan deles op i mindre dele, der løses en ad gangen, som man kender fra naturvidenskabelig metode.

En del af løsningen på problemet er nogle gange at designe eller udvikle et digitalt værktøj. Programmering er ikke i fokus, men et basalt kendskab til hvordan digitale værktøjer og databehandling fungerer i en computer, er en del af computational thinking. En af computerens største styrker er algoritmer, dvs. gentagelser, og det kræver abstrakt tænkning at sætte en algoritme rigtigt op.

Simpel visuel blokprogrammering vil dog være svær at komme udenom, for at introducere de mest basale programmeringskoncepter: algoritmer (løkker) og forgreninger. Jeg har set elever kæmpe med at styre Scrat (“egernet” herunder) til hans agern med 4 blokke:

Kilde: https://studio.code.org/hoc/17

Vil man ikke helt ned i koderne, kan man arbejde konceptuelt eller med forskellige såkaldte “Wizard of Oz”-værktøjer, der kan simulere funktionalitet.

Programmering bygger på årsag-virkning og tænkearbejdet ligger i at gennemskue konsekvenserne af de koder man sætter sammen. Dertil kan man analysere på, hvor man kan genbruge strukturer (mønster-genkendelse) og hvordan algoritmer kan opstilles på den mest effektive måde, for at spare plads, tid og energi. Fx er tilgangen herunder ikke den bedste til at få Scrat ovenfor i mål:

Visuel blok-programmering kan øves på mange platforme både til computer og tablet. Scratch er klassikeren, men der er mange nye fx har ITCFyn’s Finn Roholt anbefalet Swift Playgrounds til iPad. Hour of code har samlet virkelige mange øvelser, og afholder internationalt en time med programmering første uge i december.

Selv foretrækker jeg Mindstorms, som er Lego’s programmerbare klodser, da det giver et mere direkte feedback og en taktil oplevelse at bygge en robot, samtidig med den kodes fx via en iPad. Mulige opgaver for naturvidenskabelige elever kunne være at bygge en PCR- eller titreringsrobot.

At udvikle digitale værktøjer er altid behæftet med fejl. Fejludbedring sker ofte gennem en-faktor variation i en hypotetisk-deduktiv-lignende proces: Du har en viden om syntaks og kodens virkemåde. Du opstiller en hypotese for hvori fejlen ligger, og du udtænker en måde at rette den. Du ændrer koden og efterprøver om din hypotese er korrekt. Selv om programmet tilsyneladende opfører sig korrekt, kan du blive snydt, hvis koden indeholder fejl, som kun viser sig i nogle tilfælde.

Man kan overveje om maskinlæring og kunstig intelligens, på sigt bliver en del af computational thinking. Kunstig intelligens lover meget og er formentlig overvurderet, men holdet blot noget stik, er der store gevinster og udfordringer i vente.

I en verden med øget viden og kompleksitet, skal vi fortsat nøje overveje hvad vi bruger tid på i stx. Computational thinking kom desværre ikke direkte med i 2017-reformen, og er ikke et hovedmål i stx, men IT vil påvirke mange vilkår og faglige metoder, er vi nødt til at beskæftige os med det, for at gøre de unge kompetente, i stand til at vurdere hvornår IT er på sin plads og parate til at deltage i debatten på et oplyst grundlag.

Meget arbejde med computational thinking foregår heldigvis allerede i gymnasiet. Aarhus Universitets Center for computational thinking har samlet nogle forløbsbeskrivelser, som kan bidrage til yderligere inspiration.

Dette indlæg er også bragt på ITCfyn’s blok.

Udgivet i Digital Dannelse, Programmering | Skriv en kommentar

Big Data i biologi

En måde at inddrage IT i biologi, kan være at introducere eleverne til Big Data (indsamling af store mængder data) f.eks. ved at placere en CO2-sensor i et eller flere klasselokaler i en uges tid hen over vinter. De mange data er intet værd uden analyse, og måske et kig i skemaet kan afsløre nogle sammenhænge og give en efterfølgende diskussion om overvågning kontra sundhedsfremme.

Nogle gange er data så mangfoldige, at de kan være svære at analysere for et menneske. Et datasæt fra Wisconsin beskriver tolv forskellige egenskaber ved celler og væv fra over 600 kvinder med en knude i brystet [1]. Det er også registreret om knuden efterfølgende har vist sig god- eller ondartet.

Speciallæger diagnosticerer hvorvidt en knude virker god- eller ondartet ud fra vævs- og celleprøver, og det er de ret gode til. Ifølge et studie får de ret i 96,5% af tilfældene [2].

Der findes også ganske avancerede computermodeller, som kan forudsige om en knude er god- eller ondartet ud fra lignende vævs- og celleprøver. Modellerne kaldes kunstige neurale netværk, og består af en række matematiske operationer, som alt i alt ligner virkemåden i et bundt interforbundne neuroner.

Et studie viser, at computermodellerne kan forudsige om en knude er god- eller ondartet med 97,1% sandsynlighed [2], altså lidt bedre end speciallægerne. Man kan så diskutere, hvem der skal have skylden, når modellen tager fejl.

Jeg har lavet et udkast til en opgave [3], som introducerer eleverne til sådan en model. Der er rigtig mange tal i modellen, og derfor overordentlig stor risiko for, at eleverne kun ser en black box, som de kender fra andre smarte værktøjer, og ikke forstår hvad der foregår. For at mindske den risiko, har jeg lavet en række forsimplinger f.eks. af de tolv egenskaber, som findes i datasættet, arbejder jeg kun med fem tilfældigt valgte:

Yderligere har jeg valgt at bruge den simplest mulige neuralt netværk-model, selv om det ikke er den bedste [4]. Modellen (en perceptron) består af en lineær kombination af vægtede data, som tilsammen forudsiger om knuden er god- eller ondartet. Vores opgave er at finde de vægte (wi), som ud fra de kendte data (xi), bedst får forudsigelser og resultater til at stemme overens. For hver patient, hvor modellen forudsiger forkert, justerer vi vægtene en lille smule.

Hvordan bliver det til en opgave for eleverne? På en god dag, kan eleverne være med til at opstille modellen eller dele af modellen fra bunden. Jeg har valgt at arbejde i Excel [5], fordi alle elever (hos os) har programmet, og fordi det ikke kræver egentlig programmering.

Derefter skal eleverne træne modellen, ved at gennemgå den cyklus ovenfor igen og igen -flere gange på hele datasættet. Her kan makro’er evt. hjælpe med gentagelserne. Eleverne skal holde øje med fejlraten, som skal minimeres, og evt. justere på læringsraten, som er en konstant, der er med til at afgøre, hvor meget vægtene skal ændres, når modellen tager fejl.

Når vi har trænet modellen til at finde de bedste vægte, kan det være interessant at se på hvilke af de fem egenskaber modellen vægter højere end andre. F.eks. ser tilbøjelighed til celledelinger ud til at være mindre afgørende for om en knude er god- eller ondartet, mens knudestørrelse er meget afgørende ifølge modellen.

Opgaven kan stadig finpudses f.eks. ved at prøve med andre eller alle 12 af de egenskaber, som findes i datasættet. Arbejder man sammen med en matematiklærer, giver lidt mere avancerede modeller mulighed for at arbejde med differentialregning og matricer, men det har jeg udeladt her.

Betyder det, at speciallæger skal omskoles til psykologer? For det første klarer computermodellerne sig kun en smule bedre end speciallægerne. For det andet stiller speciallæger assisteret af modeller den rigtige diagnose i 99,5% af tilfældene [2]. Måske er det sådan, at vi skal tænke på kunstig intelligens fremover.

Kilder:

  1. https://www.mathworks.com/matlabcentral/answers/uploaded_files/17053/Wisconsin%20Diagnostic%20Breast%20Cancer.xlsx
  2. Beck et al. ”Deep Learning for Identifying Metastatic Breast Cancer” arXiv:1606.05718v1 [q-bio.QM]  18 Jun 2016
  3. https://drive.google.com/open?id=0B2OKliO0YqClcHBBNHplSmtralU
  4. Noel et al. ”Using Machine Learning Algorithms for Breast Cancer Risk Prediction and Diagnosis” Procedia Computer Science 83 (2016) 1064–1069
  5. https://drive.google.com/open?id=0B2OKliO0YqClN2Q4TVJYdFNSSEU

Dette indlæg er/bliver også bragt i BioFag.

Udgivet i biologi, bioteknologi, Digital Dannelse | Skriv en kommentar

Fjol med intelligent robot

Jeg har fjollet lidt mere med en robot, som lærer via Q-learning, der baserer sig på data (maskinlæring). Dens udfordring er at lære de bevægelser, som ikke i sig selv giver belønning:

  1. løfte grabben
  2. føre grabben fremad
  3. sænke grabben

Derefter bliver der adgang til de trin, som giver en stor belønning:

4. Føre grabben tilbage, og dermed skubbe robotten fremad.

1. Tro på fremtiden:

Variation i gamma-værdierne, som afgør i hvor høj grad robotten, skal tage hensyn til fremtidige potentielle belønninger. Da miljøet i fremtiden, kan se anderledes ud end det gør lige nu, nedreguleres fremtiden med en faktor gamma i n’de (n=trin):

gamma = 0,75: nær optimalt, kommer hurtigt i mål

gamma = 0,25: robotten kommer kun langsomt fremad

Det kan undre, at robotten i dette setup, hvor miljøet er meget konstant, klarer sig dårligt med gamma = 1 (ikke vist). Den litteratur jeg har set bruger også altid gamma<1.

2. Go deep:

Hver motor i grabben kan bevæge sig i 6 states, dvs. der er 6*6=36 states i alt. Arduino UNO løber tør for plads, hvis jeg øger antal states til 8 for hver servo. Dvs. der er kun plads til meget få typer af bevægelser med Q-learning.

I stedet for Q learning, har jeg forsøgt deep Q-learning, dvs. lave et dybt neuralt netværk, som kan funktions-approksimere fra motorernes stadier til belønnings-værdier, i stedet for at finde dem ud fra en erfaringstabel (Q-tabel).

Input er to vinkler, en fra hver servo, og output er en approksimeret Q værdi. Hver knude (firkant nedenfor) har desuden et konstantled (bias, v3, x3 og y3). Jeg har sat det nok simplest mulige dybe netværk (2×2) op i Excel med en logistisk funktion (f) som virker på en vægtet sum i hver knude (firkant):

2×2 ANN

Netværket skal selvfølgelig trænes på eksisterende Q-værdier fra robotten. Alle input og Q-værdier skal normaliseres til mellem 0 og 1. Error (målt Q-værdi minus approksimeret Q værdi) ligner differentialkvotienten på cost-funktionen (samlet afvigelse fra forventning, ofte sum af error^2).

W-værdierne justeres ud fra: (error*input til knuden*learning rate). Gradient Descent ville måske øge sandsynligheden for at opnå de globalt bedste w-værdier.

Jeg har oprettet nogle macro’er i Excel til at lave træningen til hurtigere. Første macro udfører en gange træning, ved at justere w’erne, når den løber hele datasættet igennem een gang. 10x træning kalder første makro 10 gange, mens 100xtræning kalder forrige macro 10 gange.

Det har endnu ikke været muligt at træne netværket til at forudsige realistiske Q-værdier. Kunsten for netværket er at finde systemet, som vist i de fire punkter ovenfor (løft, grab frem, sænk..). Men alle de approksimerede Q-værdier går hurtigt mod den samme værdi. Måske fordi:

  • Netværket er ikke dybt (antal hidden layers) eller bredt (antal knuder i hvert lag) nok.
  • Netværket har ikke trænet længe nok. Måske skal der 10000 træninger til. Det tager tid at gøre i Excel, så en del af svaret er at skifte til fx TensorFlow.
  • Data har været ret svære at opnå, bl.a. fordi afstandsmålingen ikke altid slår igennem på Q værdien. Derfor har jeg selv lavet nogle data.
  • Jeg har ikke data nok. Jeg har lavet en Q-værdi for hver state og action = 36*4=148, hvoraf de fleste er 10 (initialiserings-værdien). Dvs. der er rigtig mange ens Q-værdier.
  • Jeg har måske lavet en fejl i netværket 🙂
  • Data er ikke adskillelige, og netværket vil derfor aldrig komme til et stabilt sæt af w’er, fordi netværket ikke er dybt nok.
  • Learning rate er for stor eller lille. I et andet system, kunne den ændres fra stor (0,5) mod lille (0,001), efterhånden som summen af fejl mindskes.

Jeg har set en anbefaling på at bruge deep Q learning til at forfine bevægelser, frem for at prøve hele spektret af states og actions af.

Det kunne måske også være relevant at koble lagene sammen i et recurrent netværk, da grabbens bevægelser er i en tids-sekvens. Recurrent tilføjer netværket en form for hukommelse ligesom traditionel Q-learning.

Det har vist sig overordenlig svært, at finde det rette setup. TensorFlow eller PyTorch giver måske mulighed for at teste forskellige netværk og antal træninger, da der ikke ser ud til at være en metode til at forudsige en god tilgang. Pga. Excel har jeg måtte bruge det simplest mulige.

Hvordan skal vi så have en chance for at give eleverne indblik i maskinlæring, hvis feltet er så specialiseret og utilgængeligt?

Udgivet i Arduino, Digital Dannelse, Elektronik, Maker | Skriv en kommentar

Mål for 2017-18

Hvordan gik det med målene for 2016-17:

  • Arbejde med Mindset og blive mere erfaren mht. innovation og projektarbejde. Det fik jeg ikke gjort meget ved. Jeg var med i et At-forløb med innovation. Det var godt, men svært at få indpasset i stx’s læreplaner. Mindset ligger mere som en tanke i mig, end som en metode jeg bruger aktivt.
  • Undersøge om Coding Pirates giver mening for mig (os). Deltage som frivillig i Odense ihvertfald i en periode. Jeg besøgte coding pirates een gang, hvilket var meget inspirerende. Turen til Odense er dog ikke praktisk muligt på ugentlig basis. Til gengæld har vi lavet noget om robotter og micro:bit for børn i Svendborg af to omgange (vist 8 torsdage i alt).
  • Opsøge legekammerater i ML, CP og MS. Det er svært både for mig og andre, at få tid til at lege.
  • Bruge mindre tid på styresystemer og platforme -det er kedeligt legetøj. Det er lykkedes nogenlunde.
  • Kost og motion. Floorball i Ollerup? Kostomlægning? Det fik jeg ikke gjort.
  • Bruge passende tid på sociale medier, og lidt mere tid på at kigge ud i luften. I perioder. Men telefonen er svær at lægge væk.

Mål for 2017-18:

  • Arbejde videre med machine learning og kunstig intelligens.
  • Arbejde hen i mod at supplere til uv kompetence i informatik. Begynde kurser sommer 2018.
  • Lave flere forløb om robotter, programmering og ML.
  • Lave motion 30 minutter på ugentlig basis. Alene eller med andre.
  • Holde øje med mit timetal, så arbejde ikke fylder for meget.
  • Blive bedre til 3d printing.
  • Lave mere for børn om robotter, hvis der er overskud.
  • Kunne være sjovt, at prøve at lave et podcast.
Udgivet i planlægning | Skriv en kommentar

Sommerskole 2017

I modsætning til de forrige år, kom jeg hjem fra 2 dages sommerskole 2017 uden nyt legetøj :-(. Jeg er mere erfaren?

En stor tak herfra til Peter Eduard og Karin Høgh for planlægning og lån af udstyr, herunder Peters store LaserCutter. Og tak til Heine for lån af Bork Efterskole.

 

Mine takeaways:

Mice and Mystics. Samarbejds-brætspil for børn. Nok fra 10 år? Der er meget engelsk og mange regler.

Hackerkonference på Bornholm, som afholdes årligt. Vist nok fokus på IT sikkerhed. https://bornhack.dk/bornhack-2017/. Tip via Asbjørn.

Hummingbird, MCU til børn, som er nemmere at gå i gang med end Arduino. Farvekoder og mere plug-n-play. Findes også i en version med en Arduino på bagsiden. Hummingbird er nogle år gammel og koster ca 500 kr. vs. Arduino-kloner til 20 kr.

En billig begynder 3D printer. Virker out-of-the-box. Kassen er i plastik. https://printm3d.com/themicro/ 200 USD dvs. der kommer told og transport oveni. Printer emner på ca. 10x10x10 cm, hvilket er rigeligt i mange sammenhænge. Fik flere advarsler mod Sculpto. Tips via Mikkel fra TalentAkademiet i Sorø.

En anden billigere begynder 3D printer: Hobbyking: 3d printer: https://hobbyking.com/en_us/mini-fabrikator-v2-3d-printer-silver-eu-plug.html. Den skal samles selv, printer også ca. 10x10x10 cm, men koster lidt mindre (ca. 170 €). Kassen er i metal. Da sendes fra GB, er told vist mindre. Den er p.t. i restordre og har været det  siden marts. Tip via Tom fra CFU Sjælland.

Learn to mod https://www.learntomod.com/. Et tilkøb til MineCraft, som gør modding mere kreativt, men stadig nemmere end at skrive al koden selv. Til børn. Tip via Peter Leth fra LærIT.

Teenage engineering. Tip fra Mia. Programmerbar enhed, som vist er et programmerbart musikinstrument og en spilkonsol. En lille sjov microcontroller dedikeret til musik og spil. https://teenage.engineering/products/po

Et gennemgående samtaleemne var programmet Fusion 360 fra AutoDesk, som vist er en lidt mere tilgængelig udgave af tegneprogrammet Inventor (også fra AutoDesk). Det er gratis. Tegninger i 2D til Lasercutter laves som sketches. Ved tegning til 3D print kan tegningerne extruderes til 3d. Heine er en af mestrene. Hans YouTube-kanal: Autodesk Fusion 360 – Byg kasse med tapper (lasercut).

Mini LaserCutter

Jeg er meget misundelig på Heines mini Lasercutter til en 4-5000,- så vidt jeg husker. Den fylder ikke meget mere end en blækprinter og kan skære i emner på ca. A4 størrelse. Forhandles af www.eduard.dk.

Når man har tegnet noget i Fusion 360, som skal 3D printes, kan programmet Blender.org lægge yderligere teksturer på tegningen. Særligt til brætspils-props fx. musten, træ, døre og vinduer m.m. Elementer, som det vil tage laang tid at tegne fra bunden i Fusion. Dog har Blender en stejl læringskurve. Tip via Asbjørn.

Blev mindet om at Fable kan lånes gratis i 30 dage. Særligt er, at den kan styres via en dongle, som kan styre flere robotter samtidig. Desuden et Lego-modul, så den kan bygges sammen med.. Lego. Den adapter, som samler robottens led, kan købes for 30 kr. Dvs. den kan moddes meget billigt. Er alligevel forbeholden overfor det lidt lukkede system.

CNC-fræser

Danmarks måske største CNC-fræser blev luftet. Det er vist Peters.

Næste sommer er Bork Efterskole optaget af ombygning, så sommerskolen 2018 bliver formentlig i Vordingborg med Tom fra CFU Sjælland som koordinator.

Hjemmesiden er (vist) fortsat http://sommerskole.mrsnet.dk/

Udgivet i Elektronik, Maker | Skriv en kommentar

Maskinlæring med selvbalancerende robot

Lidt naivt har jeg forsøgt, at lave en selvbalancerende robot baseret på en gul DC-motor og en micro:bit. Bitten har en indbygget gyro-sensor, som kan måle om den er ved at vælte til den ene eller anden side.

Robotten kan ikke balancere selv, og jeg er derfor skiftet til Arduino, en ekstern gyro og er på vej mod at udskifte DC-motoren med to Stepper-motorer. Desuden skal motorerne sikkert have mindst en kapacitor for at give mere jævn spænding under start.

Stepper-motorer kan ligesom servoer dreje til præcise gradtal, og reagerer hurtigere end DC-motorer. Steppere er ikke begrænset til 180 grader, som servo-motorer er, men kan dreje flere omgange, hvorfor de anvendes i 3D printere og andre CNC maskiner.

Alligevel skal deres omdrejninger stabiliseres af et PID-system. Og det er sjovt.

PID kan betragtes som maskinlæring, om end det har været anvendt i mange år (ligesom nogle typer af maskinlæring). Kort fortalt går det ud fra at motorens hastighed reguleres som summen af tre led:

Proportionelt med en sensormåling. I dette tilfælde gyro’ens afvigelse i en dimension fra balance.

Integralet af afvigelse fra balance. Her akkumuleres fejl over en vis periode, så motoren yder mere jo større fejl, der registreres. Når systemet kommer mere i balance givet motorens større reaktion, bliver mindre fejl akkumuleret og integral-leddet bliver mindre. På den måde forsøges erfaringer inkorporeret i systemet.

Differentialet er differential-kvotienten af motorens hastighed. Når systemet går mod balance, vil motoren ofte have forholdsvis store omdrejninger, som dog er på vej nedad -de bliver mindre. Men de mindskes ikke hurtigt nok, hvorfor systemet ofte vil overskyde balancepunktet og svinge over i den modsatte side. Differentialet dæmper dette overskud en smule, så systemet nemme kan finde balance. På den måde forsøges fremtiden inkorporeret i systemet.

Dvs. systemet lærer delvist på baggrund af de data den opsamler, heraf maskinlæring, dog uden neurale netværk. Alligevel kan systemet være ret svært at stabilisere. En Arduino-kode kunne se ud noget i denne stil:

kilde: http://web.csulb.edu/~hill/ee444/Lectures/08_PID%20Control.pdf

Hvert led (P+I+D) er forsynet med en faktor (Kp, Ki og Kd), som skal indstilles til den rigtige værdi. Hver værdi kan som regel kun findes ved små justeringer (tuning). Her kunne maskinlæring også være en oplagt tilgang. Dog en udfordring, at efter hvert run, skal jeg bringe robotten i balance igen.

Må se om jeg får tid til at gå videre med systemet.

 

Udgivet i Arduino, Elektronik, Maker, Micro:bit | Skriv en kommentar

Alle indlæg

[post_grid id=”1715″]

Udgivet i Uncategorized | Skriv en kommentar

Puzzlebox med micro:bit

Escape-rooms er sjove at gennemføre (ikke at jeg har prøvet), men måske endnu sjovere at planlægge. Da jeg ikke kan lave et escaperoom hjemme, er et mere tilgængeligt alternativ en puzzlebox. Altså en box, som kun åbner, når der er løst en række gåder.

Micro:bit (µbit) har den fordel, at den har indbyggede sensorer, knapper og display, som gør den nem at komme i gang med. Vil man lave mere avancerede ting, kan de medfødte komponenter til gengæld begrænse friheden, med mindre man selv tilslutter komponenter.

Her en puzzlebox prototype baseret på micro:bit. Mine puzzles er målrettet børn, så de er ikke så svære, og man får (imo) tydelige hints via 5×5 displayet, idet µbitten stikker op gennem et hul i låget.

µbit er monteret i et breakout edge-connector board for at give adgang til flere pins. Det er dog ikke strengt nødvendigt. På den anden side skal µbitten sidde fast i noget. Nogle forbindelser/ledninger er desuden sikret med lim fra en limpistol.

Første puzzle (meget nem): Tryk på begge knapper samtidig. Hint: pile peger på knapperne.

Andet puzzle (middel?): Køl kassen ned til under 10 grader C. Bruger µbit’s indbyggede temperatur-sensor, som dog altid viser en temperatur ca. 3 grader over den egentlige rumtemperatur, givet processorens varmeudvikling. Hint: display viser teksten “cool”. Man kan gøre det sværere ved at skrive teksten i morse-kode.

Tredje puzzle (svær): Der er to ledninger, som stikker ud af kassen, og 10 skruer. Ledningerne skal forbindes til skrue nr. 2 og 5. Desuden skal en on/off switch være tændt. Derved kommer der 3V til pin1. Hint: Display viser “5  2”.

Løsning af de tre puzzles, trigger en servo på pin0, som åbner boxen i 10 sekunder. Derefter låser den igen, og de tre puzzles skal løses forfra. Det hele får strøm fra en 5V powerbank.

Puzzle 3 er ikke en særlig elegant løsning, og vil gerne lave en løsning a la Makey Makey, hvor man blot skal berøre skruerne. Jeg har ikke haft tid til at forsøge med hvilken modstand, der er passende til µbitens 3V i stedet for 5V.

kilde: efter https://www.bigmessowires.com/2016/08/19/fruit-electronics-piano/

Der er mange andre puzzles, som børnene måske kan være med til at designe: Bruge accelerometeret, kompas, morse (som sagt), lys. Begrave µbit i boxen, så den fremstår mere ren. Boxen kan skæres på lasercutter.

kode m.m.:

Udgivet i Elektronik, Maker, Micro:bit | Tagget , | Skriv en kommentar