ArUco sur les gobelets

Discussion à propos de la version BETA du règlement 2020 - Applicables en 2020 pour tous les concours EurobotOPEN et EurobotOPEN Junior
Discussion about 2020 beta rules - For all EurobotOPEN and EurobotOPEN Junior contests.
Locked
thomaslefort
Posts: 16
Joined: Mon 21 May 2018, 18:01

ArUco sur les gobelets

Post by thomaslefort » Sun 22 Sep 2019, 15:11

Bonjour,

Je ne pense pas participer mais j'aime l'idée de la compétition alors j'aimerai apporter ma pierre à l'édifice.
Tout d'abord bravo à l'équipe du règlement. Il est assez claire et la simplicité apparente des actions va donner plus de place aux détails pour faire la différence tout en laissant aux équipes plus novices de faire des scores sympas.

Mon idée est la suivante : Vu que vous semblez mettre un point sur la vision, je trouve que l'utilisation des tags ArUco est intéressant car assez accessible à utiliser.
Je me disais qu'il serait intéressant de mettre deux tags sur la table, au cas où un robot soit sur un tag au moment où l'on veuille le lire. De même, quitte à mettre un vynile sur les gobelets, pourquoi ne pas mettre un petit tag aussi. Cela permettrait de les relocaliser s’ils ont été déplacés et d'identifier la couleur autrement.

Bon courage pour la suite,
Thomas

User avatar
nadar breicq
Posts: 381
Joined: Fri 07 Mar 2008, 09:49
Location: Amiens
Contact:

Re: ArUco sur les gobelets

Post by nadar breicq » Sun 22 Sep 2019, 21:41

Salut Thomas
thomaslefort wrote:
Sun 22 Sep 2019, 15:11
Tout d'abord bravo à l'équipe du règlement. Il est assez claire et la simplicité apparente des actions va donner plus de place aux détails pour faire la différence tout en laissant aux équipes plus novices de faire des scores sympas.
Merci de ce retour positif :D
thomaslefort wrote:
Sun 22 Sep 2019, 15:11
Mon idée est la suivante : Vu que vous semblez mettre un point sur la vision, je trouve que l'utilisation des tags ArUco est intéressant car assez accessible à utiliser.
Je me disais qu'il serait intéressant de mettre deux tags sur la table, au cas où un robot soit sur un tag au moment où l'on veuille le lire. De même, quitte à mettre un vinyle sur les gobelets, pourquoi ne pas mettre un petit tag aussi. Cela permettrait de les relocaliser s’ils ont été déplacés et d'identifier la couleur autrement.
Merci pour la proposition. En attendant un réponse officielle, je vais te donner mon propre avis qui n'engage que moi.

Je suis très loin de connaitre les spécificités en vision puisque je n'en ai que très peu fait mais, même si positionner un tag sur les gobelets pourrait être une bonne idée pour favoriser la vision, je vois pas mal de point négatifs également à ce système :
- Si le gobelet et retourné ou tombé, cela ne va pas aider beaucoup les équipes
- Les tags peuvent s'user après de multiples manipulations pendant les matchs, et il ne faudrait pas qu'il y ai des réclamations de la part des équipes car un tag "abimé" aurait pu modifier le résultat du match. Je penses que les arbitres et l'orga auront d'autres trucs à gérer le jour J.
- Les tags seraient très petits et donc difficilement visible par une camera placée sur le mat centrale par exemple. En effet, afin de garder une visibilité des couleurs des bouées sur le dessus pour les cameras qui filment et rediffusent sur internet, il faudrait garder un contour de couleur suffisant ce qui réduirait la taille du tag.
- Enfin, arrive le problème du collage des tags. En effet, pour nous autres équipes, nous n'avons qu'un set de 44 éléments à fabriquer ( ce qui est déjà pas mal ). Pour PS, ce sera plus de 400 éléments à faire ( en plus de la table ). Avoir un tag de couleur uni permet de ne pas être trop regardant sur la découpe et le positionnement dans un premier temps et de terminer avec un coup de lime dans un second temps. Avec un tag, il faudrait être beaucoup plus précautionneux et donc passer beaucoup de temps sur la réalisation des éléments.

Et finalement, si tu regarde bien, les couleurs des bouées ne sont pas choisies au hasard : le rouge et le vert sont faciles à détecter par une camera placée sur le mat centrale par exemple, et se détachent bien du fond du terrain qui est bien plus clair :wink:

Voila pour mon retour personnel et je t'encourage à réagir à mon avis bien entendu :wink:
Participez aux Joutes de robotique 2020 ! :wink:
Membre de l'équipe Les Karibous [2013][2014][2015][2016][2017][2018][2019][2020]
Vainqueur de la Makerfight 2019
FabManager du FabLab La Machinerie d'Amiens
Membre du club Valrobotik de Valenciennes [2009 - 2012]

User avatar
Manta
Posts: 55
Joined: Sat 03 Oct 2015, 10:37
Contact:

Re: ArUco sur les gobelets

Post by Manta » Mon 23 Sep 2019, 10:08

Bonjour,

Je me permets de rebondir, car j'ai fait pas mal de vision pour les précédentes coupes.
C'est vrai que l'ajout du tag sur les bouées serait un très gros avantage, mais presque trop en faite. Si tu as une définition suffisante (et une puissance de calcul qui va avec) tu as des Lib toutes faites pour trouver des tags avec position/angle/taille... Autant je trouve ça important pour trouver les adversaires, car cette détection est primordiale, autant ça, il faudrait laisser un peu de travail aux équipes ! ^^

Ce n'est que mon avis bien sûr.

Bonne journée,
Champions de France 2018, 3ème à EUROBOT 2018 :D

2017 à 2018 : Robotech Legends
2012 à 2016 : Robotech Montpellier

Suivez l'actualité de Robotech Legends :

Image Image Image Image

User avatar
romain_cvra
PMI
Posts: 1234
Joined: Sat 30 Jun 2007, 16:17
Location: suisse
Contact:

Re: ArUco sur les gobelets

Post by romain_cvra » Mon 23 Sep 2019, 13:27

Hello,

J'aime beaucoup l'idée des tages sur les goblets!
Peut être que cela permettraient enfin aux équipes de prendre les éléments de jeux meme si ceux-ci ne sont pas a leur position de départ.
J'ai pas souvenir d'avoir vu une équipe le faire depuis de très nombreuse année.
nadar breicq wrote:
Sun 22 Sep 2019, 21:41
- Enfin, arrive le problème du collage des tags. En effet, pour nous autres équipes, nous n'avons qu'un set de 44 éléments à fabriquer ( ce qui est déjà pas mal ). Pour PS, ce sera plus de 400 éléments à faire ( en plus de la table ).
Il pourrait être imprimer sur le vinyle qui doit de tout façon être collé sur le dessous du verre! ;-)

Romain
Site web : http://www.cvra.ch.
Le code source : GitHub
Visualisation CAO 3D de nos robots : GrabCAD

thomaslefort
Posts: 16
Joined: Mon 21 May 2018, 18:01

Re: ArUco sur les gobelets

Post by thomaslefort » Mon 23 Sep 2019, 17:50

Bonjour,

Je trouve les arguments posés dans le premier post valide. Je comprends que cela nécessite plus de précaution quand ua positionnement du tag.
Je ne suis pas sûr que la taille ou l'usure du vynile soit un problème. Mais je n'ai pas d'expérience de la compétition donc vous serez-mieux placé pour parler de l'usure des éléments de jeu.
Également pour la taille, il faudrait faire des tests plus approfondi.

Je comprends aussi l'argument de la facilité de Manta. Mais je ne pense pas qu'il y ait beaucoup d'exemples d'équipes ayant utilisé en situation réelle des systèmes aussi évolué que ça. Je trouve dommage que pour de nombreuses équipes, la position des éléments de jeu ne soit pas recalculée s'il a été poussé par un robot. C'est souvent des codes qui intègre en dur la position de départ des éléments. Et même avec un tel système, cela demande tout de même d'avoir un code qui adapte le comportement du robot à la nouvelle position (pathfinding, recalcule de la stratégie).

Je n'ai par exemple par de souvenir de RCVA qui attrape un élément qui ait été déplacé.

Il serait même alors intéressant que la position de certaines bouées soit presque entièrement aléatoire (en respectant la symétrie pour avoir une égalité des chances des deux équipes). Cela forcerait vraiment l'utilisation de la vision.

Pour moi, aujourd'hui la vision est très très peu utilisée malgré l'existante de librairies très performantes.

User avatar
nadar breicq
Posts: 381
Joined: Fri 07 Mar 2008, 09:49
Location: Amiens
Contact:

Re: ArUco sur les gobelets

Post by nadar breicq » Mon 23 Sep 2019, 18:11

romain_cvra wrote:
Mon 23 Sep 2019, 13:27
Peut être que cela permettraient enfin aux équipes de prendre les éléments de jeux meme si ceux-ci ne sont pas a leur position de départ.
J'ai pas souvenir d'avoir vu une équipe le faire depuis de très nombreuse année.
Certes, mais ça sous-entend que les gobelets ne soient pas tombés sur la table en vrac. Encore une fois je n'ai fait que très peu de vision mais ça me semblait compliqué de faire tourner et un script pour la reconnaissance de tag et un script pour la reconnaissance de couleur / forme ? Si c'est le cas, detecter formes et couleurs me semble plus interessant :
- Avec la couleur on sait dire quel élément est où
- Avec la forme on sait dire comment est l’élément ( un rond, il est bien posé, autre chose, il est allongé )

Mais je me trompe peut être complètement ...
romain_cvra wrote:
Mon 23 Sep 2019, 13:27
Il pourrait être imprimer sur le vinyle qui doit de tout façon être collé sur le dessous du verre! ;-)
Bien sur le tag serait imprimé mais ce que je voulais dire avec la suite de mon post ce qu'il faudrait être plus précis dans la pose alors qu'avec un tag de couleur. Avec ce dernier, tu le pose et le découpe "à l'arrache" et tu termine avec un petit coup de lime. Petites photos ( mais sans le vinyle officiel ) pour illustrer mon propos : https://photos.app.goo.gl/7xRii8ewdbfGBkeS7
Participez aux Joutes de robotique 2020 ! :wink:
Membre de l'équipe Les Karibous [2013][2014][2015][2016][2017][2018][2019][2020]
Vainqueur de la Makerfight 2019
FabManager du FabLab La Machinerie d'Amiens
Membre du club Valrobotik de Valenciennes [2009 - 2012]

User avatar
romain_cvra
PMI
Posts: 1234
Joined: Sat 30 Jun 2007, 16:17
Location: suisse
Contact:

Re: ArUco sur les gobelets

Post by romain_cvra » Mon 23 Sep 2019, 19:53

nadar breicq wrote:
Mon 23 Sep 2019, 18:11
Encore une fois je n'ai fait que très peu de vision mais ça me semblait compliqué de faire tourner et un script pour la reconnaissance de tag et un script pour la reconnaissance de couleur / forme ?
Il y a une énorme différence en terme de complexité entre reconnaître un tag ou un objet (via sa forme et sa couleur).
Pour le tag aruco, il y a des librairies relativement simple a implémenté qui le font très très bien et qui donne en sortie la position du tag aruco avec les 6 degrés de liberté (les 3 positions + 3 les angles).
Pour la reconnaissance de forme et de couleur, c'est une tout autre histoire... c'est très complex.
Aucune chance qu'on se lance de la reconnaissance de forme et de couleur bien trop complexe.
Mais avec le tag aruco, peut être, surtout si on fait un système pour utiliser les nouveau tag aruco mi a notre disposition sur le dessus des robots.
D'ailleurs c'est une excellente innovation de ce règlement! Bravo! Peut être enfin un système de balise relativement peut chère et commun a toutes les équipes.
nadar breicq wrote:
Mon 23 Sep 2019, 18:11
qu'il faudrait être plus précis dans la pose alors qu'avec un tag de couleur.
Joli la technique de pose ;-)
Disons qu'une précision de positionnement du vinyle à +-3mm voir 5mm devrait être suffisante pour exploiter cette info.
Et avec ta technique on sera facilement dedans, il suffirais de tracé un léger cercle de diamètre identique au fond du verre afin que la découpe centre plus au moins le tag Aruco.

A+
Last edited by romain_cvra on Mon 23 Sep 2019, 20:52, edited 1 time in total.
Site web : http://www.cvra.ch.
Le code source : GitHub
Visualisation CAO 3D de nos robots : GrabCAD

thomaslefort
Posts: 16
Joined: Mon 21 May 2018, 18:01

Re: ArUco sur les gobelets

Post by thomaslefort » Mon 23 Sep 2019, 20:51

Il semblerait que cette idée ait été pensé par l'équipe règlement car ils ont réservé une plage pour le tapis et les éléments de jeu.
D'ailleurs je n'ai pas trouvé l'identifiant du tag au milieu de l'air dans le réglement.

User avatar
nadar breicq
Posts: 381
Joined: Fri 07 Mar 2008, 09:49
Location: Amiens
Contact:

Re: ArUco sur les gobelets

Post by nadar breicq » Tue 24 Sep 2019, 09:41

romain_cvra wrote:
Mon 23 Sep 2019, 19:53
Pour la reconnaissance de forme et de couleur, c'est une tout autre histoire... c'est très complex.
Aucune chance qu'on se lance de la reconnaissance de forme et de couleur bien trop complexe.
Mais avec le tag aruco, peut être, surtout si on fait un système pour utiliser les nouveau tag aruco mi a notre disposition sur le dessus des robots.
D'ailleurs c'est une excellente innovation de ce règlement! Bravo! Peut être enfin un système de balise relativement peut chère et commun a toutes les équipes.
Ok, merci pour ce retour sur la vision. Du coup question : avec une camera sur le mat, quel serait la limite de taille d'un tag sur le gobelet pour que ce soit visible ( sans avoir une camera d'une précision infinie :lol: ) ? Je sais pas si tu saurais estimer ça ?
romain_cvra wrote:
Mon 23 Sep 2019, 19:53
Joli la technique de pose ;-)
Disons qu'une précision de positionnement du vinyle à +-3mm voir 5mm devrait être suffisante pour exploiter cette info.
Et avec ta technique on sera facilement dedans, il suffirais de tracé un léger cercle de diamètre identique au fond du verre afin que la découpe centre plus au moins le tag Aruco.
Merci ! Ok pour la précision. Faut qu'on y réfléchisse alors.
Participez aux Joutes de robotique 2020 ! :wink:
Membre de l'équipe Les Karibous [2013][2014][2015][2016][2017][2018][2019][2020]
Vainqueur de la Makerfight 2019
FabManager du FabLab La Machinerie d'Amiens
Membre du club Valrobotik de Valenciennes [2009 - 2012]

User avatar
baptiste_c
Posts: 154
Joined: Mon 20 May 2013, 15:09

Re: ArUco sur les gobelets

Post by baptiste_c » Tue 24 Sep 2019, 10:04

Après c'est certes plus facile de trouver un code aruco que n'importe quoi d'autre, mais trouver des blobs rouge et verts sur fond bleu, ça se fait quand même...
En 2017 on arrivait à trouver le contenu d'une dépose de module lunaire et l'orientation des cylindres éventuellement présents en regardant "seulement" par le côté.
Je pense qu'il ne faut pas trop simplifier la visionm déjà parce que si on fait que de l'aruco, on ne fait pas vraiment de la vision, on ne fait que reprendre une lib existante. Et surtout, si c'est trop facile, beaucoup d'équipe s'engouffreront dans la vision...au détriment d'un déplacement propre, d'un évitement irréprochable, de la robustesse de leurs actions.
Baptiste
Supaero 2011 - 2014
A.I.G.R.I.S. 2015 - ...
Prix de l'innovation 2016
Vice-champion de France et 3ème à Eurobot 2017
Vice-champion de France 2019

User avatar
cho934
Posts: 123
Joined: Tue 05 Jun 2012, 18:57
Location: VILLERUPT
Contact:

Re: ArUco sur les gobelets

Post by cho934 » Tue 24 Sep 2019, 17:52

En attendant une réponse officielle, il s'avère que les tags doivent etre assez gros et de meme taille environ. Dans ce règlement 2020 ils ont tous la meme taille.
Je pense que s'il y en avait sur les gobelets ils seraient trop petits pour être détecté aussi, d'après les tests que j'ai entendu parler.

C'est le retour d'expérience qui fera avancer les choses
😁

User avatar
romain_cvra
PMI
Posts: 1234
Joined: Sat 30 Jun 2007, 16:17
Location: suisse
Contact:

Re: ArUco sur les gobelets

Post by romain_cvra » Wed 25 Sep 2019, 14:59

nadar breicq wrote:
Tue 24 Sep 2019, 09:41
avec une camera sur le mat, quel serait la limite de taille d'un tag sur le gobelet pour que ce soit visible ( sans avoir une camera d'une précision infinie ) ? Je sais pas si tu saurais estimer ça ?
J'ai essayé hier soir avec une caméra 1080p sur le mat qui a un angle d’ouverture de 180° et un tage aruco de 35mm.
L'angle d'ouverture par rapport la résolution de la caméra est trop grand, peut de chance de détecter des tag de 35mm à plus de 1m (voir moins) du mat.
C'est très approximatif, je l'ai fait visuellement...

Mais l'utilité des tag sur les goblet reste valable, à mon avis.
Il est possible d'imaginer de ce focaliser sur une zone de la table avec une optique adaptée.
Ou alors de mettre la caméra sur le robot, dans une des balises fixe, etc...

Ajouter cette possibilité de détection ne coûte rien en terme de prix et de temps pour les équipes.
Et ouvre un champs de possibilité intéressant pour la détection.
cho934 wrote:
Tue 24 Sep 2019, 17:52
de meme taille environ
Je me rappel qu'on doit paramétrer la taille.
Mais je me rappel plus si ca ce fait au niveau de la lib ou pour chaque tag.
A vérifier...

Dans tous les cas ca peut être deux algo séparer en fonction de la situation.

Romain
Site web : http://www.cvra.ch.
Le code source : GitHub
Visualisation CAO 3D de nos robots : GrabCAD

User avatar
nadar breicq
Posts: 381
Joined: Fri 07 Mar 2008, 09:49
Location: Amiens
Contact:

Re: ArUco sur les gobelets

Post by nadar breicq » Wed 25 Sep 2019, 20:17

Merci pour ce retour Romain ! :D Vu la taille des gobelets, 35 mm me semble effectivement un maximum, et ma crainte sur la facilité de détection depuis le mat est donc un peu fondée. Mais tu aussi raison sur la possibilité de placer la vision dans les robots et donc de la faciliter pour les équipes.

A juger donc aux regard de ces retours mais également du "visuel global de la table" qui est aussi un critère important pour Planète Science.
Participez aux Joutes de robotique 2020 ! :wink:
Membre de l'équipe Les Karibous [2013][2014][2015][2016][2017][2018][2019][2020]
Vainqueur de la Makerfight 2019
FabManager du FabLab La Machinerie d'Amiens
Membre du club Valrobotik de Valenciennes [2009 - 2012]

Riako
Posts: 89
Joined: Tue 05 May 2015, 18:07

Re: ArUco sur les gobelets

Post by Riako » Sun 29 Sep 2019, 20:53

Pourquoi ne simplement pas mettre un symbole bien contrasté (centre vert/rouge et tour blanc par exemple) qu'un tag ?
Un tag sur un robot, c'est très utile car on peut savoir lequel c'est (1, 2, 3 ou 4) et quel est son orientation, en plus de sa position.
Un tag sur un gobelet, je ne voie pas l'intérêt, on veut seulement sa position et sa couleur. Une recherche de cercle (ou blob travaillé) sera probablement plus simple à faire de loin vu la taille du fond du gobelet (même depuis le robot vu la hauteur du gobelet, tout le monde n'a pas le budget pour du FHD embarqué). Cela complique les solutions avec un capteur de couleur classique que le robot passerait au-dessus du gobelet.
De plus, la position et la couleur des gobelets sont connus, à l'exception de la couleur de trois mais qui ne sont pas retournés donc on ne voit pas le fond... Traitement de couleur obligatoire sauf si mécanique adapté au retournement…
La vision c'est du bonus pour savoir si un gobelet est bien à sa place ou pas (très utile, certes, mais pas nécessaire). Le seul moment où il est nécessaire de "voir" c'est pour avoir la couleur des gobelets dont on ne voit initialement pas le vinyle collé sur le fond.

Mettre des tags sur des éléments de jeu, pourquoi pas, ça peut faire partie d'un futur règlement avec des actions de tri par exemple (rangement par poids, taille ou autre), mais là je pense que ça compliquera plus que ça apportera.

Locked