dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto...

22
Practica Profesional 1. Codigo :620509 --

Transcript of dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto...

Page 1: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Practica Profesional 1.Codigo :620509

--

Nombre: Rafael Ignacio Aburto Garrido

Rut: 19.894.668-0

Profesor: Salustiano Sergio Bravo Silva

Fecha: 28/05/2020

Page 2: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Índice

Introducción.....................................................................................................................................3

Descripción del centro de práctica..................................................................................................4

Descripción de la practica................................................................................................................5

1.- Ejemplo de un robot LegoMindstorn nxt.............................................................................5

2.- Bloque con sus partes conectables.....................................................................................5

3.- Imagen del codigo del robot Samurai.................................................................................6

Instalar programas necesarios para programar el robot en eclipse.............................................8

4.- Install new software...............................................................................................................8

5.- Instalar Software Robot........................................................................................................8

6.- Help Contets...........................................................................................................................9

Como instalar Lejos en el bloque del robot....................................................................................9

7.- Menu Eclipse..........................................................................................................................9

8.- Menú para instalar Lejos en el bloque..............................................................................10

9.- Imagen consola....................................................................................................................10

10.- proyecto lejos.....................................................................................................................11

11.- Propiedades proyectos.....................................................................................................11

12.- Librerias de lejos................................................................................................................12

Código controlar robot (RobotNXT).......................................................................................13

13.- Codigo controlar robot PT.1.............................................................................................13

14.-Codigo Controlar Robot PT.2............................................................................................13

15.- Codigo Controlar Robot PT.3...........................................................................................13

Código Operar robot (OperadorNXT).....................................................................................14

16.- Codigo Operar Robot PT1................................................................................................14

17.- Codigo controlar robot PT.2.............................................................................................14

18.-Codigo Controlar Robot PT.3............................................................................................14

Conclusión......................................................................................................................................15

Bibliografía....................................................................................................................................16

Page 3: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Introducción.

Como práctica profesional fui a hablar con el profesor Luis Vera ya que me dijeron que el realizaba prácticas en su laboratorio (CIMUBB/ Lab. De Sistemas Automatizados de Producción) y que la podíamos incluso adelantar, el me asigno al principio ir a hacer clases a un colegio en Yumbel a lo que fui, pero lamentablemente solo pude asistir a estos talleres en el colegio unos días dado que me cambiaron una hora de una asignatura y me topaba con los talleres por lo que ya no pude ir, pero después de esto el profesor me asigno distintas tareas las cuales serán explicadas adelante.

Page 4: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Descripción del centro de práctica.

Nombre: CIMUBB/ Lab. De Sistemas Automatizados de Producción

Representante Legal: Luis Vera

Dirección Postal: UBB Campus Concepción

Teléfono: +56988658614 (Teléfono personal del profesor Luis Vera)

Page 5: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Descripción de la practica

En mi caso la practica la empecé realizando un taller en un colegio de Yumbel, el cual constaba de enseñarle a los niños en primera instancia lo básico de los robots lego MindStorm (la gracia de los robots de lego es que tienen una especie “Bloque” donde se cargan los programas y donde se conectan las partes ver imagen 1,2), para luego al ir avanzando las clases que ellos mismos pudieran programar un robot que ellos quisieran, esto con la aplicación oficial de Lego MindStorm, la primera clase fue introductoria y le pedimos a los niños que construyeran un robot como ellos quisiera, haciéndolos liberar su imaginación, la siguiente clase tenían que realizar un programa para que el robot siguiera la línea negra ( es un programa bien clásico con los robots) el cual claramente ya lo llevábamos entonces lo podían copiar, luego de esto lamentablemente me cambiaron una hora de clase por lo que ya no podía asistir a realizar el taller.

1.- Ejemplo de un robot LegoMindstorn nxt

2.- Bloque con sus partes conectables

Page 6: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Como ya no podía asistir a realizar los talleres, el profesor junto con un compañero para realizar un trabajo con los Robots (me junto con un compañero ya que yo no conocía nada de los robots por lo que tuve a aprender de 0, pero mi compañero al final resulto saber casi lo mismo que yo y aprendí por mi cuenta finalmente), en el cual teníamos que utilizar la aplicación de los Legos MindStorm la cual se llama “Lego MindSTorm”, para realizar un programa en el cual el robot ubicado en un ring de pelea, se enfrente con espadas contra otro robot, esto para que los niños del taller lo pudieran realizar (cabe destacar que este taller se estaba realizando en distintos colegios), la verdad parecía bastante fácil pero este trabajo me llevo más o menos una semana ya que no sabía nada de los robot legos y presente serios problemas con el robot ya que en un principio los sensores no funcionaban bien por lo que el robot se salía del ring cosa que no tenía que pasar, la idea de esto es que 2 robots se pelearan sin salir del ring con espadas y el que daba 3 golpes primero o desarmaba al otro ganaba, a este robot lo llamamos “El robot Samurai”, este trabajo lo realice y quedo un informe bien redactado y explicado el cual puede ver aquí ( debo decir que faltan las fotos del armado ya que este no es el informe final, el final lo único extra que tiene es el armado, pero al fin y al cabo los niños podían construir el robot con la forma que ellos quieran).

Page 7: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

3.- Imagen del codigo del robot Samurai

Al terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es java, para poder controlarlo desde el computador, suena fácil pero la verdad me resulto bastante difícil ya que tenía que instalar demasiadas cosas en el computador para poder programar en el lenguaje del robot, y para poder cargarle los programas a este mediante usb, la idea del proyecto era simular el robot samurái, pero esta vez controlándolo desde el computador ( ya que el programado con la herramienta de Lego se controlaba solo) a continuación procederé a decir un poco como fue esta parte.

Primero parte instalando java jdk13 pero luego de muchas pruebas y errores me di cuenta de que los robots no podían funcionar con este, debían ser con una versión más antigua esto ya que a los robots de hace mucho tiempo ya no se le da soporte, es más la información es bastante escasa e incluso no hay casi nada, por lo que me costó bastante tiempo y trabajo aprender lo que es el lenguaje de programación de los mismos robots, ya que no funcionaba con jdk13 investigue y encontré que funcionaba con jdk8 por lo que instale este, este es un punto muy importante si es que se quiere llegar a programar los robots.

Luego de instalar jdk8 procedí a instalar los drivers del robot en mi computadora, para que me reconociera como usb y poder conectarlo a mi pc.

Ahora viene el paso más importante que es decidir en qué aplicación lo programaremos en mi caso usé eclipse, pero también me dio muchos errores, después de varios días intentando e investigando descubrí que tenía que hacerlo en una versión de eclipse de 32 bits, yo tenía la de 64 bits pero no podía realizar nada, por lo mismo que en la instalación de java.

Al tener instalado eclipse a este se le deben instalar la extensión de los robots ya que si esta no está instalada será imposible programarlo ya que no reconocerá los comandos, a continuación, mostrare este paso que es sin duda el más importante.

Page 8: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Instalar programas necesarios para programar el robot en eclipsePrimero vamos a la opción Help en eclipse, y seleccionamos “Install new Software “como se muestra en la imagen 4.

4.- Install new software

Se nos abrirá la ventana que se ve en la imagen 5, y debemos pegar el siguiente link en la barra de work whith http://www.lejos.org/tools/eclipse/plugin/nxj/

Ese link lo que ara es buscar el plugin del robot para instalarlo en nuestro eclipse.

Luego de darle add, marcamos la pestaña de lejos y apretamos finish, luego de esto se instalará.

Page 9: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

5.- Instalar Software Robot

Luego de instalarlo se nos reiniciara eclipse.

Ahora para verificar que lo instalamos bien, apretamos help nuevamente, como en la imagen 4, pero esta vez apretamos “Help Contets”, y se nos abrirá la ventana de la imagen 6, si está bien instalado saldrá Lejos NXJ como en la imagen 6.

6.- Help Contets

Page 10: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Luego de este paso, queda instalar el software de Lejos en el bloque del robot (recordemos que el bloque es como la cpu del robot) yo tuve la suerte de que había un robot con Lejos instalado en el laboratorio, pero por si alguien quiere programar en Lejos un robot aquí un mini tutorial bastante fácil para instalar en el bloque del robot:

Como instalar Lejos en el bloque del robot Si hicimos el paso anterior correctamente, en la barra de eclipse debería aparecer LejosNXJ, como en la imagen 7.

7.- Menu Eclipse

Entonces si se nos ve así, procedemos a conectar el robot al pc, luego de conectarlo presionamos Lejos NXJ y se nos cargará directamente Lejos al Bloque, se reiniciará y al momento de prender si se instaló correctamente aparece el logo de Lejos.

8.- Menú para instalar Lejos en el bloque

Luego de esto debemos de avisar a java que lejos está instalado, para lo cual tendremos que declarar las variables de entorno o los conocidos “path”, esta parte me costó bastante ya que no me lo reconocía, pero luego de encontrar un tutorial me sirvió, para no alargar tanto con tutoriales les dejare el tutorial que yo seguí aquí.

Para saber si este paso lo hicimos correctamente tendremos que ir a la consola o cmd de nuestro computador y escribir “lejosdl” si lo hicimos bien, nos mostrara una lista de comandos, si lo hicimos mal no mostrara nada.

Debería verse como en la imagen 9.

Page 11: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

9.- Imagen consola

También otro problema que me ocurrió y me llevo bastante tiempo corregirlo, era que al momento de crear un proyecto lejos no me tomaban los comandos, es decir salía el típico símbolo de alerta o el triángulo en eclipse, investigué mucho sobre esto en internet, pero no encontré nada hasta que encontré la solución por mí mismo

Me di cuenta que al crear un proyecto lejos, este no tenía las librerías incluidas, por lo que debía incluirlas manualmente, esto más el paso de la imagen 9 me solucioné ese problema.

Ahora explicare este problema con imágenes.

Cree un nuevo proyecto lejos (imagen 10).

10.- proyecto lejos

Lo que sucedía es que este proyecto no incluía los paths por lo tanto ningún comando funcionaba, entonces la solución es darle click derecho al proyecto y seleccionar propiedades (como en la imagen 11)

Page 12: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

11.- Propiedades proyectos

Nos sale una ventana en la cual seleccionaremos “javpath”, y dentro de esta “libreries”, la primera vez que creemos un proyecto no tendrá nada, por lo que seleccionaremos “Add External Jars” y buscaremos la carpeta donde instalamos el software y de lejos buscamos la carpeta lib en mi caso “ C:\Program Files\lejos_nxj\lib”, y seleccionamos las librerías que vamos a ocupar y presionamos aceptar, luego de esto tomaran todos los comandos de lejos.

Page 13: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

12.- Librerias de lejos

Este fue un problema que me llevo mucho tiempo resolver, y sin hacer esto no puedes empezar a programar por eso decidí agregarlo.

Luego de hacer todo eso, recién pude empezar a programar el robot, lamentablemente en el laboratorio de la Universidad alcance a programar lo básico ya sea imprimir algo por pantalla mover ruedas, etc. y probar la conexión del robot y luego empezó el asunto de las manifestaciones y luego la cuarentena, por lo que seguí trabajando en mi hogar el verdadero problema era que no podía probarlo en el robot.

A medida que investigaba descubrí distintas funciones para mover el robot, pero encontre que la mejor era la función pilot, ya que esta era mucha más precisa que las otras al momento del movimiento.

No hay mucho que decir de aquí en adelante solo es programar e investigar por lo que a continuación, presentare el código de la solución al problema, este código se divide en 2 partes, una que se carga al robot la cual es la encargada de recibir la información desde el computador, y el otro se ejecuta desde el computador y esta manda las ordenes al robot.

Page 14: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Código controlar robot (RobotNXT)

13.- Codigo controlar robot PT.1

14.-Codigo Controlar Robot PT.2

15.- Codigo Controlar Robot PT.3

Page 15: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Código Operar robot (OperadorNXT)

16.- Codigo Operar Robot PT1

17.- Codigo controlar robot PT.2

18.-Codigo Controlar Robot PT.3

Page 16: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Conclusión

En mi practica aprendí a expresarme de mejor manera, gracias a las clases de taller que pude asistir, que no todo se encuentra fácilmente por internet ya que los robot con los que estaba trabajando no tienen soporte desde hace mucho tiempo, es más toda la información que encontré tiene como mínimo 5 a 8 años de antigüedad, no tenía mucha información en español, la mayoría estaba en ingles por lo que me arrepentí mucho de no manejar este idioma a la perfección ya que todos los videos que encontré sobre el tema estaban en inglés, libros ni siquiera encontré.

Gracias a esta práctica descubrí una nueva fascinación que no sabía que tenía que son los robots ya que del colegio del que vengo con suerte tenia computadores, nunca hubiera pensado en trabajar con robots, por lo que estoy muy feliz de que nuestra universidad otorgara estos talleres de forma gratuita a los estudiantes de algunos colegios, ya que se les veía muy feliz por lo menos a los que pude ir yo.

Sin duda alguna me gustó mucho trabajar en esto la verdad si se me complico un poco bastante dado que la información era escasa, por esto me complique muchísimo y me demore más de lo que me demoraría con algo actual, en especial porque los recursos son bien limitados, en especial hablando de comandos, por ejemplo al principio el primer trabajo el “robot samurái” era súper simple si lo hubiera desarrollado en otra cosa que no fuera la aplicación que nos otorga lego, ya que esta era muy limitada y básica por lo que me complico bastante, pero el hacerla así facilita algunas cosas, como puede ser escribir código, pero esto es más para niños o para empezar a entender cómo funcionaba el robot.

Los robots legos que parecen ser para niños, pero puedes hacer muchas cosas con ellos, incluso proyectos gigantes, yo la verdad quede sorprendido viendo videos de las cosas que construía la gente con lo que se supone que son juguetes para niños.

También siento que si no fuera por la cuarentena lo pude haber desarrollado mucho mejor, ya que necesitaba el robot para probar mi código, pero estos robots cuestan aproximadamente, $300000 como mínimo y yo no puedo costear eso.

Sin más que decir quiero dar las gracias al profesor Luis Vera que me facilito los robots y me dio la facilidad de adelantar la práctica.

Page 17: dsi.face.ubiobio.cl · Web viewAl terminar el informe el profesor me dio lo que sería el proyecto final, el cual consistía en programar los robots Lego MindStorm pero esta vez es

Bibliografía

Julio Cesar Sandria Reynoso. (2010). Programación de Robots Lego Mindstorms NXT con Java. , de Universidad Tecnológica del Sureste de Veracruz Sitio web: https://www.researchgate.net/publication/317302716_Programacion_de_Robots_Lego_Mindstorms_NXT_con_Java_-_Tema_3_Java_para_NXT

Lejos Java.. Using Eclipse., de Java For lego MindStorm Sitio web: https://lejos.sourceforge.io/nxt/nxj/tutorial/Preliminaries/UsingEclipse.htm

Lego. Descargar Software Lego, de Lego Sitio web: https://www.lego.com/en-gb/themes/mindstorms/downloads

ÁNGEL SORIANO VIGUERAS. Diseño y Programación de Algoritmos para Robot Móviles., de Universidad Politécnica de Valencia Sitio web: https://riunet.upv.es/bitstream/handle/10251/10693/Dise%C3%B1o%20y%20Programaci%C3%B3n%20de%20Algoritmos%20para%20Robot%20M%C3%B3viles.pdf?sequence=3

Christoph Bartneck, Ph.D. . (marzo 4 de 2008). Tutorial on how to install and run Java on Lego Mindstorms NXT using Eclipse. de University of Canterbury, HIT Lab NZ, New Zealand Sitio web: http://www.bartneck.de/2008/03/04/java-lego-nxt-eclipse-tutorial/#installJava

USO DEL PAQUETE leJOS NXJ PARA PROGRAMAR ROBOT LEGO MINDSTORMS NTX EN JAVA. de obotlego1004.blogspot.com Sitio web: http://robotlego1004.blogspot.com/p/uso-del-paquete-lejos-nxj-para.html

Admin ElectricBricks. (09/04/2010). Bluetooth en LeJOS. , de electricbricks Sitio web: http://blog.electricbricks.com/2010/04/bluetooth-en-lejos/

Admin ElectricBricks. (10/04/2010). Control de varios NXT por Bluetooth en LeJOS: Parte 2. , de electricbricks Sitio web: http://blog.electricbricks.com/2010/04/control-de-varios-nxt-por-bluetooth-en-lejos/

Lejos. Packages., de Lejos Sitio web: https://lejos.sourceforge.io/nxt/nxj/api/index.html

Miguel Ángel Moreno Álvarez,Samuel Herrero Bartolomé.. Teleoperador NXT, de Sitio web: https://sites.google.com/site/zizusite/practica-1