Je me trompe ou tu as quelques compétences en maths ?
Tu connais la hauteur du poteau et leur distance les uns aux autres.
Tu connais la hauteur sur ta caméra.
Et là, à toi de jouer . . .
Ce ne sont pas ces maths basiques qui me posent un problème mais la précision de la mesure et le parasitage ambiant. Les caméras pixy dont je dispose fournissent la taille en pixels de l'objet recherché, son angle, à voir pour la précision, mais surtout le nombre de pixels détectés varie fortement en fonction de l'éclairage et encore plus en extérieur où on peut se retrouver à contre-jour, et là c'est mission impossible.
Même si tu n'as que l'angle, si tu connais la position des poteaux (qui sont de préférence au bord), alors si tu en vois 3, tu as une position absolue (pour en voir 3, tu devras probablement mettre plus que 4 poteaux, mais si ceux des coins sont les seuls à avoir une couleur unique, ça devrait quand même suffire). Si tu n'en vois qu'un en connaissant seulement l'angle, alors ça te donne déjà pas mal d'infos dans le cadre d'un système de fusion de capteurs (combiner l'odométrie, le gyroscope et les mesures de ta caméra).
Si tu arrives à avoir en plus la hauteur (ou le nombre de pixels) de manière à peu près fiable, alors 1 poteaux te donne une précision. Mais si cette mesure est trop bruitée, si tu la combine avec l'odométrie et le gyro, tu peux obtenir quelque chose de très précis (en gros, tu peux espérer la précision court terme de l'odométrie et du gyro combiné avec l'absence de dérive long terme de la caméra)
Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...
Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.
Effectivement faire des poteaux de différentes couleurs permettrait de bien les discerner.
A partir du principe du poteau, on peut imaginer plusieurs variantes :
- le poteau simple, droit, avec une couleur.
- le poteau surmonté d'une cible en couleur. (du diamètre d'un panneau de sens interdit).
- le poteau surmonté d'une barre horizontale en forme de T. La différence des dimensions des 2 cotés de cette barre déterminerait l'angle de positionnement du robot par rapport au poteau.
- un poteau surmonté d'un cercle. Les 2 diamètres de l'ovale, déterminaient l'angle du robot par rapport à cette cible.
- un poteau surmonté d'un repère cartésien. (une grille)
- un poteau en forme de T, avec un cercle à chaque extrémité de la barre horizontale. Les différents diamètres, détermineraient l'angle du robot.
Oui c'est vrai, mais le mode vieux roomba aléatoire semble être le plus rentable efficacité/temps de développement !
Mais pour faire plaisir à mes followers je vais essayer la caméra. Mes essais en extérieur confirment que les pixels trouvés ne sont absolument pas fiables, à cause des zones d'ombre et des contre jours, zone d'ombre y compris sur le piquet lui même en fonction de son éclairement. Je ne peux pas récupérer de façon fiable la hauteur.
Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir
Posté 18 mai 2020 - 01:29
Oui c'est vrai, mais le mode vieux roomba aléatoire semble être le plus rentable efficacité/temps de développement !
Je suis pas sûr de toujours te comprendre
Tu demandes des problématiques avec un challenge de sorte à ce que ça puisse t'occuper un moment, je te propose un truc spécialement adapté et tu préfères le choix de la simplicité que tu as " presque déjà fini " ( bah oui ... vu que le système que tu as est déjà capable d'avancer , de détecter un trou dans le gazon , de déposer et de s'arrêter et tourner face à un obstacle ... tu as juste à l'envoyer en mode " quadrille tout en lignes droites" et il va te faire un parcourt aléatoire ! :°) )
Bon bon ... je retourne ranger mes propositions dans mes cartons ^^
Je suis pas sûr de toujours te comprendre
Tu demandes des problématiques avec un challenge de sorte à ce que ça puisse t'occuper un moment, je te propose un truc spécialement adapté et tu préfères le choix de la simplicité que tu as " presque déjà fini " ( bah oui ... vu que le système que tu as est déjà capable d'avancer , de détecter un trou dans le gazon , de déposer et de s'arrêter et tourner face à un obstacle ... tu as juste à l'envoyer en mode " quadrille tout en lignes droites" et il va te faire un parcourt aléatoire ! :°) )
Bon bon ... je retourne ranger mes propositions dans mes cartons ^^
La problématique d'un challenge "hors lego" qui a fait l'objet d'un de mes posts est une chose à la fois plus globale et surtout dans le cas où je devrais me retrouver à la retraite, ce qui est pour moi semblable à une crise sanitaire .ou un tsunami...
Donc, dans c'est dans ce cadre-là, je réfléchis sur la base d'un apprentissage de nouvelles technologies, qui passera forcément par une formation solide à laquelle je pourrais consacrer du temps.
Aujourd'hui je ne suis évidemment pas prêt en terme de compétences, et même d'envie, de sortir du lego et surtout pas pour un projet en cours. Comme je te l'ai dit si je sors du lego je veux à la fois en sortir complètement et bosser sur un projet non réalisable en lego, ce qui est le cas de beaucoup de projets qui demandent de la solidité, ou de la vitesse, ou de la fiabilité, ou les 3 à la fois, même si je suis d'accord qu'en lego certains font des trucs top, ce n'est pas moi qui vais critiquer le potentiel énorme de cette techno.
Donc là pour le robot semeur, effectivement je cherche une solution relativement simple. Je viens de tester le repérage de poteaux avec une deuxième caméra, mais je n'arrive à rien de fiable, en tout cas avec mon matériel qui en plus n'est pas autofocus. Mais la prise d'image à l'extérieur est une vraie galère, depuis longtemps la problématique de l'analyse d'image n'est pas son traitement, mais la qualité et la répétabilité de son acquisition. Les progrès technologiques n'ont rien changé depuis des années. J'ai développé en 1987 une machine d'analyse d'image sur une ligne de production à grande vitesse et déjà la galère était la constance des conditions "extérieures" (Eclairement, poussière...) , même en intérieur. Déjà à l'époque le traitement informatique ne posait pas de problème particulier.
C'est pour cela d'ailleurs que j'utilise un éclairage LED pour mon robot semeur et que j'ai mis la caméra sous le châssis du robot pour analyser le gazon. Et encore c'est loin d'être gagné.
Donc évidemment toutes les propositions m'intéressent et je suis curieux de nature. Alors je te remercie pour tes réponses, elles sont toujours intéressantes. Je n'oublie pas que je te dois les roues Mecanum qui pour moi ont été une révélation absolue et m'ont motivé à faire des robots roulants, ce que je n'avais jamais fait auparavant.
Comme je l'ai dit je suis vraiment très satisfait de la fiabilité de ma trajectoire sur un aller retour. Au pire je peux faire un RAZ contre la bordure de ma terrasse à chaque retour ce qui m'assurera une bonne fiabilité, à voir. A ce moment je dresserai une cartographie en tenant compte des incertitudes qui resteront.
Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir
Posté 18 mai 2020 - 07:36
(PS : il fallait prendre mes remarques sur le ton de l'humour "qui pique un chouilla juste pour essayer de te challenger " en aucun cas je n'ai été véxé et en aucun cas je cherchais à te critiquer toi ta démarche ou autre )
L'intérêt est et restera toujours de se faire plaisir
À propos de la localisation, un thread twitter (en anglais, désolé, mais les anims sont plutôt claires) sur les filtres particulaires (Particle Filters) : https://twitter.com/...559073913704448
Ca fait longtemps que je colle et je bricole les legos, et je me suis fait virer de pas mal de sites legoïstes pour cela.
Mais là j'ai franchi un pas psychologique, j'ai collé deux barres simples ne m'en sortant pas au niveau de la rigidité de mon robot semeur de gazon que je finis de mettre au point avec ses nouvelles roues mecanum de diamètre 100.
D'habitude je bricole seulement pour avoir des pièces tarabiscotées. !!!
Du coup j'ai obtenu une pièce simple mais très intéressante, j'aurais dû oser plus tôt, même si certains ici peuvent trouver ça trivial.
Elle est considérablement plus rigide et elle permet de partir à 90°, ce qui permet de faire des renforts supplémentaires ! super pièce !
Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir
Posté 17 juin 2020 - 04:06
bah moi perso ça me choque pas plus que ça ...
Dernièrement ils ont bien sorti cette pièce :
Moi je leur trouve un petit air de famille =)
Après tu pourrais aller encore plus loin et carrément faire tes propres modèle de pièce lego en fonction du besoin que tu as pas ce qu'il faut parmi les pièces standard via impression 3D.
De mémoire Oracid a essayé, mais je ne sais plus quelles en étaient ses conclusions ^^
Faire des pièces Lego en i3D, cela peut être intéressant, mais il faut beaucoup de tests et du savoir faire avec sa propre imprimante. https://www.robot-ma...s-custom-parts/
De plus, ce ne seront que des pièces fixes pour assemblage. Si elles sont en mouvement sur un axe, cela ne va pas durer longtemps.
Le collage et le sciage sont les solutions à privilégier, mais attention à bien garder la compatibilité en 3D .
Un truc intéressant, mettre une vis (M3, je crois) dans une pin noire pour bloquer un assemblage. Avec des vis, on peut également empiler plus de 3 épaisseurs de barres.
Faire des pièces Lego en i3D, cela peut être intéressant, mais il faut beaucoup de tests et du savoir faire avec sa propre imprimante. https://www.robot-ma...s-custom-parts/
De plus, ce ne seront que des pièces fixes pour assemblage. Si elles sont en mouvement sur un axe, cela ne va pas durer longtemps.
Le collage et le sciage sont les solutions à privilégier, mais attention à bien garder la compatibilité en 3D .
Un truc intéressant, mettre une vis (M3, je crois) dans une pin noire pour bloquer un assemblage. Avec des vis, on peut également empiler plus de 3 épaisseurs de barres.
Elle est pas mal, ta pièce ! Bonne idée !
Allez, balance les sites où tu t'es fait cramer.
Non je ne suis pas une balance...je ne te dirai pas que ça commence par "t" et finit par "g"... non ce n'est pas mon style...
En parlant de pièces lego, ce qui me faudrait régulièrement ce sont des axes en acier...impossible à trouver ?
Et voilà...j'ai évidemment choisi Robot Maker pour présenter ma réalisation finale en avant-première, avant une diffusion à tous les medias...
Merci à tous ceux qui m'ont apporté leurs conseils précieux...
* Le robot est autonome, finalement il a deux modes de déplacement, un mode quadrillage quand il peut venir buter contre une paroi fixe et quadriller efficacement avec le gyroscope (c'est le cas dans la vidéo, remise à zéro à chaque contact avec la terrasse) ou un mode aléatoire, style aspirateur basique.
* Il transmet par bluetooth une mesure instantanée de densité de la pelouse en % (l'étalonnage à 100% étant la pelouse dense), la densité moyenne en % et le nombre de trous détectés. Au démarrage l'opérateur transmet par bluetooth une taille de trou minimum à détecter. (en % de la taille de l'image soit 10 cm x 6 cm)
* Il détecte les trous avec une caméra Pixy Cam 2 , scarifie (juste pour démo, pas de façon efficace, je ne l'ai pas équipé de piques métalliques) et sème des graines dans le trou.
En résumé le résultat final, à découvrir dans la vidéo , est un robot comportant 6 moteurs: 4 moteurs d'entrainement des roues mecanum , 1 moteur pour la commande du scarificateur et un moteur avec vis sans fin pour la distribution des graines et 8 capteurs: 1 gyrsocope, 2 ultrasons, un IR, 2 contacts, 1 pixycam et un détecteur de lumière pour le niveau des graines.
Il pèse 2.8 kg, 40 cm de long et 25 cm de large. C'est le plus gros robot que j'aie réalisé à ce jour !
Les principales difficultés ont été:
* L'analyse d'image, avec le défilement et surtout ne pas confondre un trou avec des feuilles ou des herbes jaunies. Pas évident, le marron du trou se décompose en jaune à l'analyse. J'ai ramé sur cet aspect mais c'est très intéressant.
* Une difficulté imprévue, le déplacement dans l'herbe. J'ai essayé les roues à pneus (bof bof), les chenilles (bof) et enfin les roues mecanum. Mais compte tenu de la taille du robot j'ai été obligé d'adapter des roues mecanum chinoises de diamètre 100, et de mettre des axes métalliques pour supprimer la flèche des trains avant et arrière (merci Oracid).
Au bout du compte le robot est équilibré et fonctionne parfaitement.
Ce n'était pas gagné d'avance ! Tu t'en ais très bien sorti. Bravo.
Je suis certain qu'il y a un véritable marché pour ce robot.
Au fait, tige filetée ou axe lego en acier ?
Merci !
Tige filetée...et contre-écrou collé. C'était nécessaire vu l'empâtement du robot et la taille des roues (l'axe lego plie à l'intérieur de la roue elle-même) . merci pour le tuyau Oracid, je n'avais jamais osé faire ça.
Oui c'était un projet sympa sur lequel j'ai passé beaucoup de temps pendant le confinement... Et moi qui aime l'analyse d'image et pas trop les problématiques de déplacement , j'ai été servi !