LPS setup

All discussions related to the Loco Positioning system
Post Reply
yuhsiang
Beginner
Posts: 22
Joined: Wed Mar 03, 2021 11:53 am

LPS setup

Post by yuhsiang »

Hi,

I have a question about the set up of the LPS system.
From the official document, the size of the flight area was set up by 2.95*6.3*2.65 meters with eight loco positioning anchors.
Is it possible to set up a bigger area by putting the anchors further away from each other? Is there a maximum size of the flight area?
Also, if we set up a bigger area, will it results in a worse accuracy than +-10 cm?

Thank you.

Sincerely,

Yu-Hsiang
kristoffer
Bitcraze
Posts: 630
Joined: Tue Jun 30, 2015 7:47 am

Re: LPS setup

Post by kristoffer »

Hi!

Yes it is possible to set up a larger system. The default settings reach 2-4 meters so if you set up a larger system you probably have to increase the transmission power in the anchors (and the crazyflie if you are using TWR).
You can read about low level config of the anchors here: https://www.bitcraze.io/documentation/r ... el-config/
To increase the TX power, set the desired power and "Force TX power"=true

To increase the TX power in the Crazyflie, recompile the firmware with "CFLAGS += -DLPS_FULL_TX_POWER" in your config.mk file

Increased TX power will probably work up to around 10 meters. If you want to go even larger it is possible to use a longer preamble, there is functionality for this but it is fairly experimental.

We use the Decawave DW1000 chips on the decks and anchors and the best source of detailed information is the data sheets from decawave.
yuhsiang
Beginner
Posts: 22
Joined: Wed Mar 03, 2021 11:53 am

Re: LPS setup

Post by yuhsiang »

Hi Kristoffer,

Thank you for your reply.

I am planning to fly multiple Crazyflies using TDoA2 mode. In that case, do I need to increase the TX power in the Crazyflies, or just the anchors?

If I would like to follow the recommendation setting which is 2.95*6.3*2.65 meters with eight loco positioning anchors, do I need to recompile the Crazyflie firmware or increase the TX power of the anchors?

Also, I just read the article about the low-level config of the anchors. It mentioned that we need to connect to either Linux or OSX terminal. Does it not support the Windows system? And how do we exactly set up the desired power of the anchors? I saw this line CONFIG: TX power setting: 1F1F1F1F in the menu and configuration section, what does 1F1F1F1F mean here?

Sincerely,

Yu-Hsiang
kristoffer
Bitcraze
Posts: 630
Joined: Tue Jun 30, 2015 7:47 am

Re: LPS setup

Post by kristoffer »

Hi Yu-Hsiang!

I'm sorry the documentation is lacking in this area.
I am planning to fly multiple Crazyflies using TDoA2 mode. In that case, do I need to increase the TX power in the Crazyflies, or just the anchors?
No, the anchors is enough.

A side note: You may want to consider to use TDoA3 as it is more robust.
If I would like to follow the recommendation setting which is 2.95*6.3*2.65 meters with eight loco positioning anchors, do I need to recompile the Crazyflie firmware or increase the TX power of the anchors?
No, recompiling the Crazyflie firmware is only necessary to increase the TX power of the Crazyflie.
Also, I just read the article about the low-level config of the anchors. It mentioned that we need to connect to either Linux or OSX terminal. Does it not support the Windows system? And how do we exactly set up the desired power of the anchors? I saw this line CONFIG: TX power setting: 1F1F1F1F in the menu and configuration section, what does 1F1F1F1F mean here?
Windows should work as well, all you need is a terminal program that can connect to a serial port (USB in this case)

When you have connected to the anchor you should get something like this:

Code: Select all

====================
SYSTEM  : CPU-ID: 3e002f001757344730333020
TEST    : Initializing pressure sensor ... [OK]
TEST    : Pressure sensor self-test ... [OK]
TEST    : EEPROM self-test ... [OK]
CONFIG  : EEPROM configuration read and verified
TEST    : Initialize UWB  ... [OK]
CONFIG  : Address is 0x0
CONFIG  : Mode is TWR Anchor
CONFIG  : Tag mode anchor list (0): 
CONFIG  : Anchor position enabled: true
CONFIG  : Anchor position: -3.550000 0.000000 0.150000
CONFIG  : SmartPower enabled: False
CONFIG  : Force TX power: True
CONFIG  : TX power setting: 1F1F1F1F
CONFIG  : Bitrate: normal
CONFIG  : Preamble: normal
SYSTEM  : Node started ...
SYSTEM  : Press 'h' for help.
Press 'p' to change the TX power
Press '9' for maximum power
Press 'f' to set "ForceTxPower"

The result should be

Code: Select all

Power menu
-------------------
0-9 - to set ForceTxPower power (from 3.5dB to 33.5dB)
f   - for ForceTxPower
s   - for SmartPower
Setting txpower to: 0x1F1F1F1F = 33.5dB
EEPROM configuration changed, restart for it to take effect!
Setting ForceTxPower
EEPROM configuration changed, restart for it to take effect!
The '1F1F1F1F' is the value of the register set in the chip, it is not very human friendly unfortunately
yuhsiang
Beginner
Posts: 22
Joined: Wed Mar 03, 2021 11:53 am

Re: LPS setup

Post by yuhsiang »

Hi,

Thank you for your reply.

So, if I wanna increase the TX power in Crazyflie and recompile with the config.mk, should I use the command make cload or make clean? Also, in what circumstance do I need to increase the TX power in Crazyflie? Flying with TDoA2 mode or TDoA3 mode or both?

Best,

Yu-Hsiang
kristoffer
Bitcraze
Posts: 630
Joined: Tue Jun 30, 2015 7:47 am

Re: LPS setup

Post by kristoffer »

Hi!
So, if I wanna increase the TX power in Crazyflie and recompile with the config.mk, should I use the command make cload or make clean?

Code: Select all

make clean
make 
make cload
This will clean, build and flash to the Crazyflie
Also, in what circumstance do I need to increase the TX power in Crazyflie? Flying with TDoA2 mode or TDoA3 mode or both?
In the TDoA modes, the Crazyflie is only listening and not transmitting (with the UWB radio) so increased TX power on the CF is not that useful :D
The only time the CF transmits in TDoA is when you change the mode (TWR, TDoA2 or TDoA3) of the system, for this increased TX power will help.
Post Reply