Simpel maskinelæring med mindstorms


#1

Hej kaptajner og pirater!

Jeg vil høre, om nogle af jer har forsøgt jer med simpel maskinelæring på robotter? Dvs. at få robotter til at lære sig selv at udføre en simpel opgave.

Jeg har forsøgt mig lidt med dét som kaldes for “Q-learning” på lego mindstorms, idet jeg har benyttet programmeringssproget “Small basic”. Small basic kan kobles direkte på lego mindstorms med blue tooth via et modul til Small basic kaldet EV3-basic.EV3-basic indeholder alle de relevante funktioner til at styre mindstorms motorer og modtage sensorinput fra robottens sensorer. Dvs. man kan udarbejde et komplet program til robotten og efterfølgende sende sit program i Small basic direkte til robotten via blue tooth.

Vedhæftet er et lille program som, får en simpel mindstorms-robotopstilling til at lære at hamre på en tryksensor. Robotten får en belønning hver gang den hamrer tryksensoren ned. Hvis den ikke hamrer den ned, så får den ikke nogen belønning. Hvis den har hamret tryksensoren ned, så skal den slippe tryksensoren, førend den igen kan få en belønning.
Følgende link Mindstorms simpel maskinelæring viser hvordan robotten fra først at forsøge sig lidt med nogle forskellige valg får mere og mere styr på, hvor den skal fokusere sin indsats, så den får så mange
belønninger som muligt.

Jeg kendte ikke til Small basic før og synes da også være støt på en række begrænsninger (f. eks. ikke muligt at oprette funktioner med lokale variable) i sproget, hvis man virkelig skal
ud i avanceret kodning.

Men når det så er sagt, så mener jeg at Small basic kan være en glimrende indgang til den tekstbaserede programmering af f. eks. lego mndstorms robotter, fordi det er direkte “plug and play” med lego mindstorms
Small basic’s teksteditor giver desuden automatisk rigtig meget hjælp i kodningen.

Jeg hører meget gerne hvis nogen har leget lidt med, eller ønsker at arbejde med, maskinelæring på lego mindstorms og gerne hvis Small basic er blevet benyttet.

Hvis nogen har nogle gode ideer til fysiske lego mindstorms opstillinger til maskinelæringsproblemer, så hører jeg det meget gerne. I princippet vil vedhæftede kode kunne benyttes til en lang række simple maskinelæringsproblemer

Mvh/Johan

Frivillig i CP i Vordingborg

mindstorm_qlearning_hammer.sb (6.8 KB)