Descargar

Sistemas embebidos en robótica

Enviado por Pablo Turmero


    edu.red Desafío Pelotas de distintos tamaños, pesos y colores Disposición aleatoria de las pelotas Disposición aleatoria de los recipientes Un recipiente particular para cada pelota Separación de 4 metros entre cada escenario

    edu.red Estructura Mecánica: Limitaciones Limitaciones de las bases: Debe ser construido desde CERO Dimensiones máximas extendido: 50x40x40 Limitaciones practicas: El robot no debe ser muy grande debido a lo reducido del espacio para maniobrar Alta capacidad de movilidad en poco espacio (radio de giro = 0) Capacidad de recoger pelotas en las esquinas

    edu.red Estructura Mecánica: Planta Motriz 2 neumáticos HPI 4540 v-groove radial low profile 2 Ruedas omnidireccionales:NARP 4cm Black Poly Wheel 4 piezas de tornería

    edu.red Estructura Mecánica: Motores Motor DC Maxon 24 v DC 3980 rpm a 24V DC Consumo a 24 V: Nominal: 250 mAh Arranque: 550mAh 264 gramos Encoder óptico de doble cuadratura Caja reductora de 10:1

    edu.red Estructura Mecánica: Chasis

    edu.red Estructura Mecánica: Servo motores Algunas características buscadas por separado: Alto torque sin importar tamaño Tamaño reducido sin sacrificar torque Prestaciones regulares

    edu.red Estructura Mecánica: Servo motores 3 GWS micro Servo 5.4KG 0.17S(60°) 1 Hitec HS-311 3.3KG 0.19S(60°) 1 Hitec HS-765HB 11KG 0.28S (60°) 1 GWS S666 N 24KG 0.24S (60°)

    edu.red Estructura Mecánica: Balde Funcionamiento para tres tamaños distintos de pelotas Forma Puntiaguda Posibilidad de llegar a las esquinas Dos GWS Micro Servo Variar inclinación del balde Abrir y cerrar puerta de ingreso

    edu.red Estructura Mecánica: Brazo Inspirado en un camión recolector de basura Servo Motor GWS S666 N Posee un ServoSaver debido al largo del brazo de palanca Otro lado solamente con rodamientos Posee dos ejes de libertad Levantar el brazo Inclinación del balde

    edu.red Estructura Mecánica: Cargador Vertical Dos Servo motores Hitec HS-765HB (eje) GWS micro Servo (puerta) Corazón del sistema mecánico Sólo posee tornillos en la conexión al eje central Utilización de tecnología aéreo espacial 😛 (aluminio+pegamento) Mecanismo de rodamientos, ejes, acoples y servo motores Consideración de tres habitáculos iguales (tres pelotas) Una vía de admisión y otra vía de expulsión

    edu.red Estructura Mecánica: Cargador Vertical

    edu.red Alimentación: Ion Litio Batería usada para alimentar todas las tarjetas electrónicas Alta concentración de energía Cargador incorporado Baja tasa de carga-descarga Cargador incorporado muy frágil Se opta por usar cargador externo

    edu.red Alimentación: Ni-Mh 3 packs pre-ensamblados HITEC 54116 9,6 V 1600MAh Cargador Hitec CG-335 Pro Fuente de poder 10 Ah 12V para el cargador Alta tasa de carga-descarga Utilizada para energizar los motores tractores (maxon)

    edu.red Comunicación del Robot El esquema utilizado para el control del robot, es el siguiente Unidad Central de Procesamiento (PC Mini-ITX) Control de Navegación (Atmega128) Control de Mecanismos (Atmega128) RS-232 RS-232 Botonera (Ejecutar/Detener)

    edu.red Unidad de Procesamiento Central Se utilizó una tarjeta Mini-ITX de la serie TC, ya que incluye un conversor DC/DC en la placa. Periféricos Cámara USB “Logitech Orbit”. Adaptador CF-IDE + CF 512MB. Adaptador wireless USB 802.11b (Linksys).

    edu.red Unidad de Procesamiento Central Software En el computador corre un programa principal y unos hilos (threads) que permiten el control de la ejecución del programa principal. Los hilos son activados mediante la placa “Botonera” conectada al PC. Con los hilos es posible detener la ejecución del programa, en cualquier momento, y volver a un estado inicial para comenzar desde cero la ejecución. En el caso de no necesitar detener el programa principal, éste se ejecutará hasta terminar con su objetivo.

    edu.red Unidad de Procesamiento Central Ejecución del software en el PC Programa Principal Espera “boton” para iniciar Hilo que espera “boton” para terminar ejecución. Botón Inicio Botón Término Elimina proceso principal

    edu.red Unidad de Procesamiento Central Software El programa principal cumple las siguientes funciones: Adquirir y procesar las imágenes de la cámara (Ej: detectar linea, buscar entrada, buscar pelota roja, etc…). Enviar órdenes a la placa de navegación, en base a las imágenes (Ej: avanzar 20cm, girar 90° a la derecha,etc..). Enviar órdenes a la placa de mecanismos (Ej: bajar ángulo de la cámara en 20°, recoger pelota verde, etc…).

    edu.red Unidad de Procesamiento Central Comunicación serial en C ? “termios”. Es posible setear los parametros de comunicación serial: Baudrate (velocidad). Tamaño del frame de datos (típicamente 8 bits). Paridad. N° de bits de parada. Funciones read y write, leen y escriben los datos en el puerto serial. En Linux el puerto serial ? /dev/ttySX

    edu.red Control de Navegación Placa desarrollada a medida (Atmega128). Control basado en encoders (integrados a los motores Maxon). Interrupciones por cambio de estado de pines. En cada interrupción se incrementa la cuenta. Interrupción por timer cada t fijo Lee cuenta del registro, y calcula la velocidad y la distancia recorrida.

    edu.red Control de Navegación Velocidad de los motores regulada por una señal PWM. Cambiar la velocidad de un motor en algún momento se traduce en cambiar el valor del registro del PWM. Cambiar la dirección y velocidad Interfaz vía comunicación serial. Avanzar/Retroceder [distancia] Avanzar/Retroceder [velocidad] Girar derecha/izquierda [grados] Girar derecha/izquierda [velocidad] Obtener distancia avanzada Obtener ángulo girado

    edu.red

    edu.red Control de Navegación Encoders y Motores Placa de Navegación Encoder I Motor Izq Encoder D Motor Der PWM PWM

    edu.red Control de Mecanismos Placa desarrollada a medida (Atmega128). Mecanismos que realiza la placa: Subir/bajar vaso de recolección. Girar cargador. Abrir/Cerrar vaso. Subir/bajar cámara. Etc…

    edu.red Control de Mecanismos Mecanismos activados por servomotores (PWM). Cambiar la posición de un servo, se traduce en cambiar el valor de un registro de timer.

    edu.red Control de Mecanismos Servomotores Placa de Navegación Servo 1 Servo 2 Servo 3 Servo 4 PWM 1 PWM 2 PWM 3 PWM 4

    edu.red Control de Mecanismos Las acciones a realizar están preprogramadas en la tarjeta de Control de Mecanismos. Las acciones son solicitadas por el PC a través de una interfaz por el puerto serial. Una acción involucra el movimiento de 1 o más servomotores. Movimiento sincronizado, para no dañar al robot (Servos de alto torque). Algunas de las acciones son: Cámara [angulo] Recoger pelota [color] Botar pelota [color] Etc..

    edu.red Control de Mecanismos Acciones preprogramadas involucran el movimiento de varios servos sincronizados. Estas acciones pueden demorar muchos segundos. Es necesario poder interrumpir algunas acciones de larga duración para realizar alguna más corta (Ej: ángulo cámara) Tal vez es necesario detener la acción que se está realizando (Ej: dejar de recoger pelota si se pierde de vista).

    edu.red Control de Mecanismos Para la interrupción de acciones se utiliza interrupción por timer, cada tiempo t fijo. En cada interrupción se verifica si es que existe alguna petición de acción nueva. Se soluciona el problema de dejar “tomada” la tarjeta de Control de Mecanismos durante la ejecución de una acción.

    edu.red Sistema de Visión Sensor principal Logitech Orbit, Conocida también como Logitech Sphere. Funciones de la camara en Petero: Detección de Linea que conecta habitaciones. Detección de Pelotas (color y posición). Detección de Recipientes (color y posición).

    edu.red Logitech Orbit Excelente Calidad de Imagen. Resolucion de Video ajustable (640×480, 320×240, 160×320). Chip Philips->Excelente soporte en Linux (Driver PWC, Philips WebCam). Angulo Visión Horizontal 38°, vertical 28°

    edu.red Logitech Orbit Precio mercado nacional $100.000.- app. Otras funciones USB 2.0 Movimiento Horizontal y Vertical. Zoom digital. Tracking.

    edu.red Detección de Pelotas Algoritmo Segmentación imagen en base a colores

    edu.red Detección de Pelotas Algoritmo Determinación de centroides y cálculo de distancias. (x1,y1) (x2,y2) (x3,y3)

    edu.red Detección de Linea. Algoritmo: Se convierte la imagen a binaria (blanco y negro). A partir de los puntos negros encontrados, se traza una recta. El robot se alinea con la recta y navega hasta el punto final de la misma.

    edu.red Integración de Algoritmos Robot navega por línea hasta habitación 1 Se posiciona en medio de la habitación Gira hasta encontrar una pelota Determina posición de pelota encontrada Recoge pelota Repite 3, 4 y 5 hasta recoger todas las pelotas

    edu.red Integración de Algoritmos Busca línea para navegar hasta habitación 2 Gira hasta encontrar recipiente Deposita pelota correspondiente al recipiente encontrado Repite 8 y 9 hasta depositar todas las pelotas

    edu.red Petero Daptilo En Acción