P24 Robot de surveillance domestique : Différence entre versions

De Wiki d'activités IMA
m (Etapes du projet)
m (Semaine 1)
Ligne 80 : Ligne 80 :
  
 
==='''Semaine 1'''===
 
==='''Semaine 1'''===
 +
Réalisation des tests de communication avec le roomba.
 +
 +
[[Fichier:MiniDIN.jpg|200px|thumb|left|Connecteur Mini DIN]]
 +
<br/>
 +
<br/>
 +
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é.<br/>
 +
<br/>
 +
<br/>
 +
<br/>
 +
<br/>
 +
<br/>
 +
[[Fichier:Fiche8pin.jpg|200px|thumb|left|Description des pins]]
 +
<br/>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.
 +
<br/>
 +
<br/>
 +
<br/>
 +
<br/>
 +
<br/>
 +
<br/>
 +
<br/>
 +
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.

Version du 8 octobre 2014 à 12:53

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:

Rovio

Ou encore pour un usage plus professionnel Lucos de la société Abankos Robotic.

Lucos

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.
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 :


Etapes 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.

=> 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.

Connecteur Mini DIN



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é.





Description des pins


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.