Hello!
First of all, I am sorry if this questions seems similar to the ones already asked, but it's hard to compare the expected behavior with the observed one and I have not found any questions about exactly the same setup as ours.
We've been trying to get the loco positioning system working with multiple crazyflies. We have positioned six anchors in the following points:
0: {x: 0.0, y: 0.0, z: 0.0}
1: {x: 0.699999988079071, y: 2.64, z: 0.0}
2: {x: 3.430000066757202, y: 1.3799999952316284, z: 0.0}
3: {x: 3.3399999141693115, y: -0.05999999865889549, z: 2.819999933242798}
4: {x: -0.38999998569488525, y: 0.7099999785423279, z: 2.8299999237060547}
5: {x: 3.3399999141693115, y: 2.27, z: 2.819999933242798}
They are a bit close to each other, but we were trying to keep the 2m separation and reproduce the recommended setup as closely as possible.
In this gallery you can see the results:
https://photos.app.goo.gl/DvZEFUyMQ6CBDtBd9
The single drone video was recorded using the TWR mode. It's not perfect, but I'd say it's good enough to continue our work.
The two drone demonstration on the other hand was made using the TDoA 2 mode. You can see the performance is much worse.
Is that an expected result for such small room in TDoA mode and 6 anchors? What steps could we perform in order to improve it?
We have already tried to improve the calibration of the whole system -- we have used Optitrack available in the room to measure exact positions of nodes. Unfortunately in order to do that we needed to bring the anchors closer together and the result was actually worse.
Loco positioning system performance in TDoA 2 mode
-
- Bitcraze
- Posts: 630
- Joined: Tue Jun 30, 2015 7:47 am
Re: Loco positioning system performance in TDoA 2 mode
Hi!
I think it looks a bit wobbly in TDoA, it can probably be better.
What is the performance like if you fly one drone in TDoA at the same position as you did with TWR?
When you fly two drones you are getting closer to the edges of the space and I would expect the positioning to degrade a bit compared to the center if the space, especially sin you only have 6 anchors.
It could also be interesting to try TDoA3 since the order of anchors (and thus the anchor pairs used for) is randomized.
I see that your bottom anchors have z=0.0, which means that the origin of your coordinate system is located about 15 cm above the floor. It is fine from a system point of view, just wanted to check if it is intentional.
I think it looks a bit wobbly in TDoA, it can probably be better.
What is the performance like if you fly one drone in TDoA at the same position as you did with TWR?
When you fly two drones you are getting closer to the edges of the space and I would expect the positioning to degrade a bit compared to the center if the space, especially sin you only have 6 anchors.
It could also be interesting to try TDoA3 since the order of anchors (and thus the anchor pairs used for) is randomized.
I see that your bottom anchors have z=0.0, which means that the origin of your coordinate system is located about 15 cm above the floor. It is fine from a system point of view, just wanted to check if it is intentional.
Re: Loco positioning system performance in TDoA 2 mode
Hello!
Sorry for taking so long to reply, I did not receive any notification, probably forgot to click some checkbox.
Thank you for the reply, especially the comment about TDoA3 -- I have assumed it is always worse than TDoA2, but it makes sense that choosing random pairs of anchors can help.
In a meantime we have re-did our setup multiple times, but so far the results were only worse:
1. First, we have used Optitrack in order to get precise position of anchors. Unfortunately it also meant that the area was smaller and thus the anchors were closer together. The results were poor, in TWR it was very shaky, in TDoA2 it was not possible to fly. It would have helped us if we knew that putting the anchors closer together decreases the performance (even if they are spread 2m apart).
2. Then we have tried to use the whole room in order to space the anchors more apart. The positions displayed in GUI looked very good when we were moving the drone around, but unfortunately we made a mistake and always started the drone in a wrong orientation (we didn't realized back then how important it is).
3. We re-did the setup from 2., but the results were not so good anymore, actually worse than the original try we have recorded and posted in the first message.
We plan to switch to a different, a bit more specious room next week and hopefully that will improve the performance. Additionally we have also two additional anchors. Hope our story might be helpful to someone, will try to post an update when we get this thing to work.
Sorry for taking so long to reply, I did not receive any notification, probably forgot to click some checkbox.
Thank you for the reply, especially the comment about TDoA3 -- I have assumed it is always worse than TDoA2, but it makes sense that choosing random pairs of anchors can help.
In a meantime we have re-did our setup multiple times, but so far the results were only worse:
1. First, we have used Optitrack in order to get precise position of anchors. Unfortunately it also meant that the area was smaller and thus the anchors were closer together. The results were poor, in TWR it was very shaky, in TDoA2 it was not possible to fly. It would have helped us if we knew that putting the anchors closer together decreases the performance (even if they are spread 2m apart).
2. Then we have tried to use the whole room in order to space the anchors more apart. The positions displayed in GUI looked very good when we were moving the drone around, but unfortunately we made a mistake and always started the drone in a wrong orientation (we didn't realized back then how important it is).
3. We re-did the setup from 2., but the results were not so good anymore, actually worse than the original try we have recorded and posted in the first message.
We plan to switch to a different, a bit more specious room next week and hopefully that will improve the performance. Additionally we have also two additional anchors. Hope our story might be helpful to someone, will try to post an update when we get this thing to work.
-
- Bitcraze
- Posts: 630
- Joined: Tue Jun 30, 2015 7:47 am
Re: Loco positioning system performance in TDoA 2 mode
Hi!
A few centimeters off should work fine.
The buckets control the size of errors (compared to current estimated position) that are accepted/rejected. In a "good" system all buckets should be empty, with bucket0 going to 1 or 2 occasionally (maybe one time a second).
If you have many outliers it indicates that there is a problem in receiving packets in the Crazyflie or in anchor-anchor communication.
It is good to have the correct positions of the anchors, but it does not have to be millimeter precision1. First, we have used Optitrack
A few centimeters off should work fine.
Yes, that's importantunfortunately we made a mistake and always started the drone in a wrong orientation
If you are running TDoA you can check the status of the outlier filter, the log variables to look at are outlierf.bucket0, outlierf.bucket1 and so on.3. We re-did the setup from 2., but the results were not so good anymore,
The buckets control the size of errors (compared to current estimated position) that are accepted/rejected. In a "good" system all buckets should be empty, with bucket0 going to 1 or 2 occasionally (maybe one time a second).
If you have many outliers it indicates that there is a problem in receiving packets in the Crazyflie or in anchor-anchor communication.