Il y a différentes techniques sur les robots de la coupe :
une que tu n'as pas cité :
- " à l'aveugle " / en boucle ouverte.
On suppose que le robot fait exactement ce qu'on lui demande et on vérifie rien ...
Souvent avec des robots à deux roues contrôlées par des moteurs pas à pas et en utilisant des techniques de recalage contre le rebord de la table on peut déjà marquer pas mal de points. Parfois certain moteurs sont contrôlé en mettant un PWM à tel valeurs pendant tant de temps ...Beaucoup d'équipes ne sont pas localisées ... Pas de honte à avoir ! =)
ensuite
- full "odométrie sur les moteurs" uniquement
On parle de codeurs qui sont montés aux sur les moteurs. Dans ce cas on suppose que les roues du robot ne glissent sur le tapis de jeu et la précision obtenue dépend de la qualité de tes codeurs et du code utilisé ! =)
On peut faire de l'asservissement en vitesse pour contrôler les moteurs plus précisément qu'en boucle ouverte, et on peut même faire de l'intégration sur les codeurs pour commencer à avoir des estimations de position. Plus on avance dans le temps plus les erreurs s'accumulent et moins le robot est précis. Du recalage, surtout angulaire c'est pas mal Car l'utilisation de l'odométrie pour le calcul de l'angle est moins précise que pour la distance linéaire parcourue.
Par contre quand on commence à mettre en place de l'asservissement on commence à avoir du code et gare aux problèmes ! =) Pas mal d'équipes avancées ont des problèmes d'odométrie et font parfois des trous dans les tables ! Donc c'est un point à bien faire et à ne pas négliger...
l'IMU toute seule pour de la position ça demanderait une double intégration ! Encore moins précis que l'odométrie toute seule ... Par contre pour l'angle c'est souvent plus précis ( quand bien calibré ) que de l'odométrie toute seule ... Du moins jusqu'à un certain point ... Certains ne jurent que par l'odométrie avec tant de points par tours de codeurs ... qu'ils arrive à surpasser la précision de l'IMU surtout qu'une Imu peut avoir de la dérive et du bias ...
Bref quand tu ajoutes une IMU tu peux soit te fier que à l'imu pour l'angle et récupérer les données codeurs pour l'avance du robot, soit " fusionner " les données d'angle fournies par l'IMU et celle par les codeurs. ( Valable quand le niveau de précision est suffisamment proche entre les deux ... Car si l'un est 1000 fois plus fiable que l'autre autant se baser uniquement sur le plus fiable que de chercher à fusionner les données ... ) Dans ce cas beaucoup de gens utilisent souvent un " filtre de Kalman " .
L'usage d'une IMU est d'autant plus pratique pour garder le cap même si un objet vient malencontreusement déplacer le robot ...
- Paire de roues folles codeuse
Afin d'améliorer l'odométrie on peut utiliser des codeurs sur des roues folle, cela permet entre autre de détecter un robot qui patine, d'autant plus pratique pour les grandes équipes qui cherchent à aller super vite sur la table et qui vont jusqu'à la limite de patiner ... Beaucoup d'équipe ne jure que par les roues folle codeuses. Si utilisé il est très important de bien mettre en place la mécanique de cet élément sinon c'est tout le robot qui peut partir en "vrille".
(
Bonus pour les robots omnidirectionnels
=>Odométrie visuelle en regardant le sol en utilisant le principe des souris optique ou des souris à boule : une des seuls technique d'odométrie valable sur les robot omnidirectionnels ( avec l'odométrie sur une roue folle comme celle des chariots de caddie avec des codeurs sur les 2 axes de rotations ... )
qui se combine bien avec l'IMU ...
)
- D'autres systèmes de localisation "externe"
=> Triangulation visuelle ( caméra embarqué sur le robot qui regarde à 360° avec un miroir ou un super fish eye )
=> Triangulation par ultrasons ( technique intéressant proposé par ashira sur le forum => Peut être utilisé pour détecter les adversaires )
=> Balise de positionnement UWB
=> Caméra de repérage déportée sur zone centrale + matrice de déformation de l'image pour replacer les robots + communication vers les robots
=> Balise IR avec code différents pour les 3 balises et un maximum de récepteurs répartis sur 360° séparé/cloisonné pour qu'un seul à la fois puisse capter le signal des balise
=> "Lidar qui scan à 360° " ou multiples capteurs de distance et gère la localisation en se repérant sur les bords de la table ou sur les balises.
Pour finir un exclus : Le GPS / GPS RTK etc...
Super en extérieur dans les grandes zone et tout, bien entendu inutilisable pour la coupe de robotique qui se déroule en
Si c'est votre premier robot je recommande de commencer par du simple et de faire de la boucle ouverte avec recalage ... à moins que vous ayez vraiment du temps à y consacrer / que vous souhaitez vraiment vous y mettre.
Dans ce cas là si vous êtes dans le cadre d'un robot avec deux roues motrices on commence dans l'ordre cité (en sautant le bonus ) en allant même jusqu'à ajouter un système externe !
Si vous faites un robot omnidirectionnel là ... c'est soit boucle ouverte avec éventuellement l'imu, en bonus le bonus et sinon en top un système de localisation "externe" .