Projekti: Autonominen droneparvi

videodronefi

Multikoptereilla ja muilla droneilla on kova hype päällä. Niillä tuodaan pizzaa kotiovelle, kuvataan kiinteistöistä 3D-malleja ja tehdään huikeita extreme sport -videoita. Toisaalta niitä käytetään tiedustelussa, etsintä- ja pelastustehtävissä sekä tietysti sotatantereella. Juuri tuli luettua kuinka USAn sotavoimat olivat kokeilleet suihkuhävittäjistä pudotettaavaa 103 dronen parvea. Pelottavampaa kuin Terminator konsanaan.

Pizzan ja sotatantereen välimaastoon mahtuu varmasti lukuisia muita sovelluksia, joilla voidaan tehostaa erinäisiä tehtäviä yritysten arjessa. Esimerkiksi dronejen käyttö maanviljelyssä määrittämään, kuinka hyvin kasvit kasvavat ja mitkä alueet hyötyvät lannoituksesta, on aivan loistava idea. Säästetään rahaa ja luontoa, samalla voi ottaa käyttöön tittelin bigdata-drone-farmari. How cool is that? Mutta nyt olisi etsinnässä aivan uusia sovelluskohteita. Antakaas tulla!

Entäs se projekti?

Itse olen aina ollut kiinnostunut lentämisestä, roboteista ja koneoppimisesta. Valitettavan vähän on tullut tehtyä, mutta paljon luettua. Kun tuttavani aloitti VideoDrone Finlandin toimitusjohtajana ja kysyi pientä apuohjelmaa lentodatan käsittelyyn, vanha kiinnostus pulpahti uudelleen pinnalle. Tuli luettua ”Structure from Motion (SfM)” -menetelmästä, jolla eri kulmista otetuista valokuvista voidaan luoda 3D-mallin. Sitten eksyinkin jo lukemaan, kuinka konvoluutioneuroverkoilla (CNN, ConvNet) voidaan korvata ”Scale-invariant feature transform (SIFT)” -algoritmi. Ja hetken päästä oltiinkin jo syvällä Convneteissä ja 3D-mallien semantisessa segmentoinnissa, eli kuinka luodaan kolmiulotteisia malleja, joissa esineet on luokiteltu eri tyyppeihin (tuoli, pöytä tai jalkalamppu).

Tutkimus haarautui myös dronejen ja robotiikan toiseen koneälyn osa-alueeseen eli autonomiaan. Tuli mieleen että turha sitä dronea on itse lähteä ohjailemaan. Antaa dronen itse lennellä ympäriinsä ja rakentaa ympäristöstä 3D-malli. Vaikkapa päästää drone ovesta sisään ja käskeä tekemään 3D-malli omasta asunnosta. Kiinnostaisikohan tämä kiinteistönvälitysfirmoja? Ehkä jotain muuta tahoa? No, joka tapauksessa itsenäiseen lentelyyn tarvittaisiin tietysti konenäköä ja nopeaa sellaista. Projekti alkaa hahmottua.

Jottei olisi liian yksinkertaista, niin vieläköhän tähän jotenkin saisi droneparvet upotettua. Tietysti homma hoituisi nopeammin, jos tehtävää suorittaisi useampi drone. Tämä voisi olla hyödyksi, jos kartoitettavana on suuri tila tai alue, kuten teollisuushalli tai harvennettava metsä. Lisäksi dronet voisivat käyttää toisiaan joko kiintopisteinä suunnistaessa ja kuvatessa. Tai osa droneista voisi heijastaa 3D-mallinnusta helpottavan laser-ruudukon eri suunnista kohteeseen, jota toiset dronet samalla kuvaavat (a la kinetic, pdf). Parvella voisi myös tehdä 4D-malleja (3D+aika), vaikkapa tuulivoimalan lavoista. Nyt päästiin jo parven älyyn, vaikkei ehkä ihan parviälyyn (swarm intelligence).

Drone ja softa

Projektin tavoitteeksi muodostui siis autonominen drone, joka osaa tehdä ympäristöstä 3D-kartan, ja mahdollisena jatkoprojektina autonominen droneparvi. Tarvitaan siis drone. Vaatimuksina kohtuulinen hinta, kohtuullinen kamera, kamerakuvan streamaus koneelle ja ohjelmointikirjasto. Alkuun näytti siltä että tonnit viuhuisivat, mutta sitten löysin Parrot AR Drone 2.0:n, jolla olisi selvinnyt satasilla. Parvea ajatellen sekin oli aavistuksen liian kallis protoiluun. Kovan googlauksen tuloksena löytyi Kiinan ihme CX-10WD Banggoodista 40€ plus postikulut. Tilauksessa.

 

CX-10WD

Kuva: CX-10WD drone, lähde Banggood.com

Softapuolella mennään todennäköisesti Javalla tai Pythonilla. Javalle löytyisi DL4J eli Deep Learning for Java, pythonille Theano. Tietysti on monia muitakin, mutta näihin päädyin, varmasti riittäviä. Ensimmäinen tavoite on seurata esineitä videossa ConvNetillä. Toisena tavoitteena on laajentaa neuroverkko tekemään suurpiirteinen syvyyskartta nopeasti käyttämällä hidasta SfMää referenssinä. Näihin ei edes dronea tarvitse. Kolmas tavoite on yhdistää dronen autonominen lentäminen ConvNetiin, vaikkapa seuraavasti. Nousu. Eteenpäin sinikäyrää tai korkkiruuvia, kunnes este. Ympäri ja takas. Käännös uuteen suuntaan ja uusi kiekka, kunnes 360° on käyty läpi. Ja tästä eteenpäin sitten reitin suunnitteluun, parviin ja mihin lie.

Pelkkää hupia vai oikeita sovelluksia?

Todennäköisesti päädyn pörräämään dronella olohuonetta ympäri ja teurastamaan muutaman huonekasvin, mutta siinä tapauksessa että projekti onnistuu edes kohtuullisesti, olisi hienoa löytää oikeita sovelluskohteita, joko käytetyille menetelmille, autonomiselle dronelle, tai ehkä jopa parvelle. Varsinaiseen teolliseen sovellukseen ei tietenkään Kiinan ihmeillä ajeltaisi. VideoDrone Finlandin droneista ei ainakaan puhti loppuisi ja Louhian osaava porukka murskaisi numerot ojennukseen. Lisäksi droneihin saa tavallisten kameroiden lisäksi kiinni mitä moninaisimpia mittalaitteita lämpökameroista spektrometreihin. Ja jos ei sopivaa spektrometriä löydy, niin tehdään sellainen. Jyväskylän yliopiston Nanotiedekeskuksesta löytyy kyllä osaamista.

Eli nyt propellihatut käyntiin ja niitä ongelmia ratkottaviksi sekä sovelluksia toteutettaviksi, kiitos.

Lauri Lehtovaara

Tutkija, yrittäjä ja wanna-be-drone-swarm-master

lampokamera

Kuva: Lämpökamera kuvaa, lähde VideoDrone Finland

12 thoughts on “Projekti: Autonominen droneparvi

  • Mielenkiintoinen projekti!

    Kysynnän ennustaminen, tarvelaskenta ja automaattinen varaston täydentäminen vähittäiskauppaympäristössä ovat aiheita, jotka kiinnostavat minua ammatillisesti ja pohdin jatkuvasti miten aihepiirin asioita voisi tehdä entistä tehokkaamin ja paremmin. Toimin yrittäjänä juuri tällä sektorilla ja mielessäni on jo jonkin aikaa pyörinyt ajatus, johon liittyy fyysinen robotti (ajava tai lentävä). Tämän artikkelin bongatessani, ajattelin että nyt on hyvä aika tuoda ajatus julki :)

    Vaikka manuaalinen ja rutiininomainen täydennystilaaminen on pitkälti automatisoitavissa, tulee aina vastaan tilanteita, että on aihetta epäillä esimerkiksi yksittäisen tuotteen saldon paikkaansapitävyyttä. Saldoja vääristää vähittäiskaupassa monikin yksittäinen tekijä, ja mitä pidemmälle täydennystilaaminen on viety, sitä enemmän pitää panostaa saldojen paikkaansapitävyyteen. Saldojen tarkistamisen ohella, kaauppaketjujen keskushallinnoissa työskentelevillä toimihenkilöillä tulee usein tarve nähdä konkreettisesti miltä jonkin hyllyn ”face”/hyllykuva käytännössä näyttää ja onko asettelu visuaalisesti houkutteleva.

    Itse ajatukseen:

    Mitä jos myymälän (tai keskusvaraston!) jokainen hyllyväli kuvattaisiin molemmin puolin, vaikkapa ihmissilmän korkeudelta joka yö myymälän sulkeuduttua esimerkiksi dronella? Muodostuneesta materiaalista voitaisiin luoda Streetview-tyyppinen nevigoitava näkymä – ja kun sen yhdistää taustajärjestelmän tuotekohtaisiin sijaintitietoihin, niin paikalle voisi navigoida suoraan ERPistä tai ulkoisesta täydennysjärjestelmästä tuotekoodin perusteella. Ehkä järjestelmä voisi luoda kuvakollaasin miltä jonkin tuotteen esillepano näyttää kussakin myymälässä!

    Lähes yhtä mielenkiintoista olisi laajentaa materiaali kuluttajalle asti. Kuluttaja näkisi illalla verkkokaupasta click&collect -ostoksensa fyysisesti ennen ostoa. Ehkä hän voisi jopa täpätä hiirellä haluaamansa yksilöä ja järjesestelmä tallentaisi kuvan, joka näkyisi keräilypäätteessä. Ehkä kaukaa haettua, mutta mahdollista!

    Tekoälyn ja objektien tunnistamisen kehittyessä, drone voisi suorittaa inventaarion tietyissä tilanteissa automaatisesti. Tai vähintään ilmoittaa ihmiselle tilanteista, jotka kannattaisi tarkistaa ihmissilmin. Myös asiakkaiden siirtämät tuotteet voitaisiin löytää konenäön avulla ja ehdottaa ihmiselle siirtoa takaisin oikealle paikalleen?

    Tässä ideoitani. Jos aihepiiri kiinnostaa, jatkan keskustelua mielelläni :)

    • Moi Jani ja tosi iso kiitos kun toit idean pöytään!

      Itsekin olen vähittäiskaupassa paininut ja nuo saldojen paikkaansapitävyyden ja invetaarioihin liittyvät haasteet (ja käytetyt työtunnit) ovat hyvin tuttuja.

      Idea kuulostaa mainiolta. Itse en ole nimenomaisesti varastohallinnan expertti tuolla tasolla mutta kyllä tämä ehdottomasti kiinnostaa. Voitaisiin sopia joku päivä palaveri Helsinkiin. Muutenkin voisi keskustella vähittäiskaupan analytiikasta ja yhteistyökuvioista.

      Laitan viestiä LinkedInin kautta.

      Blogin kirjoittaja ja drone+MV+ML expertti Lauri saa kommentoida muuten noiden menetelmien soveltuvuutta tähän caseen.

      • Jep, hyvä kommentti, Jani. Jotakin samansuuntaista on pyörinyt itselläni mielessäni, mutta kun ei ole ollut itselläni asiantuntemusta eikä kontakteja tähän suuntaan lähipiirissä, niin on jäänyt ”epämääräinen idea” -tasolle.
        En ole ihan varma tarvitseeko tähän (tai onko paras vaihtoehto) multikopteri, mutta ainakin lentosää olisi ihanteellinen. Myös vakioreitti ja hyllyihin/lattiaan/kattoon tarvittaessa lisättävät suunnistusmerkit helpottaisivat navigointia huomattavasti, joten alkeellinenkin konenäkö välttäisi. Kunhan saan ”reverse engineeroitua” kopterin kontrolliprotokolan ja videostreamauksen (valmis kirjasto ei toiminutkaan), niin tätä voi koestaa melkein samantien muutamalla hyllyllä.

        • Jep, drone ei välttämättä ole tähän parhain, mutta toisaalta se pystyy liikkumaan vaivattomasti myös kerroksien välillä, eikä tarvitse opettaa hissin käyttöä :)

          Vakioreitti varmaan kannattaa suunnitella, sekä jokin logiikka siltä varalta että joku käytävä on joskus jotenkin lentokelvoton (esteitä tms.). Suunnistusmerkit helpottavat varmasti ja parasta olisi jos voisi hyödyntää olemassa olevia käytävillä ja hyllyissä olevia merkintöjä.

          Ville, ehdottomasti tavataan ja jutellaan tästä ja muusta lisää.

          Itsellänikään ei vielä ole hirveän laaja verkosto vähittäiskauppäpiireissä, mutta voisin ainakin parista paikasta kysyä mitä mieltä ovat tästä.

  • Tuli ostettua rintamiestalounelma/-painajainen.
    Ko. asumismuodon valinnut joutuu kaikennäköisen remppamyynnin kohteeeksi.

    Yksi näistä on lisäeristys/lämpökuvaus.

    Ehdotan että kuvaatte kierroksen yläilmoista ja systeemminen tunnistaa automaattisesti ne talot joissa on lämpövuotoja. Paikannus ko. talolle hoituu helposti GPS llä

    Sitten lentelemään ympäriinsä mielellään kovalla pakkasella (jos niitä sattuu vielä tulemaan) ja tallentamaan nuo ”harkan lämittäjien” osoitteet.

    Kertyneen datan voi sitten myydää luottavalle remontti firmalle .

    Kone voi tunnistaa myös kattoremontitarpeen jne.

    • Kiitos ideasta Keijo! Tätä pitäisi olla tehtävissä kohtuu helposti. Ainakin testattavissa. En tiedä miten dronen lennätys automaattisesti taajamassa onnistuu mutta pelkästään automaattinen lämpövuodon tunnistus olisi hyvä.

    • Hyvä idea, ehkä tästä jollekin voisi leipä lohjeta. Kaikki tekniikka tällaisen toimintaan on valmiina ja ostettavissa (vaikka juuri VideoDronelta tai muutamalta muulta toimijalta), joskaan ei ihan muutamalla satasella irtoa. Ja lisäksi kannattaa olla varovainen missä ja miten lentää jo lain puolesta. On myös huomioitava että osa ihmisistä saattaa ottaa kotitalon ympäri pörräävän dronen varsin henkilökohtaisesti, vaikka kuvattaisiin pelkkää lämpökuvaa. No, joka tapauksessa, hyvä idea ja moni voisi olla tyytyväinenkin, kun saa selkeät kuvat kotitalon lämpövuodoista.

      • Skaalautuvuudessaan ei ehkä miljardibusiness mutta juurikin kiinteistön omistajille tai remonttifirmoille varmasti tarpeellista tietoa ja kyllä tästä yrittäjä tai parikin leipänsä saisi.

  • Pientä päivitystä projektin tilanteeseen: jäissä.

    Drone lentää jo skripteillä, mutta se on toivottoman epästabiili ilman konenäköä… ylläri, kun laite maksoi mitä maksoi. Tällä hetkellä on videostreamin purku puolessa välissä. Streami saadaan luettua ja tallennettua, mutta sen kääntäminen kuvadataksi olikin vähän hankalampi rasti. Nyt tämä projekti on valitettavasti jäissä, koska kylmäpuhelut tuottivat tulosta aitousmerkintäprojektille ja tuote on viimeisteltävä asiakkaalle sopivaksi.

    Droneprojektin osa 2 kyllä ilmestyy heti, kunhan muut kiireet vähän helpottavat.

  • Maar tiedossa on, että autonominen lentäminen on laissa kiellettyä?

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *