Distributed localization system based on the DWM1001 development board.
Explore the docs »
Table of Contents
This project aims to develop a distributed localization system in the Decawave DWM1001 board using UWB communications and ranging. It is based in ChibiOS in order to use RTOS functionality.
Prerequites are mostly inherited from ChibiOS and related to the architecture of the board, OS for development and debugging should be GNU/Linux or al least a POSIX compliant shell and GNU utilities
-
arm-none-eabi toolchain
GNU Embedded toolchain used to compile, link and debug the code for embedded devices.
-
OpenOCD
Used to connect to the board and flash or debug the code. OpenOCD
-
Jlink
Download from the official site, Segger.
For Linux, if the tar package is chosen, the path of the installation should be appended to system PATH variable.
- Make sure all git submodules are up to date(
git submodule sync
) and downloaded (git submodule update --recursive
). - Run
make all
to build the binary.
- Plug the board through USB and make sure it is detected as a device through lsusb.
- Run
make flash
to flash with J-link ormake openocd-flash
- Start the GDB server with
make openocd-debug-server
- Open a GDB session with
make openocd-debug
A GBD server or session is created for each DWM1001-DEV board connected
The main use of this project is to allow swarms of drones to be aware of their position using distributed localization.
For more examples, please refer to the Documentation
Please contact the project maintainers to contribute.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU General Public License v2.0. See LICENSE
for more information.
Swarm Systems Lab - [email protected]
Project Link: https://github.com/UCM-237/Distributed_localization_DWM1001