robótica y linux: cómo se hizo cube revolutions. upsam-2005

Upload: juan-gonzalez-gomez

Post on 30-May-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    1/49

    Robtica y Linux:Cmo se hizo Cube Revolutions

    Escuela Politcnica SuperiorUniversidad Autnoma de Madrid

    Juan Gonzlez Gmez

    IV Jornadas Software Libre UPSAM. Marzo, 2005.

    IV Jornadas de Software Libre en la UPSAM

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    2/49

    La charla sobre Robtica y Linux normalmente la damosdos personas...

    Una de ellas, Andrs Prieto-Moreno, acaba de ser padre:

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    3/49

    Desde recin nacida se est familiarizando con elsoftware libre:

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    4/49

    NDICE

    Introduccin

    Mecnica

    Software

    Electrnica

    Trabajo Futuro

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    5/49

    Introduccin

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    6/49

    Robtica

    Dos grandes reas: Manipulacin: Capacidad demodificacin de los objetos del entorno

    Locomocin: Facultad paradesplazarse de un lugar a otro

    Robtica Industrial Robtica Mvil

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    7/49

    Clasificacin Robots

    Con ruedas:

    Con orugas:

    Con patas:

    Otros:

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    8/49

    Cube Revolutions

    Robot podo Modular: Constituido por 8 mdulos igualesAbierto: Toda la informacin est disponible para que cualquiera lopueda construir o modificar: planos y software.

    Aplicaciones: Estudio de la locomocin

    Acceso a zonas de difcil acceso

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    9/49

    Evolucin

    Cube (2001) Cube Reloaded (2003)

    Cube Revolution (2004) Hypercube (200?)

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    10/49

    Mecnica

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    11/49

    Mdulos Y1

    Mdulos Y1 Material: pvc expandido de 3mm Se utilizan servos del tipo Futaba 3003 Conexin en fase y desfase

    Vdeo

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    12/49

    Planos

    Para "compartir" el robot, necesitamos tener los planos Qu herramientas usar para el diseo de estos planos?

    Alternativas que se tenan:

    AUTOCAD QCAD

    Muy profesional

    Muy extendido

    Lo mejor de lo mejor....

    Precio de la licencia"proporcional" a lo bueno que es...

    Slo Windows

    Limitaciones a la comparticin

    Poco conocido No profesional

    LIBRE

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    13/49

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    14/49

    QCAD

    Con QCAD es ms fcilcompartir los planos

    Versin actual: 2.0.4

    Ya s es profesional...

    Diseo en 2D

    Formato DXF (Autocadlo puede importar)

    Disponible en Debian

    (apt-get install qcad)

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    15/49

    Diseo con QCAD

    PASO 1: Tener los planos del Servo Futaba 3003

    Adems, as la "comunidad" dispone de los planos, para otros usos

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    16/49

    Diseo con QCAD

    PASO 2: Diseo del mdulo

    Di QCAD

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    17/49

    Diseo con QCAD

    PASO 3: Creacin de la plantilla con las piezas

    PASO 4: Construccin

    Se imprimen en papel de pegatina

    Se pega sobre una plancha de PVC

    Se cortan las piezas

    Se monta el mdulo

    Montaje

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    18/49

    Montaje

    Planos Plantillas

    El corte puede ser "manual" Para prototipos msavanzados: Corte por lser

    Montaje

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    19/49

    Montaje

    Versin artesanal Corte por lser

    Demo de QCAD

    Modelo 3D

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    20/49

    Modelo 3D

    Los planos estn muy bien para la construccin Para hacerse una "idea" del aspecto del mdulo, es mejorhacer un modelo en 3D

    BLENDER

    BLENDER

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    21/49

    BLENDER

    Modelado 3D y animacin Programa bajo licencia GPL Multiplataforma Disponible en Debian (apt-get install blender)

    BLENDER

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    22/49

    BLENDER

    Se importan las plantas de las piezas, desde QCAD y se les daaltura Primero fue necesario crear el modelo virtual de los servos

    Despues se modelaron las piezas del mdulo Y1

    Documentacin

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    23/49

    Documentacin

    Los modelos en 3D son muy tiles para documentar... Ej: Proceso de montaje de los mdulos Y1

    Documentacin

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    24/49

    Documentacin

    Gusano virtual Gusano real

    Tambin resulta muy til para ver la pinta que tendr el robotantes de construirlo

    Veamos los mdulos con Blender

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    25/49

    Veamos los mdulos con Blender...

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    26/49

    Electrnica

    Arquitectura

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    27/49

    AlimentacinPC

    RS-232

    Arquitectura

    El gusano se controla desde el PC

    Lo manejamos como si fuese un perifrico La electrnica se conecta al puerto serie por un lado ydirectamente a los servos por el otro Incluye un microcontrolador (PIC o 6811)

    Tarjeta Skypic

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    28/49

    Tarjeta Skypic

    Por ejemplo se puede usar la tarjeta Skypic

    Basada en el PIC16F876 ES HARDWARE LIBRE

    Disponibles todos los esquemas

    Se conceden permisos para su uso, modificacin, distribucin

    y fabricacin.

    Herramienta diseo electrnico

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    29/49

    Herramienta diseo electrnico

    Qu herramienta usar para diseo del hardware?

    El diseo de la Skypic se ha hecho con el EagleNo es libre, pero hay versin para Linux (disponible en Debian,en el repositorio non-free)

    Herramienta diseo electrnico

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    30/49

    Herramienta diseo electrnico

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    31/49

    Sin embargo, hace poco se ha liberado el programa KICAD

    Es totalmente profesional Licencia GPL!!!!!

    Demo de KICAD

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    32/49

    Software

    Arquitectura

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    33/49

    PC

    RS-232

    q

    Cliente Servidor

    Los servos son "perifricos" del PC El software se comunica con la electrnica mediante tramasque se envan por el puerto serie El servidor actual permite manejar hasta 8 servos. Estesoftware NO es especfico para Cube Revolutions. Se puedeusar para programar cualquier robot que tenga hasta 8 servos

    Tramas

    Tramas para manejo de servos

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    34/49

    p j

    Cliente Servidor

    PING Servicio de PINGPONG

    ID Servicio deidentificacinRID

    ENABLE Servicio de

    habilitacin de servos

    POS Servicio deposicionamiento deservos

    API en C para posicionamiento de servos

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    35/49

    p p

    sg_servos8_pos1_grados()

    sg_tramas_init()

    sg_servos8_init()Inicializacin

    sg_ping()

    sg_id()

    sg_servos8_enable()

    sg_open() Abrir puerto serie

    Servicio PING

    Servicio de identificacin

    Habilitacin de servos

    Posicionamiento

    Programa "hola servo"

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    36/49

    #include

    #include "sg-tramas-servos8.h"

    int main (void)

    {int serial_fd; /*-- Descriptor puerto serie */

    serial_fd=sg_serial_open("/dev/ttyS0"); // Abrir puerto serie

    sg_tramas_init(serial_fd); //-- Inicializar

    sg_servos8_init(serial_fd);

    sg_servos8_enable(0x03); //-- Habilitar servo 1 y 2

    sg_servos8_pos1_grados(1,90); //-- Posicionar en un extremo

    sg_servos8_pos1_grados(2,90);

    sleep(2);

    sg_servos8_pos1_grados(1,-90); //-- Posicionar en otro extremo

    sg_servos8_pos1_grados(2,-90);

    close(serial_fd); //-- Cerrar puerto serie

    }

    Programa "hola servo"

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    37/49

    DEMO

    Manejando servos desde intefaz grfica

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    38/49

    Manejando servos desde intefaz grfica

    La API permite establecer laposicin de cualquiera de los8 servos

    No es un software especficopara CUBE: es vlido paraotros robots articulados

    DEMO

    Probando Cube

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    39/49

    Probando Cube

    DEMO

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    40/49

    Software para laLocomocin

    Generacin del movimiento

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    41/49

    Generacin del movimiento

    A partir del tipo de onda, amplitud y longitud de onda, seconsiguen secuencias de movimiento diferentes

    Locomocin

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    42/49

    La locomocin se implementa segn el siguiente diagramade bloques:

    Modelo depropagacin

    de ondas

    Secuencia(Matriz)

    Generacin Reproduccin

    DEMO 2

    Resumen del software

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    43/49

    MECANICA QCAD (GPL)BLENDER (GPL)

    ELECTRNICA

    TARJETA SKYPIC (GPL)

    EAGLE (no libre)

    KICAD (GPL, futuro)

    SOFTWARE

    Lenguajes: C y C#

    GTK y GTK# (GPL)Mono (GPL)

    Enlaces

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    44/49

    Algunas direcciones web son difciles de recordar... Para acceder atoda la informacin hacer lo siguiente:

    1) Ir a Google

    2) Teclear: "Cube Reloaded"3) Pinchar en voy a tener suerte

    Tambin podis acceder directamente a la direccin:

    www.iearobotics.com

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    45/49

    lbum de Fotos

    Hispabot 2004

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    46/49

    Experimentos con un Gusano de Seda

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    47/49

    El gusano de seda descansando, una vezfinalizada la jornada laboral en el laboratorio

    En los congresos de Robtica hay mucho estress

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    48/49

    En los congresos de Robtica hay mucho estress..

    IV Jornadas de Software Libre en la UPSAM

  • 8/14/2019 Robtica y Linux: Cmo se hizo Cube Revolutions. UPSAM-2005

    49/49

    Robtica y Linux:

    Cmo se hizo Cube Revolutions

    Escuela Politcnica SuperiorUniversidad Autnoma de Madrid

    Juan Gonzlez Gmez

    IV Jornadas Software Libre UPSAM. Marzo, 2005.