UNIVERSIDAD PRIVADA DEL VALLE
FACULTAD DE INFORMÁTICA Y ELECTRÓNICA Evaluación
INGENIERÍA BIOMEDICA
CAMPUS TIQUIPAYA
ROBOTICA
Informe de Práctica de Laboratorio N°7
MEDICION DE OBJETOS USANDO
OPENCV
GRUPO “A”
Cochabamba de Diciembre del 2021
GestiónII-2021
MEDICION DE OBJETOS USANDO OPENCV
ASIGNATURA: Robótica
TEMA Medición y movimiento de objetos
1
Elemento de Robot ABB IRB 120
Página
estudio
Plataforma de RobotStudio
emulación virtual
Fecha Anotar el día y la fecha en que se realizó la práctica de laboratorio
1. Marco teórico
Describir las funciones de movimiento que se usaran en el desarrollo del laboratorio.
2. Resultados de Laboratorio Virtual
2
Página
Programe la trayectoria para el Robot 5R, de tal forma que mueva un objeto detectado por
color de un punto a otro. La selección del destino del objeto debe estar restringido por el color
del objeto. Para este fin debe usar ARDUINO UNO R3.
Configure el código proporcionado de OPEN CV en Python para el reconocimiento de posición
de tres objetos por color, su comunicación serial y realice las pruebas usando la cámara web.
Integre las tareas anteriores, de tal forma que el robot mueva al objeto según a una posición
según el color del mismo.
Códigos utilizados
Capturas de pantalla
3
Página
Página 4
3. Cuestionario
1..- ¿Cuál es el concepto de Visión Maquina?
R.- Es una disciplina científica que incluye métodos para adquirir, procesar y analizar
imágenes del mundo real con el fin de producir información que pueda ser tratada por una
máquina. Una manera simple de comprender este sistema es basarnos en nuestros propios
sentidos.
2.- ¿Cuáles son las aplicaciones de la visión máquina que son aplicadas a la
robótica?
R.- Las aplicaciones de la visión artificial son tan diversas como la detección de
intrusos, el mantenimiento de la seguridad vial o el control de los procesos en
automatización industrial. Y es en este último campo donde la robótica y la visión
artificial se alían para llevar la automatización al siguiente nivel.
3.- ¿Cuáles son las técnicas que se usan para la detección de objetos?
4.- ¿Cuáles son las técnicas que se emplean para la medición de objetos?
5
Página
R.- Son los siguientes
5.- ¿Qué aplicaciones se pueden usar en robótica con la técnica de medición de objetos?
6
R.- Se pueden utilizar los elementos de medición propioceptivos tales como encoders en las
Página
ruedas, algún otro tipo de sensor o bien si se utilizan motores
4. Conclusiones y recomendaciones
Se aplico todo lo aprendido en las clases avanzadas en las practica del laboratorio y se logro
obtener los resultados pedidos sin ningún inconveniente, se realizó la medición y el armado del
circuito correctamente y los manejos de los instrumentos.
5. Bibliografía
Anote la dirección web o el libro de donde extrajo el contenido del marco teórico.
UNIVERSIDAD PRIVADA DEL VALLE
EXAMEN PREVIO
Estudiante: Fecha: / /
Carrera: Asignatura: Grupo:
Docente: Laboratorio:
Practica N0: Título de la Practica:
Firma Estudiante: Firma Docente:
Parte 1. Crear una nueva herramienta en RobotStudio y montarlo en el efector final del Robot IRB120 con las
dimensiones mostrado en la figura:
Pegue captura de pantalla de la herramienta creada.
7
Parte2. Desarrollar un programa para el movimiento de tres cubos, cuya parte frontal sea de color verde.
Página
Pegue el código del programa
MODULE Module1
CONST robtarget INICIO;
CONST robtarget Target_20_2;
CONST robtarget Target_20:=[[450,50,100],[0,-0.707106781,0.707106781,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_100_2:=[[-20,500,390],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_100:=[[-20,500,290],[0,1,0,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_110_2:=[[-20,500,389.993],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_110:=[[-20,500,289.993],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_90_3:=[[400,160,290],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_90:=[[400,160,190],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_40:=[[0,450,200],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_120_2:=[[50,-430,290],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_120:=[[50,-430,90],[0,1,0,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_2;
CONST robtarget Target_60;
CONST robtarget Target_70_2;
CONST robtarget Target_70;
CONST robtarget Target_130_3:=[[200,-550,190],[0,0,0.999390827,-0.034899496],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_130:=[[200,-550,90],[0,0,0.999847695,-0.017452406],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_140_3:=[[400,0,290],[0,0,1,0],[0,0,0,0],
8
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
Página
CONST robtarget Target_140:=[[400,0,190],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_150_2:=[[120,500,290],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_150:=[[120,500,190],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_160_2:=[[400,80,390],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_160:=[[400,80,290],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_170_2:=[[-20,500,390],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_170:=[[-20,500,190],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_180_2:=[[400,-80,390],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_180:=[[400,-80,290],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_190_2:=[[200,500,290],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_190:=[[200,500,90],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_200_2:=[[400,0.057,438.737],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_200:=[[400,0.057,388.737],[0,0.707106781,0.707106781,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_50_2:=[[450,-50,200],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_2:=[[0,400,200],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10:=[[0,400,100],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_50:=[[450,-50,100],[0,1,0,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_40_2:=[[0,450,270],[0,0,1,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
!***********************************************************
!
! Módulo: Module1
!
! Descripción:
! <Introduzca la descripción aquí>
!
! Autor: Usuario
!
! Versión: 1.0
!
!***********************************************************
!***********************************************************
9
!
Página
! Procedimiento Main
!
! Este es el punto de entrada de su programa
!
!***********************************************************
PROC main()
!Añada aquí su código
ENDPROC
PROC trayectoria()
MoveL INICIO,v1000,fine,Efector_1\WObj:=wobj0;
MoveL Target_40_2,v1000,fine,Efector_1\WObj:=CUBO_3;
MoveL Target_40,v1000,fine,Efector_1\WObj:=CUBO_3;
MoveL Target_40_2,v1000,fine,Efector_1\WObj:=CUBO_3;
MoveL Target_50_2,v1000,fine,Efector_1\WObj:=CUBO_3;
MoveL Target_50,v1000,fine,Efector_1\WObj:=CUBO_3;
MoveL INICIO,v1000,fine,Efector_1\WObj:=wobj0;
MoveL Target_10_2,v1000,fine,Efector_1\WObj:=CUBO_2;
MoveL Target_10,v1000,fine,Efector_1\WObj:=CUBO_2;
MoveL Target_10_2,v1000,fine,Efector_1\WObj:=CUBO_2;
MoveL Target_20_2,v1000,fine,Efector_1\WObj:=CUBO_2;
MoveL Target_20,v1000,fine,Efector_1\WObj:=CUBO_2;
MoveL INICIO,v1000,fine,Efector_1\WObj:=wobj0;
MoveL Target_60_2,v1000,fine,Efector_1\WObj:=CUBO_6;
MoveL Target_60,v1000,fine,Efector_1\WObj:=CUBO_6;
MoveL Target_60_2,v1000,fine,Efector_1\WObj:=CUBO_6;
MoveL Target_70_2,v1000,fine,Efector_1\WObj:=CUBO_6;
MoveL Target_70,v1000,fine,Efector_1\WObj:=CUBO_6;
MoveL Target_70_2,v1000,fine,Efector_1\WObj:=CUBO_6;
MoveL INICIO,v1000,fine,Efector_1\WObj:=wobj0;
ENDPROC
ENDMODULE
Captura de pantalla del diseño de la lógica de estación.
Capturas de pantalla del robot IRB120 en sus distintas trayectorias, hasta cumplir el objetivo final.
10
Página
Grabe el movimiento del robot IRB120 usando la herramienta: Grabar simulación y súbalo (Incluyendo el presente
documento). El nombre del archivo de video debe tener la siguiente característica:
Lab7_Robotica_Nombre_Apellido.mp4
11
Página