Rapport de Stage - Robotique

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 49

ROBOTIQUE

RAPPORT DE STAGE

Table des matières:


P a g e d e r a p p o r t d e s t a g e 1 |49
1. Introduction sur le système embarqué

2. Exemples de systèmes embarqués

3. Qu'est-ce qu'un microprocesseur ? - Microprocesseur à usage

général

4. Qu'est-ce qu'un microcontrôleur ?

5. Microprocesseur vs microcontrôleur

6. Qu'est-ce que la robotique

7. Robots mobiles

8. Contrôleurs embarqués en robotique

9. Interfaces en robotique

10. Système d'exploitation en robotique

11. CAPTEURS en Robotique

12. Catégories de capteurs en robotique

13. Capteur binaire en robotique

14. Capteurs analogiques et numériques en robotique

15. Codeur d'arbre en robotique

16. Convertisseur A/D en robotique

17. Dispositif sensible à la position en robotique

18. Boussole en robotique

P a g e d e r a p p o r t d e s t a g e 2 |49
19. Gyroscope, accéléromètre, inclinomètre en robotique

20. Programme d'application de caméra

21. Projet de capteur de lumière avec Arduino

22. Rebondir pour trouver le bouton-poussoir

23. À propos de l'entreprise

P a g e d e r a p p o r t d e s t a g e 3 |49
RAPPORT DE STAGE EN Robotique

1. Introduction à la robotique
o Un système embarqué est un système à usage spécial utilisé

pour exécuter une ou plusieurs fonctions dédiées.

o Simplement, nous pouvons appeler tout appareil électronique

doté d’un système informatique intégré un système embarqué.

o Le microprocesseur est le cœur des systèmes informatiques.

o De nombreux appareils de communication, de divertissement

numérique et portables sont contrôlés par eux.

o Un concepteur doit savoir de quels types de composants il a

besoin, des moyens de réduire les coûts de production et de la

fiabilité du produit.

P a g e d e r a p p o r t d e s t a g e 4 |49
o Les systèmes embarqués sont conçus pour effectuer

uniquement quelques tâches. Après leur mise en œuvre, vous

ne pouvez plus les utiliser à d'autres fins.

o Ex. Vous ne pouvez pas regarder des films en utilisant le

microprocesseur de votre four à micro-ondes !!

P a g e d e r a p p o r t d e s t a g e 5 |49
2. Exemples de systèmes embarqués

o  Télévisions numériques et analogiques

o  Décodeurs (DVD, magnétoscopes, décodeurs câble)

o  Assistants numériques personnels (PDA)

o  MP3 et iPod

o  Appareils de cuisine (réfrigérateurs, fours à micro-ondes)

o  Téléphones/cellulaires

o  Caméras

o  Systèmes de positionnement global et bien d'autres.

P a g e d e r a p p o r t d e s t a g e 6 |49
3. Qu'est-ce qu'un microprocesseur ? - Microprocesseur à usage
général
 CPU pour ordinateurs

 Pas de RAM, ROM, E/S sur la puce CPU elle-même

 Exemple x86 d'Intel, 680x0 de Motorola

P a g e d e r a p p o r t d e s t a g e 7 |49
4. Qu'est-ce qu'un microcontrôleur ?
i.  Il s'agit d'un système informatique complet sur puce,

même si ses ressources sont bien plus limitées que

celles d'un ordinateur personnel de bureau.

ii.  Conçu pour des opérations autonomes.

iii.  Un microcontrôleur possède un processeur et de

nombreux périphériques intégrés sur la même puce,

comme

iv. une mémoire flash, de la RAM, des ports E/S, des ports

de communication série, ADC…Etc.

P a g e d e r a p p o r t d e s t a g e 8 |49
v.  Un module de minuterie pour permettre au MCU

d'effectuer des tâches pendant certaines périodes.

vi.  Un port d'E/S série pour permettre aux données de

circuler entre le MC et d'autres appareils tels qu'un PC

ou un autre MCU.

vii.  Un CAN pour permettre au MCU d'accepter les

entrées analogiques pour le traitement.

viii.  Mais un microprocesseur ne peut pas assurer seul

toutes les fonctions d'un système informatique et a

besoin d'un autre

ix. circuits pour le prendre en charge comme :

périphériques d'E/S, RAM, ROM, contrôleurs DMA,

minuteries, ADC, pilotes LCD. Etc

P a g e d e r a p p o r t d e s t a g e 9 |49
5. Microprocesseur vs microcontrôleur

P a g e d e r a p p o r t d e s t a g e 10 |49
P a g e d e r a p p o r t d e s t a g e 11 |49
P a g e d e r a p p o r t d e s t a g e 12 |49
6. Qu'est-ce que la robotique
La robotique a parcouru un long chemin. En particulier pour les robots mobiles,
une tendance similaire à celle observée pour les systèmes informatiques se
produit : la transition de l'informatique mainframe via les postes de travail vers
les PC, qui se poursuivra probablement avec les appareils portables pour de
nombreuses applications. Dans le passé, les robots mobiles étaient contrôlés par
des systèmes informatiques lourds, volumineux et coûteux qui ne pouvaient pas
être transportés et devaient être reliés via des câbles ou des appareils sans fil.
Aujourd’hui, cependant, nous pouvons construire de petits robots mobiles dotés
de nombreux actionneurs et capteurs contrôlés par des systèmes informatiques
embarqués peu coûteux, petits et légers, embarqués à bord du robot. L’intérêt
pour les robots mobiles a considérablement augmenté. Non seulement comme
jouets intéressants ou inspirés d'histoires ou de films de science-fiction [Asimov
1950], mais comme outil parfait pour l'enseignement de l'ingénierie, les robots
mobiles sont aujourd'hui utilisés dans presque toutes les universités dans les
cours de premier cycle et des cycles supérieurs,
o Informatique/Génie informatique,
o Informatique,
o Cybernétique,
o Ingénierie électrique,
o Génie mécanique
o Mécatronique.

Quels sont les avantages de l’utilisation de systèmes robotiques mobiles par


rapport aux méthodes d’éducation traditionnelles, par exemple les modèles
mathématiques ou la simulation informatique ?

P a g e d e r a p p o r t d e s t a g e 13 |49
o Tout d’abord, un robot est un élément matériel tangible et autonome du
monde réel. Les étudiants s’identifient bien mieux à un robot qu’à un
logiciel. Les tâches à résoudre impliquant un robot sont d'ordre pratique et
directement « logiques » pour les étudiants, bien plus que, par exemple,
l'inévitable comparaison d'algorithmes de tri.
o Deuxièmement, tous les problèmes impliquant du « matériel du monde
réel », comme un robot, sont à bien des égards plus difficiles à résoudre
que la résolution d’un problème théorique. Le « monde parfait », qui est
souvent le domaine des systèmes logiciels purs, n’existe pas ici. Tout
actionneur ne peut être positionné qu’avec un certain degré de précision,
et tous les capteurs comportent des erreurs de lecture intrinsèques et
certaines limitations. Par conséquent, un programme robotique fonctionnel
sera bien plus qu’une simple solution logique codée dans un logiciel. Ce
sera un système robuste qui prend en compte et surmonte les
inexactitudes et les imperfections. En résumé : une approche d’ingénierie
valable pour un problème (industriel) typique.
o Troisièmement et enfin, la programmation de robots mobiles est agréable
et une source d'inspiration pour les étudiants. Le fait qu’il existe un
système mobile dont le comportement peut être spécifié par un logiciel
constitue un défi. Cela peut même être amplifié en introduisant des
compétitions de robots où deux équipes de robots s'affrontent pour
résoudre une tâche particulière [Bräunl 1999] – atteindre un objectif avec
des robots fonctionnant de manière autonome, et non des « guerres de
robots » destructrices télécommandées.

7. Robots mobiles

P a g e d e r a p p o r t d e s t a g e 14 |49
Depuis la création du Mobile Robot Lab par l'auteur à l'Université d'Australie
occidentale en 1998, nous avons développé un certain nombre de robots
mobiles, notamment des robots à roues, à chenilles, à pattes, volants et sous-
marins. Nous appelons ces robots la « famille EyeBot » de robots mobiles, car ils
utilisent tous le même contrôleur intégré « EyeCon ».

ont été complètement séparés en utilisant deux moteurs différents. Par


conséquent, le logiciel de contrôle des virages sera très simple. Un inconvénient
de cette conception est que le robot ne peut pas tourner sur place, puisque la
roue motrice n'est pas située en son centre. La conception du robot au milieu de
la figure est appelée « entraînement différentiel » et constitue l'une des

P a g e d e r a p p o r t d e s t a g e 15 |49
conceptions de robots mobiles les plus couramment utilisées. La combinaison de
deux roues motrices permet au robot de rouler en ligne droite, dans une courbe,
ou de tourner sur place. La traduction entre les commandes de conduite, par
exemple une courbe d'un rayon donné, et les vitesses de roue correspondantes
doit être effectuée à l'aide d'un logiciel. Un autre avantage de cette conception
est que les moteurs et les roues sont dans des positions fixes et n'ont pas besoin
d'être tournés comme dans la conception précédente. Cela simplifie
considérablement la conception mécanique du robot. Enfin, sur le côté droit de la
figure se trouve ce que l'on appelle la « direction Ackermann », qui est le
système d'entraînement et de direction standard d'une voiture de tourisme à
propulsion arrière. Nous avons un moteur pour entraîner les deux roues arrière
via un boîtier différentiel et un moteur pour la direction combinée des deux roues
avant. Il est intéressant de noter que toutes ces différentes conceptions de
robots mobiles nécessitent au total deux moteurs pour la conduite et la direction.
Un cas particulier de robot à roues est le robot omnidirectionnel « Mecanum
drive » sur la figure de gauche. Il utilise quatre roues motrices avec une
conception spéciale.

L’un des inconvénients de tous les robots à roues est qu’ils nécessitent une rue
ou une sorte de surface plane pour se déplacer. Les robots suivis sont plus
flexibles et peuvent naviguer sur des terrains accidentés. Cependant, ils ne
P a g e d e r a p p o r t d e s t a g e 16 |49
peuvent pas naviguer avec autant de précision qu’un robot à roues. Les robots à
chenilles ont également besoin de deux moteurs, un pour chaque chenille.
Les robots à pattes constituent la dernière catégorie de robots mobiles
terrestres. Comme les robots suivis, ils peuvent naviguer sur des terrains
accidentés ou monter et descendre des escaliers, par exemple. Il existe de
nombreux modèles différents de robots à pattes, en fonction de leur nombre de
pattes. La règle générale est la suivante : plus il y a de jambes, plus il est facile
de trouver l’équilibre. Par exemple, le robot à six pattes représenté sur la figure
peut être utilisé de telle manière que trois jambes soient toujours au sol tandis
que trois jambes sont en l'air. Le robot sera stable à tout moment, reposant sur
un trépied formé des trois jambes actuellement au sol – à condition que son
centre de masse tombe dans le triangle décrit par ces trois jambes. Moins un
robot a de jambes, plus il devient complexe de s'équilibrer et de marcher. Par
exemple, un robot avec seulement quatre jambes doit être soigneusement
contrôlé pour ne pas tomber. Un robot bipède (à deux pattes) ne peut pas jouer
le même tour avec un triangle de support, car cela nécessite au moins trois
jambes. D’autres techniques d’équilibrage doivent donc être utilisées. Les robots
à pattes nécessitent généralement deux moteurs ou plus (« degrés de liberté »)
par jambe, donc un robot à six pattes nécessite au moins 12 moteurs. De
nombreuses conceptions de robots bipèdes comportent cinq moteurs ou plus par
jambe, ce qui se traduit par un nombre total de degrés de liberté assez
important ainsi que par un poids et un coût considérables. Véhicules de
Braitenberg Les véhicules décrits par Braitenberg [Braitenberg 1984] constituent
une abstraction conceptuelle très intéressante des actionneurs, des capteurs et
du contrôle des robots. Dans un exemple, nous avons une simple interaction
entre des moteurs et des capteurs de lumière. Si un capteur de lumière est

P a g e d e r a p p o r t d e s t a g e 17 |49
activé par une source lumineuse, il augmentera proportionnellement la vitesse du
moteur auquel il est lié.

Notre robot dispose de deux capteurs de lumière, un à l'avant gauche, un à


l'avant droit. Le capteur de lumière gauche est lié au moteur gauche, le capteur
droit au moteur droit. Si une source de lumière apparaît devant le robot, celui-ci
commencera à se diriger vers elle, car les deux capteurs activeront les deux
moteurs. Cependant, que se passe-t-il si le robot se rapproche de la source
lumineuse et s’écarte légèrement de sa trajectoire ? Dans ce cas, l'un des
capteurs sera plus proche de la source lumineuse (le capteur de gauche sur la
figure), et donc l'un des moteurs (le moteur de gauche sur la figure) deviendra
plus rapide que l'autre. Cela entraînera une trajectoire courbe de notre robot et il
manquera la source de lumière.

8. Contrôleurs embarqués en robotique


La pièce maîtresse de toutes nos conceptions de robots est un contrôleur intégré petit et
polyvalent que chaque robot embarque. Nous l'avons appelé « EyeCon » (contrôleur EyeBot,
Figure 1.6), car sa spécification principale était de fournir une interface pour une caméra

P a g e d e r a p p o r t d e s t a g e 18 |49
numérique afin de piloter un robot mobile utilisant un traitement d'image embarqué [Bräunl
2001].

L'EyeCon est un contrôleur intégré petit, léger et entièrement autonome.


Il combine un processeur 32 bits avec un certain nombre d'interfaces et de
pilotes standards pour
Des moteurs à courant continu, des servos, plusieurs types de capteurs et bien
sûr une caméra numérique couleur. Contrairement à la plupart des autres
contrôleurs, l'EyeCon est livré avec une interface utilisateur intégrée complète : il
comprend un grand écran graphique pour afficher des messages texte et des
graphiques, ainsi que quatre boutons de saisie utilisateur. De plus, un
microphone et un haut-parleur sont inclus. Les principales caractéristiques de
l’EyeCon sont :
Spécifications EyeCon
o Contrôleur 25 MHz 32 bits (Motorola M68332)
o 1 Mo de RAM, extensible à 2 Mo

P a g e d e r a p p o r t d e s t a g e 19 |49
o ROM de 512 Ko (pour les programmes système + utilisateur)
o 1 port parallèle
o 3 ports série (1 en V24, 2 en TTL)
o 8 entrées numériques
o 8 sorties numériques
o 16 Entrées/sorties du processeur de temporisation
o 8 entrées analogiques
o PCB compact unique
o Interface pour caméra couleur et niveaux de gris
o Grand écran LCD graphique (128u64 pixels)
o 4 boutons de saisie
o Bouton de réinitialisation
o Interrupteur
o Sortie audio
 Haut-parleur piézo
 Adaptateur et potentiomètre de volume pour haut-
parleur externe
o Microphone pour entrée audio
o Indication du niveau de batterie
o Connecteurs pour actionneurs et capteurs :
 Appareil photo numérique
 2 moteurs DC avec encodeurs
 12 servomoteurs
 6 capteurs infrarouges
 6 entrées analogiques gratuites

P a g e d e r a p p o r t d e s t a g e 20 |49
L’une des plus grandes réussites dans la conception matérielle et logicielle du
contrôleur embarqué EyeCon a été l’interfaçage avec un appareil photo
numérique pour permettre le traitement d’images en temps réel intégré. Nous
avons commencé avec les modules de caméra Connectix « QuickCam » en
niveaux de gris et en couleur pour lesquels les spécifications d'interface étaient
disponibles. Cependant, ce n'était plus le cas pour les modèles successeurs et il
est pratiquement impossible d'interfacer une caméra si le fabricant ne divulgue
pas le protocole. Cela nous a amené à développer notre propre module de
caméra « EyeCam » utilisant des puces de capteur CMOS basse résolution. La
conception actuelle comprend un tampon matériel FIFO pour augmenter le débit
des données d'image. Un certain nombre de robots plus simples utilisent
uniquement des contrôleurs 8 bits [Jones, Flynn, Seiger 1999]. Cependant, le
principal avantage de l’utilisation d’un contrôleur 32 bits par rapport à un
contrôleur 8 bits n’est pas seulement sa fréquence CPU plus élevée (environ 25
fois plus rapide)

9. Interfaces en robotique
Un certain nombre d'interfaces sont disponibles sur la plupart des systèmes
embarqués. Il s'agit des entrées numériques, des sorties numériques et des
entrées analogiques. Les sorties analogiques ne sont pas toujours nécessaires et
nécessiteraient également des amplificateurs supplémentaires pour piloter les
actionneurs. Au lieu de cela, les moteurs à courant continu sont généralement
pilotés à l'aide d'une ligne de sortie numérique et d'une technique d'impulsion
appelée « modulation de largeur d'impulsion » (PWM).

P a g e d e r a p p o r t d e s t a g e 21 |49
10. Système d'exploitation en robotique
Les systèmes embarqués peuvent avoir n'importe quoi entre un système
d'exploitation complexe en temps réel, tel que Linux, ou simplement un
programme d'application sans aucun système d'exploitation. Tout dépend du
domaine d'application visé. Pour le contrôleur EyeCon, nous avons développé
notre propre système d'exploitation RoBIOS (Robot Basic Input Output System),
qui est un système d'exploitation en temps réel très simple qui fournit un
programme de surveillance comme interface utilisateur, des fonctions système (y
compris le multithreading, des sémaphores, des minuteries), ainsi qu'une
bibliothèque complète de pilotes de périphériques pour toutes sortes
d'applications de robotique et de systèmes embarqués. Cela inclut la

P a g e d e r a p p o r t d e s t a g e 22 |49
communication série/parallèle, les moteurs à courant continu, les servos, divers
capteurs, la sortie graphique/texte et les boutons d'entrée.

Le programme de surveillance RoBIOS démarre à la mise sous tension et fournit


une interface de contrôle complète pour télécharger et exécuter des
programmes, charger et stocker des programmes dans une ROM flash, tester les
composants du système et définir un certain nombre de paramètres système. Un
composant système supplémentaire, indépendant de RoBIOS, est la table de
description du matériel (HDT, voir Annexe C), qui sert de couche d'abstraction
matérielle configurable par l'utilisateur [Kasper et al. 2000], [Bräunl 2001].
RoBIOS est un progiciel qui réside dans la ROM flash du contrôleur et agit d'une
part comme un système d'exploitation multithread de base et d'autre part
comme une grande bibliothèque de fonctions utilisateur et de pilotes pour
interfacer tous les systèmes embarqués et hors réseau. périphériques de carte
disponibles pour le contrôleur EyeCon. RoBIOS offre une interface utilisateur

P a g e d e r a p p o r t d e s t a g e 23 |49
complète qui sera affichée sur l'écran LCD intégré après le démarrage. Ici,
l'utilisateur peut télécharger, stocker et exécuter des programmes, modifier les
paramètres du système et tester tout matériel connecté qui a été enregistré dans
le HDT.

La structure RoBIOS et sa relation avec le matériel système et le programme


utilisateur. L'accès au matériel depuis le programme de surveillance et le
programme utilisateur s'effectue via les fonctions de la bibliothèque RoBIOS. En
outre, le programme de surveillance s'occupe du téléchargement des fichiers du
programme d'application, du stockage/récupération des programmes vers/depuis
la ROM, etc. Le système d'exploitation RoBIOS et le HDT associé résident tous
deux dans la ROM flash du contrôleur, mais ils proviennent de fichiers binaires
distincts et peuvent être téléchargés indépendamment. Cela permet la mise à

P a g e d e r a p p o r t d e s t a g e 24 |49
jour du système d'exploitation RoBIOS sans avoir à reconfigurer le HDT et vice
versa. Ensemble, les deux binaires occupent les premiers 128 Ko de la flash-
ROM ; les 384 Ko restants sont utilisés pour stocker jusqu'à trois programmes
utilisateur d'une taille maximale de 128 Ko chacun.

Étant donné que RoBIOS est continuellement amélioré et que de nouvelles


fonctionnalités et pilotes sont ajoutés, l'image RoBIOS croissante est stockée
sous forme compressée dans la ROM. Les programmes utilisateur peuvent
également être compressés avec l'utilitaire srec2bin avant d'être téléchargés. Au
démarrage, un chargeur d'amorçage transfère le RoBIOS compressé de la ROM
vers une version non compressée en RAM. De la même manière, RoBIOS
décompresse chaque programme utilisateur lors de la copie de la ROM vers la
RAM avant son exécution. Les programmes utilisateur et le système
d'exploitation lui-même peuvent fonctionner plus rapidement en RAM qu'en ROM,

P a g e d e r a p p o r t d e s t a g e 25 |49
en raison de temps d'accès à la mémoire plus rapides. Chaque système
d'exploitation comprend des parties indépendantes de la machine (par exemple
des fonctions de niveau supérieur) et des parties dépendantes de la machine
(par exemple des pilotes de périphérique pour des composants matériels
particuliers). Des précautions ont été prises pour garder la partie dépendante de
la machine aussi petite que possible, afin de pouvoir effectuer à l'avenir un
portage vers un matériel différent à un coût minimal.

11. CAPTEURS en Robotique


Il existe un grand nombre de capteurs différents utilisés en robotique, appliquant
différentes techniques de mesure et utilisant différentes interfaces avec un
contrôleur. Cela fait malheureusement des capteurs un sujet difficile à aborder.
Nous sélectionnerons cependant un certain nombre de systèmes de capteurs
typiques et discuterons de leurs détails matériels et logiciels. La portée de ce
chapitre porte davantage sur l'interface des capteurs avec les contrôleurs que sur
la compréhension de la construction interne des capteurs eux-mêmes. Ce qui est
important est de trouver le bon capteur pour une application particulière. Cela
implique la bonne technique de mesure, la bonne taille et le bon poids, la bonne
plage de température de fonctionnement et la bonne consommation d'énergie, et
bien sûr la bonne fourchette de prix. Le transfert de données du capteur vers la
CPU peut être initié par la CPU (interrogation) ou par le capteur (via une
interruption). Dans le cas où il est lancé par le CPU, le CPU doit continuer à
vérifier si le capteur est prêt en lisant une ligne d'état en boucle. Cela prend
beaucoup plus de temps que l'alternative d'un transfert de données initié par un
capteur, qui nécessite la disponibilité d'une ligne d'interruption. Le capteur

P a g e d e r a p p o r t d e s t a g e 26 |49
signale via une interruption que les données sont prêtes et la CPU peut réagir
immédiatement à cette demande.

12. Catégories de capteurs en robotique

P a g e d e r a p p o r t d e s t a g e 27 |49
Du point de vue d’un robot, il est plus important de distinguer :
o Capteurs locaux ou embarqués
(capteurs montés sur le robot)
o Capteurs mondiaux
(capteurs montés à l'extérieur du robot dans son environnement
et transmettant les données des capteurs au robot)

Pour les systèmes de robots mobiles, il est également important de distinguer :


o Capteurs internes ou proprioceptifs
 (capteurs surveillant l'état interne du robot)

P a g e d e r a p p o r t d e s t a g e 28 |49
o Capteurs externes
 (capteurs surveillant l'environnement du robot)

Une autre distinction est entre :


• Capteurs passifs
(des capteurs qui surveillent l'environnement sans le perturber,
par exemple appareil photo numérique, gyroscope)
• Capteurs actifs
(capteurs qui stimulent l'environnement pour leur mesure,
par exemple capteur sonar, scanner laser, capteur infrarouge)

13. Capteur binaire en robotique


Les capteurs binaires sont le type de capteur le plus simple. Ils ne renvoient
qu’un seul bit d’information, 0 ou 1. Un exemple typique est un capteur tactile
sur un robot, utilisant par exemple un microswitch. L'interfaçage avec un
microcontrôleur peut être réalisé très facilement en utilisant une entrée
numérique du contrôleur ou un verrou. La figure montre comment utiliser une
résistance pour établir une liaison avec une entrée numérique. Dans ce cas, une
résistance de rappel générera un signal élevé à moins que l'interrupteur ne soit
activé. C’est ce qu’on appelle un réglage « actif bas ».

P a g e d e r a p p o r t d e s t a g e 29 |49
14. Capteurs analogiques et numériques en robotique
Un certain nombre de capteurs produisent des signaux de sortie analogiques
plutôt que des signaux numériques. Cela signifie qu'un convertisseur A/D est
nécessaire pour connecter un tel capteur à un microcontrôleur. Des exemples
typiques de tels capteurs sont :
o Microphone
o Capteur de distance infrarouge analogique
o Boussole analogique
o Capteur baromètre

En revanche, les capteurs numériques sont généralement plus complexes que les
capteurs analogiques et souvent aussi plus précis. Dans certains cas, le même
capteur est disponible sous forme analogique ou numérique, ce dernier étant le
même capteur analogique fourni avec un convertisseur A/D.
Le signal de sortie des capteurs numériques peut avoir différentes formes. Il
peut s'agir d'une interface parallèle (par exemple 8 ou 16 lignes de sorties
numériques), d'une interface série (par exemple suivant la norme RS232) ou
encore d'une interface « série synchrone ». L'expression « série synchrone »
signifie que la valeur des données converties est lue bit par bit à partir du
capteur. Après avoir défini la ligne d'activation de la puce pour le capteur, le
processeur envoie des impulsions via la ligne d'horloge série et lit en même
temps 1 bit d'information sur la ligne de sortie à bit unique du capteur pour
chaque impulsion (par exemple sur chaque front montant). Voir la figure pour un
exemple de capteur avec un mot de sortie de 6 bits de large.

P a g e d e r a p p o r t d e s t a g e 30 |49
15. Codeur d'arbre en robotique
Les codeurs sont nécessaires en tant que capteur de rétroaction fondamental
pour le contrôle du moteur. Il existe plusieurs techniques pour construire un
encodeur. Les codeurs les plus utilisés sont soit les codeurs magnétiques, soit les
codeurs optiques. Les codeurs magnétiques utilisent un capteur à effet Hall et un
disque rotatif sur l'arbre du moteur avec un certain nombre d'aimants (par
exemple 16) montés en cercle. Chaque tour de l'arbre du moteur entraîne les
aimants devant le capteur Hall et entraîne donc 16 impulsions ou « ticks » sur la
ligne du codeur. Les codeurs optiques standard utilisent un disque sectoriel avec
des segments noir et blanc ainsi qu'une LED et une photodiode. La photodiode
détecte la lumière réfléchie lors d'un segment blanc, mais pas lors d'un segment
noir. Donc encore une fois, si ce disque comporte 16 segments blancs et 16
segments noirs, le capteur recevra 16 impulsions pendant un tour.

P a g e d e r a p p o r t d e s t a g e 31 |49
16. Convertisseur A/D en robotique
Un convertisseur A/D traduit un signal analogique en valeur numérique. Les
caractéristiques d'un convertisseur A/D comprennent :
o Précision exprimée en nombre de chiffres produits par valeur (par
exemple convertisseur A/D 10 bits)
o Vitesse exprimée en conversions maximales par seconde (par
exemple 500 conversions par seconde)
o Plage de mesure exprimée en volts (par exemple 0,5 V) Les
convertisseurs A/D se déclinent en de nombreuses variantes.

Le format de sortie varie également. Les interfaces typiques sont soit une
interface parallèle (par exemple jusqu'à 8 bits de précision), soit une interface
série synchrone. Cette dernière présente l'avantage de n'imposer aucune
limitation sur le nombre de bits par mesure, par exemple 10 ou 12 bits de
précision.

17. Dispositif sensible à la position en robotique


Les capteurs pour les mesures de distance sont parmi les plus importants en
robotique. Depuis des décennies, les robots mobiles sont équipés de différents
types de capteurs pour mesurer les distances jusqu'à l'obstacle le plus proche
autour du robot à des fins de navigation. Capteurs sonar Dans le passé, la

P a g e d e r a p p o r t d e s t a g e 32 |49
plupart des robots étaient équipés de capteurs sonar (souvent des capteurs
Polaroid). En raison du cône relativement étroit de ces capteurs, une
configuration typique pour couvrir toute la circonférence d'un robot rond
nécessitait 24 capteurs, cartographiant environ 15° chacun. Les capteurs sonar
utilisent le principe suivant : un court signal acoustique d'environ 1 ms à une
fréquence ultrasonique de 50 kHz à 250 kHz est émis et le temps est mesuré
depuis l'émission du signal jusqu'au retour de l'écho au capteur. Le temps de vol
mesuré est proportionnel à deux fois la distance de l'obstacle le plus proche dans
le cône du capteur. Si aucun signal n'est reçu dans un certain délai, aucun
obstacle n'est détecté dans la distance correspondante. Les mesures sont
répétées environ 20 fois par seconde, ce qui confère à ce capteur son son de clic
typique.

Les capteurs sonar présentent un certain nombre d'inconvénients mais


constituent également un système de capteurs très puissant, comme le montrent
les nombreux articles publiés à leur sujet [Barshan, Ayrulu, Utete 2000], [Kuc
2001]. Les problèmes les plus importants des capteurs sonar sont les réflexions
et les interférences. Lorsque le signal acoustique est réfléchi, par exemple sur un
mur selon un certain angle, un obstacle semble alors être plus éloigné que le
mur réel qui a réfléchi le signal. Des interférences se produisent lorsque plusieurs
capteurs sonar sont utilisés simultanément (parmi les 24 capteurs d'un robot ou

P a g e d e r a p p o r t d e s t a g e 33 |49
parmi plusieurs robots indépendants). Dans ce cas, il peut arriver que le signal
acoustique d'un capteur soit capté par un autre capteur, ce qui conduit à
supposer à tort qu'il s'agit d'un obstacle plus proche que la réalité. Des signaux
sonar codés peuvent être utilisés pour éviter cela, par exemple en utilisant des
codes pseudo-aléatoires [Jörg, Berg 1998].

Les capteurs de distance infrarouges (IR) ne suivent pas le même principe que
les capteurs sonar, car le temps de vol d'un photon serait beaucoup trop court
pour être mesuré avec un dispositif de capteur simple et bon marché. Au lieu de
cela, ces systèmes utilisent généralement une LED infrarouge pulsée à environ
40 kHz ainsi qu'un réseau de détection.

18. Boussole en robotique


Une boussole est un capteur très utile dans de nombreuses applications de
robots mobiles, notamment l'autolocalisation. Un robot autonome doit s’appuyer
sur ses capteurs embarqués pour suivre sa position et son orientation actuelles.
La méthode standard pour y parvenir dans un robot de conduite consiste à
utiliser des codeurs d'arbre sur chaque roue, puis à appliquer une méthode
appelée « à l'estime ». Cette méthode commence par une position et une
orientation initiales connues, puis ajoute toutes les actions de conduite et de
rotation pour trouver la position et l'orientation actuelles du robot.
Malheureusement, en raison du patinage des roues et d’autres facteurs, l’erreur

P a g e d e r a p p o r t d e s t a g e 34 |49
« à l’estime » va croître de plus en plus avec le temps. C'est donc une bonne
idée d'avoir un capteur de boussole à bord, pour pouvoir déterminer l'orientation
absolue du robot. Un pas supplémentaire vers les capteurs globaux serait
l'interfaçage avec un module récepteur pour le système de positionnement global
(GPS) par satellite. Les modules GPS sont assez complexes et contiennent eux-
mêmes un microcontrôleur. L'interfaçage fonctionne généralement via un port
série. En revanche, les modules GPS ne fonctionnent qu’en extérieur dans des
zones dégagées.

19. Gyroscope, accéléromètre, inclinomètre en robotique


Des capteurs d'orientation permettant de déterminer l'orientation d'un robot dans
l'espace 3D sont nécessaires pour des projets tels que des robots suivis, des
robots équilibrants, des robots marcheurs ou des avions autonomes. Une variété
de capteurs sont disponibles à cet effet, jusqu'à des modules complexes capables
de déterminer l'orientation d'un objet dans les trois axes. Cependant, nous nous
concentrerons ici sur des capteurs plus simples, la plupart capables de mesurer
une seule dimension. Deux ou trois capteurs du même modèle peuvent être
combinés pour mesurer deux ou les trois axes d'orientation. Les catégories de
capteurs sont :
• Accéléromètre
Mesurer l'accélération le long d'un axe
o Analog Devices ADXL05 (axe unique, sortie analogique)
o Analog Devices ADXL202 (double axe, sortie PWM)

• Gyroscope Mesure du changement d'orientation en rotation autour d'un


axe
 HiTec GY 130 Piezo Gyro (entrée et sortie PWM)

• Inclinomètre Mesure l'angle d'orientation absolu autour d'un axe

P a g e d e r a p p o r t d e s t a g e 35 |49
o Seika N3 (sortie analogique)
o Seika N3d (sortie PWM)

Accéléromètre
Tous ces capteurs simples présentent un certain nombre d'inconvénients
et de restrictions. La plupart d’entre eux ne gèrent pas très bien la gigue, qui se
produit fréquemment dans les robots qui conduisent ou qui marchent. En
conséquence, certains moyens logiciels doivent être utilisés pour filtrer le signal.
Une approche prometteuse consiste à combiner deux types de capteurs
différents, comme un gyroscope et un inclinomètre, et à effectuer la fusion des
capteurs dans un logiciel.
Un certain nombre de modèles d'accéléromètres différents sont disponibles
auprès d'Analog Devices, mesurant un ou deux axes à la fois. La sortie du
capteur est soit analogique, soit un signal PWM qui doit être mesuré et
reconverti en valeur binaire par l'unité de traitement de synchronisation du CPU.
Les capteurs d'accélération que nous avons testés étaient assez sensibles au
bruit de position (par exemple la gigue des servos dans les robots qui marchent).
Pour cette raison, nous avons utilisé des filtres passe-bas supplémentaires pour
la sortie du capteur analogique ou un filtrage numérique pour la sortie du
capteur numérique.

Gyroscope
Le gyroscope que nous avons sélectionné chez HiTec n'est qu'un
représentant d'une gamme de produits de plusieurs fabricants de gyroscopes
disponibles pour les modèles réduits d'avions et d'hélicoptères. Ces modules sont
destinés à être connectés entre le récepteur et un servo-actionneur, ils disposent

P a g e d e r a p p o r t d e s t a g e 36 |49
donc d'une entrée PWM et d'une sortie PWM. En fonctionnement normal, par
exemple dans un modèle réduit d'hélicoptère, le signal d'entrée PWM du
récepteur est modifié en fonction de la rotation mesurée autour de l'axe du
gyroscope, et un signal PWM est produit en sortie du capteur, afin de compenser
la rotation angulaire. Les techniques de traitement des données de capteurs
suivantes ont été appliquées :
1. Réduction du bruit en supprimant les valeurs de données aberrantes
2. Réduction du bruit en appliquant la méthode de la moyenne mobile
3. Application de facteurs d'échelle pour incrémenter/diminuer les angles
absolus
4. Recalibrage de la moyenne de repos du gyroscope via échantillonnage
5. Recalibrage des limites de repos minimales et maximales via
échantillonnage

Inclinomètre
Les inclinomètres mesurent l'angle d'orientation absolu dans une plage
spécifiée, en fonction du modèle de capteur. La sortie du capteur dépend
également du modèle, avec une sortie de signal analogique ou PWM disponible.
Par conséquent, l’interfaçage avec un système embarqué est identique aux
accéléromètres. Étant donné que les inclinomètres mesurent l'angle d'orientation
absolu autour d'un axe et non sa dérivée, ils semblent bien mieux adaptés à la
mesure d'orientation qu'un gyroscope. Cependant, nos mesures avec
l'inclinomètre Seika ont montré qu'ils subissent un décalage dans le temps lors
de la mesure et sont également sujets à des oscillations lorsqu'ils sont soumis à
un bruit de position, par exemple provoqué par la gigue du servo.

20. Programme d'application de caméra


P a g e d e r a p p o r t d e s t a g e 37 |49
21. Projet de capteur de lumière avec Arduino

22. Rebondir pour trouver le bouton-poussoir

P a g e d e r a p p o r t d e s t a g e 38 |49
P a g e d e r a p p o r t d e s t a g e 39 |49
P a g e d e r a p p o r t d e s t a g e 40 |49
23. À propos de l'entreprise

Créée en 2010 par une équipe de jeunes professionnels experts en

logiciels, Kaashiv Infotech Solutions Limited est aujourd'hui l'une des

plus grandes majors informatiques en fournissant aux établissements

P a g e d e r a p p o r t d e s t a g e 41 |49
d'enseignement des modules intégrés pour gérer tous leurs processus

en ligne.

Accomplissant constamment sa mission, notre équipe a réalisé des

projets techniquement difficiles dans des délais serrés, tout en

fournissant également un service client et un soutien exceptionnels à

notre clientèle. Cela a conduit à des relations de travail à long terme

extrêmement positives partout. Notre processus de projet détaillé a

été créé pour garantir que nos projets sont terminés à temps, dans les

limites du budget et à l'entière satisfaction des clients.

o Kaashiv Infotech est une société prestataire de services.

o Une entreprise certifiée ISO 9001 : 2000.

P a g e d e r a p p o r t d e s t a g e 42 |49
o Enregistré auprès des MSME (Micro, Petites et Moyennes

Entreprises).

o Kaashiv Infotech développe des solutions informatiques,

soulignées par l'innovation et la création de valeur qui

impactent et redéfinissent les processus des entreprises.

o Kaashiv Infotech est fier de sa philosophie « Les clients

d'abord » qui permet à nos employés de créer une réelle

valeur pour les clients.

o Nos programmes de développement et de formation

continus garantissent que nous sommes toujours en mesure

de fournir à nos précieux clients une large gamme de

services de haute qualité, en utilisant les outils et

technologies les plus récents.

o Nous nous concentrons sur des modèles de fiabilité

complets d’exécution et de gestion de projets.

Nous offrons des garanties de redressement pour tout projet que

nous entreprenons, soutenues par une planification et une

supervision de gestion complètes.

P a g e d e r a p p o r t d e s t a g e 43 |49
Nous sommes l'un des plus grands fournisseurs de pièces électriques

automobiles en Asie. Nos produits comprennent des pièces auto-

électriques comme un démarreur, un alternateur, un régulateur, un

induit, un rotor, un stator, une lampe LED, une ampoule, des

clignotants, des relais, etc. pour de nombreuses applications allant des

voitures particulières, des bus, des tracteurs, des excavatrices, des

grues, de l'industrie lourde. équipements, chariots élévateurs aux

équipements et machines de l'industrie maritime.

P a g e d e r a p p o r t d e s t a g e 44 |49
Nos produits

6.1 Missions

Fournir des solutions et des services innovants de haute qualité et rentables,

alimentés par des technologies de pointe, ancrés sur nos principes de base

suivants :

• Explorer

• Innover

P a g e d e r a p p o r t d e s t a g e 45 |49
• Améliorer

La solide équipe R&D de Kaashiv Infotech travaille constamment à mettre à

niveau les solutions existantes et à développer de nouveaux produits. Kaashiv

Infotech est transparent et responsable envers les clients, les actionnaires, les

partenaires et les employés et s'efforce de respecter ses engagements et ses

résultats.

6.2 Valeurs de l'entreprise

Kaashiv Infotech respecte et cherche à maintenir les normes les plus élevées

d'équité, d'égalité, d'intégrité et d'honnêteté. Notre philosophie d'entreprise est

la suivante :

P a g e d e r a p p o r t d e s t a g e 46 |49
• Satisfaction totale du client, amélioration continue et implication totale.

• Fournir constamment et systématiquement des produits et services de la

plus haute qualité.

Suivez le rythme du changement et recherchez continuellement l’innovation tout

en restant en phase avec la technologie et la méthodologie modernes. Notre

valeur fondamentale est centrée sur la satisfaction totale du client et la recherche

d'une bonne citoyenneté d'entreprise.

P a g e d e r a p p o r t d e s t a g e 47 |49
6.3 Infrastructures de l'entreprise

Nous avons une société de développement de logiciels gérée de manière

professionnelle au service de clients partout en Inde et à l'étranger. Kaashiv

Infotech a été créée dans le but clair de fournir des services de développement de

logiciels de qualité. Nous sommes équipés d'une infrastructure de pointe pour

répondre à presque toutes les exigences de développement logiciel :

• Bureau moderne avec centre de développement ultramoderne

• Connectivité haut débit à la passerelle Internet

• Matériel le plus récent et logiciels sous licence

• Applications logicielles de test personnalisées

• Infrastructure de communication adéquate

• Réserver un pool de ressources pour les employés

P a g e d e r a p p o r t d e s t a g e 48 |49
• Systèmes de sauvegarde de données et serveurs de sauvegarde

redondants

• Sauvegardes d'alimentation redondantes via des générateurs et des

onduleurs

• Accès sécurisé pour tous les employés.

P a g e d e r a p p o r t d e s t a g e 49 |49

Vous aimerez peut-être aussi