UNIVERSIDAD PRIVADA DEL VALLE
FACULTAD DE INFORMATICA Y ELECTRONICA
INGENIERIA ELECTRONICA Evaluación
CAMPUS TIQUIPAYA
ROBOTICA
Informe de Practica de Laboratorio
N.º 2
CINEMATICA DIRECTA DEL
ROBOT MANIPULADOR
Grupo “B”
Estudiante: Johan Jairo Duran
Galarza
Docente: Ing. Erick Benítez Garaca
Cochabamba 04 de abril de 2025
Gestión I – 2025
CINEMATICA DIRECTA DEL ROBOT MANIPULADOR
1. COMPETENCIAS
• Desarrollar una rutina automatizada para robots manipuladores industriales
mediante programación textual, utilizando la cinemática directa para definir y
registrar puntos clave que permitan ejecutar secuencias de movimiento precisas
conforme a una tarea especifica
2. MARCO TEORICO
• Rutinas en la robótica
El uso de las rutinas en programación es muy importante. Cuando usamos rutinas en un
programa, estamos estructurándolo en bloques más pequeños y por tanto, más fáciles de
gestionar. Dentro de la rutina, introduciremos los bloques de programación
correspondientes a tareas repetitivas, vamos a poder llamar a la rutina en cualquier parte
del código principal y tantas veces como sea necesario, hay muchos tipos diferentes de
rutinas. Las rutinas se pueden agrupar de diferentes maneras, pero se agrupan
principalmente por su sistema o definiciones de usuario, por su funcionalidad y por su
implementación. ([Link], S.f)
Figura 1. Uso de la rutinas para cumplimiento de tareas con robots industriales
• Cinemática directa
En la cinemática directa considerando un brazo robótico, las posiciones de las
articulaciones o eslabones ya están determinadas y el problema radica en encontrar la
configuración del efector final o gripper. (Roboticos, 10 de abril 2021)
Figura 2. Representación de la cinemática directa. Fuentes (Robóticos, 10 de abril 2021)
La solución al problema de la cinemática directa consiste en encontrar el valor de la posición
final del robot manipulador, esta solución es una función de los valores articulares, es decir,
el valor traslacional o rotativo de las articulaciones. En la actualidad existen diferentes
métodos para resolver este problema, pero en el caso presente se hizo uso de las matrices
de transformación homogénea, usando el método de la representación sistemática de
Denavit-Hartenberg. La representación de Denavit-Hartenberg se reemplaza en la matriz
de transformación homogénea i-1Ai, la cual es un arreglo de 4x4 que contiene información
relativa a la posición y orientación del sistema de referencia unido al i enlace del
manipulador en relación con el sistema de referencia de la conexión i-1; (Ramírez. J,
Fonseca A., 15 de septiembre 2012)
Representa por ecuaciones como:
Figura 3. Obtención de ecuaciones de 3 GDL. Fuente (Ramírez. J, Fonseca A., 15 de
septiembre 2012)
los cuales se basan exclusivamente en las características geométricas de cada enlace y
los sistemas de coordenadas en cada uno, las características de los parámetros son:
• 𝜽𝒊 = 𝑹𝒐𝒕𝒂𝒄𝒊𝒐𝒏 𝒂𝒍𝒓𝒆𝒅𝒆𝒅𝒐𝒓 𝒅𝒆𝒍 𝒆𝒋𝒆 𝒁𝒊−𝟏
• 𝒅𝒊 = 𝑻𝒓𝒂𝒔𝒍𝒂𝒄𝒊𝒐𝒏 𝒂 𝒍𝒐 𝒍𝒂𝒓𝒈𝒐 𝒅𝒆 𝒁𝒊−𝟏 𝒆𝒋𝒆
• 𝜽𝒊 = 𝑻𝒓𝒂𝒔𝒍𝒂𝒄𝒊𝒐𝒏 𝒂 𝒍𝒐 𝒍𝒂𝒓𝒈𝒐 𝒅𝒆 𝒆𝒋𝒆 𝑿𝟏
• 𝜽𝒊 = 𝑹𝒐𝒕𝒂𝒄𝒊𝒐𝒏 𝒂𝒍𝒓𝒆𝒅𝒆𝒅𝒐𝒓 𝒅𝒆𝒍 𝒆𝒋𝒆 𝑿𝒊
(Ramírez. J, Fonseca A., 15 de septiembre 2012)
Figura 4. Robot con 3 GDL. Fuente (Ramírez. J, Fonseca A., 15 de septiembre 2012)
• Cinemática 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 los eslabones. (Roboticos,
10 de abril 2021)
La cinemática inversa de un manipulador es un término usado para denotar el cálculo de
los valores articulares (ángulos de las juntas) del manipulador, necesario para posicionar
un punto en el espacio referenciado al sistema de coordenadas global del manipulador.
Para este caso, se calcularon los valores de θ1, θ2 y θ3 basado en el punto Px, Py y Pz,
paso mostrado en la sección anterior. (Ramírez. J, Fonseca A., 15 de septiembre 2012)
Figura 5. Matriz T se forma de 3 GDL. Fuente (Ramírez. J, Fonseca A., 15 de septiembre
2012)
Figura 6. Las ecuaciones de la solución cinemática inversa de robot. Fuente (Ramírez. J,
Fonseca A., 15 de septiembre 2012)
3. MATERIALES
MATERIALES
Item Denominación Cantidad Unidad Observaciones
1 Compresora de 1 Pza Los equipos son
DOBOT MG 400 utilizados por un
grupo de 3
estudiantes y la
2 Controlador del 1 Pza capacidad del
DOBOT MG400 laboratorio es para 1
grupo
INSUMOS
Item Denominación Cantidad Unidad Observaciones
1 Cubo de madera o PLA 3 Pza
Los insumos son
utilizados
por un grupo de 3
estudiantes y la
capacidad
del laboratorio es
para 1 grupo
4. PROCEDIMIENTO
Configurar el Ethernet de su computadora, entrando luego a “Cambiar opciones de adaptador”,
entrar a Propiedades de Ethernet->Protocolo de internet versión 4 (TCP/IPv4)->Propiedades, y
cambiar a la dirección IP que se muestra en la figura 1:
Abrir la aplicación “DobotStudio Pro”, hacer click en la opción “Connect”, como se muestra en la
figura 2.
Ahora hacer click en la interfaz en el icono de “Script” como se muestra en la Figura 3.
Antes de iniciar debe habilitar al robot haciendo click en el botón de “Enable” (ver figura 4).
Para ubicar al robot en su posición inicial, ir al icono “Control”, luego mantener presionado
el botón “initial posture” como se muestra en la figura 4.
Para programar puntos, primero vaya al icono “Points” como se muestra en la figura 5.
Ubique al CUBO dentro el área de trabajo del robot, Se debe programar 4 puntos, mueva al robot
presionando una sola vez el “Botón de movimiento manual del Robot”, cuando lo suelte el botón
cambiara de color el led testigo, de verde a azul, eso indica que puedes mover al robot libremente
(Ver figura 6). Mueva al robot a la posición P1 que estén por encima del cubo Ahora presionar el
botón “ADD” (ver figura 5) de la aplicación, y esa posición se guardará. Ahora programar el punto
P2 sobre la superficie del CUBO, y presione “ADD”. El punto P3 debe estar en otra posición,
encima donde se moverá el CUBO y el P4 debe cumplir lo mismo que el P2. Complete la tabla 1.
Figura 6. Funcionamiento del robot industrial con diferentes puntos
Además, para realizar las lecturas de elaborar los movimientos se tendrá que colocar el siguiente
código para que cumpla la ejecución de la tarea que es, para controlar los movimientos lineales como
también presentar la velocidad que este puede realizar o ejecutar la actividad, como también estimar
el grado de exactitud, esto orientado para mover los cubos en diferentes posiciones que se anda
realizando en el laboratorio
local Option = {CP=0, SpeedJ=60, AccJ=20}
MovL(InitialPose,Option)
MovL(P1,Option)
DO(1,ON)
DO(2,OFF)
MovL(P2,Option)
Wait(500)
MovL(P1,Option)
MovL(P3,Option)
MovL(P4,Option)
DO(2,ON)
DO(1,OFF)
Wait(800)
DO(2,OFF)
DO(1,OFF)
Wait(500)
MovL(P3,Option)
MovL(InitialPose,Option)
Por lo que ya conectado el robot se hizo la obtención de puntos para que cumpla la posición del
robot siendo que debe cumplir los siguientes colores
Figura 7. Esquema del orden que debería cumplir los cubos del robot.
El cual el robot debería cumplir con color el orden de primero el cubo blanco, cubo rojo y al final el
cubo azul, de esta manera se tuvo que indicar los puntos que presentaba el robot, primero se hizo un
punto de home o inicial para que inicie la secuencia, todo esto se debía por apretar el botón de
movimiento manual del robot para indicar cual quería ser nuestro punto y soltar para indicar que se
grabe ese punto ahí.
Figura 8. Primer punto para tomarlo como inicio
Posteriormente de marca nuestro punto inicial se hizo que succione o este lo más pegado
el succionador al cubo esto para que el momento de programar pueda succionarlo y luego
dejar el cubo, de esta manera se elegio el cubo blanco para que siga su orden que ya se
menciono
Figura 9. Selección del cubo blanco
Por buenas practicas lo que hizo es que una vez seleccionado y obtenido el punto de
succión del cubo blanco tiene que volver como al punto home o inicio esto para que el robot
no arrastre el cubo ya que este sino empezara a moverse de manera lineal, lo que se realizo
otra vez otro punto
Figura 10. Captura de otro punto para que vuelva al inicio por buenas practicas y permita
el desplazamiento del cubo de manera correcta
Una vez realizado ese punto ya que ayudara bastante para que se eleve el cubo y deje en
su casilla del color blanco lo que se hizo es indicar ese punto final en la casilla del cubo
blanco para que funcione de manera correcta
Figura 11. Captura de la fijación del punto final del cubo blanco para que caiga o se
encuentre en su casilla blanca
Finalmente, para concluir con el cubo se volvió a colocar al robot en su punto inicial o home
ya que de esta manera nos ayudara a indicar que el robot a terminado de colocar el cubo a
una casilla y facilitarnos a hacer lo mismo con los demás cubos
Figura 12. Captura de la fijación del punto final para indicar que cumplió en dejar el cubo y
se inicie la secuencia con el siguiente cubo
Siguiendo esta secuencia con el siguiente cubo de color rojo, ya que se encuentra en inicio
se marca ahora al cubo rojo para que lo succione o lo fije
Figura 13. Selección del cubo rojo
Por buenas prácticas lo que hizo es que una vez seleccionado y obtenido el punto de
succión del cubo rojo tiene que volver como al punto home o inicio esto para que el robot
no arrastre el cubo ya que este sino empezara a moverse de manera lineal, lo que se realizó
otra vez otro punto
Figura 14. Captura de otro punto para que vuelva al inicio por buenas prácticas y permita
el desplazamiento del cubo de manera correcta
Una vez realizado ese punto ya que ayudara bastante para que se eleve el cubo y deje en
su casilla del color rojo lo que se hizo es indicar ese punto final en la casilla del cubo rojo
para que funcione de manera correcta
Figura 15. Captura de la fijación del punto final del cubo rojo para que caiga o se
encuentre en su casilla roja
Finalmente, para concluir con el cubo se volvió a colocar al robot en su punto inicial o home
ya que de esta manera nos ayudara a indicar que el robot a terminado de colocar el cubo a
una casilla y facilitarnos a hacer lo mismo con el siguiente cubo
Figura 16. Captura de la fijación del punto final para indicar que cumplió en dejar el cubo y
se inicie la secuencia con el siguiente cubo
Siguiendo esta secuencia con el siguiente y ultimo cubo de color azul, ya que se encuentra
en inicio se marca ahora al cubo rojo para que lo succione o lo fije
Figura 17. Selección del cubo azul
Por buenas prácticas lo que hizo es que una vez seleccionado y obtenido el punto de
succión del cubo azul tiene que volver como al punto home o inicio esto para que el robot
no arrastre el cubo ya que este sino empezara a moverse de manera lineal, lo que se realizó
otra vez otro punto
Figura 18. Captura de otro punto para que vuelva al inicio por buenas prácticas y permita
el desplazamiento del cubo de manera correcta
Una vez realizado ese punto ya que ayudara bastante para que se eleve el cubo y deje en
su casilla del color azul lo que se hizo es indicar ese punto final en la casilla del cubo azul
para que funcione de manera correcta
Figura 19. Captura de la fijación del punto final del cubo azul para que caiga o se
encuentre en su casilla azul
Finalmente, para concluir con el ultimo cubo se volvió a colocar al robot en su punto inicial
o home ya que de esta manera nos ayudara a indicar que el robot a terminado de colocar
el cubo a la última casilla
Figura 20. Captura de la fijación del punto final para indicar que cumplió en dejar el cubo y
termine la secuencia
Finalmente con haber terminado de conocer todos nuestros puntos y guardarlos lo que se
hizo después fue exportar los datos estos nos servirá, primero para conocer cuales son las
posiciones y el angulo que se va formando y también en la lógica de programación para
que siga las ordenes en el momento de succionar y haga el recorrido de manera automática
y ver si los puntos obtenidos son los correctos de esta manera aprendiendo como es el
proceso de automatización de un robot y su sistema automatizado siendo el código el
siguiente
local Option = {CP=0, SpeedJ=60, AccJ=20}
MovL(InitialPose,Option)
MovL(P1,Option)
MovL(InitialPose,Option)
Wait(500)
DO(1,ON)
DO(2,OFF)
MovL(InitialPose,Option)
MovL(P2,Option)
DO(1,OFF)
DO(2,ON)
Wait(500)
MovL(InitialPose,Option)
MovL(P3,Option)
MovL(P4,Option)
Wait(500)
DO(1,ON)
DO(2,OFF)
MovL(InitialPose,Option)
MovL(P5,Option)
DO(1,OFF)
DO(2,ON)
Wait(500)
MovL(InitialPose,Option)
MovL(P6,Option)
MovL(P7,Option)
Wait(500)
DO(1,ON)
DO(2,OFF)
MovL(InitialPose,Option)
MovL(P8,Option)
DO(1,OFF)
DO(2,ON)
Wait(500)
MovL(InitialPose,Option)
MovL(P9,Option)
MovL(P10,Option)
MovL(InitialPose,Option)
Estos son los puntos desde el inicio desde crear un punto inicio u home y haga los
movimientos de manera automática de llegar al cubo succionarlo levantarlo y dejarlo en su
casilla de manera correcta y así con los siguiente en este código como se menciono parte
desde el inicio agarra el cubo rojo, vuelve al inicio sujetando el cubo y luego lo termina
dejando en su casilla y volviendo al inicio para que haga secuencia de agarrar el cubo rojo,
lo levanta el cubo rojo sujetando y terminando dejando en su casilla del cubo rojo y
volviendo nuevamente al inicio y terminado al final con ir a la caja azul y succionarlo,
levantar el cubo azul succionado y dejando en su casilla de caja azul terminando
nuevamente en su inicio de esta manera es la lógica que presenta nuestro código
5. TABLA Y RESULTADOS
De esta manera se conoció los valores que nos permite conocer cuáles son los puntos y
ángulo que puede trazar para cumplir los movimientos del robot y cumplimiento una tarea
o rutina y llenando la siguiente tabla:
Posición X Posición Y Posición Z Rotación
Punto inicial 350 0 0 0,0,0
Punto 1 248.882 -4.749 134.748 5.2568,0,0
Punto 2 300.0596 -99.7433 -117.1022 -1.1883,0,0
Punto 3 294.5556 -283.7838 -84.6544 -63.7331,0,0
Punto 4 241.7537 -1.0827 98.9905 -21.0015,0,0
Punto 5 373.4287 57.8588 -115.6483 -34.4129,0,0
Punto 6 357.9259 -241.1317 -87.3528 -67.2124,0,0
Punto 7 265.9106 -13.4053 124.7925 -36.1663,0,0
Punto 8 233.4787 151.0919 -117.4284 -30.6504,0,0
Punto 9 218.2142 -230.0179 -101.099 -83.0874,0,0
Punto 10 246.0264 3.9496 120.6781 -32.1189,0,0
Tabla 1. Obtención de las posiciones y rotación del robot con los puntos capturados.
Figura 21. Información de los puntos que se fue trazando para el cumplimiento de la rutina
de dejar los cubos en cada de sus respectivas casillas
Para la visualización del funcionamiento del robot se adjunta el siguiente link para visualizar
como funciona de manera correcta
[Link]
ng.
6. CUESTIONARIO
1. ¿Cuál es la carga máxima que puede manejar el DOBOT MG400?
Lo máximo de carga que puede levantar es 500g
2. ¿Cuál es el alcance máximo del DOBOT MG400?
Según por la guía del MG400 puede presentar un rango de operación de altura de 1000m,
también el rango de los ángulos por J1 siendo ±160°, J2 -25° a 85°, J3 va de -25° a 105° y
J4 va de-360° a 360°
3. ¿Qué características hacen que el MG400 sea seguro para la colaboración
humana?
El MG400 está diseñado para operar de manera segura junto a personas gracias a varias
características enfocadas en la colaboración humano-robot. Entre las principales se
destacan:
Detección de colisiones y limitación de fuerza: El robot incorpora algoritmos y sensores que
monitorean continuamente la fuerza ejercida por el brazo, detecta un contacto inesperado
o una fuerza excesiva, reduce de inmediato su velocidad o se detiene, minimizando el riesgo
de lesiones.
Velocidades y aceleraciones seguras: Por su tamaño compacto y servomotores de baja
inercia, el MG400 puede limitar de manera precisa su velocidad y aceleración, de modo que
las interacciones con operarios sean más seguras y controladas.
Sistemas redundantes de seguridad: Incluye paradas de emergencia físicas y lógicas (botón
de parada y funciones de seguridad integradas en el controlador) para detener el
movimiento del brazo en caso de situaciones de riesgo o mal funcionamiento.
Cumplimiento de normativas de seguridad: El MG400 está desarrollado siguiendo
estándares internacionales de robótica colaborativa (como ISO 10218 e ISO/TS 15066), lo
que garantiza que su construcción y software cumplan requisitos rigurosos de seguridad.
4. ¿En qué escenarios de aplicación se puede utilizar el MG400?
Realiza actividades como pick y place que viene a ser manipular los objetos para poder
desplazarlos en distintas posiciones, como también ayuda el ensamblaje de piezas
pequeñas así mismo como aplicaciones en entorno educativos como en los laboratorios
para centro de información debido a su amplio mundo de utilidades, también empaquetado,
etiquetado y para que logre manipular de pequeñas cajas o productos para la organización,
etiquetado u sellado
5. ¿Qué tipo de motor impulsa al DOBOT MG400?
Calentamiento anormal o confirmación de sonido y al parecer usan uso de servomotores
para su movilidad
7. CONCLUSIONES
En el laboratorio se aprendió de manera presencial el funcionamiento de un robot industrial
el cual nos permitió conocer la variedad de funciones y su característica que este presenta,
dado que con las posiciones que este se iba dando nos permitía conocer en el software su
correcta posición y orientación que presenta el robot, ayudando para luego una
automatización de la rutina o tarea que se quiere cumplir en este caso era de obtener y
conocer los datos para luego con lógica de programación crear la rutina de manera correcta
y eficiente logrando hasta ajustar la velocidad que presenta este y también las posiciones
si es que se obtiene de manera errónea o logra llegar al objeto, siendo un laboratorio
provechoso en todos los sentidos para el aprendizaje del funcionamiento de un robot
industrial y logre completar con los objetivos u metas que se quiere realizar con esto no
simplemente de acomodar esas cosas, sino irnos a mundo industrial y darle tareas más
complejas para que funcionen de manera exacta y precisa cumpliendo una necesidad en
un entorno laboral que es lo mucho que se pide la automatización de las tareas que se
vayan cumpliendo de manera correcta y eficiente las tareas que se le van programando
8. BIBLIOGRAFÍA
Intef. Es . s.f. Simulación de robótica: Reto 5: Utilizando rutinas. Obtenido de
[Link]
Robóticos, 10 de abril 2021. La cinemática en la robótica. Obtenido de
[Link]
Ramírez. J, Fonseca A., 15 de septiembre 2012. Modelamiento matemático de la
cinemática directa e inversa de un robot manipulador de tres grados de libertad. Obtenido
de Pagina 2 - 6