User Tools

Site Tools


doc:lps:tdoa

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
doc:lps:tdoa [2017-03-23 17:01]
macke created
doc:lps:tdoa [2021-06-24 16:54] (current)
kimberly
Line 1: Line 1:
-==== Experimental TDoA mode ====+<WRAP center round important 60%> 
 +This page has deprecated and will be archived. Please go to [[https://www.bitcraze.io/]]. 
 +</WRAP> 
 +==== Using TDoA mode ====
  
-There has been some recent work on Flying Crazyflie using TDoA measurement. This is still very experimental and not tested a lot but is is already pushed in our github reposTo get your Crazyflie to fly with TDoA position estimation you need to: +<WRAP center round important 60%> 
-  - Update the Crazyflie firmware, LPS node firmware and lps-ros project to the latest master branch +This page is outdated and TDoA is now part of the standard functionality
-  - Compile and flash the crazyflie firmware with "ESTIMATOR = kalman" and "LPS_TDOA_ENABLE=1" in tools/make/config.mk +</WRAP>
-  - Compile and flash the LPS nodes (anchors) +
-  - Configure the LPS nodes in TDoA by opening the serial console and pressing "m" for mode and "3" for TDoA mode. +
-  - Set the address of the LPS nodes **from 0 to 7**. TDoA works with up to 8 anchors and they much now be addressed from 0+
  
-The anchor placement is even more important with TDoA. The Crazyflie must fly within the 3D [[https://en.wikipedia.org/wiki/Convex_hull|convex hull]] formed by the anchors. For that reason it is easier to use 8 anchors. With 6 anchors you can place them forming 2 aligned triangle (one on the floor, one one the ceiling). Also since the anchor time are synchronized together it is very important that the anchors have direct line of sight between them. 
  
-You can then fly with the same launchfile as beforeYou can also try the new "dwm_loc_ekf_swarm_hover.launch" which is already setup for 5 CrazyfliesJust edit the top of the file to set the address and channel of your Crazyflies.+The loco positioning system TDoA mode allows a tag, ie. the Crazyflie 2.0, to find its position only by listening to the packets transmitted by the anchors. This has the advantage of not putting any hard-limit to the number of tags since adding tags does not add bandwidth requirement to the positioning radios. 
 + 
 + 
 +To get your Crazyflie to fly with TDoA position estimation you need to: 
 +  - Flash the latest master branch of the [[https://github.com/bitcraze/lps-node-firmware|lps-node-firmware]] in the anchors. 
 +  - Setup your anchors to maximize the size of the convex hull formed by the anchor. This is best achieved by placing 8 anchors on the corners of a [[https://en.wikipedia.org/wiki/Cuboid#Rectangular_cuboid|rectangular cuboid]]. 
 +  - Configure your system following the [[https://www.bitcraze.io/getting-started-with-the-loco-positioning-system/|LPS getting started guide]]. 
 +  - Configure the LPS nodes in TDoA by opening the serial console and pressing "m" for mode and "3" for TDoA mode. 
 +  - Compile and use a recent version of the [[https://github.com/bitcraze/crazyflie-firmware|Crazyflie firmware]] and [[https://github.com/bitcraze/crazyflie2-nrf-firmware|Crazyflie 2.0 NRF firmware]] from the master branch. The default build will include TDoA and the Crazyflie will automatically be set in TDoA mode if the TDoA anchors are detected 
 + 
 +Note that TDoA is much more sensitive to anchor placement than TWR. It is mostly important that you fly within the convex hull formed by the anchors or as close as possible to it. Going out of the convex hull will quickly reduce the positioning accuracy.
  
 +Once TDoA is setup and working, you can fly your Crazyflies using the same scripts both in Python and in ROS as when flying with TWR.
doc/lps/tdoa.1490284868.txt.gz · Last modified: 2017-03-23 17:01 by macke