Chemin de la robotique du camp au créateur de cyborg

image

Il est peu probable que quiconque conteste qu'une équipe est importante dans une coentreprise. Des gens avec une expertise et une expérience différentes réunis à Motorika , nous avons des programmeurs, des ingénieurs en électronique, des travailleurs de la production et des concepteurs. Néanmoins, nous sommes toujours heureux de voir les nouveaux camarades qui apparaissent dans notre laboratoire. Parfois, ces «cerveaux frais» parviennent à résoudre des problèmes sur lesquels nous nous sommes battus plus d'une journée, voire plus d'une nuit. Aujourd'hui, c'est juste le moment d'une telle histoire sur Tan.

À la fin de l'article, des informations importantes pour ceux qui veulent devenir programmeur de camp.

Camp où les projets deviennent réalité


En juillet 2015, notre équipe a été invitée à donner une conférence dans un camp pour enfants organisé par nos amis du GoTo Camp . Mais ce n'est pas un camp typique, ici les enfants sont plongés dans le monde magique de l'analyse des données et de l'apprentissage automatique, de la robotique et de l'Internet des objets, de la bioinformatique, de la réalité virtuelle, de la sécurité de l'information et bien plus encore. Pendant deux semaines au GoTo Camp, les enfants parviennent à acquérir de nouvelles connaissances auprès de spécialistes en exercice de diverses entreprises: Yandex, ABBYY, Microsoft, Biocad, Rambler & Co, Deloitte, Intel, Google, etc., travaillent sur leurs propres projets et quelqu'un obtient même pour un stage ou un travail. En général, un rêve, pas un camp, même pour un adulte).

image

image

Ils appliquent les connaissances que les enfants reçoivent dans les cours et les cours pratiques: ils se composent chacun d'une équipe qui travaille à la mise en œuvre d'une idée.

image

Tanya était dans le camp à deux reprises et a participé à deux projets qui ont été menés à bien et ont fonctionné.

image

«Pour la première fois, en équipe, j'ai travaillé sur le chariot sur lequel le téléphone était fixé, et l'opérateur a contrôlé le chariot lui-même, les angles d'inclinaison et de rotation du téléphone et l'éclairage à l'aide de joysticks. Cela peut être utile pour ceux qui tournent la vidéo, nous avons même réussi à essayer de nous filmer. La deuxième fois, j'ai fait un robot qui se souvient de sa trajectoire. Tout d'abord, vous lui montrez l'itinéraire qu'il fera dans les deux sens à l'avenir (vous pouvez toujours le réécrire), par exemple, il peut s'agir d'un itinéraire spécifique spécifique à l'usine ou d'un itinéraire pour le nettoyage à la maison. Le robot s'en souvient même après avoir coupé l'alimentation, il n'est donc pas nécessaire de le réinstaller à chaque fois. «J'ai aimé les deux projets, et pendant les quarts de travail, j'ai beaucoup appris.»

Revenons à la rencontre de Motory et Tanya. L'un des conférenciers arrivés était Ilya Chekh et Vasily Khlebnikov. Ils ont parlé de ce que fait la société «Motorika», de ses activités, ont montré des vidéos et des échantillons des prothèses de main KIBI .

image

À la fin de la conférence, les gars ont invité toutes les personnes intéressées à venir à notre siège de Skolkovo et à résoudre des problèmes intéressants. L'un des répondants était Tanya. Elle a donc fait partie de notre équipe.

Notre nouvelle camarade Tanya


Tanya a 19 ans et elle est en deuxième année à l'Université d'État de Moscou à la Faculté de mécanique et de mathématiques.

image

Le premier langage de programmation qu'elle maîtrisait était Python: «Le premier langage de programmation était Python, nous l'avons étudié à l'école. J'aime écrire dessus, vous pouvez rapidement créer un programme de travail, en plus, il existe de nombreuses bibliothèques différentes. Certains d'entre eux, par exemple, que j'utilise pour mes calculs scientifiques à l'université. Mais à l'école, j'étais impliqué dans la programmation des Olympiades, et Python ne lui convient pas toujours - cela fonctionne assez lentement, alors j'ai commencé à programmer en C ++. Pendant quelque temps, j'ai ensuite écrit sur RobotC, et maintenant pour travailler dans Motorika, je programme pour Arduino. »

Je ressens la force de l'algorithme en toi


Dans notre laboratoire, il y aura toujours un cas intéressant pour les personnes dont les mains poussent là où c'est nécessaire. Tanya nous a aidés à assembler des prothèses, à tester des capteurs pour une prothèse myoélectrique et à concevoir certains détails.

Mais la tâche la plus cool qu'elle a résolue était de lire et de traiter les myosignaux de sa main: prendre les valeurs des capteurs emg et, en les traitant, contrôler le mouvement de la brosse selon les besoins. En d'autres termes, il est nécessaire que si les muscles se resserrent fortement, le moteur tourne rapidement et le sens de rotation dépend du sens de la flexion.

image

La lecture des capteurs a été effectuée, mais de temps en temps, diverses erreurs ont nui au bon fonctionnement de la prothèse. La plus grande difficulté a été de trouver où exactement l'erreur se produit. Et il existe de nombreuses options pour l'apparition de cette erreur: en raison du fonctionnement des capteurs, de leur mauvaise adaptation au bras, du tonus musculaire, de la tension statique autour, d'un mauvais contact, d'une erreur dans le programme, il est arrivé que parfois, il était juste nécessaire de redémarrer l'ordinateur pour que l'erreur disparu, ou changer d'électronique. Un moment intéressant: récemment remarqué que les sauts dans les valeurs viennent aussi du fait que les jambes de la personne sont sur le sol du laboratoire ou surélevées.

image

En raison d'une telle abondance d'erreurs possibles pendant le développement, des problèmes sont survenus: «Par exemple, nous avons réalisé un travail parfait un jour particulier, avons ramassé toutes les constantes nécessaires, mais n'avons pas pris en compte les changements possibles de certains paramètres dans la pièce environnante. Si le lendemain nous trouvons des erreurs dans le travail, il ne sera pas toujours facile de comprendre ce qui a changé exactement depuis la dernière fois. » Pour cette raison, chaque fois que je devais tout configurer à nouveau, l'étalonnage de la prothèse a été ajouté au début du lancement.


C'est cet algorithme d'étalonnage que Tanya a écrit et a ainsi considérablement réduit la plage de recherche d'erreur: «Pour contrôler la main, vous devez comprendre la plage approximative des valeurs pendant les mouvements, avec cet étalonnage, elle est approximativement déterminée. Mais il y a des «valeurs aberrantes» dans le travail du capteur - par conséquent, par exemple, pour rechercher un niveau de main au repos, il est mauvais de prendre juste un minimum de toutes les valeurs (il peut s'avérer être 0), cela est contrecarré par diverses moyennes dans l'algorithme.

image

L'étalonnage vous permet d'obtenir trois valeurs clés (niveau minimum ou repos, niveau maximum et niveau lorsque vous devez commencer à déplacer le moteur à la vitesse minimale), avec lesquelles les nouveaux venus sont ensuite comparés. Cette comparaison vous permet de suivre plus clairement le signal et de le traduire en action.

Un autre problème rencontré jusqu'à présent est de choisir le moment optimal pour traiter les valeurs lues déjà en cours de contrôle de la main. Mieux et plus précisément nous le traitons, plus il faut de temps pour cela. Et par conséquent, il y a un délai plus long depuis que l'utilisateur effectue une certaine action jusqu'à ce qu'elle soit implémentée sur la main. Maintenant, le temps de traitement est d'une fraction de seconde. Si à l'avenir il sera nécessaire de compliquer l'algorithme d'étalonnage, alors il sera possible de penser à y inclure la vitesse de traitement du signal.

Apprentissage automatique, théorie de l'éclatement et prothèses dentaires


À ce stade, Tanya et son superviseur moteur principal qui la supervise se concentrent sur la lutte contre les problèmes physiques. En particulier, l'algorithme visait cela. À l'avenir, bien sûr, beaucoup de choses (moyennage contre les interférences, étalonnage) peuvent être automatisées, ce qui rendra les capteurs plus stables pour la capture du signal, ce qui signifie qu'il sera possible d'appliquer des méthodes avancées d'analyse des données.

Tanya est également entrée en contact avec le machine learning: «J'ai moi-même fait un peu de machine learning cette année lors des rencontres des gars de GoTo avec Alexander Panin chez Yandex, et j'espère que leur utilisation permettra d'obtenir quelque chose d'intéressant à partir de nos données. Il peut sembler inattendu à quelqu'un qu'il y ait tellement de théorie dans un cas comme les prothèses, qui est plus probablement associé à la médecine et à la biologie. Dans l'apprentissage automatique, par exemple, une grande quantité de mathématiques très non triviales est cachée. Mais il existe d'autres sections liées à la gestion des prothèses. Au mechmath, je traite de la théorie des salves (un autre nom est ondelettes), qui sont non seulement une partie intéressante et profonde de l'analyse fonctionnelle, mais sont également appliquées en théorie de l'information, traitement du signal, tomographie, etc. Vous pouvez en savoir plus à ce sujet, par exemple ici . Je voudrais également essayer ces méthodes pour travailler avec la prothèse. »

Plus! Des tâches plus intéressantes!


Pour cela, les tâches de notre laboratoire pour tous ceux qui sont désireux d'appliquer leurs connaissances et compétences n'ont pas été épuisées - il y en a beaucoup plus. Donc, si vous voulez nous rejoindre - toujours welkam. Exprimez votre désir dans les commentaires ou écrivez à info@motorica.org.

Bonus pour ceux qui ont lu jusqu'au bout - subvention


Eh bien, les plus patients et curieux (écoliers et étudiants de 1 à 2 cours) peuvent recevoir une bourse en direction de la robotique et se rendre gratuitement dans l'un des trois camps d'été du GoTo Camp .

Motorika et GoTo Camp annoncent une compétition conjointe. La tâche des participants n'est qu'une seule:

  • Venez avec une buse de prothèse qui élargira les capacités humaines. Pour contrôler cette buse, des capteurs EMG, des accéléromètres et des gyroscopes seront utilisés (vous voulez, vous pouvez également utiliser la commande vocale - tout est entre vos mains!). Vous recevrez une tâche détaillée par e-mail après l'inscription ici .


image

Si votre buse fonctionne et réussit en termes d'expérience utilisateur, elle sera cool. Dans le camp, vous pouvez non seulement l'amener à la perfection, la buse atteindra les vrais utilisateurs de prothèses - vous obtiendrez une bonne et utile action qui pompera votre karma. Et vous gagnez toujours de l'expérience, des connaissances et respirez de l'air frais.

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


All Articles