Telepresence Robotti

Kun on tämä discourse ollut niin harmittavan vähällä käytöllä Tampereen osalta, niin koitetaanpa korjata tilannetta vähän. Eli, minulla oli monta vuotta odottanut hyllyssä varustelekasta ostettu ammuslaatikko johon oli pari bebekkimoottoria jo pultattuna. Nyt sitten päätin tehdä projektista yhteisöprojektin, ja homma onkin äkkiä edistynyt hirmuista vauhtia.

Robotin hardis on mahdollisimman yksinkertainen:

-runkona ammuslaatikko varustelekasta
-2x 12V vaihteistomoottoria bebekistä
-12V 12Ah lyijyakku biltemasta,
-arduino + moottorishield
-renkaina edessä jostain ostetut kalustepyörät, takana kääntyvät pienemmät

Robo liikkuu jo netin yli käskytettynä.

ToDo:

-Videolinkki

ToDo listalla on vain yksi juttu! Hommahan on käytännössä jo valmis amirite? No…
Helpoin tapa toteuttaa tämä lienee jokin halpa android tabletti ja skype tms. Suuri latenssi videokuvassa tietysti vaikeuttaa robotin ohjausta, ja onkin varmaan ensisijaista minimoida latenssi. Voisiko esim. ajoa varten pudottaa kuvanlaatua, ja pysähdyksissä nostaa?

Edit: kuvia

rtsp-serveri ja streami vlc:llä voisi olla yksi latenssin kannalta hyvä ratkaisu, toki astetta monimutkaisempi

Jos sinulta löytyy joku Android laite esim minkä voit kiinnittää robottiin, voisit käyttää POINTR sovellusta siihen videopuoleen. Kun kerta ohjausdata sulla jo löytyy, olisi videoliikenne täysin erillinen järjestelmä.

Voidaan konffata sulle täysin uniikki laite ID ja asettaa se ns. autoanswer tilaan että kun sinä “soitat” robotissa olevaan android laitteeseen se automaattisesti vastaa ja alkaa streamaan kuvaa sinulle.

Miltä tällainen setuppi kuulostaisi?

Sovelluksen voit ladata www.pointr.it ja jos setup kuulostaa testaamisen arvoiselta voidaan tuo pieni kustomointi tehdä.

terveisin,
Sauli

Me testattiin POINTR:ia Arnon kanssa äsken, puhelimesta läppäriin. Hyvin näkyi, viive vajaa sekunti silmällä arvioiden. Ongelmana tosin että Jolla ainakin kuumeni 7 minuutin yhteyden aikana aika reilusti ja halusi sulkea softat. Käyttää varmaan CPU:ta aika reilusti.

Joku dedikoitu anterolaite olisi toki parempi, ettei omaa luuria tarvi laittaa robottiin. Löytyykö keneltäkään ylimääräistä?

Lisäsin kuvia alkuperäiseen postaukseen. Testailtiin tosiaan pointr:ia, ihan pätevä. Tuli myös ajatukseksi pistää kaksi kameraa, joista toinen olisi alempana, pienellä latenssilla ja huonolla kuvanlaadulla ajokamerana ja ylemmäs sitten paremmalla kuvanlaadulla ihmisten kanssa kommunikointiin vaikka sitten se pointr.

Voisin tulla käymään labilla jos säädätte tuota lähitulevaisuudessa niin katsotaan tuolle robotille oma pointr numero mistä voitte sille soittaa ja tosiaan laitetaan se autoanswer siihen samalla esim. Arnon numerosta soitettaessa. Olettaen että sille löytyy joku android laite tehtävää varten. Muutenkin mielenkiintoinen case mihin voidaan miettiä lisäyksiä sovellukseen jos ko. streamaukselle on tarvetta. Oli kyseessä dronet, lennokit tai robotit mikä tahansa.

Alkujaan tuo autoanswer asetus teollisuudelle suunniteltu kun tarvii laitteiten toimintaa tarkkailla etänä esim. testiajojen aikana (Halppis android / läppäri kameran kanssa johon voi soittaa jotta näkee tilanteen etänä). Mutta miksipäs ei myös etäohjaukseen yms. Stormausta vaan jos jotain tulee mieleen. Tuota CPU kuormaakin ollaan korjailemassa lähiaikoina ja jos case tarpeet tarkentuu voidaan optimoida tilanteen mukaan.

Tänään ainakin ja ehkä huomennakin säädetään. Me jo jotain romuandroideja eilen testailtiin mutta ei oikein niissä suorituskyky riitä. Jos jollakulla jotain tuoreempaa laitetta pyörii nurkissa joutilaana niin tässä voisi olla käyttökohde.

Niin ja tosiaan unohtui mainita aluksi että tämä robotti tulee syksyllä tapahtuvaan Mindtrekkiin, josta saadaan tähän kai jotain rahaakin. Että tähän voi siis hukata jonkun semihyvänkin androidin jos sellainen vaikka sattuisi jollain olemaan vähäisellä käytöllä ja haluaisi siitä jotain rahaakin (myöhemmin syksyllä). Ehkä.

Jos kerta saa ehdottaa ominaisuuksia POINTR:n niin tälläisessä tilanteessa olisi tärkeää olla mahdollisuus säätää kuvanlaatua yksityiskohtaisesti. Harmaasävyinen tai indeksoidussa formaatissa oleva kuva voi olla parempi kuin hyvälaatunen kuva latenssilla.
Paras laatu/latenssisuhde riippuu käytetystä verkosta joten ei auta kuin testailla eri astuksilla. En tiedä millä verkkotekniikalla tuo streamaa, mutta videota lähettäessä UDP-pohjaiset protokollat on ainoa oikea vaihtoehto.
Eikö autoanswer voisi olla ihan käyttäjän asetus? Ei tarvisi eriksen säätää. Nämä voisi tietysti olla piilotettuna asetusvalikkoon koska peruskäyttäjällä ei ole syytä näitä konffata.

Multa joutaa tollanen Axiksen pieni IP-kamera tuohon projektiin ainakin nyt ensihätään. Sen saa ethernetillä siihen TP-Linkkiin ja jos läppärin yhdistää wlanilla siihen samaan verkkoon, niin saanee kohtuu latenssilla mjpeg-streamia vaikkapa selaimeensa tai vlc:hen ajokameraa varten. Varsinaista RTSP-serveriä voinee pyöritellä mun omalla sepposerverillä, mutta pähkäiltävää riittää siinä, että miten kuvan saa työnnettyä kamerasta tai tp-linkistä ulospäin. Tp-linkissä voisi nykyinen ohjaamisesta vastaava python-kikkare käynnistellä gstreamereita tms. taustalle hyrräämään silloin kun robotilla ajetaan. Josko jollakulla olisi näistä striimauksista enemmän kokemusta? Toinen vähän rumempi ratkaisu olisi hakea streamia verkon läpi suoraan kamerasta (tarttee vain porttifw:n TP-linkkiin) kun siinä 3g-liittymässä ei ole edes nattia. Tällöin vekotinta pystyisi ohjaamaan ajokameran kuvan kera kuka tahansa, mistä tahansa robotinkin ollessa missä vain! :smiley:

Kamerasta löytyy apeja joka lähtöön; jpeg, mjpeg, rtsp ja sen saa pukkaamaan http :llä tai tcp:llä erilaisia äksöneitä servereille, mikäli se havaitsee esim. liikettä (analysoimalla kuvasta tai PIR-sensorilla). Myös 2-suuntainen ääni löytyy (IE:llä) ja paljon kaikkea muuta jännää säädettävää.

Tätä vois joku yö testata https://github.com/OliverF/mjpeg-relay

“Eikö autoanswer voisi olla ihan käyttäjän asetus?”
Kyllä, ehdottomasti. Meillä on vaan vielä UI jutut tuolle kesken kun sun pitää rekisteröidä uniikki numero laitteelle mutta itse toimit adminina oman numerosi kanssa mistä laitteen rekisteröinti hoidetaan. Toinen veihtoehto on että eritellään laitteet osoitekirjaan niin voi soittaa suoraan omalle tietylle laitteelle. Tilanteen mukaan uniikki device id parempi mutta miksei myös tuo omalle tietylle laitteelle soittaminen ole käytännöllinen myös. Kunhan saadaan sen verran taas juttuja eteenpäin että saa noi config UI jutut tehtyä.

Kuvanlaatuun ja kamerakontrolliin tulossa varmaan syssymmällä isompi päivitys.

Testailin autoansweria tänään tällasella Android TV- boxilla (Vanhempi versio A20):

http://www.ebay.com/itm/Quad-Core-Android-4-4-Smart-TV-BOX-2M-Camera-MIC-for-Skype-Call-KODI-HDMI-4K-/191761090755?hash=item2ca5da08c3:g:uU8AAOSwSdZWcVT7

Noissa vaan niin surkeet jäähdytykset et niinku sanoit ni lämmöt turhan korkeella:

Laitoin pienen siilen ja alukoteloon ni ihan hyvin toimii wifikin. Pitäs joku karkeempi siili laittaa ja vaikka 3d tulostaa joku kotelo/runko. Tälläsella sais hdmi:llä jonku näytönki tohon kiinni jos naamatusten haluaa olla etä-läsnä :stuck_out_tongue:

Jos jostain halppis kännystä värkkäis ni sais 4G:llä datankin tai sit vaa joku mokkula usbilla tohon kiinni?

Mulla oli ajatuksena et ois labille jonku tabletin lahjottannu jos joku tarttee jeesiä irkkiläisiltä tms. Voisin kahtoo jos toimistolta joku tabletti joutas projektiin. Toi android boksi kans joutas mut pitäs melkee tilata toi quadcore versio toi mitä testailin oli vanhempi A20 soc mut ihan hyvin seki toimii koko illan sillä testaillu.

EDIT: Mulla muuten vois olla myös yks Samsung S4 raato mistä vois ehkä parsia kasaan jotain jos se vaan toimii. Ei nyt ihan pystymehtästä muista oliko siin jotai näyttö ongelmia tjsp. Pitääpä tarkistaa huomenna.