Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Robótica y Manipuladores Robóticos: Modelado y Control, Guías, Proyectos, Investigaciones de Robótica

Un marco teórico sobre robótica, centrándose en manipuladores robóticos y su modelado matemático. Explora el uso de matrices de transformación homogénea (mth) y los parámetros de denavit-hartenberg (d-h) para describir la geometría de los robots. Además, detalla la aplicación de matlab para la simulación y el análisis de la cinemática directa e inversa, así como el desarrollo de un prototipo funcional de brazo robótico controlado con arduino. Se incluyen ejemplos de código en matlab y arduino para la simulación y el control del brazo robótico, proporcionando una guía práctica para la implementación de sistemas robóticos. Útil para estudiantes e ingenieros interesados en la robótica y el control de sistemas.

Tipo: Guías, Proyectos, Investigaciones

2024/2025

A la venta desde 21/08/2025

erik-alvarado-lopez
erik-alvarado-lopez 🇲🇽

7 documentos

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
PROYECTO FINAL ROBOTICA
*DOCENTE: GUSTAVO MENDOZA TORRES
1st ERIK ALVARADO LOPEZ
MATRICULA:202125051
FACULTAD DE CIENCIAS DE LA ELECTRONICA
PUEBLA, PUEBLA
2nd MARIO CRUZ ROEMERO
MATRICULA: 202109061.)
FACULTAD DE CIENCIAS DE LA ELECTRONICA)
PUEBLA, PUEBLA
3rd SANTIAGO CABRERA PI ˜
NON
MATRICULA: 202109188
FACULTAD DE CIENCIAS DE LA ELECTRONICA
PUEBLA, PUEBLA
OBJETIVO
A lo largo del curso se aprendi´
o como funcionan los robots
desde su funcionamiento matem´
atico y como implementarlo
en una simulaci´
on para conocer como ser´
ıa su funcionamiento,
el objetivo principal es que con los conocimientos adquiridos
a lo largo del curso se implemente en un prototipo que sea
funcional.
MARCO TE ´
ORICO
ROB ´
OTICA:
Rob´
otica y Manipuladores Rob´
oticos
La rob´
otica es una rama de la ingenier´
ıa que combina
mec´
anica, electr´
onica e inform´
atica para dise˜
nar y construir
m´
aquinas capaces de realizar tareas de manera aut´
onoma
o semi-aut´
onoma. Dentro de esta ´
area, los manipuladores
rob´
oticos o brazos rob´
oticos se destacan como dispositivos
mec´
anicos programables que imitan los movimientos del
brazo humano para realizar operaciones como ensamblaje,
soldadura, pintura o manipulaci´
on de objetos.
Un brazo rob´
otico t´
ıpicamente est´
a compuesto por eslabones
(partes r´
ıgidas) y articulaciones (elementos m´
oviles), que
permiten grados de libertad (DOF, por sus siglas en ingl´
es)
para alcanzar distintas posiciones y orientaciones en el espacio.
Matrices de Transformaci´
on Homog´
enea (MTH)
Las Matrices de Transformaci´
on Homog´
enea son her-
ramientas fundamentales en la representaci´
on y manipulaci´
on
de sistemas de coordenadas en rob´
otica. Permiten describir la
posici´
on y orientaci´
on de un sistema respecto a otro mediante
rotaciones y traslaciones en el espacio tridimensional.
Una MTH tiene la siguiente forma general:
T=R3x3d3x1
01x31
Donde:
Res la matriz de rotaci´
on (3x3)
Identify applicable funding agency here. If none, delete this.
des el vector de traslaci´
on (3x1)
Mediante el uso de estas matrices, es posible modelar el
comportamiento del brazo rob´
otico desde su base hasta el
efector final, utilizando productos de matrices que representan
cada articulaci´
on y eslab´
on.
Par´
ametros de Denavit-Hartenberg
El m´
etodo de Denavit-Hartenberg (D-H) es un est´
andar
para describir la geometr´
ıa de manipuladores rob´
oticos. Cada
articulaci´
on se describe mediante cuatro par´
ametros:
θ:´
Angulo de rotaci´
on
d: Desplazamiento lineal
a: Longitud del eslab´
on
α:´
Angulo entre eslabones
Con estos par´
ametros se pueden generar las MTH corre-
spondientes y facilitar la formulaci´
on de la cinem´
atica directa.
Uso de MATLAB en Rob´
otica
MATLAB es una herramienta de programaci´
on y an´
alisis
num´
erico ampliamente utilizada en la rob´
otica por su capaci-
dad de manipular matrices, representar gr´
aficamente modelos y
simular sistemas din´
amicos. En proyectos de brazos rob´
oticos,
MATLAB permite:
Definir las matrices MTH y par´
ametros D-H
Calcular la cinem´
atica directa e inversa
Visualizar trayectorias y posiciones
INTRODUCCI ´
ON
El desarrollo de un prototipo funcional de brazo rob´
otico
permite explorar conceptos fundamentales como la cinem´
atica,
el modelado matem´
atico mediante matrices de transformaci´
on
homog´
enea (MTH), y la programaci´
on de trayectorias a trav´
es
de plataformas de simulaci´
on como MATLAB. Estas her-
ramientas son esenciales para comprender c´
omo un sistema
mec´
anico puede ser controlado de manera precisa mediante
instrucciones matem´
aticas.
El presente proyecto se enfoca en el dise˜
no, implementaci´
on
y control de un brazo rob´
otico de m´
ultiples grados de libertad,
utilizando los par´
ametros de Denavit-Hartenberg para la for-
mulaci´
on de su cinem´
atica directa. Se emplea MATLAB como
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Robótica y Manipuladores Robóticos: Modelado y Control y más Guías, Proyectos, Investigaciones en PDF de Robótica solo en Docsity!

PROYECTO FINAL ROBOTICA

*DOCENTE: GUSTAVO MENDOZA TORRES

1 st^ ERIK ALVARADO LOPEZ

MATRICULA:

FACULTAD DE CIENCIAS DE LA ELECTRONICA

PUEBLA, PUEBLA

2 nd^ MARIO CRUZ ROEMERO

MATRICULA: 202109061.)

FACULTAD DE CIENCIAS DE LA ELECTRONICA)

PUEBLA, PUEBLA

3 rd^ SANTIAGO CABRERA PI ˜NON

MATRICULA: 202109188

FACULTAD DE CIENCIAS DE LA ELECTRONICA

PUEBLA, PUEBLA

OBJETIVO

A lo largo del curso se aprendi´o como funcionan los robots

desde su funcionamiento matem´atico y como implementarlo

en una simulaci´on para conocer como ser´ıa su funcionamiento,

el objetivo principal es que con los conocimientos adquiridos

a lo largo del curso se implemente en un prototipo que sea

funcional.

MARCO TE ´ORICO

ROB ´OTICA:

Rob´otica y Manipuladores Rob´oticos

La rob´otica es una rama de la ingenier´ıa que combina

mec´anica, electr´onica e inform´atica para dise˜nar y construir

m´aquinas capaces de realizar tareas de manera aut´onoma

o semi-aut´onoma. Dentro de esta area, los manipuladores´

rob´oticos o brazos rob´oticos se destacan como dispositivos

mec´anicos programables que imitan los movimientos del

brazo humano para realizar operaciones como ensamblaje,

soldadura, pintura o manipulaci´on de objetos.

Un brazo rob´otico t´ıpicamente est´a compuesto por eslabones

(partes r´ıgidas) y articulaciones (elementos m´oviles), que

permiten grados de libertad (DOF, por sus siglas en ingl´es)

para alcanzar distintas posiciones y orientaciones en el espacio.

Matrices de Transformaci´on Homog´enea (MTH)

Las Matrices de Transformaci´on Homog´enea son her-

ramientas fundamentales en la representaci´on y manipulaci´on

de sistemas de coordenadas en rob´otica. Permiten describir la

posici´on y orientaci´on de un sistema respecto a otro mediante

rotaciones y traslaciones en el espacio tridimensional.

Una MTH tiene la siguiente forma general:

T =

R 3 x 3 d 3 x 1

01 x 3 1

Donde:

  • R es la matriz de rotaci´on (3x3)

Identify applicable funding agency here. If none, delete this.

  • d es el vector de traslaci´on (3x1)

Mediante el uso de estas matrices, es posible modelar el

comportamiento del brazo rob´otico desde su base hasta el

efector final, utilizando productos de matrices que representan

cada articulaci´on y eslab´on.

Par´ametros de Denavit-Hartenberg

El m´etodo de Denavit-Hartenberg (D-H) es un est´andar

para describir la geometr´ıa de manipuladores rob´oticos. Cada

articulaci´on se describe mediante cuatro par´ametros:

  • θ: ´Angulo de rotaci´on
  • d: Desplazamiento lineal
  • a: Longitud del eslab´on
  • α: ´Angulo entre eslabones

Con estos par´ametros se pueden generar las MTH corre-

spondientes y facilitar la formulaci´on de la cinem´atica directa.

Uso de MATLAB en Rob´otica

MATLAB es una herramienta de programaci´on y an´alisis

num´erico ampliamente utilizada en la rob´otica por su capaci-

dad de manipular matrices, representar gr´aficamente modelos y

simular sistemas din´amicos. En proyectos de brazos rob´oticos,

MATLAB permite:

  • Definir las matrices MTH y par´ametros D-H
  • Calcular la cinem´atica directa e inversa
  • Visualizar trayectorias y posiciones

INTRODUCCI ´ON

El desarrollo de un prototipo funcional de brazo rob´otico

permite explorar conceptos fundamentales como la cinem´atica,

el modelado matem´atico mediante matrices de transformaci´on

homog´enea (MTH), y la programaci´on de trayectorias a trav´es

de plataformas de simulaci´on como MATLAB. Estas her-

ramientas son esenciales para comprender c´omo un sistema

mec´anico puede ser controlado de manera precisa mediante

instrucciones matem´aticas.

El presente proyecto se enfoca en el dise˜no, implementaci´on

y control de un brazo rob´otico de m´ultiples grados de libertad,

utilizando los par´ametros de Denavit-Hartenberg para la for-

mulaci´on de su cinem´atica directa. Se emplea MATLAB como

entorno de simulaci´on y an´alisis, tanto para la verificaci´on

de los modelos como para el desarrollo de una interfaz

gr´afica que permita la manipulaci´on del brazo. Adem´as, se

incorporan componentes electr´onicos y actuadores controlados

por microcontroladores, lo que convierte al prototipo en una

plataforma ideal para la integraci´on de conceptos de mec´anica,

electr´onica y programaci´on.

DESARROLLO

Comenzando con el proyecto de manera anal´ıtica se calcul´o

la matriz de transformaci´on homog´enea para el sistema.

Quedando de la siguiente manera:

Fig. 1. A0-

Fig. 2. A1-

QUEDANDO LA MATRIZ DE TRANFORMACION HO-

MOGENEA DEL SISTEMA EN LA ECUACION 1 QUE SE

MUESTRA AL FINAL DE ESTE REPORTE

Una vez teniendo MTH, se comenz´o con la realizaci´on del

c´odigo en MATLAB para visualizar la simulaci´on y si los

c´alculos pertinentes eran los correctos y si no lo eran ajustar.

Cabe mencionar que este c´odigo se hizo con ayuda del que

se realiz´o en clase, aunque hab´ıa muchas diferencias entre este

y el hecho de la actividad, nos ayud´o a visualizar de mejor

manera para ajustarlo a nuestro programa. A continuacion se

muestra el codigo en matlab

1 clc; clear; close all; 2 3 % Par metros 4 L1 = 17; L2 = 10; L3 = 8; 5 6 % Coordenadas iniciales y finales 7 pos0 = input(’Introduce la p o s i c i n inicial [x y z ]: ’); 8 posf = input(’Introduce la p o s i c i n final [x y z]: ’); 9 10 % Interpolaci n 11 N = 100; 12 x_vals = linspace(pos0(1), posf(1), N); 13 y_vals = linspace(pos0(2), posf(2), N); 14 z_vals = linspace(pos0(3), posf(3), N); 15 16 % Inicializar vectores de articulaciones 17 q1 = zeros(1, N); 18 q2 = zeros(1, N); 19

20 % Cinem tica inversa en cada paso 21 for i = 1:N 22 x = x_vals(i); 23 y = y_vals(i); 24 z = z_vals(i); 25 26 q1(i) = atan2d(y, x); 27 r = sqrt(xˆ2 + yˆ2) - L2; 28 h = z - L1; 29 q2(i) = atan2d(h, r); 30 end 31 32 % Simulaci n 33 figure; 34 for i = 1:N 35 % Base 36 x0 = 0; y0 = 0; z0 = 0; 37 x1 = 0; y1 = 0; z1 = L1; 38 39 % Fin de L 40 x2 = cosd(q1(i)) (^) * L2; 41 y2 = sind(q1(i)) (^) * L2; 42 z2 = z1; 43 44 % Fin de L 45 x3 = x2 + cosd(q1(i)) (^) * cosd(q2(i)) (^) * L3; 46 y3 = y2 + sind(q1(i)) (^) * cosd(q2(i)) (^) * L3; 47 z3 = z2 + sind(q2(i)) (^) * L3; 48 49 % Dibujar 50 plot3([x0 x1], [y0 y1], [z0 z1], ’k-’, ’ LineWidth’, 3); hold on; 51 plot3([x1 x2], [y1 y2], [z1 z2], ’b-’, ’ LineWidth’, 3); 52 plot3([x2 x3], [y2 y3], [z2 z3], ’r-’, ’ LineWidth’, 3); 53 scatter3(x3, y3, z3, 80, ’m’, ’filled’); 54 55 xlim([-25 25]); ylim([-25 25]); zlim([0 30]); 56 xlabel(’X’); ylabel(’Y’); zlabel(’Z’); 57 title(’Cinem tica Inversa del Brazo R o b t i c o 2 DOF’); 58 view(45, 30); grid on; hold off; 59 pause(0.05); 60 end

Listing 1. Simulaci´on cinem´atica de un brazo rob´otico

Quedando la simulacion del sistema de la siguiente manera

Fig. 3. Simulacion

A. Descripci´on del C´odigo

El c´odigo desarrollado tiene como objetivo realizar la

cinem´atica de un brazo rob´otico compuesto por tres eslabones

con longitudes L 1 = 17, L 2 = 10 y L 3 = 8 unidades.

103 float x = xStart + t (^) * (xDest - xStart); 104 float y = yStart + t (^) * (yDest - yStart); 105 float z = zStart + t (^) * (zDest - zStart); 106 107 // CINEM TICA INVERSA 108 float q1 = atan2(y, x) (^) * 180.0 / PI; 109 float r = sqrt(x (^) * x + y (^) * y) - L2; 110 float h = z - L1; 111 float q2 = atan2(h, r) (^) * 180.0 / PI; 112 113 // Motor a pasos 114 long targetSteps = long((q1 / 360.0) (^) * stepsPerRev); 115 stepper.moveTo(targetSteps); 116 while (stepper.distanceToGo() != 0) { 117 stepper.run(); 118 } 119 120 // Servo 121 int servoAngle = constrain(int(q2), 0, 180); 122 servoQ2.write(servoAngle); 123 124 delay(20); 125 } 126 }

Listing 2. C´odigo Arduino con AccelStepper y Servo

DESCRIPCI ON DEL´ FUNCIONAMIENTO DEL C ´ODIGO

El siguiente c´odigo permite controlar un brazo rob´otico

mediante un motor a pasos (Q1) y un servo (Q2),

utilizando las librer´ıas AccelStepper y Servo de

Arduino.

Componentes y Par´ametros Definidos

  • L1, L2, L3: Representan las longitudes f´ısicas del

brazo en cent´ımetros.

  • Q1 (Motor a pasos): Se controla con cuatro pines

digitales mediante la librer´ıa AccelStepper.

  • Q2 (Servo): Controlado por PWM, determina la

inclinaci´on del brazo en el plano vertical.

Proceso de Ejecuci´on

1) Al iniciar el programa, se solicita por el monitor

serial un punto inicial en coordenadas cartesianas x

y z.

2) Si el punto est´a dentro del rango f´ısico del brazo,

se realiza un movimiento interpolado hasta esa

posici´on utilizando cinem´atica inversa.

3) Luego se solicita un punto final x y z, y nueva-

mente se realiza el movimiento interpolado hasta

ese nuevo punto.

4) Tras finalizar el movimiento, el programa se reinicia

para aceptar un nuevo par de puntos.

Cinem´atica Inversa

Durante el movimiento, se emplea una interpolaci´on

lineal entre el punto de partida y el punto objetivo. En

cada paso de la interpolaci´on:

  • Se calcula el ´angulo q1 que corresponde a la rotaci´on

horizontal del brazo para alcanzar la proyecci´on del

punto deseado en el plano XY.

  • Se calcula el ´angulo q2 que indica la inclinaci´on

necesaria en el eje vertical para alcanzar la altura z.

  • q1 se convierte en pasos para el motor a pasos; q

se traduce directamente en grados para el servo.

Seguridad y Validaci´on

La funci´on esValido() verifica si las coordenadas

ingresadas est´an dentro del ´area de trabajo del brazo.

Se impide que el sistema intente alcanzar posiciones

inalcanzables, protegiendo los actuadores.

ARAMADO FISICO

Se hizo el dise˜no fisico respetando las especificaciones en

cuanto a los eslabones y el funcionamientiento. teniendo

que el primer eslabon tendria que tener un movimiento de

rotacion, el segundo deberia ser fijo y el 3ro teniendo 3

grados de libertad. se hizo el dise˜no en sowfare de dise˜no

para determianr las dimensiones y funcionamiento como

se muestra

Fig. 4. DISE ˜NO

Aunque por cuestiones de tiempos y costos, no se mando

a imprimir el dise˜no nos ayudo a darnos una idea de como

hacerlo y como ajustar el motor a pasos y el servomotor

para que estos funcionaran bien y no hicieran contrapeso,

y no limitarav el moviemiento deseado Quedando el brazo

robotico final de la siguiente manera

Fig. 5. prototipo brazo robotico

Fig. 6. prototipo brazo robotico

Fig. 7. prototipo brazo robotico

en cuanto a la implementacion de los actuadores, el motor

a pasos se agrego en una base por debajo del primer

eslabon para que este rotara, y el servomotor se a˜nadio

entre la articulacion que unio al 2do y 3er eslabon

CONCLUSION

Analizando lo visto a lo largo del curso como retroal-

imentacion se abordo de manera satsifactoria lo visto

en clase y aplicandolo a un prototipo de funcionamiento

real, notamos lo importamte que fue determinar la matriz

de transformacion homogena para el funcionamiento, al

igual que la simulacion nos ayudo a predecir posibles

fallas antes del armado.

REFERENCES

[1] Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Ori- olo. Robotics: Modelling, Planning and Control. Springer, 2010. [2] John J. Craig. Introduction to Robotics: Mechanics and Control. Pearson Education, 4th Edition, 2017. [3] Mark W. Spong, Seth Hutchinson, M. Vidyasagar. Robot Modeling and Control. Wiley, 2006. [4] Saeed B. Niku. Introduction to Robotics: Analysis, Control, Appli- cations. Wiley, 3rd Edition, 2020. [5] Richard M. Murray, Zexiang Li, S. Shankar Sastry. A Mathematical Introduction to Robotic Manipulation. CRC Press, 1994. [6] The MathWorks, Inc. Robotics Toolbox Documentation. Disponible en: https://www.mathworks.com/help/robotics/.