Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
AndyOHart's avatar
AndyOHart
Honored Guest
12 years ago

Serious help needed with Hydras

Hey. Final Year Project is coming up and I have started incorporating my Hydras into the project. I thought they worked fine but as I used it more, it seems something is up. I already sent back for replacements in December as 1 was faulty but this seems like a new issue, and I'm not sure if it is hardware or softwareside.
So basically the Hydras seem to work fine when near the base. Seems quite steady etc. Now they have a decently sized cable so I'm assuming it should be able to extend that distance. If i want to use the Hydras with my Rift for positional tracking I need some distance. However when I stand like 2-3 feet away from the base, it jitters unbearably. So if i have positional tracking it is unplayable.
Also if I am upclose to the base, and I am using one Hydra to act as a gun, it allows me to move the gun really far away in the game which you shouldn't be able to do, so I do need some distance. Does this sound like an interference issue or a Hydra related issue? I probably wont be able to return them again so I would be fucked.
Thanks for any suggestions
Also yes, I have disabled the Razer Hydra tray icon

19 Replies

  • "AndyOHart" wrote:
    I have moved them as far apart as I can and still jitter. I'll need to be able to take a step back from the base for the positional tracking but it jitters even with that step.

    Do you have links to all the drivers and software you installed to get yours working?

    No drivers at all. Just using the built in USB HID interface. My code used the signal11 library to access USB HID devices, both on my Win8 box and on my Raspberry Pi.

    Apps that support the Hydras generally also use the USB HID interface too, so no drivers need to be installed. In fact, drivers can INTERFERE and cause problems like missing USB HID packets and perhaps jitter too...

    Be sure to UNINSTALL any Razer and Sixense code that may be interfering.
  • "Fredz" wrote:
    Did you try turning off the display of your laptop ?


    No I haven't I will try it though. I didn't have to do that before

    "geekmaster" wrote:

    No drivers at all. Just using the built in USB HID interface. My code used the signal11 library to access USB HID devices, both on my Win8 box and on my Raspberry Pi.

    Apps that support the Hydras generally also use the USB HID interface too, so no drivers need to be installed. In fact, drivers can INTERFERE and cause problems like missing USB HID packets and perhaps jitter too...

    Be sure to UNINSTALL any Razer and Sixense code that may be interfering.


    Hmm I see, so you didn't go onto the Razer website and download any drivers? You didn't use the Sixense Motion Creator software or anything? You just plugged your Hydras in and let the onboard driver install and that was it?

    "Frito" wrote:
    not in english, but maybe this could help you

    http://wearevr.net/index.php/19-hardwarecat/razercat/3-razer-hydra-repair

    good luck!


    Thanks I will look into this. Opening up the Hydra base is a last resort
  • "AndyOHart" wrote:
    Hmm I see, so you didn't go onto the Razer website and download any drivers? You didn't use the Sixense Motion Creator software or anything? You just plugged your Hydras in and let the onboard driver install and that was it?

    No drivers to install. Windows and other OSes have USB HID built-in.

    The Sixense Hydra Tuscany demo makes calls directly into the Windows USB HID API, as you can see in its source code.

    I prefer to use the cross-platform signal11 hidapi, which is freely downloadable source code, that you compile and link directly into your app, with versions for Windows, OSX, and Linux. It has a small demo showing how to use it -- much simpler than supporting Windows directly, IMHO, and cross-platform too!

    And with DIY, you can detect and drop back Hydra data packets, rather than using a heavy filter to smooth over the bad data (adding latency and tracking error to the mix).
  • Danny Woodall at Sixense has a request and some advice regarding this. I wanted to ask him how to proceed, but his PMs are turned off, so I will reply here instead.
    "DWoodall" wrote:
    https://developer.oculus.com/forums/viewtopic.php?f=25&t=7967#p110459

    Could you please not suggest to users that they shouldn't use our Sixense SDK and to use a signal11 hidapi to get the data. In order for anyone to do that successfully, they would need a great deal of understanding about how our technology works. Users would need to recreate filters that not only smooth the data but handle the incoming data in an intelligent manner such as creating a deSawtooth filter to handle the way the separate axis are retrieved. See Igor's explanation: https://www.youtube.com/watch?v=gC2pMfoyEiA&list=PLSzYSYR1Bt5_CBtV1RXORK4R1folxmT0I

    Also, I am not sure how you can claim we are filtering bad packets when we have never released our driver code nor the Tuscany source code. Our driver has the ability to get the RawData as well as get data from history. You are sending users down a rabbit hole instead of using our friendly API.

    Thanks and much appreciated.

    Sorry. I will try to clarify that. I thought you said at GDC that the Hydra code may have multiple little bugs and you are using an all new code base in the STEM. When we talked there (and PMs at MTBS3D) you said my findings were interesting and you did not say you were preventing that bad packet from occurring. Has something changed since then? How should I reword my post?

    No rabbit holing intended. Just saying how I did it, and suggesting doing it like in the Sixense Tuscany Demo as another (prehaps better) option.

    Sorry to post publicly Danny, but you did not provide an easy private way to proceed.

    EDIT: As I mentioned previously, I use the signal11 library for its CROSS-PLATFORM support (it works on my Raspberry Pi). You need to decide what works best for you. On Windows-only apps the Sixense SDK may well be the best way to go. Does Sixense support OSX and Linux yet? How about ARM systems like android or Raspberry Pi. The signal11 library supports all of those.

    I suggest clicking that YouTube link above, and watch the entire playlist to learn much more about the Razer Hydra and Sixense STEM.
  • I was just watching Igor's video again, and this time I made a mental connection between what he was talking about (transmitter phases X, Y, Z, 0) and what I saw in my raw data plots from the Hydra. Here is his very interesting presentation:


    Igor says phase 0 (no cycle) is for synchronization and self-calibration. Perhaps that phase 0 is the phase with the weird data in the packet? That makes a lot of sense. However, it seemed to be the same amplitude as other phases, but with a significant phase shift, which makes it not at all obvious that it is measuring background mag fields, so I am not sure how that can work.

    Igor's STEM description claims to continuously transmit on all three coils, and to continuously sample on all three sensor coils. The software (SDK and hopefully USB HID) communications protocol should be he same as the Hydra from claims during the STEM kickstarter. But the underlying signal and sampling methods should be much faster.

    However, I suspect that using USB HID raw data may change, if the packets are dependent on transmit phases. A lot of that is still a mystery for me, but my test results can be seen starting here:
    http://www.mtbs3d.com/phpBB/viewtopic.php?f=140&t=18749#p144417

    Like Danny said, it will probably be much easier for most people to just use the Sixense SDK, just like the example code in the Sixense Tuscany demo.
  • Thank you for the information filled posts I really appreciate it.
    Unfortunatly, all of this sort of stuff seems a bit too hard for me to do :S I wouldn't know where to start with it all!
    I do have an update of sorts on the situation.
    I tried the Hydras with Surgeon Simulator on my Desktop PC, not my laptop, and it seemed fine when I had some distance between me and the base. It didn't jitter like my game was.
    So I was really excited to try my game and see it run without jitter. The game did actually run quite a bit better without the jitter. The Hydra was very close to the floor so I moved it to more waist level and it worked pretty flawlessly. I think it could of been a driver issue on my laptop so if worst comes to worst I will just give the demo on my desktop. Feels really cool seeing the positional tracking working in my game for the first time.