IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Demande d'aide pour un projet D2R2


Sujet :

Raspberry Pi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Septembre 2017
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Demande d'aide pour un projet D2R2
    Bonjour,
    alors voila le topo:
    je suis en train de modifier un D2R2 télécommandé en robot autonome (ou presque).
    Pour cela j'utilise un raspbery pi 3 avec une interface électronique de mon cru pour le contrôle des servomoteurs et autres capteurs.
    le programme en python avance bien (avec une interface graphique pour pouvoir contrôler le robot avec l'affichage d'une carte simplifié de son environnement)

    pour le moment je me connecte au robot avec mon PC via VNC, ca marche mais ce n'est pas pratique pour l'utiliser au quotidien.

    Là où je vais avoir besoin d'aide (voir de coopération) c'est pour crée une interface WEB qui reprendrait la carte et les principales commandes (avancer, reculer, allumer projecteur, allumer camera et afficher l'image ect...)
    le but est de pouvoir entrer l'adresse du robot dans n'importe quel navigateur (pc ou tablette) pour pouvoir le contrôler et afficher divers choses (carte web cam batterie)

    Donc si ce projet intéresse quelqu'un il est le bienvenu ! (il y gagne quoi ? ben la fierté d'avoir fait avancer le chmilblik ! lol)

    A défaut, auriez vous des pistes a me proposer pour ce genre d'interface ?

    PS: je ne connais rien en développement WEB donc le defi est de taille ! lol

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Dans le cas où tu serais intéressé, je suis sur un projet "passe-temps" depuis quelques années qui se nomme NestoRpi Engine:
    * adapté pour tous les RPis.
    * écrit en C / C++ / JS pour des bonnes performances.
    * interface web pour un pilotage à distance: ça fait exactement ce que tu veux.
    * gère des modules via les GPIOs, et on peut facilement rajouter du support pour des nouveaux.
    * utilise la techno webRTC pour l'audio / vidéo, avantages: latences extrêmement faibles, le bitrate s'adapte automatiquement à la bande passante. Fonctionne sur la plupart des navigateurs, y compris sous Android
    * exploite le GPU pour l'encodage H264. Résultat: latence encore plus faible, et performances au top

    Le python est trop limitant quand on s'attaque aux perfs. Surtout pour l'encodage de vidéos en live.
    Si le projet t'intéresse :
    - une vidéo de démo (c'était une vieille version sans interface web) :

    - la page démo live pour contrôler mon robot : https://nestorpi.talbart.fr/
    - le code source : https://gitlab.com/franck.talbart/nestor_rpi_engine
    - un peu de doc : https://gitlab.com/franck.talbart/ne...e/-/wikis/home

    N'hésite pas à revenir vers moi pour plus d'infos

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Septembre 2017
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Super projet "passe temps" ! félicitation ça a l'aire très abouti !
    oui en effet c'est ce genre d'interface ce que je cherche.

    si j'ai choisi Python c'est pour la facilité de prise en main et aussi parceque je l'utilise depuis longtemps pour tous mes projets. Le C,JS et autre je ne maitrise pas du tout.(d’où mon appel lol) mon programme est loin d’être fini mais il intègre une cartographie simplifié de l'environnement et (à terme) le robot pourra aller d'un point A a un point B en toute autonomie (j'ai fini recement la routine d' évitement d'obstacle et de trajet optimisé).

    également j'ai réutilisé la mécanique et moteur d'origine du robot ainsi que ses capteurs de positions (tête et basculement) j'ai donc dû écrire tout une partie de programme spécifique et adapté un module électronique que je ne saurai réécrire.(j'appel les fonctions et le programme se débrouille avec des sous routines)

    enfin a l'origine il était téléguidé par une télécommande IR que j'ai gardé (encore une spécifié dans le programme)

    je n'ai pas (ou pas encore) de souci de performance, le programme est volontairement légé et simplifié (ce qui me donne une écriture pas toujours normalisé lol) il se peu que je fasse fausse route coté interface graphique. (j'utilise Tkinder) peut être que je devrais récrire le programme en séparant interface et routine de fonctionnement (mais j'avoue ne pas savoir comment faire communiquer tout ça).

    du coup une partie de ton projet ne servirai pas ou ne serai pas entièrement adapté. mais si tu me dit que tu saurai l'adapté en fonction de ce que je cherche et le faire "communiquer" avec ce que j'ai déjà écrit alors çà serai intéressant en effet de voir cela ensemble de plus prêt !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    Quels capteurs utilises-tu pour le déplacement dans la carte ? (roue codeuse, ultra son ?). Pour ces modules, il y a peut-être déjà un support dans NestoRPi.
    J'ai déjà fait des appels C depuis du Python (avec SWIG) mais là, on a besoin de faire l'inverse.
    Sachant que le web RTC est le cœur du projet (les ordres de la page web sont transmis à travers des data channels, qui sont dans le flux webrtc), il faudrait donc
    que ce soit NestoRPi qui appelle tes scripts, et non l'inverse (puisque les ordres viendront de la couche réseau de NestoRPi).
    On pourrait exécuter ton script Python dans un processus fils coté C++ par exemple, mais sincèrement c'est assez crade ... et il faudrait pouvoir transmettre les commandes via des paramètres
    en ligne de commande, ou un pipe (probablement le plus propre) qui balancerait les commandes sur l'entrée standard de ton script.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    A priori il y a une API Python en C:
    https://stackoverflow.com/questions/...s-return-value

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Septembre 2017
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Je t'avoue que je te suis un peu de loin mais je comprend le principe.

    je suis en train de récrire le programme pour que le "cœur" soit totalement indépendant de l'interface. cela facilitera grandement la mise en place si j'arrive a travailler uniquement avec des variable que je peu envoyer d'un sens et de l'autre (via un socket ou l'API python en C que tu a proposé)

    j'utilise un capteur optique pour déterminer les déplacement (un peu comme une sourie) mais cela manque cruellement de précision donc je vais me rabbatre sur des roue codeuse (ce qui me demandera de modifier la structure mécanique du robot d'origine, ce qui me plait qu'a moutier)
    je délege cette tache avec un ardruino qui renvois les informations au raspberri
    j'utilise également une boussole pour déterminer l'orientation. il y aura un capteur ultra son pour les obstacles et des capteurs IR pour le suivie de mur (pour l'exploration de son environnement) et un module de mesure de charge pour la batterie

    tous cela communique par le protocole I2C

    pour les étalements a commander (moteur, lumière, son) j'ai fabriquer une carte interface pour le Raspberry

    si tu veux on peu se trouver un canal de dialogue pour facilité nos echanges ? (messenger ou autre)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    Je gère déjà ultra son et roue codeuse. Le plus simple serait d'intégrer directement le reste à NestoRpi en C++. J'ai peur que ça fasse trop bricolage sinon et qu'il y ai plus de problèmes que de solutions au final.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Septembre 2017
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    (j'arrive trop tard pour discord lol). tu a surement raison, ça serai plus simple, mais j'ai bcp de mal avec C et je t'avoue que cela fait 3 ans (à mes heures perdue donc ça traine un peu) que je suis sur ce projet et cela m'ennuierai de devoir tout recommencer ou réécrire. le programme est la, fonctionnel et surtout adapté a l'architecture peu conventionnel de mon robot. c'est juste une interface web qui ne fait que envoyer des commandes simple et afficher une carte et camera en retour que je cherche.
    je vais prendre un peu de temps pour étudier voir tester ton projet et voir si cela me "parle".

Discussions similaires

  1. Demande d'aide pour un projet de formation Web développeur
    Par BrunoBN dans le forum La taverne du Club : Humour et divers
    Réponses: 0
    Dernier message: 14/09/2018, 15h13
  2. Demande d'aide pour un projet site Web
    Par MikeLi dans le forum Langage
    Réponses: 5
    Dernier message: 17/02/2017, 18h46
  3. Demande d'aide pour un projet VBA basique
    Par yvanchala dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 18/12/2014, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo