tiistai 9. elokuuta 2016

TankkiBotti

Oh yeah! Maadoitusmittaukset Inspectalla on nyt tämän kesän osalta tehty, joten minulla on muutama viikko kesälomaa ennen Tekuun palaamista. Mikäpä sen mukavampi tapa viettää kesälomaa, kuin rakennella elektroniikkaa neljän seinän sisällä! No käyn minä joskus ulkonakin.

Kuten minut tuntevat tietävät, minulla on päällekkäin ja limittäin monia projekteja, joista osa valmistuu ja osa valmistuu aika tavalla hitaammin, jos silloinkaan. Jälkimmäiseen kategoriaan taitaa kuulua sääasema, jolla aloitin tämän blogin. Mutta hyvästä syystä: Kesän aikana päässäni kytenyt ajatelma telaketjuilla varustetusta robotista on lähes huomaamatta edennyt jo tekemisen asteelle. Saanko esitellä, TankkiBotti:



TankkiBotti, versio alfa piste Jägermaister. Huomaa ultraäänisensorin professionaalinen ripustus. Yritin selittää Ninalle että ei, en leiki Legoilla vaan teen tuotekehitystä. Ei tainnut uskoa.

Kuvassa tankkibotti on suunnilleen siinä kuosissa, mitä alunperin kaavailin. Aivoina toimii Arduino Leonardo, johon on yhdistetty botin keulassa kököttävä ultraäänellä toimiva etäisyysmittari ja L239D moottorinohjain. Tankin runko on puolivalmis radio-ohjattavan panssarivaunun alaosa, joka sisälsi vain moottorit ja telat, ja oli siksi varsin edullinen. Koska pelkkä esteitä väistelevä robotti on hauska noin 10 minuuttia ja hyödyllinen kuin kivi, bottiin tulee vielä lisää tavaraa kiinni:

  • Raspberry Pi -nanotietokone ja siihen sopiva kamera
    • Debian Linux (Raspbian Jessie)
    • Infrapunakamera ja IR-ledit pimeässä liikkumista varten
    • OpenCV -ohjelmisto kasvojen- ja reitintunnistusta varten
  • Servomoottoreilla liikutettava alusta kameralle ja ultraäänisensorille
  • 3.3V regulaattori infrapunaledeille ja 5V regulaattori Raspille ja Arduinolle
  • Lämpötilasensori
Asensin Pi:hin Raspbian-käyttöjärjestelmän ja testasin että kamera ja infrapunaledit toimivat. IR-ledit ovat 3W tehoisia ja liian virtasyöppöjä liitettäväksi suoraan Pi:hin, vaikka ne ilmeisesti valmistajan mukaan on niin tarkoitettu laitettavan. Raspiparka jäätyi ja käynnistyi uudelleen muutaman kerran ledien kanssa kikkaillessani. Siispä laitan niille oman 3.3V regulaattorin suoraan pääjännitelähteestä (joka on tällä hetkellä 4 x AA-paristoja). Huomattava määrä koodaamista ja säätämistä on vielä edessä: Koneeseen tulee web-serveri, joka streamaa videokuvaa esim puhelimen näytölle, ja näyttää kuvan yhteydessä käyttöliittymän, jolla tankkia ja kameraa voi ohjata etänä. Raspi lähettää kontrollit sarjaportilla Arduinolle, joka hoitaa varsinaisen moottorien käytön ja sensorien lukemisen

Kiinalaiset ylittivät taas itsensä: Gimbaalin servojen kiinnityspalat olivat mallia liian iso, mutta siitä selvittiin ihan perinteisesti puukolla. Sitä lukuunottamatta moottoroidun jalustan kasaus oli hyvin simppeli operaatio.

Seuraavaksi olisi vuorossa Raspin ja Arduinon välisen dataliikenteen määrittely ja testaus. Lisäksi pitää miettiä myös robotin itsenäistä toimintaa, eihän se muuten olisi edes robotti vaan hieno radio-ohjattava. Visiot on ainakin kovat, miten hienoa olisi jos robotti haahuilisi ympäriinsä ja tunnistaisi ihmisten (ja miksei eläintenkin :D) kasvot, ja tervehtisi kaiuttimesta kantautuvalla sieluttomalla koneäänellään "Tervehdys oi mestarini". Noh, katsellaan :P

Ei kommentteja:

Lähetä kommentti