10-11-2018 04:14 AM
I am working on a setup with a Parrot Bebop 2 drone to track its pose while flying.
My setup works fine when manually moving around the tracker, but once the drones motors switch on, I read out (at the same frequency) 0.0 on all 6 axes (using pyopenvr).
According to what I read on similar posts, this is due to the IMU that can't deal with high-frequency vibrations.
The suggested solution is mechanical damping.
Now the Parrot Bebop 2 already has mechanical damping between the main body and the X-frame on which the motors are attached, but still I face the tracking loss problem.
I also read that Developer guidelines v1.5 describes Tracker Firmware where a low pass filter is included.
I was wondering if there is a way to 'downgrade' my current Tracker FW version to v1.5, such that, hopefully, the combination of the LPF and the mechanical damping from the drone will result in successful tracking.
Or maybe even ignore the IMU readings, since in the drone an IMU is present and I can do the sensor fusion with only the infrared information from the Vive Tracker.
10-11-2018 12:14 PM - edited 10-11-2018 12:15 PM
@BosM, the current firmware for gen 1 trackers (grey logo) is the on covered by the 1.5 guidelines; if you're using the most recent firmware on those trackers, those functions still work as covered in the guidelines. If you're using Tracker 18' (blue logo) than it's a different story as there are both hardware firmware differences that have led to a loss of the LPS functions. To be honest, software based LPS simply wasn't very effective in dealing with the types of use cases that people were getting stuck with - it is a factor in why we've moved towards recommending mechanical dampening.
SteamVR pose correction is pretty dependent on IMU data. You can't simply ignore it unfortunately without throwing the entire default system out. Some developers have come up with custom SteamVR pose solvers that exclude IMU data such as this example from NASA - custom solutions are quite impractical for most users. You can see in their readme it does reduce accuracy quite a bit.
In some cases, you're better off using visual tracking - this is really pushing the use case of Vive Tracker.
10-19-2018 05:51 AM - edited 10-19-2018 05:55 AM
Thank you for your reply.
We have followed your advice and designed mounts with damping elements.
In a first version we put the tracker on top, but there we still got the reading out 0.0 problem, so we adapted the design and mounted the tracker on the back as can be seen on the pictures below.
This seems to work (for now). The balance of the drone is now a bit disturbed, but the flight controller seems to manage it quite well, and we're also testing with small weights on the nose to counteract the weight on the back, which improves stability a bit.
10-19-2018 04:40 PM
@BosM, that looks really slick actually. Sorry there isn't a more robust way to deal with this in software - it's just a current limitation of SteamVR tracking. I'm glad you've found greater success with additional dampening!
a month ago
After some more extensive testing, we notice that the current solution of mechanical damping is not robust. Most of the time we read out proper values, but often we lose the measurements again. In autonomous flight it is vital that this does not occur.
But it feels like we're close. We would like to try to combine our current solution with the LPF on the grey tracker. But apparently it's not something you can permanently turn on. On our drone we are not able to repeatedly turn on the LPF.
Is it possible to provide us with firmware where the LPF is permanently present?