Vous êtes sur la page 1sur 19

DIPLOMADO DE ROBÓTICA

Simulador VREP
Plataforma de Experimentación de Robots
Ingeniería Electrónica
Universidad de Nariño

John Barco Jiménez


Ing. Electrónico
Contenido
1. Posición y Orientación
2. Articulaciones
3. Introducción a la Programación en VREP – Lenguaje
LUA

John Barco – Diplomado de Robótica 10/02/2017 2


Representación de la Posición de un Objeto
 Posición: la forma más intuitiva de representar la posición de un
objeto en el espacio es por medio de coordenadas cartesianas:
[x, y, z].

La orientación de un objeto se puede


definir por medio de los Ángulos de
Posición de un punto en el espacio
Euler.

John Barco – Diplomado de Robótica 10/02/2017 3


Posición y Orientación en VREP
1. Adicionar un cubo en el
escenario
1. Add/Primite Shape/Cuboid
2. Con dimensiones de 10x10x10
cms
2. Ubicarlo en la posición 0,0,0 del
escenario
1. Object/ítem shift
3. Ubicarlo de tal manera que el
objeto quede sobre la superficie
del escenario.

John Barco – Diplomado de Robótica 10/02/2017 4


Posición y Orientación en VREP
 Adicionar otro cubo al escenario
 Add/Primite Shape/Cuboid
Con dimensiones de 5x5x5 cms
 Ubicarlo encima del cubo anterior

John Barco – Diplomado de Robótica 10/02/2017 5


Posición y Orientación en VREP
 Rotar el cubo de arriba 45° alrededor de z
 Object / ítem rotate

John Barco – Diplomado de Robótica 10/02/2017 6


Articulación Rotacional
 Es una pieza que permite unir dos piezas donde al menos una
tiene un grado de libertad de movimiento.
 Una articulación debe tener dos marcos de referencia: Fijo y
Móvil:
 Fijo: sirve como marco de referencia de la articulación.
 Móvil: el marco de referencia móvil rota respecto al marco de referencia móvil
dependiendo de la rotación de la articulación.

 Ejercicio: agregar dos cilindros y


una articulación rotacional
 2 Cilindros: 5 cm de radio y 2.5 de altura.
 Articulación: 5cm altura y 5 cm de diámetro

John Barco – Diplomado de Robótica 10/02/2017 7


Articulación Rotacional
 Es una pieza que permite unir dos piezas donde al menos una
tiene un grado de libertad de movimiento.
 Una articulación debe tener dos marcos de referencia: Fijo y
Móvil:
 Fijo: sirve como marco de referencia de la articulación.
 Móvil: el marco de referencia móvil rota respecto al marco de referencia móvil
dependiendo de la rotación de la articulación.

 Ejercicio: agregar dos cilindros y


una articulación rotacional
 2 Cilindros: 5 cm de radio y 2.5 de altura.
 Articulación: 5cm altura y 5 cm de diámetro

John Barco – Diplomado de Robótica 10/02/2017 8


Articulación Rotacional
 Para garantizar el correcto funcionamiento de una articulación se debe
revisar que todos los elementos permitan “Simulación Dinámica”, es
decir que todos tengan un visto a lado derecho.

 Para lograr correr la simulación se debe garantizar que los objetos se


organicen jerárquicamente como indica la gráfica anterior, es decir, la
articulación debe ubicarse entre la base fija y la base móvil,
respectivamente.

John Barco – Diplomado de Robótica 10/02/2017 9


Articulación Rotacional
 Para darle movimiento a una articulación se debe configurar de la
siguiente manera. En Scene Object Properties

1. Deshabilitar “Position is cyclic”


2. Definir “Pos. Min [deg]” = -90
3. Definir “Pos. Range [deg]” = 180

John Barco – Diplomado de Robótica 10/02/2017 10


Articulación Rotacional
 Para darle movimiento a una articulación se debe configurar de la
siguiente manera. En Joint Dynamic Properties

1. Habilitar “Motor enabled”


2. Habilitar “Control Loop enabled”
3. “Upper velocity limit” = 90
4. Seleccionar “Custom Control”

Revisar el movimiento articular

John Barco – Diplomado de Robótica 10/02/2017 11


Articulación Rotacional
 Agregue una nueva articulación y un brazo como muestra la figura

John Barco – Diplomado de Robótica 10/02/2017 12


Articulación Rotacional
 Agregue una nueva articulación y un antebrazo como muestra la figura

John Barco – Diplomado de Robótica 10/02/2017 13


Programación en VREP – Lenguaje LUA
 Comandos: Es una instrucción que permite obtener o modificar las
propiedades de cualquier objeto del escenario, por ejemplo, la
posición, velocidad de rotación, etc.

 Script: Es una conjunto de comandos que se ejecutan de forma


secuencial y ordenada. Cualquier objeto del escenario puede tener un
script de comandos, para agregar un script se debe realizar clic
derecho encima del nombre del objeto: “Add/Associated Child
Script/Threated”.
Script

John Barco – Diplomado de Robótica 10/02/2017 14


Programación en VREP – Lenguaje LUA
 Variables: Espacio de memoria donde se almacenan datos numéricos o
textuales. Para declarar una variable se debe anteponer la palabra
clase “Local” al nombre de la variable, por ejemplo:

Local nombre_variable

 Handle (Identificador): Es un número entero que permite identificar y


diferenciar los objetos del escenario. Para obtener el Handle de un
objeto se debe utilizar el siguiente Comando

Local Hbase = simGetObjectHandle(“ArticulacionBase”)

John Barco – Diplomado de Robótica 10/02/2017 15


Programación en VREP – Lenguaje LUA
 Ejercicio: Agregar un script al objeto BaseFija y agregar un comando
para obtener el identificador de la “ArticulacionBase”.

threadFunction = function()
local HBase = simGetObjectHandle("ArticulacionBase")
end

Si al correr la simulación la consola de texto no aparece en amarillo


entonces no hay error en los comandos.

John Barco – Diplomado de Robótica 10/02/2017 16


Programación en VREP – Lenguaje LUA
Mover una Articulación
Para mover una articulación se utiliza el comando

simSetJointTargetPosition(Handle_Articulacion, Angulo_rotacion)
Handle_Articulacion: identificador de la articulación a rotar.
Angulo_rotación: valor angular en radianes.

Ejemplo:
--Comentario
local HBase = simGetObjectHandle("ArticulacionBase")
simSetJointTargetPosition(HBase, 45*math.pi/180)
simWait(1) --Espera un segundo
simSetJointTargetPosition(HBase, 0*math.pi/180)

John Barco – Diplomado de Robótica 10/02/2017 17


Programación en VREP – Lenguaje LUA
Ejercicio: Programe el brazo para que realice las siguientes acciones.
1. Mueva la base 45 grados
2. Mueva el hombro -45 grados
3. Mueva el codo 90 grados
4. Esperar 2 segundos
5. Todos las articulaciones regresen a 0 grados (posición inicial)

John Barco – Diplomado de Robótica 10/02/2017 18


Programación en VREP – Lenguaje LUA
Solución
local HBase = simGetObjectHandle("ArticulacionBase")
local HHombro = simGetObjectHandle("ArticulacionHombro")
local HCodo = simGetObjectHandle("ArticulacionCodo")
simSetJointTargetPosition(HBase, 45*math.pi/180)
simSetJointTargetPosition(HHombro, -45*math.pi/180)
simSetJointTargetPosition(HCodo, 90*math.pi/180)
simWait(2)
simSetJointTargetPosition(HBase, 0*math.pi/180)
simSetJointTargetPosition(HHombro, 0*math.pi/180)
simSetJointTargetPosition(HCodo, 0*math.pi/180)

John Barco – Diplomado de Robótica 10/02/2017 19

Vous aimerez peut-être aussi