Menu

General question about using accelerometer instead of cam

2014-06-13
2014-07-19
  • Steve Costanza

    Steve Costanza - 2014-06-13

    Im trying to get my android device to work as a tracking device using
    opentrack/facetracknoir.
    I found an android app (severely outdated, apparently abandoned by dev)
    called Head Track by Cobra.
    It seems to send fairly accurate info to the computer when running the
    server client on the pc. I guess it used to work with facetracknoir a
    couple years ago, but no longer. Apparently the server for the app runs on
    port:61, but opentrack/facetrack will not allow ports lower than 1000. Is
    there a workaround? Id love to get opentrack to accept the input from my
    android device (then i can use splashtop to stream the game to the phone
    and use my DIY VR googles just like oculus! and all wirelessly, so can be
    played anywhere in the house!)
    Please let me know if there's any way to get it to work, or if i missed the
    forum posts about it.

    Steve

     
  • Stanisław Halik

    A new app should preferrably be written, performing sensor fusion using available hardware inside the particular phone model.

    There's existing code in FreePIE that can be adapted.

     
  • Adrian Tysoe

    Adrian Tysoe - 2014-07-06

    I'm having some luck with EDTracker developed by some Elite Dangerous player. For some reason the axes don't work directly from the Arduino boards joystick output. I don't know why, but they seem to jump to extreme positions with the slightest movement of the acceleromerer.

    I did have more luck by using the Joystick Curves utility to convert the joystick input from the device to vjoy and then into opentrack. That actually is working quite well except the axes are multiplied so setting 100 degrees of yaw angle will create a fairly normal response when you move your head about 30 degrees.

    Anyway, I don't know enough about programming. Was wondering if it might not be something really simple like the EDTracker spitting out floats with too many decimal places or something like that?

    The odd mapping settings might just require some of the exponential settings in the Arduino sketch to be reduced. Not sure.

    Anyway, out of the box the EDTracker is fantastic in the two axis Elite and other games like war thunder with 2 axis head look controller settings. Essentially mouse look. The third roll axis isn't supported outside of trackir. So a little work needed to get that working seamlessly.

    I asked the EDTrack devs if they had any idea why the raw data from the tracker isn't liked by opentracks joystick input while joystick curves vjoy data is. Just incase they know. Perhaps someone here has an idea too.

    BTW there are instructions to make your own ED Tracker device. Can be less than $20 to make yourself. Or you can have one preassembled, calibrated and flashed for 25 pounds.

    Their website with instructions and tutorial videos is at http://edtracker.org.uk/

     
  • Stanisław Halik

    It's very likely sensor fusion. I'm busy but getting readouts using accelerometer and magnetometer isn't really a hard task, especially given example code available.

     
  • Adrian Tysoe

    Adrian Tysoe - 2014-07-06

    Sounds promising Stanislaw.

    It would be a fantastic solution since the DIY instructions are readily available and they do sell them pretty much at cost if you factor in assembly time.

     
  • Adrian Tysoe

    Adrian Tysoe - 2014-07-19

    Just in case it's useful info. Joystick curves output from edtracker via vjoy works. BUT it only works if I check the preserve axis range checkbox in joystick curves.

    With the preserve axis range checkbox disabled, the edtracker results from joystick curves have a similar looking result in opentrack.

    When working with preserve axis range enabled All these intermediate apps, Edtracker>joystick curves>vjoy>joystick input module in opentrack results in a less smooth result and still requires filtering.

    But at least is shows that it can work.

     

Log in to post a comment.