Bonjour ,
Mon projet est d'avoir un robot de télésurveillance pilotable à distance à l'aide de mon smartphone ou à partir du controlleur domotique en cas d'intrusion par exemple pour aller dans la zone du détecteur de mouvement qui a été activé .
La solution technique est basée sur une carte Raspberry PI3 + Arduino Mega2560 et un chassis à 2 roues motrices + une application Android créée avec MIT Inventor 2 comme interface de commande du robot via Wifi .
Les IDE Arduino et Python sont utilisés pour le développement du robot.
La version 2 en cours du robot comprend :
- Un nouveau chassis Makeblock à 2 roues motrices + 1 roue folle arrière
- Une carte Raspberry PI3 + Arduino Mega2560
- Deux motoréducteurs GM25-370CA avec encodeur en 3.3V + roues
- La meme app Android MIT Inventor2 avec retour video pour piloter le robot par Wifi
- Une batterie Lipo 3S 11.7V et 2200 mAh
- Un raspberry PI3 + Arduino Mega + shield moteur Arduino
- Un convertisseur 5A 12V-5V équipé d'1 sortie 12V pour le driver moteurs et de 4 sorties 5V pour RPI3 , capteurs de distance et carte alim esclave 5V/3.3V
- Une Caméra Pi V2 NoIR pour vision nuit montée sur un servo pour balayage horitontal pour retour vidéo et détection de mouvement avec "motion"
- Un capteur ultrason SRF05 pour détection obstacles à l'avant du robot
- Un 2ème capteur ultrason HC-SR04 pour détection obstacles à l'arrière du robot
- Pilotage du robot en mode distant , en complément du mode local
- Odométrie PID et encodeurs ( fin des test en suspens suite panne carte driver moteurs)
Reste à faire :
- IMU Centrale inertielle MPU-650
- Reprise test odométrie et correction de trajectoire après achat nouvelle carte driver moteure
- L'estimation de position du robot par odométrie + IMU
- Télémétrie ( distance capteur ultrasons , tension batterie , Intensité consommé .....) vers l'app smartphone Android et vers la domotique
- Poste recharge autonome batterie
- L'intégration du robot en wifi avec le logiciel domotique Domoticz pour navigation autonome en cas d'intrusion détectée par un capteur de détection de mouvement
- Une page dashboard sur l'application domotique pour affichage de données dans un dashboard (caméra,tension et courant batterie , courant moteurs , log , ...)
La version 1 du robot comprenait ( démonté ) :
- Un chassis de test à 2 roues motrices + 1 roue folle à l'arrière
- Un module Wifi du Raspberry PI3 pour la connexion sans fil au réseau local ou internet .
- Un écran LCD 16x2 I2C pour affichage d'informations textuelles (sera remplacé par un serveur web sur le PI)
- Un shield moteur Arduino pilote les 2 motoréducteurs Polulu HP994 couplés à une paire de roues de 80mm de diamètre
- Un capteur ultrason SRF05 pour détection distance & obstacles à l'avant du robot
- Une caméra USB connectée sur le Raspberry et montée sur un servomoteur pour retour vidéo et détection de mouvement avec "motion"
- Une application Android maison créée avec MIT Inventor 2 comme interface de commande du robot via Wifi
- La surveillance de la tension batterie et du courant moteur pour arret d'urgence
- L'intégration avec le controleur domotique via WiFi
Idées pour la version 3 du robot
Chassis rover à 4 roues
Eventuellement Monter/descendre un escalier ( impact chassis à roues )
Mise en veille du robot si inactif depuis x minutes
Continuer l'intégration avec le controleur domotique Domoticz
Tourelle pan-tilt avec la caméra du Raspberry + openCV qui suit une cible en mouvement
Navigation autonome SLAM avec LIDAR
Documentation des produits :
Arduino Mega2560 : https://www.arduino....noBoardMega2560
Arduino Shield motor : https://www.arduino....noMotorShieldR3
Raspberry Pi3 : https://www.raspberr...power/README.md
Caméra PI V2 : https://www.raspberr...mera-module-v2/
Motoréducteur Polulu HP994 , couple 5 kg.cm : https://www.pololu.c...oduct/994/specs
Servomoteur HYX-S009 0-60° couple 1.5kg/cm : http://www.diytrade.com/china/pd/7632604/RC_servo_motor.html
Régulateur 5V 5A DFRobot DFR0205 : https://www.dfrobot....e_(SKU:DFR0205)
Alimentation 5V - 3.3V DFRobot DFR0140 : https://www.dfrobot....ml#.UPZxofIR98E
Capteur Intensité courant ACS712 Iteastudio : ftp://imall.iteadstudio.com/Electronic_Brick/IM120710011/DS_IM120710011.pdf
Ecran LCD 16x2 I2C : https://www.dfrobot....&product_id=135
Capteur ultrason SRF05 : https://www.robot-el...m/srf05tech.htm
Capteur ultrason HC-SR04 : https://www.robot-ma...ns-hc-sr04.html
Motoréducteur GM25-370CA 12V avec encodeur en 3.3V : http://www.robot-mak...e-chromee.html
Batterie Lipo 3S : http://www.robot-maker.com/shop/alimentation/208-batterie-lipo-3s.html
Chargeur Lipo 2S 3S : http://www.robot-maker.com/shop/alimentation/126-chargeur.html
Centrale inertielle MPU-6050 : https://www.robot-ma...4-mpu-6050.html
Poids du robot V2
1260 g
Consommation du robot
Raspberry PI3 wifi + caméra PI V2 : 1000 ma
Arduino Mega2560+ Shield moteur : 400 ma
2 x moteurs GM25-370CA : 600 ma
1 capteur US DRF05 :
Installation Raspbian Strech + configuration Rover1sur RPi 3
- Télécharger Raspbian Stretch et copier sur une carte SD 8GO avec Win32DiskImager (+ fichier ssh file pour activation SSH et fichier wpa_supplicant.conf pour configuration Wifi)
- Booter le Rpi3 and login via Putty + sudo raspi-config ( add Camera +VNC server, expand root file system, timezone GMT-6) + IP fixe dans /etc/dhcpcd.conf .
- Mettre à jour Stretch : sudo apt-get update , sudo apt-get upgrade
- Restaurer les fichiers Rpi python et sketches arduino du robot
- Connexion au RPI par le client VNC viewer
- Installer l' IDE Arduino ( sudo apt-get install arduino )
- Installer les bibilothèques NewPing , TimerOne et PID_V1
- Installer la caméra PI V2
Activer le driver ( sudo modprobe bcm2835-v4l2 )
Tester un snapshot caméra ( sudo raspistill -v -o test.jpg )
Ajouter bcm2835-v4l2 dans le fichier /etc/modules pour chargement du driver au démarrage du PI
- Installer "lighttpd" , un serveur Web leger ( sudo apt-get install lighttpd )
- Installer l'app motion ( sudo apt-get install motion )
mkdir /home/pi/captures ( répertoire stockage photos suite détection de mouvement)
Droits groupe/user motion sur le dossier captures ( sudo chown motion:motion /home/pi/captures )
Démarrage motion au boot du PI
sudo crontab -e
@reboot motion >/dev/null 2>&1 à ajouter à la fin du fichier
- Configurer motion dans /etc/motion/motion.conf
Daemon=on
Résolution image 640 x 480 et 2 fps
output_picture=on , output_movies=off (détection de mouvement avec photos seulement)
target_dir = home/pi/captures
stream_port = 8081 , stream_localhost=off
Vérification du flux video sur le port 8081 du RPI à partir d'un browser
Affichage du flux video dans l'app android de pilotage du robot afin de voir ce que voit le robotradp
Modifié par gerardosamara, 30 novembre 2018 - 01:51 .