Seuraa 
Viestejä45973
Liittynyt3.9.2015

Tervehdys

Olisin kovin kiitollinen jos alan osaajat ehtisivät vastaamaan/ottamaan kantaa mieltäni askarruttaviin matemaattis-fysikaalisiin kysymyksiin:

Jos käytössä on älypuhelimen sensorit (käsittääkseni tässä tapauksessa hyödyllisimmät olisivat kiihtyvyysanturi (3-akselinen) sekä gyroskooppi [vai onko gyroskoopista hyötyä tässä lainkaan?], niin pystynkö niiden keräämää dataa hyväksikäyttäen toteuttamaan sovelluksen joka pystyy määrittämään kuinka "pitkälle" heitän kappaletta (puhelin) ?

Pidän puhelinta kädessäni ja käynnistän sovelluksen. Heitän puhelimen kädestäni. Otan sen kiinni ennen kuin se putoaa maahan. Katson puhelimen näytöllä auki olevaa sovellusta ja näen kuinka pitkälle x-akselia pitkin heitin puhelimen, sovellus kertoo myös kuinka kauan puhelin oli ilmassa.

Heiton aloitus ja lopetushetket olisi ilmeisesti helppo havaita "paljaan puhelimen tapauksessa" puhelimen "läheisyys" (proximity) anturilla, eli sensorilla jolla nykypuhelimissa esimerkiksi puhelun aikana "lukitaan" näyttö niin ettei esimerkiksi pysty vahingossa lopettamaan puhelua painamalla punainen luuri -painiketta korvallaan. Tässä nimenomaisessa tapauksessa puhelin olisi kuitenkin suojaavan kuoren sisällä. Puhelinta ympäröi vähintään kahden senttimetrin paksuinen pehmeä suoja jossa on reikä/läpinäkyvä kohta jonka läpi puhelimessa auki olevaa "heitto-sovellusta" voidaan tarkastella puhelimen näytöltä. Jos on niin ettei läheisyysanturia voida käyttää havaitsemaan koska kappale (puhelin+ympäröimä suojus) irtoaa heittäjän kädestä, ja toisaalta koska kappale seuraavan kerran koskettaa kättä uudelleen, voitaisiinko heiton aloitus ja kiinniotto- hetket määrittää kiihtyvyysanturin avulla? Tämä siis heiton ajallisen pituuden määrittämiseksi.

Ja vielä, jos mainituilla sensoreilla ei ole mahdollista määrittää heitetyn kappaleen x-akselia kulkemaa matkaa, niin onko mahdollista määrittää jotain siitä, miten kappale avaruudellisesti etenee jossain vaiheessa heittoa? Tuota heiton pituutta ei ole välttämätöntä saada määritettyä, jos jollain muulla tavalla pystytään määrittämään että heitto kulki myös x-akselia pitkin. Tässä haetaan siis sitä, että kappaletta ei tahdota singottavan vain kohtisuoraan ylöspäin, puhtaasti y-akselia pitkin. Heiton x-akselia kulkeman matkan sijaan riittäisi esim. se tieto, missä kulmassa kappale heitettiin (kaikki 90 asteen kulmasta poikkeavat tulokset olisivat toivottuja, mitä suurempi poikkeama sitä "parempi" heitto).

Pohdintaa Espoosta

Kommentit (4)

Volta
Seuraa 
Viestejä123
Liittynyt19.7.2012
390522
Jos käytössä on älypuhelimen sensorit (käsittääkseni tässä tapauksessa hyödyllisimmät olisivat kiihtyvyysanturi (3-akselinen) sekä gyroskooppi [vai onko gyroskoopista hyötyä tässä lainkaan?], niin pystynkö niiden keräämää dataa hyväksikäyttäen toteuttamaan sovelluksen joka pystyy määrittämään kuinka "pitkälle" heitän kappaletta (puhelin) ?

Pidän puhelinta kädessäni ja käynnistän sovelluksen. Heitän puhelimen kädestäni. Otan sen kiinni ennen kuin se putoaa maahan. Katson puhelimen näytöllä auki olevaa sovellusta ja näen kuinka pitkälle x-akselia pitkin heitin puhelimen, sovellus kertoo myös kuinka kauan puhelin oli ilmassa.


Periaatteessa kun tiedetään 3:n kiihtyvyysanturin signaalit ja 3:n gyroskoopin signaalit, puhelimen 3d-sijainti pystytään määrittämään täydellisesti. Tai oikeastaan jos lisäksi tiedetään maan vetovoiman suunta tarkasti. Käytännössä tämä ei kuitenkaan toimi, koska sensorien lukemat ryömivät ja vetovoiman suuntaakaan puhelimen asennon suhteen ei tiedetä tarkasti. Siispä lähtökohdaksi kannattaa ottaa tuo alla mainitsemasi ajan mittaaminen.

390522
Heiton aloitus ja lopetushetket olisi ilmeisesti helppo havaita "paljaan puhelimen tapauksessa" puhelimen "läheisyys" (proximity) anturilla, eli sensorilla jolla nykypuhelimissa esimerkiksi puhelun aikana "lukitaan" näyttö niin ettei esimerkiksi pysty vahingossa lopettamaan puhelua painamalla punainen luuri -painiketta korvallaan. Tässä nimenomaisessa tapauksessa puhelin olisi kuitenkin suojaavan kuoren sisällä. Puhelinta ympäröi vähintään kahden senttimetrin paksuinen pehmeä suoja jossa on reikä/läpinäkyvä kohta jonka läpi puhelimessa auki olevaa "heitto-sovellusta" voidaan tarkastella puhelimen näytöltä. Jos on niin ettei läheisyysanturia voida käyttää havaitsemaan koska kappale (puhelin+ympäröimä suojus) irtoaa heittäjän kädestä, ja toisaalta koska kappale seuraavan kerran koskettaa kättä uudelleen, voitaisiinko heiton aloitus ja kiinniotto- hetket määrittää kiihtyvyysanturin avulla? Tämä siis heiton ajallisen pituuden määrittämiseksi.

Kun puhelin on vapaassa pudotuksessa, kiihtyvyysanturit näyttävät nollaa. Kun taas se on kädessäsi, lukema on vetovoimakiihtyvyyden (kyseisen komponentin) suuruinen. Tämä muutoskohta on kyllä helppo löytää kiihtyvyysanturin aikasarjasta. Näistä sitten saa sen ajan, joka taas antaa suoraan heiton radan korkeussuunnassa.

390522
Ja vielä, jos mainituilla sensoreilla ei ole mahdollista määrittää heitetyn kappaleen x-akselia kulkemaa matkaa, niin onko mahdollista määrittää jotain siitä, miten kappale avaruudellisesti etenee jossain vaiheessa heittoa? Tuota heiton pituutta ei ole välttämätöntä saada määritettyä, jos jollain muulla tavalla pystytään määrittämään että heitto kulki myös x-akselia pitkin. Tässä haetaan siis sitä, että kappaletta ei tahdota singottavan vain kohtisuoraan ylöspäin, puhtaasti y-akselia pitkin. Heiton x-akselia kulkeman matkan sijaan riittäisi esim. se tieto, missä kulmassa kappale heitettiin (kaikki 90 asteen kulmasta poikkeavat tulokset olisivat toivottuja, mitä suurempi poikkeama sitä "parempi" heitto).

Oikeastaan ainoa keino mitata sivusuuntaista liikettä on juurikin tuo lähtökulman ja nopeuden laskenta jotenkin, koska kiihtyvyysanturit näyttävät nollaa vapaassa putoamisessa. Näiden laskenta on kuitenkin aika haasteellista sekin. Äkkiä ajatellen kiihtyvyysanturin lukemaa integroimalla ja yhdistämällä se lentoaikaan voidaan ehkä laskea tämä kulma – integraalin arvo nimittäin riippuu siitä missä kulmassa kiihtyvyys tapahtui gravitaatiokentän suhteen ja ajasta saadaan laskettua minkälaisia kiihtyvyyksiä pelkästä korkeussuuntaisesta liikkeestä aiheutuisi.

ykskivi
Seuraa 
Viestejä1950
Liittynyt27.3.2006
Abbath
Oikeastaan ainoa keino mitata sivusuuntaista liikettä on juurikin tuo lähtökulman ja nopeuden laskenta jotenkin, koska kiihtyvyysanturit näyttävät nollaa vapaassa putoamisessa. Näiden laskenta on kuitenkin aika haasteellista sekin. Äkkiä ajatellen kiihtyvyysanturin lukemaa integroimalla ja yhdistämällä se lentoaikaan voidaan ehkä laskea tämä kulma – integraalin arvo nimittäin riippuu siitä missä kulmassa kiihtyvyys tapahtui gravitaatiokentän suhteen ja ajasta saadaan laskettua minkälaisia kiihtyvyyksiä pelkästä korkeussuuntaisesta liikkeestä aiheutuisi.



Jos puhelimen anturit kalibroidaan ennen heittoa (esim antamalla sen olla hetken aikaa paikoillaan), niin tulos voi olla yllättävänkin tarkka. Driftiähän tuossa aina tapahtuu, mutta heitto on niin lyhyt, että sen aikana ei ehdi suurta virhettä tulla.
Periaatteena voisi olla joko laskea lähtöimpulssi ja -kulma, josta saadaan käyrä. Tai sitten reaaliaikaisesti laskea puhelimen nopeutta ja paikkaa 3D-avaruudessa nollaamalla ne kalibroinnissa ja sen jälkeen lisäämällä nopeuteen aina kunkin kiihtyvyysanturin aiheuttama nopeusmuutos ja paikkaan nopeuden aiheuttama muutos. Puhelimen pyörittäminen lienee pieni matemaattinen ongelma..
Onko tästä tulossa joku 'saappanheittosovellus' Siihen vielä tuloslaskenta mukaan niin tämähän on kesäleirien hitti!
Saappaanheittosoveluksessa puhelin voisi olla esim. heittoviivalla, jossa se nollaisi paikan ja nopeuden ja kalibroisi kiihtyvyysanturit. Tästä heittäjä poimisi sen, laitaisi saapaan sisälle ja heittäisi. Puhelin seuraisi omaa paikkaansa siitä lähtien kun se nostetaan heittoviivalta ja piirtäisi heitosta komean 3D-kuvan
Kiihtyvyysanturit saa kalibroitua vielä tarkemmin, jos ennen heittosarjaa antureista kalibroidaan G, 0 ja -G kiihtyvyydet, eli puhelinta pitäisi käyttää 6 eri asennossa ennen sarjaa. Ennen jokaista heittoa riittänee nollakohdan kalibrointi.

To refuse a hearing to an opinion, because one is sure that it is false, is to assume that one's own certainty is the same thing as absolute certainty. All silencing of discussion is an assumption of infallibility. - John Stuart Mill -

Vierailija

Tottakai se on mahdollista kiihtyvyysanturin perusteella. Ei siinä vapaa pudotus mitään ongelmaa aiheuta koska heiton alussa mitatun kiihtyvyyden perusteella selvitetään nopeus jota integroidaan heiton ajan ja lopussa taas pysäytyskiihtyvyys antaa tiedon nopeuden päättymisestä ja integroinnin tuloksena saadaan heittomatka. Älyyn on helposti liitettävissä myös pystysuuntainen matka.
Puhelimen pyöriminen heiton aikana voi tuottaa ongelmia ja ilmeisesti heikentää tarkkuutta.
Onhan lentokoneissa käytetty inertiasuunnistusta jossa koneen sijainti on laskettavissa lähtöpaikan koordinaattien ja kiihtyvyysanturin avulla verraten tarkasti täysin riippumatta satelliiteista tai maanpäällisistä radiomajakoista.
Älypuhelinsovelluksesta ei ole kyllä hajuakaan mutta on tietysti mielenkiintoinen sovellus. Tarkkuudesta en tiedä koska anturi ei kovin hintava voi olla.

ykskivi
Seuraa 
Viestejä1950
Liittynyt27.3.2006
1. Send Me to Heaven

Sovellus haastaa käyttäjät heittämään puhelimensa mahdollisimman korkealle. Se mittaa heittokorkeuden, jolla käyttäjät voivat kisailla toisiaan vastaan. Apple perusteli sovelluksen kieltämistä sillä, että Send Me to Heaven yllyttää käytökseen, joka saattaa olla vahingollista asiakkaiden laitteille.




http://www.talouselama.fi/uutiset/tassa ... n/a2197398

To refuse a hearing to an opinion, because one is sure that it is false, is to assume that one's own certainty is the same thing as absolute certainty. All silencing of discussion is an assumption of infallibility. - John Stuart Mill -

Suosituimmat

Uusimmat

Uusimmat

Suosituimmat