How to use Riftcat VRIdge with Kinects: ImmotionRoom Iridge server
A lot of time ago I described you how cool is VRIdge, the solution that makes you play SteamVR games using a cheap Cardboard or GearVR headset. I love VRidge, not only because it allows people to lower the entry point for playing VR experiences (a Cardboard is surely cheaper than a Vive), but also because it is made by very kind people (I’ve interacted with them and I can assure you that these Polish guys&girls are really fantastic).
Some times ago I wrote a tutorial on how to use VRIdge with Kinect and it got its success. Reason is that of course Cardboads can’t offer the positional tracking owned by Vive, so VRIdge users can supply it with other sensors, like Kinects for instance. Tutorial highlighted some issues in this process, since it required some dev skills (one of the required program doesn’t work on standalone, but needs to be run inside Eclipse!) and it used very rough programs. Since we at Immotionar work with Kinect and VR from almost three years, me and Gianni asked ourselves: why can’t we fix this issue? And we did it.
Now you can use VRIdge with Kinect using ImmotionRoom solution, in particular using its Iridge server. What are advantages of this solution?
- It works out of the box;
- It is configurable in an easier way;
- It doesn’t require particular tech skills;
- You can use it with Kinect v1 and v2;
- You can use it with multiple kinects (if they’re attached to different computers);
- From our test, it appears to be smoother than the alternative solution;
- It runs in background, without strange windows cluttering the screen.
So, how to do it?
- Download ImmotionRoom from Immotionar website. If you’re in doubt what to download, pick the personal runtime. It is free, but with a time limit: after half an hour or such you have to close and restart the services (just a little nuisance, if you don’t want to pay… otherwise pay to support the project!)
- Read the manual provided with the software that shows you how to install the software and how to configure properly a single or multi-kinect setup. Setup is very straightforward (Next, next, next). Take care of installing the TrackingService on only one PC (rule of thumb: the one running VRidge) and a DataSource on every PC connected to a Kinect in your setup. Depending on the Kinect type (Kinect v1 vs v2), you have to install a different DataSource type (DataSource for Kinect v1 contains a KV1 flag inside its installer name). You can even mix Kinects v1 and v2 inside the same setup!
During the installation process, the software may ask you to run services at startup… if you want to make everything easier, accept this feature. If you don’t want this, please put at least a shortcut to the services on the desktop; - Install Iridge server, the one that will perform the magic between ImmotionRoom and VRidge. Put a shortcut on the Desktop or another place where you’ll easily find it. Notice that you can’t make it run at startup (it’s a design choice);
- Now that everything is installed, start the TrackingService and DataSources double clicking the desktop shortcuts (or restart the PC to make them run at startup);
- Once you’ve installed the services, run the configuration tool provided inside the installation zip (the program inside ManagementTool_Windows folder) and configure all the system. Again, there’s a manual for it inside the package, so I won’t explain much here. If you have only one kinect, this configuration is super-fast.
What is this configuration useful for? Well it makes all services to know each other, so they can communicate properly. Furthermore it is fundamental to give the system a proper reference system that can be used in virtual reality. At a certain point, in the Calibration stage, the system will ask you to stay straight looking in a certain direction: look in the direction that for you is the “front” of your virtual reality room (rule of thumb: look at the kinect). We’ll use that later, so remember it; - Run VRIdge, as always, on your PC and on your smartphone and pair the devices;
- Set VRIdge to read positional data from FreeTrack, as explained here;
- Launch Iridge server from the Desktop shortcut;
- Run SteamVR throught VRidge. If SteamVR keeps crashing, you can have a look at this possible solution;
- Configure SteamVR with Room Setup. If you’ve configured ImmotionRoom correctly, you can simply follow the same steps of always to configure your room. You have just to be careful to two things:
- Select Standing-only setup and not Roomscale;
- When Room Configuration asks you to calibrate center and put your headset looking at the default direction, put your smartphone (i.e. your Cardboard) as looking the same direction that you looked in stage 5. This is fundamental, since our ImmotionRoom (i.e. Kinect) and SteamVR must have the same reference system. If you don’t do like this way and you’ve configured your Kinect to have a reference system pointing to North and then you configure SteamVR default orientation looking at South, whenever you’ll make a step forward, it will be detected in VR as a backward step.
- Ok, now you’re done with configurations!
Every time you need to start a VRidge experience you have only to:
- Launch all ImmotionRoom services (if you selected to launch them at startup, you’ve only to launch Iridge);
- Launch VRidge on your PC and smartphone and start a SteamVR game;
- Now this is a bit tricky: every time you launch an app, you have to put your smartphone in the same direction of point 5 and 10.2 of the previous list, for the same reason explained at point 10.2: ImmotionRoom has a clear reference system fixed in the world, while Cardboard apps creates a reference system every time you start an application, so we have to ensure they’ll have the same reference orientation. Another advice: if you’re using Cardboard (and not GearVR), remember that gyroscopes are not stabilized, so in the long term the kinect and the headset will lose their initial reference system match (there’s nothing we can do on it): to mitigate it, my advice is to not perform fast and abrupt rotations. Just to be clear: these are issues that are present with every setup involving Kinects and VRidge, are not a problem of ImmotionRoom.
And that’s it! After an initial a bit more complicated configuration, you’re able to play VRidge with Kinect positional tracking out of the box, super easily, everytime that you want! I think that’s great! Try it (downloading VRidge and ImmotionRoom) and let me know your opinion!
Hope you liked this tutorial… if it is the case, please like and share!
Disclaimer: this blog contains advertisement and affiliate links to sustain itself. If you click on an affiliate link, I'll be very happy because I'll earn a small commission on your purchase. You can find my boring full disclosure here.
If you’ve got the technical skill to do this, isn’t the amount of time you’re likely to waste on fiddling with this at a reasonable guess of your hourly rate pretty close to the cost of buying a Vive? I can understand doing it for the challenge – but if you’re doing it as a money saver then do yourself a favour!
Well, in a mono-kinect setup, the installation process of ImmotionRoom is more complicated to be written than to be executed. Of course, being the creator of this solution, this is the only thing that I can say (I’m not very objective, of course) 😀 😀 :D. And the other solution is tricky as well.
Agree that in general, looking at the results, for a professional it is not worth the effort. But imagine you’re a student with a fair amount of free time and little money, that already owns a Kinect. This can be a viable solution. Proof is the fact that the previous tutorial has a continuous stream of readers, so I guess there’s people actually using Kinects with VRidge. That’s why we tried to make the process better.
Yeah. My only worry is that people who haven’t tried ‘proper’ VR are going to get a very distorted view of how wondrous it is on a proper set up.
I went from DK1 > Cardboard > CV1 pre-touch > Rift and the improvements kept blowing my mind. Do some people out there think PC VR is pretty much “slightly better than Cardboard”?
Well, I understand your worries. You’re right. Cardboard wrt PC VR is really terrible and a Cardboard HMD can’t substitute in any way a Vive.
But I know people that have tried top-notch VR in some exhibitions but can’t afford a tethered headset + VR-ready PC, so they go for VRidge.
But we all know that this can’t be the future. Oculus and Vive FTW 🙂
I am having trouble when using the management tool, when i start the configuration it says that the tracking service and data source isnt found.
Uhm, have you tried relaunching it various times? To disable your firewall? Furthermore, have you multiple network interfaces? (if so, please try leaving only one enabled)
I tried using the Vridge solution, but the problem is I also have Razer Hydra controllers. If I emulate freetrack and move the position of the headset, the hands tend to get desynced with the head. Do you have a solution for this or is it the same with your system? Or is it just a question of SteamVR setup?
Uhm, I admit that I don’t know. It seems like the headset location and the Hydra controllers locations are not calibrated, so that when you move, the data become uncoherent. We just use Kinect to communicate with VRidge system, so I think that the best solution is to contact Riftcat support and ask for help in using freetrack + controllers.