JOHDATUS TEKOÄLYYN TEEMU ROOS

Samankaltaiset tiedostot
JOHDATUS TEKOÄLYYN TEEMU ROOS

Äänellä vauhtia robottiin

Johdatus tekoälyyn (T. Roos) Kurssikoe

SUMO-ROBOTTI. Tehtävä

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

TIEA343 - Robottiohjelmointi 2011

lejos-ohjelmointi Robottiohjelmoinnin harjoitustyö, kevät 2013

BL40A1810 Mikroprosessorit, harjoitus 1

JOHDATUS TEKOÄLYYN TEEMU ROOS

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

NXT Infrapuna-sensori

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

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

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

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Ohjelmointi Lego Mindstorms EV3- ympäristössä

Lego NXT Mindstorms -ristinollarobotti

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

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

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

lejos-asennusohje Robottiohjelmoinnin harjoitustyö Kevät 2011

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

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

Mikä yhteyssuhde on?

public static void main (String [] args)

11. Javan valintarakenteet 11.1

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

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

11. Javan valintarakenteet 11.1

5. HelloWorld-ohjelma 5.1

Robottikerhon suunnitelma syksylle 2015

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Luokat ja oliot. Ville Sundberg

7. Näytölle tulostaminen 7.1

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

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

Arkipäivän automaatiota ja robotiikkaa

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

Metodien tekeminen Javalla

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

Jypelin käyttöohjeet» Ruutukentän luominen

Java-kielen perusteet

Javan perusteita. Janne Käki

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

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

Rajapinta (interface)

Ohjelmointi 2 / 2010 Välikoe / 26.3

Eye Pal Solo. Käyttöohje

1 Tehtävän kuvaus ja analysointi

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Lego Mindstorms NXT robottien etenemissuunnitelma

14. Poikkeukset 14.1

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

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

Olio-ohjelmointi Javalla

5. HelloWorld-ohjelma 5.1

13. Loogiset operaatiot 13.1

20. Javan omat luokat 20.1

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

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

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

Tietorakenteet, laskuharjoitus 7,

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

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

Pakkauksen kokoaminen

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

Java-kielen perusteita

11. Javan toistorakenteet 11.1

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

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

17. Javan omat luokat 17.1

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

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

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

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

Julkinen loppuraportti Simua Startupin nopea kokeilu Oulun Ritaharjun koulussa

Robottiohjelmointi Kevät 2013

JOHDATUS TEKOÄLYYN TEEMU ROOS

Taulukoiden käsittely Javalla

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

16. Javan omat luokat 16.1

Sisällys. 15. Lohkot. Lohkot. Lohkot

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

5 Näppäimistö. 5.1 Näppäimistön eventit

1. Olio-ohjelmointi 1.1

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

Ohjelmistotekniikan menetelmät, koe

Legoajoneuvon ohjelmistorakenne ja ohjaussovellus

Interaktiivinen tarinankerronta

ITKP102 Ohjelmointi 1 (6 op)

13. Loogiset operaatiot 13.1

14. Poikkeukset 14.1

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

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: AIVOT : + KONENÄKÖ + KUULO (PUHEEN- TUNNISTUS) + PUHE + LUONNOLLISEN KIELEN KÄSITT. + TIEDONHAKU + PÄÄTTELY (LOGIIKKA, TOD.NÄK.) + KONEOPPIMINEN + ETSINTÄ + PELIT + TUNTEET

ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: AKTUAATTORIT: + LIIKE (TARKKUUS, KONTROLLI) AIVOT : + KONENÄKÖ + KUULO (PUHEEN- TUNNISTUS) + PUHE + LUONNOLLISEN KIELEN KÄSITT. + TIEDONHAKU + PÄÄTTELY (LOGIIKKA, TOD.NÄK.) + KONEOPPIMINEN + ETSINTÄ + PELIT + TUNTEET

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

BIG DOG

ACM-R5

LEGO MINDSTORMS

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

LEGO MINDSTORMS TRIBOT: * 2 MOOTTORIA OHJAA PYÖRIÄ * 1 MOOTTORI KYTKETTY KOURIIN * UÄ-SENSORI JA KOSKETUS ETEENPÄIN * VALO EDESSÄ ALAS (LATTIAAN )

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 // kääntyy 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Ä

PAJA LEGOILLA LEIKKIMISTÄ : * VALMIIT AJONEUVOT RAKENNETTU * SENSORIT ASENNETTU * TEHTÄVÄT SOPIVAN HELPPOJA, MUTTA HANKALUUS TULEE ROBOTIIKAN VAIKEUDESTA (SENSORIT, LIIKKUMINEN,...) LASKUHARJOITUSRYHMISSÄ PAJAMEININKI: * MAX 8 OPISKELIJAA PAIKALLA * JOKAISELLE OMA MINILÄPPÄRI+ROBOTTI * HENKILÖKOHTAISTA OHJAUSTA ILMOITTAUDU HETI SINULLE SOPIVAAN RYHMÄÄN LASKUHARJOITUSTEHTÄVÄ 1 (SURF) PALAUTETAAN PDF:NÄ SÄHKÖPOSTITSE PAJATEHTÄVISTÄ PISTEET KÄYNNIN YHTEYDESSÄ EI NORMAALEJA LASKARIRYHMIÄ EIKÄ TORSTAIN LUENTOA!