View
231
Download
0
Category
Preview:
Citation preview
Sistemas Embebidos en Robótica
www.austec.clRodrigo Araya - Gustavo Bodero - Miguel Brintrup - Eduardo Labarca - José Manuel Ortiz - José Luis Valenzuela
Índice
Desafío Estructura Mecánica Alimentación Hardware y Control Procesamiento de Imágenes
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
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
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
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
Estructura Mecánica: Chasis
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
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°)
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
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
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 :P (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
Estructura Mecánica: Cargador Vertical
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
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)
Comunicación del Robot El esquema utilizado para el control del
robot, es el siguiente
Unidad Central de Procesamiento
(PC Mini-ITX)
Unidad Central de Procesamiento
(PC Mini-ITX)
Control de Navegación
(Atmega128)
Control de Navegación
(Atmega128)
Control de Mecanismos(Atmega128)
Control de Mecanismos(Atmega128)
RS-232 RS-232
Botonera(Ejecutar/Detener)
Botonera(Ejecutar/Detener)
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).
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.
Unidad de Procesamiento Central
Ejecución del software en el PC
ProgramaPrincipal
ProgramaPrincipal
Espera “boton” para iniciar
Espera “boton” para iniciar
Hilo que espera “boton”para terminar ejecución.
Hilo que espera “boton”para terminar ejecución.
Botón Inicio
Botón Inicio
BotónTérminoBotón
Término
Elimina proceso principal
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…).
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
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.
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
Control de Navegación
Interrupción (Pin Encoder)
Ejecución Principal
Contador++
Continua ejecución
Interrupciones Encoders
Control de Navegación
Encoders y Motores
Placa de Navegación
Placa de Navegación
Encoder I
Motor Izq
Encoder D
Motor DerPWM PWM
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…
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.
Control de Mecanismos
Servomotores
Placa de Navegación
Placa de Navegación
Servo 1
Servo 2
Servo 3
Servo 4
PWM 1
PWM 2
PWM 3
PWM 4
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..
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).
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.
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).
Logitech Orbit
Excelente Calidad de Imagen. Resolucion de Video ajustable
(640x480, 320x240, 160x320). Chip Philips->Excelente soporte
en Linux (Driver PWC, Philips WebCam).
Angulo Visión Horizontal 38°, vertical 28°
Logitech Orbit
Precio mercado nacional $100.000.- app.
Otras funciones USB 2.0 Movimiento Horizontal y Vertical. Zoom digital. Tracking.
Detección de Pelotas
Algoritmo Segmentación imagen en base a colores
Detección de Pelotas
Algoritmo Determinación de centroides y cálculo de
distancias.
(x1,y1)
(x2,y2)
(x3,y3)
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.
Integración de Algoritmos
1. Robot navega por línea hasta habitación 12. Se posiciona en medio de la habitación3. Gira hasta encontrar una pelota4. Determina posición de pelota encontrada5. Recoge pelota6. Repite 3, 4 y 5 hasta recoger todas las
pelotas
Integración de Algoritmos
1. Busca línea para navegar hasta habitación 2
2. Gira hasta encontrar recipiente3. Deposita pelota correspondiente al
recipiente encontrado4. Repite 8 y 9 hasta depositar todas las
pelotas
Petero Daptilo En Acción
Consultas
info@austec.cl
Recommended