PAE 2021 Canne d'aveugle

De Learning Lab Environnements Connectés
Sauter à la navigation Sauter à la recherche

Introduction

La canne blanche, largement utilisée par certains déficients visuels (aveugles et malvoyants), est un moyen de se repérer dans l'espace pour faciliter leur déplacement. A l'aide de cette canne, les personnes peuvent éviter les obstacles au sol permettant alors une certaine autonomie.

Cependant, cette canne présente des limites d'utilisation avec une possibilité de repérer seulement des objets au sol. Ainsi, notre objectif est de réaliser le prototype d'une canne blanche intelligente en ajoutant une fonctionnalité permettant de détecter des objets à une hauteur d'homme.


Cahier des charges

D'après l'énoncé du projet, nous pouvons en déduire les éléments nécessaires à la réalisation de la canne augmentée :

  • Télémètre : un capteur à ultrason permettant de mesurer une distance entre la canne et un objet.
  • Retour haptique : un vibreur permettant de coder l'information de distance lors de la détection d'un objet.
  • Microcontrôleur : un Arduino nano programmable.
  • Alimentation : une batterie ou pile

Pour réaliser un prototype fonctionnel et l'ajout de fonctionnalités :

  • Une canne et le boitier contenant l'électronique embarquée.
  • Une alimentation par pile ou batterie rechargeable.
  • Un bouton poussoir permettant de sélectionner le mode de détection.

Étude du marché

Tom Pouce Rango UltraCane
Image
Tom pouce
Rango
Ultracane
Prix 5 000€ - Distribué gratuitement en France 900€ 1 055€
Ergonomie Boitier amovible Boitier amovible Canne complète
Autonomie 5h 3h30 4h
Distance 1 à 12 m 1.50 m 2 à 4 m
Mode de détection Faisceaux infrarouges et laser Ultrasons Ultrasons
Feedback Vibrations variables en fréquence Bips sonores variables en fréquence Vibrations d'intensité variable
Poids 168 g 107 g 346 g

Présentation Arduino

L'arduino est une carte programmable permettant de mettre en place des systèmes électronique embarqués à l'aide de capteur, d'écran led, de led... Petite de taille et très légère, cette carte s'adaptera facilement à la canne d'aveugle.

La carte Arduino nano peut-être alimentée via la connexion USB ou à l'aide d'une alimentation externe.

Elle est dotée de 14 pins digitaux (40mA maximum) et 8 pins analogique. Concernant la capacité, elle est dotée d'une mémoire Flash de 32Kb et 2Kb de mémoire dynamique. Chacune des 14 broches numériques peuvent être utilisée comme entrée ou sortie numérique en utilisant les instructions pinMode(), digitalWrite() et digitalRead(). Concernant les pins analogique, elles fournissent une mesure d'une résolution de 10 bits (1024 niveaux de 0 à 1023). Sans configuration, les broches mesurent des valeurs entre 0V et 5v;


Montage électronique

Arduino nano Port VMA 306
5V VCC
13 ECHO
12 TRIG
GND GND
Arduino nano Moteur vibreur
3.3V VCC
10 Controle
GND GND

Datasheet Capteur de distance VMA 306

Fonctionnement d'un capteur ultrason

Un capteurs à ultrason émet à intervalles réguliers de courtes impulsions sonores à haute fréquence. La vitesse du son dans l'air étant stable, on en déduit la distance de l'obstacle. En effet, le capteur calcule la distance le séparant de la cible sur la base de temps écoulé entre l'émission du signal et la réception de l'écho.

Tous les matériaux qui reflètent le son peuvent être détectés. Ainsi, même des matériaux transparents pourront être détectés par un capteur à ultrasons.

Spécification

- tension : de 4.5V à 5.5V

- fréquence sonore : 40 kHz

- résolution de mesure : supérieur à 0.5m2

- angle de mesure : 15°

- courant : de 10mA à 40mA

- distance de détection : de 2cm à 450cm

- déclenchement : impulsion TTL positive de 10µs

Datasheet Vibration Motor

Fonctionnement du moteur vibreur

Le moteur vibre lorsque l'entrée est HIGH. Ainsi, il suffit de modifier l'entrée entre HIGH et LOW pour pouvoir gérer la vibration du moteur. La vitesse du moteur varie selon la tension qu'on lui fourni.

Spécification

- tension : de 2 V à 5.5 V

- Moyen de control : niveau logique

- Vitesse de rotation : 9000rpm

Ajout de fonctionnalités supplémentaires

Mode extérieur / intérieur

Profil utilisateur permettant de gérer la distance et la sensibilité du capteur pour s'adapter à l'environnement (intérieur avec peu d'espace / espace extérieur).

Création de deux modes à l'aide d'un interrupteur :

- Intérieur avec peu d'espace (distance de 25cm à 200cm)
- Espace extérieur (distance de 50cm à 350cm)

Utilisation d'un capteur Lidar

Spécification

Nous avons pu remarquer lors de notre étude de marcher que certaines cannes intelligente utilise la technologie de détection infrarouges et laser. Ainsi, nous nous sommes intéresser aux différentes Lidar disponibles qui pourrait être adapté à notre projet.

Un système Lidar (télédétection par laser) est une technique de mesure à distance fondée sur l'analyse des propriétés d'un faisceau de lumière. A la différence du capteur VM-306 (capteur à ultrason), le lidar utilise la lumière du spectre visible, infrarouge ou ultraviolet. Le calcul de la distance se base sur la mesure du délai entre l'émission et la réception d'une impulsion.

Calcul de la distance
Taille du spot lumineux selon la distance


La portée des Lidars varie entre 0.01m à 200. Cette plage de distance ne convient pas au cahier des charges de la canne d'aveugle. Ainsi, nous avons cherché des Lidars ayant une détection beaucoup plus importante.

Capteur Lidar VS Capteur à ultrason

Cette étude a été menée entre le capteur de distance VMA 306et le capteur LiDAR adapté à notre cahier des charges (Capteur de distance LIDAR TF-MINI-PLUS).

Capteur Lidar Capteur à ultrason
Principe LiDAR (Light Detection And Ranging) : il s'agit d'une méthode de calcul qui permet de déterminer la distance entre le capteur et l'obstacle à l'aide d'un faisceau laser. Le LiDAR n'est pas touché par les variation de la lumière ambiante mais est inefficaces en cas de fortes pluies, brouillard ou fumée. fonctionnent en mesurant le temps de retour d'une onde sonore inaudible émise par le capteur. Les ultrasons n'étant pas basés sur la lumière, ils sont insensibles aux couleurs, à la brillance ou à la transparence.
Portée 0.1 m à 12 m 0.2 m à 4.5 m
Directivité Le liDAR tourne et mesure la distance des obstacles sur une place angulaire allant jusqu'à 360°. Ainsi, il peut détecter des objets tout autour de lui. Le capteur à ultrason mesure autour de lui-même avec un angle de 15°.
Précision FOV : 3.6° FOV : 15°
Taille 35 x 21 x 18,5 mm 49 x 22 x 15 mm
Prix 45.6 € 6.90 €

Programmation arduino

Programmation de la gestion de la distance

Affichage de la distance

Code pour l'affichage de la distance

Ainsi, nous calculons la distance de l'objet selon la durée entre l'émission et la réception de l'onde. Nous lisons la valeur de la variable duration nous permettant d'avoir la durée de l'écho.

A l'aide de cette variable, nous pouvons calculer la distance entre la canne et l'objet. Il est important de diviser par 2 la variable duration car cette variable représente l'aller-retour de l'écho.

Implémentation des différents modes

Tableau des distances

Deux modes sont implémentés : le mode extérieur et le mode intérieur.

Pour ce faire, nous avons créer un tableau avec les différentes valeurs selon le mode :

Tableau des différentes distances selon le mode

Ainsi, lorsque l'utilisateur choisi un mode, différentes intervalles de mesure seront prises en compte :

  • Pour le mode 1 (extérieur) : 350m / 250m / 200m / 100m / 50m
  • Pour le mode 2 (intérieur) : 200m / 150m / 100m / 50m / 25m

Choix du mode

Il a fallut ensuite trouver un moyen de choisir les deux modes directement sur la canne pour une personne mal voyante. Nous avons alors décidé de positionner à côté du capteur un bouton poussoir. Lorsque l'utilisateur appuie sur le bouton, le mode change.

De plus, il faut avertir l'utilisateur du changement de mode à l'aide du vibreur.

  • Mode 1 : une seule longue vibration
  • Mode 2 : deux longues vibrations
Vibration en fonction du mode

Si le mode est LOW c'est-à-dire que le premier mode (extérieur) est choisi, nous faisons une longue vibration de 1s.

Si le mode est HIGH c'est-à-dire que le deuxième mode (intérieur) est choisi, nous faisons deux longues vibration de 1s avec entre les deux une pause de 500ms.

Gestion des interruptions

Programmation du mode vibreur

La vibration du moteur change selon la distance à laquelle se trouve la cane. Pour cela, nous allons modifier la fréquence de vibration du moteur. En effet, plus la canne est proche d'un objet, plus la fréquence de vibration est importante. Ainsi, la vibration du moteur sera de plus en plus importante que l'objet sera proche pour prévenir l'utilisateur d'un obstacle.

Vibration en fonction du mode

La première étape est de vérifiée si l'objet est dans la plage de valeur du capteur. Hors de cette plage, l'objet ne sera pas détecté. Cette ligne de code nous permet de vérifier le bon fonctionnement du capteur.

Ensuite, comme expliqué précédemment, nous avons décidé de modifier la vibration selon la distance de l'objet pour que la vibration soit de plus en plus rapproché plus la distance se rapproche.

Pour se faire, nous allons ajouter une attente plus ou moins importante entre deux vibrations. Cette attente peut varier de 1.5s pour un objet loin du capteur à 200ms pour un objet proche.

Modélisation du boitier

OnShape