martes, 23 de octubre de 2018

Manipulación de un brazo robótico usando señales EMG

RESUMEN

Las señales electromiográficas superficiales (EMG) son señales asociadas a movimientos musculares capturadas mediante unos electrodos a nivel de piel. En este trabajo se muestra como estas señales pueden ser usadas para controlar los movimientos de un brazo robótico. Como parte de este trabajo se diseñaron los dispositivos de captura de señales EMG, los de manipulación del brazo robótico y del dispositivo de comunicación entre los dispositivos de captura y manipulación.

CONCLUSIONES

Como conclusiones generales de este trabajo tenemos lo siguiente:

• Es posible manipular un brazo robótico usando señales EMG en tiempo real.

• Es difícil controlar un motor DC debido a que su rotación se puede ver afectada por la dirección en la que se mueve.

• Se necesita considerar la coactivación muscular para definir reglas de activación de los motores al realizar movimientos naturales del brazo.

En base a estas conclusiones, se tiene planteado el siguiente trabajo futuro:

• Es necesario hacer pruebas usando diferentes movimientos del brazo para entrenar un clasificador, a fin de tener un control mas natural del brazo robótico.

• Hay que diseñar un control mas robusto, que no sea tan sensible a cambios en los niveles de activación muscular.

• Hay que diseñar un sistema de calibración automático a fin de que el sistema pueda ser usado por diferentes usuarios.

Cómputo en paralelo usando R

RESUMEN

El cómputo en paralelo es un esquema de trabajo cuyo objetivo es aprovechar de mejor manera los recursos de hardware disponibles para realzar tareas mas rápido. En este trabajo se realizan experimentos en los que se prueban diferentes configuraciones para cómputo en paralelo usando el software estadístico R, para observar su utilidad y sus limitaciones. Como parte de los trabajos de este proyecto, se construyó un clúster de tarjetas Raspberry Pi3 Modelo B, en el cual se realizaron parte de las pruebas.

CONCLUSIONES

Como conclusiones generales de este trabajo tenemos lo siguiente:

• El esquema de cómputo en paralelo permite usar los recursos de hardware disponibles para realizar una serie de tareas en menos tiempo.

• Es necesario adecuar los programas para que sean compatibles con el esquema de cómputo en paralelo.

• El tener una PC con varios núcleos no implica que nuestros programas estén aprovechándolos.

• El esquema de cómputo en paralelo permite aprovechar los recursos computacionales de varias maquinas dentro de un clúster.

• La mejor configuración para el esquema de cómputo en paralelo depende de los recursos de hardware y software con los que se cuenta.

• No siempre es bueno paralelizar un algoritmo, ya que puede ser contraproducente si las tareas a paralelizar son pequeñas.

En base a estas conclusiones, se tiene planteado el siguiente trabajo futuro:

• Hacer pruebas usando el lenguaje Phyton, paralelizando con MPI4py (el cual ya se instaló).

• Hacer pruebas con un clúster de tarjetas Raspberry Pi3 B+, que tienen un puerto de red Ethernet y un procesador mejorados.

Escáner 3D basado en sensores ultrasónicos

RESUMEN

En este trabajo se describe la construcción de un prototipo de escáner tridimensional basado en sensores ultrasónicos de distancia. Se dan ademas gráficos de error en las mediciones de los sensores ultrasónicos que muestran que este tipo de sensores no es adecuado para medir distancias si la superficie de referencia esta inclinada con respecto de la placa del sensor y, por ende, el prototipo no es adecuado para obtener la imagen 3D de objetos con curvas o que van girando (rotando su superficie) con respecto al sensor.

CONCLUSIONES

Como conclusiones generales de este trabajo tenemos lo siguiente:

• Los sensores ultrasónicos tienen poco error cuando se estiman distancias a objetos directamente enfrente del sensor, y con una superficie paralela a los sensores.

• En el caso de objetos con superficies no paralelas al sensor, las mediciones obtenidas tienen mucho error.

• Dado que la mayoría de los objetos tienen superficies curvas o inclinadas, no se recomienda usar sensores ultrasónicos para obtener imágenes tridimensionales de objetos en general.

En base a estas conclusiones, se tiene planteado el siguiente trabajo futuro:

• Hacer mas pruebas para ver el comportamiento del sensor (errores de medición) en ambientes cerrados.

• Probar sensores infrarrojos para medir distancias, u otras técnicas no intrusivas para tratar de obtener la imagen 3D de los objetos.

• Probar la idoneidad de los sensores ultrasónicos para la navegación dentro de un ambiente cerrado, por ejemplo para controlar un carro robótico dentro de un laberinto (proyecto futuro).

lunes, 9 de abril de 2018

VPlotter

Este miniproyecto se plantea como un proyecto integrador en el que se va a desarrollar un graficador vertical (conocidos comúnmente como v-plotter), en el cual se aplicarán conocimientos y habilidades de diferentes áreas (electrónica, programación, matemáticas, etc.).

Los objetivos de este proyecto son:
•Diseñar y elaborar un graficador vertical.
•Elaborar una interfaz para controlar el graficador.

Prototipo

Cálculos

Bajo nuestro sistema de graficación, un punto en la gráfica (posición de la punta del plumón) está determinado por sus coordenadas cartesianas (x,y) tomando como origen la posición del cabezal del motor M1. y también por las distancias (h1,h2) del punto a cada uno de los motores a pasos, que llamaremos longitudes de cuerda. Para realizar trazos con el graficador necesitamos unos cálculos previos.
Estos calculos no van a permitir controlar los motores de manera más facil, ya que se les mandan coordenadas de la posición por la interfaz a elaborar.
Tambien para controlar si se traza una línea o no al desplazarnos de un punto a otro usaremos un servomotor. El servomotor nos servirá para alejar la punta del plumón de la superficie del pintarrón cuando no queramos que se trace una línea.

RESULTADOS Y CONCLUSIONES

Para mostrar el funcionamiento del graficador se le indico a este que marcara las 4 esquinas de un cuadrado de 21.5 cm de lado, donde los puntos están marcados como círculos. A manera de conclusión de este miniproyecto, pudimos observar lo complicado que es construir un aparato, ya que aunque en papel tenemos como hacer todo en la práctica hay varios factores que tenemos que tomar en cuenta (entre ellos los recurson disponibles) para obtener un aparato funcional.

viernes, 23 de marzo de 2018

Taller de procesamiento de imágenes usando estadística básica

En este taller corto se vieron algunas aplicaciones de métodos estadísticos al procesamiento de señales e imágenes digitales. Los códigos se hicieron en R y se pueden obtener en:

http://foro-c.com/viewforum.php?f=3

El curso se ralizó en el marco del Congreso de Ciencias Exactas de la UAA del 14 al 16 de marzo de 2018.

Los temas vistos fueron los siguientes:
Ecualización de imágenes (mejora de contraste basado en manipulación del histograma de la imagen)

Cálculo de envolventes de señales electromiográficas (EMG), usando estadísticas locales

Uso de mínimos cuadrados para ajusstar un círculo

Restauración de valores faltantes en una imagen (usando kNN)

Detección automática de fases de activación en señales EMG, usando mezcla de gaussianas y estiomador Bayesiano óptimo

sábado, 10 de marzo de 2018

Brazo Robótico Implementado con Arduino

Convocatoria: Mini-Proyectos

La visión computacional que tiene por objetivo es proveer a la computadora de un sistema que le permita “entender” una imagen. Una manera de probar que la computadora ha podido entender una imagen es interactuando con los objetos de una imagen, por ejemplo moviéndolos de lugar. A la vez, es necesario que la computadora tenga los medios físicos para manipular objetos.

Objetivos y metas:
Los objetivos de este proyecto fueron:
•Elaborar un interfaz entre la computadora y un brazo robótico que permita, a través de comandos, la manipulación de un brazo robótico didáctico.
•Proveer a la computadora de un sistema de visión básico.

Material:
•Brazo Robótico: con mando cableado y con cinco grados de libertad. Equipado con 5 motores independientes, las palancas de la unidad de control controlan la rotación de la base, el movimiento del codo y de la muñeca y la apertura y cierre de la pinza. Podrá agarrar, liberar, levantar, bajar y girar.

•Arduino: Usado para la Programación del brazo.

•Módulos de Control de Motores: MotoMamaL298NH-bridgeDCMotor Stepper Driver Chip Shield[2] de la compañia ITead Studio.

Ensamble de los modulos:

Ensamble final del brazo robótico, arduino y los 3 módulos de control de motores:

A continuación se muestra el funcionamiento del brazo robótico:

Conclusiones:
Se elaboró una interfaz para controlar desde la computadora un brazo robótico didáctico basado en arduino y C#. Se puede puede mover el robot presionado los botones correspondientes o a través de comandos. El modo comando va a ser de especial utilidad ya que va a permitir realizar moviemitnos de manera automática.
La interfaz apoyará en las tareas de prueba de algoritmos de visión computacional.

Trabajo futuro:
Aún falta agregar funcionalidades al sistema, como lo son:
•Una forma de controlar la posición exacta de las articulaciones del robot.
•Una forma de controlar la velocidad de movimiento de las articulaciones.
•Una sintaxis (lenguaje) para dar los comandos de movimientos de manera fácil al robot.
•un sistema propiamente de visión computacional Se planea realizar dichas tareas en los próximos meses.

domingo, 4 de marzo de 2018

Estación climática basada en Arduino

Convocatoria: Mini-Proyectos 2017

La medición de variables climáticas es de interés en la actualidad para monitorear las consecuencias del cambio climático y su efecto en la agricultura, la ecología y la vida en general. Si bien existen estaciones climáticas en varias zonas del estado de Aguascalientes,algunasvecesesnecesario realizar mediciones de campo en lugares específicos y se tiene el problema de que se deben tomar las mediciones y registrarlasadiferentestiempos,locualresultacomplicado en varias ocasiones. Por estas razones se ve la necesidad de contar con un sistema de medición de variables climáticas portátil y, de preferencia, de bajo costo.

Objetivos y metas
Los objetivos de este proyecto son:
•Diseñar y elaborar una estación climática basada en arduino.
• Calibrar los sensores de manera que se obtengan datos similares a los de una estación climática profesional.

Desarrollo
El prototipo final permite tomar tres lecturas de temperatura (por distintos senores), 2 lecturas de humedad relativa, una de presión atmosférica y una de detección de lluvia. Los datos se registran en un archivo en la micro SD acompañados de la hora (con precisión hasta los segundos) y día de la toma de cada dato. El prototipo se muestra a continuación:

Después de la construcción de la estación se fue a instalar cerca de donde se encuentra la estación climática de la UNAM, para después recolectar datos y analizarlos.

Resultados:

•Se construyó un sistema de datos climáticos que se puede usar para tomar mediciones de campo de temperatura, humedad relativa, presión atmosférica y lluvia.
• Las mediciones siguen el mismo comportamiento que las de la estación de la UNAM.
• Si bien las mediciones no coinciden perfectamente, se pueden calibrar los sensores para que se ajusten mejor los datos a los de la estación de la UNAM.

Manipulación de un brazo robótico usando señales EMG

RESUMEN Las señales electromiográficas superficiales (EMG) son señales asociadas a movimientos musculares capturadas mediante unos electrodo...