2018 - CVRA

Partagez votre expérience en expliquant comment vous travailler sur votre robot.
Share your experience by explaining how you work on your robot.
User avatar
romain_cvra
PMI
Posts: 1117
Joined: Sat 30 Jun 2007, 16:17
Location: suisse
Contact:

2018 - CVRA

Post by romain_cvra » Thu 21 Jun 2018, 12:38

Bonjour à tous,

Retrouvez quelques explications sur nos robots 2018 directement sur notre site internet : https://www.cvra.ch/coupe/2018.html

La CAO complète et une visualisation 3D de nos robots est disponible en ligne sur Grabcad : https://grabcad.com/library/robots-for- ... petition-1

Notre code est en open source sur Github : https://github.com/cvra

Highlight : https://youtu.be/tclrolklneA
Playlists de nos matches 2018 : https://www.youtube.com/playlist?list=P ... OX5JStDOJp

N'hésiter pas si vous avez des questions, on y répondra avec plaisir ! :D

Image

Image
Attachments
DSC_1218.JPG
DSC_1218.JPG (82.62 KiB) Viewed 283 times
Site web : http://www.cvra.ch.
Le code source : GitHub
Visualisation CAO 3D de nos robots : GrabCAD

arno
PMI
Posts: 717
Joined: Wed 23 Jun 2004, 21:51
Location: Un peu partout...

Re: 2018 - CVRA

Post by arno » Fri 22 Jun 2018, 22:13

Merci pour le partage !
Toujours génial de voir votre méca des bras 8)
romain_cvra wrote:
Thu 21 Jun 2018, 12:38
N'hésiter pas si vous avez des questions, on y répondra avec plaisir ! :D
Le forum est bien calme en ce moment... donc je vais ouvrir les festivités.

Sur le soft, j'ai vu plusieurs choses que vous utilisiez. Si vous pouvez me donner un retour d'experience ou un avis dessus, je serais intéressé:

* vous utilisez libopencm3, visiblement sur des STM32. Qu'en avez vous pensé ? Le conseilleriez vous ?
* J'ai vu passer des balises UWB à base de Decawave DW1000. Vous les utilisiez en mode two-way ranging pour entre les robots pour l'évitement ? entre les robots et les balises pour la localisation ? Pour autre chose ? Quels résultats et fiabilité avez vous obtenus ?
* Dans la présentation du bootloader CAN, vous avez "all (>20) boards". Je crois que c'est un nouveau records ! :wink: C'est pour tout l'ensemble robots et balises, où dans un seul robot ?

Je laisse les autres continuer les questions, dès qu'ils ont auront retrouvé l'adresse du forum :lol:

antoine_cvra
Posts: 444
Joined: Mon 27 Aug 2007, 18:05
Location: Suisse

Re: 2018 - CVRA

Post by antoine_cvra » Sat 23 Jun 2018, 20:19

Salut arno,
arno wrote:
Fri 22 Jun 2018, 22:13
* vous utilisez libopencm3, visiblement sur des STM32. Qu'en avez vous pensé ? Le conseilleriez vous ?
Donc on a libopencm3, effectivement sur des STM32. Par contre on ne s'en sert que pour notre bootloader, et pas dans le code "application" des cartes. Pour cette partie on utilise ChibiOS, qui comprend aussi un ensemble de drivers qui sont bien mieux intégré dans le noyau temps réel. Par exemple, les interrupts et le DMA sont gérés de manière transparente avec ChibiOS, alors que avec libopencm3 c'est beaucoup plus "low-level". Ca accélère pas mal le développement, mais ca augmente aussi la quantité de mémoire flash nécessaire. Vu que notre bootloader doit être le plus lightweight possible, libopencm3 est plus adapté. En conclusion: On trouve que c'est une librairie cool et qui fait bien son boulot, mais on ne s'en sert pas beaucoup :)
arno wrote:
Fri 22 Jun 2018, 22:13
* J'ai vu passer des balises UWB à base de Decawave DW1000. Vous les utilisiez en mode two-way ranging pour entre les robots pour l'évitement ? entre les robots et les balises pour la localisation ? Pour autre chose ? Quels résultats et fiabilité avez vous obtenus ?
T'as l'oeil :wink: En fait on ne s'en sert pas encore beaucoup. Le système marche, on arrive à positionner un robot avec, mais on a des soucis de fréquence de rafraichissement, donc c'est encore en développement on dira. Ceci dit les premiers résultats sont plutôt encourageants et on va bosser dessus cet été et l'année prochaine. J'avais pu faire une partie du projet pour un cours à l'université, j'ai mis le rapport final en pièce jointe. Il contient quelques mesures de performance, et explications sur l'algo.

Par contre on avait mis une balise dans le panneau domotique pour confirmer qu'il s'était bien allumé et détecter si l'adversaire le coupait. On a jamais pu s'en servir, mais ca marchait bien en test :D
arno wrote:
Fri 22 Jun 2018, 22:13
* Dans la présentation du bootloader CAN, vous avez "all (>20) boards". Je crois que c'est un nouveau records ! C'est pour tout l'ensemble robots et balises, où dans un seul robot ?
Alors voilà le détail, par robot on est pile à 20:
  • 2 cartes pour la base roulante
  • 2 pour les "mains" sur le côté
  • Une carte en bout de bras pour mesurer la présence d'un cube
  • 3 cartes pour le bras
  • 1 carte pour le servo pour tourner le bout du bras pour une tour de 5 (jamais utilisé en match)
  • 4 pour le bras
  • 4 cartes pour les pompes
  • 1 carte pour le canon
  • 1 carte pour la balise catadioptre
  • 1 carte pour UWB
  • 1 carte pour le haut niveau (strat, odométrie, lcd, etc.). Celle ci est pas gérée par le bootloader, vu qu'on a souvent besoin de brancher un debugger.
Mais c'est pas un record, il me semble que en 2016 on était à 32 cartes dans notre grand robot de mémoire :lol: Faut dire que une fois que ton bus marche bien, tu te prive moins pour ajouter des trucs dessus.

Je conseillerais pas forcément l'expérience à tout le monde ca nous a bien pris 3 ans pour avoir quelque chose qui marche bien, et les deux premières années ca ne marchait vraiment pas (pas homologué, puis dernier à la coupe de suisse). Ceci dit si tu peux investir le temps de développement, bah c'est fou la modularité que tu gagne. Par exemple dans le canon on a du rajouter un moteur d'abord, puis un moteur asservi, puis un capteur. Bah sans bus, suivant le niveau de modularité que tu as, ca sera galère.
Attachments
AntoineAlbertelli_UWB_Positioning.pdf
Rapport de projet
(2.14 MiB) Downloaded 10 times

arno
PMI
Posts: 717
Joined: Wed 23 Jun 2004, 21:51
Location: Un peu partout...

Re: 2018 - CVRA

Post by arno » Sun 24 Jun 2018, 00:46

Merci pour les réponses et le rapport sur le balises.

Très intéressant comme lecture !
Si tu veux la preuve que je l'ai lu avec attention, tu mentionnes un STM32F411 dans la liste du hardware au début, alors que le schéma de fin comporte un STM32F405 :wink:
antoine_cvra wrote:
Sat 23 Jun 2018, 20:19
Par contre on avait mis une balise dans le panneau domotique pour confirmer qu'il s'était bien allumé et détecter si l'adversaire le coupait. On a jamais pu s'en servir, mais ca marchait bien en test :D
Ca c'est malin comme idée!
antoine_cvra wrote:
Sat 23 Jun 2018, 20:19
Mais c'est pas un record, il me semble que en 2016 on était à 32 cartes dans notre grand robot de mémoire :lol: Faut dire que une fois que ton bus marche bien, tu te prive moins pour ajouter des trucs dessus.
Ah oui, quand même !
La multiplication des cartes aide certe à la modularité, mais il me semble qu'il y a quand même un moment où cela commence a créer des problèmes de coût et d'encombrement. J'aurais personnellement placé la limite avant :D
antoine_cvra wrote:
Sat 23 Jun 2018, 20:19
Je conseillerais pas forcément l'expérience à tout le monde ca nous a bien pris 3 ans pour avoir quelque chose qui marche bien, et les deux premières années ca ne marchait vraiment pas (pas homologué, puis dernier à la coupe de suisse).
C'est l'histoire de la plupart des bonnes équipes : un système éprouvé et fiabilisé avec le temps.


Sinon, en jettant un oeil sur votre grabcad, je suis tombé sur un plateforme différentielle de 2014 : https://grabcad.com/library/differentia ... le-robot-1
Est-ce toujours sur cette base que vous faites vos robots ? La roue codeuse omnidirectionnelle au centre du robot était destiné à mesurer le glissement latéral je suppose. Étais-ce pour la détection de chocs, ou pour compenser l'embardée en virage ?

antoine_cvra
Posts: 444
Joined: Mon 27 Aug 2007, 18:05
Location: Suisse

Re: 2018 - CVRA

Post by antoine_cvra » Sun 24 Jun 2018, 10:31

arno wrote:
Sun 24 Jun 2018, 00:46
Si tu veux la preuve que je l'ai lu avec attention, tu mentionnes un STM32F411 dans la liste du hardware au début, alors que le schéma de fin comporte un STM32F405
:oops: :oops: Donc oui c'est bien un STM32F405, my bad.
arno wrote:
Sun 24 Jun 2018, 00:46
Ca c'est malin comme idée!
Merci :) On l'a bricolé un soir à la Roche sur Yon, donc c'était vraiment pas prévu :D
arno wrote:
Sun 24 Jun 2018, 00:46
La multiplication des cartes aide certe à la modularité, mais il me semble qu'il y a quand même un moment où cela commence a créer des problèmes de coût et d'encombrement. J'aurais personnellement placé la limite avant
Pour la question de l'encombrement je suis d'accord avec toi, encore que la modularité te permet de mettre ta carte à un endroit qui serait impossible autrement (par exemple dans le bras), et que du coup au final tu as plus de place disponible pour mettre un plus grand volume de carte... pas sur que la perte soit si importante.
Pour le coût c'est vrai que c'est vitre très cher, mais des cartes modulaires sont aussi plus réutilisables. On utilise encore nos cartes moteurs fabriquées pour la coupe 2015, ca compte aussi dans le budget.
arno wrote:
Sun 24 Jun 2018, 00:46
Est-ce toujours sur cette base que vous faites vos robots ? La roue codeuse omnidirectionnelle au centre du robot était destiné à mesurer le glissement latéral je suppose. Étais-ce pour la détection de chocs, ou pour compenser l'embardée en virage ?
C'est toujours le cas, même si elle évolue. Par exemple maintenant on a une plaque de base en acier au lieu d'alu pour descendre le centre de gravité. On a aussi enlevé cette fameuse roue centrale :wink: A la base on voulait s'en servir pour mesurer l'embardée en virage, mais on ne l'a jamais intégrée au soft...

Si jamais notre base actuelle est visible dans la CAO de nos robots 2018.

Post Reply