- Estudiar el proceso de diseño y construcción PCBs,
- Diseñar una tarjeta de ejemplo para el ARCOS-Lab (divisor de tensión para medición de voltajes de baterías del robot humanoide).
- Enviar a construir dicha tarjeta a JLCPCB,
- Escribir y grabar el tutoral (escrito y en video) para el ensamble de los componentes de la PCB,
- Realizar pruebas básicas sobre la PCB
Personas: 2
Entregables:
Requisitos:
Condiciones:
- El código fuente debe ser entregado en repositorios gitlab (del ARCOS-Lab) bajo la licencia GPLv3+. - La documentación entregada en formato wiki, doxygen y CADs debe ser liberada bajo la licencia CC-SA. - Los datos deben ser entregados en el cloud del ARCOS-Lab, liberados bajo la licencia CC-SA. - Cualquier material multimedia (video tutoriales, videos, imagenes, etc) deben ser entregados en el cloud del ARCOS-Lab y liberados bajo la licencia CC-SA. - Debe tener disponibilidad de realizar presencialidad en el horario de apertura del laboratorio ARCOS-Lab (de 8am a 5pm).
- Estudiar los componentes actuales de Open-CoRoCo
- Diseñar y Programar la simulación en C, en un stm32, utilizando las mismas interfaces que utiliza el hardware original para los sensores y actuadoras de la tarjeta Open-CoRoCo: resolver (ad2s1210 + resolver), ir2110 (3phase bridge), sensores de temperatura, sensores de corriente, sensores de voltaje (ADCs).
- Diseñar y programar la simulación en C, en un stm32, de la planta del sistema (motor y sensores)
- Integrar las simulaciones anteriores en un solo bloque de software para un stm32
- Implementar software de prueba para cada sensor y la planta en el stm32 cliente.
Entregables:
- Manual de operación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Código fuente en repositorios git bajo la licencia GPLv3+ y documentación en wiki para utilización bajo la licencia CC-SA
- Estudiar los componentes de sistema: sistema mecánico, motores, sensores
- Diseñar el sistema de control de posición para el cuello del robot humanoide que integra los sensores de posición magnéticos y los motores steppers del cuello
- Implementar el sistetam de control de posición para dos articulaciones con un stm32 del ARCOS-Lab
- Realizar la sintonización y verificación del sistema
- Desarrollar un driver de ROS2 para el cuello
Personas: 2
Entregables:
- Manual de operación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Código fuente en repositorios git bajo la licencia GPLv3+ y documentación en wiki para utilización bajo la licencia CC-SA
- Estudiar los posibles elementos de seguridad disponibles asociados a la perdida de control, mala ejecución del código (corrupción de RAM) y detención de emergencia de movimiento del stm32 y Open-CoRoCo. En particular, estudiar la utilización de un Watchdog de hardware del STM32, el estado inicial de los pines (durante Reset e inicialización), indicación de funcionamiento constante (aceleración, desaceleración y condiciones de error, lumínicas y sonoras), Lock bits para el timer y breakin.
- Diseñar las mejoras en el software que utilicen los elementos de seguridad del objetivo 1
- Implementar el software con las mejoras
- Diseñar una batería de experimentos para probar dichas mejoras
Personas: 2
Entregables:
- Manual de operación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Código fuente en repositorios git bajo la licencia GPLv3+ , documentación en wiki para utilización bajo la licencia CC-SA, datos en el cloud del ARCOS-Lab, liberados bajo la licencia CC-SA
Requisitos:
- Programación bajo plataformas abiertas (o conocimiento de Linux y el lenguaje de programación C)
Humanoid Robot Joystick Control
- Estudiar los módulos de ROS2 del robot humanoide del ARCOS-Lab
- Documentar la puesta en funcionamiento (encendido) del robot completo (hardware y software)
- Diseñar el mapeo más adecuado de los movimientos del robot humanoide a un controlador tipo PlayStation. Considerar la seguridad de las personas y el robot como aspecto primordial. El sistema debe ser capaz de controlar el movimiento omnidireccional de la plataforma, el torso, el cuello, la cara emocional, y al menos un brazo a la vez.
- Diseñar el software para implementar dicho mapeo
- Implementar el software
- Realizar pruebas del software sobre el robot
Personas: 1
Entregables:
- Manual de operación
- Manual de instalación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Código fuente en repositorios git bajo la licencia GPLv3+ , documentación en wiki para utilización bajo la licencia CC-SA, datos en el cloud del ARCOS-Lab, liberados bajo la licencia CC-SA, video de demostración
Requisitos:
- Programación bajo plataformas abiertas (o conocimiento de Linux y el lenguaje de programación C)
- Identificar mejoras adicionales mediante la prueba del horno actual
- Diseñar las modificaciones para implementar las mejoras identificadas en el objetivo anterior. En particular las siguientes mejoras deben ser diseñadas:
2.1) PCB de montaje para la stm32f429discovery que contiene: 1) LEDs de status para varias funciones, Buzzer (zumbador) indicador de condición de finalización y error. 2) SSR, conectados a salidas de OC de timers del stm32. 3) Mejoras térmicas al horno usando la cámara térmica fluke. 4) mecanismo de apertura con servo de la puerta. 5) watchdog para reiniciar en caso de bloqueo de softare. 6) pantalla de configuración para perfiles de soldado y otros valores de configuración que ahora son fijos.
- Medir las temperaturas en distintas zonas del cableado del horno para identificar la seguridad de funcionamiento del mismo (con la tapa externa colocada)
- Implementar las modificaciones de software y hardware para las mejoras antes mencionadas e identificadas.
- Validar, mediante experimentos, las mejoras al horno.
Entregables
- Manual de operación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Código fuente en repositorios git bajo la licencia GPLv3+ , documentación en wiki para utilización bajo la licencia CC-SA, datos en el cloud del ARCOS-Lab, liberados bajo la licencia CC-SA, video de demostración
Requisitos:
- Programación bajo plataformas abiertas (o conocimiento de Linux y el lenguaje de programación C)
- Determinar las mejoras, en documentación y código, necesarias para libopencm3-plus.
- Implementar la documentación, en Doxygen (o sistema similar web), de la biblioteca libopencm3-plus
- Diseñar e implementar ejemplos, para todos los stm32 discovery que el laboratorio posee, que utilicen las funcionalidades disponibles en libopencm3-plus
- Verificar el funcionamiento correcto del código implementado
Entregables
- Manual de operación
- Manual de instalación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Código fuente en repositorios git bajo la licencia GPLv3+ , documentación en wiki y doxygen para utilización bajo la licencia CC-SA, datos en el cloud del ARCOS-Lab, liberados bajo la licencia CC-SA, video tutorial para utilización de libopencm3-plus
Requisitos:
- Programación bajo plataformas abiertas (o conocimiento de Linux y el lenguaje de programación C)
¶ Calibración fina para sensores de fuerza de los dedos del Panda intencionada para manipulación de objetos frágiles.
- Diseñar el mecanismo de calibración para los sensores de fuerza
- Diseñar el software y el procedimiento para la calibración de los sensores de fuerza
- Ejecutar una calibrar de referencia para los sensores de fuerza
- Realizar el montaje eléctrico apropiado para instalación de circuitos en robot Panda
- Realizar montaje mecánico en robot Panda.
Entregables
- Manual de operación
- Manual de instalación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Código fuente en repositorios git bajo la licencia GPLv3+ , documentación en wiki y doxygen para utilización bajo la licencia CC-SA, datos en el cloud del ARCOS-Lab, liberados bajo la licencia CC-SA, video tutorial para utilización del sistema
Requisitos:
- Programación bajo plataformas abiertas (o conocimiento de Linux y el lenguaje de programación C y Python)
¶ Calibración de cámara Intel Realsense para tareas de manipulación con Robot Panda
- Diseñar el mecanismo de calibración (utilizando sistemas ya existentes)
- Ajustar y configuración el sistema de calibración para "ojo-brazo" para el Panda
- Diseñar e implementar, software de ayuda para ejecutar el proceso de calibración (movimientos automáticos del brazo, toma de imágenes, etc).
- Rediseñar el montaje mecánico del realsense, en caso de ser necesario, para permitir la ejecución correcta de la calibración.
- Realizar una calibración de referencia para el realsense montado en el robot Panda
- Verificar el funcionamiento correcto de la calibración utilizando un detector de marcadores en escenarios definidos para manipulación con objetos frágiles
Entregables
- Manual de operación
- Manual de instalación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Código fuente en repositorios git bajo la licencia GPLv3+ , documentación en wiki, y CADs para utilización bajo la licencia CC-SA, datos en el cloud del ARCOS-Lab, liberados bajo la licencia CC-SA, video tutorial para utilización del sistema
Requisitos:
- Programación bajo plataformas abiertas (o conocimiento de Linux y el lenguaje de programación Python)
- Desarrollar y ejecutar un análisis de carga y consumo eléctrico de una computadora de procesamiento para un robot humanoide
- Diseñar la conexión eléctrica de dos computadoras de procesamiento para un robot humanoide
- Ejecutar la conexión eléctrica de dos computadoras de procesamiento para el robot humanoide.
- Estimar el tiempo de funcionamiento a máxima carga y a carga mínima de estas dos computadoras sobre el robot humanoide.
- Realizar pruebas de funcionamiento a carga máxima y a carga mínima
Personas: 1
Entregables:
- Manual de operación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Archivos fotográficos
- Código fuente en repositorios git bajo la licencia GPLv3+ , documentación en wiki, y CADs para utilización bajo la licencia CC-SA, datos en el cloud del ARCOS-Lab, liberados bajo la licencia CC-SA, video tutorial para utilización del sistema, sistema instalado en el robot humanoide
Requisitos:
- Programación bajo plataformas abiertas (o conocimiento de Linux y el lenguaje de programación Python). Laboratorio Eléctrico 1. Disponibilidad de asistencia presencial en el horario L-V 8am-5pm
- Diseñar el movimiento en la punta del dedo que el robot humanoide debe ejecutar para determinar contacto con un objeto y fricción en la región de contacto.
- Estimar la fricción en la punta de los dedos del robot y combinarla con la posición de la punta de los dedos.
- Combinar una nube de puntos RGB-D con los datos de posición y fricción del dedo del robot.
- Utilizar ROS2 para implementar los módulos necesarios del sistema
- Generar una visualización 3D en RVIZ que muestre la nube de puntos.
Personas: 2
Entregables:
- Manual de operación
- Archivos ejecutables
- Prototipo experimental
- Informe largo
- Informes cortos intermedios
- Resultados experimentales específicos
- Archivos fotográficos
- Presentación final
- Código fuente en repositorios git bajo la licencia GPLv3+ , documentación en wiki y doxygen, y CADs para utilización bajo la licencia CC-SA, datos en el cloud del ARCOS-Lab, liberados bajo la licencia CC-SA, video tutorial para utilización del sistema, sistema instalado en el robot humanoide
Requisitos:
- Programación bajo plataformas abiertas (o conocimiento de Linux y el lenguaje de programación Python). Conocimiento de los lenguajes de programación C y C++. Capacidad de lectura y comprensión del idioma inglés (para la documentación de ROS2 y hojas de fabricante). Disponibilidad de asistencia presencial en el ARCOS-Lab en el horario L-V 8am-5pm
- Coffee selector
- Breakout boards for all ARCOS-Lab development boards. Video tutorial for PCB assembly machine
- Simulador de motor para open-coroco con otro stm32 (Simule motor, resolver, hall-sensors y carga mecánica)
- Software de control realimentado para cuello.
- Robustecer Open-CoRoCo:
- Watchdog (to stop motors if watchdog stops, continously blink if it is working)
- With green or blue indicate acceleration, with red, braking
- Lock bits of timer breakin special register
- Joystick (PS2) control for base, arms, hands
- Mejoras al horno:
- PCB bonita para montar la stm32
- Que contenga LEDs de status para todo
- Que contenga un buzzer (zumbador)
- Los SSR conectarlos a pines del STM que funcionen como output compares de los timers (Hardware PWM)
- Mejoras térmicas usando la cámara térmica fluke
- diseño/construcción de mecanismo para abrir puerta con servo
- Medir las temperaturas en el horno cerrado en los distintos lugares para asegurar que los cables no se van a dañar
- Watchdog para reiniciar en caso de que se pegue
- Settings screen:
- Fan stopping delay
- Add/remove profiles
- Finish temp
- door max/min
- actuation for using door
- PID actiation max pos and max neg
- pid kp ki
- pid ierror max
- Plot x/y divisions
- Libopencm3-plus: Mejoras, documentación y ejemplos
- Documentar el API, posiblemente con doxygen y montarlo en una página web
- Hacer ejemplos para todas las variedades de stm32 y probarlos. Para todas las funcionalidades posibles
- open-coroco skeleton: Hacer un esqueleto limpio para cosas que puedan usar este esquema de control