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