autonomous fly in space

All discussions related to the Loco Positioning system
Post Reply
tianhelight
Beginner
Posts: 4
Joined: Sun Jun 18, 2017 12:48 am

autonomous fly in space

Post by tianhelight »

hi arnaud,
I'm interesting in crazyflie and studying in the hardware and software.Now,I can make the crazyflie flies autonomous in my room according your guide.
My goal is let doubles crazyflies autonomous fly in the space, to form changing patterns.That will be very amazing! I have some ideas for it and I think It will be achieved by take full advantage of current technology. I have readed the wiki and have some questions:

1.As your wiki said, with TDoA,The Crazyflie must fly within the 3D convex hull formed by the anchors. It's difficult to put the anchors very high.So if my space is 40m*30m*20m,how to location the crazyflie when it fly higher then anchor?

2.In forums,you mentioned wifi may affects the communication,can we use the FHSS(Frequency-Hopping Spread Spectrum),which is used by some commercial remote controllor?

3.Can crazyflie client control and locate the crazyflie in TDoA mode? How can I modify the amount of the anchors to 8?

4.Reference to Decawave application guide,in TDoA, all the anchors should be time synchronized.How the system anchors synchronized? Is there any detailed introduction and reference?

thanks
tianhelight
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: autonomous fly in space

Post by arnaud »

Hi,

1. If you fly outside the convex hull with TDoA the precision will very rapidly degrade. My understanding is that above the convex hull you should get fairly good X/Y accuracy but very bad Z accuracy (this is a theoretical geometric reasoning, I have not tested it yet)

2. 2.4GHz narrow band communication should not affect UWB as long as the TX antenna is not too close to the UWB antena. We have seen some interference with the Crazyflie 2.4GHz radio and it works better if the Crazyflie is not sending any packet while the UWB want to receive. If you just have receiver on the Crazyflie I have not observed any problems.

3. TDoA is compatible with the client and the ROS LPS implementation. Changing the anchor number will require some change in the anchor code so it is possible but will not work out of the box.

4. We implement clock synchronisation over UWB radio in order to achieve TDoA. The anchors communicate with each other transmitting enough data on the air to allow a listener (ex. Crazyflie) to synchronize the anchor clock and calculate the packets time difference of arrival.
tianhelight
Beginner
Posts: 4
Joined: Sun Jun 18, 2017 12:48 am

Re: autonomous fly in space

Post by tianhelight »

Hi arnaud,
Thank you for your answers.These are questions go a step further:
1.Can we use the barometer's data to estimate the z position when the crazyflie fly higher then anchors?
2.If a wifi device work on the same channel and frquency as the crazyradio, they will have some interference.It will decrease the reliability.
3.I have recompiled the CF firmware and set the 8 anchors in TDoA mode.My CF client can connect to the Crazyflie 2.0.But in the Anchor ranging status box there are six blank boxes and two weak boxes.Should I modify the CF client code to work on TDoA mode? ROS is too complex for me.
4. Is there any article or reference discuss the method of clock synchronisation over UWB radio in order to achieve TDoA?
Thanks
Tianhelight
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: autonomous fly in space

Post by arnaud »

Hi Tianhelight,

1. The barometer in the crazyflie is not enabled in the kalman filter yet, if it was enabled it could help at least in theory to fly over the anchors. This needs to be tested and tuned.
2. Yes, a wifi on the same channel will affect the 2.4GHz link. In that case you need to setup the link on a new channel. Depending of the use case the Crazyflie can be made completely autonomous, removing the need for a reliable 2.4GHz link. It is also technically possible to send data to the Crazyflies using the UWB radio but this will need to be implemented in the anchors.
3. The loco positioning tab is mostly not compatible with TDoA. The position should work but not the debug tools like the anchor reception indicator (this will be the simplest to implement actually, distance to anchor will he harder). To debug TDoA I suggest you setup log block to display the variables you want to see, like the position estimate. Position hold and the autonomous flight example in the lib will work fine with TDoA (the control is not dependent of the way the position estimate is acquired).
4. For the methods we currently implement, the only documentation currently is the source code: the anchor protocol https://github.com/bitcraze/lps-node-fi ... chor.c#L27 and the way the packets are used to calculate TDoA: https://github.com/bitcraze/crazyflie-f ... Tag.c#L101. The philosophy is that the synchronization is not done in the anchors, but the anchors transmits enough data to allow a listener to calculate the synchronisation.

/Arnaud
Post Reply