Last hacking-Friday we have had some time to put together the DWM1000 boards we ordered during the summer. The DWM1000 from Decawave is an ultra-wide-band ieee802.15.4 radio transceiver that can very precisely timestamp packets arrival and departure. More simply it means that it is a standard and it can be used to implement a real time local positioning system: this could be really handy for the Crazyflie. We soldered all the boards and we got some basic ranging working on the nodes. The next step is to implement an opensource driver to be able to implement the ranging in the Crazyflie. We will keep you updated on the progress but in the mean time here is a photo of the prototypes:
Things happening on the firmware side
Recently the commit rate for the Crazyflie 1.0/2.0 firmware has increased a lot. Some of it because of pull requests, great work, and some because we are starting to move in hacks and such on feature branches into the master branch. Our new college Kristoffer has taught us that having stuff on feature branches can be a bad idea, they tend to stay there. It is then better to have them compile switched and in the master branch as it is more visible and get a better chance of getting in for real.
Here are some of the recent thing going on:
- A situation awareness framework originating from this pull request by fredgrat. It allows the Crazyflie 1.0/2.0 to react to triggers. Currently there is a free-fall, tumbled and at-rest detection. He recently also submitted an auto-takeoff functionality. Enable the functionality with the define here.
- The beginning of a Arduino like API for the deck port. Currently GPIO and ADC are the only functions there but more will come.
- Possibility to fly in rate (acrobatic) mode committed here. Support in the cfclient for this is being developed so currently one have to change the parameters to activate it manually.
- Carefree, plus and X-mode implemented in firmware. There is also support for this being added to the cfclient.
- Automatically switch to brushless driver. Motor driver being rewritten so it can be dynamically configured. This means that if the Crazylfie 2.0 is attached to the big-quad-deck it can automatically switch over to the brushless driver during power on.
Summertime are good times, less administration and more time to develop! As soon as things has been integrated and fully tested we will do a new release of the firmware and the cfclient :).
9 comments on “Firmware and dwm1000 nodes”
Are the dwm1000 boards available? How much for a set of 5 (as shown in the photo)?
Those are our very first prototype, we are currently writing the software for it and testing them. We will keep updating on the status of the DWM1000 nodes in future blog posts, for now we do not know when and how much we will make them available
Do you know bespoon.com or
It is their chip ?
We did not know about bespoon, interesting to see that there is competition in UWB chips.
We are using the DWM1000 from decawave (http://www.decawave.com/products/dwm1000-module).
One good things about the decawave chip is that it implements the standard IEEE802.15.4 UWB physical, so it will inter-operate with other chips implementing the same standard. I could not see if this was the case for the bespoon chip
I’m very interested in this project! Is it possible to use the firmware to get the position of the Crazyflies 2.0?
We are working on it. So far I can range and get the range to the anchors as log variables. We will keep updating on the progress.
I am also very interested in this project.
I am trying to track the position of 2 continually moving objects so as one will always move away from the other unless the positioning is correct. The area of interest is within a circle of about 50 meter diameter.
Does your prototype use Gyro, accelerometers etc. to assist positioning or just use the DWM1000?
I would be definitely be interested in purchasing a set or prototypes if you have them available.
Currently we use only the DWM but we have accelerometer and gyroscope in the Crazyflie ready to be merged with the positioning data (still work in progress :).
If you are interested by the alpha systems please drop us an e-mail (https://www.bitcraze.io/contact/).
I am definitely interested in the alpha system as I only want to use the DWM .
The moving objects will be people, so the accuracy will not have to be down to the cm range.