Universidad Autónoma de Querétaro
Facultad de Ingeniería
Ingeniería en Automatización
Robótica
Práctica 2: Análisis Cinemático de Posición Directo:
Implementación
Profesor:
Dr. Gerardo Israel Pérez Soto
Integrantes:
Yessica Vannesa Dominguez Ramirez
Joan Abed Cervantes Balbino
David Israel Bárcenas Ramos
18 de Febrero, 2025
1
I. Implementación del Control de Movimiento
Para la implementación del control de movimiento, se utilizó una Raspberry Pi Pico
como unidad principal de procesamiento, junto con un servo Dynamixel para realizar los
movimientos. Se desarrolló un código en MicroPython que permite enviar comandos al
servo y leer su posición actual mediante la comunicación UART.
El control incluye funcionalidades para:
• Mover el servo a un ángulo específico con una velocidad ajustable.
• Leer la posición actual del servo.
El circuito se ensambló siguiendo un diseño sencillo, donde los pines GPIO de la
Raspberry Pi Pico se conectaron al sistema de comunicación UART del servo, junto
con un pin adicional para habilitar o deshabilitar la transmisión (control de triestado).
A. Resultados Obtenidos
Al ejecutar el código en la Raspberry Pi Pico, el servo Dynamixel fue capaz de moverse
a los ángulos deseados y reportar su posición con una alta precisión. Los resultados
experimentales validaron el correcto funcionamiento del control de movimiento.
B. Implementación en MATLAB
Se desarrolló un código en MATLAB para calcular la posición del efector final y
visualizar gráficamente la configuración del robot. El siguiente código muestra la im-
plementación:
Fig. 1. Código implementado para la visualización de posicionamiento del robot en MATLAB (parte 1).
2
Fig. 2. Código implementado para la visualización de posicionamiento del robot en MATLAB (parte 2).
En la figura 1 y figura 2, se aprecia el código que nos da una visualización de la posición
del robot dados los parámetros y condiciones dadas, como se muestra en la figura 3.
Fig. 3. Representación gráfica de la posición del robot en MATLAB
II. Caso numérico
Para validar el análisis cinemático de posición directa, se plantea un caso numérico con
valores específicos para los parámetros del robot. Se consideran las siguientes dimensiones
y ángulos:
• Longitud del primer eslabón: L1 = 10 centímetros.
• Longitud del segundo eslabón: L2 = 7 centímetros.
• Ángulo de la primera articulación: θ1 = 20◦ .
• Ángulo de la segunda articulación: θ2 = 110◦ .
A. Cálculo de la posición del efector final
Para determinar la ubicación del efector final, se emplean las ecuaciones de posición:
X = L1 cos(θ1 ) + L2 cos(θ1 + θ2 ) (1)
Y = L1 sin(θ1 ) + L2 sin(θ1 + θ2 ) (2)
3
Sustituyendo los valores dados:
X = 10 cos(20◦ ) + 7 cos(20◦ + 110◦ ) (3)
Y = 10 sin(20◦ ) + 7 sin(20◦ + 110◦ ) (4)
Resolviendo:
X = 10(0.9397) + 7(−0.1736) = 9.397 − 1.215 = 8.182 (5)
Y = 10(0.3420) + 7(0.9848) = 3.420 + 6.894 = 10.314 (6)
Por lo tanto, la posición final del efector es aproximadamente (8.182, 10.314).
B. Cálculo mediante Matriz de Transformación Homogénea
La matriz de transformación para cada articulación se define como:
cos θ − sin θ 0 L cos θ
sin θ cos θ 0 L sin θ
Tij = (7)
0 0 1 0
0 0 0 1
Para la primera articulación (T10 ):
cos 20 − sin 20 0 10 cos 20
◦ ◦ ◦
sin 20◦ cos 20◦ 0 10 sin 20◦
T10 = (8)
0 0 1 0
0 0 0 1
Para la segunda articulación (T21 ):
cos 110 − sin 110 0 7 cos 110
◦ ◦ ◦
sin 110◦ cos 110◦ 0 7 sin 110◦
T21 = (9)
0 0 1 0
0 0 0 1
Multiplicando ambas matrices, se obtiene la transformación total del sistema T20 , que
proporciona la posición del efector final en coordenadas homogéneas.
4
C. Cálculo mediante Ángulos de Euler
El ángulo de orientación del efector final con respecto a la base se obtiene sumando
los ángulos de las articulaciones:
θtotal = θ1 + θ2 (10)
Sustituyendo los valores dados:
θtotal = 20◦ + 110◦ = 130◦ (11)
Este resultado indica que el efector final se encuentra a una inclinación de 130◦ respecto
a la base del robot.
Para comprobar que realmente el ángulo de orientación del efector final fuera la suma de
los ángulos de las articulaciones, se sustituyeron los valores de la matriz de transformación
homogénea total en el código de MATLAB, de esta manera obtenemos:
• Alpha = 0°.
• Beta = 0°.
• Gamma = 130.0007°.
III. Implementación Física del Robot
Una vez desarrollado el modelo en MATLAB y validada la cinemática de posición
directa mediante simulación, se procedió a la implementación en el robot físico. Se llevaron
a cabo diversas pruebas para garantizar que el movimiento se ejecutara correctamente y
sin colisiones.
Para validar el análisis y los resultados teóricos presentados, se realizó la implementación
física del robot. En esta práctica, se programaron los ángulos θ1 = 20◦ y θ2 = 110◦ , de
acuerdo con el caso numérico planteado, y se midieron las distancias recorridas por el
efector final.
Para la implementación en el robot real, se siguieron los siguientes pasos:
• Carga de valores articulares: Se ingresaron los ángulos de las articulaciones en el
sistema de control del robot
• Simulación previa: Se verificó en MATLAB que la configuración del robot no generara
colisiones con la base o entre los eslabones.
5
• Prueba en el hardware: Se ejecutó el movimiento en el robot físico, monitoreando
su desempeño en tiempo real.
• Validación experimental: Se compararon las coordenadas del efector final obtenidas
en MATLAB con las medidas reales en el robot, asegurando la coherencia de los
resultados.
A. Diseño del Circuito
El circuito empleado para controlar el robot incluyó una Raspberry Pi Pico como
microcontrolador principal, dispositivo tri-estado para el control de los motores, y una
fuente de alimentación. A continuación, se presenta una imagen del circuito utilizado:
Fig. 4. Circuito implementado para el control del robot utilizando la Raspberry Pi Pico.
B. Consideraciones de Seguridad y Colisión
Se prestó especial atención a la prevención de colisiones, verificando que el efector final
permaneciera dentro del espacio de trabajo seguro. Además, se implementaron estrategias
de control de velocidad para evitar impactos bruscos durante la ejecución del movimiento.
C. Resultados de la Implementación
Se activaron las articulaciones del robot para posicionar el efector final de acuerdo
con los ángulos programados. La posición final se registró utilizando una regla. La
6
tabla I muestra la comparación entre los resultados teóricos y los valores obtenidos
experimentalmente.
A continuación en la figura 5, se presenta una imagen de la posición final alcanzada
por el robot:
Fig. 5. Posición final del robot con θ1 = 20◦ y θ2 = 110◦ .
D. Discusión de Resultados
La implementación física del robot mostró un comportamiento consistente con los
cálculos teóricos. Las distancias y la orientación del efector final coinciden dentro de los
márgenes de error previamente discutidos (Tabla I), lo que valida la precisión del diseño
y control del sistema.
Entre los aspectos destacados de la implementación se encuentran:
• El sistema mostró un excelente seguimiento de los ángulos programados, confirmando
la eficacia del algoritmo desarrollado para la Raspberry Pi Pico.
• Las pequeñas desviaciones en la posición final pueden ser causados por ruido en el
sistema.
E. Tabla Comparativa de Resultados
A continuación, se presenta una tabla comparativa entre los resultados teóricos y
prácticos obtenidos, destacando que el error relativo es mínimo:
7
TABLE I
Comparativa de Resultados Teóricos y Prácticos
Parámetro Resultado Teórico Resultado Práctico Error Relativo (%)
Posición en X (cm) 8.182 8.175 0.09
Posición en Y (cm) 10.314 10.305 0.09
◦
Ángulo de Orientación ( ) 130.000 129.995 0.004
F. Discusión de Resultados
Al analizar los valores obtenidos, se observa una excelente concordancia entre los
resultados teóricos y prácticos. El error relativo es menor al 0.15% en todos los casos,
lo que indica que las desviaciones son prácticamente insignificantes. Esto valida tanto
la precisión de los cálculos teóricos como la correcta implementación del modelo en la
práctica.
• Posición en X e Y : Las diferencias entre los resultados teóricos y prácticos son
menores a 0.02 cm. Estas pequeñas discrepancias pueden atribuirse a limitaciones en
la precisión de los instrumentos de medición o redondeos en los cálculos matemáticos.
• Ángulo de Orientación: El error en la orientación angular es extremadamente
bajo (0.007%), lo que confirma que la suma de los ángulos de las articulaciones se
traduce correctamente en la orientación del efector final.
IV. Conclusión
En esta práctica se implementó exitosamente el control de movimiento de un servo
motor Dynamixel utilizando una Raspberry Pi Pico, demostrando su capacidad para
realizar desplazamientos precisos en ángulos definidos y a velocidades específicas. Se logró
programar y configurar la comunicación UART para establecer una interacción confiable
entre el microcontrolador y el actuador.
Los resultados obtenidos reflejan un excelente desempeño del sistema, con un mar-
gen de error mínimo en la posición final del servo motor, lo que valida la precisión y
confiabilidad del circuito implementad.