Laboratorio Final Robotica
Laboratorio Final Robotica
0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
Proyecto Final
Cala Marı́a, Tejedor Mónica, Cardenas Sebastian, Mendez Julian, Agudelo Carlos, Martinez Cristian
{u1803021, u1802954, u1802780, u1802663, u1802601,u1802828}@unimilitar.edu.co
Profesora: Nubia Nathaly Sanchez Galvis
Abstract—In this laboratory report, the union of the sections • Diseñar e implementar una interfaz gráfica para el co-
of the last laboratories is observed, the entire course was imple- mando de los robots (manipuladores y móvil), per-
mented from beginning to end, since it sought the implementation mitiéndole al primer manipulador recolectar las piezas de
of mobile robotics and manipulator robotics, this is because the
purpose of this laboratory is to avoid obstacles, but collecting los elementos para entregarlas a la plataforma móvil, que
boxes by means of a manipulator, what was required at first is to debe llevarlas a un punto definido donde otro manipulador
make a round trip path and also go through 8 established points, las debe recibir y entregárselas al operador humano para
later it was required to make a desired path but to collect 3 boxes realizar la simulación virtual.
in different positions and heights, as well as leaving them on a
shelf with different heights, so that at the end it was something
very similar to the previous one but this would have to avoid II. I NTRODUCCI ÓN
obstacles in some way, in this case it was done by means of exact
cells, since which describes a safe path, as well as the shortest,
it would have to avoid 3 obstacles that were entered by the user
where he wanted.
P Ara poder poner en marcha el ultimo laboratorio conjunto
de Robótica, se tendrı́a que elaborar o escoger un robot
móvil, en este caso se procedió a realizar el laboratorio con el
robot robotino, pero posteriormente se realizó con el arduino
Abstract—En el presente informe de laboratorio, se observa robot, debido a que el robot robotino presenta problemas de
la unión de las secciones de los últimos laboratorios donde comunicación, las ruedas se trababan, la precisión no era la
se implementó todo el curso desde principio hasta el final, ya esperada, ası́ que para suplir estos inconvenientes se imple-
que buscaba la implementación de robótica móvil y robótica de mentó 2 sensores inductivos, a pesar de esta implementación
manipuladores, esto es porque la finalidad de este laboratorio
el robotino, no cumplı́a con lo requerido, fue por esto que
es evitar obstáculos, pero recogiendo cajas por medio de un
manipulador, lo que se requerı́a en un principio es hacer una pasamos a realizar el laboratorio de este robot diferencial,
trayectoria de ida y de devuelta y que además pasara por 8 puntos en ambos casos realizamos los modelos cinemáticos, con la
establecidos, posteriormente se requerı́a realizar un trayectoria finalidad de poder encontrar el valor de las velocidades de cada
deseada pero que recogiera 3 cajas en diferentes posiciones y llanta, una vez, que se tuviera este podrı́amos tanto leer como
alturas, como también que las dejara en una repisa con diferentes
decirle al robot que tuviera tanta velocidad esto es porque cada
alturas, para que al finalizar fuera algo muy similar al anterior
pero este tendrı́a que evitar obstáculos de alguna forma, en este muestra entre 1 a 1023 es 0.111RPM, posteriormente se realizó
caso se realizó por medio de celdas exactas, ya que describe una trayectoria que permitiera pasar por 6 puntos intermedios,
un camino seguro, como también el más corto, este tendrı́a que como también otros dos que serı́an el punto inicial y final,
evitar 3 obstáculos que eran ingresado por el usuario donde el pero además el robot tendrı́a que hacer el recorrido de ida y
deseara.
de devuelta, una vez que cumpliera este funcionamiento se le
acopları́a al robot móvil el manipulador implementado en las
Palabras clave—Cinemática directa. cinemática inversa, Ma- practicas previas, esto es porque el robot tiene la finalidad de
nipulador, Matlab, manipuladores robóticos, Parámetros de
poder almacenar objetos que recogerá con el brazo, en este
Denavit-Hartenberg, Robótica.
caso la recolección de cajas de cartón de 3x3 (cm), como
también de posicionarla en una repisa de diferentes alturas Al
I. O BJETIVOS finalizar se tendrı́a que realizar un trabajo similar pero para
A. General poder evitar obstáculos que estén en el camino, el método que
se implemento fue el de Celdas Exactas que nos da viabilidad
Diseñar e implementar un sistema robótico colaborativo de evitar los obstáculos por medio de la ubicación de los
para la recolección y transporte de objetos mediante dos brazos vértices de las figuras, esta última practica integrarı́a todas,
manipuladores y un robot móvil, que tengan como propósito ya que, no solo evita los obstáculos, si no busca la trayectoria
entregar piezas a un operador humano, quien debe realizar un más corta, por medio de la garra recoge las cajas en diferentes
montaje según la situación definida al inicio del semestre. El ubicaciones y las deja en diferentes ubicaciones.
sistema debe tener en cuenta la planeación de trayectorias y
evasión de obstáculos. Para poder definir los obstáculos se hizo un código dinámico
el cual el usuario pudiera poner el centroide de la figura con el
deseara, una vez que se colocaran el código realizarı́a su tarea
B. Especı́ficos para poder escoger el camino más seguro como también corto
• Calcular e Implementar la Cinemática diferencial de robot para llegar al punto deseado, además en esta última practica
móvil. se tendrı́a que evitar mı́nimo 3 obstáculos de por lo menos las
LABORATORIO DE ROBÓTICA Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
dimensiones del chasis del robot, es por eso que se implementó de la maquinaria en funcionamiento es la mitad y no consume
1 triángulo equilátero de 12 cm (cada lado) y un cuadrado de una cantidad de energı́a. Por otro lado, el movimiento también
12 cm (cada lado) puede ser curvilı́neo o rectilı́neo.
La robótica móvil constituye una valiosa herramienta para De ser el movimiento rectilı́neo o curvilı́neo, el movimiento
el desarrollo de tecnologı́as para la creación de robots de también se da a través de un eje de rotación. Por lo general,
navegación autónoma. Para que el robot tenga la capacidad este tipo de movimiento con eje se usa en el momento de
necesaria de ejecutar ciertas tareas a través de su movimiento colocar las tapas en los envases de botella o al vaciar el
es importante conocer previamente el espacio de trabajo, por producto dentro de los envases. De igual forma se realiza en el
ejemplo, para planear una ruta libre de colisión es importante momento del etiquetado donde los recipientes van rotándose,
conocer la ubicación de los obstáculos. En la actualidad existe de modo que el robot realice su operación correspondiente.
un gran número de métodos para la planeación y generación Allı́ se realiza este eje rotativo para que el robot manipulador
de trayectorias, desde algoritmos simples hasta lógicas de pro- de 3 grados de libertad pueda tener libertad de movimiento.
gramación más complejas, por ende es importante seleccionar
El objetivo de la cinemática inversa consiste en encontrar
un método adecuado acorde a la aplicación requerida.
los valores que deben adoptar las coordenadas articulares
del robot, para que su extremo se posicione y oriente según
III. M ARCO TE ÓRICO
una determinada localización espacial. Uno de los inconve-
Cinemática Diferencial de Robot Móvil nientes mas importantes presentados a la hora de ejecutar
la cinemática inversa es obtener los valores de las variables
El modelo cinemático diferencial busca encontrar la relación articulares para que el enlace terminal tenga una determinada
existente entre las velocidades articulares y la velocidad del posición y orientación.
extremo operativo del robot, y por extensión de cualquier
Teniendo en cuenta lo anterior en muchas aplicaciones, el
otro punto asociado al mismo.
problema cinemático inverso se debe resolver en tiempo
Esta relación que parece obtenible del modelo cinemático, real (por ejemplo, seguir una determinada trayectoria). Una
contiene en si una información especialmente relevante dado solución de tipo iterativo no garantiza tener la solución en el
que nos permitirá identificar singularidades, obtener datos momento adecuado.
sobre la capacidad de un robot en el espacio, y establecer la
Al contrario de lo que ocurrı́a en el problema cinemático
base de métodos numéricos para resolver de modo iterativo la
directo, con cierta frecuencia la solución del problema
cinemática inversa de cualquier robot, e incluso para controlar
cinemático inverso no es única; existiendo diferentes n-
el movimiento en el espacio de la tarea del mismo.
tuplas(q1,...,qn)exp T que posicionan y orientan el extremo
del robot del mismo modo. En estos casos una solución
cerrada permite incluir determinadas reglas o restricciones que
aseguren que la solución obtenida sea la más adecuada posible.
Evasión de Obstáculos
Desde que se crearon los robots industriales, se hizo evidente
lo fácil que estos pueden llegar a chocar con su medio
ambiente, o entre ellos mismos. Desde entonces, la búsqueda
de métodos de anticolisión ha demandado la atención de Figure 6. Estructura Jerárquica
los investigadores. En el primer caso están los métodos de
planeación de rutas, y en el segundo caso, los métodos de Tal y como se indica en la figura anterior, la pantalla es
evasión de obstáculos. Los métodos de planeación de rutas el objeto más general y del que dependen todos los demás
consisten en encontrar en forma automática las rutas libres de y únicamente puede haber un objeto pantalla. Una pantalla
colisión, mientras que los métodos de evasión de obstáculos puede contener una o más ventanas (figures). A su vez,
consisten en evadir los obstáculos que se presentan en la cada una de las ventanas puede tener uno o más ejes de
trayectoria del robot, mientras éste consigue alcanzar la meta. coordenadas (axes) con los que representar otros objetos de
LABORATORIO DE ROBÓTICA Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
más bajo nivel. Una ventana puede tener también controles denomina criterio de circunferencia vacı́a. Para un conjunto
(uicontrols), tales como botones, barras de desplazamiento, de puntos en 2-D, una triangulación de Delaunay de estos
botones de selección o de opción, etc. y menús (uimenus). puntos asegura que el cı́rculo circunferencial asociado con
Finalmente, los ejes pueden contener los cinco tipos de cada triángulo no contenga ningún otro punto en su interior.
elementos gráficos que permite Matlab y que se indican en el Esta propiedad es importante. En la siguiente ilustración, el
gráfico anterior (line, surface, text, image y patch). cı́rculo circunferencial asociado con T1está vacı́o. No contiene
un punto en su interior. La circunferencia circunscrita asociada
RoadMap con T2está vacı́a. No contiene un punto en su interior. Esta
triangulación es una triangulación de Delaunay.
Una hoja de ruta probabilı́stica (PRM) es un gráfico de
red de posibles rutas en un mapa determinado basado en
espacios libres y ocupados. El mobileRobotPRM objeto gen-
era nodos al azar y crea conexiones entre estos nodos en
función de los parámetros del algoritmo PRM. Los nodos se
conectan según las ubicaciones de obstáculos especificadas
en Map y según lo especificado ConnectionDistance. Puede
personalizar la cantidad de nodos NumNodespara adaptarse
a la complejidad del mapa y al deseo de encontrar la ruta
Figure 8. Triangulaciones de Delaunay
más eficiente. El algoritmo PRM utiliza la red de nodos
conectados para encontrar una ruta libre de obstáculos desde
una ubicación inicial hasta una final. Para planificar una ruta a
través de un entorno de manera efectiva, ajuste las propiedades
NumNodesy ConnectionDistance. Los triángulos a continuación son diferentes. La circunfer-
encia circunscrita asociada con T1 no está vacı́a. Contiene V3
Al crear o actualizar la mobileRobotPRM clase, las ubica-
en su interior. La circunferencia circunscrita asociada con T2
ciones de los nodos se generan aleatoriamente, lo que puede
no está vacı́a. Contiene V1 en su interior. Esta triangulación
afectar su ruta final entre múltiples iteraciones. Esta selección
no es una triangulación de Delaunay.
de nodos se produce cuando especifica Map inicialmente, cam-
bia los parámetros o update se llama. Para obtener resultados
consistentes con la misma ubicación de nodo, use rng para
guardar el estado de la generación de números aleatorios.
L = 8.2cm
r = 2.55cm
V1 = rφ˙1 = 2.55rφ˙1
V2 = rφ˙2 = 2.55rφ˙1
Para la Rueda 1
rφ˙1 2.55φ˙1
Figure 10. Triangulaciones de Delaunay VXR1 = = = 1.275φ˙1
2 2
Las propiedades de las triangulaciones de Delaunay se VY R1 = 0
extienden a dimensiones más altas. La triangulación de un con-
rφ˙1 2.55φ˙1
junto de puntos tridimensional está compuesta de tetraedros. W1 = = = 0.1554φ˙1
La siguiente ilustración muestra una triangulación tridimen- 2L 2 · 8.2
sional simple de Delaunay compuesta por dos tetraedros. Se Para la Rueda 2
muestra que la circunferencia de un tetraedro resalta el criterio
rφ˙2 2.55φ˙2
de circunferencia vacı́a. VXR2 = = = 1.275φ˙2
2 2
VY R2 = 0
rφ˙2 2.55φ˙2
W2 = − =− = −0.1554φ˙2
2L 2 · 8.2
rφ˙1 r φ˙2
X˙R r r
φ˙
2 2 2 2
ε˙R = Y˙R = 0 0 =0 0 ˙1
r φ˙1 ˙ r r φ2
θ˙R 2L− rφ2 2L 2L − 2L
Figure 11. Triangulaciones de Delaunay 1.275 1.275 ˙
ε˙R = 0 0 φ1
Una triangulación 3-D de Delaunay produce tetraedros que φ˙2
0.1554 −0.1554
satisfacen el criterio de circunsfera vacı́a.
r r
2 + 2 ˙
IV. DESARROLLO DE LA PRACTICA φ1
ε˙1 = RZ (θ)ε˙R = R(θ)−1 = 0
r r φ˙2
Como primer paso se realizó la implementación del correcto 2L + 2L
funcionamiento del Robot de Arduino, para ello se tendrı́a
2.55(φ˙1 + φ˙2 )
que realizar el cálculo de la cinemática correcta de esta, esto
es lo primero que se realiza, pero al transcurrir el tiempo ε˙1 = R(θ)−1 0
comenzamos a realizar las pruebas y hacer las presentaciones 0.1554(φ˙1 − φ˙2 )
con el Robot Bioloid, también se deberı́a hacer el debido
cálculo de la cinemática de este, para hacer estos cálculos se Desarrollo Interfaz gráfica
utilizó el principio de superposición el cual consiste de apagar En el desarrollo de la interfaz gráfica, se realizo la importación
las ruedas y solo dejar una en funcionamiento, esto se hizo de 2 robots por medio de Unified Robot Description Format
para los dos casos. (URDF)
Se realiza la cinemática del robot móvil
Robot diferencial
Realizamos un pequeño cambio en donde guardamos todas Para la siguiente posición cambiamos el gripper por el cual
las posiciones de los ángulos, es decir si tenemos 10 pasos ya tiene el objeto ”imantado”, y realiza el mismo proced-
para llegar al siguiente punto, guardamos las 10 posiciones de imiento anterior, pero regresando a la posición inicial antes
ángulo para cada una de las articulaciones. de haber obtenido el objeto.
LABORATORIO DE ROBÓTICA Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
VI. C ONCLUSIONES
• Se implemento un sistema robotico colaborativo para la
recolección y transporte de objetos mediante dos bra-
zos manipuladores y un robot móvil, que tienen como
propósito entregar piezas a un operador humano de man-
era virtual.
• Se adquirio conocimientos tanto sobre las piezas que
necesita un brazo robótico como sobre los aspectos más