Esittelen esimerkiksi hypoteettisen kilpailun, jonka minä ymmärtäisin
haasteeksi kehittää robotin kognitiivista suorituskykyä hieman
rankemmalle tasolle: robottisuunnistus, aika paljon ihmisten
urheilulajia mukaillen. Tämä on siis vain ajatusleikki.
Kilpailun (alustavat) säännöt.
1. Kilpailu järjestetään puistoradalla. Kilpailumaasto sisältää
puistokäytäviä, kapeampia polkuja, nurmikkoalueita, läpitunkemattomia
pusikoita, rakennuksia, kalliota ym.
2. Kilpailualueen koko on 250m x 250m.
3. Robottille annetaan kilpailun aluksi kartta SVG-muodossa,
tiedostona, vaikkapa RS232-väylän kautta. Kartta on kilpailua varten
editoitu peruskartan pohjalta.
4. Karttaan on merkitty sääntöjenmukaisia standardisymbooleita
käyttäen kartanjakopaikka, lähtö, 12 rastia ja maali.
5. Kartan luovutuksen jälkeen robotin on omatoimisesti siirryttävä
lähtöpaikalle odottamaan lähtövuoroa. Lähtöviiva on merkitty
koodatulla IR-valopuomilla, jonka säde poistetaan hetkeksi lähdön
hetkellä.
6. Rastit ovat sääntöjen mukaisesti maalattuja ylösalaisia
muoviämpäreitä, joissa on sisällä heikkotehoinen, pientaajuinen RF-
lähetin (esim 32kHz), joka lähettää rastin koodia. Robotin tehtävänä
on kerätä kaikki 12 koodia vapaavalintaisessa järjestyksessä
(“kauppamatkustajan ongelma”). Robotin on osattava yhdistää oikein
lähettimen koodi ja karttaan merkatut koodit.
7. Rastit sijaitsevat aina helppokulkuisen ajoväylän tuntumassa,
mutta eivät välttämättä varsinaisten polkujen varressa. Robottien ei
ole pakko käyttää polkuja, mutta maaston kulkukelpoisuutta ei taata.
8. Robotti ei saa sisältää GPS-vastaanotinta (ihmissuunnistajatkaan
eivät saa sellaista käyttää). Sen sijaan kompassi, kamera, sonar,
lasermitta ym ovat sallittuja.
9. Robottien on toimittava täysin itsenäisesti. Kilpailun kuluessa
niihin ei saa mitenkään olla yhteydessä.
10.Robotin on määräajan kuluessa (esim 30min) löydettävä
mahdollisimman monta rastia, ajan umpeutuessa robotin on hakeuduttava
maaliin, vaikka kaikkia rasteja ei olisikaan löytynyt. Kaikki
suoritukset, jossa robotti on löytänyt yhdenkin rastin, ja saapunut
ajoissa maaliin, arvioidaan ja pisteytetään.
Ongelmia robottien kognitiivisten kykyjen kannalta:
1. Kartan tulkitseminen (XML-formatti) ja sisäinen, ajonaikanen
esitys.
2. Optimaalinen reitinsuunnittelu.
3. Kartanluku, navigointi suhteessa kamera- ym. anturihavaintoihin.
4. Kartan puutteiden huomiointi, kilpailunaikaiset päätökset maaston
kulkukelpoisuudesta reitinvalintojen ja navigoinnin kannalta.
5. Kilpailuajan budjetointi.
Vaikka tämä on vain ajatusleikki, ensimmäiset kilpailut voisi tähdätä
vaikka vuoden 2013 syksyyn. Harjoituskilpailuita voisi käydä lyhyellä
sisäradalla.
Jotta minä saisin kaiken tarvittavan osaamisen opetettua (huom. ei
niinkään ainoastaan ohjelmoitua) botilleni, tarvitsen lojbania (ja
linuxia). Yrittää voi vaikka pelkällä C-kielellä (todellinen hackeri).
Harrasterobottien ongelma ei ole keksiä vaativia kilpailuja kuten
"Kuuraketti aurinkoon", vaan saa tehdyksi ensimmäinen toimiva robotti
ilman ison firman resursseja.
Robottien tekemisessä ei mitään tekemistä kognitiivisella
psykologialla, vaan saada oikeasti robotti tehtyä.
Tulemme mielellämme seuraamaan robottisi toimintoja, jos päätät
kehittää omasi. .
Luulen, että kuitenkin yritämme saada aikaan jotakin pientä parannusta
nykyisiin laitteisiin. Kaikissa on vaikka kuinka paljon
parannettavaa.
Nykyiset säännöt rajaavat pois vain ihmisen välittömän ohjauksen.
Sinun ehdottamiasi karttoja voi käyttää. Samoin GPS ja muita
antureita. GSP ei taida riittää tässä tapauksessa.
Paikannusasiaa voitaisiin tosissaan miettiä.
TV:ssä oli joku aika esitys sokeasta 100-vuotiaasta miehestä, joka
kalasteli merellä. Ei hän kaloja syönyt vaan myi ne muille. Kotiin hän
tuli matkaradion opastuksella. Radion hän oli jättänyt soimaan
rannalle puun oksaan.
Teimme joskus Hannun kanssa IR-anturipaketin, jolla etsimme neljällä
IR-vastaanottimella IR-lähdettä.
IR-ilmaisimet olivat piirilevystä tehdyissä lokeroissa, noin 50*
30*10mm ( nelikulmaiset torvet, kuvankin voisin ottaa).
Aluksi ilmaisu ole epämääräistä. Kaikki anturit näkivät signaalin,
riippumatta suunnasta.
Lähetin oli kynttilä noin 5 metrin päässä ( myös IR-ledi toimii).
Kun torvien sisäseinät maalattiin mustaksi, laitteella saatiin
erittäin tarkka suunta-ilmaisu.
Koe tehtiin sisällä kynttilänsammutusrobottikilpailua varten.
Miten ilmaisu toimii auringossa ja pidemmillä etäisyydellä?
Toisaalta aina ei ole aurinkoa. Taisi olla vuonna 2008 Jämillä, kun
satoi koko ajan. .
Tätä IR-järjestelmää voisi ajatella testattavan aluksi
sisäkilpailuissa.
IR-lähettimillä voisi olla oma koodi, mutta hidas. Vastaanottimen
herkkyyttä voi parantaa chopper-suodatuksella. (PLL).
Esim. IR-koodi voisi olla kahden ASCII numeron sekvenssi.
Start koodi 00 plus 00-99 ASCII numerot. Normaaleissa IR-
lähettimissä on 38 kHz kantoaalto, Se on aika lähellä moottori
chopperia, mutta matalammat taajuudet hidastaivat signaalin ilmaisua.
38kHz:llä pääsee 2400 bps signalointinopeuksiin.
Neljällä ilmaisimella voisi saada löydettyä käytävän mitä pitkin
robotti voisi kulkea. Anturit voivat olla kiinteät tai
kääntömoottorilla varustettu.
IR-ilmaisin saattaa olla epäherkempi moottorin häiriöihin kuin
nykyinen signalointimenetelmä. Moottorin choppervirrat ovat lähellä
nykyistä signaalia.
Paristokäyttöiset IR-lähettimet on helppo tehdä. Tarvittaisiinko
useampi IR-LED sarjassa? 6V:lla saisi kolme samaan lähettimeen.
Montako lähetintä tarvittaisiin ? 2*4 porttia?
OH3GDO Pekka
Juhanin ehdottama kilpailu vaikuttaa hyvältä ja haastavalta, mutta
toteutus on vaikeaa. Paikannus on suurin ongelma (mobiili)roboteissa,
johon auttaa tarkat anturit ja sopiva algoritmi. Yksi varsin hyvä
menetelmä paikannukseen erilaisten antureiden avulla on SLAM [1],
mutta se ei ole helppo toteuttaa. Tarkat anturit ovat sitten
harrastelijoille liian kalliita, esim. laserskanneri maksaa n. 2000
euroa, skannerin avulla saa tarkat etäisyydet ympäristöstä nopeasti
[2].
Testasin äsken tekemääni ohjelmaa, joka muodostaa kartan robotin
liikkumaympäristöstä.
http://robotti.googlegroups.com/web/testialue+(2).JPG
http://robotti.googlegroups.com/web/testiajo.JPG
Kuten linkkien kuvista huomaa ei kartta mitenkään hyvä ole, mutta
robotissa on vain yksi IR etäisyysanturi ja matkamittarit
moottoreissa. Moottoreissa olevat matkamittarit ovat melko tarkat,
yhdeltä renkaan kierrokselta saa 2000 pulssia (mekaniikan väljyys
tosin haittaa mittausta..). Pitää joskus testata robottia siten, että
laittaa siihen useamman etäisyysanturin, niin kartta muodostuu
nopeammin ja tarkemmin. Tässä ongelmana se, että jos robottia siirtää
käsin toiseen paikkaan, niin ohjelma ei tiedä missä robotti oikeasti
on. (tästäkin projektista kirjoitan joskus robottiwikiin).
[1] http://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping
[2] http://www.acroname.com/robotics/parts/R313-HOKUYO-LASER3.html
T:Markus
Ideoin tuon kilpailun vastauksena kysymykseen: mihin kuvittelen
robotin tarvitsevan käsitteellistä ajattelua. Toivottavasti se kävi
sellaisesta. Samalla minulle itselleni kilpailu voisi olla
jonkinlainen horisontissa häämöttävä kiintopiste, johon testaan
ajatuksiani.
Ymmärrän hyvin, että yhdistyksen tavoite on robottiharrastuksen
edistäminen ja tässä se suurin kynnys on sen ensimmäisen robotin
luominen. Ihan OK!
Mutta, meitä on erilaisia. Ja jos luomme monipuolista, rakentavaa
keskustelua, erilaisia lähestymistapoja robotiikaan, niin saamme
uusia, erilaisia jäseniä, harrastelijoita, erilaista kokemusta. Kaikki
opimme toisiltamme ja kaikki hyötyvät. Haluaisin täysin hyväksytyksi
vaihtoehdoksi esimerkiksi (vain esimerkiksi) sen, että joku voisi
vaikkapa aloittaa robottiharrastuksensa, ei rakentamalla ensimmäistä
fyysistä robottia, vaan esimerkiksi kehittelemällä robotiikan SW-
arkkitehtuureita Simbad-robottisimulaattorilla ( http://simbad.sourceforge.net/
). Tällainen olisi jossakin minun lähestymistapani (siis chatbot) ja
perinteisen mekaanisen viivanseurantarobotin välissä. Ja varmasti
hyvin matala kynnys päästä alkuun.
Mutta ihan totta. Olisi kovin terveellistä minullekin ihan lähiaikoina
hankkia jotakin todellista kokemusta oikeista mekaanisista roboteista
ja eteenkin niiden anturoinnista. Se kun kuitenkin palvelee
ongelmanratkaisuani, miten käsiteverkko maadoitetaan reaalimaailmaan.
Markuksen kokeilut ovat hyvin kiinnostavia. Minusta robotin keräämä
pistekartta ei ole ollenkaan huono. Tuntuu, että tässä olisi
hermoverkkoalgoritmeille sopivaa pureskeltavaa. Siispä luulen, että
hankin joitakin tilpehöörejä sekä teen kevään kuluessa joitakin
anturi- ja SLAM-kokeita. Minulla on ideoita, mutta niiden
realistisuudesta en tiedä ilman kokeilua... Toisaalta jatkan kyllä
ontologioiden kehittelyä :)
- Juhani -
ps. Kun lueskelin, ymmärsin, että 2007-kilpailussa oli kaksi sarjaa:
toisessa seurattiin kaapelin säteilevää signaalia. Mutta toisessa
sarjassa kaapelissa ei ollut signaalia. Mikä oli tämän toisen sarja
luonne, kun sitä ei tarkemmin määritelty? Seurasivatko robotit
optisesti mykkää kaapelia vai oliko idea se, että kaikki ratkaisut
olivat avoimia. Mitä sitten olivat itse toteutuneet menetelmät?
Jos tarkkaan tulkitsee näitä sääntöjä huomaa, että kaikenlaisia
teknisiä laitteita voi käyttää apuna.
Helpoin tapa on ostaa valmis kilpailuun osallistunut robotti. Se ei
tietenkään ole omatoimisen rakennuksen tarkoitus.
---
Simulaattoreilla voidaan testata, että joku asia ei toimi, mutta ei
sitä, että se toimii.
Vanhoja muistoja:
Imatran Terästehtaan 30MVar tyristoriohjaus testasin simulaattoreilla,
oikeilla suurilla jännitteillä 30kV ja suurilla virroilla (1000A).
Kaikki testit menivät hyvin, mutta kun oikea virta ja oikea jännite
olivat yhtä aikaa yhden mikrosekunnin kaikki tyristorit paloivat heti.
Toisin vain yhdestä vaiheesta, vain yksi vaihe oli laitettu kiinni
ensimmäistä testiä varten.
Asia liittyi reaktorin ( ison kelan ) muotoon. Jotkut saattavat
muistaa pekka-kela ratkaisun.
http://picasaweb.google.com/oh3gdo/Suurjannitekuvia#5390193771845393298
Kun lähdin pois Nokialta. Seuraajat jättivät "turhan" kelan pois
seuraavasta Taiwanin kompensaattorista. Nuhteita tuli.
----
Kameran avulla olen tehnyt pisteen seurantaohjelmia.
Pieni laser voisi näkyä päivälläkin kameralla. Kaikkia pitää oikeasti
testata.
Pitää jalostaa ajatusta vielä lisää.
---
Olen juuri tehnyt liikkeentunnistusohjelman tavalliselle kameralle.
Liimaan kuvaan vielä ajan, lämpötilan ja liikenumeron.
Kuvat menevät Internnettiin.
http://www.kolumbus.fi/probyte/koti/remotereasurement.html
Pekka