Balayeuse autonomne
Gabriel Gagné, Samuel Dussault, Danny Groleau13 Décembre 2016
GSD
Sommaire
Matériel
Microcontrôleur
Kinect
Intéractions Web
Rétrospective
Vision original
Vision original
Fonctionnalités prévues du robot
● Déplacement autonomne
○ Éviter les obstacles (objets et escalier)
○ Optimiser son travail
● Intéractions web
○ Envoyer à une application les informations relatives à son fonctionnement
○ Capable de recevoir des commandes
● Fonctionnalitées générales
○ Génération d’une carte 2D
○ Étiquetage des zones
Fonctionnalités obtenues du robot
● Déplacement autonomne
○ Éviter les obstacles (objets et escalier) Partiellement
○ Optimiser son travail
● Intéractions web
○ Envoyer à une application les informations relatives à son fonctionnement
○ Capable de recevoir des commandes
● Fonctionnalitées générales
○ Génération d’une carte 2D
○ Étiquetage des zones
Modularité
MicrocontrôlleurProblèmes et solutions
Microcontrôlleur
Avantages
● Simple● Rapide● Bonne documentation● Interface électronique pratique● Abstraction des composantes
matérielles
Désavantages
● Pas de système d’exploitation● Pas beaucoup de puissance de calcul● Peu de librairies disponibles
Parallélisme
Parallélisme
Circuit électronique
Sonar
Magnétomètre - Accéléromètre - Gyroscope
Kinect et cartographieProblèmes et solutions
Kinect et cartographie
● But : Utiliser la caméra de profondeur pour produire une carte de l’environnement
Kinect et cartographie
● Étapes de production d’un maillage
○ Prendre une photo de profondeur
○ Ignorer les points qui se trouvent hors de porté
○ Grouper les points qui font partie d’un même objet/obstacle
○ Produire un maillage avec les groupes de points
○ Lisser le maillage
○ Ajouter le maillage à la carte (environnement de travail)
○ Fusionner les maillages “équivalent”
○ Fusionner les extrémités des maillages (assembler le maillage)
Kinect et cartographie
Kinect et cartographie
Kinect et cartographie
DBSCAN(density-based spatial clustering of applications with noise)
● O(n²), trop lent … ~15 secondes
● Résultat intéressant
● Les points sont ordonnées...
● Solution modifier l’algorithme
● Ne recule pas dans le conteneur
● N’avance plus lorsque non nécessaire
● < 1 seconde :)
Kinect et cartographie
● Production du maillage avec plusieurs échantillons
○ Maillage imprécis
○ Bruit d’un échantillons à l’autre
○ Fusion du maillage inexistante
○ Paramètres non optimaux
Kinect et cartographie
● Production du maillage avec des paramètre plus “sensible”
○ Beaucoup trop de mailles
○ Beaucoup de bruit
○ Potentiellement long à fusionner pour la carte
○ On doit lisser le maillage
Kinect et cartographie
Intéractions webProblèmes et solutions
Intéractions web● Technologies front-end
○ MeteorJS
○ ReactJS
○ Stylus
Robot
MongoDB
MeteorJS
Client
Client
Client
Intéractions web
● Mongocxx c++ driver
○ Difficile à installer pour Raspbian
○ Séquentiel
● Commandes
○ Performances raspberry / serveur web
Demo
MatérielProblèmes et solutions
Châssis
● Support du poid
● Stabilité
● Angle des roues
Déplacement
● Poid inégale sur les roues
● Moteurs trop faibles
Rétrospective
DépensesCoût Note
Kit Arduino 100$ Plusieurs composante non utilisées
Kit Raspberry 120$ Quelque fils et LED non utilisés
Boussole/accéléromètre 30$ Module du kit Arduino pas adéquat
Moteurs et sonar 10$ Moteur
Baterie raspberry+fil 30$
Baterie kinect 25$
Mécano 35$
Kinect 0$ Fournit par le DOMUS
Total 350$
Revue des pièces et technologie
● Kinect
○ ER sensor
● Moteurs
○ Plus fort, sans brosse
● Capteur
○ 2 sonar
● Chassis imprimé
● Meilleurs roues
Merci !