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 😛 (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) Control de Navegación
(Atmega128) Control de Mecanismos (Atmega128) RS-232 RS-232
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 Programa Principal Espera “boton” para iniciar
Hilo que espera “boton” para terminar
ejecución. Botón Inicio Botó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 Encoders y Motores Placa de
Navegación Encoder I Motor Izq Encoder D Motor Der PWM
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
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 (640×480, 320×240, 160×320). 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 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
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
Petero Daptilo En Acción