Robots suiveurs 2 : Différence entre versions
| Ligne 20 : | Ligne 20 : | ||
[https://github.com/jdollar/espsoftwareserial/ SoftwareSerial]<br /> | [https://github.com/jdollar/espsoftwareserial/ SoftwareSerial]<br /> | ||
| + | |||
| + | '''<big>c) Application Android</big>''' | ||
| + | Afin de diriger le robot maître, il est nécessaire de créer une application android qui va donc envoyer les commandes nécessaires. Nous avons dans un premier temps mis en place des commandes correspondant aux différentes actions réalisables par le robot que nous pouvons retrouver dans le tableau suivant : | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! Direction !! Commande | ||
| + | |- | ||
| + | | Avancer || av | ||
| + | |- | ||
| + | | Reculer || ar | ||
| + | |- | ||
| + | | Droite || dr | ||
| + | |- | ||
| + | | Gauche || ga | ||
| + | |- | ||
| + | | Avant-droit || ad | ||
| + | |- | ||
| + | | Avant-gauche || ag | ||
| + | |- | ||
| + | | Arrière-droit || bd | ||
| + | |- | ||
| + | | Arrière-gauche || bg | ||
| + | |- | ||
| + | | Chorégraphie rotation || cr | ||
| + | |- | ||
| + | | Chorégraphie crabe || cc | ||
| + | |- | ||
| + | | Chorégraphie zigzag || cz | ||
| + | |- | ||
| + | | Stop || st | ||
| + | |} | ||
| + | |||
| + | Le principe de l'application doit donc gérer les actions du robot en envoyant une chaîne de caractères (correspondant aux commandes vues précédemment) et gérer la distance de l'esclave 1 par rapport au robot et celle de l'esclave 2 par rapport à l'esclave 1. Nous devons donc mettre en place autant de boutons que d'actions possibles et 2 zones de texte permettant de récupérer les différentes distances entrées par l'utilisateur.<br /> | ||
| + | De plus, l'application doit communiquer en Bluetooth avec le robot donc nous ajoutons un boutons permettant de voir et sélectionner les périphériques connectés en Bluetooth disponibles. (cf. photo suivante) | ||
| + | |||
| + | |||
'''Participants :''' ARNALDO ALVES Lucas, BOUCHIKHI Al mehdi, [[AurianeBrialon|BRIALON Auriane]], CARVALHO FONTÃO Caroline, DALIL Hajar, GALLEY Nicolas, [[Kaszubiak|KASZUBIAK Grégory]], KRA Kouassi, [[Okitaudji.florian|OKITAUDJI Florian]], [[TheoRAMOS|RAMOS Théo]], SANE Baboucar, [[Charles SILVESTRE|SILVESTRE Charles]], VERGEZ Romain. | '''Participants :''' ARNALDO ALVES Lucas, BOUCHIKHI Al mehdi, [[AurianeBrialon|BRIALON Auriane]], CARVALHO FONTÃO Caroline, DALIL Hajar, GALLEY Nicolas, [[Kaszubiak|KASZUBIAK Grégory]], KRA Kouassi, [[Okitaudji.florian|OKITAUDJI Florian]], [[TheoRAMOS|RAMOS Théo]], SANE Baboucar, [[Charles SILVESTRE|SILVESTRE Charles]], VERGEZ Romain. | ||
Version du 5 avril 2018 à 11:56
Projet du module Robots connectés 2016/2017.
1. Application et Communication WiFi et Bluetooth
a) Communication WiFi
Il a été constaté qu'en utilisant une carte Sparkfun ESP32 Thing en tant que point d'accès et une autre en client, la communication ne semble pas fonctionner lorsque les deux cartes se trouvent à moins de 20cm l'une de l'autre.
De plus, les débits disponibles ne semblent pas dépasser 1 mot/s.
Il semblerait possible d'envoyer un mot clé "ok", puis la distance distS1 entre le slave 1 et le master, puis la distance distS2 entre le slave 2 et le slave 1, puis l'action à réaliser (sur deux caractères).
b) Communication Bluetooth
Il a été mis en oeuvre une communication Bluetooth entre un smartphone et l'ESP32 du maître. Les données reçues sont ensuite aiguillées vers un port série de l'ESP32 pour l'envoyer à la Teensy dans le but de piloter le moteur. Il existe 2 types de communication série, HardwareSerial et SoftwareSerial. Nous avons choisi d'utiliser le SoftwareSerial afin de laisser libre l'UART2 pour la communication avec le LIDAR. Remarque: L'accès à l'UART1 n'est pas immédiat, il faut faire une manipulation (simple) mais qui risque de rendre instable le système. En effet, l'UART1 est connecté à la mémoire FLASH de l'ESP32.
Les librairies utilisées proviennent des liens suivants:
c) Application Android
Afin de diriger le robot maître, il est nécessaire de créer une application android qui va donc envoyer les commandes nécessaires. Nous avons dans un premier temps mis en place des commandes correspondant aux différentes actions réalisables par le robot que nous pouvons retrouver dans le tableau suivant :
| Direction | Commande |
|---|---|
| Avancer | av |
| Reculer | ar |
| Droite | dr |
| Gauche | ga |
| Avant-droit | ad |
| Avant-gauche | ag |
| Arrière-droit | bd |
| Arrière-gauche | bg |
| Chorégraphie rotation | cr |
| Chorégraphie crabe | cc |
| Chorégraphie zigzag | cz |
| Stop | st |
Le principe de l'application doit donc gérer les actions du robot en envoyant une chaîne de caractères (correspondant aux commandes vues précédemment) et gérer la distance de l'esclave 1 par rapport au robot et celle de l'esclave 2 par rapport à l'esclave 1. Nous devons donc mettre en place autant de boutons que d'actions possibles et 2 zones de texte permettant de récupérer les différentes distances entrées par l'utilisateur.
De plus, l'application doit communiquer en Bluetooth avec le robot donc nous ajoutons un boutons permettant de voir et sélectionner les périphériques connectés en Bluetooth disponibles. (cf. photo suivante)
Participants : ARNALDO ALVES Lucas, BOUCHIKHI Al mehdi, BRIALON Auriane, CARVALHO FONTÃO Caroline, DALIL Hajar, GALLEY Nicolas, KASZUBIAK Grégory, KRA Kouassi, OKITAUDJI Florian, RAMOS Théo, SANE Baboucar, SILVESTRE Charles, VERGEZ Romain.