Cambio de proyecto en el Centro Educativo Sirius
El primer cambio de proyecto en el Centro Educativo Sirius está llegando a su fin . Por lo general, los cambios educativos se llevan a cabo aquí, en los que los estudiantes de la escuela se preparan para las olimpiadas de todo el nivel ruso y mundial. Por ejemplo, un equipo de matemáticos realizó campamentos de entrenamiento en Sirius antes de la Olimpiada Mundial . Está previsto en el futuro hacer de este lugar uno de los principales centros de atracción para jóvenes talentosos para una mayor integración en proyectos de alta tecnología que están en la cuenta especial del estado.Equipo de la universidad ITMOAdemás de una amplia participación en proyectos relacionados con la nanotecnología, trabajó con estudiantes de la escuela en varios proyectos robóticos. Nuestro grupo estaba formado por 19 estudiantes y 3 profesores. De antemano, determinamos las tecnologías básicas y las características de diseño que se implementarán durante el proyecto. Algunos proyectos se centran en la automatización de ciertos procesos, y algunos tienen un componente visual más creativo. Como base para crear robots, se decidió utilizar el diseñador robótico TRIC . Aquí se han publicado ejemplos de uso de este constructor.
Desde el principio, tratamos de dividir a los estudiantes en grupos de acuerdo con las habilidades de programación y diseño. Para organizar el trabajo, utilizamos el sistema de gestión de proyectos Trello . Dado que se asignaron dos semanas y media para trabajar en proyectos, el resto se destinó a eventos recreativos y de organización, y hubo un número limitado de tareas, Trello estaba muy contento con nosotros. Cada tres días nos reuníamos con los chicos y establecíamos tareas para un nuevo sprint. Esto no quiere decir que esto se hizo de acuerdo con todos los cánones del desarrollo en empresas serias, pero logramos introducir a los muchachos en los conceptos básicos de la gestión de proyectos. A continuación, vamos directamente a los proyectos.El primer proyecto está relacionado con la interacción humano-robot, tanto desde el punto de vista del diseño de la apariencia atractiva del robot, como desde el punto de vista de comunicarse con una persona y mantener la atención. Primero, los chicos descubrieron el uso de la tecnología de reconocimiento de voz. Para esto se usó Yandex SpeechKit , que permite a través de una solicitud http recibir variantes de respuesta del texto reconocido, en orden decreciente de probabilidad de reconocimiento correcto. En el controlador TRIC en sí, hay un sistema unix, y los desarrolladores han proporcionado al sistema la capacidad de convertir texto a voz. Para esto , se instala un sintetizador de voz eSpeak en el sistema , que expresa el texto deseado.El programa principal se implementó en Qt Script en el sistema TRIK Studiocompatible con los desarrolladores del diseñador, y la parte con la transferencia del archivo de audio a los servidores Yandex se implementa a través de un script bash. En consecuencia, es necesario transferir información desde el espacio de trabajo de Linux al área de memoria del programa Qt Script, esto se hizo a través de un archivo adicional. En general, el robot puede grabar su discurso, enviar un archivo para reconocimiento y pronunciar frases que están registradas en una base de datos común de solicitudes y respuestas, o realizar ciertas acciones.Luego, la tarea era programar los movimientos del robot. El robot dirige sus ojos hacia el interlocutor, atrayendo su atención. Por comando de voz, el robot puede agarrar objetos usando el manipulador. El robot tiene dos controladores a bordo: el primero controla el movimiento de las ruedas, toma información de micrófonos y sensores; el segundo transmite la imagen de video desde la cámara, controla el manipulador y el movimiento de los ojos, ilumina la tira de LED durante la pronunciación del texto. Hay muchas tareas de sincronizar el trabajo de los programas en diferentes controladores, mientras que todas las partes del proyecto están conectadas entre sí a través de TCP / IP. Por ejemplo, en un bloque, la pronunciación del texto debe ir acompañada de animación de la boca, y en el otro, la tira de LED debe encenderse.La visión técnica del robot se transfiere a una computadora separada, donde OpenCV se utiliza para esto. Primero, la imagen se binariza, luego se determina el gradiente, se eliminan los contornos anidados y los objetos se seleccionan por dimensiones geométricas y área. Esto le permite determinar la posición de los objetos en la mesa, enviarles un robot y agarrarlos con un manipulador. Todas las tareas descritas se resuelven en varios dispositivos, los chicos en pleno crecimiento se enfrentaron a la interacción de la red y afrontaron con éxito esta tarea. La presentación del proyecto se puede ver aquí .
El segundo proyecto es un robot borrado del tablero. En este proyecto, tenemos un marcador y un robot de dos ruedas que puede moverse sobre él. El primer robot se detiene y se para enfrente del tablero. Tiene una cámara, cuya imagen se transmite a través de TRIC a una computadora, donde se procesa la imagen y se determina la ubicación del robot y su propósito. El robot tiene marcas naranjas y amarillas para determinar la ubicación del robot. Primero, seleccionamos todos los píxeles amarillos y naranjas en la imagen, después de lo cual determinamos las áreas continuas más grandes de estos colores y encontramos sus centros por los cuales podemos determinar las coordenadas y el ángulo de rotación del robot. A continuación, busque las imágenes laplacianas y deje solo las áreas rojas y rojas que deben limpiarse. Recorriendo toda la imagen nuevamenteencontramos el punto más cercano al robot, que se convierte en el objetivo.Solo la distancia y el ángulo entre el rumbo del robot y la dirección al objetivo se envían al robot borrando del tablero. A partir de estos valores, se calculan las acciones de control para los motores y el robot se mueve hacia el objetivo.
Este proyecto también incluye un robot pulidor. Cuando recibe un mensaje del primer robot, avanza una distancia predeterminada y se mueve a lo largo de un área predeterminada, girando un elemento de limpieza debajo. Al final del tiempo, el robot comienza a girar alrededor de su eje y busca una marca naranja. Después de encontrarlo, comienza a moverse en la dirección de la marca, hasta que ocupa un área significativa en la imagen de la cámara. En este caso, el procesamiento de la imagen se realiza completamente en el robot, solo recibe un comando de inicio. La presentación del proyecto se puede ver en el enlace y más videos de trabajo..
El tercer proyecto se refiere a la automatización de espacios de estacionamiento. El objetivo era crear un prototipo de estacionamiento público automatizado en el centro de negocios. Se ensamblaron dos autos con tracción en las cuatro ruedas, se erigió el edificio y los espacios de estacionamiento con marcas (círculos negros). El sistema de estacionamiento consistía en un controlador, cámaras web y una barrera conectada a él.El controlador tiene un núcleo DSP diseñado para procesar audio y video a bordo, pero dado que los participantes del proyecto no tenían experiencia en programación para los controladores, se decidió simplemente transmitir el video y procesar el estado en el estacionamiento en una computadora.Para determinar los espacios de estacionamiento gratuitos, se binarizó la imagen, se seleccionaron los contornos y se descartaron los elementos sobrantes a lo largo del radio del círculo. El último paso fue agrupar con numeración.Como resultado, el sistema de trabajo tenía el siguiente aspecto: elautomóvil conduce hasta la barrera, envía una solicitud al servidor, que, a su vez, devuelve el número del espacio libre más cercano y también le dice al sistema de estacionamiento que es necesario levantar la barrera. Además, el automóvil, que tiene el número del espacio de estacionamiento, se mueve a lo largo del camino registrado. La presentación del proyecto se puede ver aquí .Todos los códigos fuente de los programas se publican en github .
En general, todo salió bastante bien. Los estudiantes siempre pidieron quedarse más tiempo y pasar más tiempo trabajando en el proyecto, lo que indica el interés de los estudiantes en la robótica.Todos los proyectos de turno se dividieron en ingeniería, donde se trabajó en la implementación de un diseño específico, e investigación, donde se recopilaron y analizaron datos sobre diversos fenómenos. En mi opinión, en la evaluación final vale la pena separar esas áreas, es difícil comparar el análisis del estado del río Mzymta y la tabla inteligente. Para la investigación, un formato de presentación y póster es más adecuado, y para proyectos, un formato de exposición con stands es mejor.Aquellos que deseen participar en tales turnos deben estar desconcertados por un estudio minucioso preliminar del área en la que desean participar. Para hacer esto, hay una gran cantidad de cursos de video conferencias y otro material de acompañamiento. Aprenda a usar varios sistemas de gestión de proyectos (puede comenzar con el que usamos ) y sistemas de control de versiones.Muchas gracias a todos los participantes de este cambio, sus organizadores y maestros. ¡Espero estar aquí más de una vez! Source: https://habr.com/ru/post/es396233/
All Articles