LusoRobótica - Robótica em Português

Software => Software e Programação => Tópico iniciado por: Marvin em 08 de Março de 2010, 18:19

Título: Percepção de profundidade
Enviado por: Marvin em 08 de Março de 2010, 18:19
Boas,

Estou a finalizar o meu "weekend project" (durante esta semana ja o coloco aqui) já com 3 fds em cima.

No decorrer do projecto deparei-me com alguns problemas e este é um deles. Como, apenas com uma camara, saber a distancia de um objecto do qual as dimensões são conhecidas.

Ou seja, atraves do processamento de uma imagem, saber a que distancia esta um objecto. Como ja era tarde e tinha pouco tempo, utilizei uma fita metrica, uma tradução pixel - cm mto "manhosa" e depois calculei as distancias e a escala com a ajuda do teorema Pitagoras...

Isto ate parecia bater certo mas o angulo da hipotenusa com a adjacente era "grande" demais para aquilo que eu estava a testar... para o utilizar tinha de o dividir por 3 e bate + - certo.

Fiz aqui um diagrama no paint:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fblog.skundu.net%2Fwp-content%2Fuploads%2F2010%2F03%2Fangulos.png&hash=e21e075ca707341ffbf83c1ed94af3f4cce5f7c7)

Portanto  o circulo preto é o "objecto", as linhas verdes são os angulos de visão da imagem e as linhas vermelhas o triangulo de onde preciso de calcular o angulo. O X/Y são conhecidos o Z é deduzido atraves da tal conversão manhosa.

Ha alguma forma mais "cientifica" de fazer isto?
Título: Re: Percepção de profundidade
Enviado por: senso em 08 de Março de 2010, 20:35
Tens de trabalhar em 3d, com x,y,z e usar normas e essas coisas assim, pois teorema de pitágoras só funciona a uma dimensão, ai não garantes um angulo de 90graus entre os catetos
Título: Re: Percepção de profundidade
Enviado por: vicardosof em 09 de Março de 2010, 02:11
Por que não tentas lei dos Senos, que serve para todo triângulo?
Com esta lei, se tiveres um ângulo e o valor do lado oposto ao mesmo, podes com ajuda do lado aposto do ângulo desejado calcular o ângulo.


Li o problema de outra forma e pensei: Para que estás a calcular todos esses angulos? Podes fazer isso apenas com escalas! Escala real x Escala da imagem.
Título: Re: Percepção de profundidade
Enviado por: Marvin em 09 de Março de 2010, 12:09
Obrigado pelas sugestões.

Tens de trabalhar em 3d, com x,y,z e usar normas e essas coisas assim, pois teorema de pitágoras só funciona a uma dimensão, ai não garantes um angulo de 90graus entre os catetos

Pois tenho de fazer essa aproximação 3D, mas da forma como coloquei esta a funcionar + - com um erro minimo.

Por que não tentas lei dos Senos, que serve para todo triângulo?
Com esta lei, se tiveres um ângulo e o valor do lado oposto ao mesmo, podes com ajuda do lado aposto do ângulo desejado calcular o ângulo.


Li o problema de outra forma e pensei: Para que estás a calcular todos esses angulos? Podes fazer isso apenas com escalas! Escala real x Escala da imagem.

Vou tentar a lei dos senos assim que tiver um pouco de tempo, ver se o erro é inferior.

Preciso dos angulos para indicar qual a posição correcta de um servo, dai esta trabalheira toda. Em relação ás escalas é isso mesmo que preciso de fazer mas não estou a conseguir muito bem. Vou investigar mais.
Título: Re: Percepção de profundidade
Enviado por: amando96 em 09 de Março de 2010, 14:30
que tal steppers? têm resolução maior  :)