GPSpiloot

User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

GPSpiloot

Post by -Ilmar- »

Elou!

Kuidas Teil ka leiutamisega läheb? Pikka aega vaikus...

Ajasite mul kah isu peale.
Ise olen pikemat aega pusinud PIC protsessoritega. GPS ja PIC oli mul juba paaritatud. Suuna arvutamiseks kasutasin abimaterjali:
http://www.ee.ucr.edu/~dgiles/sendesign ... kZilla.pdf

Hetkel arvutab koordinaadi 58 20 47.7N 25 36 41.0E suuna. 143.7°
Image

Servo on hetkel pandud lihtsalt kompassi suuna järgi vehkima.

Plaan on asi aretada esialgu mingile mudelautole ja vaadata kuidas kohale sõidab...

Parimat soovides,
-Ilmar-
User avatar
tola555
Posts: 348
Joined: Thu Mar 15, 2007 13:24

Post by tola555 »

kuidas ta sul laua peal suuna arvutab? Vanasti oli selleks vaja gps seadme liikumist.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Sa mõtled ikka GPSi kompassi suunda?
See GPS vajab kah tegelikult liikumist. Aga tundub, kui paigal seisab siis GPS koordinaadid ikka muutuvad ja ju ta selle järgi arvutab suuna.
Ega see suund muutub ka 0-360, paigal ei püsi. Pildil on paigal :)

-Ilmar-
AndrusT
Posts: 541
Joined: Mon Mar 05, 2007 19:41
Location: Tallinn

Post by AndrusT »

Huvid on sarnased aga platvormid on erinevad. Endal ka plaanis tulevikus midagi GPS-iga ette võtta. Ma jäin esialgu Parallax Javelin protsessori juurde, millega teen alles esimesi katsetusi. Javelini valiku põhjuseid on mitu. Kuid arvatavasti kasvan sellest varsti välja. Mõnes mõttes kahju, et ei saa koostööd lähtekoodi tasemel teha. Samas on sellel platvormide paljususel ka omad plussid.

-Ilmar-, kaua PIC kiipidega tegelenud?
Miks PIC kiibid? Kas oled uurinud ka teisi protsessoreid?


PS: Vabandust, et veidi teemast välja kirjutasin.
pipercub
Posts: 516
Joined: Wed Dec 13, 2006 13:10
Location: Tartu

Post by pipercub »

Kas mitte GPS-d ei anna suunavektorit otse välja, pealegi koordinaatidest 10x sagedamini.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

pipercub
- Minu GPS väljastab enda koordinaadi ja "liikumise" ajal suunda iga sekundi järel.
PIC arvutab enda koordinaadi ja punktiB koordinaadi nurga.
Seejärel tuleb teha kursimuutus...

AndrusT
- PICiga olen tegelenud, otsisin oma vanu projekte, leidsin aastast 2001. Endale tundub, et nagu oleks kauem olnud :)
Sisuliselt alustasin assembleris kirjutamist, kuid nüüd kuna oli vaja
koordinaate arvutada proovisin MikroC keelt. Miks PIC, arvan, et olen
saanud oma asjad aetud.

Parimat,
-Ilmar-
User avatar
lauri
Administrator
Posts: 3057
Joined: Wed Jul 20, 2005 23:13
Location: Tallinn, Estonia
Contact:

Post by lauri »

Kas oled sinna sisse ehitanud juba ka mingeid servo juhtimise lisavidinaid ja loogikat, mis on hädavajalikud. Näiteks kui palju liigub servo siis, kui kurss on väga vale - näiteks 180 kraadi vale. Kui palju liigub servo siis, kui kurss nihkub 5 kraadi valeks.

Sisuliselt võta see süsteem, pane ElektroUHU-le peale ja lendu varsti :roll: Täeisti eraldiseisev süsteem võib kõrgust korrigeerida või ehitad selle ka sama süsteemi sisse?
Lauri Laidna - www.pistik.com
User avatar
tola555
Posts: 348
Joined: Thu Mar 15, 2007 13:24

Post by tola555 »

-Ilmar- wrote: See GPS vajab kah tegelikult liikumist. Aga tundub, kui paigal seisab siis GPS koordinaadid ikka muutuvad ja ju ta selle järgi arvutab suuna.
Ega see suund muutub ka 0-360, paigal ei püsi. Pildil on paigal :)

-Ilmar-
pipercub wrote:Kas mitte GPS-d ei anna suunavektorit otse välja, pealegi koordinaatidest 10x sagedamini.
GPS peaks võtma koordinaadi, meelde jätma ja võtma uue koordinaadi. Siis kui uus koordinaat on eelmisest põhjapool, siis on liigutud põhja suunas ja põhi on liikumise suunas. Ei tea tema maa magnetväljast tuhkagi. Oskab ainult koordinaatide järgi arvutada, et liikusid X meetrit kuskile suunda.
Kui sul, -Ilmar-, kohapeal seistes arvutab suuna, siis on see väga kahtlase täpsusega. Vast tingitud su vastuvõtja ebatäpsusest ja mürast.

Parandage/täiendage kui arvate midagi muud.
AndrusT
Posts: 541
Joined: Mon Mar 05, 2007 19:41
Location: Tallinn

Post by AndrusT »

Nagu juba eelnevast jutust välja tuli, sisaldab iga mõõtmine müra, sh. ka GPS mõõtmine.

-Ilmar-,
Kuidas müra summutad? Milliseid mürasummutuse algoritme või nippe kasutad? Või pole müra probleemiks?
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Poogi miskit sellist ka külge:
http://www.freescale.com/files/sensors/ ... X4115A.pdf
siis saaks ehk Elektro UHU ka reisima lasta!
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Lauri
-Praegu on servo katse seotud liikumisesuuna kraadiga.
Ehk, 360° on jagatud viieks ja servo käik 90° vastavalt kraadidele viieks.
Tahtsin näha kas servo liigub kui kraadid muutuvad. Servo pole veel seotud kursiga. Hiljem arvutab kursi ja suuna vahe ja sealt servo nurga.

GPSi mürast pole hetkel välja teinud :P

-Ilmar-
pipercub
Posts: 516
Joined: Wed Dec 13, 2006 13:10
Location: Tartu

Post by pipercub »

Tahtsin öelda, et minu teada on paljud funktsioonid juba GPS vastuvõtjasse sisse ehitatud. Koos Kalmani filtritega mürasummutamiseks. Koordinaadi lugemise funktsiooni kasutatakse ainult süsteemi algseks positsioneerimiseks ja hiljem korrigeerimiseks. Asendinformatsiooni annab GPS välja 1x/s(5x?). Liikumisvektorit väljastatakse 10x sekundis(mõnedel andmetel 50-100x) ja sisemise kalmani filtriga töödeldult. Olen kuulnud, et navigatsiooniprogrammid just seda liikumisinfot kasutavadki.

Niipalju, kui olen aru saanud, on on õhus sirgelt suunda hoidvale süsteemile veel vaja Pitot toruga lennukiiruse andurit ja integreerivat güroandurit.
AndresO
Posts: 146
Joined: Mon Feb 12, 2007 10:32
Location: Tallinn

Post by AndresO »

Selleks, et GPS-ist saada kätte vajaliku punkti suuna ja kõrvalekalde infot, peab seade võimaldama endasse teekonnapunktide salvestamist. Paljud tavaseadmed seda ei võimalda. Selleks ongi siis vaja lisaloogikat.
Näiteks käsi-seadmed võimaldavad sellist salvestamist ja väljastavad ka kõrvalekallet etteantud suunast (NMEA sõnumid APA ja APB) ja seda ka nii, et mitte ainult sihtpunkt poleks õige, vaid suunavad ka ruttu etteantud teele (sirgele kahe punkti vahel) tagasi.
zapi
Posts: 29
Joined: Mon Aug 21, 2006 14:04

Post by zapi »

Milles see gps-ide märgitud maksimaalne positsioneerimistäpsus väljendub ?
Annab ta põhimõtteliselt 15-3meetri(waas-egnos jnega) suuruse punkti kus ta asuda võib ka mõõtmistelt keskmist võttes või asetab ta gps-i suhteliselt konstantselt valesse kohta mingis suunas tegelikust ? Mil viisil seda gps-i viga arvestama peab sellistes uav ja robootika projektides. On see väljaantav võimalikult täpne asukohapunkt hüplik või ühtlane mingi pikema ajavahemiku jooksul, muutudes sujuvalt ühest äärmusest (-3 meetrist + 3meetrisse) teise tegeliku asukoha punkti suhtes ?
AndresO
Posts: 146
Joined: Mon Feb 12, 2007 10:32
Location: Tallinn

Post by AndresO »

zapi wrote:Milles see gps-ide märgitud maksimaalne positsioneerimistäpsus väljendub ??
Kui hoida seade paigal, siis hakkavad väljastatud koordinaadid triivima. Kiirusega umbes 1 meeter 1...10 sekundi jooksul. Ja triivimine on kõrguse suhtes suurem kui horisontaalis. Näiteks ühe vaatlustorni tipus olles muutus selle kõrgus minuti jooksul 20 m ulatuses.

Mõõtmistäpsus sõltub kõige rohkem sellest, mitu satelliiti on korraga näha ja nende vahelisest positsioonist. Lagedal ja õhus on täpsus suurem, tihedas metsas väiksem või hoopis olematu. Metsas esinenud isegi paarisajameetriseid kiireid hüppeid.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Vahepeal tegin katse, panin pirukasse muna... :)

Lisasin PICile SD mälukaardi.

Image

Failist SIHTPNKT.TXT loetakse sihtpunktid, kuni 99tk.
Faili GPSLOG01.TXT salvestatakse iga 5sek. järel teekond.
----------------------------------------------
Laupäeval otsisin üles 6 sihtpunkti...
Kõndisin nii, et GPSpiloot arvutas sihtpunkti kraadi ja mina püüdsin liikuda, et mõlemad kraadid oleksid ühesugused.
Sihtpunktid lugesin Regio/Delfi kaardilt:
http://polaris.regio.ee/delfi/map.php

Teekonna failist GPSLOG01.TXT, kandsin kaardile OziExplorer programmiga.
Image

Teekond on salvestatud iga 5sek. järel, sama zuumitud:
Image

Sihtpunkti vahetamise tegin vist liiga täpse, andis ikka pihta saada :)
Tükk aega pidin otsima...

-------------------------------------
Aga midagi juhtus minu GPS seadmega, eile ütles töölepingu üles...

Parimat,
-Ilmar-
AndrusT
Posts: 541
Joined: Mon Mar 05, 2007 19:41
Location: Tallinn

Post by AndrusT »

Katse on huvitav.
Kui täpse vahetuspunkti raadiuse võtsid? Vaatan, et oled punktile pihta saamiseks ikka õige palju otsima pidanud.

Milline on GPS-i täpsus?
Mis koordinaadistikku arvutusteks kasutad (kas pikkus/laius või ruutkoordinaadistik)?

Kas oled juba mõelnud, et mis algoritmi järgi arvutad sabatüüri nurka?

PS: Pärin, sest endal seisab töö GPS-ga alles ees. Alustasin oma autopiloodi ehitamist magnetkompassist.
AndresO
Posts: 146
Joined: Mon Feb 12, 2007 10:32
Location: Tallinn

Post by AndresO »

AndrusT wrote:Alustasin oma autopiloodi ehitamist magnetkompassist.
Külgtuulega lennuki liikumissuund ja lennuki enda suund enamasti ei ühti. Selle vahe leidmiseks ongi magnetkompassist abi.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Sihtpunkti on juba failis dd.ddddd (decimal degrees)
GPS oma konverdin dd.dddd ja arvutan kasutades "Pythagorean theorem"
http://www.ee.ucr.edu/~dgiles/sendesign ... kZilla.pdf

Sihtpunkti vahetamiseks peab GPSi andmed Ddmm.mmmm olema +- 0.0003.
Ma veel ei tea, kui suur on viimase numbri muutumine meetrites...
Samas see raadius võiks olla sama suur kui ristmik, praegu pidin väga täpselt keset olema :)

Andmelehelt lugedes on GPSi täpsus "WAAS enabled 10m" ma ei tea miks ta pihta ei saanud...

Parimat,
-Ilmar-
AndresO
Posts: 146
Joined: Mon Feb 12, 2007 10:32
Location: Tallinn

Post by AndresO »

-Ilmar- wrote: Sihtpunkti vahetamiseks peab GPSi andmed Ddmm.mmmm olema +- 0.0003.
Ma veel ei tea, kui suur on viimase numbri muutumine meetrites...
Samas see raadius võiks olla sama suur kui ristmik, praegu pidin väga täpselt keset olema :)
See on umbes 0,5 m!
Arvestuse aluseks on see, et väga suures laastus on põhja-lõuna suunas maapinnal 1 kaareminut ~1 meremiil (1852m).
1852*0,0003=0.54m
Ida-lääne suunaliselt sõltub see laiuskraadist ja Eesti kohal vist ligikaudu poole väiksem, seega ~ 0,25m.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Oi, oi, pool meetrit... Nüüd ma saan aru küll miks esimest punkti üles ei leidnud, olin juba peaaega käega löömas, et mingi programmiviga et ei vaheta. Aga siis tuli ühel hetkel hop, uus sihtpunkt ja hakkas teist suunda näitama. Mul tekkis juba kõhe tunne, tuleb keegi ja küsib mis Te siin tammute keset ristmikku pappkarp käes... :)

4 punkt läks kõige lihtsamalt, alguses kõndisin kiiremini ja kuna ma enamvähem teadsin kus punkt on liikusin lõpus aeglaselt ja hop uus punkt :)

Parimat,
-Ilmar-
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Vahepeal tegin veel katse, panin pirukasse kaks muna :P

Muutsin sihtpunkti vahetuse 9.8m peale, nüüd ei tekkinud enam probleemi sihtpunkti leidmisega...
Lisasin servo, sihtpunkti kraadist lahutan liikumise kraadi, kui vahe on +-5kraadi siis on servo keskel. Kui erinevus +-90kraadi siis servo ühes ääres. Alla 90kraadi erinevust vahepealsed servo positsioonid.

Panin kogu krempli karpi ja käisin läbi uued sihtpunktid, seekord näitas servo mulle suunda.
Image

Seekord tegin suurema ringi:
Image

Kuna sihtpunkti vahetuse raadius oli nüüd suurem, polnud probleemi punkti leidmisega.
Välja kukkus midagi sellist:
Image

Parimat,
-Ilmar-
User avatar
lauri
Administrator
Posts: 3057
Joined: Wed Jul 20, 2005 23:13
Location: Tallinn, Estonia
Contact:

Post by lauri »

Õnnitlused, täitsa toimiv süsteem :!:

Suvaline uitmõte, kuidas saaks taolisi juhtimisloogikaid testida - näiteks RealFlight simulaatori abil! Pean silmas just seda servo juhtimise loogikat, millal ja kui palju servot liigumata peab. Ainus probleem oleks simulaatorist asukohainfo kättesaamine, kuid teoorias peaks ka see tehtav olema!? Kuna simulaator on plaanerite puhul ikka päris realislik, siis võiks taolisest testimisest ka kasu olla - ei teki mingeid üllatusi päris lennukiga katsetama hakates.
Lauri Laidna - www.pistik.com
User avatar
vallojoe
Posts: 501
Joined: Tue Aug 08, 2006 23:41
Location: Tallinn/Harjumaa

Post by vallojoe »

Simust vist väga lihtne asukohta kätte saada pole, küll aga kui kasutada nö gps-i emulaatorit (proge millega gpsimoodi infot juhtloogikale ette pritsida) saaks läbi mängida erinevad situatsioonid - näiteks asukoht seljataga - näed kuidas lennuk tüüride liigutamisele käitub ja ega ülereageerimist ei teki.
User avatar
lauri
Administrator
Posts: 3057
Joined: Wed Jul 20, 2005 23:13
Location: Tallinn, Estonia
Contact:

Post by lauri »

Vot seda minagi... saaks servo juhtimise loogikat simu abil katsetada kasvõi konkreetse lennukiga, kuhu see süsteem tulevikus võiks peale minna.

Tegelikult saaks mingist simust poitsiooni-info ekraanile kuvada ja sealt mõne teise kavala programmiga screen-capture teha (OpenGL-ist seda teha vist väga lihtne ja vaevatu pole) ning edasi tekstituvastusprogrammi ja sealt info ongi käes :roll: kui teisiti ei saa. Nii saaks vähemalt suuna-info kätte, kas mitte isegi RealFlight'ist? Ei tule ette, aga mälu järgi suutis ta info aknas igasugu inffi kuvada.
Lauri Laidna - www.pistik.com
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

See servo juhtimise algoritm tuleks ikka läbi mõelda. Ma arvan nii ei kõlba, kui lennuk peab kurssi muutma 90° siis keeran aga tüüri max välja ja ootan kuni õigesse suunda keerab, proportsionaalselt vähendan nurka. Mudel autoga vast saaks küll. Lennuk läheb vast keerisesse?

Omal tegelikult UHU-elekroga, ma rohkem enda lollustest lõhkusin kui lendasin, kodus liimisin, kuumliim oli kogu aeg soe :P
Kas mitte nii ei peaks olema, et keeramiseks peab tüüri korraks keerama, seejärel tagasi laskma?

Või ei pea nii keeruline olema?

RC-groups lehelt lugesin et 15meetrit sihtpunkti raadius pidi jääma vahest väheks, 30m pidi olema hea...

Parimat,
-Ilmar-
User avatar
vallojoe
Posts: 501
Joined: Tue Aug 08, 2006 23:41
Location: Tallinn/Harjumaa

Post by vallojoe »

Hi.

Tüüri põhja ei tohiks jah keerata. ;)
Kui võimalik, siis peaks vist ka sõltuvus kiirusest olema.
Ja liigutamised võiksid sujuvad olla, mitte 0,1 sekundiga servast serva :D
User avatar
lauri
Administrator
Posts: 3057
Joined: Wed Jul 20, 2005 23:13
Location: Tallinn, Estonia
Contact:

Post by lauri »

Sellel teemal on kindlasti terve teadus, raamatud ja lõputööd... tasuks vast otsid ja uurida, ise leiutada kipub raskeks minema.

Rumala peaga loogiliselt mõeldes.

Esiteks tuleks paika panna, mis ülesandeid see lennuk üldse täitma peab, sellest sõltub ka palju. Kui hakkad taga ajama sihtmärke, nagu su testis, siis tekib tõesti olukord, kui peale punkti 3 saavutamist asub punkt 4 järsku 175 kraadi teises suunas. Kindlasti ei tohiks selle peale tüür põhja minna. Õhus reeglina ruumi on (UAV võib ju ka VÄGA kõrgel lennata - lennujuhtimise seisukohast vist ei või) ja seega ka keeramiseks ruumi on. Samas võiks taolist olukorda ka teekonna planeerimisel vältida ja teha näiteks 3. ja 4. sihtpunkti vahele lisa-sihtpunkti.

Juba tulevad pähe kõiksugu olukorrad, mis võivad tekkida. Näiteks lendab lennuk sihtpunktist napilt mööda, siis hakkab suund kiiresti muutuma. Kui nüüd tüüri käik väike on, võib lennuk jääda pikemaks ajaks ümber sihtpunkti tiirutama nagu kass ajaks saba taga.

Aga nagu öeldud, siis õhus ruumi on ja tüürikäigu peaks üpris väikese panema. Järgmine probleem on kõrguse hoidmisega. Kui see on täiesti eraldiseisev süsteem kõrgustüüri peal, siis võivad jällegi jamad tekkida.
Lauri Laidna - www.pistik.com
User avatar
vallojoe
Posts: 501
Joined: Tue Aug 08, 2006 23:41
Location: Tallinn/Harjumaa

Post by vallojoe »

Lisaks veel nö hädaabisüsteemid? - Mida teha, kui aku tühjaks hakkab saama. Kui ei õnnestu õiget suunda saavutada (näiteks murdunud tüüri link või tugev külgtuul). jne..
pipercub
Posts: 516
Joined: Wed Dec 13, 2006 13:10
Location: Tartu

Post by pipercub »

Üheks võimaluseks protsessi simuleerimiseks oleks Matlab Simulink.

Tagasisidega regulaatoritest.
Märksõnad "PID regulaator". "proportsionaalne reguleerimine".

Eestikeelsed lingid:
http://www.sakt.ee/?p=25#k1
http://www.dcc.ttu.ee/abc/Juhtimiskontu ... endid.html
http://www.ene.ttu.ee/elektriajamid/opp ... 361/9.html

Kirjeldatud süsteem on P-regulaator. See tähendab, et peale asukoha mõõtmist suudab seade uue suuna välja reguleerida täpsusega umbes 1/5 reguleerimisulatusest. Meie juhul siis 180x0,2=36deg. Seda ideaalsetel tingimustel. Võimenduse suurendamisel hakkab süsteem võnkuma.
Post Reply