0% encontró este documento útil (0 votos)
17 vistas20 páginas

Practica 01 Robotica Moya Banderas Bermeo

El documento describe una práctica de robótica enfocada en el desarrollo de un algoritmo para el control de velocidad de un robot móvil diferencial o uniciclo utilizando MATLAB. Se abordan conceptos teóricos sobre robots móviles, cinemática y modelado matemático, así como el desarrollo práctico de la simulación del movimiento del robot. Las conclusiones destacan la utilidad de MATLAB para validar el comportamiento cinemático y la importancia de un diseño preciso en entornos reales.

Cargado por

flasher.cod7
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)
17 vistas20 páginas

Practica 01 Robotica Moya Banderas Bermeo

El documento describe una práctica de robótica enfocada en el desarrollo de un algoritmo para el control de velocidad de un robot móvil diferencial o uniciclo utilizando MATLAB. Se abordan conceptos teóricos sobre robots móviles, cinemática y modelado matemático, así como el desarrollo práctico de la simulación del movimiento del robot. Las conclusiones destacan la utilidad de MATLAB para validar el comportamiento cinemático y la importancia de un diseño preciso en entornos reales.

Cargado por

flasher.cod7
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
Está en la página 1/ 20

UNIVERSIDAD POLITÉCNICA SALESIANA

SEDE GUAYAQUIL
CARRERA DE ELECTRÓNICA Y AUTOMATIZACIÓN

Materia
ROBÓTICA-PRÁCTICAS

Práctica
Robot móvil diferencial o Uniciclo

Autores:

ISRAEL MOYA
BETSIE BERMEO
PABLO BANDERAS

Docente

Ing. Geovanny García, MSc

Guayaquil - Ecuador
Período 64
Índice general

Índice de Figuras II

Índice de Tablas III

1. Tema 1
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . 2
1.1.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . 2
1.2. Recursos utilizados . . . . . . . . . . . . . . . . . . . . . . . . 2

2. Marco teórico 3
2.1. Robots Móviles . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Cinemática de Robots Móviles . . . . . . . . . . . . . . . . . 4
2.3. Modelado Matemático . . . . . . . . . . . . . . . . . . . . . . 4
2.4. Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3. Desarrollo 6
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Desarrollo de la práctica . . . . . . . . . . . . . . . . . . . . . 6

4. Conclusiones y Recomendaciones 14
4.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . 14

I
Índice de Figuras

1.1. Software Matlab . . . . . . . . . . . . . . . . . . . . . . . . . 1

2.1. Robots Móviles . . . . . . . . . . . . . . . . . . . . . . . . . . 4


2.2. Cinemática de Robots Móviles . . . . . . . . . . . . . . . . . . 4
2.3. Modelado Matemático . . . . . . . . . . . . . . . . . . . . . . 5
2.4. Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.1. Paso 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Paso 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3. Paso 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4. Paso 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5. Paso 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6. Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.7. Movimiento en X y Y . . . . . . . . . . . . . . . . . . . . . . 12
3.8. Comando que permite que rote en sentido antihorario . . . . 13
3.9. Rotación de 270 en sentido antihorario . . . . . . . . . . . . . 13

II
Índice de Tablas

III
Capítulo 1

Tema

Práctica 1 de Robótica

Figura 1.1: Software Matlab

1
1.1. OBJETIVOS 2

1.1. Objetivos
1.1.1. Objetivo general
Desarrollar un algoritmo para el control de velocidad de un robot móvil
diferencial o uniciclo.

1.1.2. Objetivos específicos


Realizar el algoritmo en MATLAB del modelo cinemático.

Realizar cambio de velocidades lineales para que robot avance y


retroceda.

Realizar cambio de velocidades lineales para que robot gire a la


izquierda y gire a la derecha.

Utilizar Matlab para simular posición y velocidad del robot ingresados


por el usuario.

1.2. Recursos utilizados


Computadora

Software Matlab
Capítulo 2

Marco teórico

2.1. Robots Móviles


La robótica móvil puede entenderse de manera sencilla como sistemas
robóticos capaces de moverse a través de diversos entornos y que disponen
de habilidades que les permiten llevar a cabo tareas complejas, ya sea de
manera autónoma o mediante control humano. Estos robots están equipados
con sensores y actuadores, que les brindan la capacidad de percibir el entorno
y modificarlo según sea necesario.
En esta descripción, se mencionan dos términos fundamentales en la
robótica: sensores y actuadores. Los sensores son dispositivos que permiten
recoger información del entorno, la cual luego es procesada para que el robot
pueda percibir estímulos y actuar en consecuencia, como los sensores de
luz, sonido, GPS, de gases, entre otros. Por otro lado, los actuadores son
dispositivos que permiten al robot interactuar con el entorno, ejecutando
acciones sobre él. Estos incluyen, por ejemplo, mecanismos para manipular
objetos, herramientas como soldadores, y motores que facilitan el movimiento
del robot o la realización de diversas tareas.
Los robots móviles tienen la ventaja de poder realizar funciones
que son inaccesibles para robots manipuladores (otro tipo de robots)
debido a sus limitaciones físicas y su dependencia de estaciones fijas. Sin
embargo, al integrar manipuladores en robots móviles, es posible expandir
considerablemente sus capacidades.
[Perez, 2022]

3
2.2. CINEMÁTICA DE ROBOTS MÓVILES 4

Figura 2.1: Robots Móviles

2.2. Cinemática de Robots Móviles


Un robot diferencial opera de la siguiente manera: si ambas ruedas giran
a la misma velocidad y en la misma dirección, el robot avanzará en línea
recta. Si se invierte la dirección de giro manteniendo la misma velocidad,
el robot retrocederá. Si ambas ruedas giran en la misma dirección pero con
velocidades distintas, el robot se desplazará hacia el lado de la rueda más
rápida. Por ejemplo, si la rueda derecha gira más rápido que la izquierda,
el robot se moverá hacia la izquierda. Finalmente, si las ruedas giran a la
misma velocidad pero en direcciones opuestas, el robot girará sobre su propio
eje, en sentido horario o antihorario. [roboticoss, 2021]

Figura 2.2: Cinemática de Robots Móviles

2.3. Modelado Matemático


Para determinar la ubicación de un robot móvil en un plano cartesiano, se
utiliza el modelo cinemático diferencial directo. Este modelo establece una
relación entre las velocidades del punto de control o de interés (h(x,y)) y
las velocidades de los actuadores, asumiendo que el vehículo es una masa
puntual, sin considerar fuerzas adicionales como momentos de inercia o
fricción. Para construir el modelo cinemático, se parte de la geometría de
un robot tipo diferencial, como se muestra en la Figura 2, donde la posición
del robot está definida por el punto h(x,y) y su orientación por el ángulo
(phi). Cabe destacar que este modelo solo proporciona las velocidades, no
las posiciones. Por lo tanto, para obtener la posición y orientación del robot,
es necesario integrar las velocidades durante un intervalo de tiempo constante
2.4. MATLAB 5

(ts), conocido como tiempo de muestreo. [roboticoss, 2021]

Figura 2.3: Modelado Matemático

2.4. Matlab
MATLAB (del inglés MATrix LABoratory) es un software de
programación de alto nivel creado por MathWorks, diseñado principalmente
para realizar análisis numérico, simulaciones y visualización de datos. Se
emplea comúnmente en campos como ingeniería, ciencias físicas, finanzas y
otras áreas que demandan procesamiento y análisis avanzado de datos. Este
entorno de trabajo facilita a los usuarios llevar a cabo cálculos matemáticos
y estadísticos complejos, manipular matrices, visualizar datos de manera
efectiva y automatizar tareas mediante el uso de scripts. [formadoresit, 2024]

Figura 2.4: Matlab


Capítulo 3

Desarrollo

3.1. Introducción
Durante la práctica realizada en clase, se abordó el desarrollo de
un algoritmo para el control de velocidad de un robot móvil, enfocado
en dos tipos específicos: diferencial y uniciclo. Utilizando MATLAB
como herramienta de simulación, se buscó aplicar conceptos de modelado
cinemático para comprender y controlar los movimientos del robot de manera
efectiva.
El objetivo principal de esta práctica fue implementar un modelo que
permitiera simular maniobras básicas, como avanzar, retroceder y realizar
giros hacia los lados, ajustando las velocidades lineales del robot según
las necesidades del movimiento. Asimismo, se exploraron las capacidades
de MATLAB para visualizar y analizar la posición y velocidad del robot
con datos proporcionados por el usuario. Esta actividad fue diseñada para
reforzar los conocimientos teóricos en cinemática y control, permitiendo
aplicar de manera práctica los conceptos aprendidos en el aula mediante
herramientas computacionales modernas.

3.2. Desarrollo de la práctica


El desarrollo de la práctica se desarrollo en el siguiente orden:

Lo primero fue la incorporación de una variable global llamada M1,


utilizada para gestionar el carrito en la simulación. Esto resolvió el
problema de acumulación de múltiples carritos en pantalla, ya que

6
3.2. DESARROLLO DE LA PRÁCTICA 7

anteriormente cada carrito se dibujaba sin eliminar el anterior. Con


M1, se logró referenciar el carrito actual y eliminarlo antes de dibujar
uno nuevo, gar

Figura 3.1: Paso 1

Como segundo paso, se implementó una comprobación para eliminar


el carrito previo, resolviendo la acumulación de objetos en pantalla.
Usando isempty(M1), se verifica si existe un carrito anterior y, de
ser así, se elimina con delete(M1). Este ajuste, incluido dentro de
simulateTrajectory, garantiza que el dibujo del carrito sea dinámico
y evita múltiples instancias visibles.
3.2. DESARROLLO DE LA PRÁCTICA 8

Figura 3.2: Paso 2

Como tercer paso, se inicializó el carrito antes de comenzar el bucle, ya


que previamente no se dibujaba hasta que este iniciaba. Se agregó una
línea al inicio de la función simulateTrajectory que utiliza MobilePlot
para dibujar el carrito inicial. Esto permite que el carrito sea visible
desde el inicio de la simulación, mejorando la experiencia visual del
proceso.
3.2. DESARROLLO DE LA PRÁCTICA 9

Figura 3.3: Paso 3

Como cuarto paso, se ajustó el bucle para eliminar el carrito anterior


antes de dibujar uno nuevo en cada iteración. Esto se logró añadiendo
delete(M1) antes de redibujar con MobilePlot, asegurando que solo
haya un carrito visible en pantalla y evitando cualquier confusión visual
durante la simulación.
3.2. DESARROLLO DE LA PRÁCTICA 10

Figura 3.4: Paso 4

Como quinto paso, se separó la lógica de movimiento y dibujo del


carrito en una función independiente llamada simulateTrajectory. Esto
permitió encapsular la simulación de la trayectoria, mejorando tanto
la legibilidad como el mantenimiento del código, y promoviendo una
estructura más modular y organizada.
3.2. DESARROLLO DE LA PRÁCTICA 11

Figura 3.5: Paso 5

Finalmente se realizo la simulación del movimiento en (X) y (Y), al


igual que la rotación solicitada de 270° que equivale a 3(pi/2).
3.2. DESARROLLO DE LA PRÁCTICA 12

Figura 3.6: Simulación

Figura 3.7: Movimiento en X y Y


3.2. DESARROLLO DE LA PRÁCTICA 13

Figura 3.8: Comando que permite que rote en sentido antihorario

Figura 3.9: Rotación de 270 en sentido antihorario


Capítulo 4

Conclusiones y
Recomendaciones

4.1. Conclusiones
La implementación de algoritmos de simulación, como los realizados
en MATLAB en clase, nos pudimos dar cuenta que permite validar el
comportamiento cinemático de los robots móviles, facilitando el diseño
y ajuste previo a su aplicación en entornos reales donde se requiera.

La capacidad de los robots móviles para realizar movimientos precisos,


como giros y cambios de dirección controlados, los convierte en
herramientas clave para aplicaciones en espacios reducidos o escenarios
que requieren alta precisión, como realizado en clase que modificando
las funciones necesarias obteníamos un movimiento controlado.

El desarrollo práctico y experimental a través del software Matlab ha


sido una herramienta muy útil para comprensión de lo que implica el
movimiento de un robot y que variables se encuentran inmiscuidas en
esta.

4.2. Recomendaciones
Se recomienda colocar bien las funciones, variables y el código mismo
del movimiento ya que puede generar inconvenientes.

14
4.2. RECOMENDACIONES 15

Se recomienda no utilizar Matlab en linea para que todo funcione


correctamente.

Se recomienda verificar que todo este correctamente colocado ya que


puede dar error y problemas en el movimiento del Robot.
Bibliografía

formadoresit. ¿Qué es Matlab y para qué sirve? 2024.

N. Oliva. Redes de comunicaciones industriales. 2013, 2013.

A. R. Penin. Sistemas SCADA. 2008, 2008.

A. E. G. Perez. Robótica móvil: Qué es y sus aplicaciones. 2022.

roboticoss. Modelo cinemático y simulación de un robot móvil diferencial.


2021.
Penin [2008] Oliva [2013]

16

También podría gustarte