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 Both sides next revision
doc:lps:tdoa [2017-03-23 17:01]
macke created
doc:lps:tdoa [2017-11-15 17:08]
kristoffer
Line 1: Line 1:
 ==== Experimental TDoA mode ==== ==== Experimental 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 repos. To get your Crazyflie to fly with TDoA position estimation you need to: +There has been some work on Flying Crazyflies using TDoA measurements. This is still very experimental and not tested a lot but is is already pushed in our github repos. 
-  - Update the Crazyflie firmware, LPS node firmware and lps-ros project to the latest master branch + 
-  - Compile and flash the crazyflie firmware with "ESTIMATOR = kalman" and "LPS_TDOA_ENABLE=1" in tools/make/config.mk +Currently anchor positions are not transmitted with the ranging data from the anchors (as in TWR mode) and the anchor positions must either be hardcoded in the Crazyflie firmware (compile time in locodeck.c) or set using the parameter sub system in run time. When using ROS, the anchor positions are usually set in run time. The examples python scripts in [[https://github.com/bitcraze/crazyflie-lib-python|crazyflie-lib-python]] do not set the anchor positions and assume they are hard coded in the firmware. 
-  - Compile and flash the LPS nodes (anchors)+ 
 +To get your Crazyflie to fly with TDoA position estimation you need to:
   - Configure the LPS nodes in TDoA by opening the serial console and pressing "m" for mode and "3" for TDoA mode.   - 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   - 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
 +  - Compile and flash the Crazyflie firmware with "LPS_TDOA_ENABLE=1" in tools/make/config.mk or on the command line. You must also update LOCODECK_NR_OF_ANCHORS in locodeck.h if you are using more than 6 anchors. Depending on your set up, you might want to set anchor positions as well.
  
-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.+The anchor placement is even more important with TDoA than with TWR. 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 triangles (one on the floor, one in the ceiling). Also since the anchor times 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 before. You can also try the new "dwm_loc_ekf_swarm_hover.launch" which is already setup for 5 Crazyflies. Just edit the top of the file to set the address and channel of your Crazyflies.+If using ROS you can fly with the same launchfile as before. You can also try the new "dwm_loc_ekf_swarm_hover.launch" which is already setup for 5 Crazyflies. Just edit the top of the file to set the address and channel of your Crazyflies.
  
doc/lps/tdoa.txt · Last modified: 2021-06-24 16:54 by kimberly