TWR-TDMA problem

All discussions related to the Loco Positioning system
Post Reply
Posts: 17
Joined: Fri Apr 29, 2016 1:53 pm

TWR-TDMA problem

Post by carlos.luis306 » Thu Oct 18, 2018 10:14 pm

Hi all,

I want to test the TWR-TDMA protocol to estimate 3D positions of 2 Crazyflies simultaneously.

I'm encountering the following problem: once I turn both Crazyflies on, I'll see the LPS deck LEDs flashing appropriately, but after a few seconds in one of the Crazyflies the LEDs will stop flashing, signaling that the module stopped working (is this correct?). The CF that stops working is not consistent among trials: sometimes it will be CF "A", sometimes it will be CF "B".

Has anyone seen similar behaviour? I should say that this issue is not reproducible in the latest git commit on the master branch. We're currently using a custom firmware (forking from a recent commit, around when TDoA3 was first introduced), but at least I'll like to get some pointers into what may be going wrong in my case.

I believe the issue is not related to the number of bits (CFLAGS += -DTDMA_NSLOTS_BITS) or the slot (CFLAGS += -DTDMA_SLOT), since I use the same flags with the master branch's firmware and it works fine.

Any input will be greatly appreciated!

Posts: 1790
Joined: Tue Feb 06, 2007 12:36 pm

Re: TWR-TDMA problem

Post by arnaud » Fri Oct 19, 2018 5:37 am

Hi Carlos,

this sounds like a bug that could happen in case two copters have their timeslots colliding and the twr code not handling it properly. Are you sure you are not having other CF2s or anchor in TDoA3 mode talking in the neighborhood?

One things you might try is to update the dw1000 lib in the old code, there has been some fix in the lib that might solve this problem.

On a side note, nowadays TDoA2 is much more stable and should work better than TDMA, they have the advantage of not requiring an individual configuration so it might be worth testing.

Post Reply