Tehnologie pentru detectarea si urmarirea obiectelor intr-un spatiu 3D


NeoCyberDragon


Intrebarea este legata intr-un fel de industria jocurilor video (dar nu mult). Stiti de acele echipamente "motion capture" pe care mai marii jocurilor o folosesc pentru a creea animatii sau pentru a analiza diferitele miscari ale unor obiecte din spatiul real? Ei bine as dori sa stiu daca exista tehnologii (poate sa fie si denumirea in engleza) si care ar fi cea mai optima pentru a detecta si izola ( sau in alte cuvinte a sti diferenta intre semnalul obiectului 1 si semnalul ob. 2 de exemplu) in realtime obiecte intr-un spatiu limitat de, sa zicem, un cub cu latura de 1 metru (sau un metru cub biggrin.gif ).


Am nevoie de asta pentru un proiect in care doresc sa creez un brat robotic care sa reproduca cat mai complet anatomia bratului uman care apoi conectat la o manusa ca mai devreme ar putea copia fidel si in realtime miscarile persoanei ce poarta manusa wink.gif biggrin.gif .

Acest lucru s-ar realiza prin senzori/receptori/reflectori amplasati in zone critice cum ar fi varful degetelor si apoi corelate zonelor critice virtuale ( aici intervine "izolarea" obiectului - ca sa nu ma trezesc si sa aflu ca PC-ul mi-a inlocuit degetul mic drept cu aratatorul stang biggrin.gif etc.) . Sper ca sunt detalii suficiente.

In legatura cu spatiul limitat. Stiu ca exista sisteme pe baza de giroscoape care detecteaza miscarea fara a fi nevoie de spatiul de referinta, insa am inteles ca sunt cam scumpe si nu au o precizie prea mare. In plus proiectul meu ar necesita foarte multe astfel de giroscoape care ar ingreuna si uneori ar obstructiona miscarile mainii umane.
danutHD
Eu am participat la un laborator in politehnica unde faceau ceea ce zici tu. Era vorba de 6 camere (6 sau 8) speciale pozitionate in puncte bine determinate in spatiu, o suita software destul de inteligenta si un numar de martori care erau prinsi in puncte cheie pe persoana respectiva. Noua demonstratia ni s-a facut pe miscarea picioarelor.

Cum functiona? Camerele filmau doar acei martori, softul stiind pozitia camerelor triangula cu precizie destul de mare (tinand cont de nr de camere) pozitia martorilor si apoi adauga structura osoasa in mod automat.

Laboratorul se afla in facultatea de mecatronica din cadrul universitatii politehnice bucuresti si este folosit in cercetare medicala! peacefingers.gif Din pacate nefiind la facultatea aceea, laboratorul a fost pur demonstrativ si nu am notat nimic (nume aplicatii/tehnologii/etc)
 
theMisuser
Ceva cu potensiometre n-ar merge ? Mega ieftin.. Imbraci mana cu articulatiile tale si intre ele cursoare.
NeoCyberDragon
CITAT (danutHD @ 28th August 2009, 06:19) *
Eu am participat la un laborator in politehnica unde faceau ceea ce zici tu. Era vorba de 6 camere (6 sau 8) speciale pozitionate in puncte bine determinate in spatiu, o suita software destul de inteligenta si un numar de martori care erau prinsi in puncte cheie pe persoana respectiva. Noua demonstratia ni s-a facut pe miscarea picioarelor.

Cum functiona? Camerele filmau doar acei martori, softul stiind pozitia camerelor triangula cu precizie destul de mare (tinand cont de nr de camere) pozitia martorilor si apoi adauga structura osoasa in mod automat.

Laboratorul se afla in facultatea de mecatronica din cadrul universitatii politehnice bucuresti si este folosit in cercetare medicala! peacefingers.gif Din pacate nefiind la facultatea aceea, laboratorul a fost pur demonstrativ si nu am notat nimic (nume aplicatii/tehnologii/etc)


Cunosc tehnologia despre care vorbesti. Se numeste "Passive Markers" optici. Este foarte buna in industria jocurilor si a animatiei dar nu este buna pentru ce doresc eu deoarece, pe langa faptul ca echipamentul costa in jur de 100000$ nu poate diferentia martorii intre ei si in plus nu este compatibil 100% realtime (din cauza necesitatii de a virtualiza miscarea unui martor).

CITAT (theMisuser @ 28th August 2009, 12:18) *
Ceva cu potensiometre n-ar merge ? Mega ieftin.. Imbraci mana cu articulatiile tale si intre ele cursoare.


Nu cred ca ar merge deoarece eu am nevoie de precizie milimetrica si de raspuns realtime, ca sa nu mai vorbim de faptul ca mana robotica ar trebui sa imite fidel miscarea mainii pe toate cele 3 axe spatiale si astfel ar necesita foarte multe potensiometre la fiecare articulatie si astfel ar putea sa incurce miscarea acelei articulatii.

Oricum mersi pentru idee.
tatarduka
in primul rand trebuie sa te hotarasti ce metoda vrei sa folosesti: optic sau mecanic (alta nu prea vad).
in al 2lea rand treuie sa intelegi ca nici o metoda nu prea este realtime deoarece o sa ai nevoie de o post-procesare care nu se poate face in 0 s.

Eu as alege varianta optica. Cu cateva camere web si niste markere de culori diferite (pentru diferite puncte ale mainii) cred ca s-ar reusi ceva insa la programare ai avea ceva de lucru.
theMisuser
CITAT (NeoCyberDragon @ 28th August 2009, 16:50) *
(...) tehnologia (...) "Passive Markers" (...) nu este buna pentru ce doresc eu deoarece (...) nu poate diferentia martorii intre ei(...)

Poate nu direct, dar cu un algoritm care ia in consideratie limitarile fizice ale pozitiilor relative intre markeri se pot deduce cine-i cine chiar daca nu stii initial (adica au aceleasi proprietati markerii).

CITAT (NeoCyberDragon @ 28th August 2009, 16:50) *
Nu cred ca ar merge deoarece eu am nevoie de precizie milimetrica si de raspuns realtime, ca sa nu mai vorbim de faptul ca mana robotica ar trebui sa imite fidel miscarea mainii pe toate cele 3 axe spatiale si astfel ar necesita foarte multe potensiometre la fiecare articulatie si astfel ar putea sa incurce miscarea acelei articulatii.

Ca precizie nu vad unde-ar fi problema, impresia mea e ca precizia ar putea fi chiar mai mare cu cursoare. Un algoritm stufos la culegerea optica a datelor ar putea insa sa dea date mai precise, da-i mult mai complicata toata treaba. Plus ca daca vrei precizii impresionante, markerii trebuie prinsi de structura osoasa (nu cu gauri, da' ideea-n sine) si se ajunge cam in acelasi punct cu incurcarea miscarii mainii.

CITAT (NeoCyberDragon @ 28th August 2009, 16:50) *
Oricum mersi pentru idee.

Cupla.
NeoCyberDragon
Stau si ma gandesc ...nu ar merge mai bine cu niste emitatoare radio montate in loc de martori setate la frecvente diferite? dupa aceea cu minim 6 receptori montati in doua seturi la distante relativ egale (fiecare set de trei montate la distante ce ar desemna un triunghi echilateral astfel fiind posibila triangularea unui punct intr-un spatiu 2D.
Cu doua seturi amplasate la distante verticale (important) si orizontale (nu conteaza prea mult) diferite dar functionale unul fata de celalalt identificarea spatiala s-ar face 3D. Martorii ar fi connectati prin cabluri electrice sau circuite integrate in manusa la un subsistem care ar asigura atat alimentarea cat si frecventa fiecarui martor, iar receptorii ar fi la randul lor conectati la subsisteme cu rolul de a decodifica pozitia fiecarui martor in parte.
Toate aceste subsisteme ar fi controlate de un sistem central care ar face corelarea dintre emisie si receptie.
Deoarece datele ce intra la analiza sunt impartite in mai multe subsisteme (ca sa fiu mai detaliat - circuite special construite in acest scop cu microcontrolere si asa mai departe) analiza datelor ar avea loc mult mai rapid si desi un raspuns realtime ar fi ilogic si la tehnologia actuala o iluzie (acum imi dau seama de greseala proprie de exprimare da mai devreme - scuze tongue.gif ) acesta ar avea loc in ordinul mili daca nu micro secundelor iar algoritmii de calcul vor fi mult mai simpli decat cei folositi cu tehnologia optica.
Tehnologia la care ma gandesc este similara tehnologiei radar numai ca nu ma bazez pe reflexia undelor radio ci pe emisie-receptie (pentru a identifica fiecare martor in parte - scap de o durere de cap cu scrierea algoritmilor de identificare-urmarire a martorilor si scutesc sistemul de calcule in plus)
 
theMisuser
Si cam ce frecvente te gandesti sa incerci ?
NeoCyberDragon
Nu stiu inca ... asta va fi in functie de componentele pe care le gasesc. Fiind un proiect personal am un buget destul de limitat ca sa nu mai vorbesc de faptul ca posibilitatile de alegere a componentelor in Romania sunt destul de limitate in comparatie cu tarile mai dezvoltate. Vreau doar sa stiu daca ideea este buna sau daca vanez cai verzi... biggrin.gif
mister_rf


Nu cred ca solutia cu unde radio este posibila la acest nivel tehnologic... parerea mea.
theMisuser
Presupunand ca ai gasi componente.. si ieftine. Cum ai imagina tu un raspuns RF la problema ta ?
Eu dac-ar fi sa aleg cea mai ieftina cale cu o precizie milimetrica m-as mai putea gandi si la o solutie acustica si un comp.
pisoiu2
Cu emitatoare RF nu cred ca ai obtine rezultate prea bune, in principal din cauza a doua motive. Unul ar fi propagarea multipath, la nivelul de precizie care il vrei tu vei avea probleme in a detecta semnalul direct de cel reflectat. In al doile rand, daca te gandesti sa folosesti decorelarea semnalelor pentru a avea o imagine a pozitiei emitatorului in functie de intarzierile de la receptie (ceva similar cu sistemul GPS), vei avea de analizat diferente de timp de ordinul zecilor-sutelor de picosecunde pentru a obtine precizia dorita de tine. Nu in ultimul rand, cred ca toate emitatoarele ar trebui sa fie sincronizate in faza, ceea ce iarasi implica o groaza de probleme tehnice.
Pentru a iesi ieftin, iti sugerez doua abordari:
-metoda inertiala, nu e obligatoriu sa folosesti giroscoape, mecanica e scumpa, e suficient sa folosesti accelerometre 3D (de ex. ADXL330 de la Analog Devices)
-optic, cu ajutorul unor leduri. Asta e similara cu metoda radio, nu cunosc exact detalii de implementare, insa asta e folosita si pe platforma WII (ca si accelerometrele de altfel)

/pisoiu
cspot
Eu unul as incepe prin a filma cu 3 camere de luat vederi asezate pe axe imaginare XYZ.
Filmele astfel realizate se pot procesa pentru a obtine o aproximare a miscarii 3D. Nu ar fi nevoie de nici o manusa dar softul necesar necesita o cantitate imensa de munca.

Reclama
In curand... autoevolution.ro

Teste, stiri, ghiduri, jurnale, forum si multe altele!
Aceasta este o versiune simplificatã a paginii originale. Pentru a vizita versiunea originala click aici.