Está en la página 1de 4

Manejo de una Mano Robtica desde un Mdulo

Electrnico Raspberry Pi B+ con Sistema Operativo


Raspbian.
Byron Narvez R. (1) Andrea Mariduea C. (2)
Sistemas Operativos de Red
Escuela Superior Politcnica del Litoral
Guayaquil, Ecuador
byrvinar@espol.edu.ec(1) amariduea@espol.edu.ec(2)

Resumen: Este trabajo documenta el desarrollo de hardware y


software para el manejo de una mano robtica, completa con 6
grados de libertad con movimiento independiente en cada dedo,
desde un mdulo electrnico Raspberry pi B+ con un sistema
operativo Raspbian y con puertos digitales de entrada y salida.
Abstract: This paper is about the development of hardware and
software to drive a full robotic hand with 6 free degrees,
independent every finger, from a electroni c board Raspberry pi
B+ with a Raspbian operating system and input and output digital
ports
Palabras clave: Mano robtica, Raspberry pi, raspbian,
servomotor, arduino, python.

I. INT RODUCCIN
La interaccin entre el software y el hardware para el
desarrollo de proyectos basados en robtica, es uno de los
mayores pasos cuando se realiza la construccin de ideas, o
prototipos, existen muchos sistemas operativos basados en
robtica, los cuales se comunican con el hardware principal a
travs de seales de comunicacin serial, demostrando tambin
la importancia y la intervencin de los sistemas operativos en
Robtica.
La construccin de una mano robtica nos permite ver al
hardware de un robot ms all de unas simples tarjetas
electrnicas, motores, bateras y sensores, ya que podemos
visualizar como una idea llevada a lo fsico, puede emular muy
bien una parte del cuerpo humano, lo que nos permite idealizar
la construccin de algo ms all de una parte del cuerpo
humano sino del total de el mismo.
II HARDWARE
Para el desarrollo de este proyecto que incluye tanto la
construccin de la mano robtica, el hardware electrnico
usado para el funcionamiento de la misma, como tambin todo
el hardware usado para el correcto funcionamiento de nuestra
raspberry pi son los siguientes:

Tubo flexible para conductores elctricos.


Base de acrlico.
Piola.
Elstico.
Cinta Aislante.
Silicn.

6 servo motores
Arduino Uno Rev3.
Driver para servos, Torobot.
Fuente de 5V.
Tarjeta Raspberry Pi B+
Teclado USB
Mouse USB
Fuente de 5v mnimo 1A
Memoria micro SD de 4 GB
Cable HDMI
Televisor o monitor con entrada HDMI..

A. Construccin de la Mano Robtica.


El principal material del hardware de esta mano robtica
son los tubos elctricos flexibles, estos van a emular los dedos
del animatronic. Primero se calc en una cartulina el perfil de
una mano para usarla como plantilla. Aqu se marcaron los
lugares donde hay articulaciones en los dedos. Luego se
procede a recortar el tubo para formar cada dedo. Para las
articulaciones, se realiza un corte en V en el tubo para que
permita flexionar el material. A un extremo de cada dedo se
amarra un trozo de piola, ste ser el nexo entre el servo motor
y el tubo. Todos los dedos se unen con cinta aislante negra
desde la base que simula la mueca de la mano. El otro extremo
de piola se amarra a cada servomotor. Los tubos y servo
motores se pegan con la silicn a la base de acrlico
disponindolos de forma ordenada para que no se enreden las
piolas.
B. Raspberry Pi
Raspberry Pi es un ordenador de placa reducida o (placa
nica) (SBC) de bajo coste desarrollado en Reino Unido por la
Fundacin Raspberry Pi, con el objetivo de estimular la
enseanza de ciencias de la computacin en las escuelas.
Es capaz de hacer todo lo que espera de una computadora de
escritorio.[2]
navegar por Internet
reproduccin de vdeo de alta definicin,
hojas de clculo, procesadores de texto, juegos.
El Raspberry Pi es un ordenador de bajo costo, del tamao de
las tarjetas de crdito, se conecta a un monitor de ordenador o
un televisor, y utiliza un teclado y un ratn estndar.

C. Arduino
Es una plataforma de hardware libre, basada en una placa
con un microcontrolador y un entorno de desarrollo, diseada
para facilitar el uso de la electrnica en proyectos
multidisciplinares.
El hardware consiste en una placa con un microcontrolador
Atmel
AVR
y
puertos
de
entrada/salida.
Los
microcontroladores ms usados son el Atmega168, Atmega328,
Atmega1280, y Atmega8 por su sencillez y bajo coste que
permiten el desarrollo de mltiples diseos. Por otro lado el
software consiste en un entorno de desarrollo que implementa
el lenguaje de programacin Processing/Wiring y el cargador
de arranque que es ejecutado en la placa. Se programa en el
ordenador para que la placa controle los componentes
electrnicos.[1]
D. Torobot
Este es un controlador de servos de 32 canales diseado por
Torobot
Destacado con una CPU de 32 bits, que proporciona una mejor
velocidad,
precisin
y
estabilidad.
El controlador de servo puede ser fcilmente controlado por
cualquier software fcil de usar mediante UART (TTL). . Hay
mucha informacin que se ha encontrado al respecto.
Hay, un manual en lnea disponible, pero no fue de mucha
utilidad para m.
III SOFTWARE
Para poder ejecutar este proyecto luego de que todo su
hardware haya sido terminado en su totalidad, necesitamos
encargarnos de otra parte importante como lo es su software, la
instalacin del sistema operativo dentro de la tarjeta Raspberry
Pi, la configuracin del sistema operativo, la programacin del
cdigo en el lenguaje Python y la programacin del cdigo
dentro de la tarjeta arduino.
El software que usaremos para desarrollar este proyecto son:

Raspbian 3.18
Arduino IDE 1.0.5-r2
Python 2.
IDLE

A. Raspbian
Raspbian OS es la distribucin por excelencia para la
Raspberry Pi. Es la ms completa y optimizada de las
existentes, por eso cuenta con apoyo oficial. Raspbian OS se
basa en la potente distro Debian Wheezy (Debian 7.0)
optimizando el cdigo de sta para la SBC Raspberry Pi.
La distribucin es ligera para moverse gilmente en el
hardware de la Raspberry Pi, con un entorno de escritorio
LXDE y Midori como navegador web predeterminado. Adems
incluye herramientas de desarrollo muy interesantes, como
IDLE para Python, Scratch para programar videojuegos (muy
interesante sobre todo si se combina con Arduino), la tienda de
aplicaciones denominada Pi Store, etc
B. Arduino IDE
El cdigo abierto Arduino Software (IDE) hace que sea
fcil de escribir cdigo y subirlo a la tarjeta. Se ejecuta en
Windows, Mac OS X y Linux. El entorno est escrito en Java y

basado en el procesamiento y otro software de cdigo abierto.


Este software se puede utilizar con cualquier placa Arduino.
C. Python 2
Python es un lenguaje maravilloso y poderoso de
programacin que es fcil de usar (fcil de leer y escribir) y con
Raspberry Pi le permite conectar su proyecto hacia el mundo
real.
La sintaxis de Python es muy limpia, con un nfasis en la
lectura y utiliza palabras claves en ingls estndar. Se debe
comenzar abriendo el IDLE desde el escritorio.
D. IDLE
La introduccin ms fcil de Python es a travs de IDLE,
un entorno de desarrollo Python. Debe abrir IDLE desde el
men
de
escritorio
o
aplicaciones:
IDLE le da una REPL (Read-Evaluar-Print-Loop), que es un
indicador de que puede introducir comandos de Python. Como
es un REPL incluso tienes la salida de los comandos impresos a
la pantalla sin necesidad de utilizar la impresin.
Tenga en cuenta dos versiones de Python estn disponibles:
Python 2 y Python 3. Python 3 es la versin ms reciente y se
recomienda, sin embargo Python 2 est disponible para las
aplicaciones heredadas que no soportan Python 3 todava.
IV. DESARROLLO
Para el desarrollo de este proyecto se deben cumplir con la
ejecucin de ciertas etapas
antes de poder realizar su
funcionamiento, estas etapas deben cumplir un orden ya que
cada una depender de haber realizado la etapa anterior
inmediata, las etapas que tendremos que cumplir son las
siguientes:

Instalacin del sistema operativo Raspbian en el


mdulo Raspberry Pi.
Configuracin del sistema operativo.
Programacin del cdigo en Python.
Programacin del cdigo en Arduino.
Conexin del hardware

A. Instalacin del sistema operativo Raspbian en el mdulo


Raspberry Pi.
Para poder realizar la instalacin de Raspbian en la tarjeta
electrnica, debemos primero descargarlo desde la pgina
oficial de Raspberry Pi.
Lo siguiente es pasar el sistema operativo hacia una memoria
micro SD de mnimo 4GB, en este proyecto hemos usado una
memoria de 4Gb, la cual funcionar como disco duro, por lo
que debemos contar con alguna aplicacin que pueda instalar
este sistema operativo dentro de la memoria micro SD de
manera que al momento de colocarla en la tarjeta Raspberry pi
pueda iniciar de manera booteable. El programa que usamos
para poder configurar nuestra memoria micro SD de esta forma
es Win32 Disk Imager.

o podemos ejecutar el programa Python 2, en el cual elegimos


la opcin crear nuevo archivo, en este escribimos nuestro
cdigo, y lo guardamos como mano_robotica-py, a
continuacin se muestra el cdigo en Python.

Figura 1 Sistemas operativos Disponibles en la pagina official de


Raspberry Pi.

B. Configuracin del sistema operativo.


Al momento en el que el sistema operativo inicia nos muestra
una pantalla en al cual tenemos
ocho opciones de
configuracin del mismo.
De las cuales solo procedemos a configurar dos de ellas que son
las que necesitamos para el desarrollo de este proyecto.
La primera opcin que configuramos es el cambio de usuario y
contrasea de ingreso, y la segunda opcin de configuracin es
la de opciones de internacionalizacin donde configuramos el
idioma tanto del sistema como del teclado.
Luego de haber realizado esta configuracin procedemos a
escribir el comando startx para poder ingresar en el modo
grafico del sistema.

Import serial
Arduino=serial.Serial(/dev/ttyAMA0,9600,timeout=
1)
ser.open()
print("Starting!")
while True:
comando = raw_input('Introduce un comando: ')
arduino.write(comando)
arduino.close( ) #FINALIZA LA COMUNICACIN
Como en nuestro cdigo usamos comunicacin serial mediante
el puerto UART de nuestra GPIO de la tarjeta Raspberry Pi,
necesitamos instalar el paquete que nos permite poder realizar
esta comunicacin, por lo tanto escribimos en nuestra terminal
de consola el comando: sudo apt-get install python-serial.
D. Programacin del cdigo en Arduino
Nuestro cdigo en Arduino se basa en dos etapas importantes
que son: la recepcin de los datos seriales desde la tarjeta
Raspberry Pi hacia el Arduino, y el envo de otros datos seriales
desde la tarjeta Arduino hacia el controlador de los
servomotores los cuales dependern de los datos que reciban
desde la Raspberry Pi, los cuales son validados en nuestro
cdigo.
E. Conexin del hardware
La conexin del hardware est muy ligada al cdigo que
programamos tanto en nuestra tarjeta raspberry pi como en la
tarjeta arduino.
Para la comunicacin serial que realizamos entre la Raspberry
Pi y la tarjeta Arduino necesitamos de un convertidor de niveles
de voltaje el cual se lo utiliza debido a que los niveles de
voltaje TTL de la tarjeta Raspberry Pi son menores a los niveles
de voltaje TTL de la tarjeta Arduino UNO, de 3.3v y 5v
respectivamente.

Figura 2

Ventana de Configuracin.

Figura 4 esquemtico de la comunicacin entre tarjetas.

Figura 3 Modo grfico de este sistema operativo

C. Programacin del cdigo en Python


Para realizar la programacin en el lenguaje Python dentro de la
raspberry Pi debemos ejecutar IDLE, esto lo hacemos desde la
terminal de consola de raspbian, con el comando sudo IDLE,

Figura 5 esquemtico usando el convertidor de noveles de voltaje.

V. FUNCIONAMIENTO
La mano robtica funciona de la siguiente manera:
1. Abrir el cdigo desde Python y lo mandamos a
correr.
2.

Escribimos la letra o nmero que deseamos que


nuestra mano robtica realice.

3.

Esta letra o nmero es enviado como dato serial al


Arduino Uno por la conexin desde el GPIO, la
cual es analizada y luego selecciona la posicin de
cada servo. Un paquete de datos con todas estas
posiciones es enviada a la tarjeta Torobot.

4.

La tarjeta Torobot es la encargada de suministrar la


potencia necesaria a los servos de la mano. La
Torobot es capaz de controlar 32 servo motores a
la vez y se comunica de forma serial con el
Arduino Uno.

VI. RESULTADOS
Al finalizar el funcionamiento de nuestro proyecto podemos
observar que nuestra mano robtica puede realizar con mucha
facilidad el movimiento de todos los dedos, emulando de gran
manera la simbologa de los nmeros del 1 al 5 como tambin
las letras del alfabeto dactilolgico en el lenguaje de seas.
En las figuras 3 y 4 se puede observar la posicin de los dedos
luego de enviar los comandos desde Python para las letras W,
V.

Figura 1 Representacin de la letra "W" y V

VII. CONCLUSIONES
Podemos concluir que Raspberry pi en cualquiera de
sus modelos es una buena herramienta para la
interaccin con prototipos robticos, su mayor ventaja
es su dimensin.
Al igual que un computador normal puede trabajar con
diversos sistemas operativos en su mayora Linux,
siendo el ms usado Raspbian, el cual como pudimos
ver es de fcil manejo.
Su banco de pines GPIO es lo que le da ese enlace
perfecto con diferentes mdulos de programacin
como arduino, puentes H para motores, incluso
diferentes microcontroladores, conectar sensores o
elementos indicadores como leds.

A GRADECIMIENT OS
Es de mucha importancia para nosotros resaltar en este
proyecto la importancia que tuvo la colaboracin del club de
Robtica de la ESPOL, ROBOTA, al facilitarnos el uso de
ciertos elementos electrnicos, para el desarrollo de este
proyecto. Agradeciendo a su presidente Edgar Vela.
Tambin debemos resaltar la colaboracin de nuestro profesor
el Ingeniero Washington Velsquez Vargas al haber aceptado
este tema dentro de los proyectos a exponer al final de este
trmino acadmico.
REFERENCIAS
[1] https://es.wikipedia.org/wiki/Arduino
[2] https://www.raspberrypi.org/help/what -is-a-raspberry-pi/

También podría gustarte