Ariadne kaipailee autopilottia. Yksin purjehtiessa ei ruoria voi pitkäksi aikaa jättää joten autopilotti on ollut ajatuksissa. Niiden hinnat Ariadnen kokoluokassa (12,5m ja 11 tonnia) ovat aika korkeat ja siksi aloin etsiä muita vaihtoehtoja. Koska Ariadnessa on jo OpenCPN käytössä ja se todistetusti toimii hyvin niin etsin siihen liittyviä autopilottijuttuja. Löytyi pypilot eli Pythonilla tehty open source autopilotti. Se toimii Raspberryssä ja integroituu OpenCPN:n kanssa. Se tarvitsee tietenkin työyksikön ja sen ohjaimen joka on usein tehty Arduinolla. Ohjaimeen liittyvää juttua löytyi pypilotin lisäksi täältä: linkki.

Arduino työyksikön ohjaimena

Käynnistin autopilottiprojektin työyksikön ohjaimen tekemisellä. Jos se toimii niin voin myöhemmin etsiä sopivan kaupallisen työyksikön sillä sellaisessa olisi tällä hetkellä turhan paljon engineeringiä tiedossa. Yllämainitun linkin takaa löytyi hiukan modifioitu moottoriohjainkoodi alkuperäisestä pypilot projektista. Moottoriohjaimeksi tuli Arduino Nano. Varsinkin kehitysvaihetta helpottava näyttö vaihtui ST7735 pohjaisesta ST7789 käyttävään 1,3″ kokoiseen 240×240 värinäyttöön joka edellytti hiukan koodin muuttamista. Muutokset rajoittuivat näytön ohjauskirjaston muuttamiseen ST7789:lle sopivaksi, ST7735 alkuisten värivakioiden muuttamisen vastaaviksi ST77XX alkuisiksi ja näytön koon muutoksesta johtuviin koordinaattimuutoksiin. Nyt se pelaa joten seuraavaksi Raspberry Pi tulille ja kiinni tähän ja sitten työyksikkökauppaan!

Raspberry Pi Zero W

Itse autopilottina toimii Raspberry Pi ja oma valinta kohdistui kevyeen zero malliin jossa on WLAN mukana. Toinen vaihtoehto olisi asentaa pypilot jo olemassaolevaan Raspberry Pi 3+:aan joka toimii Ariadnessa navigaattorina. Jätin sen kuitenkin rauhaan, sillä saattaa olla eduksi kun autopilotti on erillisenä.

Käyttöjärjestelmäksi latasin microSD kortille Raspberryn normikäyttöjärjestelmän sijaan tinypilotin, joka on kevyt linux versio ja jossa on pypilot valmiina. Aluksi oli tarkoitus rakentaa homma Raspberry Liten päälle kun siihen sai reippaasti työkaluja, mutta lopulta tinypilot ratkaisi monta python lisäpalikan asennusta ja kääntämistä. Tinypilot heräsi henkiin heti ensimmäisellä bootilla ja tässä pari screen shottia (moottorinohjain on vielä irti joten ko. servoilmoitukset ovat aivan oikein, IMU anturi on puolestaan kiinni joten pitchit jne ovat oikeaa dataa):