Ce repo est destiné à compiler et partager les ressources (cours/vidéos/composants/discussions/liens) en lien avec la compétition Eurobot. Les cours, en PDF de préférence, sont sauvegardés sur le repo afin d'assurer leur longévité.
Les ressources trop générales qui sont faciles à trouver sur le net (cours pour débutant en programmation, etc) n'ont pas grand intérêt à être ici, on essaye de se concentrer sur des choses très concrètes pour Eurobot.
Vous pouvez contribuer à cette maxi liste:
- en créant une Pull Request: vous vous débrouillez pour mettre la ressource au bon endroit et avec la mise en page qui va bien
- en créant une Issue: on se charge de tout mettre en page au bon endroit
Merci aux équipes pour ces documents et aux contributeurs de cette liste !
(Si un document vous appartient et que vous souhaitez le faire retirer, merci de nous contacter.)
- Sommaire
- 1. Introduction
- 2. Ressources spécifiques à Eurobot
- 2.1 Pour bien commencer
- 2.2 Odométrie
- 2.3 Roues
- 2.4 Moteurs
- 2.5 Asservissement
- 2.6 Robot holonome
- 2.7 Balises
- 2.8 Batteries
- 2.9 Simulation
- 2.10 Planificateur de trajectoire et évitement
- 2.11 Intelligence artificielle
- 2.12 Communication sans-fil
- 2.13 Architecture des robots
- 2.14 Table et les elements de jeu
- 3. Microcontrôleurs, ordinateur à carte unique, IDE
- 4. Logiciels de CAO
- 5. Actionneurs, capteurs, connectique
- 6. Sites internet marchands et services
- 7. Liens
Avant de commencer dans le vif du sujet, n'hésitez pas à rejoindre le discord qui est ouvert pour tous les participants de la coupe: Eurobot - CDR. Beaucoup d'équipes sont là pour papoter robotique, vous donner des conseils, partager leurs dernière trouvailles mais aussi pour s'amuser sur des jeux.
Si c'est votre première participation à la coupe et que vous arrivez ici, ne vous inquiétez pas au vu de la longueur de ce document, il n'y a pas besoin de connaître par cœur la moindre référence listé ici ^^
On part du principe que vous avez au moins les bases en électronique et/ou en programmation. Il n'y a pas de cours pour débutant ici, ce sont des ressources faciles à trouver sur le net.
Les 3 conseils les plus importants du VRAC:
- avoir une base roulante fiable qui permet un positionnement correct du robot (à environ 1cm près). Une base différentielle avec 2 moteurs pas a pas est le moyen le plus simple d'avoir une bonne base roulante, il n'y a même pas besoin d'odométrie ni d'asservissement!
- étudier le règlement pour faire juste 2-3 actions facile avec un actionneur simple mais qui rapportent des points à coup sur. Cela permet d'éliminer les actions trop complexes qui sont plus destinée aux équipes confirmés qui ont de l'expérience.
- terminer le robot au MINIMUM 1 mois avant la compétition!. Cette dernière phase qu'on peut penser courte va en fait révéler pleins d'imprévus/soucis qu'il faut corriger, dans l'idéal c'est plus 2-3 mois qu'il faut pour bien finaliser le projet.
Les dix commandements version OMyBot est une version plus concrète avec des conseils spécifiques pour la coupe.
N'hésitez pas à chercher/regarder ce qu'on fait les les autres équipes les années précédents, c'est motivant et ça peut donner de nouvelles idées d'actionneurs/stratégies:
- Les matchs de la Coupe de France: Chaîne YouTube Planète Science:
- Les matchs de la Coupe de Belgique Robotix's: Chaîne YouTube SPARKOH!
- Portail des sites web des équipes par PM-ROBOTIX
Asservissement: Système dont le but est d'atteindre le plus rapidement possible sa valeur de consigne et de la maintenir, quelles que soient les perturbations externes.
Billes porteuses / Billes folles: Permettent de faire un point de contact avec le sol. Principalement utilisés aux 4 extrémités des robots à roues différentielles.
LiDAR: Télémètre laser à balayage, il permet de récupérer des un nombre de points sur un plan. Il est utilisé pour la détection des mats de balise et donc pour récupérer la position des concurrents. Il peut également être utilisé au niveau du sol pour récupérer la position des éléments de jeu ou mieux détecter le gabarit des robots concurrents.
Odométrie: Technique d'utilisation des données de capteurs permettant d'estimer la position du robot. Utilise généralement les 2 roues codeuses pour estimer la position mais peut également être faite avec un lidar.
Roue holonome: Roue constituée de galets répartis sur sa périphérie, elles peuvent donc se déplacer dans toutes les directions.
Roues codeuses / odométrie: Roues souvent monté sur un pivot ou une glissière afin de toujours maintenir un contact avec le sol. Ces roues sont équipées d'encodeurs qui permettent une mesure de rotation pour le calcul de l'odométrie.
Tutos Robot en Carton
Comment on peut facilement fabriquer un robot pour participé la coupe et évidement bien s'amuser en créant des robots ^^
RCVA: Réflexions sur un robot Eurobot en 9 chapitres
- Rappels cinématiques et définition du coefficient d’adhérence
- Etude du phénomène de glissement en phase accélération
- Choix d’un profil de vitesse
- Les lois mécaniques et thermiques dans un moteur
- Condition de glissement en cas de blocage du robot
- Choix de la vitesse et de l’accélération
- Essais avec enregistrements
- Asservissement
- Quelques questions réponses
Cubot: Asservissement polaire en 6 chapitres
- Cas de charge
- Odométrie
- Calibration de l'odométrie
- Calcul de la consigne
- Calcul des rampes de vitesse
- PID
- Synthèse
PDF - Atelier asservissement polaire
- WEB - CVRA - Odometry calibration
- VIDEO - Robotic-System - Calibrage de l'odométrie
- PDF - RCVA - Odométrie avec correction centrifuge
- PDF - RCVA - Trajectoires courbes et odométrie, De l’importance de la différence de diamètre des deux roues codeuses
- VIDEO - RCVA - comparaison approximation linéaire/circulaire, correction centrifuge
- VIDEO - RCVA - odométrie
- WEB - Erich Styger - Making Perfect Sticky DIY Sumo Robot Tires
- FORUM - Robotech Legends - Moulage de pneus en polyuréthane
- VIDEO - Barbatronic - Moulage de pneus en silicone
- VIDEO - Micro Technology - test d'adhérence des roues
- WEB - RobotShop - Outil de Dimensionnement d'un moteur d'entraînement
- PDF - ANCR - Dimensionner ses moteurs
- PDF - TechTheTroll - Dimensionnement des moteurs de propulsion
- WEB - PM Robotix - Asservissement et pilotage de robot autonome
- WEB - PM Robotix - Améliorer vos régulateurs PID
- PDF - totofweb - Le PID utilisé en régulation de position et/ou de vitesse de moteurs électriques
- PDF - Microb Technology - Documentation de l'asservissement, librairie Aversive, évitement
- PDF - RCVA - Asservissement du robot à une trajectoire
- PDF - RCVA - Montée de tremplin par le robot RCVA sans terme intégral
- VIDEO - RCVA - Asservissement en rotation avec un gyromètre ADXRS453
- VIDEO - RCVA - cours asservissement polaire
- PDF - TechTheTroll - Les trajectoires courbes dans la bonne humeur: de l’asservissement à la planification
- WEB - Implémenter un PID sans faire de calculs ! - Ferdinand Piette
- WEB - Poivron Robotique - localisation (partie 1 - faisabilité)
- WEB - Poivron Robotique - localisation (partie 2 - les équations)
- WEB - Poivron Robotique - lois de commande
- PDF - totofweb - Balise infrarouge
- WEB - Barbatronic - Reflective lidar for robotic and the Eurobot competition
- PDF - CVRA - Development of an ultra-wide band indoor positioning system
- PDF - CVRA - Balises laser Eurobot 2008
- PDF - Microb Technology - Faire des balises laser en buvant des bières
- VIDEO - ESEO - localisation par balises infrarouges
- LIBRAIRIE- The Kraken Pathfinding - A tentacle-based pathfinding library for nonholonomic robotic vehicles
- LIBRAIRIE - PythonRobotics: Python sample codes for robotics algorithms
- WEB - Robotech Legends 2019
- Librairie diagrams.net par @kmikaz51 pour dessiner votre propre architecture.
IDE:
- VSCode/Atom/CLion/Eclipse/SublimeText/Emacs/Vim + extension PlatformIO
- Arduino IDE
- Visual Studio Code + extension Arduino
Frameworks/RTOS:
- LL, HAL, CMSIS
- Arduino core for STM32
- Mbed OS: open-source operating system for platforms using Arm microcontrollers
- libopencm3: open-source firmware library for various ARM Cortex-M microcontrollers
- ChibiOS: complete development environment for embedded applications including RTOS, an HAL, peripheral drivers, support files and tools.
- Luos Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
- modm: a barebone embedded library generator, C++23 library generator for AVR and ARM Cortex-M devices
- Zephyr: Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
IDE:
- VSCode/Atom/CLion/Eclipse/SublimeText/Emacs/Vim + extension PlatformIO
- STM32CubeIDE
- Keil Studio Cloud: a modern browser-based IDE for Mbed development with compilation, code completion, linting and browser debugging. Fully compatible with Mbed OS 5 and 6 and Mbed 2. Attention cependant à avoir une solution de secours lors de la coupe au cas où il serait en maintenance quelques heures
- Mbed Studio
- Mbed CLI 2 (mbed-tools), install
IDE:
- VSCode/Atom/CLion/Eclipse/SublimeText/Emacs/Vim + extension PlatformIO
- Arduino IDE + extension Teensyduino
Cartes de développement Espressif, Modules Espressif
Frameworks:
- Arduino core for ESP32
- ESP-IDF: Official development framework for Espressif SoCs.
IDE:
- VSCode/Atom/CLion/Eclipse/SublimeText/Emacs/Vim + extension PlatformIO
- Arduino IDE
Raspberry Pi Pico Powerful, flexible microcontroller boards, available from $4 RP2040 High performance. Low cost. Small package.
- WEB - Poivron Robotique - Les documents important
- WEB - Poivron Robotique - Installer le compilateur sous Debian 11
- WEB - Poivron Robotique - Créer son projet
- WEB - Poivron Robotique - S'installer confortablement avec VS Code
librairies:
IDE:
Board-DB The Single Board Computer Database: comparison website for any single-board computer (SBC), module (SoM) and Linux-supported development board.
Visualisation de données:
- Serial Port Plotter: windows application that displays real time data from serial port, built with Qt
- PlotJuggler: affichage de données, intégration avec ROS
- extension Teleplot pour VSCode: par @nesnes. Plots telemetry sent over Serial or UDP Packets.
Terminaux:
- ScriptCommunicator: Terminal multiplateforme scriptable pour port série, UDP/TCP, SPI, I2C et CAN
- YAT: Yet Another Terminal: Terminal pour Windows RS-232/422/423/485, UDP/TCP, USB Serial
- MobaXterm: Terminal amélioré pour Windows , client SSH à onglets, outils réseau, ..
- KiCad: Open Source Schematic Capture & PCB Design Software
- LibrePCB: LibrePCB is a free & open-source software.
- Horizon EDA: Open Source Electronic Design Automation package for printed circuit board design
- EasyEDA: Online PCB design & circuit simulator
- Altium Designer
- Eagle
- Alegro PCB Designer
Outils:
- PCB Panelizer & Gerber tool suite
- PCB CheckList: Une checklist qui permet de vérifier si on à pas fait une erreur lors de la conception
- Fusion 360
- SolidWorks
- FreeCAD
- OpenSCAD: The Programmers Solid 3D CAD Modeller
- SolveSpace: parametric 2d/3d CAD
Contrôleurs de moteurs brushless:
- SimpleFOC: Arduino Compatible Open Source Field Oriented Control (FOC)
- oDrive
- MJBOTS moteus
- Flipsky ODESC
servomoteurs classiques:
Servomoteurs intelligents:
- encodeur rotatif à effet Hall AMS
- encodeur rotatif capacitifs CUI
- encodeur rotatif optique Kubler
- encodeur rotatif optique Broadcom - par exemple, HEDR-5421-EP111 à monter à l'arrière des moteurs
- encodeur rotatif inductif POSIC
- SICK: UM18 utilisé à la coupe
- Baumer: UNAM, UNDK utilisé à la coupe
- Pepperl+Fuchs
Capteurs ToF STMicroelectronics
- Slamtec RPLIDAR A2: Utilisé par de nombreuses équipes à la coupe
- Pepperl+Fuchs: R2000 utilisé à la coupe
- Inno-maker LD06
- Hokuyo URG-04LX-UG01
- SICK TiM5xx
- Ydlidar X4
Composants mécanique:
- Misumi: composants mécanique configurables, visserie, bruts, ..
- Motedis: profilées aluminium 2020, bruts alu, ..
- MakerBeam: profilées aluminium 1010, 1515, glissières, ..
- Systeal: profilées aluminium, ..
- Technic-Achat: profilées aluminium 2020, ..
- 123-Roulements
- QualiChutes: chutes acier, aluminium, plastiques, ...
Plastiques:
Composants électroniques:
Fabricants:
Distributeurs:
- Robot Maker: 10% de réduction pour les associations qui participent à la coupe de France
- GoTronic
- Lextronic
- RS Components
- RobotShop
- Conrad
- Distrelec
- Antratek
- Watterott
- goBILDA
- Aisler: Made in Germany
- Eurocircuits PCB prototypes & Small series, manufactured and assembled in Europe
- OSHPark Made in the USA
- JLCPCB, JLC PCB SMD Assembly Component Catalogue: Better parametric search for components available for JLC PCB assembly
- PCBWay
- Seeed Studio
- PCBShopper A price comparison site for PCB
Batteries, chargeurs, moteurs, servos, roues, ...
Découpe laser, impréssion 3D, fraisage, tournage, ...
- Tolery - Fabrication en ligne de pièces métalliques sur-mesure: découpe laser tôle/tube, usinage, pliage, thermolaquage, soudure
- JohnSteel
- Usineur.fr
- Protolabs
- Xmake
- Usinage boîtier
- APB Team
- ARIG
- CVRA
- ESEO
- EsialRobotik
- GRUM
- Les Karibous
- Mecapitronic
- Microb Technology
- Poivron Robotique
- UTCoupe
- APB Team
- Arig
- CVRA
- ESEO
- ESIALRobotik
- Goldorak
- Les Karibous, Barbatronic, Adrien Bracq
- Microb Technology
- RCVA, jacques coulon
- TURAG e.V.
- VRAC, monowii
Tables de jeux, vidéos, règlements de 1994 à aujourd'hui par PM-ROBOTIX
Github cajt/list_of_robot_electronics A list of resources, projects and products useful for robot electronics (Motor drivers, Actuators, Battery Management, )
Connecteurs/Sertissage:
- Common wire-to-board, wire-to-wire connectors, and crimp tools
- DuPont and “DuPont” connectors
- Common JST Connector Types
- The Electronic Connector Book: A practical guide and catalog of all the connecting components used in the electronic industry.
- Identiconn Identiconn™ Connector Identification Utility.
Bibliothèque de fichiers 3D mécanique:
- GrabCAD: Free CAD Designs, Files & 3D Models maby by the community
- Traceparts: Free 3D models, CAD files and 2D drawings
- VRAC SolidWorks library
Bibliothèque d'empreintes et de symboles électronique:
- SnapEDA Free PCB Footprints and Schematic Symbols
- VRAC KiCad library
Forums robotique:
Equipes Eurobot (non listés sur le portail des équipes PM-ROBOTIX):
Electronique:
- WEB - Texas Instruments - Design tools & simulation: conception de filtres, architecture d'arbres d'horloges, ..
- LS7366R 32-bit quadrature counter with serial interface
- Texas Instrument LM628/LM629: CI dédié l'asservissement d'un moteur, commande en position/vitesse/accélération
- The ultimate SMD marking codes database Identifty SMD part by the short marking
Courroie/Guidage mécanique:
- Générateur en ligne de roue à courroie, roues dentées, crémaillères: fichiers de CAO téléchargeables pour les imprimer en 3D ou les commander
- Générateur de courroie GT2 imprimable en 3D avec Fusion 360
- Système de guidage linéaire motorisé, conçu pour être fabriqué avec de la découpe laser et de l'impression 3D
Impression 3D:
- Print Quality Troubleshooting Guide: Warping, Dimensional Accuracy, Layer Separation and Splitting, ...
Logiciel:
Littérature:
- Elements of Robotics, Mordechai Ben-Ari, Francesco Mondada, 2018, Open Access
- PDF - Rich LeGrand - Closed-Loop Motion Control for Mobile Robotics: un Game Boy Advance, des roues holonomes, des legos et hop une base mobile
- La RACHE, une méthodologie réaliste mais formaliste - par Sukender, Système d'unités pifométriques
- PDF - High-Precision Robot Odometry Using an Array of Optical Mice