Caminho da robótica de campo ao criador de cyborg

imagem

É improvável que alguém discuta que uma equipe é importante em qualquer joint venture. Pessoas com diferentes conhecimentos e experiência reunidos em Motorika , temos programadores, engenheiros eletrônicos, trabalhadores de produção e designers. No entanto, estamos sempre felizes em ver os novos camaradas que aparecem em nosso laboratório. Às vezes, esses "cérebros frescos" conseguem resolver problemas pelos quais lutamos mais de um dia ou até mais de uma noite. Hoje é o momento de uma história sobre Tan.

No final do artigo, informações importantes para quem deseja se tornar um programador de acampamento.

Acampamento onde os projetos se tornam realidade


Em julho de 2015, nossa equipe foi convidada para dar uma palestra em um acampamento infantil organizado por nossos amigos do GoTo Camp . Mas este não é um campo típico, aqui as crianças estão imersas no mundo mágico da análise de dados e aprendizado de máquina, robótica e Internet das coisas, bioinformática, realidade virtual, segurança da informação e muito mais. Por duas semanas no GoTo Camp, as crianças conseguem obter novos conhecimentos de especialistas de várias empresas: Yandex, ABBYY, Microsoft, Biocad, Rambler & Co, Deloitte, Intel, Google, etc., trabalham em seus próprios projetos e alguém até consegue para um estágio ou trabalho. Em geral, um sonho, não um acampamento, mesmo para um adulto).

imagem

imagem

Eles aplicam o conhecimento que as crianças recebem nas aulas e nas aulas práticas: cada uma delas consiste em uma equipe que trabalha na implementação de uma ideia.

imagem

Tanya esteve no campo duas vezes e participou de dois projetos que foram concluídos e trabalharam com sucesso.

imagem

“Pela primeira vez, em equipe, trabalhei no carrinho em que o telefone estava conectado, e o operador controlou o carrinho, os ângulos de inclinação e rotação do telefone e a iluminação usando os joysticks. Isso pode ser útil para quem grava o vídeo, até tentamos filmar a nós mesmos. Na segunda vez, criei um robô que lembra sua trajetória. Primeiro, você mostra a rota que ele seguirá no futuro (você sempre pode reescrevê-la); por exemplo, pode ser uma rota específica específica necessária na fábrica ou uma rota para limpeza em casa. O robô lembra-se mesmo depois de desligar a energia, para que não precise ser configurado novamente todas as vezes. "Gostei dos dois projetos e, durante os turnos, aprendi muito."

Vamos voltar à reunião de Motory e Tanya. Um dos palestrantes que chegaram foi Ilya Chekh e Vasily Khlebnikov. Eles conversaram sobre o que a empresa “Motorika” faz, no que funciona, mostrou vídeos e amostras das próteses manuais KIBI .

imagem

No final da palestra, os participantes convidaram todos os interessados ​​a vir à nossa sede em Skolkovo e resolver problemas interessantes. Um dos entrevistados foi Tanya. Então ela se tornou parte de nossa equipe.

Nosso novo camarada Tanya


Tanya tem 19 anos e está no segundo ano na Universidade Estadual de Moscou, na Faculdade de Mecânica e Matemática.

imagem

A primeira linguagem de programação que ela dominou foi o Python: “A primeira linguagem de programação foi o Python, nós estudamos na escola. Eu gosto de escrever, você pode criar rapidamente um programa de trabalho, além disso, existem muitas bibliotecas diferentes para ele. Alguns deles, por exemplo, uso nos meus cálculos científicos na universidade. Mas, na escola, estive envolvido na programação das Olimpíadas, e o Python nem sempre é adequado para isso - ele funciona muito lentamente, então comecei a programar em C ++. Por algum tempo, escrevi no RobotC, e agora para trabalhar no Motorika estou programando para o Arduino. ”

Sinto a força do algoritmo em você


Em nosso laboratório, sempre haverá um caso interessante para pessoas cujas mãos crescem quando necessário. Tanya nos ajudou na montagem de próteses, testando sensores para uma prótese mioelétrica e desenhou alguns detalhes.

Mas a tarefa mais legal que ela resolveu foi ler e processar miosinais da mão: pegar valores dos sensores EMG e, processá-los, controlar o movimento do pincel, conforme necessário. Em outras palavras, é necessário que, se os músculos se contraem fortemente, o motor gire rapidamente, e a direção da rotação dependa da direção da flexão.

imagem

A leitura dos sensores foi realizada, mas de vez em quando havia vários erros que interferiam no bom funcionamento da prótese. A maior dificuldade foi encontrar onde exatamente ocorre o erro. E existem muitas opções para a ocorrência desse mesmo erro: devido à operação dos sensores, seu mau ajuste no braço, tônus ​​muscular, tensão estática ao redor, um mau contato, um erro no programa, chegou ao ponto em que às vezes era apenas necessário reiniciar o computador para que o erro desapareceu ou troque de eletrônica. Um momento interessante: percebemos recentemente que os saltos nos valores também vêm de se as pernas da pessoa estão no chão do laboratório ou levantadas.

imagem

Devido à abundância de possíveis erros durante o desenvolvimento, surgiram problemas: “Por exemplo, conseguimos um trabalho perfeito em um dia específico, captamos todas as constantes necessárias, mas não levamos em conta as possíveis alterações em alguns parâmetros na sala ao redor. Se no dia seguinte encontrarmos erros no trabalho, nem sempre será fácil entender o que exatamente mudou desde a última vez. ” Por isso, toda vez que eu tinha que configurar tudo de novo, a calibração da prótese era adicionada ao início do lançamento.


Foi esse algoritmo de calibração que Tanya escreveu e, assim, reduziu significativamente o intervalo de busca de erros: “Para controlar a mão, você precisa entender o intervalo aproximado de valores durante os movimentos, com essa calibração que é aproximadamente determinada. Mas existem "discrepantes" no trabalho do sensor - portanto, por exemplo, para procurar um nível de mão em repouso, é ruim usar apenas um mínimo de todos os valores (pode ser 0), isso é neutralizado por várias médias no algoritmo. "

imagem

A calibração permite obter três valores-chave (nível mínimo ou de repouso, nível máximo e o nível em que você precisa começar a mover o motor em velocidade mínima), com os quais os novatos são comparados. Essa comparação permite rastrear mais claramente o sinal e convertê-lo em ação.

Outro problema encontrado até agora é escolher o momento ideal para processar os valores lidos já no processo de controle da mão. Quanto melhor e mais precisamente o processarmos, mais tempo será necessário para isso. E, portanto, há um atraso maior do usuário executando uma determinada ação até que seja implementada na mão. Agora, o tempo de processamento é uma fração de segundo. Se, no futuro, for necessário complicar o algoritmo de calibração, será possível pensar em incluir a velocidade de processamento do sinal nele.

Aprendizado de máquina, teoria de rebentamentos e dentaduras


Nesta fase, Tanya e seu supervisor sênior de motores que a supervisionam estão focados no combate a problemas físicos. Em particular, o algoritmo visava isso. No futuro, é claro, muitas coisas (média contra interferência, calibração) podem ser automatizadas, isso fará com que os sensores trabalhem para captação de sinal mais estáveis, o que significa que será possível aplicar métodos avançados de análise de dados.

Tanya também entrou em contato com o aprendizado de máquina: “Eu também fiz um pouco de aprendizado de máquina este ano nos encontros dos caras do GoTo com Alexander Panin na Yandex, e espero que, ao usá-los, seja possível obter algo interessante de nossos dados. Pode parecer inesperado para alguém que exista tanta teoria em um caso como próteses, o que é mais provável associado à medicina e biologia. No aprendizado de máquina, por exemplo, uma grande quantidade de matemática não trivial está oculta. Mas existem outras seções relacionadas ao gerenciamento de próteses. No mechmath, trato da teoria das explosões (outro nome é wavelets), que não são apenas uma parte interessante e profunda da análise funcional, mas também são aplicadas na teoria da informação, processamento de sinais, tomografia etc. Você pode ler mais sobre isso, por exemplo, aqui . Eu também gostaria de experimentar esses métodos para trabalhar com a prótese. ”

Mais! Tarefas mais interessantes!


Para isso, as tarefas em nosso laboratório para todos aqueles que desejam aplicar seus conhecimentos e habilidades não foram esgotadas - há muito mais. Então, se você quiser se juntar a nós, sempre faça o mesmo. Expresse seu desejo nos comentários ou escreva para info@motorica.org.

Bônus para quem leu até o fim - conceder


Bem, os mais pacientes e curiosos (crianças em idade escolar e alunos de um a dois cursos) podem receber uma bolsa na direção da robótica e ir a um dos três acampamentos de verão do GoTo Camp gratuitamente.

Motorika e GoTo Camp anunciam uma competição conjunta. A tarefa para os participantes é apenas uma:

  • Crie um bico de prótese que amplie as capacidades humanas. Para controlar este bico, sensores EMG, acelerômetros e giroscópios serão usados ​​(você deseja, também pode usar o controle por voz - tudo está em suas mãos!). Você receberá uma tarefa detalhada por e-mail após o registro aqui .


imagem

Se o seu bico funcionar e for bem sucedido em termos de experiência do usuário, será legal. No acampamento, você pode não apenas aperfeiçoá-lo, o bico alcançará os usuários reais das próteses - você obterá uma ação útil e boa que bombeará seu carma. E você ainda ganha experiência, conhecimento e respira ar fresco.

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


All Articles