P24 Robot de surveillance domestique
Sommaire
Robot de surveillance domestique
Cahier des charges
Présentation générale du projet
Contexte
La robotique est au service de l'homme dans de nombreux domaines y compris dans celui de la surveillance de nos maisons.
En effet de nouveaux robots voient le jour permettant de voir, d'entendre, de parler et de vous déplacer chez vous (ou ailleurs) depuis n'importe quel point de la planète.
Il y a par exemple le robot espion Rovio de la société WoWee:
Ou encore pour un usage plus professionnel Lucos de la société Abankos Robotic.
Le roomba est un robot aspirateur de la société IRobot. Les Roomba contiennent une interface électronique et logicielle permettant la modification du firmware et ainsi, le contrôle, la modification du comportement et la lecture des données recueillies par les capteurs du robot. Cette fonction, appelée iRobot Roomba Open Interface par le constructeur, a été introduite afin d'encourager les programmeurs et ingénieurs en robotique à apporter leurs propres améliorations au Roomba.
Objectif du projet
Le but du projet est la reconversion d’un vieux Roomba dont le bloc de rammasage est HS, en robot de surveillance domestique à l’aide d’un système embarqué dont les différentes fonctionnalités seront les suivantes :
=> Programmation de ronde
=> Détection des intrus (par le biais d’une caméra)
=> Pilotage à distance du robot (par le biais d’une interface web ou application android)
=> Envoi de notification en cas de détection d’une intrusion
Les avantages de la reconversion d'un roomba pour ce projet sont :
=> Réutilisation du dock de recharge
=> Utilisation des différents capteurs embarqués
=> Envoi des commandes par le port série (via la connectique MiniDIN)
Description du projet
Le projet consiste à greffer au Roomba un système embarqué qui dispose du Wifi et sera relié à une webcam. Le système devra permettre de piloter le roomba et de visualiser la vidéo de la webcam par le biais d'une page web.
En fil du temps des nouvelles fonctionnalités pourront être ajoutées:
=> Ajout d'un micro et d'une carte son
=> Programmation de Ronde
=> Détection d'intrus par la caméra
=> Envoi de notification en cas de détection
Choix techniques : matériel et logiciel
Dans le cadre du projet, les matériels et logiciels suivants vont être utilisés :
- Un Roomba série 520 de la société IRobot
- Un système embarqué PcDuino version 2
- Un kit webcam 3 axes
Étapes du projet
Afin de mener à bien le projet, différentes étapes ont étés posées.
=> Prise en main du roomba
L’objectif de cette partie est de créer un programme simple sur le PcDuino permettant de communiquer avec le Roomba. Principalement envoyer des ordres et récupérer les informations des capteurs.
=> Étude et réalisation de la partie alimentation du PcDuino
La batterie du Roomba délivre une tension qui varie en fonction de la charge de celle-ci (de 12V jusque 20V sur le base de recharge). Il est donc nécessaire de prévoir une régulation de cette tension afin d'obtenir l'alimentation nécessaire au bon fonctionnement du PcDuino.
=> Prise en main du kit webcam
Dans cette partie il est question de piloter les servomoteurs du kit et d'installer un logiciel permettant la récupération du flux vidéo de la webcam.
=> Réalisation de la prise en main à distance
Il s'agit ici de disposer pour fin octobre d'une première version du système permettant de prendre à distance le roomba via un site web. Il faudra être capable depuis le site de :
- piloter le roomba
- visualiser le flux vidéo de la webcam
- visualiser les informations des capteurs
=> Détection d'intrus, alarme et notification
Une fois la première version du système finalisé, il faudra étudier et mettre en place un dispositif de détection d'intrusion. Avec la possibilité de déclencher une alarme sonore et envoyer une notification au propriétaire.
=> Programmation de rondes
Dans un dernier temps, si possible, réaliser un système de ronde permettant au Roomba d'inspecter une pièce tout les N temps.
Avancement du Projet
Semaine 1
Réalisation des tests de communication avec le roomba.
J'ai récupéré dans un premier temps la documentation du IROI (iRobot Roomba Open Interface).
L'IROI permet de communiquer avec le roomba par le biais d'un port série dont le connecteur est un Mini DIN avec 8 pin.
Il a donc fallut faire l'acquisition d'un câble de ce type afin de pouvoir relier le roomba au système embarqué.
Il a fallut ensuite déterminer le rôle de chacun des 8 petits files de couleurs différentes se trouvant dans le cable Mini DIN.
Afin de distinguer notamment les files servant pour la communication série par rapport aux files qui permettent l'alimentation.
Une breadboard a ensuite été utilisé afin de permettre de relier les files permettant la communication série au PcDuino.
A l'issue de cette première semaine des commandes de mouvement ont été envoyés avec succès au roomba même si la communication semble fastidieuse.
En effet la réussite des commandes semblent pour le moment aléatoire.