Crazyflie autonomous with DWM1000-based local positioning system

We are currently working on a local positioning system based on ultra wide band decawave DWM1000 modules for the Crazyflie. We have already written a couple of times about it earlier, and in this post I will describe where we are now. We will also start making a wiki page and add more about the experimentation in the future.

During the end of year 2015, we have made some progress! We just moved to a new office and we now have a local positioning lab in the basement, where we are able to fly a Crazyflie 2.0 autonomously using the local positioning and keeping clear from the walls (I would like to say to keep a stable position, but we are not there yet :-).

As we have shown in previous posts we have electronic boards for the anchors, and the Crazyflie deck:
DWM1000 nodes and deck

We have setup 6 anchors at our office. The configuration is designed to maximize the trilateration precision in the middle of the room. The ranging is done by the crazyflie and then communicated to the ground using the log subsytem. The ROS crazyflie driver receives the ranging and send it to the trilateration algorithm, a particle filter. We can then display the estimated position and use the position to control the Crazyflie position:
graph_dwm rviz_dwm

In order to try to fly autonomously, we have been trying the controller included with the Crazyflie ros driver. We also connected ROS via ZMQ to our python client and the controller we made to fly autonomously with the Kinect. Both work but are far from perfect: they have been tuned for a pretty stable measurement (from a Vicon system or a Kinect) and the output of the particle filter is a bit noisy, mostly for the altitude. We are looking at improving the position control loop and adding sensor fusion for positioning in the Crazyflie 2.0.

Early 2016 will be time to finalize the DWM1000-based local positioning system to be able to distribute it. We are currently writing an open-source C driver for the DW1000 chip and we are finalizing the anchors electronic design. If you are interested in getting such system do not hesitate to contact us, as we are finalizing the design, any input is interesting so that we end up with a system that is easy to use and to setup.

16 comments on “Crazyflie autonomous with DWM1000-based local positioning system

  • Did you get my former message ? It was :
    1-Will this positionning system be useful outdoor ?
    2-Will it been stable enough to get correct pics ?
    Yours faithfully

    • Hi, I am not sure we got your former message, sorry.

      1-Will this positionning system be useful outdoor ?

      It will work outdoor, the dwm1000 should have a range of about 100 to 200 meters. In absolute positioning, it should be more precise than GPS at a cost of additional infrastructure. Otherwise we are currently finalizing the GPS deck.

      2-Will it been stable enough to get correct pics ?

      I am not sure to understand the question. With both GPS and this location system the stability will mainly be due to the internal sensor fusion (fusing accelerometer/gyro with the position). I guess we will eventually end up having similar stability with GPS and the dwm positioning system.

    • We are not distributing it yet. If you already have a use case in mind please drop us a mail. We can use all input right now to finalize the design.

      • Hey I wish to know more about this project. I am currently working on using an arduino controller to send commands to crazyflie to adjust its position in an indoor GPS environment created using optitrack cameras. I am struggling with implementing ESB protocol using arduino.

  • My senior design team at Auburn University is looking at using the crazyflie platform for our project. We are a group of six electrical and computer engineers. We were wondering if we could help out with this project or another side project that you guys at bitcraze would like to delegate, pending approval from our department of course? Let me know if you are interested.

    • Hi, Thanks for the offer and sorry for the late answer!

      There is a lot of things going on with the LPS (like getting TDoA to work). If you are having some project with Crazyflie/LPS do not hesitate to share some details on the forum and maybe we can find some synergy :-).

Leave a Reply

Your email address will not be published. Required fields are marked *