First off, could you provide some general information about your project? Are you using Unity or Native? Which version of Vuforia are you using? Additional questions and comments below.
I'm working on a robotics project where I'm trying to mount a rotating servo-mounted camera on a robot. The camera is supposed to rotate in order to keep a VuMark in its field of view, so the robot can navigate using the VuMark.
However, I've run into several problems: (Note that I'm pretty new to using Vuforia for position tracking)
What sort of device is the camera? Is it a phone or some sort of USB camera?
-When the robot is moving too quickly, even though the VuMark is in the camera's field of view, sometimes the camera will lock onto something else (somebody's shirt, a random wall in the background, a table, etc) apparently detecting that it's a VuMark. Note that I'm only trying to track one object at a time.
In this case, was the camera previously locked onto the VuMark and then during the movement it locked onto something else? Are you seeing any logs that would indicate the target has been lost and/or found during this scenario? Have you tried enabling extended tracking to see if it helps this at all?
Detecting any of the objects you mention as the VuMark sounds like a false positive. Are you getting target found log messages from Vuforia when this occurs? Could you share your VuMarks design so we can review it and try to determine why it might produce false positives?
-The camera apparently needs to be held almost perfectly still in order to reacquire the VuMark once it loses track. If the robot is moving or the servo is rotating at all, the camera can't lock on.
It is possible to detect a VuMark while the camera is moving, but it depends on various factors. If the camera is moving too quickly and Vuforia is unable to get a clear frame of the target, it will not trigger a detection. Slower movements will often allow for a detection. The size of the target and your camera's distance from the target will also affect this. If the target is too far away and the camera is moving, your chances of detection are much lower.
-I've gotten telemetry data from the robot that implies that the robot is constantly losing and reacquiring the VuMark. (Keeps switching between "Visible" and "Not Visible"). A maybe-related issue is that the data are noisy even when the camera is still.
Some of the above requested information would be helpful for determining this one as well. What is the size of the VuMark and how far away from the target is the camera when this is occurring? Do you have extended tracking enabled?
-I'm using the translation data from the VuMark to determine robot position so I can rotate the camera. However, sometimes the translation data is wrong - for example, the robot might be 1000mm away and it will only read 200mm. This happens in several cases, but more often when the VuMark is closer to the edge of the field of view. This isn't a processing error, but an error in the raw data returned from Vuforia.
What is the defined size of the VuMark in the Target Manager and what is the actual physical size of it? If these values aren't the same you are more likely to encounter scaling and sizing issues. Also, what is your world center mode set to?
-Sometimes, if the VuMark is far away and the robot moves closer, it'll focus on the edge of the VuMark rather than the center. This might be related to the previous issue - it's also based on incorrect feedback from Vuforia.
What I think might be happening here is that Vuforia is detecting the VuMark before the full target is in view (e.g. it detected the VuMark off only 60% of the image being seen). Therefor your camera might be focusing on the smaller chunk of the VuMark rather than the full target. I can't say for sure as I'm not familiar with how your camera is locking onto the target.
Vuforia Engine Support