Download Pasos para la utilización
Document related concepts
no text concepts found
Transcript
Robótica Inteligente Laboratorio Virtual Experimento 6 Programación y Control Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Contenido Objetivo Descripción del experimento Instrucciones de control Compilación Ejecución del programa Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Objetivo Esta herramienta está diseñada para practicar los temas de programación y control para un robot móvil de cuatro ruedas tipo carro. A continuación se explicarán los pasos a seguir para manejar la interfaz y utilizar el sistema. Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización Paso 1: Parámetros del robot Debes introducir los siguientes datos Radio de las llantas Ancho del carro Largo del carro Peso del carro Distancia entre las llantas Estas casillas tienen valores por default para que te des una idea de los valores admitidos. A continuación, presiona el botón dibujar. Observarás el robot dibujado en la pantalla. Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización 1. Elegir los parámetros del Robot. 2. Presionar el botón “Dibujar” Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización Paso 2: Selección de los sensores Debes presionar el botón “Seleccionar sensores”. Se abrirá una pantalla en donde debes elegir 3 sensores de 7 posibles. La parte superior corresponde al frente del robot. Se seleccionan presionando los botones. Los sensores tienen etiquetas S1, S2…etc. Es importante que consideres que durante la ejecución del programa, el sensor 1 será el que corresponda al valor más pequeño de los que elegiste. Por ejemplo: Si eliges S3, S5 y S6 entonces, S1 S3, S2 S5, S3 S6 Si eliges S1, S4 y S5 entonces, S1 S1, S2 S4, S3 S5 Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización 3. Presionar el botón “Seleccionar Sensores” 4. Elegir tres sensores. Seleccionar con 1 click, otro para deseleccionar 5. Presionar el botón “Cerrar” Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización Paso 3: Seleccionar la pista. Presiona el botón “Seleccionar Pista”. Se abrirá una ventana en donde podrás elegir el archivo con las pistas que puedes utilizar para correr tu programa. Una vez elegida la pista, podrás verla dibujada en la pantalla. Considera que aunque la pista aparece como una línea, en realidad tiene cierto ancho. Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización 6. Presionar el botón “Seleccionar Pista” Robot Pista Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización Paso 4: Introducir programa de control. Presiona el botón “Introducir Programa”. Se abrirá una ventana en donde puedes escribir tu programa de control. Considera que el desempeño del programa depende de los parámetros que hayas elegido del robot, de la posición de los sensores, de la complejidad de la pista y de tu algoritmo. El programa deberá estar escrito en Java. Presiona el botón “Importar” si deseas cargar un programa de Java. Presiona el botón “Compilar” para compilar tu programa. Si no aparece ningún error en la pantalla inferior, el programa está listo para ser ejecutado. Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización 7. Presionar el botón “Introducir Programa” 8. Presionar el botón “Importar” para cargar un programa 9. Presionar el botón “Compilar”. 10. Verificar que no haya errores 11. Presionar el botón “Cerrar” Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización El programa de control debe contener el siguiente código: import java.awt.event.*; import javax.media.j3d.*; import javax.vecmath.*; import java.util.*; import java.lang.*; import java.awt.*; public class User{ public User(){ } public void controlar(Carro c, boolean s1, boolean s2, boolean s3, int l1, int l2, int l3){ INTRODUCE TU CÓDIGO AQUÍ } } Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización Las lecturas de los sensores son de dos tipos: Booleanas: True cuando el sensor está sobre la pista y False cuando no está sobre la pista. Enteras: Ya que la pista tiene cierto ancho, el valor al centro es de 8 y disminuye hacia los lados hasta 4. Cuando el sensor esté cerca de la pista pero no sobre ella, el valor leído será de 2. Los valores más alejados son ceros. Por ejemplo, considera que este es un segmento de la pista: 000222222222256787652222222222000 000222222222256787652222222222000 000222222222256787652222222222000 Centro Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización Las variables que indican el valor de los sensores son: s1, s2, s3 Valores booleanos. True si el sensor está sobre la pista, false si no. l1, l2, l3 Valores enteros. Que indican la cercanía al centro de la pista. En tu programa, puedes leer estos valores para tomar decisiones acerca del movimiento del robot sin perder la pista. Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización Los parámetros que puedes utilizar para controlar el robot son: c.giroIzq() Método que gira el robot hacia la izquierda en un ángulo fijo c.giroDer() Método que gira el robot hacia la derecha en un ángulo fijo c.angGiroUS Atributo que hace girar el robot un ángulo determinado por el usuario en radianes. Ej: c.angGiroUS = Math.PI/256 c.acelerar() Método para acelerar el robot un valor fijo. c.desacelerar() Método para desacelerar el robot en un valor fijo c.acelerUS Atributo que permite al usuario cambiar la velocidad del robot. Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización El siguiente código es un ejemplo para controlar a un robot de manera sencilla sobre una pista ovalada. import java.awt.event.*; import javax.media.j3d.*; import javax.vecmath.*; import java.util.*; import java.lang.*; import java.awt.*; public class Usuario{ public Usuario(){ } public void controlar(Carro c, boolean s1, boolean s2, boolean s3, int l1, int l2, int l3){ int angulo=60; if(s3 && !s1 && !s2) c.angGiroUS=Math.asin(Math.PI/angulo); if(s1 && !s3 && !s2) c.angGiroUS=-Math.asin(Math.PI/angulo); if(s2 && !s1 && !s3) c.angGiroUS=Math.asin(Math.PI/angulo); } } Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización Paso 5: Iniciar la simulación Presionar el botón “Iniciar” una vez que el programa haya compilado sin errores. En la parte de abajo de la interfaz, se muestran los valores del desempeño del experimento. Presionar el botón “Detener” para detener la animación. Presionar el botón “Salir” para cerrar el programa. Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez Pasos para la utilización 12. Presionar el botón “Iniciar” 13. Presionar el botón “Detener” 14. Presionar el botón “Salir” Dr. Enrique Sucar/Julieta Noguez/Pamela Suárez