Changement de projet au Sirius Educational Center

Le premier changement de projet au Centre éducatif Sirius touche à sa fin . Habituellement, des changements pédagogiques ont lieu ici, au cours desquels les élèves se préparent à des olympiades de niveau russe et mondial. Par exemple, une équipe de mathématiciens a organisé des camps d'entraînement à Sirius avant les Olympiades mondiales . Il est prévu à l'avenir de faire de ce lieu l'un des principaux centres d'attraction pour les jeunes talentueux pour une intégration plus poussée dans des projets de haute technologie qui sont sur le compte spécial de l'État.

Équipe universitaire ITMOEn plus d'une large participation à des projets liés aux nanotechnologies, elle a travaillé avec des élèves de l'école sur plusieurs projets robotiques. Notre groupe était composé de 19 étudiants et 3 enseignants. À l'avance, nous avons déterminé les technologies de base et les caractéristiques de conception qui seront mises en œuvre au cours du projet. Certains projets sont axés sur l'automatisation de certains processus, et certains ont une composante visuelle plus créative. Pour créer des robots, il a été décidé d'utiliser le robotique TRIC . Des exemples d' utilisation de ce constructeur ont déjà été publiés ici .



Dès le début, nous avons essayé de diviser les élèves en groupes selon les compétences en programmation et en conception. Pour organiser le travail, nous avons utilisé le système de gestion de projet Trello . Puisque deux semaines et demie ont été allouées pour travailler sur des projets, le reste est allé à des événements récréatifs et organisationnels, et il y avait un nombre limité de tâches, Trello était assez content de nous. Tous les trois jours, nous avons rencontré les gars et fixé des tâches pour un nouveau sprint. Cela ne veut pas dire que cela a été fait selon tous les canons de développement dans les entreprises sérieuses, mais nous avons réussi à initier les gars aux bases de la gestion de projet. Ensuite, nous allons directement aux projets.

Le premier projet est lié à l'interaction homme-robot, tant du point de vue de la conception de l'apparence attrayante du robot que du point de vue de la communication avec une personne et du maintien de l'attention. Tout d'abord, les gars ont découvert l'utilisation de la technologie de reconnaissance vocale. Yandex SpeechKit a été utilisé pour cela , ce qui permet via une requête http de recevoir en réponse des variantes du texte reconnu, par ordre décroissant de probabilité de reconnaissance correcte. Sur le contrôleur TRIC lui-même, il existe un système Unix, et les développeurs ont fourni au système la possibilité de convertir du texte en parole. Pour cela , un synthétiseur vocal eSpeak est installé dans le système , qui exprime le texte souhaité.
Le programme principal a été implémenté sur Qt Script dans le système TRIK Studiopris en charge par les développeurs du concepteur, et la partie avec le transfert du fichier audio vers les serveurs Yandex est implémentée via un script bash. En conséquence, il est nécessaire de transférer des informations de l'espace de travail Linux vers la zone de mémoire du programme Qt Script, cela a été fait via un fichier supplémentaire. En général, le robot peut enregistrer votre discours, envoyer un fichier pour reconnaissance et prononcer des phrases qui sont enregistrées dans une base de données commune de demandes et de réponses, ou effectuer certaines actions.

Ensuite, la tâche consistait à programmer les mouvements du robot. Le robot tourne les yeux vers l'interlocuteur, attirant son attention. Par commande vocale, le robot peut saisir des objets à l'aide du manipulateur. Le robot a deux contrôleurs à bord: le premier contrôle le mouvement des roues, prend les informations des microphones et des capteurs; le second transmet l'image vidéo de la caméra, contrôle le manipulateur et le mouvement des yeux, allume la bande LED lors de la prononciation du texte. Il existe de nombreuses tâches de synchronisation du travail des programmes sur différents contrôleurs, tandis que toutes les parties du projet sont connectées les unes aux autres via TCP / IP. Par exemple, sur un bloc, la prononciation du texte doit être accompagnée d'une animation de la bouche, et sur l'autre, la bande LED doit s'allumer.

La vision technique du robot est transférée sur un ordinateur séparé, où OpenCV est utilisé à cet effet. Tout d'abord, l'image est binarisée, puis le dégradé est déterminé, les contours imbriqués sont supprimés et les objets sont sélectionnés par leurs dimensions géométriques et leur surface. Cela vous permet de déterminer la position des objets sur la table, d'envoyer un robot vers eux et de les saisir avec un manipulateur. Toutes les tâches décrites sont résolues sur divers appareils, les gars en pleine croissance ont été confrontés à une interaction réseau et ont réussi à faire face à cette tâche. La présentation du projet peut être consultée ici .



Le deuxième projet est un robot qui s'efface de la planche. Dans ce projet, nous avons un tableau marqueur et un robot à deux roues qui peuvent se déplacer dessus. Le premier robot se lève et se tient en face de la planche. Il y a une caméra dessus, l'image à partir de laquelle est transmise via TRIC à un ordinateur, où l'image est traitée et l'emplacement du robot et son but sont déterminés. Le robot a des marques orange et jaune pour déterminer l'emplacement du robot. Tout d'abord, nous sélectionnons tous les pixels jaunes et orange de l'image, après quoi nous déterminons les plus grandes zones continues de ces couleurs et trouvons leurs centres par lesquels nous pouvons déterminer les coordonnées et l'angle de rotation du robot. Ensuite, trouvez les images laplaciennes et ne laissez que les zones rouges et rouges qui doivent être nettoyées. En parcourant à nouveau l'image entièrenous trouvons le point le plus proche du robot, qui devient la cible.

Seuls la distance et l'angle entre la trajectoire du robot et la direction de la cible sont envoyés au robot en effaçant de la planche. À partir de ces valeurs, les actions de contrôle des moteurs sont calculées et le robot se déplace vers la cible.



Ce projet comprend également un robot polisseur. Lors de la réception d'un message du premier robot, il avance d'une distance prédéterminée et se déplace le long d'une zone prédéterminée, faisant tourner un élément de nettoyage en dessous. À la fin du temps, le robot commence à tourner autour de son axe et cherche une marque orange. Après avoir trouvé, il commence à se déplacer dans la direction de la marque, jusqu'à ce qu'il occupe une zone importante dans l'image de la caméra. Dans ce cas, le traitement d'image est entièrement réalisé sur le robot, il ne reçoit qu'une commande de démarrage. La présentation du projet peut être consultée sur le lien , et plus de travail vidéo.



Le troisième projet concerne l'automatisation des parkings. L'objectif était de créer un prototype de parking public automatisé au centre d'affaires. Deux voitures à quatre roues motrices ont été assemblées, le bâtiment a été érigé et les espaces de stationnement eux-mêmes avec des marques (cercles noirs). Le système de stationnement se composait d'un contrôleur, de webcams et d'une barrière qui y était connectée.

Le contrôleur a un noyau DSP conçu pour traiter l'audio et la vidéo à bord, mais comme les participants au projet n'avaient aucune expérience de programmation pour les contrôleurs, il a été décidé de simplement diffuser la vidéo et de traiter l'état dans le parking sur un ordinateur.

Pour déterminer les espaces de stationnement gratuits, l'image a été binarisée, les contours ont été sélectionnés et les éléments en excès ont été jetés le long du rayon du cercle. La dernière étape était le regroupement avec la numérotation.

En conséquence, le système de travail ressemblait à ceci: la
voiture monte jusqu'à la barrière, envoie une demande au serveur, qui, à son tour, renvoie le numéro de l'espace libre le plus proche et indique également au système de stationnement qu'il est nécessaire de lever la barrière. De plus, la voiture, ayant le numéro de la place de parking, se déplace le long du chemin enregistré. La présentation du projet peut être consultée ici .

Tous les codes sources des programmes sont publiés sur github .



En général, tout s'est plutôt bien passé. Les étudiants ont tout le temps demandé de rester plus longtemps et de passer plus de temps à travailler sur le projet, ce qui indique leur intérêt pour la robotique.

Tous les projets de quart de travail ont été divisés en ingénierie, où des travaux ont été menés sur la mise en œuvre d'une conception spécifique, et en recherche, où des données sur divers phénomènes ont été collectées et analysées. À mon avis, dans l'évaluation finale, il convient de séparer ces zones, il est difficile de comparer l'analyse de l'état de la rivière Mzymta et de la Smart Table. Pour la recherche, un format de présentation et d'affiche est plus adapté, et pour les projets, un format d'exposition avec des stands est préférable.

Ceux qui souhaitent participer à de tels changements devraient être intrigués par une étude minutieuse préliminaire de la zone à laquelle ils veulent participer. Pour ce faire, il existe un grand nombre de cours de conférences vidéo et d'autres documents d'accompagnement. Apprenez à utiliser différents systèmes de gestion de projet (vous pouvez commencer par celui que nous avons utilisé ) et systèmes de contrôle de version.

Un grand merci à tous les participants de ce changement, ses organisateurs et ses professeurs. J'espère être ici plus d'une fois!

Source: https://habr.com/ru/post/fr396233/


All Articles