Fórum témák

» Több friss téma
Fórum » 3D egér
 
Témaindító: sebokm, idő: Nov 20, 2009
Lapozás: OK   1 / 1
(#) sebokm hozzászólása Nov 20, 2009 /
 
Sziasztok,

Amolyan 3Ds egér építésén töprengek, avagy vezeték nélküli és a levegőben kellene lóbálni.

Hogy lehetne ezt megvalósítani?

1. ötletem: egérből (mondjuk) ultrahangos jel, amit veszek vagy 4 szétszórt érzékelőn, így kapok négy távolságot, abból meghatározom a pozíciót.

2.: egérben, vevőben is egy-egy rádió modul (természetesen mindenhol PIC, géppel USB HID kapcsolat). Egérben giroszkóp/gyorsulásmérő (XYZ) (használt vki ilyeneket? eddig ezt találtam), gyorsulásból távolságot, majd kalibrálás után pozíciót.

Igazából a 2. érdekelne jobban, de úgy olvastam, hogy a gyorsulás->út konverzió nem a legpontosabb. Akkor sem, ha PICkel folyamatosan kérdezgetem?

Előre is köszönöm a hozzászólásokat,
Üdv.: Sebők Márton
(#) quite válasza sebokm hozzászólására (») Nov 20, 2009 /
 
Sok évvel ezelőtt (az akkor még létező) CHIP Magazinban volt erről a magyar találmányról egy cikk, akkor még elég vicces "barkács" fázisban volt a dolog, de a fiatalember már akkor felhívta magára a figyelmet.

Mára már nagyon komolyra fordult a dolog, céget alapítottak a családdal, és le is védették a találmányt, amivel több rangos elismerést is begyűjtött már Rátai Dániel.

Az USA-beli fiatal tudósok megmérettetésén abszolut első helyezett lett.

Mivel nagyon komoly fejlesztés és pénz van a dolog mögött, természetesen a pontos részletek titkosak, de ha érdekel a dolog, akkor van némi infó a neten, de akár Rátai Dániellel is felveheted a kapcsolatot.
(a "rendszert" alig 30ezer forintból "dobta" össze Dániel, a nagy pénz nem erre vonatkozik, hanem az üzleti részére!)

Rátai Dániel "Leonar3Do" hivatalos weboldal

Persze ez egy komplett rendszer, ami sok 3D-s alkalmazással is együtt működhet, nem csak egy 3D-s egérről van szó.

Sőt nem is igazán nevezhető egérnek, hanem inkább egy fényceruzához hasonlítható, csak ezt nem kell közvetlenül a monitor kijelzőjére tenni, hanem elég csupán előtte a térben mozgatni, és a számítógépen futó 3D-s szoftver virtuális modellje tulajdonképpen úgy vezérelhető, mozgatható térben, mintha egy valós tárgyat forgatnál a kezedben.

Természetesen a rendszerben 3D-s polárszemüveg is van, a még valósághűbb látvány érdekében.


Tehát nem kell újra kitalálni a spanyolviaszt, csak összecsipegetni a fellelhető szükséges infókat.

Annyit előzetesen elárulok, hogy nem kell űrtechnológia, rém bonyolult mikrokontrolleres rendszer gyorsulásérzékelővel, meg hasonlók, csupán egy ledceruza, két kamera a monitor két felső sarkára, és nagyon jó programozói képesség.

A két kamera a ledceruza helyzetét egyérteműen be tudja pontosan azonosítani a montor előtti térben, a többi már csak feldolgozószoftver kérdése.
(#) sebokm válasza quite hozzászólására (») Nov 20, 2009 /
 
Régebben én is hallottam erről, lehet, hogy tudat alatt ez adta az ötletet.

Idézet:
„What kind of camera is used for position tracking?
Leonar3Do does not use cameras. [...] Brand new [...] solutions were developed that are based on infra red detection.”


Azt hiszem, ez egyelőre nagy falat lenne nekem, úgyhogy marad a gagyi barkács
(#) quite válasza sebokm hozzászólására (») Nov 20, 2009 /
 
Ami annakidején a CHIP Magazinban megjelent cikk, ott is csak egy "gagyi barkács" cucc volt demonstrálva, de kifigástalanul működött! A ráfordított összeget már előbb írtam.

Összevissza szines vezetékek, valami SZTK-s szemüvegre gányollt szigetőleszalagozott cuccok, hagyományos piros-zöld műanyaglapokkal a keretben, és hasonlók.

Ne a mai technikai szintjét nézd a készüléknek, mert azóta sok víz lefolyt a Dunán, nyílván már egy sokkal fejlettebb és természetesen piacképesebb ergonómiájú és jóval nagyobb tudású rendszer látható a weboldalán.

Az elv a lényeg, ami két olcsó webkamera, és egy filléres LED házasságából megoldható.

A rendszer lelke nem a hardverben van, hanem sokkal inkább a kifinomult feldolgozószoftverben.

Ez pedig már egyáltalán nem pénz kérdése, csupán programozói tudás, és kicsi okosság.
(#) sebokm válasza quite hozzászólására (») Nov 20, 2009 /
 
Igaz
Webkamerák + egy jó szoftver + matek + kalibráció.

A gyorsulásmérős halálra van ítélve?

(A Microchip egyik demópanelén van BOSCH BMA150 szenzor, forráskód is emészthető lenne, legközelebb hazánkhoz viszont csak itt adják.
Másik amit találtam, az analóg ADXL330KCPZ, az még ~3 000 Ft-ért kapható is lenne.)

Ezekkel is az elmélet érdekelne: lehet-e a 3 tengelyre vett gyorsulásokból adekvát távolságot meghatározni? (Itt van rá vmi képlet. )
(#) quite válasza sebokm hozzászólására (») Nov 21, 2009 /
 
Igen, "a gyorsulásmérős halálra van ítélve".

Már csak azon egyszerű oknál fogva is, hogy a gyorsulásmérő nyilván nem távolságot mér, hanem elmozdulást.

A gyorsulásmérő pedig nem lináris eszköz, hanem logaritmikus, vagyis ha az "A" pontból "B" pontba történő elmozdulás sebessége abszolut konstans, akkor a gyorsulásérzékelőből kapott jel egy logaritmikus jellegörbét mutat.

Ez azt jelenti, hogy az elmozdulás első fázisában, amíg a gyorsulási erő hat a szenzor piezo lapkáira, addig a lapkákon lévő tömeg tehetetlenségével arányos jel keletkezik. De miután ez a tömeg már felvette a nyugalmi állapotot, már nincs mérhető jel, pedig a szenzor még tovább mozog konstans sebességgel.

Ennek eredményeképpen az egész megtett elmozdulás alatt mérhető jel az egy logaritmikus jeleggörbét mutat.

Tehát távolság mérésére teljesen alkalmatlan.

Egyszerűbben fogalmazva tegyük fel, hogy mégis írsz egy olyan szoftvert, ami az elmozdulást átkonvertálja távolsággá.

Ha ezekután végeznél egy tesztet, mondjuk hajszálpontosan egy métert mozdítasz a szenzoron, akkor a kapott távolságod mindíg attól függene, hogy mekkora sebességgel mozdítottad el a szenzort a kezdeti fázisban, de mégha közel állandó sebességgel is mozgatnád a szenzort, úgy is csak az egy méter első szakaszában lenne értékelhető jeled, amikor a szenzor elindul.
A folyamatos jelhez, folyamatosan kellene gyorsítanod a szenzort.

Magáról a szenzor fizikai alapjairól és a működéséről már a Rádiótechnika hasábjain is megjelent egy cikk 10 évvel ezelőtt.

De térjünk vissza a realitások talajára.

Nem véletlenül írtam a kamerákat és a ledet.

Aki picit is járatos vagy érdeklődő a filmek világában, annak ismert a Motion Capture eljárás.

Ezt a technológiát más a 70-es években elkezdték fejleszteni és használni, és mind a mai napig változatlanul így használják, persze a technológia itt is sokat finomodott.

Gondolom már láttál ilyen eljárást valami werkfilmben, de ha nem akkor röviden leírom.

A színész testére, ma már az arcára is, referenciapontokat helyeznek el a fontosabb testrészeken.
Ezeket a referenciapontokat egy teremben több kamerával figyelik, így a színész minden egyes fizikai mozdulatát rendkívül aprólékosan tudják digitalizálni, majd a kapott referenciapontokat "ráhúzzák" a számítógépes 3D-s modell azonos referenciapontjaira, így azok pontosan úgy fognak mozogni, mint az élő színész.

Ez az eljárás már teljesen általános az animációkat használó filmekben, mert animálási időt és pénzt spórolhatnak egy virtuális lény mozgatásával, ráadásul a lény mozgása így teljesen életszerű lesz.

(a 2005-ös King Kong c. film óriás majmának az arcmimikáját is egy színész arcának kb. száz pontján elhelyezett pontokkal animálták)

Szóval ha az elmúlt cirka 30 évben a mérnökök még nem okoskodtak ki a kamerás, referenciapontos, "háromszögelős" módszertől jobbat a véletlenszerű térbeli pozíciómeghatározásra, akkor szerintem ez a kamera-led megoldás neked is meg fog feleni.
(#) sebokm válasza quite hozzászólására (») Nov 21, 2009 /
 
Köszönöm.

C#-ban működik már egy webkamerás programom. Mozgás érzékelésére itt van jó anyag, de lehet, hogy elég lenne minden lekérdezésnél pixelenként végigmenni és megkeresni az adott "színű" pontot.

Egyébként azért vagyok ilyen "makacs" a gyorsulásmérőssel, mert az mégis "saját találmány" lenne.

Piezoról anyag itt is.

Mi lenne, ha a sebességet egy változóban tárolnám (kezdetben 0)? Amikor jól megsuhintom, akkor a gyorsulásra kapott értékből (+ órajel, miegymás -> idő) kiszámolnám a pillanatnyi sebességet (v=at, gyorsulás-idő görbe alatti terület), ezt hozzáadnám a változómhoz (természetesen ezt igen gyakran egy ciklusban). És amíg nincs - a példádnál maradva - ellentétes irányú újabb gyorsulás (vagyis nem állítom meg), addig tudnám, hogy egyenletesen mozog a változóban lévő sebességgel. (tehetetlenség)

Még egyszer bocs, hogy nem hagyom már ezt a...
(#) quite válasza sebokm hozzászólására (») Nov 21, 2009 /
 
Jaj!

Téged nem egyszerű meggyőzni. A logaritmikus jellegörbe miatt nem kivitelezhető!

De tegyük fel, hogy leprogramozod azt amit felvázoltál.
Ez még csak egy egyenesvonalú mozgást tudna értelmezni, ezért nyílván a 2D-s kurzormozgáshoz is már 2db érzékelő kell, a 3D-hez 3db, amit úgy kell összeépíteni, hogy az érzékelési síkjuk egymásra merőleges legyen.

És persze ezt az egységet mindíg úgy kell tartani, hogy az XY (vagy XYZ) koordináták ne cserélődjenek fel.

A két, vagy három szenzort szinkronban kell feldolgozni, hiszen csak így lenne értelme az egymáshoz viszonyított relatív elmozdulásoknak.

Viszont ekkor már itt az első probléma!

Tételezzük fel, hogy ha így viszonyulnak egymáshoz a szenzorok, akkor viszont már 3D esetén egy egyszerű sima elmozdulásnál is minimum 2 szenzor ad jelet, tehát ha te a monitor síkjához képest csak párhuzamosan és abszolut vizszintesen akarsz húzni egy vonalat, akkor nemcsak az X koordináta mentén húzol vonalat, hanem a Z koordinátába is, méghozzá pontosan ugyanolyat!

Most hirtelen felindulásból lerajzoltam, talán így érthetőbb.
(Kicsit filigrán grafika, de ez most nem műveszeti kérdés. )

(#) quite válasza quite hozzászólására (») Nov 21, 2009 /
 
Na akkor a képről ennyit, egyszerűen nem adódik hozzá. A végén már a lap sem frissült.
(#) quite hozzászólása Nov 21, 2009 /
 
Na végre...
(#) sebokm válasza quite hozzászólására (») Nov 21, 2009 /
 
Idézet:
„Érzékelési síkok merőlegesek”
-> 3 tengelyű szenzor (linkeltem fent), még ez lenne a legkevesebb
Idézet:
„Mindig úgy kell tartani...”
hozzáadunk egy giroszkópot, aztán az egészet felöntjük vörösborral!

Na már én is látom, hogy ebből nem sok jó fog kisülni...

Azért találtam egy hozzám hasonló elvetemültet, mondjuk ő se mozgás követésére használja.
Még itt is van a jóból (szép színes grafikonokkal). Majd holnap átrágom magam...
(#) quite válasza sebokm hozzászólására (») Nov 21, 2009 /
 
Igen ez az eldugott link (jobb ez a fórummotor attól, hogy így bele kelljen varázsolni a mondatba a linkeket, ezt nagyon utálom ) elkerülte a figyelmemet, de a lényegen mit sem változtat, az elve ennek is éppen ugyanaz amit felvázoltam!

Ennél is két jelet kapnál a rajzom szerinti elmozdulásnál, ez tuti!

A "mindíg úgy kell tartani", nyilván arra vonatkozik, hogy a koordináta rendszernek megfelelően kell az érzékelőknek állniuk, nem ahhoz pl. 45 fokos szögben, mert akkor nyilván egy vizszintes elmozdulásnál más értékeket adnak a szenzorok, hiszen azoknak is van egy üzemi felhasználási "beépítési" pozíciójuk az elmozduláshoz viszonytva. Na mindegy.

Na most képzeld el, hogy nyomjuk itt a topicot, feleslegesen, holott ezalatt az idő alatt már rég összeraktál volna egy kétkamerás ledes rendszert, ami kifogástalanul üzemel.

Szerinted komolyabb felhasználási területeken miért azt használják? Lusták gyorsulásérzékelőre fejleszteni? :whatever:
(#) sebokm válasza quite hozzászólására (») Nov 22, 2009 /
 
Nyertél
Kösz, hogy foglalkoztál a témával!
(#) stickman hozzászólása Dec 12, 2009 /
 
Azért tegyük hozzá, hogy a giroszkópos/gyorsulásmérős ötlet sem teljesen reménytelen bizonyos felhasználási területeken. Csak az a baj, hogy ezt már kitalálták és a boltokban is lehet kapni. Wii Remote + Bluetooth adapter, neten találhatsz hozzá pc re átírt drivert meg egyéb ügyeskedéseket.. Jó szórakozást.
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem