Skip to content

UCM-237/Distributed_localization_DWM1001

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Stargazers Issues License Project Page


Logo

Distributed localization | DWM1001

Distributed localization system based on the DWM1001 development board.
Explore the docs »

Table of Contents
  1. About The Project
  2. Prerequisites
  3. Installation
  4. Usage
  5. Contributing
  6. License
  7. Contact

About The Project

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.

Documentation

(back to top)

Built With

  • ChibiOS
  • ChibiOS-Contrib
  • Jlink
  • OpenOCD
  • GDB
  • Decawave Examples

(back to top)

Prerequisites

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.

Building

  1. Make sure all git submodules are up to date(git submodule sync) and downloaded (git submodule update --recursive).
  2. Run make all to build the binary.

Flashing

  1. Plug the board through USB and make sure it is detected as a device through lsusb.
  2. Run make flash to flash with J-link or make openocd-flash

Debugging

  1. Start the GDB server with make openocd-debug-server
  2. Open a GDB session with make openocd-debug

A GBD server or session is created for each DWM1001-DEV board connected

(back to top)

Usage

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

(back to top)

Contributing

Please contact the project maintainers to contribute.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the GNU General Public License v2.0. See LICENSE for more information.

(back to top)

Contact

Swarm Systems Lab - swarmsystemslab@gmail.com

Project Link: https://github.com/UCM-237/Distributed_localization_DWM1001

(back to top)