Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OBJETIVOS
-Comprender el funcionamiento de un robot mvil comercial como el Pioneer 3DX.
-Modelar el entorno haciendo uso de la herramienta de simulacin MobileSim para
programar el robot mvil Pioneer 3DX.
-Implementar diferentes algoritmos de reconocimiento del entorno.
PROCEDIMIENTO
a. Funciones ms importantes de Aria.
ArRobot(). Es la clase encargada de todo lo fsico del robot, empleando
diferentes mtodos; tiene mtodos para control de velocidad, para habilitar
motores, para habilitar o deshabilitar sensores conectados al robot, para
obtener el tipo de robot conectado, para mover el robot, para calcular el rango
de los dispositivos o sensores conectados, para obtener el nivel de batera,
para obtener la temperatura, etc.
ArsonarDevice() es la clase encargada de detectar sensores ya sean
simulados o reales.
b. Captura de datos de los sensores.
Los captura de datos de los sensores tiene mtodos diferentes para la
obtencin tanto de su rango como y posicin global de cada sensor.
Mtodos.
getSonarReading(i); retorna una variable tipo ArSensorReading que contiene el
rango de los sensores y la posicin global del sensor. El parmetro de entrada
es un entero que indica el nmero del sensor.
Una vez obtenida esta variable tipo ArSensorReading se usan los mtodos
getRange(), getX(), getY(). Para obtener el rango y las posiciones X y Y
globales de cada sensor. Todas las funciones anteriores retornan una variable
tipo numrica (long,doubl,double)
Envi de comandos a los motores.
Los mtodos encargados del manejo de los motores son mtodos dentro de la
clase ArRobot Los mtodos que envan los comando para indicar movimiento a
los motores son.
setVel(double) indica la velocidad a la que se debe mover el robot. Los motores
se mueven a la misma velocidad en el mismo sentido.
setVel2(doubl,double) recibe dos parmetros tipo double que controlan la
velocidad de cada motor. Se puede indicar la velocidad de cada motor para
hacer giros en angulos deseados.
disableMotors(). Metodo para detener los motores.
Modificaciones realizadas.
Partiendo del anlisis de la figura 1 se puede observar que los ejes estn
trocados y los ngulos son negativos uno con respecto al otro. Por lo tanto para
ajustar las coordenadas de referencia de los sonares y del robot solo es
necesario cambiar las coordenadas X=>Y, Y=>X. y los ngulos de rotacin del
robot multiplicarlos por -1.
Robot
El ngulo del robot en la simulacin con respecto a las coordenadas reales
deseadas presenta un desfase de 90. Este desfase es necesario restarlo al
angulo que se utiliza en la matriz de rotacin de las coordenadas del robot asi.
atRobot.rotate(Math.toRadians(anguloRobot-90));
La variable atRobot de tipo affineTransform accediendo al mtodo rotate en el
que se manda como parmetro el Angulo adquirido con el mtodo getTh (). Se
le restan 90 traslapamiento entre las coordenadas de simulacin y las reales
deseadas
Sonares
posYsonarGlobal[i]=(int)lecSonar.getX()/10;
miRobot.setVel2(500,500);
}