Hi everybody
i'm interested to the scheduling process of the Crazyflie, so the process in which the drone choose a LPS Anchor to communicate instead of another one; so my questions are:
-How the Crazyflie decide to communicate with an LPS Anchor compared to another one in the TWR protocol?
-Where can i find in the Crazyflie firmware (or in LPS Node firmware) the parts relative to the precedent question?
I'm not sure that this is the right section of the forum (sorry if it isn't)
Thank's a lot for your help!!!
How Crazyflie choose a LPSAnchor to communicate
Re: How Crazyflie choose a LPSAnchor to communicate
Hi,
I moved the topic in the LPS forum which seems to be a better fit.
The current implementation is communicating with all the anchor in a round-robin manner. Each time a ranging is initialized, the next anchor is selected: https://github.com/bitcraze/crazyflie-f ... #L250-L252
On a side note: one nice property of TWR is that there is not hard limit in the number of anchors and it is possible to be much more clever in the anchor selection by changing the lines I linked. For example the closest anchor could be selected instead of all of them, this would allow to setup systems where not all anchor are ideally placed for all position. For instance to rig multiple rooms.
I moved the topic in the LPS forum which seems to be a better fit.
The current implementation is communicating with all the anchor in a round-robin manner. Each time a ranging is initialized, the next anchor is selected: https://github.com/bitcraze/crazyflie-f ... #L250-L252
On a side note: one nice property of TWR is that there is not hard limit in the number of anchors and it is possible to be much more clever in the anchor selection by changing the lines I linked. For example the closest anchor could be selected instead of all of them, this would allow to setup systems where not all anchor are ideally placed for all position. For instance to rig multiple rooms.
Re: How Crazyflie choose a LPSAnchor to communicate
Hi Arnaud!
Thanks for your reply (and sorry for the wrong section)!!
Because, my interest is to combine the scheduling process with an estimation of the communication channel (in terms of power), in which the drone could communicate with the Anchor with a good channel (and pass away the Anchor with a bad communication); this is similar to what you tell me, in fact may be interesting to combine your idea with my idea!
Another question: is it right to say that the Anchors in TWR protocol are simpler compared to the TDoA protocol?
Because, as i understand, in TWR the Anchors answer to the Crazyflie and stop (so, the crazyflie manages both communication and ranging), while in TDoA (that as i understand, is a unidirectional communication) the Anchors manage the communication for the ranging and the Crazyflie computes the ranging.
Thanks a lot for your reply!!!!
Thanks for your reply (and sorry for the wrong section)!!
So, there isn't an order, simply the ranging happens with the Anchor 0, then Anchor 1 and so on, right?The current implementation is communicating with all the anchor in a round-robin manner. Each time a ranging is initialized, the next anchor is selected: https://github.com/bitcraze/crazyflie-f ... #L250-L252
...
the closest anchor could be selected instead of all of them, this would allow to setup systems where not all anchor are ideally placed for all position. For instance to rig multiple rooms.
Because, my interest is to combine the scheduling process with an estimation of the communication channel (in terms of power), in which the drone could communicate with the Anchor with a good channel (and pass away the Anchor with a bad communication); this is similar to what you tell me, in fact may be interesting to combine your idea with my idea!
Another question: is it right to say that the Anchors in TWR protocol are simpler compared to the TDoA protocol?
Because, as i understand, in TWR the Anchors answer to the Crazyflie and stop (so, the crazyflie manages both communication and ranging), while in TDoA (that as i understand, is a unidirectional communication) the Anchors manage the communication for the ranging and the Crazyflie computes the ranging.
Thanks a lot for your reply!!!!
Re: How Crazyflie choose a LPSAnchor to communicate
Yes you are right, in TWR mode the anchors are simple beacon that only answers to request and all scheduling is done by the Crazyflie. In TDoA mode the anchors have to handle communication synchronization with each-other.
There is a documented way to estimate the quality of the channel, most importantly to find if we are in direct line of sight condition. I never manage to get this algorithm to give proper results so I am very interested to hear about your progress in estimating the channel quality.
There is a documented way to estimate the quality of the channel, most importantly to find if we are in direct line of sight condition. I never manage to get this algorithm to give proper results so I am very interested to hear about your progress in estimating the channel quality.
Re: How Crazyflie choose a LPSAnchor to communicate
Hi!
Thanks for all! Now for me it's all more clear!
I'll put here every news about it!
Thanks again! Have a nice weekend!
Alex
Thanks for all! Now for me it's all more clear!
I'll put here every news about it!
Thanks again! Have a nice weekend!
Alex