P18 Localisation of quadrotors : Différence entre versions

De Wiki d'activités IMA
(Description du projet)
Ligne 18 : Ligne 18 :
  
 
====<span style="color:#6B8E23">Description du projet</span>====
 
====<span style="color:#6B8E23">Description du projet</span>====
 +
 +
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
 +
 +
  
  
Ligne 24 : Ligne 34 :
 
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…).  
 
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…).  
  
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:
 
  
  
Ligne 38 : Ligne 45 :
  
 
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).
 
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).
 +
 +
 +
 +
====<span style="color:#6B8E23">Calendrier</span>====
 +
 +
''[[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)
  
 
====<span style="color:#6B8E23">Choix techniques : matériel et logiciel</span>====
 
====<span style="color:#6B8E23">Choix techniques : matériel et logiciel</span>====

Version du 21 septembre 2017 à 13:05

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 réaliser ce système, nous allons utiliser un microcontrôleur cc430 muni d'un transceiver cc1101, d'un récepteur LoRa(868MHz) communicant via protocole SPI avec le microcontrôleur, 2 antennes, une batterie, quelques LEDs.

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