Designing a Robot Programming Challenge for University Students
Table of Contents
Comprendre les objectifs
Avant de concevoir un défi de programmation robot, les éducateurs doivent définir des objectifs clairs qui s'harmonisent avec les résultats d'apprentissage ou avec des objectifs éducatifs plus larges, notamment la mise au point d'algorithmes pour la navigation, l'évitement des obstacles ou l'exécution des tâches. L'établissement de résultats d'apprentissage mesurables aide à créer des tâches pertinentes qui mettent en doute les étudiants et favorisent le développement des compétences. Par exemple, vous pouvez viser des étudiants à démontrer leur compétence en matière d'intégration des capteurs, de prise de décisions en temps réel ou de coordination multirobots en collaboration.
Conception des tâches du défi
Les défis efficaces devraient être réalisables et stimulants, ce qui devrait permettre de faire une courbe de difficulté progressive.
- Navigation par érosion – exiger du robot qu'il traverse de façon autonome un labyrinthe inconnu en utilisant des algorithmes de recherche de la suite de murs ou de la première largeur. Inclure des extrémités mortes et des boucles pour tester la mémoire et l'adaptation.
- Reconnaissance et tri des objets – équiper le robot d'une caméra ou LiDAR pour identifier les formes ou objets colorés et les trier dans des zones désignées. Ceci enseigne les bases de la vision informatique et la planification de manipulation.
- Ligne suivante – tâche classique de suivi de ligne avec obstacles, intersections et épaisseur de ligne variable pour tester la robustesse contre les changements d'éclairage et le bruit des capteurs.
- Missions de secours simulées – naviguer dans un scénario de catastrophe, localiser -victims (par exemple, des balises infrarouges) et revenir à une base. Cela intègre la planification du chemin, la fusion des capteurs et la gestion du temps.
- Pick-and-place – utiliser un bras robotisé ou une pince pour transférer des objets d'un endroit à l'autre tout en évitant les obstacles.
Chaque tâche doit préciser les objectifs, les contraintes et les critères d'évaluation pour assurer la clarté et l'équité.Par exemple : -Naviguer de la zone de départ à la cible verte en moins de 90 secondes, en évitant les obstacles noirs.Les robots qui touchent un obstacle reçoivent une pénalité de 10 secondes.
Niveaux de difficulté progressifs
Pour tenir compte des niveaux de compétence variés, structurez le défi en fonction des niveaux suivants :
- Débutant: Ligne suivant avec des virages simples; aucun obstacle n'est requis. Tâche : suivre un ruban noir de 2 cm sur la surface blanche à travers deux courbes douces en 2 minutes. Pas de pénalité pour les déviations mineures.
- Intermédiaire: Navigation par labyrinthe avec détection de boucle ; doit utiliser au moins un capteur (par exemple, ultrasonore ou IR). Tâche : atteindre le centre d'un labyrinthe 4x4 avec deux extrémités mortes. Limite de temps 5 minutes. Les collisions avec les murs subissent une pénalité de 5 secondes chacun.
- Avancé: Mission multi-objectifs combinant reconnaissance d'objets, planification dynamique du parcours et tâches de coopération entre deux robots. Tâche : un robot cartographie une arène de 10m2 tandis que l'autre identifie et récupère trois blocs colorés en position aléatoire, puis se rencontrent dans un dépôt désigné. Limite de temps 12 minutes.
Les tâches à niveaux permettent de défier tous les participants sans être dépassés et de différencier les juges en fonction de leur difficulté choisie. Offrir des points bonus pour compléter un niveau supérieur après avoir terminé le niveau inférieur encourage l'ambition.
Développement de l'environnement de la concurrence
Choisissez une plateforme adaptée au défi, comme un robot physique ou une simulation virtuelle. Gazebo ou Webots Les robots physiques, par contre, présentent des défis réels comme la gestion de la batterie, le bruit des capteurs et l'usure mécanique, qui peuvent être utiles pour les cours de niveau supérieur. De nombreux concours combinent à la fois : l'utilisation de simulations pour les cycles de qualification initiaux et les robots physiques pour les finales, comme le montre le rapport entre les résultats de la recherche et les résultats de la recherche. RoboCup Pour les configurations avancées, les simulations basées sur le cloud (par exemple, AWS RoboMaker) permettent aux équipes de soumettre du code à distance et de recevoir des journaux de performance.
Kits matériels
Si vous utilisez des robots physiques, standardisez-vous sur une plateforme comme Pololu , 3pi+, les robots à base d'Arduino, ou Riz de framboise- châssis entraîné. Fournir une facture de matériaux qui comprend des capteurs essentiels (ultrasoniques, capteurs de ligne, encodeurs) et des actuateurs (moteurs, servomoteurs). Pour garder les coûts gérables, envisager des kits de prêt ou des dons de sponsor. Pour les défis virtuels, fournir des images Docker avec des environnements ROS préconfigurés afin que les étudiants puissent se concentrer sur le développement d'algorithmes.
Création de règles et de critères d'évaluation
Établir des règles claires pour assurer l'équité, y compris les délais, les spécifications du robot (dimensions maximales, poids, puissance) et les langages de programmation autorisés (communément Python ou C++).
- Précision: nombre de sous-tâches correctement remplies (par exemple, trier trois objets donne 30 points).
- Efficacité: temps écoulé pour terminer la mission, avec des points bonus pour battre un point de repère.
- Robuste: performance constante sur plusieurs parcours (utilisation moyenne et écart type).
- Travail d'équipe et documentation: les juges peuvent attribuer des points pour la lisibilité du code, des commentaires et une courte démonstration vidéo.
Voici un exemple de règles qui peuvent être adaptées:
- Chaque équipe peut soumettre un robot et une pile de logiciels. Les équipes se composent de 2 à 4 membres.
- La programmation doit être effectuée en Python ou en C++. ROS est autorisé mais non requis.
- La durée de chaque tâche est de 10 à 15 minutes, selon la complexité. L'horloge commence quand le robot quitte la zone de départ et s'arrête quand il revient.
- Les robots doivent fonctionner de manière autonome. Aucune télécommande, téléopération ou intervention humaine, sauf pour les arrêts d'urgence.
- Tout dommage physique à l'arène ou à d'autres robots entraîne une disqualification immédiate de ce tour. L'éclatement de la cravate est basé sur les points totaux de la rubrique, puis le temps le plus rapide.
- Un maximum de deux tentatives par tâche; le meilleur score compte.
Exemple de la valeur de la valeur de la rubéole
Pour rendre l'évaluation transparente, publiez une rubrique détaillée avant le concours.
| Critère | Paragraphes | Désignation des marchandises |
|---|---|---|
| Achèvement des tâches | 50 | Robot atteint la zone de but dans le délai prescrit; des pénalités pour collisions. |
| Reconnaissance des objets | 20 | Classer correctement les 3/3 objets; crédit partiel pour 2/3. |
| Efficacité de l'algorithme | 15 | Le temps de course inférieur à 60 s obtient des points complets; échelle coulissante (p. ex. 10 points pour 90s). |
| Structure du code | 10 | Conception, commentaires et traitement des erreurs modulaires; code examiné par les juges. |
| Présentation de l'équipe | 5 | Brève démonstration et séance de questions et réponses avec les juges; clarté des explications. |
Encourager l'innovation et la collaboration
Par exemple, les équipes peuvent ajouter des capteurs supplémentaires (jusqu'à une limite budgétaire) ou mettre en oeuvre de nouvelles stratégies de planification du parcours (comme RRT* ou A* avec heuristique). La promotion du travail d'équipe favorise la collaboration et diverses approches de résolution de problèmes, enrichissant l'expérience d'apprentissage. Organiser des séances de mentorat avec des professionnels de l'industrie ou des étudiants diplômés pour aider les équipes à déboguer et à affiner leurs approches.
Favoriser une communauté
Créer un forum ou un canal Slack où les équipes peuvent poser des questions (dans le cadre de lignes directrices sur l'équité) et partager des idées non-compétitrices. Organiser un hackathon à mi-course ou un atelier en ligne sur des sujets comme l'étalonnage des capteurs et le débogage. Ces activités de renforcement communautaire réduisent la frustration et maintiennent la motivation élevée, surtout pour les équipes qui luttent au début. De plus, inviter les précédents gagnants à partager leur processus de conception et des conseils pour réussir.
Considérations relatives à la mise en œuvre
Pour relever un défi de programmation robotisé réussi, il faut une logistique prudente. Allouer au moins 8 à 12 semaines de préparation aux participants, avec des jalons :
- Semaine 1–2: Configuration matérielle, mouvement de base et lecture des capteurs. Fournir un code de démarrage pour la commande du moteur.
- Semaine 3-4: Première tâche (ligne de navigation simple ou suivant). Conduire une séance de pratique avec les juges.
- Semaine 5-6: Intégration de la détection d'objets et de l'évitement des obstacles.
- Semaine 7–8: Pleine mission, débogage et optimisation.
- Semaine 9-10: Des courses sèches et des réglages finaux avant la journée de compétition.
Le jour de la compétition, planifier plusieurs rondes afin que les équipes aient la chance de se remettre des échecs précoces. Fournir des manuels de règles imprimés et des feuilles de notation aux juges et aux équipes. Prévoir au moins deux bénévoles par aréna pour réinitialiser les objets et contrôler le timing. Utilisez un système d'adresse publique pour les annonces et les comptes à rebours pour maintenir l'énergie élevée.
Lignes directrices en matière de sécurité et d'éthique
Mettre l'accent sur la sécurité : exiger des boutons d'arrêt d'urgence sur tous les robots, limiter les tensions de la batterie à des niveaux sûrs (p. ex., sous 36V DC) et interdire tout code malveillant qui pourrait nuire à d'autres robots ou à l'arène. Discuter de considérations éthiques comme la protection des données si l'on utilise des caméras et l'équité de l'avantage matériel.
Mesurer l'impact et la rétroaction
Après le défi, recueillez des commentaires au moyen d'enquêtes ou d'entrevues de sortie. Demandez-vous sur la difficulté des tâches, la clarté des règles, la disponibilité de l'aide et les compétences acquises par les étudiants. Partagez ces idées dans un rapport post-événement pour améliorer les éditions futures. De plus, suivez les résultats des diplômés : de nombreux étudiants citent les concours de robotique comme catalyseur pour poursuivre des études supérieures ou des carrières dans l'automatisation, les véhicules autonomes ou les systèmes intégrés.
Conclusion
Concevoir un défi de programmation robot pour les étudiants universitaires est une façon enrichissante de combler les connaissances théoriques et les compétences pratiques. En fixant des objectifs clairs, en créant des tâches engageantes et en favorisant l'innovation, les éducateurs peuvent inspirer la prochaine génération d'ingénieurs robotiques. Un défi bien organisé non seulement améliore la compétence technique dans le codage, l'intégration des capteurs et la conception d'algorithmes, mais cultive aussi des compétences douces comme le travail d'équipe, la résilience et la gestion du temps.Avec une planification soignée – couvrant l'environnement, les règles, l'évaluation et le soutien communautaire – le défi devient une expérience d'apprentissage mémorable qui motive les étudiants à repousser les limites de leurs robots.