You are on page 1of 41

Sistemas Embebidos en Robótica

www.austec.cl
Rodrigo 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 Botonera


de Procesamiento (Ejecutar/Detener)
(PC Mini-ITX)

RS-232 RS-232

Control de Control de
Navegación Mecanismos
(Atmega128) (Atmega128)
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
Espera “boton”
para iniciar

Botón
Inicio

Hilo que espera “boton”


Programa para terminar ejecución. Botón
Principal 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
 Encoders y Motores

PWM PWM
Motor Izq Motor Der
Placa de
Navegación
Encoder I Encoder D
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 PWM 1
Servo 1

PWM 2
Placa de Servo 2
Navegación
PWM 3
Servo 3

PWM 4
Servo 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.

(x2,y2)

(x1,y1)

(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 1
2. Se posiciona en medio de la habitación
3. Gira hasta encontrar una pelota
4. Determina posición de pelota encontrada
5. Recoge pelota
6. 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 recipiente
3. Deposita pelota correspondiente al
recipiente encontrado
4. Repite 8 y 9 hasta depositar todas
las pelotas
Petero Daptilo En Acción
Consultas

info@austec.cl

You might also like