0% encontró este documento útil (0 votos)
7 vistas8 páginas

Control de Movimiento en Robótica con Raspberry Pi

La práctica se centra en la implementación del control de movimiento de un servo motor Dynamixel utilizando una Raspberry Pi Pico, logrando movimientos precisos y lectura de posición mediante MicroPython. Se realizó un análisis cinemático con un caso numérico y se validaron los resultados teóricos con experimentos físicos, mostrando un error relativo mínimo entre los resultados teóricos y prácticos. La implementación demostró la eficacia del sistema y la confiabilidad del diseño del circuito.

Cargado por

David Bárcenas
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas8 páginas

Control de Movimiento en Robótica con Raspberry Pi

La práctica se centra en la implementación del control de movimiento de un servo motor Dynamixel utilizando una Raspberry Pi Pico, logrando movimientos precisos y lectura de posición mediante MicroPython. Se realizó un análisis cinemático con un caso numérico y se validaron los resultados teóricos con experimentos físicos, mostrando un error relativo mínimo entre los resultados teóricos y prácticos. La implementación demostró la eficacia del sistema y la confiabilidad del diseño del circuito.

Cargado por

David Bárcenas
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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.

También podría gustarte