P18 Localisation of quadrotors

De Wiki de Projets IMA
Révision datée du 21 septembre 2017 à 13:12 par Nung (discussion | contributions) (Choix techniques : matériel et logiciel)

Cahier des charges

Présentation générale du projet

Contexte

Dans un monde de plus en plus connecté, de nombreux drones sont déployés pour diverses applications comme l'espionnage, la surveillance, la cartographie de lieux et la livraison de colis. Les technologies nécessaires pour contrôler ces drones sont des sujets de recherche actuels.

Le contrôle de ceux-ci passe tout d'abord par la maîtrise de leur position dans l'espace. Le développement des applications liées à l'utilisation de drones nécessite un travail important sur la localisation spatiale d'objets connectés.

De plus, dans un souci d'utilisation, il est essentiel de développer des interfaces logicielles permettant d'exploiter ces données.

Objectif du projet

L'objectif de ce projet est de développer une interface logicielle permettant de traiter en temps réel les informations de localisation d'un drone et de balises, dans le but de définir leur localisation dans l'espace.

Description du projet

Pour réaliser le contrôle de drones, la première étape importante est de donner ses informations de position. Le but du projet est de développer une interface logicielle permettant de localiser le drone en temps réel. Le drone se déplace dans un environnement dans lequel ont été installées de multiples balises. Il est équipé d'une carte, lui permettant de recevoir les distances relatives entre lui-même et les balises, sur laquelle différents algorithmes vont être implémentés pour effectuer la localisation en temps réel. Le projet requiert des compétences en développement hardware (Crazyflie 2.0, voir https://wiki.bitcraze.io/) et software (langage C/C++/Python/Javascript/HTML...).

Il se divise en 4 étapes principales, qui sont: 1) Choisir les technologies utilisées 2) Choisir l'architecture (OS / APIs) 3) Développer les différentes parties du projet 4) Intégrer et connecter les différentes parties du projet



Sujet originel

To achieve the control of quadrotors, the first important task to give its position information. This project is to develop a software(GUI) to localize the quadrotors in real-time. The quadrotor is flying in an environment where several transmitters have been installed. The quadrotor is equipped with a deck to receive the relative distances between the deck and all transmitters, based on which different algorithms will be implemented to realize the real-time localization. The candidates need to have both experiences on hardware (Crazyflie 2.0, see https://wiki.bitcraze.io/) and software development (C/C , Python…).


---

A l'aboutissement du projet, nous devrions être capable de détecter une communication LoRa dans la bande des 868 MHz, et de la brouiller elle seule, sans incidence sur les autres communications sur d'autres fréquences du réseau LoRa.

Pour ce faire, nous devrons réaliser un montage réalisant un brouillage sur la plage 863-870Mhz afin d'empêcher toute communication LoRa, en envoyant du bruit électronique sur toute la plage de fréquence.

Pour la suite du projet, nous perfectionnerons ce montage pour qu'il puisse détecter une communication LoRa à une fréquence donnée (grâce au "join-request message" de 18 octets envoyés par le end-point/node, ou bien grâce aux informations données dans le préambule des paquets), afin d'envoyer des données erronées et de bloquer uniquement cette communication.

Si le temps et le budget le permettent, nous pourrons aussi être amenés à brouiller la plage de fréquences autour des 433 MHz (aussi utilisé par le réseau LoRa).


Calendrier

Avant le 29/09/17 - Élaboration du Cahier des charges, de la liste des tâches et du calendrier prévisionnel

Avant fin Octobre - Serveur de collecte et début du développement de l'interface logicielle

Avant fin Décembre - Interface logicielle

A la fin du PFE - Intégration finale des différentes parties (Serveur de collecte des données & Serveur de localisation & Interface logicielle)

Répartition du volume de travail (***h): Recherche sur les technologies à utiliser (**h) Développement du serveur de collecte de données (**h) Réalisation de l'interface logicielle (Web//Logiciel/Application) (**h) Intégration des différentes parties (**h) Test et débuguage (**h)

Choix techniques : matériel et logiciel

Afin de développer ce dispositif, nous allons utiliser une Raspberry Pi 3 associée à une carte réceptrice, qui communique avec 4 balises composées chacune d'une carte émettrice radio (UWB5C) et alimentées par batteries. La carte réceptrice joue le rôle du drone à localiser et communiquera les données émises par les balises vers l'ordinateur via Bluetooth.

Calendrier prévisionnel

Liste des tâches à effectuer

  1. Documentation sur le réseau LoRa
    1. moyen de transmission
    2. format de modulation
    3. trame des paquets
  2. Réalisation du premier montage brouillant toute la plage
    1. contrôler l'émetteur RF du cc430
    2. programmer un bruitage sur la plage 863-870MHz
    3. test et optimisation
  3. Ajout d'un récepteur LoRa pour détecter et brouiller une seule communication
    1. contrôler le récepteur LoRa avec le cc430 par protocole spi
    2. détecter une communication LoRa à une fréquence donnée
    3. contrôler l'émetteur RF afin de brouiller cette communication de manière brutale
    4. brouiller cette communication en tentant de changer les données du paquet
    5. test et optimisation