JOHDATUS TEKOÄLYYN TEEMU ROOS

Samankaltaiset tiedostot
JOHDATUS TEKOÄLYYN TEEMU ROOS

Äänellä vauhtia robottiin

TIEA343 - Robottiohjelmointi 2011

lejos-ohjelmointi Robottiohjelmoinnin harjoitustyö, kevät 2013

JOHDATUS TEKOÄLYYN TEEMU ROOS

Johdatus tekoälyyn (T. Roos) Kurssikoe

4. Luokan testaus ja käyttö olion kautta 4.1

Lego Mindstorms NXT. OPH oppimisympäristöjen kehittämishanke (C) 2012 Oppimiskeskus Innokas! All Rights Reserved 1

SUMO-ROBOTTI. Tehtävä

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

Antitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

BL40A1810 Mikroprosessorit, harjoitus 1

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

NXT Infrapuna-sensori

JOHDATUS TEKOÄLYYN TEEMU ROOS

lejos-asennusohje Robottiohjelmoinnin harjoitustyö Kevät 2011

a. (2 p) Selitä Turingin koe. (Huom. ei Turingin kone.) Minkälainen tekoäly on saavutettu, kun Turingin koe ratkaistaan?

Ohjelmointi Lego Mindstorms EV3- ympäristössä

Lego NXT Mindstorms -ristinollarobotti

5. HelloWorld-ohjelma 5.1

8. Näppäimistöltä lukeminen 8.1

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Mikä yhteyssuhde on?

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

8. Näppäimistöltä lukeminen 8.1

11. Javan valintarakenteet 11.1

public static void main (String [] args)

Javan perusteita. Janne Käki

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

11. Javan valintarakenteet 11.1

Java-kielen perusteet

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Ohjelmointi 2 / 2010 Välikoe / 26.3

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

7. Näytölle tulostaminen 7.1

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3

Metodien tekeminen Javalla

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

Rajapinta (interface)

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Java-kielen perusteita

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

1 Tehtävän kuvaus ja analysointi

Luokat ja oliot. Ville Sundberg

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

9. Periytyminen Javassa 9.1

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Olio-ohjelmointi Javalla

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

13. Loogiset operaatiot 13.1

Robottikerhon suunnitelma syksylle 2015

Sisällys. 15. Lohkot. Lohkot. Lohkot

20. Javan omat luokat 20.1

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä

Lego Mindstorms NXT robottien etenemissuunnitelma

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

9. Periytyminen Javassa 9.1

Tietorakenteet, laskuharjoitus 7,

Jypelin käyttöohjeet» Ruutukentän luominen

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

Pakkauksen kokoaminen

16. Javan omat luokat 16.1

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

1. NXT:STÄ YLEISESTI NXT -ohjelmointiympäristö COMMON BLOCKS... 7

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

11. Javan toistorakenteet 11.1

14. Poikkeukset 14.1

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

5. HelloWorld-ohjelma 5.1

17. Javan omat luokat 17.1

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

Ohjelmointileirin järjestäminen

Robottiohjelmointi Kevät 2013

15. Ohjelmoinnin tekniikkaa 15.1

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

HP ProBook 430 G5 kannettavien käyttöönotto

Arkipäivän automaatiota ja robotiikkaa

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Taulukoiden käsittely Javalla

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

1. Olio-ohjelmointi 1.1

Eye Pal Solo. Käyttöohje

Ohjelmointi 1 / syksy /20: IDE

Interaktiivinen tarinankerronta

Ohjelmointi 2, välikoe

Mitä ovat yhteistyörobotit. Yhteistyörobotit ovat uusia työkavereita, robotteja jotka on tehty työskentelemään yhdessä ihmisten kanssa.

Julkinen loppuraportti Simua Startupin nopea kokeilu Oulun Ritaharjun koulussa

13. Loogiset operaatiot 13.1

Transkriptio:

JOHDATUS TEKOÄLYYN TEEMU ROOS

ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET:

ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: AKTUAATTORIT: + LIIKE (TARKKUUS, KONTROLLI) SENSORIT: + KUVA & ÄÄNI + TUNTO (FEEDBACK LOOP) + TASAPAINO + LIIKKEEN- TUNNISTUS + MAKU & HAJU? AIVOT : + KONENÄKÖ + KUULO (PUHEEN- TUNNISTUS) + PUHE + LUONNOLLISEN KIELEN KÄSITT. + TIEDONHAKU + PÄÄTTELY (LOGIIKKA, TOD.NÄK.) + KONEOPPIMINEN + ETSINTÄ + PELIT + TUNTEET

ROBOTIIKKA KULTTUURISSA PALJON KÄSITELTY: HYVÄT ROBOTIT: PELTIMIES (TIK-TOK), IHMEMAA OZ WALL-E DATA, STAR TREK PAHAT (TAI IKÄVÄT ) ROBOTIT: KAREL ČAPEK (1923): ROBOT TERMINAATTORI (OSASSA 1) ROY, BLADE RUNNER YLEENSÄ HYVIN KAUKANA NYKYISISTÄ ROBOTEISTA

ROBOCUP

BOSTON DYNAMICS

ACM-R5

KOSKETUSSENSORI(T?) LEGO MINDSTORMS 3 MOOTTORIA ÄÄNISENSORI KESKUSYKSIKKÖ VALOSENSORI ULTRAÄÄNI- SENSORI

LEJOS lejos NXJ: KÄYTTÖJÄRJESTELMÄ, JOTA VOI AJAA LEGO MINDSTORMS -KESKUSYKSIKÖLLÄ KÄYTTÄÄ JAVAA TUUNATTU JAVA VIRTUAALIKONE TÄRKEIMMÄT TYÖKALUT (MAC/LINUX/WINDOWS): * JAVA-KÄÄNTÄJÄ * OHJELMAN SIIRTO ROBOTILLE USB- TAI BLUETOOTH-YHTEYDEN KAUTTA HYVIN DOKUMENTOITU RAJAPINTA (API) MOOTTORIEN JA SENSOREIDEN OHJAAMISEEN

LEJOS VOI INTEGROIDA ECLIPSEEN: * OHJELMAN KIRJOITUS * KÄÄNTÄMINEN * SIIRTÄMINEN ROBOTILLE LAITOKSELLA VIRITELTY VALMIS USB-TIKULTA BOOTATTAVA YMPÄRISTÖ, JOSSA ECLIPSE JA KAIKKI MUU

LEJOS OHJELMOINTI KUTEN NORMAALIA JAVAA: public class RobotTest { public static void main (String[] args) { System.out.println("Hei mualima."); } } KÄÄNTÄMISEN JÄLKEEN SIIRRETÄÄN ROBOTILLE JA KÄYNNISTETÄÄN ROBOTIN VALIKOSTA OIKEA OHJELMA ROBOTTI SAMMUTETAAN PAINAMALLA ENTER- JA ESCAPE- NAPPEJA (ORANSSI JA TUMMANHARMAA)

MOOTTORIT 3 MOOTTORIA, KYTKETÄÄN 3 MOOTTORIPORTTIIN: STAATTISET OLIOT Motor.A, Motor.B, Motor.C (API:N LUOKKA NXTRegulatedMotor) Motor.A.setSpeed(400); Motor.A.forward(); Motor.A.stop(); Motor.A.backward(); Motor.A.rotate(45); // aseta nopeus // alkaa liikkua // pysähtyy // alkaa liikkua taakse // kiertyy 45 astetta

PILOTTI KORKEAMMAN TASON RAJAPINTA AJONEUVOILLE API:N LUOKKA DifferentialPilot TIEDETTÄVÄ RENKAIDEN HALKAISIJA TUUMINA (wd) JA AKSELIVÄLI (ad): DifferentialPilot pilot = new DifferentialPilot(wD,aD,Motor.A,Motor.B); pilot.travel(50); pilot.rotate(-90); // ajaa 50 cm eteenpäin // kääntyy 90 vastapäiv.

KOSKETUSSENSORI PALAUTTAA TIEDON SIITÄ, ONKO SENSORIA PAINETTU API:N LUOKKA TouchSensor TouchSensor touch = new TouchSensor(SensorPort.S1); touch.ispressed() // true jos painettu

VALOSENSORI ANTAA VALOISUUSLUKEMAN API:N LUOKKA LightSensor LightSensor light = new LightSensor(SensorPort.S2); int l = light.readvalue() // 0-100 HUOM: VALOISUUS RIIPPUU HUONEEN VALAISTUKSESTA JOTEN OIKEA ARVO VAIKEA TIETÄÄ SENSORIN VOI KALIBROIDA (KS API), MUTTA HELPOINTA LIENEE PRINTATA ARVOJA RUUDULLE JA SÄÄTÄÄ KOODIA

ULTRAÄÄNISENSORI ANTAA ETÄISYYSLUKEMAN LÄHIMPÄÄN EDESSÄ OLEVAAN ESTEESEEN API:N LUOKKA UltraSonicSensor UltraSonicSensor sonic = new UltraSonicSensor(SensorPort.S3); int d = sonic.getdistance() // 0-255 (cm) TOIMII PARHAITEN KOVILLA, TASAISILLA ESTEILLÄ MUUTAMAN SENTIN TARKKUUS, MAX 200 CM ARVO 255 TARKOITTAA, ETTÄ EI HAVAITTU ESTETTÄ

LASKUHARJOITUKSISTA LASKUHARJOITUKSET: * TEHTÄVÄT PITÄÄ RATKAISTA KOTONA * MUTTA ILMAN ROBOTTIA EI VOI TESTATA! * LASKUHARJOITUKSISSA VALMIIT AJONEUVOT RAKENNETTU * SENSORIT ASENNETTU * VAIKKA TEHTÄVÄT SOPIVAN HELPPOJA, HANKALUUS TULEE ROBOTIIKAN VAIKEUDESTA (SENSORIT, LIIKKUMINEN, ) JA SIITÄ, ETTEI VOI TESTATA