Club 185
Club 185
Editorial
Nº 185
Editorial 1
Robótica BEAM, Inteligencia Artificial y Lógica Difusa
sumario
CAPítULo 1 Las Señales Mioeléctricas . . . . . . . . . . . . . . . . . . . . . . . . .41
LA EvoLUCIóN DE LAS CoMPUtADoRAS: Práctica: Control de Brazo Robot
RobótICA E INtELIgENCIA ARtIfICIAL . . . . . . . . . . . .3 Mediante Señales EMG . . . . . . . . . . . . . . . . . . . . . .44
Inteligencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Introducción al Problema . . . . . . . . . . . . . . . . . . . . . . .44
¿Qué es la Inteligencia? . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Diseño del Sistema de Control Fuzzy . . . . . . . . . . . . .45
¿Cómo se mide la inteligencia? . . . . . . . . . . . . . . . . . . . . . .5 Implementación con PICAXE . . . . . . . . . . . . . . . . . . . .47
Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 El Fuzzificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
¿Superarán las Máquinas al Hombre? . . . . . . . . . . . . . . . . .8 Desfuzzificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Spaun, una Simulación Cerebral Funcional . . . . . . . . . . . .11 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
CAPítULo 2
RobótICA y LógICA DIfUSA: CAPítULo 5
REDES NEURoNALES ARtIfICIALES . . . . . . . . . . . . .13 bASES PARA LA CoNStRUCCIóN DE
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Perceptrón Simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 RobotS y MINI-RobotS:
Algoritmo de Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . .16 RobótICA y MINI-RobótICA bEAM . . . . . . . . . . . .53
Práctica: Implementación de un Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
Perceptrón Simple en NePic . . . . . . . . . . . . . . . . . .17 Microcore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
El Sistema NePic . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Solar Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
Robótica Clásica Vs Robótica BEAM . . . . . . . . . . . . . . . . .55
CAPítULo 3 Historia y Evolución de la Robótica BEAM . . . . . . . . . . . . .56
REDES NEURoNALES E INtELIgENCIA ARtIfICIAL: Práctica: Clasificación de la Robótica bEAM . . . .58
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
IMPLEMENtACIóN DE UN CEREbRo Robots No Motrices . . . . . . . . . . . . . . . . . . . . . . . . . . .60
PARA Robot MóvIL . . . . . . . . . . . . . . . . . . . . . . . .21 Robots Motrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Aplicaciones de la Robótica BEAM . . . . . . . . . . . . . . .64
El Perceptrón Multicapa (MLP) . . . . . . . . . . . . . . . . . . . . .22 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Práctica: Implementación de un
Robot Móvil con NePic . . . . . . . . . . . . . . . . . . . . . .24 CAPítULo 6
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
Un Robot para Experimentar . . . . . . . . . . . . . . . . . . . .25 ARME UN PEqUEño Robot DESDE CERo:
La Red que Usaremos . . . . . . . . . . . . . . . . . . . . . . . . .28 CoNStRUCCIóN DE UN MICRobot . . . . . . . . . . . . . .69
Regiones de Decisión . . . . . . . . . . . . . . . . . . . . . . . . .28 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
Primera Práctica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 Movilidad de Nuestra Estructura . . . . . . . . . . . . . . . . . . . . .71
Segunda Práctica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 Los Sensores del Microbot . . . . . . . . . . . . . . . . . . . . . . . . .72
El Sensor CNY70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
CAPítULo 4 El Sistema de Actuación: Control de Motores . . . . . . . . . .74
INtRoDUCCIóN AL CoNtRoL CoN fUzzy LogIC: Control de Motores por Medio de Microcontrolador . . . . . .77
CoNtRoL DE bRAzo Robot
PoR SEñALES ELECtRoMIogRÁfICAS . . . . . . . . . . .37
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 CAPítULo 7
Los Conjuntos Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 PRÁCtICAS CoN MAtLAb . . . . . . . . . . . . . . . . . . .81
Diseño de un Control Fuzzy . . . . . . . . . . . . . . . . . . . . . . . .40 Montaje del Driver L293B con el Microcontrolador PIC . . .78
2 Sumario
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 3
C a p í t u lo 1
r obótica E
i ntELigEncia a rtificiaL
Como una primera aproximación, podemos decir que la robótica es la ciencia y la tecno-
logía de los robots. Se ocupa del diseño, manufactura y aplicaciones de los robots La
robótica combina diversas disciplinas como son: la mecánica, la electrónica, la informá-
tica, la inteligencia artificial y la ingeniería de control. Otras áreas importantes en robó-
tica son el álgebra, los autómatas programables y las máquinas de estados. Desde los
comienzos de la implementación de automatismos en las máquinas, a mediados de la
década del 50 del siglo pasado, se han buscado diferentes técnicas que impriman cierta
autonomía en la toma de decisiones de estas máquinas frente a diferentes procesos lo
que ha llevado a la implementación de lógicas difusas y a la formulación de otras técni-
cas. En este capítulo veremos de qué manera el hombre sigue buscando mecanismos
que simulen el funcionamiento del cerebro con el objeto de encontrar respuestas a cier-
tas enfermedades que sirvan, además, para la implementación de robots independientes
que puedan realizar tareas sumamente riesgosas para el hombre.
Capítulo 1 3
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 4
4 Capítulo 1
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 5
Inteligencia artificial
compuesta de intus * Inteligencia
(entre) y legere lingüística-
(escoger). Por lo Verbal: Es la flui-
que podemos dez que posee una
deducir que ser persona en el uso
inteligente es saber de la palabra.
elegir la mejor Destreza en la utili-
opción entre las zación del len-
que se nos brinda guaje, haciendo
para resolver un hincapié en el sig-
problema. nificado de las
Por ejemplo, si a palabras, su orden
una persona se le sintáctico, sus
plantea subir al sonidos, ...
tejado de una casa,
la persona selec- Esta inteligencia
cionará los instru- nos capacita para
mentos que cree escribir poemas,
necesario para historias, ...
subir, pues con los
conocimientos que * Inteligencia
ya posee (lógicos, Visual-espacial:
matemáticos, ...) Es la habilidad de
ha ideado una crear un modelo
forma para ejecutar una acción que le permitirá mental de formas, colores, texturas, ... Está
subir al tejado. Unos dirán que con una esca- ligada a la imaginación. Una persona con alta
lera, otros con una cuerda, otros necesitarán inteligencia visual está capacitada para trans-
una serie de instrumentos. formar lo que crea en su mente en imágenes,
tal como se expresa en el arte gráfico. Esta
“Una persona más inteligente que otra esco- inteligencia nos capacita para crear diseños,
gerá una opción mejor que otra”. cuadros, diagramas y construir cosas.
Capítulo 1 5
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 6
6 Capítulo 1
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 7
Inteligencia artificial
demasiado cuando te pregunten ¿qué es la más específica la inteligencia artificial es la dis-
inteligencia? responde sutilmente: una palabra. ciplina que se encarga de construir procesos
que al ser ejecutados sobre una arquitectura
física producen acciones o resultados que
IntelIgencIa artIfIcIal maximizan una medida de rendimiento determi-
nada, basándose en la secuencia de entradas
Se denomina inteligencia artificial (IA) a la percibidas y en el conocimiento almacenado en
rama de las ciencias de la Computación dedi- tal arquitectura.
cada al desarrollo de agentes racionales no Existen distintos tipos de conocimiento y
vivos. medios de representación del conocimiento, el
Para explicar la definición anterior, entién- cual puede ser cargado en el agente por su
dase a un agente como cualquier cosa capaz diseñador o puede ser aprendido por el mismo
de percibir su entorno (recibir entradas), proce- agente utilizando técnicas de aprendizaje.
sar tales percepciones y actuar en su entorno También se distinguen varios tipos de proce-
(proporcionar salidas), y entiéndase a la racio- sos válidos para obtener resultados racionales,
nalidad como la característica que posee una que determinan el tipo de agente inteligente.
elección de ser correcta, más específicamente, De más simples a más complejos, los cinco
de tender a maximizar un resultado esperado. principales tipos de procesos son:
De acuerdo al concepto previo, racionalidad
es más general y por ello más adecuado que * Ejecución de una respuesta predetermi-
inteligencia para definir la naturaleza del obje- nada por cada entrada (análogas a actos refle-
tivo de esta disciplina. Por lo tanto, y de manera jos en seres vivos).
Capítulo 1 7
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 8
8 Capítulo 1
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 9
Inteligencia artificial
Capítulo 1 9
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 10
10 Capítulo 1
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 11
Inteligencia artificial
spaun, una sIMulacIón cerebral funcIonal (compuestas por unas 10.000 neuronas). Es un
proyecto a largo plazo cuyos resultados vere-
La simulación cerebral es un área fascinante mos en el futuro.
en la que se mezclan neurociencia y computa- IBM ha realizado la mayor simulación neuro-
ción de alto nivel. Periódicamente recibimos nal hasta la fecha. 500 mil millones de neuro-
noticias de nuevas y sorprendentes simulacio- nas y 100 billones de sinapsis. Sin embargo, es
nes. Con frecuencia las informaciones son con- un proyecto de computación, no de neurocien-
fusas y es importante colocar cada cosa en su cia. No simula nada parecido a un comporta-
sitio. Spaun es un simulador que por primera miento humano. El objetivo a largo plazo es
vez simula la funcionalidad de un cerebro com- construir novedosos chips neurosinápticos de
plejo. Es decir, trata de hacer lo que hace un arquitectura no Von Neumann.
cerebro real. Un camino muy prometedor. Un proyecto mucho menos ambicioso pero
Uno de los primeros intentos fue el proyecto más realista es OpenWorm. Trata de simular la
Blue Brain, que sigue en marcha aunque últi- conducta de C. Elegans, un gusano del que
mamente con pocas noticias. La idea es simu- conocemos su Conectoma, sus 302 neuronas y
lar cada una de las baldosas o ladrillos del sus sinapsis. Empezar por lo sencillo tiene sus
cerebro llamadas columnas neocorticales ventajas.
Juntar un montón de
Simulación Cerebral neuronas y esperar que
Funcional emerja algo interesante
no parece una vía plau-
sible para entender
cómo funciona algo tan
sofisticado como el
cerebro.
Spaun, el nuevo simula-
dor, es novedoso y muy
interesante. Junto con
OpenWorm está en la
línea de las simulacio-
nes funcionales. Esto
significa que pretende
simular tareas reales
que realizamos los
humanos.
Para ello, simula 2,5
millones de neuronas
agrupadas en áreas
cerebrales que real-
mente tenemos los
humanos. Subredes del
simulador se correspon-
den con áreas anatómi-
cas físicas como el área
visual en el lóbulo occi-
pital, el área motora,
funciones ejecutivas en
el lóbulo frontal y memo-
Capítulo 1 11
Cap 1 - inteligencia:ArtTapa 15/01/13 09:51 Página 12
12 Capítulo 1
Cap 2 - redes neuronales:ArtTapa 15/01/13 10:02 Página 13
C a p í t u lo 2
R eDes N euRoNaLes
a RtificiaLes
De lo visto en el capítulo anterior se deduce que Inteligencia Artificial (IA) es el área
encargada de estudiar metodologías, procedimientos, arquitecturas, etc. que permitan
a una computadora (o a cualquier aparato con capacidad de procesar información)
implementar actividades que, por el momento, el hombre realiza mejor (adquirir cono-
cimientos, razonar y actuar). Algunos ejemplos de aplicación son: diagnóstico
médico, diagnóstico industrial, problemas de percepción (visión, habla), interpretación
de señales e imágenes, juegos, detección de virus en computadoras, navegación de
robots móviles, etc. Para que un robot pueda “emular” un sistema biológico suelen
emplearse algoritmos computacionales complejos denominados “redes neuronales
artificiales”. La unidad se denomina perceptrón y representa a las neuronas biológi-
cas, quienes poseen elementos especializados para recibir, integrar, conducir y trans-
mitir señales. El perceptrón simula matemáticamente una sola neurona y sus estudio
lo veremos a continuación.
Capítulo 2 13
Cap 2 - redes neuronales:ArtTapa 15/01/13 10:02 Página 14
Figura 1
14 Capítulo 2
Cap 2 - redes neuronales:ArtTapa 15/01/13 10:02 Página 15
Y = 1 si
Figura 4
Y = 0 si
Capítulo 2 15
Cap 2 - redes neuronales:ArtTapa 15/01/13 10:02 Página 16
16 Capítulo 2
Cap 2 - redes neuronales:ArtTapa 15/01/13 10:02 Página 17
PrácTica:
implementación de un
Perceptrón Simple en NePic
el SIStemA nePIc un perceptrón simple mediante el software y
luego usarlo en un PIcAXe, (ver Saber 205,
Para realizar las prácticas, me pareció ade- 211 o consultar el sitio web www.rev-ed.co.uk
cuado crear un pequeño software para el entre- para saber más de éstos).
namiento de neuronas y la generación del códi- Vamos a enseñarle a un perceptrón a resol-
go que vamos a emplear en los microcontrola- ver la función “OR”, este ejemplo es sumamen-
dores. Este software va ir creciendo con los ar- te simple, pero sirve para entender la idea, ade-
tículos. Nuestra primer práctica va ser entrenar más por tradición, así como al aprender a pro-
gramar uno aprende a escribir “HELLO WORD”
en pantalla, en IA es la función “OR” el primer
ejercicio .
Veamos nuestro software (que Ud. lo puede
bajar gratuitamente de nuestra web: www.we-
belectronica.com.mx, haciendo clic en el íco-
no password e introduciendo la clave nepic), Al
ejecutar el programa aparecerá la imagen de la
figura 6 y al hacer clic en el botón “Perceptrón
para OR” aparecerá la imagen de la figura 7;
note que posee una tabla que deberemos com-
pletar para que la red “aprenda” que es una
compuerta OR.
Para cargar la tabla y entrenar la red proce-
demos como sigue, por ejemplo para cargar el
segundo renglón hacemos clic en In1 y Out, o
sea los encendemos, y luego damos clic sobre
Figura 6 “cargar”, así en patrones cargados queda tal
Capítulo 2 17
Cap 2 - redes neuronales:ArtTapa 15/01/13 10:02 Página 18
Figura 9
Luego presionamos “entrenar” con lo que el sos w11 y w12 (equivalentes a w1 y w2), que
software ejecuta el algoritmo de entrenamiento son los que codifican la solución del problema.
visto ( algoritmo 2), durante el número de veces El código en sí, no es más que el modelo ma-
elegido y va modificando los pesos. Finalmen- temático de la neurona (algoritmo 1) que vimos
te se enciende el indicador “LISTO”, entonces anteriormente implementado y ejecutado, vez
presionamos “Generar código BASIC”, ésto ge- tras vez, en software. Y podríamos haberlo ge-
nera un código para PIcAXe que se guardará nerado mediante el editor de flujo de PICAXE
con el nombre de “C:\Archivos de programa- (en el “PICAXE Programming Editor”, se puede
\Nepic\ NeurOR.bas”, (se puede abrir con edi- bajar gratis de www.rev-ed.co.uk), y simularlo
tor de textos). con el simulador, de la forma que se ve en la fi-
El código BASIC generado es el que vemos gura 11.
en figura 10. En el problema de la figura 12 incluso “a ojo”
El entrenamiento, lo que genera son los pe- podríamos haber obtenido los pesos w1 y w2,
18 Capítulo 2
Cap 2 - redes neuronales:ArtTapa 15/01/13 10:02 Página 19
Figura 12
Figura 11
Figura 13
Capítulo 2 19
Cap 2 - redes neuronales:ArtTapa 15/01/13 10:02 Página 20
20 Capítulo 2
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 21
C a p í t u lo 3
Capítulo 3 21
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 22
22 Capítulo 3
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 23
Capítulo 3 23
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 24
PrácTica:
implementación de un
robot Móvil con NePic
IntroduccIón que navegue por el entorno, evitando los obs-
táculos y alcanzando la meta. Existe varios en-
A grandes rasgos, el problema puede enun- foques para resolver este problema, y entre
ciarse de la siguiente manera: un robot móvil ellos se encuentran las técnicas de IA como
se encuentra situado en un determinado am- son la Lógica Fuzzy y las Redes Neuronales.
biente, que contiene una serie de obstáculos y Estas técnicas han permitido aproximarse a la
una meta. Se trata de controlar el robot para solución de muchos problemas de control debi-
24 Capítulo 3
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 25
Capítulo 3 25
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 26
26 Capítulo 3
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 27
Es importante tener en
cuenta que si se trata de
pletamente lisa, de manera que los soportes no motores de corriente continua, como es este
se traben, por ejemplo un mesa con cubierta de caso, depende como los conectemos, van a gi-
fórmica. rar hacia un lado u otro.
A continuación veremos cómo realizar las Para asegurarnos de hacer bien las conexio-
conexiones, para esto nos guiaremos por la fi- nes lo mejor es, una vez puestos en su lugar,
gura 10, los números dibujados sobre la placa, probar con la fuente directamente como deben
nos señalan lo que hay que conectar en esos ir conectadas las polaridades para que cada
pines marcados: motor gire en un sentido que provoque el avan-
ce del robot.
Figura 9 Una vez logrado esto, mar-
camos cada cable del mo-
tor según qué polaridad re-
ciba de la batería como + o
-. Entonces continuamos:
Capítulo 3 27
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 28
Figura 12
28 Capítulo 3
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 29
Capítulo 3 29
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 30
PrIMEra PráctIca
30 Capítulo 3
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 31
Figura 18
Capítulo 3 31
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 32
Figura 23
sEgunda PráctIca
32 Capítulo 3
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 33
Capítulo 3 33
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 34
34 Capítulo 3
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 35
Figura 30
Figura 29
Figura 32
Capítulo 3 35
Cap 3 - cerebro:ArtTapa 15/01/13 10:03 Página 36
36 Capítulo 3
Cap4-brazoEMG:ArtTapa16/01/1310:13Página37
C a p í t u lo 4
Capítulo 4 37
Cap4-brazoEMG:ArtTapa16/01/1310:13Página38
µA(x)=1six ∈ A
µA(x)=0six ∉ A
38 Capítulo 4
Cap4-brazoEMG:ArtTapa16/01/1310:13Página39
Figura 3 Alconceptomatemático:
Selellamaconjuntofuzzy.
Existenvariasoperacionessencillasy
muyútilesquesepuedenrealizarcon
los conjuntos fuzzy. Analicémoslas
con mucha atención, ya que son la
baseparaeldiseñoposterior.
Capítulo 4 39
Cap4-brazoEMG:ArtTapa16/01/1310:13Página40
Figura 4
Figura 7
Figura 5
Figura 8
Figura 9
40 Capítulo 4
Cap4-brazoEMG:ArtTapa16/01/1310:13Página41
Capítulo 4 41
Cap4-brazoEMG:ArtTapa16/01/1310:13Página42
42 Capítulo 4
Cap4-brazoEMG:ArtTapa16/01/1310:13Página43
Capítulo 4 43
Cap4-brazoEMG:ArtTapa16/01/1310:13Página44
Práctica:
Control de Brazo Robot
Mediante Señal EMG
IntroduccIón aL ProbLeMa Paraelcontroldeestasprótesissecuenta
conlasseñalesgeneradasenlosmúsculospor
En la actualidad existen muchos individuos lasinstruccionesqueelcerebrolesenvíapara
con discapacidades sensori-motoras. Con el moverlos.Estassellamanseñaleselectromio-
objetivodeayudaralamejoradelacalidadde gráficas(EMG).Ennuestrocaso,parasimplifi-
vidadeestaspersonassehandesarrolladonu- car,supondremosqueutilizaremosestasseña-
merosos sistemas prácticos. Estos sistemas les obtenidas de una persona sana, es decir,
están orientados, en algunos casos a facilitar demúsculosnormaleseintactos.
susfuncionessensori-motoras,talescomoex- Enunciaremoselproblemaentonces:
tenderlamano,tomarysosteneralgo,pararse, Supongamos que deseamos controlar el
caminar, etc. y en otros casos directamente a movimientoderotacióndeunbrazoutilizando
reemplazarlosmediosoriginalesporloscuales uncontroladordifuso.
selograbanestastareas. Elbrazorobotimitaráelmovimientodelaar-
Uncasomuycomúneselreemplazodelas ticulacióndelcododelapersona.
funcionesmínimasdeunmiembrosuperior,en Paracontrolarestemovimientosensaremos
unapersonaamputada,medianteunaprótesis lasseñalesdeelectromiografíacorrespondien-
electrónicaymecánica. tesalosmúsculosbícepsytríceps.Yaquíca-
Aunquequizástodavíanosparezcaunpro- beunaaclaración.Comonoeselpropósitode
ductodelacienciaficción,hoyendíamedian- esteartículoexplicarlosrequerimientosdeun
te las técnicas de procesamiento de señales, dispositivo electrónico capaz de adquirir elec-
es factible el diseño de “prótesis inteligentes”. tromiograma, simplemente describiremos bre-
Estas se conectan mediante electrodos al pa- vementeenquéconsistedichoaparato.
cienteylepermiten,conunentrenamientoade- Laseñaldeelectromiogramaestáconstitui-
cuado,controlardichaprótesis. daporlasumatoriaespaciotemporaldetrenes
Unejemploconvencionaldeestosdispositi- depotencialesdeaccióndeunidadesmotoras.
vos es el “UtahARM2”, una prótesis eléctrica En palabras sencillas los nervios, al enviarle
diseñada por “Motion Control” (Figuras 12 y señaleseléctricasalosmúsculosesqueléticos
13). para que se contraigan, generan potenciales
Figura 12 Figura 13
44 Capítulo 4
Cap4-brazoEMG:ArtTapa16/01/1310:13Página45
Figura 16
dIseño deL sIsteMa
de controL Fuzzy
Capítulo 4 45
Cap4-brazoEMG:ArtTapa16/01/1310:13Página46
PI: pocaimportancia,
P: pequeñaimportancia,
M: mediaimportancia,
Elesquematípicodeunsistemadecontrol a: altaimportancia.
fuzzyeselquevemosenlafigura18.
Como observamos en el esquema, inicial- Los posibles movimientos del motor, tam-
mentelasvariablesdeentradarealessecon- bién tendrán sus funciones de pertenencia y
vierten en variables lingüísticas mediante un serán(figura20):
proceso de fuzzificación. Usando esas varia-
blesseevalúaunconjuntodereglasdecontrol, Ga: giroantihorario,
lasquedaráncomoresultadounaseriedeva- GH: girohorario,
lores lingüísticos a su salida. Por último, se Q: quieto.
desfuzzificanestasvariablesobteniéndoselos
valoresrealesdesalida. Así,tantoelvalordelaseñaldelbíceps,co-
moladeltrícepstomadasaintervalosregula-
1)Fuzzificación: Medianteesteprocesose res de tiempo, le asignaremos su pertenencia
calculaelgradodepertenenciadelaentradaa alconjuntoquecorresponda.
unoovariosconjuntosfuzzy,digamoselgrupo
deposiblesconjuntosalosquepuedepertene- 2) evaluación de las reglas de control
cer la variable de entrada. Las funciones de (tambiénllamadoprocesodeinferencia):
pertenenciasedefinenapartirdelosdatosyel Con el objeto de determinar cómo se va a
sentido común. Las mismas se representarán comportar el sistema, se establece una serie
gráficamentedelaformavistaanteriormente. dereglasdelaformaIF(...)tHen(...) quein-
dican la acción a realizarse según a qué con-
Figura 19 juntopertenecelaentrada.
Evaluarlasreglassignificadeterminarcuá-
lesdeellasseactivaránfrenteaunsubconjun-
to de valores de pertenencia a los conjuntos
fuzzydeldominiodeentrada.Unaformaprác-
tica de expresar estas reglas de una manera
compacta, es mediante la matriz de memoria
asociativadifusa(FAMdesussiglaseninglés).
Figura 20
46 Capítulo 4
Cap4-brazoEMG:ArtTapa16/01/1310:13Página47
Donde:
tabla 1 µi:gradodepertenenciaalconjuntoi-
ésimo.
Basándonos en el enunciado del ejemplo CEi:centroidedelconjuntoi-ésimo.
dado,podemosobtenerlasreglasquedetermi- Ennuestroejemploserá:
naránelcomportamientodelsistema.Estasse-
ránlasquevemosenlatabla1.
Deestatabla,porejemplo,laregla1sepo-
dríaexpresarsegúnlasdefinicionesvistasan-
teriormentecomo:
Coneldiseñovistolograremosuncomporta-
µGA(x)=min{µAB(EMG1),µMT(EMG2)} mientosuaveyproporcionalatodaslascombi-
nacionesposibles.
Tambiénlaregla9:
µQ(x)=min{µPIB(EMG1),µPIT(EMG2)}
IMPLeMentacIón con PIcaXe
Yasítodaslasrestantes.
PodemosahoraarmarlamatrizFAMdees- Ahoraveremosdeunamanerasimplificada
tasdecisiones(tabla2). laimplementacióndeuncontrolenunPICAXE.
El control de los actuadores electromecánicos
deunbrazorobotizado,usandosólolasseña-
lesdeelectromiografíadeunapersona,puede
resultarunproblemamásqueinteresante.Pa-
ra la implementación en un microcontrolador
simplificaremosunpocoeldiseñoquevimos.
eL FuzzIFIcador
tabla 2
El principio del “fuzzificador” se observa en
lafigura21,aquíhemosrealizadolassiguien-
3)desfuzzificación: Laentradaparaelpro- tesmodificaciones:
cesodedesfuzzificaciónesunconjuntofuzzyy
la salida es un número real simple. Quizás el • La función de pertenencia va de 0 hasta 5,
métodomáspopulardedesfuzzificaciónesel esto es debido a que los PICAXE no pueden
cálculodelcentroide,queretornaelcentrodel codificar decimales, así que no tendríamos más
Capítulo 4 47
Cap4-brazoEMG:ArtTapa16/01/1310:13Página48
desFuzzIFIcador tabla 3
Figura 22
48 Capítulo 4
Cap4-brazoEMG:ArtTapa16/01/1310:13Página49
Figura 24c
Capítulo 4 49
Cap4-brazoEMG:ArtTapa16/01/1310:13Página50
Figura 24 e
Figura 24 f
Figura 24 g
Figura 24 d
delasseñalesquelellegan,ob-
tendremos distintas salidas en
losbits0,1,2y3delpuertoC,
codificandoenbinariolosnúme-
rosde0a6queesperamosala
salida.
Hardware
50 Capítulo 4
Cap4-brazoEMG:ArtTapa16/01/1310:13Página51
FuncIonaMIento
Figura 26
Figura 27
Capítulo 4 51
Cap4-brazoEMG:ArtTapa16/01/1310:13Página52
Figura 28
Entoncesvemossegúnsielvalordesalida portamientosuavedeunacontracciónmuscu-
esmenora8enbinario,elmotorgiraráensen- lar.
tidoantihorario,sies8,estodaráunvoltajece- Concluimosestabreveintroducciónaltema
roalasalidaysiesmayora8unvoltajeposi- lógica fuzzy, aunque queda mucho por cono-
tivoqueharíaquegireensentidohorario. cer.Esperoqueeltemahayasidodesuagrado
Conestonosaproximamosbastantealcom- yquedoalaesperadesuconsulta.J
52 Capítulo 4
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 53
C a p í t u lo 5
Capítulo 5 53
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 54
54 Capítulo 5
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 55
Solar Engine
Este simple circuito se muestra en la figura 2
y almacena energía, trasformada a partir de la
luz captada por una pequeña célula solar, que
es almacenada en un condensador o disposi-
tivo de almacenamiento. Esta energía es uti-
lizada por el motor o motores del robot para
hacerlo funcionar.
La célula solar se encarga, mediante tran-
sistores (física de semiconductores), de trans-
formar la luz captada en energía eléctrica.
La filosofía básica del funcionamiento de los
robots BEAM, partiendo de la base de los cir-
cuitos anteriores podría resumirse de la si-
guiente manera: los robots, mediante los recep-
tores de los que disponen (sensibles a la luz o
al contacto en su mayoría) actúan sobre su cir-
cuitería para que ésta sea la encargada de acti-
var o desactivar motores u otras fuentes de
energía (como puede ser un circuito solar como
el comentado anteriormente), que controlan los
actuadores del robot (patas, ruedas, etc). De
esta forma se consigue un com-
portamiento del robot adaptado al
medio con el que interactúa.
roBótIcA cláSIcA VS
roBótIcA BEAM
Capítulo 5 55
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 56
56 Capítulo 5
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 57
Ø “A CONCURRENT APPLICATION
RESEARCH PROPOSAL FOR THE DEVEL-
OPMENT OF LIVING MACHINE” NASA AIAA
Nanosat Meeting, Houston, Texas, November
1, 1995.
Capítulo 5 57
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 58
Práctica:
Clasificación de la
Robótica BEAM
IntroduccIón tos de la robótica BEAM. El primer solaroller,
construido por Mark W. Tilden, se terminó en
Como en otras disciplinas, en la robótica Noviembre de 1989 en la Universidad de
BEAM puede recurrirse a diversos criterios Waterloo (Ontario, Canadá).
para elaborar una clasificación. La que se hace Estos robots, como la mayoría de los robots
a continuación es la que se suele aceptar como surgidos a partir de la filosofía BEAM, utilizan
más adecuada, y está realizada fundamental- como fuente de energía la luz solar, y su única
mente en base a su evolución. función es el movimiento en una sola dirección
mediante una o varias ruedas. Este movimiento
Ø Solarollers oscila entre unos cuantos milímetros hasta va-
Estos dispositivos son los robots primogéni- rios centímetros. La figura 5 muestra un robot
58 Capítulo 5
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 59
Figura 5
Figura 7
Figura 8
Ø nocturnal robots
Estos robots almacenan energía durante el
día y cuando llega la noche comienzan a
moverse, emitiendo algún tipo de luz (mediante
leds) o sonido.
Figura 6
Ø Aquabots
Basándose en la arquitectura básica de un
Ø Walkers solaroller, un aquabot es capaz de desplazarse
Actualmente son los robots BEAM más en el medio acuático.
implementados y complejos. Hay multitud de
robots BEAM de este tipo, que varían en fun- Como se dijo al principio de este apartado,
ción del número de motores que utilizan para hay muchas posibles clasificaciones para los
mover las patas que tengan. Los más comunes robots BEAM y se ha comentado brevemente la
tienen 4 patas y dos motores que accionan más aceptada. Es posible realizar otra clasifi-
dichas extremidades, figura 7. cación bastante extendida entre los seguidores
Capítulo 5 59
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 60
Figura 9
2) Squirmer:
Son robots que, sin desplazarse, mueven
todo o parte de su cuerpo cuyo único fin es el
entretenimiento del usuario o creador.
Figura 10
Destacamos los siguientes:
60 Capítulo 5
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 61
1.b) Earthworm:
Estos robots se
Figura 13
mueven al estilo de
los gusanos, siguiendo un desplazamiento
ondulatorio de compresión longitudinal, figura
2.b) Flagwaver: Hacen uso de un motor 17.
para mover una bandera o algún otro objeto
similar, tal como se aprecia en la figura 14.
Figura 14
Figura 17
Capítulo 5 61
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 62
Figura 21
4) roller:
Son los más comunes y se desplazan uti-
lizando ruedas, motores, su propio cuerpo, etc.,
se emplea cualquier cosa que permita que rue-
Figura 19 den. Por su popularidad se dividen en:
3) Jumper:
Son aquellos robots cuyo movimiento está
basado en saltos. 4.2) Solaroller: Se mueven en una sola
Esta clase de robots no posee una subclasi- dirección y sin llegar a recorrer más de unos
ficación y suelen ser muy populares en los con- pocos centímetros, suelen ser de muy pequeño
cursos de minirobótica debido a la gran canti- tamaño y hoy se han vuelto muy populares en
dad de variantes posibles (figura 21). la creación de insectos robots (figura 23).
62 Capítulo 5
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 63
Figura 26
Figura 23
Capítulo 5 63
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 64
64 Capítulo 5
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 65
Capítulo 5 65
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 66
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 67
Cap 5 - Robotica BEAM:ArtTapa 15/01/13 11:43 Página 68
Cap6-Microbot:ArtTapa15/01/1309:58Página69
C a p í t u lo 6
Luego de haber definido qué es
la robótica BEAM, en este capí-
tulo vamos a montar un
pequeño mini-robot “desde
cero”, aprovechando los con-
ceptos vertidos tanto en este
texto como en diferentes edi-
ciones de Saber Electrónica.
Este desarrollo se ha expuesto
de diversas maneras en distin-
tas publicaciones y su funcio-
namiento es similar al “siguelí-
neas” que publicáramos en
Saber 212. Nuestro mini-robot,
al que hemos bautizado
MICROBOT , será armado teniendo en cuenta tres etapas: Estructura, Sensores y
Actuadores. Indicaremos cómo montar nuestra estructura, cuáles son los sensores
adecuados y daremos diferentes opciones para manejar a los motores (actuadores).
Capítulo 6 69
Cap6-Microbot:ArtTapa15/01/1309:58Página70
Figura 2b Figura 2c
Figura 2a
Figura 3a.- Movimiento hacia delante, se Figura 3b.- Movimiento hacia atrás, se Figura 3c.- Movimiento de giro a la dere-
hacen girar los dos motores en la misma di- hacen girar los dos motores en la misma di- cha, se hacen girar el motor izquierdo en
rección hacia delante (sentido horario). Es- rección hacia atrás (sentido contrario a la sentido horario (hacia delante) y el motor
to provoca un movimiento rectilínea supo- agujas del reloj). Esto provoca un movi- de la derecha en sentido antihorario (hacia
niendo que los dos motores son exacta- miento rectilínea suponiendo que los dos atrás). Esto provoca un movimiento de giro
mente iguales. motores son exactamente iguales. a la derecha de la estructura.
70 Capítulo 6
Cap6-Microbot:ArtTapa15/01/1309:58Página71
Construcción de un Microbot
diseño de nuestro microbot. denfabricarsedemaderaouti-
Las “ruedas locas”, deben ser lizarunosdiscoscompactoses-
capacesderodarypivotarso- tropeados y por supuesto tam-
bresímismas,aligualquelas bién pueden comprarse en
ruedas motrices deberán de tiendas de modelismo, éstas
sercapacesdeadaptarsealos suelensermejoresperomucho
obstáculosdelterreno.Sumo- máscaras.
vimiento alrededor del eje so-
bre el que pivota debe ser lo
mássuaveposible,paranodi- Figura 3d.- Movimiento de giro a la iz- MovIlIdad de nuestra
ficultarlarotacióndelmicrobot, quierda, se hacen girar el motor izquierdo estructura
de lo contrario es posible que en sentido antihorario (hacia atrás) y el mo-
tor de la derecha en sentido horario (hacia
sebloqueeypatinesinoseeli- adelante). Esto provoca un movimiento de Laestructuraquehemoselegi-
gedeformaadecuada.Lasso- giro a la izquierda de la estructura. do para nuestro microbot nos
lucionesparaestetipoderue- permitirá realizar movimientos
daspuedensermuchas,noso- haciaadelante,haciaatrás,giro
troshemosoptadoporunarue- aladerecha,giroalaizquierda,
da que gira libremente sobre lasplacasconunrotulador,pa-
sueje,graciasaunapequeña rapoderluegotaladrara10mm
plataformaconrodamientosde de cada esquina. Esto lo hare-
lasquepodemosencontrarca- mos sin quitar el plástico pro-
si en cualquier ferretería, ade- tector contra arañazos que lle-
más hay un gran surtido de van pegadas por encima las
ellasenloreferenteatamaños. placas de poliestireno, de esta
Otra opción podría ser utilizar manera, después quedarán to-
laboladeunrolóndedesodo- talmentelimpiasysinarañazos,
Figura 3b.- Movimiento hacia atrás, se
rante, a la que se le adapten hacen girar los dos motores en la misma di- comomuestralafigura4.
una pequeñas escuadras para rección hacia atrás (sentido contrario a las Una vez marcadas las placas,
fijarlaalaestructura.Veaenla agujas del reloj). Esto provoca un movi- pasamos a taladrar cada una
miento rectilínea suponiendo que los dos
figura 3 las distintas opciones motores son exactamente iguales. delasplacasutilizandountala-
demovimiento. drodesobremesa.Utilizaremos
Respectoalasruedasmotricesquehemos unabrocaparametalde3mm,yaqueestosta-
utilizado para la tracción del microbot, son de ladrossonparafijarposteriormenteunossepa-
lasutilizadasenjuguetesyquesepuedenen- radoresmetálicosdelosutilizadosparafijarlas
contrar fácilmente en las tiendas que venden placasdecircuitoimpresoaloschasisocajas.
materialaloscentrosdeeducaciónsecundaría Verfigura5.
paralaasignaturadeTecnología,tambiénpue- Enesteprimermontajeutilizaremosdosmo-
Capítulo 6 71
Cap6-Microbot:ArtTapa15/01/1309:58Página72
72 Capítulo 6
Cap6-Microbot:ArtTapa15/01/1309:58Página73
Construcción de un Microbot
sensoresCNY70yunosinversoresSchmittTri- den con el ánodo y cátodo del emisor, y las
gger,queseencargandeconformarlasseña- otrasdossecorrespondenconelcolectoryel
lesdelsensoraniveleslógicosmásestables. emisordelfototransistor,quehacelasvecesde
receptor.Losvaloresdelasresistenciassontí-
El Sensor CNY70 picamentedeRT=10kΩparaelfototransistor,
ElCNY70esunsensordeinfrarrojosdecor- mientras que para el diodo emisor es
toalcancebasadoenundio- RD=220Ω,siendotípicoslos
do emisor de luz infrarroja y Figura 11 dosmontajesqueseindican
un receptor formado por un enlafigura11.
fototransistor, ambos apun- En el circuito por el que nos
tandoenlamismadirección, hemosinclinadoeneldiseño
ycuyofuncionamientoseba- eseldelaopción“a”,dema-
sa en la capacidad de refle- nera que cuando el sensor
xióndelobjeto,yladetección esté sobre la línea negra la
delrayoreflectadoporelre- luzesabsorbidayelfototran-
ceptor.Eldispositivodispone sistor se mantiene en corte,
decuatropinesdeconexión. porloquealasalidaelcircui-
Dos de ellos se correspon- to entrega un nivel bajo,
Figura 10
Capítulo 6 73
Cap6-Microbot:ArtTapa15/01/1309:58Página74
74 Capítulo 6
Cap6-Microbot:ArtTapa15/01/1309:58Página75
Construcción de un Microbot
Figura 14 Figura 15a
Capítulo 6 75
Cap6-Microbot:ArtTapa15/01/1309:58Página76
Figura 17
Figura 18 Figura 19
76 Capítulo 6
Cap6-Microbot:ArtTapa15/01/1309:58Página77
Construcción de un Microbot
tema muy económico y sencillo de sujeción. tabla3 drivers 1 y 2. La señal
Parasujetarlaplacadelcircuitoylasbaterías vInn voutn venn EN2activalaparejade
hemosutilizadounasgomaselásticas.Lasba- H H H drivers 3 y 4. Las sali-
terías,despuésdetomarlafoto,lashemosme- L L H das OUTn se asocian
tido entre las dos placas de poliestireno para H Z L con las correspondien-
quenoestorben.Parapoderutilizarlosenotros L Z L tesINn.Lasseñalesde
montajesloshemosconectadoatravésdeun salidasonamplificadas
cableplanoaunconectortipopostehembray respectoalasdeentradatantoentensión,co-
enlaplacahemoscolocadoelconectormacho moencorriente(máximo:1A)ylatabla3esla
correspondiente. de funcionamiento para cada uno de los dri-
vers.
Capítulo 6 77
Cap6-Microbot:ArtTapa15/01/1309:58Página78
Giro de Un Motor
en los Dos Sentidos:
El circuito de la figura
22 permite controlar el
doble sentido de giro del
motor.Cuandolaentrada
CestáanivelbajoylaD
anivelalto,elmotorgira
hacialaizquierda.
CambiandolaentradaCanivelaltoylaDa Montaje del drIver l293b
nivelBajo,secambiaelsentidodegirodelmo- con el MIcrocontrolador PIc
torhacialaderecha.
Sisequiereprotegerelcircuitocontraposi- Paracomprobarelfuncionamientodeldriver
blespicosdecorrienteinversaenelmomento L293Bconeldeunmicrocontrolador,vamosa
dearranquedelmotor,serecomiendaconectar utilizarelPIC16F84,queesun chipquetodos
unosdiodostalycomosemuestraenlafigura nuestroslectoresyaconocenyquepuedeser
23.Enestecasolatabla7nosmuestraelmo- reemplazado por un PIC16F627, si es que se
dodefuncionamiento. tomanlosrecaudosenlainclusióndeunape-
Figura 21 Figura 22
78 Capítulo 6
Cap6-Microbot:ArtTapa15/01/1309:58Página79
Construcción de un Microbot
Figura 23 Figura 24 Figura 26
tabla6 queñarutinaenelpro-
Vinh A MotorM1 B MotorM2 grama,talcomoexpli-
H H Paradarápidadelmotor H Giro cáramos en Saber Nº
H L Giro L ParadaRápidadelmotor 215, también usare-
L X Motordesconectado,girolibre X Motordesconectado,girolibre mos un motor de los
queyahemosemplea-
do, un inversor tipo Schmitt Trigger del tipo
40106ynuestrodriver.
En la figura 24 vemos el motor para las
prácticasconelmicrocontroladoryeldriver.
Tambiénmontaremoselcircuitodelafigura
25,quemuestraelesquemadelmontajepara
el control de motores con el driver L293B y el
PIC16F84.Paracomprobarsufuncionamiento,
vamosaescribirelprogramamotor1.asm,que
controlaeldriverdelmotordemaneraquede-
pendiendo del estado del conmutador RA0. Si
RA0cerrado(“0”)oabierto(“1”),elmotorsepa-
raogirarespectivamente.
El organigrama del programa es el que se
muestra en la figura 26 y el programa moto-
r1.asmsereproduceenelcuadro1.Sidesea,
Ud. puede bajar el programa de nuestra web
conlaclaveMicrobot.
Siguiendo con el modo de funcionamiento
del driver conectado al microcontrolador, reali-
tabla7
vinh a b Motor
H L L Paradarápidadelmotor
H H H Paradarápidadelmotor
H L H GiroalaIzquierda
H H L Giroaladerecha
L X X Motordesconectado,girolibre
Cuadro 1
Capítulo 6 79
Cap6-Microbot:ArtTapa15/01/1309:58Página80
zamosunsegundoejercicio,enestecasocon
el programa: motor2.asm, que dependiendo
del estado del interruptor RA0 esté cerrado
(“0”)oabierto(“1”),elmotorgiraenelsentido
quelemarcaelestadodeconmutadordeRA1.
SiRA1=0serealizaelgiroaladerechadelmo-
tor,siporelcontrarioRA1=1elsentidodegiro
delmotoreshacialaizquierda.Elprogramase
muestraenelCuadro2.Elsentidodegirode
los programas, dependerá de cómo se hayan
realizado las conexiones de las bornas de los
motores, si no coinciden, intercambiar las co-
nexiones. El conmutador y la resistencia co-
nectadosalaentradaRA1,podemossustituir-
los por el circuito de la figura 27, de manera
que cuando el sensor esté sobre un objeto
blanco,elhazdeinfrarrojos
se refleja, el transistor se Figura 27
saturayenRA1seobtiene
unnivelalto,mientrasquesi
se enfrenta el emisor a un
objetonegro,elhazdeinfra-
rrojosdelemisoresabsorbi-
do, por lo que el transistor
noconduceyenRA1seob-
tendráunnivelbajo.J Cuadro 2
80 Capítulo 6
C a p í t u lo 7
P ráctgicas con
MatLab
MATLAB es una plataforma de programación y cálculo numérico utilizada por millones de
estudiantes, técnicos e ingenieros y científicos para analizar datos, desarrollar algorit-
mos y crear modelos. MATLAB combina un entorno de escritorio perfeccionado para el
análisis iterativo y los procesos de diseño con un lenguaje de programación que expresa
las matemáticas de matrices y arrays directamente. Las toolboxes de MATLAB se des-
arrollan de forma profesional, pasan pruebas rigurosas y están totalmente documenta-
das. Las apps de MATLAB le permiten ver cómo funcionan diferentes algoritmos con sus
datos. Realice iteraciones hasta obtener los resultados deseados y, después, genere
automáticamente un programa de MATLAB para reproducir o automatizar su trabajo.
Los lectores de Saber Electrónica conocen esta plataforma y, aprovechano el tema de
este libro, publicamos en este capítulo una práctica para que desarrolle sus conocimien-
tos. En una próxima entrega de la colección Club Saber Electrónica desarrollermos la pla-
taforma MATLAB.
Capítulo 7 81
Robótica BEaM, Inteligencia artificial y lógica Difusa
Prácticas de Robótica utilizando Matlab !
Práctica 1
Introducción
En este sentido, este libro quiere presentar una serie de herramientas sencillas de
modelado computacional y simulación de robots, enfocadas a ser utilizadas en el diseño
paramétrico de robots y mecanismos tanto planares como espaciales en computadoras
personales. En contraste con los libros clásicos de robótica, en los cuales la teoría ocupa
un espacio predominante y es posible encontrar toda las bases de las herramientas que
aquí se utilizan, este libro pretende tener un enfoque eminentemente práctico, aportando
varias referencias para aquellos lectores que quieran ampliar las bases teóricas.
Práctica 1 .- Pág. 1
82 Capítulo 7
Prácticas de Robótica utilizando Matlab ! prácticas con MatlaB
"The present invention makes available for the first time a more or less general purpose
machine that has universal application to a vast diversity of applications where cyclic
control is desired."
Práctica 1 .- Pág. 2
Capítulo 7 83
Robótica BEaM, Inteligencia artificial y lógica Difusa
Prácticas de Robótica utilizando Matlab !
Práctica 1 .- Pág. 3
84 Capítulo 7
prácticas con MatlaB
Prácticas de Robótica utilizando Matlab !
Estructura mecánica
Un robot está formado por una serie de elementos o eslabones unidos mediante
articulaciones que permiten un movimiento relativo entre cada dos eslabones
consecutivos. La constitución física de la mayor parte de los robots industriales está
inspirada en la anatomía del brazo y la mano humana.
Capítulo 7 85
Práctica 1 .- Pág. 4
Robótica BEaM, Inteligencia artificial y lógica Difusa
Prácticas
Prácticas de Robótica
Robótica utilizando
u tiliz a n Matlab
a tla b !
Figura
Figura 1.4.-
1.4.- Diferentes
Diferentes articulaciones
articulaciones utilizadas
utilizadas en
en robótica
ro b ó tic a
Las
Las didiferentes
ferentes combinaciones
combinaciones de estasestas articulaciones
articulaciones dan
dan lugar
lugar a distintas
distintas
configuraciones
confiiguraciones o a
onf arquitecturas
rquitecturas mecánicas,
mecánicas, cada
cada una de ellas
ellas con
con características
características que la
la
hacen
ha más
cen m ás o m menos
enos recomendable
recomendable para
para la
la realización
realización de una determinante
determinante tarea.
tarea. Las
Las
ssiguientes
iguientes figuras
ffiiguras m muestran
uestran las
las configuraciones
onfiiguraciones más
conf más típicas
típicas utilizadas
utilizadas enen robots
robots
iindustriales,
ndustriales, y e en ellas
n ellas sse distinguen
e distinguen los
los eslabones
eslabones y los
los grados
grados de libertad
libertad de cada
cada
confiiguración.
onf
configuración.
Robot
Robot cartesiano
c a r te s ia n o Robot
Robot Cilíndrico
Cilíndrico
Robot
Robot Polar
P o la r Robot
Ro SCARA
bot S CARA Robot
Robot antropomórfico
a n tr o p o m ó r f ic o
Figura
Figura 1.5.-
1.5. Di
Diferentes
ferentes arquitecturas m e c á n ic a s
arquitecturas mecánicas
86 Capítulo 7
Práctica
Pr áctica 1 .- Pág.
.- Pá g. 5
Prácticas
Pr ácticas de Robótica
Robótica utilizando
utilizan Matlab
t la b !
prácticas con MatlaB
Ess ttambién
E ambién muy
muy común
común ususar
ar een
n robótica
robótica terminología
terminología iinspirada
nspirada en
en la
la anatomía
anatomía
dell bra
de zo humano,
brazo humano, así así en
en la
la mayoría
mayoría de arquitecturas
arquitecturas mecánicas
mecánicas de robots
robots industriales,
industriales,
llas
as ttres últimas articulaciones,
res últimas articulaciones, que normalmente
normalmente se se utilizan
utilizan para
para proporcionar
proporcionar
entación al
orientación
ori al elemento
elemento terminal
terminal (se
(se estudiará
estudiará esto
esto más
más profundamente
undamente en
profunda
prof en el
el capítulo
capítulo
ssiguiente), forman lo
iguiente), forman
form lo que sese conoce
conoce como
como muñeca
muñeca del
del robot (figura
(fiigura 1.6).
(f
Figura
F 1.6.-- Mu
igura 1.6. Muñeca
ñeca del
del Robot
R obot
O
Otro
tro c
concepto
oncepto importante
importante que debedebe tenerse
tenerse en
en cuenta
cuenta en
en la
la descripción
descripción de un
robot sson
on llas
as di
dimensiones
mensiones de dell robot y el
el e
espacio
spacio dde
e tr
trabajo
abajo que dedefine
ffiine el
el movimiento
movimiento
de llas
as di ferentes a
diferentes rticulaciones. El
articulaciones. El espacio bajjo de un robot se
espacio de trabajo
traba se subdivide
subdivide en áreas
en áreas
diferenciadas entre
diferenciadas entre sí
sí por la
la accesibilidad
accesibilidad del
del elemento
elemento terminal
terminal en
en cada ellas.
cada una de ellas.
Por
Por ejemplo,
ejemplo, es es diferente
diferente la
la zona
zona enen la
la que el
el elemento
elemento terminal
terminal solo
solo puede orientarse
puede orientarse
horizontalmente
horizontalmente o aquella
aquella en
en la
la que también
también puede
puede orientarse
orientarse verticalmente.
verticalmente. La ffiigura
La figura
siguiente
siguiente muestra
muestra un robot de la la casa
casa STAÜBLI
STAÜBLI y su su espacio
espacio de trabajo.
traba
bajjo.
F igura 1.7.
Figura 1.7.-- Di
Dimensiones
mensiones y espacio
espacio de
de trabajo
trabajo del
del Robot
Robot Industrial
Industrial STAÜBLI
STAÜBLI PUMA
PUMA RX-60
RX-60
capacidad de
La capacidad de carga
carga que puede
puede transportar
transportar la
la garra
garra del
del robot,
robot, la
la precisión
precisión en
en
la repetibilidad y la
repetibilidad la velocidad
velocidad de las
las articulaciones
articulaciones son también características
son también características muy
muy
iimportantes
mportantes del
del robot que deben
deben ser
ser citadas
citadas en
en la descripción de un robot.
la descripción robot.
Capítulo 7 87
Práctica
Pr áctica 1 .-
.- Pág.
Pág. 6
Prácticas de Robótica utilizando Matlab !
Normalmente los actuadores se intentan situar lo más cerca de la base del robot,
con el fin de reducir al máximo el peso estático y la inercia de los eslabones finales, que
deben moverse con aceleraciones altas. Para ello es necesario utilizar sistemas de
transmisión que trasladen el movimiento hasta las articulaciones. La siguiente tabla,
extraída de [1] resume los sistemas de transmisión para robots. El lector que quiera
profundizar en el tema puede utilizar las referencias [1],[2] y [3] para obtener más
información.
Actuadores
88 Capítulo 7
Práctica 1 .- Pág. 7
prácticas con MatlaB
Prácticas
Prácticas de Robótica
Robótica utilizando
utilizan Matlab
t la b !
Elementos
Elementos terminales
terminal
nale
es
A lla
ammuñeca
uñeca del
del manipulador
manipulador sese acopla
acopla una
una garra herramienta, que será
garra o una herramienta, será la
la
eencargada
ncargada de materializar
materializar el bajjo previsto.
el trabajo
traba previsto. El
El elemento terminal debe
elemento terminal debe ser
ser capaz
capaz de
aagarrar
garrar lla
a ccarga
arga máxima
máxima deldel robot,
robot, a la
la vez
vez que debe ser de dimensiones
debe ser dimensiones y peso peso
reducido.
re ducido. E Esto obliga
sto obl iga en
en muchas
muchas ocasiones soluciones de c
ocasiones a soluciones ompromiso en
compromiso en que el el
e
elemento
lemento terminal
terminal se
se diseña
diseña para
para una aplicación concreta. Normalmente
aplicación concreta. Normalmente sese opta
opta por
garras
ga neumáticas.
rras ne umáticas. Algunas
Algunas garras
garras de sujeción
sujeción son las mostradas
son las mostradas en
en las
las figuras
ffiiguras
ssiguientes.
iguientes.
Figura
Figura 1.8.-
1.8.- Mo
Morfología
rfología de
de distintas
distintas garras
garras neumáticas
neumáticas
L
La
a ssiguiente
iguiente figura
ffiigura muestra
muestra diferentes
diferentes formas
formas de sujetar
sujetar la
la carga.
carga. La
La fricción
fricción
eentre
ntre lla
a carga
carga y los
los dedos
dedos de la pinza es
la pinza es un factor
factor determinante
determinante a lala hora de elegir
elegir o
diseñar
di señar una pinza.
pinza. El
El la literatura especializada
la literatura especializada y enen los
los catálogos
catálogos de los
los fabricantes
fabricantes
ssuelen
uelen aparecer
aparecer tablas permiten seleccionar
tablas que permiten seleccionar la
la pinza
pinza adecuada
adecuada para
para cada
cada aplicación.
aplicación.
Figura
F 1.9.-- Su
igura 1.9. Sujeción
Sujje c ió n d
deeu
una
na pieza
pieza por
por distintas
distintas pinzas
pinzas neumáticas
n e u m á tic a s
Capítulo 7 89
Práctica
Pr áctica 1 .-
.- Pág.
Pág. 8
Robótica BEaM, Inteligencia artificial y lógica
Prácticas Difusa
de Robótica utilizando Matlab !
Representación de la posición
Coordenadas esféricas
90 Capítulo 7
Práctica 1 .- Pág. 9
Prácticas de Robótica utilizando Matlab ! prácticas con MatlaB
Representación de la orientación
& i x iu i x jv ix k w #
R = $$ j y iu j y jv j y k w !!
$% k z iu k z jv k z k w !"
[ ]
donde i x j y k z son los vectores unitarios del sistema OXYZ y [iu jv k w ] los
vectores unitarios del sistema OUVW.
&1 0 0 #
R(x,( ) = $$0 cos( ' sen( !!
$%0 sen( cos( !"
Capítulo 7 91
Práctica 1 .- Pág. 10
Robótica BEaM, Inteligencia artificial y lógica Difusa
Prácticas de Robótica utilizando Matlab !
92 Capítulo 7
Práctica 1 .- Pág. 11
Prácticas de Robótica utilizando Matlab !
prácticas con MatlaB
Roboworks http://www.newtonium.com
Wits http://mars.graham.com/mplwits/
Workspace http://www.rosl.com
Práctica 1 .- Pág. 12
Capítulo 7 93
Robótica BEaM, Inteligencia artificial y lógica Difusa
Prácticas de Robótica utilizando Matlab !
filosofía del código abierto pretende ampliar continuamente las capacidades de ese
código, permitiendo que los lectores y programadores añadan su contribución a este
código. A los autores nos ha parecido interesante este enfoque, pues este libro pretende
servir como un primer paso para la formación de expertos en robótica que conozcan el
cómo funcionan las cosas. La magnifica Robotics Toolbox de Matlab de Peter I. Corke
!
y el código desarrollado por los autores en este libro pertenecen a esta clasificación.
Finalmente en esta práctica se presentan los dos robots ficticios que se utilizan a
lo largo del libro para la realización de las prácticas, ejemplos y ejercicios
recomendados. Se trata de dos robots industriales ficticios, con cadenas cinemáticas
distintas de 4 y 6 grados de libertad respectivamente.
94 Capítulo 7
prácticas con MatlaB
Prácticas de Robótica utilizando Matlab !
d2
d3
0.08
0.2
#4
0.315
Práctica 1 .- Pág. 14
Capítulo 7 95
Robótica BEaM, Inteligencia artificial y lógica
Prácticas Difusa
de Robótica utilizando Matlab !
Se trata de una toolbox de Matlab que proporciona varias funciones que son
!
ftp.mathworks.com
en el direcctorio /pub/contrib/misc/robot.
Una vez instalada la toolbox se ejecutará en primer lugar el comando rtdemo que
ofrece una demo de algunas de las funciones implementadas en la toolbox. Al ejecutar
la demo aparece un menu (fig. 1.16) a partir del cual se ejecutan varios comandos de la
toolbox.
96 Capítulo 7
prácticas con MatlaB
Prácticas de Robótica utilizando Matlab !
Como todos los comandos de Matlab la Robotics Toolbox nos ofrece ayuda en
!
» help jtraj
Each trajectory is an mxn matrix, with one row per time step, and
one column per joint parameter.
Capítulo 7 97
Práctica 1 .- Pág. 16
Robótica BEaM, Inteligencia artificial y lógica Difusa
Prácticas de Robótica utilizando Matlab !
EJERCICIOS PROPUESTOS
98 Capítulo 7
3ª de forros 2.qxd:club 10/12/12 09:55 Página 3ªFo1
4ª de forros.qxd:sumario 223 21/11/13 18:13 Página 4ªFo1