0

FLL 2011

by Ramses Sepp 6. juuni 2011 01:31

Tere, minul oli 2-4 juuni First Lego League võistlus mis on robootika teisisõnu robootika võistlus.

Me hakkasime selleks ette valmistuma 6 nädalat tagasi kuigi muidu hakatakse selleks ette valmistuma septembris. Me sõitsime välja 31. mail varahommikul. Ma ärkasin 4:45 ja me hakkasime sõitma umbes 5:30. Me sõitsime Tartusse ja sealt võtsime ülejäänud tiimi peale ning sõitsime edasi. Sõit oli pikk ja bussis oli palav ning kitsas. Enamus ajast ma lugesin raamatut või kuulasin mp3-e reisist pole eriti midagi rääkida kuna sellest ei ole eriti häid mälestusi välja arvatud see kui meil oli 2 gps-i kuna neil oli täpselt sama hääl millega nad rääkisid ja see oli päris tobe näiteks sõida ringteele sõida ringteele ja välju teine teel ja välju teine teel jne. Kui me lõpuks kohale jõudsime oli 1. juuni ja meil oli 30 tundi autosõitu kui peatusi ka arvestada. Me olime esimesed kes kohale jõudsid nii et me seadsime oma telgi kõige paremasse kohta. Koht kuhu me panime oli üsna värava lähedal kuid see oli ka kahe posti juures kuhu me panime oma Eesti lipu üles. Ülejäänud päeva me puhkasime välja arvatud see osa kui me käisime ujumas ja lõunat söömas. Järgmisel päeval kui me ärkasime läksime sööma (meile ise pakuti süüa korraldajate poolt) ja söögiks oli leib, nussa, moos, juust, või ja maapähklivõi. Peale söömist me läksime teaduskeskusesse sealt tulles me panime enda tiimi särgid selga ja läksime registreerima. Kui olime registreerinud läksime oma laua juurde ja sättisime end valmis. Sellel päeval eriti midagi ei toimunud peale selle et käisime oma robotit paar korda testimas ja mõndade  tiimidega tutvumine. Lõunaks toodi meile juustusai, singisai ja veel midagi ma päris täpselt ei mäleta. Õhtusöök toimus meil nii et me pidime minema kell 18:30 sööma kuid meie testimise aeg lõppes kell 18:40 nii et siis me tegime nii et lõpetasime testimise ja läksime esimese ettejuhtuva tiimiga kaasa kes läks sööma. Õhtusöögiks oli makaronid ja hakklihakaste. Meie treenerid ehk Sven, Heilo ja mu isa läksid koosolekule. Laagris hakkasid Tartu poisid arvutis mängima nad mängisid ühte sõja mängu. Ma eriti ei mäletagi mis see oli kuid see oli päris lahe. Vahepeal kui Simmo enam eriti ei viitsinud mängida küsis ta et kes viitsib ja mina kohe vastasin et mina viitsin. Simmo andiski mulle arvuti kuid muutis nime ära et see oli siis liha ja sealt tuleb ka mu uus hüüdnimi. Lõpuks umbes kell 23:30 läksime magama.

Järgmisel päeval me ärkasime umbes kell 8 hommikul. Söök oli täpselt sama mis eelmisel päeval. Peale söömist me läksime uuesti oma laua juurde. Seal ma harjutasin edasi ruubiku kuubiku kokku panekut. Sellel päeval ma vaatasin edasi erinevate tiimide laudu ja nende väljapandud asju mida saaks tuua koju suveniiridena ja ka selleks et nendega sõbraks saada. Meil oli ka projekti esitlus ja Tiimi esitlus samal päeval. Kuid tiimi esitlus ei tulnud päris hästi välja ütleme et see tuli pigem naljakalt. Me vastasime küsimustele väga tuimalt ja surmtõsiselt ja väga lihtsate vastustega: “yes” “no” ja kui küsiti kuidas me tunneme siin ennast siis vastasime: “excited” kas te olete sõpru ka teinud?: “Turkey, Spain, Japan”. Siis oli seal ka selline ülesanne me pidime köie pulkadest tegema mingi ehitise ja selle juures ei tohtinud rääkida. Kuid meie arust see andiski juurde kuna kui me oleksime tohtinud rääkida oleks me hakanud kindlasti vaidlema. Projekti esitluse ma tegin väga hästi ära. Ma rääkisin kõik ilusti ära kuigi läks natuke sassi vahepeal. küsimustele vastasin ka väga korralikult ära mis nad küsisid. Sellel päeval toodi meile ka kottidega lõunasöök kus oli juustu sai, singi sai, õun, õuna paki mahl ja mingi magus sai. Meil toimus ka 2 esimest võistlust. Esimene läks paremini kui teine: esimesel me saime 240 punkti ja teisel 180 kui ma õigesti mäletan. Sellel päeval me läksime kõik üheksakesi sööma. sellel korral oli lihakaste ja makaronid. Mina ja Jaan läksime veel dušši alt läbi ja siis läksime laagrisse tagasi. Magama läksime ka päris hilja mingi 23:30 jälle.

Viimane päev pandi meile hommikusöök eraldi lauda. Seda oleks ka tehtud reedel kuid siis me lihtsalt läksime liiga vara sööma. Sellel päeval oli meil veel roboti esitlus ja viimane võistlus. Roboti esitlus läks hästi ja võistlus ka päris hästi. Esitlusel näitasid Rimmo ja Martin robotit ning Simmo ja Gromet programmi. Kui kohtunik või see küsis mitu mootorit oli vastas Rimmo et kolm on. Siis küsis kohtunik mille jaoks ja peale seda võttis Rimmo roboti kätte ja näitas mootorite peale: 1, 2, 3. Kui keegi naljast aru ei saa on “neli” ja “mille jaoks?” väga sarnased: four ja for? ja hääldus ka umbes sama nii et Rimmo sai aru et kohtunik küsis et neli mootorit mitte mille jaoks. Võistlus oli meil kõige parem kolmest. Me saime 310 punkti mis oli meil kõige rohkem. Sellel korral oli jälle lõunaks paberkotid mille sees juustu ja singi sai ning õun, mingi küpsis ja mahl. Sellel ajal kui me lõunat sõime panime ka asjad kokku ning autosse. Siis vaatasime finaali ära milleks oli kõigepealt nii: 4 tiimi. nende mõlema 1v1 võitja võitles võitjaga ja see kes võitis see võitiski finaali nagu arvata võiski. Lõpuks tuli ka autasustamine. Autasustamine kestis poolteist tundi ja lõpus oli mul jumala palav. FLL-i võitis Saksamaa. Peale seda me läksime auto peale ja hakkasime kodu poole sõitma.

Koju jõudsime umbes 23:45. Siis rääkisime FLList ja siis ma kirjutasin natuke seda juttu siin ja läksin magama.

Meie robot sai koha 24 ja kokku oli gruppe 67 kui arvestada sinna juurde ka esitlusi saime me koha 51.

Tags:

0

Robotid kolmas osa

by Ramses Sepp 16. jaanuar 2011 17:19

Noh mida siin veel rääkida peale selle, et mis robotid ma seekord tegin.

Seekord ma tegin “Explorer” robotid ehk “Maadeavastajad”. Ühe Exploreri tegin ainult kinni oleva sonariga ehk kaugus anduriga. Peale seda ma tegin ainult puuteanduriga. Kolmanda ma tegin mootoriga sonariga ja viimase tegin mootoriga sonariga ja puuteanduriga.
Esimese programm nägi välja selline:

task main(){
/*
DIRECTION muutuja abil määratakse kas robot
sõidab edasi või tagasi
DIRECTION = true: sõidab tagasi
DIRECTION = false: sõidab edasi
KAUGUS muutuja abil määrab robot kas peab 
tagasi sõitma
RAND muutuja abil määrab robot kas ta sõidab 
paremale või vasakule
*/
SetSensorLowspeed(S4);
bool DIRECTION;
int KAUGUS = 38;
int RAND;
while (true){
  if (SensorUS(S4) < KAUGUS){ //Kui robot näeb seina lähedamal
 kui 38 cm siis ta sõidab tagasi
    DIRECTION = true;
    if (DIRECTION){
      RAND = Random(2);
      switch (RAND)
      {
        case 0:               //Robot sõidab paremale
        RotateMotorEx(OUT_BC, 100, 332, -50, TRUE, TRUE);
        break;
        case 1:               //Robot sõidab vasakule
        RotateMotorEx(OUT_BC, 100, 332, 50, TRUE, TRUE);
        break;
        }
      }
    }
  else {
    DIRECTION = false;        //Muidu sõidab robot edasi
    OnRevSync(OUT_BC, 100, 0);
  }
}
}

 

Selle programmiga eriliselt raskusi e tulnud kuna ma sain abi oma ühest eelmisest programmist.

Nüüd tuleb siis teise roboti programm ehk ainult lülitiga:

task main(){
/*
muutuja DIRECTION määrab kas robot sõidab 
edasi või tagasi
muutuja RAND määrab suvaliselt kas robot 
pöörab tagurdades paremale või vasakule
*/
SetSensorTouch(S1);
bool DIRECTION;
int RAND;
while(true){
  if (Sensor(S1)== 1){
    DIRECTION = true;
    if(DIRECTION){
      RAND = Random(2);            //määratakse kummale poole 
sõidetakse kui tagurdatakse.
      switch (RAND)
      {
        case 0:                   //robot pöörab vasakule
        RotateMotorEx(OUT_BC, 100, 332, -50, TRUE, TRUE);
        break;
        case 1:                   //robot pöörab paremale
        RotateMotorEx(OUT_BC, 100, 332, 50, TRUE, TRUE);
        break;
        }
    }
  }
else {
     DIRECTION = false;           //robot sõidab edasi
     OnRevSync(OUT_BC, 100, 0);
     }
}
}

 

Selle programmiga mul ka erilisi raskusi ei tekkinud kuna jällegi sai kasutada eelneva programmi abi.
Minu kolmas programm oli siis pöörleva sonariga:

task main(){
SetSensorLowspeed(S4);
int VASAK; Selle muutujaga salvestan vasakule poole vaatamise kauguse
int PAREM; Selle muutujaga salvestan paremale poole vaatamise kauguse
while(true){
  if(SensorUS(S4) < 38){
  Off(OUT_BC);
    RotateMotor(OUT_A, 50, 90); robot vaatab vasakule
    VASAK = SensorUS(S4);
    RotateMotor(OUT_A, 50, -180); robot vaatab paremale
    PAREM = SensorUS(S4);
    RotateMotor(OUT_A, 50, 90); robot läheb omale kohale tagasi
    if(VASAK < PAREM){ kui vasakule vaatamise kaugus on väiksem kui 
paremale siis läheb robot paremale
      RotateMotorEx(OUT_BC, 50, -332, 50, TRUE, TRUE);
      }
    else{ kui vasak on suurem kui parem siis vasakule
      RotateMotorEx(OUT_BC, 50, -332, -50, TRUE, TRUE);
      }
    }
else{ muidu sõidab robot lihtsalt edasi
  OnRevSync(OUT_BC, 100, 0);
  }
}
}

 

Selle programmiga tekkisid mõned raskused näiteks kuidas salvestada sonari praegust näitu muutujasse.

Nüüd tuleb viimane programm mis ma tegin ehk liikuva sonari ja puuteanduriga see on umbes sama mis ainult liikuva sonariga ainult mõndades kohtades on lisatud juurde:

task main(){
SetSensorLowspeed(S4);
SetSensorTouch(S1);
int VASAK;
int PAREM;
while(true){
  if(SensorUS(S4) < 38 || Sensor(S1) == 1){
  Off(OUT_BC);
      if(Sensor(S1)==1){
        RotateMotor(OUT_BC, 50, 360);
      }
        RotateMotor(OUT_A, 50, 90);
        VASAK = SensorUS(S4);
        RotateMotor(OUT_A, 50, -180);
        PAREM = SensorUS(S4);
        RotateMotor(OUT_A, 50, 90);
        if(VASAK < PAREM){
          RotateMotorEx(OUT_BC, 50, -332, 50, TRUE, TRUE);
      }
      else{
        RotateMotorEx(OUT_BC, 50, -332, -50, TRUE, TRUE);
      }
    }
    else{
      OnRevSync(OUT_BC, 100, 0);
    }
}
}

 

Selle programmiga erilisi raskusi ei tekkinud ja sellele programmile ma filmisin ka video juurde:

Tags:

0

Robotid 2 osa jätk

by Ramses Sepp 15. jaanuar 2011 16:13

Nüüd ma kirjutan sama päeva roboteid edasi.

Täna ma tegin veel kaugus, värvi, valgus ja puute anduri lugemis ehk nende numbrite mis neil seal on kuvamis testi. Need numbrid mis saavad sealt tulla kuvasin ma ekraanile ja sealt siis lugesin.

Kaugus anduri kuvamis test:

task main(){
SetSensorLowspeed(S2);
while(true){
NumOut(50, LCD_LINE3, SensorHTColorNum(S2));
Wait(500);
ClearScreen();
}
}

SetSensorLowspeed(S2); defineerin kaugus anduri
NumOut(50, LCD_LINE3, SensorHTColorNum(S2)); kirjutan ekraanile kaugus anduri kauguse sellest asjast mida kaugus andur praegu näeb kõige lähedamal.
Wait(500); ClearScreen(); Ootamine selles et jõuaksin lugeda numbrit ja ClearScreen, et ekraanilt kustuks eelmine number ja oleks parem lugeda.
Valgus anduril tegin ma SetSensorLowspeedi asemel SetSensorLight värvi anduril oli sama ja puute anduril tegin SetSensorTouch. Viimane ning kõige pikem ja raskem oli robot mis läheb siis käima kui kahte puuteandurit korraga vajutada ja siis kui on vajutatud läheb parema nupuga paremale vasaku nupuga vasakule ja kui uuesti vajutada kahte korraga jääb seisma:

task main(){
bool Bumped2Buttons;
//defineerin nuppude vajutuseks muutuja
SetSensorTouch(S1);
SetSensorTouch(S2);
while(true){
  Bumped2Buttons = FALSE;
  //algväärtustan muutuja et teine tsükkel käivituks
  Wait(500);
  //Robot ootab pool sekundit et robot jääks seisma
  until(Sensor(S1)== 1);
  until(Sensor(S2)== 1);
  until(Sensor(S1)== 0);
  until(Sensor(S2)== 0);
  //vajutan mõlemat sensorit ja lasen lahti samal ajal et 
robot hakkaks sõitma
  while(!Bumped2Buttons){
    if (Sensor(S1)== 1){
       OnRevSync(OUT_BC, 50, -10);
       //Robot keerab kergelt paremale
    }
    else if(Sensor(S2)== 1){
       OnRevSync(OUT_BC, 50, 10);
       //Robot keerab kergelt vasakule
    }
    else{
       OnRev(OUT_BC, 50);
    }
    if(Sensor(S1)== 1 && Sensor(S2)== 1){

//Robot jääb siis seisma kui on vajutatud kahte nuppu korraga Bumped2Buttons = TRUE;

    }

  }
 

Off(OUT_BC);

}

}

Meil tekkis selle programmiga igasuguseid probleeme. Üks oli näiteks see, et kui ma vajutasin kahte nuppu korraga siis jäi robot alles siis seisma kui nupud olid all ehk kui ma oleksin tahtnud, et robot jääks seisma siis kui ma olen vajutanud nupud alla ja lahti lasknud siis ma oleksin pidanud olema väga kiire. Kui mu isa mõtles et see peab ootama enne kui see lahti laseb siis mulle kohe turgatas et me peaksime selle Waiti sinna panema. Tegime ära ja töötas väga hästi.
Kui meil veel seal alguses alguses ei olnud algväärtustamist vaid oli kohe muutuja juures siis ei jäänud see seisma. Mu isa sai kohe aru milles probleem kuid mina pidin natuke mõtlema ja alles siis turgatas mullegi pähe.

Tags:

0

Robotid: teine blogi osa

by Ramses Sepp 14. jaanuar 2011 22:21

Niisiis teine päev mil teen blogi ja kirjutan siis mis ma täna tegin.

Täna ma tegin roboti mis liigub või jääb seisma puuteanduri vajutuse peale ehk vajutan nuppu siis robot kas sõidab edasi või jääb seisma.
Programm kus robot liigub edasi nupu vajutuse peale:
task main(){
SetSensorTouch(S1);   //defineerin puute sensori
while (true){   //lõpmatu tsükkel
if(
Sensor(S1)== 1){     //if else tsükkel ehk kui sensor 1 = 1 siis läheb if-i peale ja kui ei siis else-i peale
OnRev(OUT_BC, 100);    //Robot sõidab senikaua edasi kuni ma hoian nuppu all
}
else{    //if else tsükli else pool kui ei hoia nuppu all
Off(OUT_BC);    //kui ma ei hoia nuppu all Robot seisab
}
}
}

Teine asi mis ma täna tegin oli siis see kui ma tegin nupu vajutuse peale seisma jäämise. See on sama mis esimene programm ainult et if(Sensor(S1)== 1){ oli hoopiski: if(Sensor(S1)== 0){.

Kolmas ja viimane asi mis mu isa mul täna teha laskis oli Robot mis sõitis siis edasi kui vajutad ühe korra nuppu ja siis jäi seisma kui teist korda nuppu vajutada. Programm ise nägi väja selline:
task main(){
SetSensorTouch(S1);    //defineerin puute sensori
while(true){   //lõpmatu tsükkel
until(
Sensor(S1)== 1);     //ootab nupule vajutamist
until(
Sensor(S1)== 0);     //ootab nupu lahti laskmist
OnRev(OUT_BC, 100);     //sõidab maksimum kiirusel edasi
until(
Sensor(S1)== 1);     //ootab nupule vajutamist
until(
Sensor(S1)== 0);     //ootab nupu lahti laskmist
Off(OUT_BC

);     //mõlemad mootorid seiskuvad
}
}

Tags:

0

Robotid: eelmise sisestuse järgnev osa

by Ramses Sepp 14. jaanuar 2011 22:04

Ma jätkan nüüd seda sisestust mis ma eelmine kord pooleli jätsin.
Kolmas ja viimane ülesanne mille mu isa mu andis oli viisnurga sõitmine selle programm näeb välja selline:
task main(){
repeat(5){                                                           //Robot teeb järgnevat 5 korda järjest
RotateMotorEx(OUT_BC, 50, -700, 0, TRUE, TRUE);   //Robot sõidab 700 kraadi edasi
RotateMotorEx(OUT_BC, 17, 266, , TRUE, TRUE); //Robot keerab 266 kraadi vasakule
(10);                                                             //Robot ootab 10 ms et mootorid vussi ei läheks
}
}

Tags:

0

Robotid

by Ramses Sepp 13. jaanuar 2011 22:20

Ma alustan siis uue blogiga robotitest.
Täna ma tegin ühe boti endale kui keegi ei tea on botid lihtsalt robotid mis sõidavad ringi.

Isa andis ülesanded ja neid ma ka tegingi esimene ülesanne oli see et 1m edasi 180 kraadi pöörata ja siis jälle tagasi tulla ja uuesti 180 kraadi pöörata.
Ma tegin selle roboti jaoks programmi c-keeles. Kui keegi ei tea siis see on põhiline keel programmeerimises. Mu programm näeb välja selline:

 

 

 

 

 

task

main(){
repeat (2){                                                                        //Robot teeb kaks korda järjest ühte tsüklit
RotateMotorEx(OUT_BC, 50, -1400, 0, TRUE, TRUE);               //Robot sõidab 1400 kraadi edasi ehk 1m
RotateMotorEx(OUT_BC, 17, 333, 100, TRUE, TRUE);              //Robot pöörab 333 kraadi ehk 180 kraadi
Wait(50);                                                                          //Robot ootab 50 millisekundit et mootorid vussi ei läheks
}
}

 Teine ülesanne oli ruudu sõitmine:
task main()
{
repeat(4)
{
RotateMotorEx
(OUT_BC, 50, -420, 0, TRUE, TRUE);
RotateMotorEx(OUT_BC, 17, 166, 100, TRUE, TRUE);
Wait(10);
}
}

Tags:

1

Jaapan

by Ramses Sepp 5. juuli 2010 19:50

Niisiis ma tahaksin väga Jaapanisse minna kuna ma olen Jaapanist nii palju huvitavat kuulnud ja ma olen ka sellega mänginud Age of Empires 3-s. Praegu ma uurin keskaegset jaapani ja siia ma kirjutan natuke sellest. Esimene ajalooline asi millest ma räägin on: Tokugawa Leyasu
Tokugawa Leyasu oli Matsudaira Hirotada poeg ja peetis oma noorust pantvangina Imagawa käes. Tal lubati tagasi minna oma kodulinna Mikawasse ja enda peale võtma Matsudaira juhtimist 1556, varsti peale seda võitlemist Odaga Imagawa kasult. Kuid rohkem saate temast ja teistest kindralitest teada leheküljet: http://www.samurai-archives.com/famousgenerals.html .

Nüüd tuleb: Yamazaki sõda
Õppides Oda Nobunaga surmast Akechi mitsuhide käte läbi, Hideyoshi kiiresti kirjutas alla vaherahu Moriga ja kiiresti läks tagasi Kyoto Regiooni. Akechi kes kukkus läbi toe korjamisel väjaspool peri mis olid juba talle lojaalsed, oli nüüd vastu astunud Yamazakis 2-l Juulil. Ta mehed kukkusid läbi kohapeal tähtsa Tennozani ja olid sunnitud marsruuti muutma peale seda kui olid tiibhaaratud peale seda kui Hideyoshi armee sundis Enmyoji jõe läbimist. Mitsuhide iseoli tapetud kui püüdis põgeneda Sakamoto lossi poole, mis varsti võeti üle Hori Hidemasa poolt. Rohkem Jaapani sõdu: http://wiki.samurai-archives.com/index.php?title=Category:Battles .

Tags:

0

Minu Jaanipäev

by Ramses Sepp 28. juuni 2010 15:19

Vabandust et ma pole palju kirjutanud aga lihtsalt ma pole eriti viitsinud kuid nüüd siis kirjutan!Laughing

Ma pidasin oma Jaanipäeva Kristoferi juures ning seal me jäime tudima telgis mitte voodis kuid nüüd ma hakkan rääkima enda Jaanipäevast HOMMIKUST PEALE!!!!!

Ma ärkasin Kristoferi juures Mummi toas ma olin siis nii unine et ma natuke tudisin veel ja kui ma ärkasin siis üles panin riided selga ja läksin toast välja seal oli Kristofer arvutis. Kui ta oli oma aja ära olnud (neil on iga päev kaks arvuti aega mis kestavad iga kord üks tund) siis me läksime õue mängima. Kui me olime juba piisavalt mänginud ja kõik olid üleval siis me tulime minu juurde. Olime xboxis jne kui oli piisav aeg siis hakkasime ootama teisi inimesi (oli kolmapäev ehk meie robootika ring) ma näitasin neile enda machineguni mille ma olin legost teinud ja siis hakkasime töötama. Peale ringi võtsin ma oma asjad ja läksime Kristoferi juurde tagasi. Seal me mängisime oma mängu edasi. Vahepeal tuli meile Mumm ning me läksime veski juurde kus oli küla lõke jne. Kui me tagasi jõudsime siis me mängisime jälle õues oma mängu edasi me panime telgi püsti ja süütasime lõkke jne. Vahepeal mina, Kristofer ja Robin näitasime oma mõõgavõitlust ja siis mängisime oma mänge edasi. Ma hüppasin natuke üle lõkke ja kui Malvi kutsus meid pesema siis, me läksimegi peale pesemist me läksime telki ja siis rääkisime seal õudusjutte kuulasime mu telefoni helinaid ja rääkisime nalju.

Tags:

0

Ma saan endale varsti kirjasõbra

by Ramses Sepp 16. veebruar 2010 15:25

Niisiis ma tahan öelda, et ma saan võibolla endale Inglismaalt kirjasõbra. Eile käis meie koolis mingi kontsert või midagi ning siis sellele peadirktorile meeldis meie kool ja ta mõtles, et meie kool ja see kool kus tema poeg käib võiksid kolmanda ja neljanda klasside vahel kirjavahetuse käiku viia. Me kogume siis meili aadresse ja mina andsin enda oma ja ma loodan kuid ma usun, et ei ole nii, et minu kirjasõber on õppinud Eesti keelt kuna siis ta saaks mu Inglise keelt lihvida ja mina tema Eesti keelt. Me veel ei tea kas see plaan käiku läheb aga ma isiklikult loodan et läheb.Laughing

Tags: