Programmer un robot suiveur avec arduino

Fermé
SakuraKato - 12 févr. 2015 à 19:39
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 13 févr. 2015 à 12:37
Bonjour,
Je me présente: je suis en Terminale STI2D et pour mon projet de cette année je dois programmer un robot suiveur de personnes.
Je m'occupe de gérer le dispositif de suivie visuel de l'utilisateur. En gros je dois pouvoir orienter la caméra pour qu'elle puisse suivre l'objectif (qui sera un badge) tout cela à l'aide de la caméra pixy CMUcam5.
Je demande de l'aide car je bloque sur une partie, c'est-à-dire celle où je dois déterminer le sens de déplacement du robot.
La caméra possède deux servomoteurs un Pan (à l'axe x) et un TILT (à l'axe y).
J'ai essayer de faire des recherches et j'ai trouvé une technique qui s'appelle l'odométrie mais mon prof m'a dit que c'était pas nécessaire.
Donc je suis un peu perdue et j'ai besoin de savoir si vous avez quelques conseils et si jamais quelqu'un a déjà fait ce genre de robot me donner quelques tuyaux.
Merci d'avance de vos réponses.

2 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
12 févr. 2015 à 22:48
'lut, en partant du principe que la capture d'image est déjà un problème "résolu", et que tu disposes de la position du marqueur suite à l'application d'un algorithme approprié (détection de contraste par ex; si c'est un badge-image c'est plus complexe, cf. OpenCV), le problème est assez simple a résoudre.

Tu as les coordonnées X et Y du badge sur l'image.
Tu disposes de la résolution de l'image U et V.
Comme tu veux suive le point, l'idéal est qu'il reste le plus proche possible du centre de l'image tout le temps, autrement dit que X=U/2 et Y=V/2. S'il se décale, on pivote la caméra pour le ramener au centre; on a donc 4 cadrans sur l'image:

- Dans le cadran rouge, on pivote vers la gauche et le haut:
- Dans le jaune, haut droite
- ...
Bref, on dirige la camera vers la position du cadran. Le point sur l'image se déplacera, et on réitère; le point arrivera au milieu.

Quant au déplacement du robot, s'il doit suivre le dit point, il faut faire en sorte qu'il tourne pour que la camera revienne à son orientation originale, et s'il avance/recule, il faut avoir une donnée supplémentaire: la taille du badge sur l'image. Si cette taille T excède la taille cible, on recule: le badge est trop près. Inversement s'il est trop loin (T < cible), on avance.
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
Modifié par sambia39 le 13/02/2015 à 12:41
Bonjour
Ce que tu décris serait une solution favorable à opter mais, n'est pas efficaces et par déduction, ce n'est pas la bonne solution pour la simple raison que des facteurs annexent où inattendus vont être de sérieuse anomalie à la détection et au suivie sur l'objectif en clair, le tracking où la suivie de l'objet, de la personne sera erroné.
Car le robot n'a pas l'objectif de suivre une personne ou un objet précis mais à l'objectif de garder dans son champ de vision un objet.
Exemple, admettons que deux ou quatre personnes se trouvent tous dans le même champ de vision et on tous un badge ( ou deux badge) à votre avis que feraient-ils ? lequel des quatre est son objectif de suivi ? suivra-t-il celui qui est à gauche ou celui qui est au centre de son champ de vision ?
encore mieux faisant le teste d'illusions optiques, le robot ne pourrait dans le pire des cas suivre personne voir ne pas bouger du tout.
La solution de l'orientation de la caméra et le comportement du robot ne seront pas déterminés par un champ de vision dans le quel ce trouve l'objet, mais par l'algorithme qui lui permet de suivre le bonne objectif en clair le mouvement de la caméra et du robot serra le résultat de ce que les autres acteur ont fournis. Je présume que le robot doit également jouer de ses autres capteurs pour éviter les pièges de parcours sur son trajet ?.

Pour ma part je te conseille de travailler en équipe et prendre en compte les différents facteurs ( pas tous ) et te posé les bonnes questions et à partir de ces données en déterminera le comportement du robot mais aussi l'orientation de la caméra.

Ce qui m'embête c'est le caractère du projet car c'est un domaine assez avancé la reconnaissance de formes/ tracking un concept propre à l'intelligence artificielle bref
à bientôt
Celui qui peut, agit. Celui qui ne peut pas, enseigne. Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien, et les philosophes, qui ne connaissent rien sur tout. G.B Shaw
0