Bonne idée @Melmet ,
oui je pourrais vais faire un tuto pour la communauté avec par exemple ce type d'écran de pilotage robot
- thermo_nono et Oliver17 aiment ceci
gerardosamara n'a pas encore ajouté d'ami.
Posté par gerardosamara - 17 juillet 2018 - 12:10
Bonne idée @Melmet ,
oui je pourrais vais faire un tuto pour la communauté avec par exemple ce type d'écran de pilotage robot
Posté par gerardosamara - 15 juillet 2018 - 05:45
Posté par gerardosamara - 13 juillet 2018 - 03:53
Suite pour continuer sur de l'évolution de l'appli Android .
Pour rappel le robot mobile peut etre controllé à partir d'un smartphone et cet appli Android ou bien à partir du logiciel domotique en fonction de ma présence ou non dans ma maison ( En fonction état du switch selector House Mode ) , le mode controle du robot à partir du smartphone est autorise seulement si Home ( je suis dans la maison ) sinon le robot est controllé par le logiciel domotique.
Mais sur l'écran d'accueil de l'appli Android du smartphone il manquait l'information du mode de controle du robot vu du logiciel domotique , pour qu'il n'y ait pas 2 gestionnaires simultanés du robot.
C'est chose faite avec la version 0.28 de l'app Android
Le principe de la fonction "Etat ou Test mode robot" est le suivant :
1- Suite appui du bouton "Test mode Robot" , l'app Android interroge l'état du selector switch "mode robot" coté domotique par un message JSON de lecture d'état de ce selector switch
=> http://Ip:PortRpi3 domoticz /json.htm?type=devices&rid=Device Id du selector switch
2- En réponse le logiciel domotique réponds par un un message contenant des données relatives à ce selector switch au format JSON qui est traité par l'app Android , grace à un ajout de blocks MIT INventor2 dans l'ecran d'accueil de l'app Android ( Mode robot ou mode smartphone )
J'ai un peu galéré pour décoder les données Json recues et en extraire l'état du selector switch ( Controle par Smartphone ou Domotique).
Ecran d'accueil de l'appli Android de controle du robot
Note : Pour l'instant je n'ai pas finalisé ce que pourrait etre l'écran "Controle du robot par domotique" mais cela devrait etre un genre de dashboard avec au minimum la carte de localisation , les coordonnées du robot en x,y,theta dans son environnement , retour vidéo et données diverses comme tension batteries etc
Je pourrais m'inspirer sur ce qu'à fait @serverperso
Posté par gerardosamara - 08 juillet 2018 - 05:18
Retour sur l'appli smartphone Android ( MIT App Inventor2 ) pour ajouter un test de connexion au RPI3 supportant le logiciel domotique ( Bouton Test RPi3 Domo et son résultat )
La vision de nuit de ce modèle de caméra PI V2 est très faible .. mais on le sait.
Cela permets de savoir tout de suite si la solution réseau requise pour ce robot est opérationnelle.
Restera à définir ce que l'écran "Controle du robot par domotique" doit contenir ( au moins la position du robot en x,y,theta etc )
Posté par gerardosamara - 06 juillet 2018 - 11:27
Oui @mike118 , après avoir lu ta proposition , une navigation basée sur une carte connue ( environnement de ma maison ) avec l'algorythme Monte Carlo est une solution pour rester simple , les amers sur la carte étant la base de recharge et l'endroit ou se trouvent les capteurs de détection de mouvement.
1) Cartographie
Construction de la carte
Position initiale du robot sur la carte à partir de ses capteurs (N poses initiales du robot)
et/ou par un marqueur situé sur la borne de récharge
2) Localisation (incrémentale)
Prédiction estimée de la position courante du robot (x,y,theta) à partir de données fournies par des capteurs
Mesure du mouvement du robot par l'odométrie
Correction des erreurs de position venant de l'odométrie à partir des informations recues des capteurs
3) Planification
Déplacer le robot de sa position actuelle à sa destination (base de recharge ou zone d'un détecteur de mouvement ayant déclenché ) en indiquant un chemin entre la position d'origine et de destination
En ce qui concerne le Lidar , il n'est pas nécéssaire en plus des capteurs de distance ultrasons existants + odométrie pour la localisation mais reste à voir son utilité éventuelle pour détecter les obstacles ou confirmer un intru dans la zone d'un détecteur de mouvement.
Tout cela reste du domaine de la reflexion .. ou du cahier des charges , pour l'instant
Posté par gerardosamara - 04 juillet 2018 - 03:01
Dans cette version V2 du robot , la webcam USB est remplacée par la PI Cam V2 , l'application "motion" continuant à gérer le flux video de la caméra
Au départ j'étais parti sur la version NoIR à vision nocturne mais les performances ne sont pas là.
Configuration de la PI CAM V2 au niveau RPI3
- Activer la fonction caméra dans le PI par sudo raspi-config
- Activer le driver de la caméra : sudo modprobe bcm2835-v4l2
- Activation du driver à chaque démarrage du PI :
sudo nano /etc/modules et ajouter cette ligne à la fin du fichier : bcm2835-v4l2
- Verifier l'image de test généré par "raspistill -v -o test.jpg
Configuration de "motion" dans /etc/motion/motion.conf
- Paramètres par défaut pour résolution 640 x 480 et 10 fps
- Détection de mouvement non activé pour l'instant
- Vérification du flux video sur le port 8081 du RPI
- Affichage du flux video dans l'app android de pilotage du robot afin de voir ce que voit le robot
Posté par gerardosamara - 02 juillet 2018 - 10:44
De retour après quelque temps éloigné de la robotique ... pour préparer l'ascension du plus haut mont du Costa Rica au mois de mai 2018 puis pour accueillir de la famille :
- Le Chirippo culmine à 3820m
- Le départ se fait à 1500 m donc ca fait 2300m de dénivelé sur 19 km
- 1 jour pour monter ( durée d'ascension 8h 00 ) et 1 jour pour redescendre après une nuit dans un refuge pas loin du sommet
La routine .. non c'est quand meme difficile comme parcours ... avec la preuve au lever du soleil
Posté par gerardosamara - 15 juin 2018 - 03:57
On pourrait déplacer les robots "aspirateurs" et de " surveillance " dans domotique =)
Non , ce que je voulais dire est que dans cette catégorie "Domotique" , il ne soit decrit que l'impact coté Domotique de ces robots aspirateurs ou surveillance etc , pas le robot de surveillance lui même par ex
http://www.robot-maker.com/forum/topic/11450-integration-de-mon-ugv-dans-ma-domotique-basee-sur-rpi3domoticz/
Posté par gerardosamara - 22 mai 2018 - 03:50
@Mike ,
Le concept de ce service est intéressant mais reste à savoir si il y a un "business plan" derrière pour en faire une activité lucrative.
A mon avis le déplacement physique est un frein .
Pourquoi ne pas offrir ce type de service sous forme de MOOC payant pour la réalisation de fonctions robotiques ( théorie et pratique ) avec un support matériel robotique imposé pour suivre les cours ( tout le monde ou presque à un RPI , un Arduino etc ...)
.... My 2 cents
Posté par gerardosamara - 26 mars 2018 - 01:51
Posté par gerardosamara - 12 mars 2018 - 05:32
La version courante (et récente) de Windows 10 contient un sous systeme Windows pour Linux qu'il faut activer , et ensuite if faut installer une distribution Linux (Debian par défaut).
Cela permets de se passer de dual boot ou de VM ( HyperV ou autres application de virtualisation comme VirtualBox ) , pour faire tourner une distribution Linux dans Windows 10 donc c'est plutot séduisant ( mais en mode commande ) .
La procédure est plutot intuitive et sans difficulté.
1) Activation du sous système Linux dans windows10
=> paramètres -> mise à jour sécurité -> Mode développeurs ... puis "fonctionalités windows" -> Sous Syteme Windows Pour Linux )
2) Téléchargement de Debian pour Windows 10 à partir du windows store et ensuite installation de Debian
Je n'ai pas encore testé pour voir si il y a des limitations par rapport à une VM ( ROS ? )
Posté par gerardosamara - 10 mars 2018 - 03:58
Un premier truc à éplucher pour découvrir ROS
Puis pour rentrer un peu plus dans ROS
Si vous voulez vous lancer sur ROS avec windows : Activier Hyper V sur windows 10 puis Créer une machine virtuelle avec Hyper V
La version courante (et récente) de Windows 10 contient un sous systeme Windows pour Linux qu'il faut activer , ensuite if faut installer une distribution Linux (Debian par défaut)
=> paramètres -> mise à jour sécurité -> Mode développeurs ... puis "fonctionalités windows" -> Sous Syteme Windows Pour Linux )
Cela permets de se passer d'HyperV ou autres application de virtualisation ... donc c'est plutot séduisant.
Je n'ai pas encore testé pour voir si il y a des limitations par rapport à une VM ( seule l'activation de ce sous système dans windows 10 , le téléchargement de Debian pour Windows 10 à partir du windows store et son installation ont été faits sur mon PC Win10 )
Posté par gerardosamara - 05 février 2018 - 04:54
Reprise du chassis avec une meilleure disposition des cartes électroniques .
La partie mécanique est presque terminée .. reste à installer un interrupteur puis ce sera le cablage avant de mettre la structure du second étage
Posté par gerardosamara - 03 février 2018 - 06:34
Les pièces Makeblock manquantes sont arrivées dans la matinée et j'ai pu faire le nouveau chassis avec le 1er niveau regroupant le RPI , l'Arduino Mega et le convertisseur 5V.
Un deuxième niveau recevra les autres équipements comme capteurs et caméra ..
... pas facile de se transformer en maquettiste !
EDIT : Photo re-postée car à l'envers . Merci @Levend
Posté par gerardosamara - 29 janvier 2018 - 09:08
En attendant de recevoir la commande complète de profilés Makeblock pour faire le nouveau chassis , je me suis penché sur l'intégration du robot dans le logiciel domotique Domoticz ( suite réponse #175 ).
Finalement la méthode "requests.post" coté client domoticz est abandonnée au profit de la méthode "socket TCP" déja implémentée dans le RPI du robot pour le dialogue avec l'app android de pilotage du robot.
La connexion du client domotique "domoticz" avec le serveur du robot (API python) a été testée avec succès au niveau socket TCP ( cf screenshot)
La prochaine étape sera de tester les messages suivant et déja disponibles dans l'Api python du robot pour le dialogue avec l'app Android du robot , dans le module d'initialisation du dialogue avec le robot (module "init_robot.py ) .
Ce sont les messages communs app android/logiciel domotique de pilotage du robot soit par l'app android soit par la domotique de test de la configuration réseau du robot:
<test_api_python>
<test_arduino>