Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Abstract— This document gives us information about how movimiento y manipulación, lo que permite su aplicación en
the PID applied on the wheels of a robot works, the concept of sistemas de producción automatizados, así como en tareas,
feedback for any type of control system, and the model of a servicios o asistencia en lugares de difícil acceso.
unicycle robot where it is explained how we can abbreviate the En el siguiente proyecto se realizara un Robot móvil uniciclo,
differential car model, to relate tire speeds based on a linear donde está básicamente constituido por una estructura
and angular speed. So we will find two definitive equations for mecánica de dos ruedas fijas convencionales sobre el mismo
the implementation of the robot on the Arduino platform, it will eje, controladas de manera independiente y una rueda local que
also be known about what is the odometry that will help us to le confiere estabilidad, permitiéndole navegar a través de un
know the location of the robot at every moment of time with determinado ambiente de trabajo de forma autónoma. Dicha
its respective coordinates remember that this step is Extremely autonomía se refiere a la capacidad de percibir, planificar y
important for the control system. actuar sin intervención del operador para lograr determinados
And to finish the connections of the robot, programming as objetivos. Esta inteligencia es suministrada por el sistema de
much as for the motors and their PID's and what is a brief control.
introduction of the sensorization and the different applications
of use that can be given to the Unity Software and how it is II. DEFINICIONES
used for our project With the creation of our prototype with its A. Cinemática de un Robot
respective scenario, everything exposed for the chair of
Fundamentals of Robotics.
B. Robótica Móvil
E. PWM
F. Software Unity
#include <PID_v1.h>
#include <PinChangeInterrupt.h>
#include <PinChangeInterruptBoards.h>
#include <PinChangeInterruptPins.h>
#include <PinChangeInterruptSettings.h>
#define encodPinA1 2
Fig11. Motor DC ya puesto en movimiento. #define encodPinB1 8
#define M1 9
#define M2 10
7) Crear un código que permita al robot moverse en un En la figura 22 observamos nuestro robot, nuestro modelo
solo eje. cinemático se considera como un simple punto, el objetivo de
nuestro modelo es determinar la posición en el eje X, la
using System.Collections;
posición en el eje Y y la orientación con respecto al eje X
using System.Collections.Generic;
using UnityEngine; partiendo del punto, cuando hayamos aplicado una velocidad
lineal (u) y una velocidad angular (w) a nuestro robot.
public class movimiento : MonoBehaviour
{ Si analizamos geométricamente tenemos que la posición
public Transform target;
private float speed = 7; Xr = hx, Yr = hy (1)
void Start()
{ Es decir nuestro punto, como en nuestro modelo se está
} relacionando velocidades se deriva las ecuaciones antes
mencionadas
void Update()
{ X’r = h’x, Y’r=h’y (2)
float step =speed*Time.deltaTime;
transform.position = Vector3.MoveTowar Estas derivadas son las velocidades y vemos en nuestra figura
ds (transform.position,target.position,step); que la velocidad es u que es nuestra velocidad lineal.
}
private void FixedUpdate() Remplazamos las componentes en cada uno de los ejes con
{ esto se relaciona las velocidades en el punto de control con las
} velocidades que se aplican al robot.
}
o X’r =u Cos Φ
8) Importar el código y simular o Y’r=u Sen Φ
o w= u’
Obtención del modelo cinemático de un robot tipo uniciclo con Fig23. Movimiento del robot en Matlab ya configurado en los 3 ejes.
el fin de conocer las velocidades lineal y angular con la que se Movimiento del robot hacia adelante porque se está enviando
desplaza el robot, también se conocerá su ubicación y su una velocidad lineal positiva y si le damos una velocidad
orientación. Simulación del comportamiento del modelo y del negativa se dirigirá hacia atrás.
robot utilizando MATLAB. En un instante cero nuestro robot
se encuentra en el origen, luego de un determinado tiempo Código Modelo Cinemático – Matlab
nuestro robot se ha movido y estará en una orientación
determinada. [5] clc
clear all
close all
%%%%%%%%posicion inicial del robot%%%%%% importante para aquello ya que mediante las matrices tanto de
xr(1)=0; traslación como homogéneas nos ayudan al fácil ubicación de
yr(1)=0; nuestros puntos que va ir recorriendo el robot móvil.
phi(1)=0;
Es importante recalcar que la implementación del robot
%%%%%%%%%bucle de simulación%%%%%%%%% uniciclo se aprendió una nueva forma de ver el uso y la
for k=1:length(t) aplicación de este tipo de robots uniciclo autónomo ya que hoy
%%%% verificar posicion,orientación %%%% en día rigen una extensa área en la investigación y son de
xrp(k)=u(k)*cos(phi(k)); mucha ayuda para la industria y a la vez para las personas en
yrp(k)=u(k)*sin(phi(k)); la vida cotidiana.
%%integracion numerica para conocer la
posicion %%%
xr(k+1)=xr(k)+ts*xrp(k);
yr(k+1)=yr(k)+ts*yrp(k); V. REFERENCIAS
phi(k+1)=phi(k)+ts*w(k);
end [1] Barrientos, A., Peñin, L. F., Balaguer, C., & Aracil, R.
%%%%%ploteo de trayectoria del robot%%%% (2007). Fundamentos de robótica (Vol. 2, pp. 108-122).
pasos=20; fig=figure; Madrid: McGraw-Hill.
set(fig,'position',[10 60 980 600]);
axis square; cameratoolbar [2] Baturone, A. O. (2005). Robótica: manipuladores y robots
axis([-8 10 -6 6 0 1]); grid on móviles. Marcombo.
MobileRobot;
%%%%%plotear un robot simulado%%%%% [3] Martins, F. N., Carelli, R., Sarcinelli-Filho, M., & Bastos,
M1=MobilePlot(xr(1),yr(1),phi(1)); T. F. (2008). Modelo Dinámico y Controlador de Seguimiento
%%%%%posicion inicial del robot%%%% para Robots Móviles Tipo Uniciclo. V Jornadas Argentinas de
hold on, plot(xr,yr); Robótica-JAR08.
%%%%%simulacion del robot%%%%
for i=1:pasos:length(t) [4] Mattingly, W. A., Chang, D. J., Paris, R., Smith, N.,
delete (M1) Blevins, J., & Ouyang, M. (2012, July). Robot design using
M1=MobilePlot(xr(i),yr(i),phi(i)); hold on Unity for computer games and robotic simulations. In 2012
pause(0.5) 17th International Conference on Computer Games
end (CGAMES) (pp. 56-59). IEEE.