
Es poco probable que alguien discuta que un equipo es importante en una empresa conjunta. Personas con diferentes conocimientos y experiencia se reunieron en
Motorika , tenemos programadores, ingenieros electrónicos,
trabajadores de producción y diseñadores. Sin embargo, siempre estamos contentos de ver a los nuevos camaradas que aparecen en nuestro laboratorio. A veces, estos "cerebros frescos" logran resolver problemas por los cuales luchamos más de un día, o incluso más de una noche. Hoy es el momento de tal historia sobre Tan.
Al final del artículo, información importante para aquellos que desean convertirse en programadores de campamentos.
Campamento donde los proyectos se hacen realidad
En julio de 2015, nuestro equipo fue invitado a dar una conferencia en un campamento para niños organizado por nuestros amigos de
GoTo Camp . Pero este no es un campamento típico, aquí los niños están inmersos en el mundo mágico del análisis de datos y el aprendizaje automático, la robótica y el Internet de las cosas, la bioinformática, la realidad virtual, la seguridad de la información y mucho más. Durante dos semanas en GoTo Camp, los niños logran obtener nuevos conocimientos de especialistas en práctica de varias compañías: Yandex, ABBYY, Microsoft, Biocad, Rambler & Co, Deloitte, Intel, Google, etc., trabajan en sus propios proyectos, y alguien incluso consigue para una pasantía o trabajo. En general, un sueño, no un campamento, incluso para un adulto).


Aplican el conocimiento que los niños reciben en conferencias y clases prácticas: cada uno consiste en un equipo que trabaja en la implementación de una idea.

Tanya estuvo en el campamento dos veces y participó en dos proyectos que se completaron y trabajaron con éxito.

“Por primera vez, como equipo, trabajé en el carro en el que estaba conectado el teléfono, y el operador controló el carro en sí, los ángulos de inclinación y rotación del teléfono y la iluminación con la ayuda de joysticks. Esto puede ser útil para aquellos que filman el video, incluso logramos intentar filmarnos a nosotros mismos. La segunda vez que hice un robot que recuerda su trayectoria. Primero, le muestra la ruta que irá de ida y vuelta en el futuro (siempre puede reescribirla), por ejemplo, puede ser una ruta específica necesaria en la fábrica, o una ruta para limpiar en casa. El robot lo recuerda incluso después de apagar la alimentación, por lo que no es necesario configurarlo de nuevo cada vez. "Me gustaron ambos proyectos, y durante los turnos aprendí mucho".
Volvamos a la reunión de Motory y Tanya. Uno de los profesores que llegaron fue Ilya Chekh y Vasily Khlebnikov. Hablaron sobre lo que hace la empresa "Motorika", en qué funciona, mostraron videos y muestras de las
prótesis de mano KIBI .

Al final de la conferencia, los chicos invitaron a todos los interesados a venir a nuestra sede de Skolkovo y resolver problemas interesantes. Uno de los encuestados fue Tanya. Entonces se convirtió en parte de nuestro equipo.
Nuestro nuevo compañero Tanya
Tanya tiene 19 años y está en su segundo año en la Universidad Estatal de Moscú en la Facultad de Mecánica y Matemáticas.

El primer lenguaje de programación que dominó fue Python: “El primer lenguaje de programación fue Python, lo estudiamos en la escuela. Me gusta escribir sobre él, puedes hacer rápidamente un programa de trabajo, además, hay muchas bibliotecas diferentes para él. Algunos de ellos, por ejemplo, los uso para mis cálculos científicos en la universidad. Pero en la escuela estuve involucrado en la programación de la Olimpiada, y Python no siempre es adecuado para ello: funciona bastante lento, así que comencé a programar en C ++. Durante un tiempo escribí en RobotC y ahora, para trabajar en Motorika, estoy programando para Arduino ".
Siento la fuerza del algoritmo en ti
En nuestro laboratorio, siempre habrá un caso interesante para las personas cuyas manos crecen donde sea necesario. Tanya nos ayudó con el montaje de prótesis, probando sensores para una prótesis mioeléctrica, y diseñó algunos detalles.
Pero la tarea más genial que resolvió fue leer y procesar mioseñales de su mano: tomar valores de los sensores emg y, procesarlos, controlar el movimiento del pincel según sea necesario. En otras palabras, es necesario que si los músculos se tensan fuertemente, el motor gira rápidamente y la dirección de rotación depende de la dirección de flexión.

Se realizó la lectura de los sensores, pero de vez en cuando había varios errores que interferían con el correcto funcionamiento de la prótesis. La mayor dificultad en esto fue encontrar dónde ocurre exactamente el error. Y hay muchas opciones para la ocurrencia de este mismo error: debido a la operación de los sensores, su mal ajuste en el brazo, tono muscular, tensión estática, un mal contacto, un error en el programa, llegó al punto de que a veces era necesario reiniciar la computadora para que el error desaparecido, o cambiar la electrónica. Un momento interesante: recientemente noté que los saltos en los valores también provienen de si las piernas de la persona están en el piso del laboratorio o elevadas.

Debido a la abundancia de posibles errores durante el desarrollo, surgieron problemas: “Por ejemplo, logramos un trabajo perfecto en un día en particular, recogimos todas las constantes necesarias, pero no tomamos en cuenta los posibles cambios en algunos parámetros en la sala. Si al día siguiente encontramos errores en el trabajo, no siempre será fácil entender qué ha cambiado exactamente desde la última vez ". Debido a esto, cada vez que tenía que configurar todo de nuevo, se agregaba la calibración de la prótesis al inicio del lanzamiento.
Tanya escribió este algoritmo de calibración y, por lo tanto, redujo significativamente el rango de búsqueda de errores: “Para controlar la mano, debe comprender el rango aproximado de valores durante los movimientos, con esta calibración se determina aproximadamente. Pero hay "valores atípicos" en el trabajo del sensor, por lo tanto, por ejemplo, para buscar un nivel de mano en reposo, es malo tomar solo un mínimo de todos los valores (puede ser 0), esto se ve contrarrestado por varios promedios en el algoritmo ".

La calibración le permite obtener tres valores clave (nivel mínimo o de reposo, nivel máximo y el nivel cuando necesita comenzar a mover el motor a la velocidad mínima), con los cuales se compara a los recién llegados. Esta comparación le permite rastrear más claramente la señal y traducirla en acción.
Otro problema que se ha encontrado hasta ahora es elegir el momento óptimo para procesar los valores leídos ya en el proceso de control de la mano. Cuanto mejor y más exactamente lo procesamos, más tiempo se necesita para esto. Y, por lo tanto, hay una demora más larga por parte del usuario que realiza una determinada acción hasta que se implementa en la mano. Ahora el tiempo de procesamiento es una fracción de segundo. Si en el futuro será necesario complicar el algoritmo de calibración, entonces será posible pensar en incluir la velocidad de procesamiento de la señal en él.
Aprendizaje automático, teoría del estallido y dentaduras postizas.
En esta etapa, Tanya y su supervisor superior de motores que la supervisan están enfocados en combatir los problemas físicos. En particular, el algoritmo estaba dirigido a esto. En el futuro, por supuesto, se pueden automatizar muchas cosas (promediar contra interferencias, calibración), esto hará que los sensores trabajen para tomar señales más estables, lo que significa que será posible aplicar métodos avanzados de análisis de datos.
Tanya también entró en contacto con el aprendizaje automático: “Yo también hice un poco de aprendizaje automático este año en las reuniones para los muchachos de GoTo con Alexander Panin en Yandex, y espero que al usarlos sea posible obtener algo interesante de nuestros datos. A alguien le puede parecer inesperado que haya tanta teoría en un caso como las prótesis, lo que es más probable que esté asociado con la medicina y la biología. En el aprendizaje automático, por ejemplo, se oculta una gran cantidad de matemáticas muy no triviales. Pero hay otras secciones relacionadas con el manejo de prótesis. En el mechmath, trato con la teoría de las explosiones (otro nombre es wavelets), que no solo son una parte interesante y profunda del análisis funcional, sino que también se aplican en la teoría de la información, el procesamiento de señales, la tomografía, etc. Puede leer más sobre esto, por ejemplo,
aquí . También me gustaría probar estos métodos para trabajar con la prótesis ".
Más! Más tareas interesantes!
Para esto, las tareas en nuestro laboratorio para todos aquellos que están ansiosos por aplicar sus conocimientos y habilidades no se han agotado, hay muchas más. Entonces, si quieres unirte a nosotros, siempre welkam. Exprese su deseo en los comentarios o escriba a info@motorica.org.
Bono para aquellos que han leído hasta el final - concesión
Bueno, los más pacientes y curiosos (escolares y estudiantes de 1-2 cursos) pueden recibir una subvención en dirección a la robótica e ir a uno de los
tres campamentos de verano de GoTo Camp de forma gratuita.
Motorika y GoTo Camp anuncian una competencia conjunta. La tarea para los participantes es solo una:
- Proponga una boquilla para prótesis que expanda las capacidades humanas. Para controlar esta boquilla, se utilizarán sensores EMG, acelerómetros y giroscopios (y si lo desea, puede usar el control por voz: ¡todo está en sus manos!). Recibirá una tarea detallada por correo electrónico después de registrarse aquí .

Si su boquilla funcionará y tendrá éxito en términos de experiencia del usuario, será genial. En el campamento, no solo puede llevarlo a la perfección, la boquilla llegará a los usuarios reales de las prótesis, obtendrá una acción útil y buena que bombeará su karma. Y aún así gana experiencia, conocimiento y respira aire fresco.