NAO

From Intelligent Materials and Systems Lab

Revision as of 22:16, 8 January 2011 by Siimsundla (talk | contribs)

Ülevaade

Nao ühendamine arvutiga

Esmane ühendus tuleb luua kaabli abil. Nao ja arvuti ühedada samasse kohtvõrkku, eeldus on, et ruuteris on võimaldatud DHCP, sest vastasel juhul ei saa Nao endale IP-d, samuti võib takistuseks osutuda mõni sisselogimissüsteem.

Kui IP saamine õnnestub ütleb NAO oma IP aadressi kui tema kõhul olevat nuppu vajutada. Navigeerides veebibrauseriga http://(NAO IP) lehele on võimalik muuta mõningaid seadeid ning näha staatuse informatsiooni. Kui ligiduses on traadita võrke peaksid need ilmuma "Networks" valiku all nähtavale. Selleks, et robotit oleks võimalik kasutada (ethernet juhe segab) on vaja nüüd ühenduda WiFi võrkku. Sobivad ka turvatud võrgud, mille jaoks küsitakse parooli. VPN võrkudesse ühenduda ei saa kuna puuduvad konfigureerimisvõimalused.

Pärast traadita ühenduse loomist tuleks meelde jätta wireless võrgust saadud IP ("Networks" kuval) ning ühendada lahti ethernet kaabel. Pärast seda kui wireless võrk on korra juba valitud saab NAO ühendada end sellega automaatselt ("Wireless" nimekirjas on võrk märgitud "favorite" = 1). Tuleks jälgida, et ka pärast traadita võrguga liitumist kuuluvad arvuti ning Nao samasse kohtvõrkku (kindlam on arvuti samuti ühendada ning kaabel eemaldada).

NaoQi

NaoQi on raamistik, mis võimaldab kasutada Nao funktsionaalsust nagu klient serveri teenuseid. NaoQi käivitatakse Nao üleslaadimisel automaatselt ning kui võrgust on saadud IP aadress on võimalik selle poolt pakutavate meetodite ja hetke tegevuste nimekirja näha brauseri aadressil http://NaoIp:9559/full, TCP port 9559 on valitud vaikimisi. Choregraphe vajab ühendust selle raamistkuga, et robotiga suhelda. NaoQi võib käivitada ka muudel masinatel peale roboti enda, näiteks Choregraphe sees on võimalik luua ühendus virtuaalse NAOga, millega saab liigutusi simuleerida.

NaoQi taaskäivitamiseks tuleb Nao veebikeskonnast valida "Advanced"->"NaoQi" ning "Restart", sama tulemuse annab NAO välja- ja sisselülitamine.

BonJour

Windows platvormil sobib seadmete nagu NAO võrgust leidmiseks (tavaliselt teised arvutid, printerid jms). Tekib ikoonina Internet Exploreri tööriistaribale.

Choregraphe

NAOga ühendamiseks valida "Connection"->"Connect To". NAO peaks olema ilmunud valikusse, kui see nii ei ole võib proovida sisestada IP käsitsi (kui NAO on võrgus kaabliga, siis on see kindlasti vajalik). Kui ühenduse loomine möödus vigadeta peaks olema võimalik näha NAO hetke füüsilist asendit simulatsiooni 3D aknas, kui seal midagi muuta ja vastava liigese kohta on valitud Enslaved (hammasrattaga ikoon on punane) ehk mootorid on tööasendis, peaks NAO võtma sama asendi.

Choregraphe projekti kasutamine ilma keskkonnata

Choregraphe projekte on võimalik käivitada ka ilma programmita, selleks tuleb menüüst valida "Behaviors" ning valida näiteks "Add current", mis laeb hetkel avatud skeemi NAOsse. Siin on võimalik käitumist ka kohe aktiveerida. Selleks, et NAO kasutaks loodud programi tuleb aktiveerida valik "Default". Järgmisel korral kui NaoQi käivitatakse alustatakse laetud programmi täitmisega. Üleslaadimiseks valitud skeemi(de) nimetus peaks ilmuma NAO veebikeskonnas avalehel "Behaviours" sildi all.

  • Nao võib omada mitut paralleelset vaikekäitumist, kuid nende poolt tehtavad tegevused peavad olema sõltumatud, st. ei tohi tekkida võimalust, kus mõlemad üritavad liigutada samu mootoreid. Sensorite puhul võib kattumisi esineda.
  • "Default" programmiks seadmine käivitab koodi kohe kui NaoQi laadimine on lõppenud, seetõttu tuleks jälgida, et skeemis poleks liigutusi, mida robot täidetaks vahetult pärast käitumise algust kuna üleslaadimise hetkel võib NAO olla ohtlikus asukohas nagu laual, ühendatud võivad olla võrgu- ja toitekaabel ning liikumine sellises asendis võib ühendusporte kahjustada või tekitada kukkumisohu. Allpool toodud näiteprogrammis ootab robot puudutust enne kui programmi põhiosa täidetakse.

Näiteprogramm

Kui NAO peas olevat keskmist puutesensorit puudutatakse tõuseb NAO püsti ning teeb tervitusliigutuse, pärast seda asub kõndima kasutades sonareid, et tuvastada ettetulevaid takistusi kui neid esineb püüab robot neid vältida muutes suunda. Kui tagumist pea puutesensorit puudutada jääb NAO seisma ja istub taas maha. Kõik kasutatud plokid on Choregraphes olemas ja modifitseerimata loogikaga. Välja arvatud "Stiffness" plokkide parameetrid.

Istumine ja kõndimine
  1. Tactil touch plokk registreerib puudutusi NAO peas asetseval puutealal. Kui keskmist punkti puudutatakse, tekitatakse signaal, mis käivitab järgmise ploki. Selle väljund on ühendatud sama ploki termineerimise sisendiga selleks, et pärast ühekorset vajutust sama loogikat enam ei korrataks. Probleem ilma selle ühenduseta skeemi juures on see, et ka "Endless Walk" plokk kasutab pea puutesensoreid ja kui sinna vajutada, siis tekib sündmus mõlemas plokis ehk NAO alustab uuesti tervitamist, selle asemel, et jääda seisma, mida puudutus kõndimise ploki koodi sees peaks tegema. Enne kui käitumine pole lõplikult termineeritud (väljundit 5 pole stimuleeritud), siis jätkavad kõiks sensoriplokid tööd ja seetõttu on tarvilik neid sundida lõpetama kui saadavat infot enam vaja pole.
  2. Selleks, et mootoreid liigutada peavad need olema varem aktiveeritud (stiffness on 1). Kui programmi käivitatakse ilma stiffness seadmata liikumisi ei toimu. Paljud eeldefineeritud liigutuste plokid Choregraphe sees teevad seda automaatselt (siin näitena eraldi välja toodud).
  3. Lõpmatu kõndimise plokk. Lõpetab tegevuse (annab väljundi) siis kui vajutatakse pea tagumist puutesensorit.
  4. Siin seatakse mootorid uuesti vabaks (stiffness 0). Plokki võib kasutada ainult siis kui NAO on stabiilses asendis, antud juhul istumas. Mootrite vabastamine pärast liikumisi vähendab voolutarvet ning ühtlasi saavutatakse sellega samasugune olek nagu enne programmi käivitamist.
  5. Kui signaal jõuab väljundisse on kogu skeem oma töö lõpetanud ning seda ei korrata enne NaoQi taaskäivitamist. Choregraphe programmi sees testimisel piisab kui uuesti alustamise nuppu vajutada.

Tähelepanekuid

  • Liikumised - Kui valida mõni eeldefineeritud poos (Predefined position paneel, nähtav läbi menüüvaliku), siis tuleks jälgida, et kõik mootorid on Enslaved olekus (üleval ribal hammasratta ikoon peab olema punane). Juhul näiteks ainult üks jalg on aktiivne ja valitakse seismise poos, siis see jalg liigub defineeritud asendisse, jättes teise vabalt liikuma, kust tekib tõenäoliselt tasakaalu kaotus.

http://robocup.aldebaran-robotics.com/docs/site_en/greendoc/choregraphe/predefined_positions.html

  • Objektide tuvastamine - NAO suudab meelde jätta talle näidatud pilte ja neid hiljem ära tunda. Choreographe sees käib see View->Video Monitor menüüvalikuga. Video aken näitab reaalajas pilti NAO kaamerast. Learn nupuga saab teha ülesvõtte ning määrata hiirega ala fotost, mida NAO peaks tundma.Kuvatakse kast informatsiooni sisestamiseks näiteks kui see oli leht raamatust, siis selle raamatu nimi, kui osa mõnest ruumist, siis selle nimi, Pärast salvestamist ja saatmist NAOle saab kasutada visuaalprogrammerimise vahedit, et luua käitumine õpitud objektide tuvastamiseks, millele vastav kast annab väljundiks varem sisestatud objekti info kui see kaamera ette satub, mille saab omakorda saata sisendiks rääkimise kastile, et NAO nähtud eseme ka välja ütleks.

http://robocup.aldebaran-robotics.com/docs/site_en/greendoc/choregraphe/video-monitor-tuto.html

  • Liigutuste salvestamine - Uuemas Choregraphe versioonis on salvestamise alustamise nupp ainukese menüüvalikuna tegumiribal, mitte ikoonina tööriistade hulgas. Salvestatud liikumine mängitakse hiljem oluliselt kiiremini maha kui see salvestati.

http://robocup.aldebaran-robotics.com/docs/site_en/greendoc/choregraphe/creating_movement_with_recording_mode.html

Linke