Pour mes 45 ans, mes amis m’ont offert une somme d’agent honorable qui m’a permis de me lancer dans ce projet et en retour, j’ai promis de décrire les différentes étapes d’avancement.

L’objectif finale est de disposer d’un drone qui, sur détection de mouvement dans une zone, décolle seul et va tenter de détecter l’intrusion, le suivre, enregistrer la vidéo, faire de la reconnaissance de visage.

Entendu qu’un voleur sur deux détale lorsqu’une sirène d’alarme retentit : quand il voit un drone qui le suit, je pense que ça peut suffisamment l’impressionner ou lui faire peur. Une autre étape du projet pourrait être de réaliser d’autres choses.

Pour le drone, il existe pas mal de site où se fournir en matériel.

Le plus simple pour moi a été de commander sur un site bien connu d’Asie : l’avantage est le prix et l’absence lors d’achat pièce par pièce de frais de douane.

L’inconvénient est le temps de livraison (souvent en moyenne de trois semaines).

J’ai donc acheté

Un drone quadrimoteur en pièce détaché : le DIY F450 4-Axis RC QuadCopter(150€) et suffisant pour la charge utile. Il existe plein de tutoriel sur cet aspect et montage

https://www.youtube.com/watch?v=BVBdICG2Ua4

https://www.youtube.com/watch?v=uH2iCRA9G7k qui explique comment installer le pixhawk (pilote)

Je l’ai équipé d’un pixhawk(30€), GPS/Galliléo 8M(13€), télémétrie(20€), sondeur.

Une raspberry pi 3 (45 euros) avec une caméra usb (1,5 euros chez Aliexpress !) : permettra de faire le traitement d’image, ce que ne peux pas faire le pixhawck.

Pour la reconnaissance d’image j’ai trouvé un site intéressant :

https://pythonprogramming.net/haar-cascade-face-eye-detection-python-opencv-tutorial/ pour identifier un visage sur une vidéo.

https://pythonprogramming.net/mog-background-reduction-python-opencv-tutorial/ pour mettre en évidence là où il y a du mouvement.

Dans cette série de vidéo, il y a une bibliothèque intéressante également Disposer d’une caméra qui visionne et enregistre les véhicules qui passe est également un projet intéressant dans le cadre d’identification de véhicules faisant des repérages avant cambriolage. https://github.com/opencv/opencv/tree/master/data/haarcascades

Dans mon projet :

Vu la façon de traiter les images, il faudra que le drone se stabilise, prenne une video, identifie là où ça bouge, s’oriente vers l’endroit où ça bouge, s’en approche puis reboucle.

Lorsqu’il ne détecte rien, il rentre au bercail.

Il devra, lorsqu’il rentre sur sa station, se positionner pour recharger (je ne traiterai pas cette partie et cela fera l’objet d’un complément plus tard).

Pour ce qui est de la liaison pixhawck et raspberry py, il y a ce lien : http://ardupilot.org/dev/docs/raspberry-pi-via-mavlink.html

Le programme en français :

Tout d’abord, il faut définir un point de ralliement en fonction de la zone où a eu lieu la détection.

Chaque zone a une coordonnée GPS de ralliement : le drone va automatiquement à ce point et commence à identifier là où ça bouge.

Compte tenu de l’approche pas à pas de ce projet, je me contente pour l’instant d’aller à un point GPS/Galiléo et d’observer dans une direction prédéfinie.

Pour faciliter les temps de traitement d’image (notamment le calcul du barycentre), j’ai divisé l’image par 100 pour passer de 480_640 en 48_64.

La première partie du programme fait un calque entre ce qui bouge et ne bouge pas.

Une image est créée et composée de points blancs : le programme fait le barycentre de ces point pour déterminer dans quelle partie de l’image ça bouge.

La première partie du programme fait un suivi avec un gros rond vert de ce qui bouge.

Plus tard, ces coordonnées orienteront le drone vers le haut/bas droite ou gauche. Le nombre de pixel définira l’ordre de rapprochement ou d’éloignement.

Le sondeur assurera également une sécurité supplémentaire.

Le drone monté

Le drone en chargé