Optitrack Orientation Data Incorrect

 

I’ve been using tracking data coming from Optitrack/Motive and while it connects just fine, there are a few values that are flipped. Streaming data directly into UE via live link, Optitrack’s plugin, or using vrpn all have correct transform/orientation properties. Therefore, it seems like something is happening on Aximmetry’s end. 

I was able to flip the values by editing the camera tracking module and while this works in Aximmetry composer, it does not carry over to the camera calibrator making it very difficult to produce proper calibrations. 

I’ve attached an image showing what values I needed to flip by multiplying by -1. They are as follows:

1. Position X

2. Position Z

3. Rotation Y

4. Quaternion Y

While my workaround works, it isn’t ideal because it will make the change to any other type of tracking data as well, in addition to not working in the camera calibrator as mentioned earlier. So this is directly related to how Aximmetry interprets the data being received from the NatNet server (Optitrack/Motive’s server). I’m thinking this might be an issue within the NatNetlib.dll as according to Optitrack’s documentation that is where orientation data can be converted.

Is this something that can be done? 

Thanks.



   Picture This

 
Profile Image
Picture This
  -  

Additionally, this is true for other tracked objects. If I assign tracking to a billboard or other object, the values are flipped as stated above. Is anyone else using Optitrack? If so, are you experiencing similar issues?

 
Profile Image
Eifert@Aximmetry
  -  

Hi,

Make sure that you are using the correct Axis in Motive's data stream: https://v22.wiki.optitrack.com/index.php?title=Data_Streaming_Pane#Up_Axis


Note that Optitrack integration to Aximmetry is in the experimental phase: https://aximmetry.com/learn/faq/hardware-1/#what-tracking-systems-are-supported-in-any-aximmetry-edition
So if you are still experiencing problems, any extra information about your setup could be greatly helpful to us.

Warmest regards

 
Profile Image
Picture This
  -  

Thanks for the response.

Our Motive settings are as you pictured above with Y-up. We’ve been sending motive data to UE for over a year for our in-camera vfx setup with NDisplay and our LED stage; this is the first we’ve come across this sort of translation error.

I’m not sure what other info you need regarding our setup, it’s been pretty much plug and play in UE. Optitrack’s Livelink plug-in for UE works without any tweaks. Their standard non-livelink plugin works as well. We haven’t used VRPN in a long time so I’ll have to take a look at that to see if there was any translation flips on that (if there was, the only options are xyz position and rotation; thus we never experienced this quaternion flip issue). 

We understand support is experimental and are happy to share any additional info to get it functioning properly. Let me know that you need to know and I’ll try to get you an answer.

Thanks.

 
Profile Image
Eifert@Aximmetry
  -  

Hi,

You should try changing Y up to different settings.
It can be that the Unreal plugin works very differently than our implementation.

Please let us know what you see on different settings when you change Y up.

Warmest regards

 
Profile Image
Picture This
  -  

Already went through all of Motive’s settings. The other option for the Up axis is Z-up which makes it even worse. 

The up axis is correct from Motive.

I suggest investigating the NatNetlib.dll packaged with Aximmetry. I believe that is what does a lot of the translation for a specific program as documented in Motive’s NatNet SDK documentation. Scroll to “Orientation Data in NatNet”. https://v23.wiki.optitrack.com/index.php?title=NatNet_SDK_3.1#Library_DLL_Files:_NatNet_SDK.5Clib

 
Profile Image
Picture This
  -  

Optitrack may be able to help configure a new NatNetlib.dll. I’m sure they would be interested in having their product fully supported in Aximmetry. If you don’t already have a contact there, I can share with you ours. 

If you want to test different configurations of NatNetlib.dll, I believe we can test them on our end by replacing the one packaged with Aximmetry with whatever new configuration you develop till we get the right translations. 

Ultimately since this is our primary tracking system, it’s critical to have this working for us; especially prior to us purchasing Broadcast licenses.

Let me know what else we can do. Thanks.

 
Profile Image
keaganbw
  -  

Hi @Picture This.

Have you made any more progress on your Optitrack calibration? We have followed a similar method for inverting certain axes but but are struggling to get a proper locked calibration. We have used the correct offsets but are still seeing drift in the scene.

Any help would be greatly appreciated!

 
Profile Image
Eifert@Aximmetry
  -  

Hi Picture This,

We wrote to your Email address in relation to this topic. We would very much appreciate it if you could contact us there (we written to the Email address which you used to register to aximmetry.com).

Our warmest regards

 
Profile Image
Picture This
  -  

Hey @Keaganbw,

By drifting, I’m assuming you are meaning that your keyed talent does not lock to the scene. Drifting is most likely cause by these two things.

1. In Motive: The tracking point for your camera not being close enough to the center of the sensor and aligned properly. 

2. In Aximmetry: Camera calibration being incorrect due to a combination of wrong filmback size and/or wrong focal length. 

Both are important to get as close to correct as you can with the camera calibrator being the ultimate key to it all. Remember that just because your lens says that it is a 35mm and you are shooting on a S35 camera, doesn’t mean that it is truly at 35mm, it may be 34mm or 35.5mm… and with lenses that have focus breathing, it will change at different focus distances. So be sure to thoroughly complete a full camera calibration and you should see your drifting problem improve.

 
Profile Image
Picture This
  -  

Hey Eifert,

Can you resend, I’m not seeing the email (checked junk and spam as well). Please send to justin@pixthis.com. 

 
Profile Image
keaganbw
  -  

Thanks Picture This.

We've managed to fix the drift and have calibrated as close as we can. Have you by any chance found a better way to invert those axes as you described at the top of this post? I am using your method and it's working for now but I'm worried for when I start adding other tracking in my scene from other sources!

 
Profile Image
Eifert@Aximmetry
  -  

Hi,

A new version of Aximmetry (2021.3.2) was released a day ago.
We fixed the incorrect Optitrack orientation data issue.
(Fixed incorrect handling of OptiTrack coordinate system.)

Warmest regards,