Friday, November 22, 2013

Estudo comparativo das técnicas de deadzone para controle do Xbox360 usando XInputDotNet

Para completar o post
http://dronespersonalizados.blogspot.com.br/2013/11/deadzones-em-controles-analogicos-e.html
implementei uma pequena aplicação de teste em C# + XinputDotNet (wrapper do DirectX input).
A ideia aqui é validar a teoria usando os sticks analógicos do controle de xbox360.



No caso do RAW o valor dos sticks está sendo lido e inserido direto no chart sem nenhum pós-processamento adicional.
No caso do NAIVE o valor usa abordagem de contar os valores abaixo do limiar do deadzone, como pode ser facilmente observado no gráfico, o ruído é reduzido, mas leva junto o sinal útil do outro eixo.
No caso do RADIAL podemos verificar que o ruído e reduzido, e o sinal de ambos os eixos continuam funcionamento perfeitamente enquanto o ruído foi removido.

Todo o código deste aplicativo está em meu fork do XinputDotNet no Github
https://github.com/murix/XInputDotNet
Aproveite e faça o fork do meu fork :D

Se não quiser configurar ou montar o ambiente para operar o git, também dá para baixar o repositório em formato zip. Na pasta "binaries" já tem tudo pré-compilado para testar sem precisar  ter o Visual Studio instalado.
https://github.com/murix/XInputDotNet/archive/465e5bc6c9.zip



Estudo comparativo das técnicas de deadzone / remoção de ruído

No comments:

Post a Comment