Autopilotti

Moderators: Petri, harald

Olli
hyperaktiivi
Posts: 2050
Joined: Wed May 19, 2004 20:16 pm
Location: Helsinki

Post by Olli »

Joakim wrote:Tuo nyt kuitenkin käyttää kympin gyroja: http://search.digikey.com/scripts/DkSea ... 97-8230-ND

Veneessä ei tarvita 6:tta vapausastetta.
Ei tarvita, mutta pointti on siinä, että toi on avointa koodia ja rautaa. Sitä ei tarvitse ostaa tuolta, vaan jos härpättimessä on jotain käyttökelpoista, niin sitä voi hyödyntää keksimättä kaikkea alusta lähtien. Tossa on kuitenkin jo kytkennät ja softat noiden kympin gyrojen ja gepsin kytkemiseksi arduinoon.

...Ja vaikkei autopilotti sinänsä tarvitse noita kaikkia tietoja, niin voisihan sille datalle keksiä joskus jotain muuta käyttöä... Kolmen akselin gyro olisi siitä hyvä, että kallistuksen ja nyökkimisen voisi yrittää kompensoida pois vaikkapa tuulianturin datasta... Ja saattaisi niistä kiihtyvyysantureistakin löytyä joskus jotain mielenkiintoista tietoa veneen käyttäytymisestä aallokossa.
Olli Niemi
Handy
Hallitus
Posts: 348
Joined: Sun May 24, 2009 19:18 pm
Vene: Adios

Post by Handy »

Eikai tuota ohjainta välttämättä tarvitse esim st1000:n sisään rakentaa. Tokin jonkun verran elektroniikkaa sinne sisällekin varmaan tarvitaan.

Tuosta arduinosta tuli vaan mieleen suunnitelma talven pimeiden iltojen varalle, eli rakentaa arduinosta data loggeri. Ajatus olisi logata (melkein) kaikki NMEA data sd-kortille. Voisi jättää tuon ja tuulimittarin vaikka pidemmäksi ajaksi päälle. Ja lämpötila/kosteus/kiihtyvyys tms antureita voi sitten logata seuraavassa versiossa. Tästä aiheesta voi sitten tarvittaessa aloittaa oman threadin joskus kun projekti alkaa.
jr

Post by jr »

Varsinainen Arduino-villitys meneillään?

Oma talviaskarteluidea on rakentaa arduinon pohjalle joku häkkyrä, joka vertaa VMG:tä polaareihin ja sitten indikoi ledeillä, lcd:llä tms. kulkeeko vene hyvin vai huonosti.

Katselmoidaan sitten keväämmällä, mitä itsekukin on saanut talven pimeinä iltoina aikaan :D
Olli
hyperaktiivi
Posts: 2050
Joined: Wed May 19, 2004 20:16 pm
Location: Helsinki

Post by Olli »

Handy wrote:Eikai tuota ohjainta välttämättä tarvitse esim st1000:n sisään rakentaa. Tokin jonkun verran elektroniikkaa sinne sisällekin varmaan tarvitaan.
Ei tarvitse, mutta kun tuo st1000 löytyy monelta valmiiksi, niin olisi hyvä tehdä sellainen värkki, joka mahtuu sinne vanhan elektroniikan tilalle/lisäksi. Mun mielestä olisi aika sopiva ratkaisu irrottaa vanhat sisuskalut, ja laittaa uusi himmeli sinne. Muualle ei tarvittaisi muutoksia, ja aina voisi vaihtaa vanhat rojut takaisin, jos tosta tulisi huonompi...
Handy wrote:Tuosta arduinosta tuli vaan mieleen suunnitelma talven pimeiden iltojen varalle, eli rakentaa arduinosta data loggeri. Ajatus olisi logata (melkein) kaikki NMEA data sd-kortille. Voisi jättää tuon ja tuulimittarin vaikka pidemmäksi ajaksi päälle. Ja lämpötila/kosteus/kiihtyvyys tms antureita voi sitten logata seuraavassa versiossa. Tästä aiheesta voi sitten tarvittaessa aloittaa oman threadin joskus kun projekti alkaa.
Tohon kun vielä virittäisi nettiyhteyden, niin voisi kotoa katsella paljonko rannassa tuulee, ja näkisi myös onko vene tallella 8)
Olli Niemi
Olli
hyperaktiivi
Posts: 2050
Joined: Wed May 19, 2004 20:16 pm
Location: Helsinki

Post by Olli »

jr wrote:Oma talviaskarteluidea on rakentaa arduinon pohjalle joku häkkyrä, joka vertaa VMG:tä polaareihin ja sitten indikoi ledeillä, lcd:llä tms. kulkeeko vene hyvin vai huonosti.
Heh, samankaltaista olen itsekin miettinyt. Nyt on kuitenkin ensin menossa projekti koplata arduino OBD2 porttiin autossa...
Olli Niemi
Panu
hyperaktiivi
Posts: 2287
Joined: Tue Apr 06, 2004 21:33 pm
Location: Espoo

Post by Panu »

Tervehdys

On kiva huomata, ropelipipon potkuri pyörii vielä purjehduskauden jäljiltäkin =D>. Hieno homma.

On se jännä miten tuo "sähkövirittäjä" on oma rotunsa. Olen seurannut läheltä erästä purjehtivaa tuttua tuon lajin edustajaa jo parin vuosikymmenen ajan. Villit (ja toteutettavissa olevia) ovat olleet hänen ideansa. Ehkä yksi parhaista muistamistani oli GPS:n alkuaikoina (kun laitteiden hinnat olivat yli 20 000mk) yhdistää langattomasti (reilusti aikaa ennen blu tööttiä) Lynx pelikonsoli (karttapohjineen) itse rakennettuun GPS vastaanottimeen. Olisi kuulema ollut ihan tehtävissäkin ja aiiii niiiiiin kiva ja näppärä vekotin saaristonavigoinnissa :-k .

Eräs toinen hänen ajatuksensa oli yhdistää purjehdusmittaristo (tuuli, nopeus, kaiku ja kompassi) kiihtyvyysantureiden dataan ja veneen polaarikäyriin siten, että oppiva keinoäly auttaisi aktiivisesti veneen trimmien optimoinnin kanssa ottaen huomioon vallitsevan tuulen ja aallokon :) . Helpottaisi kovasti monen aloittelevan kilpapurjehtija alkutaivalta venevauhdin osalta.

Puhuttiin kerran elektronisen kartta-aineiston modaamisesta siten, että vesialueet jaettaisiin veneen syväys huomioiden kahteen tasoon, turvalliseen ja turvattomaan veteen. Tämä antaisi helpon mahdollisuuden automatisoida karttaplotterin ohjelmiston varoittamaan etukäteen uhkaavista törmäyksistä kivikoihin jne :? .
Ystävällisin veneily terveisin PR
Joakim
yliluti
Posts: 950
Joined: Thu Aug 20, 2009 12:53 pm

Post by Joakim »

Handy wrote:Eikai tuota ohjainta välttämättä tarvitse esim st1000:n sisään rakentaa. Tokin jonkun verran elektroniikkaa sinne sisällekin varmaan tarvitaan.
Ei ja ainakin Raymarine kovasti määrää asentamaan sen gyron paljon lähemmäs veneen keskiosaa kuin pinnapilotti, joka vielä heiluu itse kun tekee työtään eli on varsin huono paikka kulmamittaukseen.
Handy wrote: Tuosta arduinosta tuli vaan mieleen suunnitelma talven pimeiden iltojen varalle, eli rakentaa arduinosta data loggeri. Ajatus olisi logata (melkein) kaikki NMEA data sd-kortille. Voisi jättää tuon ja tuulimittarin vaikka pidemmäksi ajaksi päälle.
No tollainenhan on ollut veneessä jo kaksi vuotta. Tosin alustana on NSLU2+Linux, data menee USB-tikulle Nexuksen FDX-muodossa ja targetit näkyy Nexuksen tuulimittarissa kakkuviipaleena. Paljon mukavampi tuollaista Linux-purkkia on ohjelmoida. Mahtuu kämmenelle ja vie 3 W tehoa.
Joakim
yliluti
Posts: 950
Joined: Thu Aug 20, 2009 12:53 pm

Post by Joakim »

Tuli kurkattua ST2000+:n sisälle. Työntövartta liikutellaan sähkömoottorilla, joka kahden hihnan välityksellä pyörittää työntövarren sisällä olevaa piiitkää kierretankoa. Mitään asennontunnistinta ei ole ja moottori on aivan tavallinen ei siis askelmoottori. Toisin sanoen ohjain ei tiedä työntövarren asentoa.

Miten tuollaisessa toteutetaan PID-säädin tai mikään muukaan säätö järkevästi?

Millainen on ST1000:n rakenne.
Petri
FE-junkie
Posts: 3931
Joined: Thu May 29, 2003 01:17 am
Location: Espoo

Post by Petri »

Joakim wrote:Tuli kurkattua ST2000+:n sisälle. Työntövartta liikutellaan sähkömoottorilla, joka kahden hihnan välityksellä pyörittää työntövarren sisällä olevaa piiitkää kierretankoa. Mitään asennontunnistinta ei ole ja moottori on aivan tavallinen ei siis askelmoottori. Toisin sanoen ohjain ei tiedä työntövarren asentoa.

Miten tuollaisessa toteutetaan PID-säädin tai mikään muukaan säätö järkevästi?
Eihän PID sinänsä vaadi tuollaista tietoa, riittää että se tietää miten haluttu suure muuttuu ja toimintaparametrit lasketaan sen perusteella (ainakin siis kehittyneemmissä laitteistoissa, esim. kryojärjestelmien lämpökontrollerit).
Joakim
yliluti
Posts: 950
Joined: Thu Aug 20, 2009 12:53 pm

Post by Joakim »

Petri wrote: Eihän PID sinänsä vaadi tuollaista tietoa, riittää että se tietää miten haluttu suure muuttuu ja toimintaparametrit lasketaan sen perusteella (ainakin siis kehittyneemmissä laitteistoissa, esim. kryojärjestelmien lämpökontrollerit).
No ehkä ei, mutta tuntuisi järkevältä, että säätöarvo olisi työntövarren asento eikä ainoastaan sen liike. Nythän säädöllä on tavallaan vain kolme tilaa: liikkuu vasemmalle, liikkuu oikealle ja on paikallaan. Tietysti liikettä voi tehdä eri aikamääriä kerraallaan. Säätöä myös haitannee se, ettei ole tietoa siitä ollaanko juuri törmäämässä rajoittimeen vai ei. Integraattorin antiwindup ainakin tarvitsisi tietoa säätövarasta.

Kalliimmissa piloteissa on aina asentotunnistin, joten kai siitä on apua.

Miten Petri toteuttaisi PIDin tuollaiselle ilman asentotunnistinta? Asentotunnistimella voisi PID-yhtälöllä laskea suoraan asennon, johon työntövarsi laitetaan. Jos asentoa ei tiedetä vaan säätö perustuu ainoastaan säätösuuntaan, mitä eroa on PID-yhtälön arvolla +1 ja +100? Kummallakin säädetään +-suuntaan, kunnes PID on nolla tai negatiivinen?
Petri
FE-junkie
Posts: 3931
Joined: Thu May 29, 2003 01:17 am
Location: Espoo

Post by Petri »

Joakim wrote: No ehkä ei, mutta tuntuisi järkevältä, että säätöarvo olisi työntövarren asento eikä ainoastaan sen liike. Nythän säädöllä on tavallaan vain kolme tilaa: liikkuu vasemmalle, liikkuu oikealle ja on paikallaan. Tietysti liikettä voi tehdä eri aikamääriä kerraallaan. Säätöä myös haitannee se, ettei ole tietoa siitä ollaanko juuri törmäämässä rajoittimeen vai ei. Integraattorin antiwindup ainakin tarvitsisi tietoa säätövarasta.
No siis lämpötilakontrolloinnissa (jonka parissa olen itse puuhastellut paljon) monesti toimitaan juuri pelkästään muutoksen kanssa, koska lämpövuo itse mittauspisteeseen ei ole sama kuin mitä sitten työnnetään lämmitysvastukseen. Kuitenkin kun nykyään näytteistystaajuus voi jo olla korkea ja piireistä löytyy potkua, niin pelkällä muutoksella (ts. ero targettiin, tyypillisesti "e"-arvo) voi ihan hyvin kontrolloida systeemiä, kunhan siis PID-parametrit säädetään vastaamaan ko. systeemiä. Tätä varten kaupallisissa laitteissa on Autotune-toiminnot, jotka ajavat säätöajoja automaagisesti ja arpovat sopivat PID:t, joitten perusteella ulostuloteho säädetään vastaamaan haluttua muutostekijää.
Miten Petri toteuttaisi PIDin tuollaiselle ilman asentotunnistinta? Asentotunnistimella voisi PID-yhtälöllä laskea suoraan asennon, johon työntövarsi laitetaan. Jos asentoa ei tiedetä vaan säätö perustuu ainoastaan säätösuuntaan, mitä eroa on PID-yhtälön arvolla +1 ja +100? Kummallakin säädetään +-suuntaan, kunnes PID on nolla tai negatiivinen?
Ilman asentotietoa kysehän on vain laskennan taajuudesta ja näytteistystaajuudesta (onneksi sentään purjeveneessä toimintaviive on varsin pieni, lämpötilahommissa kun lämpötasapainon kanssa voi kestää ikuisuuksia mikä tekee säädöstä hankalaa). PID-laskennan ulostuloahan yleensä skaalataan jollekin halutulle arvoalueelle, jossa voi hyvin määritellä että jos ulostulo on <x niin ohjaukselle ei tehdä mitään.
Eli noin esimerkkisi itse mieltäisin siten, että jos PID:n säätöparametrit normitetaan välille -100-+100 niin arvolla 1 ohjaussignaaliin ei käytännössä kosketa mitenkään, mutta arvolla 100 sitten vedetään "täysi oikealle" kunnes seuraavassa laskentatapahtumassa tarkastetaan muutoksen suuruutta.
Varmasti asentotiedosta on apua, koska sen infoa voi käyttää hyväkseen, mutta ei se sinänsä välttämätön ole mun nähdäkseni, mutta tämä siis ihan teoriatason toteamuksena, juuri ne "epämääräiset" parametrit systeemeissä pakottavat käyttämään tuonkaltaisia systeemeitä paremman tarkkuuden saamiseksi. Voi siis olla, että purjeveneen ohjailu on itseasiassa varsin hankalaa. Luulen, että hankalin tapaus kai olisi se että vene on jo esim. kryssillä kääntynyt piihin tai yli, kahden suunnan säätö on mielestäni haastavampaa kuin pelkkä yhden suunnan säätö, missä systeemi tuottaa sinänsä staattisen vastavoiman. Voi olla että koska vastavoiman suunta vaihtelee niin sen takia asentotieto on must, että algoritmi voi päätellä jo siitä että onko peräsin periaatteessa oikeassa asennossa mutta vastavoiman suunta vain hetkellisesti muuttui (nouseva/laskeva puuska). No, ajan yli integroimalla tämän saa toki suodatettua.

Mutta siis pointti yhä on se, ettei PID-algoritmin sinänsä tarvitse tietää mitään siitä mitä tapahtuu algoritmin ulkopuolella (pl. "e"). Olen tehnyt kosteudensäätösysteemin, missä suljetun tilan suhteellista kosteutta säädetään RH1% sisälle PID-laskennalla, missä algoritmistä tulee ulos liukulukuja 0-10 (0 siis tarkoittaa että älä tee mitään, systeemin negatiiviset voimat tuottavat negatiivisen komponentin) jotka muunnetaan Fieldpoint-ulostuloa varten 0-0,5 voltin ulostulojännitteeksi, joka säätää ultraäänikosteutinta. Tässä systeemissä ei (muistaakseni, tein tuon 1,5 vuotta sitten päivässä tai jotain sinnepäin ja sittemmin useampi ihminen on twiikkaillut peruskoodia) ole mitään tarkistusta aiemmista säätöarvoista, vain "e":n mittaus ja sen perusteella tapahtuva säätö muistaakseni 10 kertaa sekunnissa. Tuloksena kuitenkin about niin tarkka kosteudenhallinta kuin on mahdollista (90% jakaumasta RH1% sisällä) systeemin parametrit huomioiden. Kuvaavaa kyllä on, että alle 100 eurolla saisi vastaavan kaupallisen kivan pikkuboksin joka tekee tuon kaiken automaagisesti siinä missä tuo systeemi vaatii sen tonnin (rauta+lisenssit) tietokoneen alustakseen :)

Mutta siis sen minkä olen "säätämisestä" oppinut on se, että siihen sisältyy paljon säätämistä ja ensin kannattaa kokeilla mahdollisimman yksinkertaisella tavalla että systeemin omat piirteet tulevat tutuksi ja sitten vasta suunnitella uber-järjestelmää joka täyttää veroilmoituksenkin siinä ohessa. Joskus kun se yksinkertaisinkin riittää.
Joakim
yliluti
Posts: 950
Joined: Thu Aug 20, 2009 12:53 pm

Post by Joakim »

Uskoisin, että tuo purjeveneen autopilotti ei ole helppoa säätämistä, varsinkin halutessa pitää myös virrankulutus kohtuullisena. Monesta muusta säätökohteesta poiketen voimakkaita ulkoisia vaikuttimia tulee jatkuvasti.

Tässä muuten hyvältä vaikuttavia työyksiköitä pinnapilotiksi: http://www.linak.fi/Tuotteet/?id2=2025

LA30 riittäisi, mutta ei kuulemma tykkää merivedestä välttämättä, vaikka saakin IP66-luokitettuna. LA36 sitten kestää kuulemma hiekoitusautoissakin. Molemmat ovat vähintään samaa tasoa kuin SPX-5/ST4000 ominaisuuksiltaan ja molempiin saa asentotunnistimen joko potentiometrillä tai pulssianturina. Hintataso yksittäin 400-500 sis ALV. 10 kpl tilauksessa sitten jo huomattavasti halvempi.
Petri
FE-junkie
Posts: 3931
Joined: Thu May 29, 2003 01:17 am
Location: Espoo

Post by Petri »

Joakim wrote:Uskoisin, että tuo purjeveneen autopilotti ei ole helppoa säätämistä, varsinkin halutessa pitää myös virrankulutus kohtuullisena. Monesta muusta säätökohteesta poiketen voimakkaita ulkoisia vaikuttimia tulee jatkuvasti.
Virrankulutus on toki oma juttunsa, mutta jos nyt ajatellaan helpointa tilannetta eli koneajoa keskikelistä alaspäin, niin määrittämällä säätöön eri zoneja ja niitä vastaamaan sitten omat suodatuksensa niin jos 8-vuotias osaa ajaa venettä suoraan niin ei se paljoa vaadi koneeltakaan (eli suodatuksilla juuri lisätään "älä muuta mitään"-toimintaa autopilotille silloin kun kaikki on ok). Tässä keskustelussa monesti mainittu kiemurtelu aiheutuu juuri siitä, kun autopilotti tahtoo tehdä liikaa vaikkei siihen ole tarvetta. Sitten kun pilottiin vielä yhdistäisi voima-anturin mittamaan pinnapainetta niin... :)

Kovassa kelissä kryssi/lenssi on sitten toki oma lukunsa, mutta ihan noin säätötekniikan kannalta en näe asiassa suurta teknistä ongelmaa, käytäntö sitten erikseen. Se, että kuitekin kaupallisia ratkaisuita löytyy parin tonnin hintahaarukassa kertoo, ettei homma sinänsä ole rakettitiedettä.
Joakim
yliluti
Posts: 950
Joined: Thu Aug 20, 2009 12:53 pm

Post by Joakim »

Petri wrote: 8-vuotias osaa ajaa venettä suoraan niin ei se paljoa vaadi koneeltakaan
Meillä vene on mennyt suoraan jo 5-vuotiaana, mutta 5-vuotias osaa monta sellaista asiaa, joka ei todellakaan ole helppoa koneelta. Vaikkapa fillarin ajaminen tai käveleminen ovat aika vaativia juttuja koneille.

Suoraan ajaminen perustuu koneella ajaessa hyvin vahvasti näköhavaintoon, joka antaa erittäin tarkan ja suoran palautteen suunnasta. Pimeässä/sumussa ei kaikilla veneillä pysty kokenutkaan pinnamies ajamaan suoraan edes tyydyttävästi. Erityisen vaikeaksi homma menee ilman sopivasti vaimennettua kompassia.

Purjein taas sopivissa oloissa voi ajaa silmät kiinni hyvinkin suoraan.
Petri wrote: Kovassa kelissä kryssi/lenssi on sitten toki oma lukunsa, mutta ihan noin säätötekniikan kannalta en näe asiassa suurta teknistä ongelmaa, käytäntö sitten erikseen. Se, että kuitekin kaupallisia ratkaisuita löytyy parin tonnin hintahaarukassa kertoo, ettei homma sinänsä ole rakettitiedettä.
Ei se varmasti ole rakettitiedettä, mutta ST1000/2000 huono kyky ohjata panee miettimään, ettei se myöskään ole aivan simppeliä. Kyllähän tuonkin saa kuitenkin toimimaan koneella-ajossa helpossa kelissä riittävän hyvin, mutta ei sitten enää toimi purjehtiessa tai muuten vaikeammissa oloissa alkuunkaan. Kyllä tavoitteen pitää olla paljon korkeammalla, jos tällaiseen projektiin lähdetään.

Noista ST1000/2000 piloteista menee kuulemma aika usein ohjainkortteja. Mistähän saisi ilmaiseksi noita ohjainkorttivikaisia? Tuskin maahantuojalta?
Petri
FE-junkie
Posts: 3931
Joined: Thu May 29, 2003 01:17 am
Location: Espoo

Post by Petri »

Joakim wrote: Suoraan ajaminen perustuu koneella ajaessa hyvin vahvasti näköhavaintoon, joka antaa erittäin tarkan ja suoran palautteen suunnasta. Pimeässä/sumussa ei kaikilla veneillä pysty kokenutkaan pinnamies ajamaan suoraan edes tyydyttävästi. Erityisen vaikeaksi homma menee ilman sopivasti vaimennettua kompassia.
Tässähän kyllä sitten juuri koneäly ja sopivat suodatusalgoritmit pärjäävät ihmistä paremmin, Airbussin lentokoneet lentäisivät nykyään haluttaessa täysin automaattisesti portilta portille (no, ehkä rullausta kiitotielle ei ole vielä automatisoitu) mikä osoittaa toki sen että isolla rahalla saa vaikka mitä :)

Mutta siis olennainen osio toimivaa autopilottia olisi juuri vähintään GPS-syöte, jonka datasta on aika triviaalia laskea nopeusvektoria. Tällön jopa päästäisiin helposti tässäkin ketjussa esitettyyn waypoint-navigointiin ts. Hangosta Helsinkiin rannikkoväylää pitkin kannella aurinkoa ottaen, muuttaisi aika voimakkaasti mahdollisuuksia roudata venettä esim. kisoja varten jos ajoajan voisi käyttää hyödykseen eri tavoilla. No, toki sitten jonkinlainen tähystys voisi olla poikaa ettei käy kuten kesällä kävi :)
Ei se varmasti ole rakettitiedettä, mutta ST1000/2000 huono kyky ohjata panee miettimään, ettei se myöskään ole aivan simppeliä. Kyllähän tuonkin saa kuitenkin toimimaan koneella-ajossa helpossa kelissä riittävän hyvin, mutta ei sitten enää toimi purjehtiessa tai muuten vaikeammissa oloissa alkuunkaan. Kyllä tavoitteen pitää olla paljon korkeammalla, jos tällaiseen projektiin lähdetään.
Mä luulen, että iso ongelma tulee ihan puhtaasti siitä että eri veneet ovat erilaisia ja kokemuksesta voin sanoa että jos systeemit eroavat parametreiltään toisistaan, niin toisen systeemin PID-parametreillä ei saa mitään aikaiseksi.
Eli uskoisin, että olemassaolevien autopilottien suorituskykyä olisi parannettavissa jos olisi mahdollista kustomoida säätöalgoritmejä venekohtaisesti. Jos nyt käytössä on yksi? säätötekijä, niin ei sillä kyllä vielä kuuhun mennä, P-säädön mahdollisuudet ovat rajatut (olen nimittäin kyllä ollut osallisena P-säädölläkin toimivan systeemin kehityksessä, mikä taas kerran toimi ihan näppärästi niin kauan kunnes toimintaparametrit muuttuivat milloin olisi tarvittu I:tä ja D:tä).
Post Reply