Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERIA MECATRONICA
Nº CONTROL:
156P0509
COMPAÑÍA:
TESIS DE MÉXICO SA DE CV
ASESOR INTERNO:
DR. EDUARDO HERNANDEZ MARQUEZ
ASESOR EXTERNO:
ING. CARLOS CEBALLOS DUARTE
Introducción...................................................................................................... 4
1
2.3.2.4 Configuración angular ...................................................................................... 26
2
3.8 Lenguaje de programación. .................................................................... 69
Bibliografía ..................................................................................................... 71
3
Introducción
Hoy en día la automatización ha traído grandes mejoras en la industria y en ámbitos de
nuestra vida cotidiana, ha permitido hacer más eficientes los procesos, así como también nos
ha ayudado a mejorar la calidad en los productos y servicios. Con la automatización también
se disminuyen los costos de producción, esto nos ha llevado a desarrollar maquinas
programables capaces de realizar tareas complejas y peligrosas para los humanos, a las cuales
conocemos como robots.
El termino robot proviene del vocablo checo robota que significa servidumbre o trabajo
esclavizador y fue usado por primera vez por el dramaturgo checoslovaco Karel Capek en su
obra de teatro Rossum Universal Robots.
Con el gran crecimiento y evolución de la robótica, estas máquinas cada vez son más
sofisticadas en la realización de tareas con gran impacto para la sociedad y más fáciles de
operar, permitiendo que puedan ser usadas en una gran variedad de sectores como puede ser
la medicina, en donde existen robots capaces de realizar cirugías con alto grado de precisión,
en servicios para el hogar se pueden observar robots para el aseo, así como también vemos
robots que se usan en investigación, en la educación, en la industria y otros sectores en los
cuales la automatización está influyendo en la optimización de procesos en gran medida.
El alcance del proyecto está planeado tomando en cuenta aspectos como el tiempo y costo
durante su elaboración.
4
Capítulo 1 Planteamiento del problema
5
1.2 Organigrama del departamento con el que se colaboró
6
1.3 Planteamiento del problema
En el área de visión para poder hacer una buena evaluación de proyectos normalmente se
realiza una validación de lo que se analizará con respecto a las piezas que se van a evaluar,
lo cual requiere condiciones especiales de ambiente y de ubicación para las cámaras que se
proponen para dicho proyecto, ya que para los diferentes tipos de cámaras se necesita una
estructura que permita sujetarlas y cambiarlas de posición, actualmente TESIS DE MEXICO
SA DE CV no cuenta con dicha estructura y ha tenido que montar una base fija para cada
cámara que se ha utilizado, aumentando los tiempos en la realización de proyectos.
7
1.4 justificación
8
1.5 Objetivos de la Investigación
El objetivo del proyecto es diseñar y crear un sistema integral de un robot tipo PUMA a modo
industrial para realizar actividades que permitan el posicionamiento de equipos de visión para
resolver las necesidades y requerimientos que se presenten en los diferentes proyectos que se
desarrollan en la empresa.
• Definir y desarrollar una estructura articulada para disminuir los tiempos de montaje
para la colocación de cámaras y perfilómetros que se utilizan en la empresa.
• Deducir las matrices homogéneas con la representación de Denavit-Hartenberg para
la cinemática directa y las ecuaciones para la cinemática inversa.
• Establecer ecuaciones para un control de posición y tener precisión al momento de
realizar barridos con las cámaras de visión a manera que el robot pueda realizar
escaneos en piezas.
9
1.6 Cronograma de actividades
Evaluación, cotización y
aprobación de compra de
materiales
Manufactura del brazo robótico
10
Capítulo 2 Marco teórico
Los primeros mecanismos animados de los que se tiene noticia son los de Ctesibius, uno de
los grandes ingenieros griegos de la escuela de Alejandría, quien aplicó sus conocimientos
de neumática e hidráulica para producir los primeros relojes de agua (clepsidras) y órganos
con figuras en movimiento.
Basado en su trabajo, Herón de Alejandría creó los Teatros Automáticos, en los que los
mecanismos animados se movían a través de dispositivos hidráulicos, poleas y palancas, con
fines eminentemente lúdicos. La cultura árabe (siglos VIII a XV) heredó y difundió los
conocimientos griegos, utilizándolos no sólo para realizar mecanismos destinados a la
diversión, sino que les dio una aplicación práctica, introduciéndolos en la vida cotidiana de
la realeza. Ejemplo de éstos son diversos sistemas dispensadores automáticos de agua para
beber o lavarse, como la Fuente del Pavo Real, atribuida a Al-Jazari.
En el medioevo es importante destacar la figura del místico español Ramón Llull, quien
desarrolló una máquina lógica denominada Ars Magna o arte general, con el objetivo de
demostrar racionalmente los artículos de fe. El dispositivo consistía en una serie de círculos
concéntricos sobre los que había escritas distintas palabras. Cuando se movían los círculos
para obtener una frase en forma de pregunta, se obtenía simultáneamente la respuesta
correspondiente con otra combinación de palabras.
Otro ejemplo relevante de la época medieval fue el Gallo de Estrasburgo. Éste, que es el
autómata más antiguo que se conserva en la actualidad, formaba parte del reloj de la torre de
la catedral de Estrasburgo y al dar las horas movía las alas y el pico, y cacareaba tres veces.
Durante los siglos XV y XVI algunos de los más relevantes representantes del renacimiento
11
se interesaron también por los ingenios descritos y desarrollados por los griegos. Es conocido
el León mecánico construido por Leonardo Da Vinci para el rey Luis XII de Francia, que se
abría el pecho con su garra y mostraba el escudo de armas del rey. En España son conocidos
el Hombre de palo y la Tocadora de Laúd, construidos por Juanelo Turriano en el siglo XVI
para el emperador Carlos I. El primero estaba vestido de monje, andaba y movía la cabeza,
ojos, boca y brazos. Mientras que la segunda podía andar en línea recta o en círculo mientras
tocaba el laúd. Turriano fue también autor de diversas obras de ingeniería de aplicación
práctica destacando el sistema de elevación de agua desde el río Tajo hasta Toledo.
Durante los siglos XVII y XVIII se crearon ingenios mecánicos que tenían alguna de las
características de los robots actuales. Estos dispositivos fueron creados en su mayoría por
artesanos del gremio de la relojería. Su misión principal era la de entretener a las gentes de
la corte y servir de atracción en las ferias. Estos autómatas representaban figuras humanas,
animales o pueblos enteros. Son destacables entre otros el pato de Vaucanson, la muñeca
escriba de Friedich von Knauss y los muñecos de la familia Droz y de la familia Mailladert.
Jacques Vaucanson, autor del primer telar mecánico, construyó varios muñecos animados,
entre los que destaca un flautista y un tamborilero capaces de tocar varias melodías y un pato,
capaz de graznar, beber, comer, digerir y evacuar la comida.
12
El relojero suizo Pierre Jaquet Droz y sus hijos Henri-Louis y Jaquet construyeron diversos
muñecos capaces de escribir, dibujar y tocar diversas melodías en un órgano. Éstos aún se
conservan en el museo de Arte e Historia de Neuchâstel, Suiza. Contemporáneo de los
relojeros franceses y suizos fue Henry Maillardet, quien construyó, entre otros, una muñeca
capaz de dibujar y que aún se conserva en Filadelfia.
A finales del siglo XVIII y principios del XIX se desarrollaron algunas ingeniosas
invenciones mecánicas, utilizadas, fundamentalmente, en la industria textil, entre las que
destacan la hiladora giratoria de Hargreaves, la hiladora mecánica de Crompton, el telar
mecánico de Cartwright y el telar de Jacquard. Este último utilizaba una cinta de papel
perforada como un programa para las acciones de la máquina. Es a partir de este momento
cuando se empiezan a utilizar dispositivos automáticos en la producción, dando paso a la
automatización industrial.
La palabra robot fue usada por primera vez en el año 1921, cuando el escritor checo Karel
Capek estrenó en el teatro nacional de Praga su obra Rossum’s Universal Robot (R.U.R.). Su
origen es la palabra eslava robota, que se refiere al trabajo realizado de manera forzada. Los
robots de R.U.R. eran máquinas androides fabricadas a partir de la «formula» obtenida por
un brillante científico llamado Rossum. Estos robots servían a sus jefes humanos
desarrollando todos los trabajos físicos, hasta que finalmente se rebelan contra sus dueños,
14
destruyendo toda la vida humana, a excepción de uno de sus creadores, con la frustrada
esperanza de que les enseñe a reproducirse.
El término robot, posiblemente, hubiera caído en desuso si no hubiese sido por los escritores
del género literario de la ciencia ficción, algunos de los cuales retomaron la palabra, e incluso
el mensaje de la obra de Capek: la dominación de la especie humana por seres hechos a su
propia imagen. Así, en 1926, Thea von Harbou escribe Metrópolis, novela posteriormente
llevada al cine por su marido Fritz Lang, en donde la masa obrera de una sociedad
superindustrializada es manipulada por un líder androide llamado María.
Pero sin duda alguna, fue el escritor americano de origen ruso Isaac Asimov (1920- 1992) el
máximo impulsor de la palabra robot. Se le atribuye a Asimov también la creación del
término robotics (robótica), utilizada por primera vez en una historia corta titulada
Runaround, publicada en 1942.
1. Un robot no puede perjudicar a un ser humano, ni con su inacción permitir que un ser
humano sufra daño.
2. Un robot ha de obedecer las órdenes recibidas de un ser humano, excepto si tales órdenes
entran en conflicto con la primera ley.
3. Un robot debe proteger su propia existencia mientras tal protección no entre en conflicto
con la primera o segunda ley.
Actualmente existe una gran variedad de robots con diversas estructuras geométricas y
mecánicas que definen su funcionalidad y aplicación. Sin embargo, de manera general
pueden ser clasificados como se muestra en la tabla 1.1.
15
Clasificación de robots
Los robots móviles se utilizan en el hogar para limpiar y recolectar basura; en hospitales se
emplean para trasladar instrumental de quirófano al área de desinfectado; en investigación
científica del espacio (en la luna o en planetas) se ocupan para analizar y enviar información
de piedras, arenas y atmosfera; en arqueología son empleados para enviar señales de video
del interior de cavernas, túneles, pirámides, etc. Existen diversos tipos de robots móviles,
dependiendo de su aplicación es el tipo de estructura mecánica, ruedas o patas.
Los robots móviles marinos son robots submarinos equipados con sensores especiales para
navegación dentro del agua como sonar, radar, visión.
16
Figura 4. Robot curiosity de la NASA
En un futuro cercano, con el avance de la tecnología los robots humanoides. más que ser
máquinas multifuncionales, intentarán inspirar y comunicar emociones como se plantea en
la película el hombre bicentenario.
Los robots humanoides, conocidos como androides, son sistemas muy complejos no sólo en
su estructura mecánica, también lo son en lo relacionado con la electrónica, los sensores, los
servomotores, la programación y el modelado matemático. Los robots humanoides ocupan
una posición muy importante en todo el mundo debido a su versatilidad y aplicaciones; un
aspecto clave para tal aceptación en la sociedad es su similitud al ser humano que los hace
ver agradables, confiables y amigables.
17
Los androides actuales poseen la capacidad de realizar actividades complicadas. por ejemplo,
ejecutar actividades de danza, alcanzar velocidades de 6 km/hora (robot ASIMO Advanced
Step in Innovative Mobility), y más aún, el principal potencial del androide es que puede ser
empleado en auxiliar a personas en zonas de desastres, es decir, buscar víctimas atrapadas en
lugares donde hay derrumbes, llevarles agua, inclusive rescatar y salvar vidas.
Actualmente el aspecto de los robots androides es mucho más humano, lo que los haces más
amigables. Un androide puede asistir a personas discapacitadas, puede guiar a personas
invidentes, los ayuda a trasladarse a diversos sitios, también puede orientar a las personas y
comunicar órdenes.
18
herramientas o dispositivos especiales, mediante movimientos variados programados para la
ejecución de distintas tareas.
Los robots industriales son el tipo de robots más populares, debido a la importancia que
ocupan en el sector industrial como herramientas clave para la modernización de las
empresas. Hoy en día, la automatización de procesos industriales es realizada a través de
robots y esto trae como consecuencia competitividad, productividad, eficiencia y rentabilidad
de las empresas.
Los robots industriales también son conocidos como brazos robots o brazos mecánicos, por
analogía con el brazo humano, y se componen de la base la cual puede rotar 360° grados
alrededor de su eje de giro, además de que poseen articulaciones para hombro y codo. En el
extremo final del codo tienen una parte mecánica denominada muñeca que le permite orientar
a la herramienta final que es la que determina la aplicación a realizar.
Dentro de las características de los robots industriales se encuentra el que trabajan sin
descansar las 24 horas del día, todos los días del año, por lo que en aplicaciones industriales
superan en desempeño a las personas, ya que los robots no se fatigan ni se cansan, y tienen
19
la habilidad de repetir el proceso siempre con el mismo tiempo y la misma calidad
(repetitividad).
Entre las compañías más importantes que diseñan y construyen robots industriales se
encuentran FANUC, ABB. KUKA. MOTOMAN. EPSON; cuentan con una gran diversidad
de modelos de robots para diferentes aplicaciones industriales.
Las principales aplicaciones que tienen los robots industriales son proceso de pintado de
carrocerías automotrices, accesorios, cubetas, tinas, cajas, soldadura de punto y por arco en
carrocerías automotrices, puertas y diversas piezas industriales; traslado de herramientas,
estibado y empaquetado de materiales, etc.
20
2.3 Morfología de robots manipuladores
Un robot manipulador está compuesto por una serie consecutiva de eslabones y articulaciones
para formar una cadena cinemática abierta. Cada articulación representa la interconexión
entre dos eslabones consecutivos.
Desde el punto de vista mecánico, la cadena cinemática se dice que es abierta cuando hay
sólo una secuencia de eslabones sin que las dos puntas terminales ele la cadena desde la base
hasta el extremo final se unan, es decir que no formen un lazo cerrado, de otra manera sería
una cadena cinemática cerrada.
En forma general, un robot industrial está formado por los siguientes elementos descritos
brevemente:
Los servomotores o actuadores se usan para formar las articulaciones, las cuales son las
encargadas de transmitir la energía para producir movimiento a cada uno de los eslabones
que conforman al robot. Cada articulación contribuye con un grado de libertad (gdl).
Los grados de libertad son el número de parámetros independientes que fijan la situación del
órgano terminal. El número de grados de libertad suele coincidir con el número de eslabones
de la cadena cinemática.
Sensores: proporcionan información del estado interno del robot. Posición y velocidad
articular son las variables más comunes en el sistema de sensores.
La capacidad de percepción del robot es mejorada a través del sistema de sensores que le
permite responder a su entorno de manera versátil y autónoma. En robótica son de particular
interés los en-coders ópticos, ya que éstos proporcionan información del desplazamiento
articular. En general los encoders ópticos consisten en una fuente de luz (emisor) que incide
directamente sobre el lado frontal de un disco o plato con ranuras transparentes, colocado
directamente en el rotor del motor que al girar permite el paso de ciertos rayos de luz, el
detector de luz (receptor) registra los rayos infrarrojos que han pasado por las ranuras del
disco, esta señal de luz es acoplada a un circuito electrónico para generar pulsos de salida
proporcional al ángulo de rotación.
22
Sistema mecánico: consiste en una secuencia de eslabones rígidos de metal conectados en
cadena abierta por medio de articulaciones (servomotores); un robot manipulador está
caracterizado por un brazo que asegura la movilidad, una muñeca que confiere la destreza y
un extremo final que realiza la tarea programada al robot.
En la articulación prismática el grado de libertad consiste en una traslación a lo largo del eje
de la articulación.
En la articulación cilíndrica existen dos grados de libertad: una rotación y una traslación.
Por último, la articulación esférica combina tres giros en tres direcciones perpendiculares en
el espacio.
Se consideran, en primer lugar, las estructuras más utilizadas como brazo de un robot
manipulador. Estas estructuras tienen diferentes propiedades en cuanto a espacio de trabajo
y accesibilidad a posiciones determinadas.
El espacio de trabajo es el conjunto de puntos en los que puede situarse el efector final del
manipulador. Corresponde al volumen encerrado por las superficies que determinan los
puntos a los que accede el manipulador con su estructura totalmente extendida y plegada,
está determinado por la geometría del robot y la naturaleza de sus articulaciones.
Por otra parte, todos los puntos del espacio de trabajo no tienen la misma accesibilidad. Los
puntos de accesibilidad mínima son los de las superficies que delimitan el espacio de trabajo
ya que a ellos sólo puede llegarse con una única orientación.
24
2.3.2.1 Configuración cartesiana
Sin embargo, la configuración no resulta adecuada para acceder a puntos situados en espacios
relativamente cerrados y su volumen de trabajo es pequeño cuando se compara con el que
puede obtenerse con otras configuraciones.
25
Figura 11. Configuración cilíndrica.
26
Es muy empleada en robots manipuladores industriales especialmente en tareas de
manipulación que tengan una cierta complejidad. De hecho, la configuración angular es, con
mucho la más utilizada en educación y actividades de investigación y desarrollo.
El controlador de un robot con un brazo de estructura angular debe realizar tareas más
complejas debido a que. como ya se ha mencionado antes, las trayectorias se especifican
normalmente en coordenadas cartesianas, por lo cual deben realizarse las transformaciones
adecuadas.
27
2.4 Posición de un cuerpo rígido
Queda claro que la postura o configuración del cuerpo rígido se conoce si se sabe la posición
del sistema móvil respecto al sistema fijo. Esta posición se determina a partir de la “posición”
de cualquier punto sobre él, por ejemplo, el origen O o el punto P, y la “orientación” del
sistema móvil respecto a al sistema fijo.
Si las coordenadas del punto P o los componentes del vector p son px, py, pz en el sistema
fijo F, se denota como:
28
𝑃𝑋
[𝑃]𝐹 = [𝑃𝑌 ] (2.1)
𝑃𝑍
Los subíndices x, y, z, representan las proyecciones del vector de posición p sobre los ejes
de coordenadas del sistema de referencia fijo, a decir, a lo largo de X, Y y Z, respectivamente.
El vector p puede expresarse en forma alternativa como
𝑃 = 𝑃𝑋 𝑥 + 𝑃𝑦 𝑦 + 𝑃𝑧 𝑧 (2.2)
donde x, y, z, denotan los vectores unitarios a lo largo de los ejes X, Y, Z, del sistema F,
respectivamente, como se indica en la figura 15. Sus representaciones en el sistema F, es
decir, [x]F, [y]F y [z]F son como sigue:
1 0 0
[𝑥]𝐹 = [0] , [𝑦]𝐹 = [1] , [𝑧]𝐹 = [0] (2.3)
0 0 1
Si se sustituye la ecuación (2.3) en la (2.2), puede demostrarse que la expresión del vector p
en el sistema F, es decir, [p]F, es la misma que se da en la ecuación (2.1). Observe que, si el
vector p se representa en otro sistema de referencia fijo al del sistema F, tendrá diferentes
componentes a lo largo de los ejes de coordenadas nuevos, a pesar de que la posición real del
punto P no ha cambiado. Por lo tanto, se escribirá un vector normalmente sin mencionar
algún sistema, por ejemplo, como ocurre en la ecuación (2.2), la cual se llama, en contraste
con las ecuaciones (2.1) y (2.3), representación de un sistema invariante. Sin embargo, es
importante observar que cuando se resuelve un problema numérico, debe elegirse un sistema
de coordenadas adecuado.
29
Figura 15. Descripción espacial.
En las tareas de montaje en un plano que se han mencionado, puede que no sea necesario
ningún grado de Libertad adicional ya que se trabaja siempre en dirección perpendicular al
plano de montaje, ta1 como sucede en el montaje de componentes electrónicos.
Sin embargo, en otras tareas de manipulación, suele ser necesario que el efector final tenga
una determinada orientación en el espacio. Esto se consigue con la muñeca del manipulador.
En la figura 16 se muestra un manipulador angular provisto de una muñeca que añade tres
grados de libertad de rotación a la estructura. Estos tres ángulos permiten especificar la
orientación del efector final en el espacio. Obsérvese que, de esta forma se llega a los seis
grados de libertad (tres del brazo y tres de la muñeca) que se necesitan en un caso general
para especificar una posición y una orientación en el espacio.
30
Figura 16. Manipulador configuración angular
Las matrices de rotación son el método más extendido para la descripción de orientaciones,
debido principalmente a la comodidad que proporciona el uso del álgebra matricial.
Supóngase que se tiene en el plano dos sistemas de referencia OXY y OUV con un mismo
origen O, siendo el sistema OXY el de referencia fijo y el sistema OUV el móvil, solidario
al objeto (Figura 17a). Los vectores unitarios de los ejes coordenados del sistema OXY son
ix, jy, mientras que los del sistema OUV son iu, jv.
𝑃 = 𝑝𝑢 𝑖𝑢 + 𝑝𝑣 𝑗𝑣 (2.4)
𝑝𝑥 = 𝑖𝑥 𝑝
𝑝𝑦 = 𝑖𝑣 𝑝 (2.5)
31
Figura 17. Orientación de un sistema OUV respecto a otro OXY en un plano.
𝑝𝑥 𝑝𝑢
[𝑝 ] = 𝑹 [ 𝑝 ] (2.6)
𝑦 𝑣
Donde:
𝑖𝑥 𝑖 𝑢 𝑖𝑥 𝑖𝑣
𝑹 = [𝑗 𝑖 𝑗𝑦 𝑗𝑣 ] (2.7)
𝑦 𝑢
R es la llamada matriz de rotación, que define la orientación del sistema OUV con respecto
al sistema OXY, y que sirve para transformar las coordenadas de un vector en un sistema a
las del otro. También recibe el nombre de matriz de cosenos directores. Es fácil de comprobar
que se trata de una matriz ortonormal, tal que R-1 = RT.
Si se considera la posición relativa del sistema OUV girado un ángulo α sobre el OXY (Figura
17b), tras realizar los correspondientes productos escalares, la matriz R será de la forma:
cos 𝛼 −sin 𝛼
𝑅=[ ] (2.8)
sin 𝛼 cos 𝛼
Para el caso en que α= 0, en el que los ejes coordenados de ambos sistemas coinciden, la
matriz R corresponderá a la matriz unitaria.
32
En un espacio tridimensional, el razonamiento a seguir es similar. Supónganse los sistemas
OXYZ y OUVW, coincidentes en el origen, siendo el OXYZ el sistema de referencia fijo, y
el OUVW el solidario al objeto cuya orientación se desea definir. (Figura 18a). Los vectores
unitarios del sistema OXYZ serán ix, jy, kz, mientras que los del OUVW serán iu, jv, kw.
Un vector p del espacio podrá ser referido a cualquiera de los sistemas de la siguiente manera:
𝑝𝑥 𝑝𝑢
[ 𝑦 ] = 𝑹 [ 𝑝𝑣 ]
𝑝 (2.10)
𝑝𝑧 𝑝𝑤
Donde:
𝑖𝑥 𝑖𝑢 𝑖𝑥 𝑗𝑣 𝑖𝑥 𝑘𝑤
[ 𝑗𝑦 𝑖𝑢 𝑗𝑦 𝑗𝑣 𝑗𝑦 𝑘𝑤 ] (2.11)
𝑘𝑧 𝑖𝑢 𝑘𝑧 𝑗𝑣 𝑘𝑧 𝑘𝑤
es la matriz de rotación que define la orientación del sistema OUVW con respecto al
sistema OXYZ. Al igual que en dos dimensiones, también recibe el nombre de matriz de
cosenos directores y se trata de un matriz ortonormal, tal que la inversa de la matriz R es
igual a su traspuesta: R -1 = RT.
1 0 0
𝑅𝑜𝑡𝑥(𝛼) [0 cos 𝛼 −sin 𝛼 ] (2.12)
0 sin 𝛼 cos 𝛼
33
Figura 18. Sistema de referencia OXYZ y solidario al objeto OUVW.
En la Figura 19a, la orientación del sistema OUVW, con el eje OV coincidente con el eje
OY, vendrá representada mediante la matriz:
cos ∅ 0 sin ∅
𝑅𝑜𝑡𝑦(∅) [ 0 1 0 ] (2.13)
−sin ∅ 0 cos ∅
En la Figura 19b la orientación del sistema OUVW, con el eje OW coincidente con el eje
OZ, vendrá representada mediante la matriz:
cos 𝜃 −sin 𝜃 0
𝑅𝑜𝑡𝑧(𝜃) [ sin 𝜃 cos 𝜃 0] (2.14)
0 0 1
Figura 19. Rotación del sistema OUVW con respecto a los ejes OY y OZ.
34
Estas tres matrices, Ecuaciones (2.12), (2.13) y (2.14), se denominan matrices básicas de
rotación de un sistema espacial de tres dimensiones.
Las matrices de rotación pueden componerse para expresar la aplicación continua de varias
rotaciones. Así, si al sistema OUVW se le aplica una rotación de ángulo α sobre OX, seguida
de una rotación de ángulo φ sobre OY y de una rotación de ángulo θ sobre OZ, la rotación
global puede expresarse como:
𝑇 = 𝑅𝑜𝑡𝑧(𝜃)𝑅𝑜𝑡𝑦(∅)𝑅𝑜𝑡𝑥(𝛼) =
cos 𝜃 −sin 𝜃 0 cos ∅ 0 sin ∅ 1 0 0
[ sin 𝜃 cos 𝜃 0] [ 0 1 0 ] [0 cos 𝛼 −sin 𝛼 ] =
0 0 1 −sin ∅ 0 cos ∅ 0 sin 𝛼 cos 𝛼
𝐶𝜃𝐶∅ −𝑆𝜃𝐶𝛼 + 𝐶𝜃𝑆∅𝑆𝛼 𝑆𝜃𝑆𝛼 + 𝐶𝜃𝑆∅𝐶𝛼
[ 𝑆𝜃𝐶∅ 𝐶𝜃𝐶𝛼 + 𝑆𝜃𝑆∅𝑆𝛼 −𝐶𝜃𝑆𝛼 + 𝑆𝜃𝑆∅𝐶𝛼 ] (2.15)
𝑆∅ 𝐶∅𝑆𝛼 𝐶∅𝐶𝛼
Considérese el sistema de referencia cartesiano fijo ∑0 (x0, y0, z0) y el sistema de referencia
∑1 (x1, y1, z1), cuyos orígenes no son coincidentes. El origen del sistema de referencia ∑1 se
encuentra desplazado una distancia 𝑑01 con respecto al origen del sistema ∑0, como se muestra
en la figura 20.
𝑇
El vector 𝑑01 está expresado en coordenadas del sistema ∑0, es decir: 𝑑 = [𝑑0𝑥
1 1
, 𝑑0𝑦 1
, 𝑑0𝑧 ]
entonces cualquier punto p tiene representación P0 y p1. La relación general entre los sistemas
de referencias ∑0 (x0, y0, z0) y ∑1 (x1, y1, z1) incluyendo la matriz de rotación 𝑅Z,𝜃 y el vector
de traslación 𝑑01 es:
35
1
𝑑0𝑥 𝑃1𝑥
1 1
𝑝 = 𝑑0 + R𝑝1 = [𝑑0𝑦 ] + 𝑅Z,𝜃 [𝑃1𝑦 ] (2.16)
1
𝑑0𝑧 𝑃1𝑧
Con el fin de controlar el efector final respecto a la base, es necesario encontrar la relación
entre los sistemas de coordenadas adjuntos al efector final y la base. Esto puede obtenerse a
partir de la descripción de las transformaciones de coordenadas adjuntadas a todos los
36
eslabones que forman la descripción general de manera recursiva. Como primer paso, deberá
derivarse un método sistemático general para definir la posición y orientación relativa de los
dos eslabones consecutivos. El problema es la definición de los dos sistemas adjuntos a los
dos eslabones sucesivos y el cálculo de la transformación de coordenadas entre ellos.
En general, los sistemas de referencia se eligen de manera arbitraria mientras estén de manera
adjunta al eslabón al que se refieran. No obstante, conviene establecer algunas reglas para la
definición de los sistemas de eslabones. La convención que aquí se adopta para un robot de
cadena serial como el que se muestra en la figura 21 que tiene n + 1 eslabones, es decir,
vinculo #0, ... #n, acoplados por n articulaciones, es decir, articulación 1, ... n.
Aunque para describir la relación que existe entre dos elementos contiguos se puede hacer
uso de cualquier sistema de referencia ligado a cada elemento, la forma habitual que se suele
utilizar en robótica es la representación de Denavit-Hartenberg (D-H). Denavit y Hartenberg
[DENAVIT-55] propusieron en 1955 un método matricial que establece la localización que
debe tomar cada sistema de coordenadas {Si} ligado a cada eslabón i de una cadena
articulada, para poder sistematizar la obtención de las ecuaciones cinemáticas de la cadena
completa. Escogiendo los sistemas de coordenadas asociados a cada eslabón según la
representación propuesta por D-H, será posible pasar de uno al siguiente mediante 4
transformaciones básicas que dependen exclusivamente de las características geométricas del
37
eslabón. Hay que hacer notar que, si bien en general una matriz de transformación
homogénea queda definida por 6 grados de libertad, el método de Denavit-Hartenberg,
permite, en eslabones rígidos, reducir éste a 4 con la correcta elección de los sistemas de
coordenadas. Estas 4 transformaciones básicas consisten en una sucesión de rotaciones y
traslaciones que permiten relacionar el sistema de referencia del elemento i–1 con el sistema
del elemento i. Las transformaciones en cuestión son las siguientes (es importante recordar
que el paso del sistema {Si-1} al {Si} mediante estas 4 transformaciones está garantizado
sólo si los sistemas {Si–1} y {Si} han sido definidos de acuerdo con unas normas
determinadas que se expondrán posteriormente):
𝑖
𝑖−1𝐴 = 𝐑𝐨𝐭𝐳 (θi) 𝐓 (0,0, di) 𝐓 (ai, 0,0) 𝐑𝐨𝐭𝐱 (αi) (2.18)
𝑖
𝑖−1𝐴 =
cos 𝜃𝑖 −sin 𝜃𝑖 0 0 1 0 0 0 1 0 0 𝑎𝑖 1 0 0 0
[ sin 𝜃𝑖 cos 𝜃𝑖 0 0] [0 1 0 0 ] [0 1 0 0 ] [0 cos 𝛼𝑖 −sin 𝛼𝑖 0] =
0 0 1 0 0 0 1 𝑑𝑖 0 0 1 0 0 sin 𝛼𝑖 cos 𝛼𝑖 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
cos 𝜃𝑖 − cos 𝛼𝑖 sin 𝜃𝑖 sin 𝛼𝑖 sin 𝜃𝑖 𝑎𝑖 cos 𝜃𝑖
[ sin 𝜃𝑖 cos 𝛼𝑖 cos 𝜃𝑖 −sin 𝛼𝑖 cos 𝜃𝑖 𝑎𝑖 sin 𝜃𝑖 ] (2.19)
0 sin 𝛼𝑖 cos 𝛼𝑖 𝑑𝑖
0 0 0 1
38
Donde θi, di, ai, αi son los parámetros D-H del eslabón i. De este modo, basta con identificar
𝑖
los parámetros θi, di, ai, αi para obtener las matrices 𝑖−1𝐴 y relacionar así todos y cada uno
los eslabones del robot.
𝑖
Como se ha indicado, para que la matriz 𝑖−1𝐴, definida en (2.19) relacione los sistemas
{Si–1} y {Si}, es necesario que los sistemas se hayan escogido de acuerdo con unas
determinadas normas. Éstas, junto con la definición de los 4 parámetros de Denavit
Hartenberg, conforman el siguiente algoritmo para la resolución del problema cinemático
directo:
DH 3. Localizar el eje de cada articulación. Si ésta es rotativa, el eje será su propio eje de
giro. Si es prismática, será el eje a lo largo del cual se produce el desplazamiento.
DH 5. Situar el origen del sistema de la base {S0} en cualquier punto del eje z0. Los ejes x0
e y0 se situarán de modo que formen un sistema dextrógiro con z0.
DH 9. Situar el sistema {Sn} en el extremo del robot de modo que zn coincida con la
dirección de zn–1 y xn sea normal a zn–1 y zn.
DH 10. Obtener θi como el ángulo que hay que girar en torno a zi–1 para que xi–1 y xi
queden paralelos.
39
DH 11. Obtener di como la distancia, medida a lo largo de zi–1, que habría que desplazar
{Si–1} para que xi y xi–1 quedasen alineados.
DH 12. Obtener ai como la distancia medida a lo largo de xi (que ahora coincidiría con xi–
1) que habría que desplazar el nuevo {Si–1} para que su origen coincidiese con {Si}.
DH 13. Obtener αi como el ángulo que habría que girar en torno a xi, para que el nuevo {Si–
1} coincidiese totalmente con {Si}.
DH 15. Obtener la matriz de transformación que relaciona el sistema de la base con el del
extremo del robot T= 10𝐴 ∗ 21𝐴 ∗ 𝑛−1𝑛𝐴 .
Los cuatro parámetros de D-H (θi, di, ai, αi) dependen únicamente de las características
geométricas de cada eslabón y de las articulaciones que le unen con el anterior y siguiente.
En concreto estos representan (Figura 22):
θi Es el ángulo que forman los ejes xi–1 y xi medido en un plano perpendicular al eje zi–1,
utilizando la regla de la mano derecha. Se trata de un parámetro variable en articulaciones
giratorias.
40
di Es la distancia a lo largo del eje zi–1 desde el origen del sistema de coordenadas (i–1)-
ésimo hasta la intersección del eje zi–1 con el eje xi. Se trata de un parámetro variable en
articulaciones prismáticas.
ai Es la distancia a lo largo del eje xi que va desde la intersección del eje zi–1 con el eje xi
hasta el origen del sistema i-ésimo, en el caso de articulaciones giratorias.
En el caso de articulaciones prismáticas, se calcula como la distancia más corta entre los ejes
zi–1 y zi.
αi Es el ángulo de separación del eje zi–1 y el eje zi, medido en un plano perpendicular al eje
xi, utilizando la regla de la mano derecha.
Una vez obtenidos los parámetros D-H, el cálculo de las relaciones entre los eslabones
𝑖
consecutivos del robot es inmediato, ya que vienen dadas por las matrices i– 𝑖−1𝐴, que se
calculan según la Expresión general (2.19).
2.9 Cinemática
Para que un robot ejecute una tarea específica, deberá establecerse la posición y la orientación
del efector final, es decir, su posición o configuración en relación con su base. Esto es
esencial para resolver problemas de posicionamiento. Una vez que las relaciones
mencionadas se diferencian una y dos veces, surgen entonces los problemas de análisis de la
velocidad y aceleración necesarios para el control de movimientos uniformes del efector
final, así como el análisis dinámico del robot en cuestión.
Puesto que la configuración del efector final se determina por las seis variables cartesianas
que se controlan mediante los movimientos de las articulaciones del robot, es necesario
encontrar las relaciones entre los dos conjuntos.
41
En el análisis de posición, se encuentra una relación entre las coordenadas cartesianas, es
decir, la posición de un punto en el efector final y su orientación con los ángulos de las
articulaciones. Aquí existen dos tipos de problemas: la cinemática directa y la inversa.
En la cinemática inversa, se resuelve inverso, es decir, la posición del efector final está
determinada y el problema radica en encontrar los ángulos de las articulaciones.
La obtención del modelo cinemático directo puede ser abordado mediante dos enfoques
diferentes denominados métodos geométricos y métodos basados en cambios de sistemas de
referencia. Los primeros son adecuados para casos simples, pero al no ser sistemáticos, su
aplicación queda limitada a robots con pocos grados de libertad.
42
Los métodos basados en cambio de sistemas de referencia permiten de una manera
sistemática abordar la obtención del modelo cinemático directo del robot para robots de n
grados de libertad, siendo éstos, por tanto, los más frecuentemente utilizados, en particular
los que usan las matrices de transformación homogénea.
En general, un robot de n grados de libertad está formado por n eslabones unidos por n
articulaciones, de forma que cada par articulación-eslabón constituye un grado de libertad.
Del mismo modo denominando 𝐾0𝐴 a las matrices resultantes del producto de las matrices
𝑖
𝑖−1𝐴 con i desde 1 hasta k, se puede representar de forma total o parcial la cadena cinemática
43
Así, por ejemplo, la posición y orientación del sistema solidario con el segundo eslabón del
robot con respecto al sistema de coordenadas de la base se puede expresar mediante la matriz
2
0𝐴.
2
0𝐴 = 10𝐴 ∗ 21𝐴. (2.21)
De manera análoga, la matriz 30𝐴 representa la localización del sistema del tercer eslabón:
3
0𝐴 = 10𝐴 ∗ 21𝐴 ∗ 32𝐴. (2.22)
Cuando se consideran todos los grados de libertad, a la matriz 𝑛0𝐴 se le suele denominar T.
Así, dado un robot de seis grados de libertad, se tiene que la posición y orientación del
eslabón final vendrá dada por la matriz T:
Resultando que la relación entre el sistema de coordenadas de la base y del extremo queda
definida por una matriz de transformación homogénea T función de las coordenadas
articulares, que debe hacerse coincidir con la matriz de transformación homogénea [noap]
correspondiente a la localización en la que se desea posicionar al robot. De esta igualdad se
obtiene la solución al problema cinemático directo.
El objetivo del problema cinemático inverso consiste en encontrar los valores que deben
adoptar las coordenadas articulares del robot q [q1, q2, ..., qn]T para que su extremo se
posicione y oriente según una determinada localización espacial (p, [n, o, a]). Así como es
posible abordar el problema cinemático directo de una manera sistemática a partir de la
utilización de matrices de transformación homogéneas, e independientemente de la
configuración del robot, no ocurre lo mismo con el problema cinemático inverso, siendo el
procedimiento de obtención de las ecuaciones fuertemente dependiente de la configuración
del robot.
A la hora de resolver el problema cinemático inverso es mucho más adecuado encontrar una
solución cerrada. Esto es, encontrar una relación matemática explícita de la forma:
𝑞𝑘 = 𝑓𝑘(𝑥, 𝑦, 𝑧, ∅, 𝜃, 𝜑)
(2.24)
𝑘 = 1 … 𝑛 (𝐺𝐷𝐿)
No obstante, a pesar de las dificultades comentadas, la mayor parte de los robots poseen
cinemáticas relativamente simples que facilitan en cierta medida la resolución de su problema
cinemático inverso.
Por ejemplo, si se consideran sólo los tres primeros grados de libertad de muchos robots,
éstos tienen una estructura planar, esto es, los tres primeros elementos quedan contenidos en
un plano. Esta circunstancia facilita la resolución del problema.
Asimismo, en muchos robots se da la circunstancia de que los tres grados de libertad últimos,
dedicados fundamentalmente a orientar el extremo del robot, corresponden a giros sobre ejes
que se cortan en un punto.
De nuevo esta situación facilita el cálculo de la n-upla [q1, ..., qn]T correspondiente a la
posición y orientación deseadas. Por tanto, para los casos citados y otros, es posible establecer
45
ciertas pautas generales que permitan plantear y resolver el problema cinemático inverso de
una manera sistemática.
Los métodos geométricos permiten, normalmente, obtener los valores de las primeras
variables articulares, que son las que consiguen posicionar el robot (prescindiendo de la
orientación de su extremo). Para ello utilizan relaciones trigonométricas y geométricas sobre
los elementos del robot.
𝑛 𝑜 𝑎 𝑝
[ ] = [𝑡𝑖𝑗] (2.25)
0 0 0 1
donde los elementos tij son función de las coordenadas articulares [q1, ..., qn]T.
46
Capítulo 3 Aplicación y resultados
La constitución física de la mayor parte de los robots industriales guarda cierta similitud con
la anatomía de las extremidades superiores del cuerpo humano, por lo que, en ocasiones, para
hacer referencia a los distintos elementos que componen el robot, se usan términos como
cintura, hombro, brazo, codo, muñeca, etc.
47
3.2 Carga útil del robot
48
Figura 25. Parámetros del robot.
Las dimensiones del dibujo mostrado en la figura 25, se expresan en la siguiente tabla.
d1 70mm
a2 165mm
d4 185mm
d6 105mm
Una vez definidas las longitudes de los eslabones del manipulador se procede a determinar
cuál será el par necesario para los servomotores que se usaran para levantar la carga útil
mencionada anteriormente.
49
Figura 26. Diseño preliminar del manipulador en su máxima extensión.
Considerando estos datos se define la ecuación (3.1) para determinar el par motor necesario
para el actuador ubicado en el actuador del hombro del robot.
𝑎2 𝑑4
𝑀𝜏 = 𝐸1 ∗ ( 2 ) + 𝑆3 ∗ 𝑎2 + 𝐸2 ∗ ( 2 + 𝑎2) + 𝑆4 ∗ (𝑎2 + 𝑑4) + 𝑆5 ∗ (𝑎2 + 𝑑4)
𝑑6
(3.1)
+𝐸3 ∗ ( 2 + 𝑎2 + 𝑑4) + 𝑆6 ∗ (𝑎2 + 𝑑4 + 𝑑6) + 𝐶𝑈 ∗ (𝑎2 + 𝑑4 + 𝑑6)
De la misma forma se pueden obtener las ecuaciones para el cálculo del par motor de las
articulaciones restantes, definiendo la ecuación (3.2) para determinar el par de la articulación
del codo.
50
𝑑4
𝑀𝜏3 = 𝐸2 ∗ ( 2 ) + 𝑆4 ∗ (𝑑4) + 𝑆5 ∗ (𝑑4)
𝑑6
(3.2)
+𝐸3 ∗ ( 2 + 𝑑4) + 𝑆6 ∗ (𝑑4 + 𝑑6) + 𝐶𝑈 ∗ (𝑑4 + 𝑑6)
𝑑6
𝑀𝜏4 = 𝑆5 ∗ (1𝑐𝑚) + 𝐸3 ∗ ( 2 ) + 𝑆6 ∗ (𝑑6)
(3.3)
+𝐶𝑈 ∗ (𝑑6)
𝑑6
𝑀𝜏5 = 𝐸3 ∗ ( 2 ) + 𝑆6 ∗ (𝑑6) + 𝐶𝑈 ∗ (𝑑6) (3.4)
Como se mencionó anteriormente, el robot consta de 6 grados de libertad, por lo cual, para
su movilidad requerirá de 6 servomotores. Se realiza una preselección para el servomotor a
utilizar en el hombro del robot, ya que este será el que más esfuerzo deberá realizar y se elige
el servomotor tower pro MG995 con un torque de 11 kg-cm y un peso de 69g. Partiendo de
esto, se eligen las piezas que serán necesarias para desarrollar la estructura mecánica del
robot basándose en el prototipo mostrado en la figura 25.
51
La estructura mecánica se integra con las siguientes piezas que se muestran:
Todas las piezas están fabricadas en aluminio, siendo este material el ideal para la estructura
debido a su ligereza y resistencia. En la tabla 3.2 se describen los pesos de cada eslabón que
conforman la cadena cinemática de 6 grados de libertad.
Eslabón Peso en kg
1 0.076kg
2 0.065kg
3 0.037kg
Con estos datos procedemos a calcular el par requerido para la segunda articulación, que es
en donde mayor esfuerzo se requerirá. Sustituimos los datos en la ecuación (3.1) y se obtiene
lo siguiente:
53
16.5𝑐𝑚 18.5𝑐𝑚
𝑀𝜏 = 0.076𝑘𝑔 ∗ ( ) + (0.069𝑘𝑔 ∗ 16.5𝑐𝑚) + 0.065𝑘𝑔 ∗ ( + 16.5𝑐𝑚)
2 2
+0.069𝑘𝑔 ∗ (16.5𝑐𝑚 + 18.5𝑐𝑚) + 0.069𝑘𝑔 ∗ (16.5𝑐𝑚 + 18.5𝑐𝑚)
10.5𝑐𝑚
+0.037𝑘𝑔 ∗ ( + 16.5𝑐𝑚 + 18.5𝑐𝑚) + 0.069𝑘𝑔 ∗ (16.5𝑐𝑚 + 18.5𝑐𝑚 + 10.5𝑐𝑚)
2
+0.200𝑘𝑔 ∗ (16.5𝑐𝑚 + 18.5𝑐𝑚 + 10.5𝑐𝑚) = 21.9979𝑘𝑔 − 𝑐𝑚
(3.5)
Con el resultado obtenido se observa que el par requerido es mayor al que ofrece el
servomotor preseleccionado, por lo cual se decide cambiar por el servomotor HS3225, el cual
proporciona un torque de 25kg-cm, cumpliendo las expectativas para que el manipulador
pueda funcionar correctamente.
Se realiza el mismo procedimiento para obtener el par que deberá proporcionar el servomotor
ubicado en la tercera articulación del manipulador, obteniendo:
18.5𝑐𝑚
𝑀𝜏3 = 0.065𝑘𝑔 ∗ ( ) + 0.069𝑘𝑔 ∗ (18.5𝑐𝑚)
2
10.5𝑐𝑚
+0.069𝑘𝑔 ∗ (18.5𝑐𝑚) + 0.037𝑘𝑔 ∗ (18.5𝑐𝑚 + ) (3.6)
2
+0.069𝑘𝑔 ∗ (18.5𝑐𝑚 + 10.5𝑐𝑚) + 0.200𝑘𝑔 ∗ (18.5𝑐𝑚 + 10.5𝑐𝑚)
= 12.14𝑘𝑔 − 𝑐𝑚
Se observa que al igual que la articulación del hombro se requiere un torque mayor al que
proporcionan los servomotores MG995, por lo cual se propone utilizar el servomotor HS3225
para la articulación del codo.
54
En la tabla 3.3 se observa el torque requerido por las articulaciones del robot y el servomotor
seleccionado para la articulación.
4 3.085kg-cm MG995
5 3.01875kg-cm MG995
Para las articulaciones 1 y 6 se propone utilizar los servomotores MG995, debido a que estas
articulaciones no requieren de mucho esfuerzo, solo generan rotación y por lo tanto no se
requiere un par muy alto para generar esta rotación.
55
3.6 Cinemática del robot
Para obtener la posición del efector final con coordenadas referidas a la base del robot de 6
grados de libertad se identifican primero los 4 parámetros utilizados en la metodología
Denavit y Hartenberg los cuales son 𝜃𝑖 que es el ángulo formado entre los ejes xi-1 y x1, este
es el ángulo con el que se realizaran las tareas de control para posicionar al actuador, después
se tiene el parámetro di que es la distancia medida entre los ejes xi-1 y x1, el parámetro ai se
define como la distancia entre los ejes zi-1 y z1, y el parámetro 𝛼𝑖 es el ángulo formado entre
los ejes zi-1 y z1.
56
En el diagrama de la figura 35 se muestran los sistemas de ejes de coordenadas del robot con
6 grados de libertad siguiendo la metodología de Denavit-Hartenberg.
57
Después de haber indicado los ejes de los sistemas de coordenas de cada una de las
articulaciones del robot se procede a obtener los 4 parámetros mencionados, los cuales están
mostrados en la tabla 3.4
i 𝜽𝒊 di ai 𝜶𝒊
1 𝜃1 d1 0 90
2 𝜃2 0 a2 0
3 𝜃3 0 0 90
4 𝜃4 d4 0 -90
5 𝜃5 0 0 90
6 𝜃6 d6 0 0
𝐶𝜃1 0 𝑆𝜃1 0
𝐴10 = [ 𝑆𝜃1 0 −𝐶𝜃1 0 ] (3.7)
0 1 0 𝑑1
0 0 0 1
58
𝐶𝜃3 0 𝑆𝜃3 0
𝐴32 = [ 𝑆𝜃3 0 −𝐶𝜃3 0] (3.9)
0 1 0 0
0 0 0 1
𝐶𝜃4 0 −𝑆𝜃4 0
𝐶𝜃4 0
𝐴43 = [ 𝑆𝜃4 0 ] (3.10)
0 −1 0 𝑑4
0 0 0 1
𝐶𝜃5 0 𝑆𝜃5 0
𝐴54 = [ 𝑆𝜃5 0 −𝐶𝜃5 0] (3.11)
0 1 0 0
0 0 0 1
𝐶𝜃6 0 −𝑆𝜃6 0
𝐶𝜃6 0
𝐴65 = [ 𝑆𝜃6 0 ] (3.12)
0 1 0 𝑑6
0 0 0 1
La función seno está representada por una S, mientras que la función coseno se muestra con
una C.
Para obtener la matriz de transformación homogénea que indicara las coordenadas del efector
final respecto a la base del robot, se multiplican las matrices anteriores respetando el orden
en el que se encuentran, tal como lo indica la ecuación (2.23). Por fines de conveniencia para
el desarrollo de la cinemática inversa, se divide en dos partes la multiplicación para obtener
la matriz T que estará dada por 𝐴60 , se multiplican las tres primeras matrices para obtener la
matriz que relaciona la tercera articulación con la base del robot, obteniendo:
59
𝐶𝜃1 𝐶𝜃2 𝐶𝜃3 − 𝐶𝜃1 𝑆𝜃2 𝑆𝜃3 𝑆𝜃1 𝐶𝜃1 𝐶𝜃2 𝑆𝜃3 − 𝐶𝜃1 𝑆𝜃2 𝑆𝜃3 𝑎2𝐶𝜃1 𝐶𝜃2
𝑆𝜃 𝐶𝜃 𝐶𝜃 − 𝑆𝜃1 𝑆𝜃2 𝑆𝜃3 −𝐶𝜃1 𝑆𝜃1 𝐶𝜃2 𝑆𝜃3 + 𝑆𝜃1 𝑆𝜃2 𝑆𝜃3 𝑎2𝑆𝜃1 𝐶𝜃2
𝐴30 = [ 1 2 3 ]
𝑆𝜃2 𝐶𝜃3 + 𝐶𝜃2 𝑆𝜃3 0 𝑆𝜃2 𝑆𝜃3 − 𝐶𝜃2 𝐶𝜃3 𝑎2𝑆𝜃2 + 𝑑1
0 0 0 1
(3.14)
Al observar la matriz resultante expresada en (3.14) se identifica que se puede realizar una
reducción de términos usando la identidad de suma y resta de ángulos.
Posteriormente se multiplican las matrices que van de la tercera articulación del robot a la
sexta articulación, se tiene:
𝐶𝜃4 𝐶𝜃5 𝐶𝜃6 − 𝑆𝜃4 𝑆𝜃6 −𝐶𝜃4 𝐶𝜃5 𝑆𝜃6 − 𝑆𝜃4 𝐶𝜃6 𝐶𝜃4 𝐶𝜃5 𝑑6𝐶𝜃4 𝑆𝜃5
𝑆𝜃 𝐶𝜃 𝐶𝜃 + 𝐶𝜃4 𝑆𝜃6 −𝑆𝜃4 𝐶𝜃5 𝑆𝜃6 + 𝐶𝜃4 𝐶𝜃6 𝑆𝜃4 𝑆𝜃5 𝑑6𝑆𝜃4 𝑆𝜃5
𝐴63 = [ 4 5 6 ] (3.18)
−𝑆𝜃5 𝐶𝜃6 𝑆𝜃5 𝑆𝜃6 𝐶𝜃5 𝑑6𝐶𝜃5 + 𝑑4
0 0 0 1
𝑛 𝑠 𝑎 𝑝
𝑛𝑥 𝑠𝑥 𝑎𝑥 𝑝𝑥
𝑇06 = 𝐴30 𝐴63 = 𝑛𝑦 𝑠𝑦 𝑎𝑦 𝑝𝑦 (3.19)
𝑛𝑧 𝑠𝑧 𝑎𝑧 𝑝𝑧
[0 0 0 1]
Las componentes de la matriz 𝑇06 quedan representadas por las ecuaciones (3.20) a (3.31).
60
𝑛𝑥 = 𝐶𝜃1 [𝐶𝜃2 + 𝜃3 𝐶𝜃4 𝐶𝜃5 − 𝑆𝜃6 𝑆𝜃4 − 𝑆𝜃2 + 𝜃3 𝑆𝜃5 𝐶𝜃6 ] + 𝑆𝜃1 (𝑆𝜃4 𝐶𝜃5 𝐶𝜃6 + 𝐶𝜃4 𝑆𝜃6 )
(3.20)
𝑠𝑥 = 𝐶𝜃1 [𝐶𝜃2 + 𝜃3 (−𝐶𝜃4 𝐶𝜃5 𝑆𝜃6 − 𝑆𝜃4 𝐶𝜃6 ) + 𝑆𝜃2 + 𝜃3 𝑆𝜃5 𝐶𝜃6 ] + 𝑆𝜃1 (−𝑆𝜃4 𝐶𝜃5 𝑆𝜃6 +
𝐶𝜃4 𝐶𝜃6 ) (3.21)
𝑎𝑥 = 𝐶𝜃1 [𝐶𝜃2 + 𝜃3 𝐶𝜃4 𝑆𝜃5 + 𝑆𝜃2 + 𝜃3 𝐶𝜃5 ] + 𝑆𝜃1 𝑆𝜃4 𝑆𝜃5 (3.22)
𝑛𝑦 = 𝑆𝜃1 [𝐶𝜃2 + 𝜃3 (𝐶𝜃4 𝐶𝜃5 𝐶𝜃6 − 𝑆𝜃4 𝑆𝜃6 ) − 𝑆𝜃2 + 𝜃3 𝑆𝜃5 𝐶𝜃6 ] − 𝐶𝜃1 (𝑆𝜃4 𝐶𝜃5 𝐶𝜃6 +
𝐶𝜃4 𝑆𝜃6 ) (3.24)
𝑠𝑦 = 𝑆𝜃1 [𝐶𝜃2 + 𝜃3 (−𝐶𝜃4 𝐶𝜃5 𝑆𝜃6 − 𝑆𝜃4 𝐶𝜃6 ) + 𝑆𝜃2 + 𝜃3 𝑆𝜃5 𝑆𝜃6 ] − 𝐶𝜃1 (−𝑆𝜃4 𝐶𝜃5 𝑆𝜃6 +
𝐶𝜃4 𝐶𝜃6 ) (3.25)
𝑎𝑦 = 𝑆𝜃1 [𝐶𝜃2 + 𝜃3 (𝐶𝜃4 𝑆𝜃5 ) + 𝑆𝜃2 + 𝜃3 𝐶𝜃5 ] − 𝐶𝜃1 (𝑆𝜃4 𝑆𝜃5 ) (3.26)
𝑛𝑧 = 𝑆𝜃2 + 𝜃3 (𝐶𝜃4 𝐶𝜃5 𝐶𝜃6 − 𝑆𝜃4 𝑆𝜃6 ) − 𝐶𝜃2 + 𝜃3 (−𝑆𝜃5 𝐶𝜃6 ) (3.28)
𝑠𝑧 = 𝑆𝜃2 + 𝜃3 (−𝐶𝜃4 𝐶𝜃5 𝑆𝜃6 − 𝑆𝜃4 𝐶𝜃6 ) − 𝐶𝜃2 + 𝜃3 (𝑆𝜃5 𝑆𝜃6 ) (3.29)
Las componentes px, py y pz, son las que nos indicaran las coordenadas en los ejes x, y, z,
respectivamente, de esta forma obtenemos la posición del efector final con coordenadas
referidas a la base del robot, en función de sus coordenadas articulares.
61
una posición y orientación se realizan una serie de cálculos para obtener los valores angulares
que debe tomar cada una de las articulaciones del robot.
En este trabajo se hará uso de la metodología propuesta por Donald Lee Pieper (Pieper, 1968),
para obtener la solución al problema cinemático inverso. El objetivo es el de dividir en dos
partes el problema para obtener posición y orientación, esta metodología es conocida como
desacoplo cinemático.
Se debe partir del punto en donde 3 ejes se interceptan consecutivamente, en el caso del
manipulador de 6 grados de libertad, este es el punto de la muñeca, en donde se interceptan
los ejes Z4, Z5 y Z6
Figura 37. Punto de la muñeca y punto final referidos a la base del manipulador de 6 gdl.
62
Los primeros 3 grados de libertad se encargarán de posicionar el robot mientras que los 3
restantes serán los encargados de orientar el efector final. En la figura 38 se observa el vector
que va de la base del robot al punto M de la muñeca y el vector de la base al punto final
donde está ubicado el efector final. Para posicionar el robot necesitamos conocer las
coordenadas en donde estará ubicado el punto M de la muñeca. Para conocer esta ubicación
es necesario conocer el vector que va del punto final al punto M, es decir el vector PM. Se
observa que el punto P se encuentra en el sistema de coordenadas X6, Y6, Z6, los cuales en
ingles son llamados normal, slide y approach respectivamente. (Craig, 2006). Al mismo
tiempo se puede ver que el vector PM es la distancia del punto M al punto P proyectada sobre
el eje Z6 en el último sistema de coordenadas referidas a la base, por lo tanto, podemos
describir el vector PM como:
𝑀𝑥 𝑃𝑥 − 𝑑6𝑎𝑥
𝑀𝑦 𝑃𝑦 − 𝑑6𝑎𝑦
𝑂𝑀 = [ ] = [ ] (3.33)
𝑀𝑧 𝑃𝑧 − 𝑑6𝑎𝑧
1 1
La expresión que define a la primera variable angular que es la que se encuentra ubicada en
la base del robot, está representada por:
𝑀𝑦
𝜃1 = tan−1 ( ) (3.34)
𝑀𝑥
Para obtener las variables 𝜃2 𝑦 𝜃3 se toma como referencia la geometría mostrada en la figura
38.
64
Figura 40. Representación geométrica para obtener 𝜃2 𝑦 𝜃3
𝜃2 = 𝛼 + 𝛼′ (3.35)
𝐻 = √𝑀𝑥 2 + 𝑀𝑦 2 (3.36)
𝑑42 −𝑎22 −𝑐 2
𝛼 = cos −1 ( ) (3.39)
−2(𝑎2)(𝑐)
𝑀𝑧−𝑑1
𝛼′ = tan−1 ( ) (3.40)
𝐻
65
𝑐 2 −𝑑42 −𝑎22
𝛾 = cos −1 ( −2(𝑑4)(𝑎2) ) (3.41)
𝑐 2 −𝑑42 −𝑎22
𝑐𝑜𝑠𝜃3 = ( −2(𝑑4)(𝑎2) ) (3.42)
𝑠𝑒𝑛𝜃
𝜃3 = tan−1 ( 𝑐𝑜𝑠𝜃3 ) (3.44)
3
Para obtener las articulaciones restantes se utiliza un método algebraico, en el que se hará
uso de la matriz de transformación homogénea 𝐴63 , ya que esta matriz representa a las
articulaciones 𝜃4 , 𝜃5 y 𝜃6 , que son las encargadas de la orientación del elemento final,
teniendo las siguientes expresiones:
Despejando se obtiene:
En el lado derecho de la expresión en (3.46) se tendrán valores conocidos, 𝐴30 representa las
rotaciones del sistema de ejes de coordenadas de la base al punto de la muñeca, al tratarse de
una matriz ortonormal su inversa es igual a su transpuesta, y 𝐴60 indica la orientación del
efector final respecto al sistema de referencia de la base del manipulador.
Donde:
66
𝑟12 = 𝑠𝑥𝐶𝜃1 𝐶𝜃2 + 𝜃3 + 𝑠𝑦𝑆𝜃1 𝐶𝜃2 + 𝜃3 (3.49)
Para obtener 𝜃5 se igualan los elementos r33 de las matrices expresadas en las ecuaciones
(3.19) y (3.47).
Después de hallar 𝜃5 se buscan las relaciones que permitan obtener las variables para las
articulaciones restantes, igualando los elementos r13 y r23 para obtener 𝜃4 .
𝑎𝑥𝑆𝜃1 −𝑎𝑦𝐶𝜃1
𝑆𝜃4 = (3.60)
𝑆𝜃5
𝑆𝜃4
𝜃4 = tan−1 ( ) (3.61)
𝐶𝜃4
67
𝑜𝑥𝑆𝜃2 +𝜃3 𝐶𝜃1 +𝑜𝑦𝑆𝜃2 +𝜃3 𝑆𝜃1 −𝑜𝑧𝐶𝜃2 +𝜃3
𝑆𝜃6 = (3.63)
𝑆𝜃5
𝑆𝜃
𝜃6 = tan−1 (𝐶𝜃6 ) (3.64)
6
3.7 Microcontrolador
Para este proyecto se utiliza una raspberry pi 3 como el controlador encargado de realizar el
esquema de control de posición y orientación del robot. Raspberry Pi es un ordenador de
placa reducida, ordenador de placa única u ordenador de placa simple (SBC) de bajo costo
desarrollado en el Reino Unido por la Raspberry Pi Foundation, con el objetivo de estimular
la enseñanza de informática en las escuelas. El modelo original se convirtió en más popular
de lo que se esperaba, hasta incluso vendiéndose fuera del mercado objetivo para usos como
robótica.
El software es de código abierto, siendo su sistema operativo oficial una versión adaptada
de Debian, denominada Raspbian, aunque permite usar otros sistemas operativos, incluido
una versión de Windows 10. En todas sus versiones, incluye un procesador Broadcom,
68
memoria RAM, GPU, puertos USB, HDMI, Ethernet, 40 pines GPIO y un conector para
cámara
Por regla general, aunque al tratarse de un SO completo se puede utilizar cualquier otro que
permita compilar en Linux como Java, la raspberry usa de manera nativa Python. Es el
lenguaje con el que está hecho Raspbian, incluyendo las librerías oportunas de C, y con el
que se permite el mayor acceso a los sistemas físicos del dispositivo.
Thonny es un nuevo entorno de desarrollo (IDE) para poder desarrollar en python sobre
nuestra Raspberry. Posé las funcionalidades de un IDE profesional como la inspección de
código, la ejecución paso a paso, etc.
Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a
los programadores a adoptar un estilo particular de programación, permite varios
estilos: programación orientada a objetos, programación imperativa y programación
funcional.
69
3.9 Conclusiones
Como se planteó desde el inicio, se logra desarrollar un brazo robótico con estructura
antropomórfica tomando como referencia el robot PUMA500. Con el tamaño propuesto para
realizar el manipulador se obtiene versatilidad para poder llevarlo de un lugar a otro, debido
a que Tesis de México SA. De C.V es una empresa internacional y en futuros proyectos se
requerirá el traslado del robot.
Con la obtención del modelo cinemático directo e inverso, se desarrolla un control para la
posición y orientación del efector final del robot, este control implementado en Python se
encarga de posicionar al robot en un punto de su área de trabajo, se expresa en coordenadas
de los ejes x, y, z, tomando como referencia al sistema de coordenadas ubicado en la base del
manipulador.
Con el desarrollo del robot con 6 grados de libertad se facilitará la construcción y montaje de
estructuras para el soporte de las cámaras de visión, disminuyendo tiempo y dinero en este
proceso.
3.10 Recomendaciones
Para más aplicaciones y usos del manipulador, se pueden diseñar diferentes tipos de
herramientas o elementos terminales.
Se puede considerar el desarrollo de una interfaz gráfica que permita realizar una simulación
de los movimientos que se van a realizar y que facilite al usuario la operación del robot, esta
consideración se plantea al seleccionar raspberry como el controlador, para posteriormente
poder usarlo de la mejor forma y sacar provecho.
El uso de otro tipo de control podría ayudar a que el funcionamiento del robot sea más
eficiente e incluso más preciso, dentro de esto se podría incluir el uso de sensores para obtener
realimentación y tener un lazo de control cerrado.
70
Bibliografía
Antonio Barrientos, Luis Felipe Peñín, Carlos Balaguer y Rafael Arecil. Fundamentos de
Robótica 2 Ed. McGraw-Hill. España, 2007.
Goldberg K. The Robot in the Garden. Goldberg (Editor). The MIT Press, Massachusetts,
2000.
71