Hi,
I am loading a camera calibration file performed in Motive into my C++ interface. I also have a .txt file describing the rigid body to track. The problem is that, even though the markers are being recognized, the position of the target point in the rigid body is not being transmitted. I believe it could be due to a bad description of the relative position of the markers within the RB (wrong units for instance) or due to a bad behavior of the dll's. Did anybody else have this problem? My cameras are from 2009, FLEXv100r2. Do you know if there is any compatibility problem between the dlls of Motive 1.9 and such cameras?
Thanks in advance for the help!
Error transmitting Marker position
-
- NaturalPoint Employee
- Posts: 718
- Joined: Mon Jan 19, 2015 11:52 am
Re: Error transmitting Marker position
Hi pabloslash,
Thank you for reaching out to us regarding your work and your questions.
Motive 1.9 is completely compatible with the Flex V100:R2 cameras. There should be no problems between the software and these cameras.
Could you please provide a little more information regarding your project?
It sounds like you are using the Motive API for an application that you have developed. Correct?
Are you saving a calibration (.cal) from Motive using the UI, and are you doing the same to export your rigid bodies (.tra)? You described a .txt that you are using with your rigid body, though I am not sure what you are doing here, exactly.
If you save a project file (.ttp) containing your calibration and the rigid body, or if you export the calibration (.cal) and the rigid bodies (.tra) from Motive, you should be able to open these file types from the API. In 1.9, the project can also contain your stream settings if you are trying to get that running. If you are not already doing this to setup your calibration and your rigid body in your application, you should try this workflow and let us know if you see the behavior you are expecting.
Best,
Steven
--
Steven Andrews
OptiTrack | Customer Support Engineer
Thank you for reaching out to us regarding your work and your questions.
Motive 1.9 is completely compatible with the Flex V100:R2 cameras. There should be no problems between the software and these cameras.
Could you please provide a little more information regarding your project?
It sounds like you are using the Motive API for an application that you have developed. Correct?
Are you saving a calibration (.cal) from Motive using the UI, and are you doing the same to export your rigid bodies (.tra)? You described a .txt that you are using with your rigid body, though I am not sure what you are doing here, exactly.
If you save a project file (.ttp) containing your calibration and the rigid body, or if you export the calibration (.cal) and the rigid bodies (.tra) from Motive, you should be able to open these file types from the API. In 1.9, the project can also contain your stream settings if you are trying to get that running. If you are not already doing this to setup your calibration and your rigid body in your application, you should try this workflow and let us know if you see the behavior you are expecting.
Best,
Steven
--
Steven Andrews
OptiTrack | Customer Support Engineer
-
- Posts: 2
- Joined: Wed Sep 09, 2015 1:54 pm
Re: Error transmitting Marker position
Hi Steven,
Thank you very much for your rapid response.
So you are right, I am using the Motive API for a self-developed application. I use Motive to calibrate the cameras, I export the (.cal) file and load it afterwards from my app. Regarding the (.txt), what I do is to manually describe the relative position of each of the markers composing my RB with respect to a 'target pivot'. The file contains the name of the RB, the number of markers and relative positions in mm. A fool example would look like this:
RigidBodyAlpha
3
-35 13 180
-40 20 200
-10 0 100
So that I can read and extract the info and then use it to find the position and orientation of the 'target pivot' at all times. This could lead to an error if the distances are measured wrong; however, it seemed to work for me in an older attempt using the self-calibrated V120:Trio.
When I launch my app, I am reading the number of markers properly, however, the output position and orientation is just a vector that always looks like this: [0 0 -1 0 0 0]
I think trying to import the exported (.tra) file is a great idea to make sure it has nothing to do with the manual description of the RB, however, how could I extract the information in a similar way to the one I am using? I am not able to find out how the information inside the (.tra) is structured.
Thanks again for your help.
Best regards,
Pablo
Thank you very much for your rapid response.
So you are right, I am using the Motive API for a self-developed application. I use Motive to calibrate the cameras, I export the (.cal) file and load it afterwards from my app. Regarding the (.txt), what I do is to manually describe the relative position of each of the markers composing my RB with respect to a 'target pivot'. The file contains the name of the RB, the number of markers and relative positions in mm. A fool example would look like this:
RigidBodyAlpha
3
-35 13 180
-40 20 200
-10 0 100
So that I can read and extract the info and then use it to find the position and orientation of the 'target pivot' at all times. This could lead to an error if the distances are measured wrong; however, it seemed to work for me in an older attempt using the self-calibrated V120:Trio.
When I launch my app, I am reading the number of markers properly, however, the output position and orientation is just a vector that always looks like this: [0 0 -1 0 0 0]
I think trying to import the exported (.tra) file is a great idea to make sure it has nothing to do with the manual description of the RB, however, how could I extract the information in a similar way to the one I am using? I am not able to find out how the information inside the (.tra) is structured.
Thanks again for your help.
Best regards,
Pablo
-
- NaturalPoint Employee
- Posts: 718
- Joined: Mon Jan 19, 2015 11:52 am
Re: Error transmitting Marker position
Hi pabloslash,
Thank you for this additional information. I am beginning to understand a bit more about your workflow.
I am still a little unsure of why you need the text file description of your rigid body in order to help determine your pivot point's position and orientation. If you were using a pre-defined rigid body out of Motive, this information would already be available for you to use.
Are you using the information in your text to somehow create your rigid body? Or are you using already processed tracking data in which the markers have already been labeled, and then using the markers to calculate your own rigid body position and orientation?
Regarding the incorrect data, is this on marker data? If everything works fine with a pre-calibrated Trio, but not the calibrated Flex cameras, there could be an error in the calibration. One common mistake that may be affecting you is not selecting the correct Optiwand in the Calibration settings to match what was used during the wand wave. If the incorrect size is selected, the scale of your data will be off.
It might help if you could provide some screenshots displaying your workflow and the incorrect data. It may also help if you could share a portion of your code.
If you would like to troubleshoot this with us more privately, please feel free to open a support ticket with us at help.naturalpoint.com
Best,
Steven
--
Steven Andrews
OptiTrack | Customer Support Engineer
Thank you for this additional information. I am beginning to understand a bit more about your workflow.
I am still a little unsure of why you need the text file description of your rigid body in order to help determine your pivot point's position and orientation. If you were using a pre-defined rigid body out of Motive, this information would already be available for you to use.
Are you using the information in your text to somehow create your rigid body? Or are you using already processed tracking data in which the markers have already been labeled, and then using the markers to calculate your own rigid body position and orientation?
Regarding the incorrect data, is this on marker data? If everything works fine with a pre-calibrated Trio, but not the calibrated Flex cameras, there could be an error in the calibration. One common mistake that may be affecting you is not selecting the correct Optiwand in the Calibration settings to match what was used during the wand wave. If the incorrect size is selected, the scale of your data will be off.
It might help if you could provide some screenshots displaying your workflow and the incorrect data. It may also help if you could share a portion of your code.
If you would like to troubleshoot this with us more privately, please feel free to open a support ticket with us at help.naturalpoint.com
Best,
Steven
--
Steven Andrews
OptiTrack | Customer Support Engineer