jueves, 22 de abril de 2010
Reto de la autolocalizacion
En este apartado hemos aplicado el uso de particulas para conseguir que nuestro robot se localize en un mapa mediante la utilizacion de la clase TachoLocalizator, finalmente de este apartado hemos conseguido que se desplazen las particulas pero sin conseguir que el robot sepa donde esta. Añadiendo las dificultades de que nuestro ladrillo se ha roto, no hemos podido completar el total de la practica
jueves, 15 de abril de 2010
Reconocimiento de la posicion
En este ejercicio, teníamos dos apartados:
Localizarnos:
En este apartado lo que realizamos es la toma de histogramas de cada punto, después tomamos otro histograma para comprobar en que punto nos encontramos, y realizamos el algoritmo.
El algoritmo consta de restar el histograma que tenemos actual con todos los que teníamos almacenados, una vez comparados, nos quedamos con el que nos haya dado el menor resultado y esa sera la posición en la que nos encontramos.
Posición estimada:
Para calcular la posición estimada, necesitamos primero realizar un escaneo de todos los puntos con el radar del primer apartado.
Una vez tenemos tomados todos los puntos con ese radar, realizamos un escaneo de la posición en la que estamos, utilizando el mismo radar.
Con el nuevo histograma tomado, y con el que teníamos almacenado con la posición conocida, empezamos a realizar comprobaciones y a rotar el nuevo histograma, de esta forma tras realizar todas las rotaciones y comparaciones, buscamos el valor de la resta menor, que sera los grados a los que esta de nuestro punto de origen
Localizarnos:
En este apartado lo que realizamos es la toma de histogramas de cada punto, después tomamos otro histograma para comprobar en que punto nos encontramos, y realizamos el algoritmo.
El algoritmo consta de restar el histograma que tenemos actual con todos los que teníamos almacenados, una vez comparados, nos quedamos con el que nos haya dado el menor resultado y esa sera la posición en la que nos encontramos.
Posición estimada:
Para calcular la posición estimada, necesitamos primero realizar un escaneo de todos los puntos con el radar del primer apartado.
Una vez tenemos tomados todos los puntos con ese radar, realizamos un escaneo de la posición en la que estamos, utilizando el mismo radar.
Con el nuevo histograma tomado, y con el que teníamos almacenado con la posición conocida, empezamos a realizar comprobaciones y a rotar el nuevo histograma, de esta forma tras realizar todas las rotaciones y comparaciones, buscamos el valor de la resta menor, que sera los grados a los que esta de nuestro punto de origen
Diseño del Radar
En este ejercicio tenemos que implementar un radar, creando una clase la cual recibe una serie de parámetros para su creación:
public Radar (int vel, int resol, int amp, UltrasonicSensor sonar, Motor motor)
vel: Velocidad del escaneo.
resol:Resolución del escaneo.
amp:Amplitud del escaneo, es decir grados en los que realiza el escaneo.
Sonar: El sonar con el que realizamos el escaneo
Motor: Motor que mueve el sonar.
Luego hemos realizado, un método que realiza un escaneo y devuelve un RangeReadings con las medidas.
public Radar (int vel, int resol, int amp, UltrasonicSensor sonar, Motor motor)
vel: Velocidad del escaneo.
resol:Resolución del escaneo.
amp:Amplitud del escaneo, es decir grados en los que realiza el escaneo.
Sonar: El sonar con el que realizamos el escaneo
Motor: Motor que mueve el sonar.
Luego hemos realizado, un método que realiza un escaneo y devuelve un RangeReadings con las medidas.
Visualizacion del Mapa y las Particulas
En este ejercicio de la practica 5 hemos tenido que cargar un fichero proporcionado por los profesores en el que teníamos un mapa implementado del circuito para la realización de la practica. Tambien teniamos que inicializar una población de partículas y mostrar el mapa con las partículas repartidas de forma homogénea.
Aquí mostramos una foto de la resolución del ejercicio:
Aquí mostramos una foto de la resolución del ejercicio:
jueves, 25 de marzo de 2010
Calculo de la Trayectoria 3º
Calculo de la Trayectoria
Parte 3º
En este apartado nos pedían que como conseguir mediante dos arcos que el robot llegara a su destino con la orientación final.
Para este ejercicio lo que hemos pensado que seria mejor, es realizar un punto intermedio del destino a donde quieres llegar, y dirigirse primero hacia ese destino.
Una vez en el primer destino, tendríamos que realizar otro arco en la dirección opuesta para poder quedarnos en la posición indicada.
Es importante indicar que la orientación en la que tendría que empezar el robot depende de la orientación destino que nos indique, ya que tendríamos que orientarnos de forma similar a la orientación destino para finalmente, cuando realicemos el segundo arco terminar en una posición similar.
También es de interés la amplitud del primer arco, ya que si la orientacion tiene unos valores altos, el primer arco tendría que alejarse bastante del punto para poder realizar en el segundo arco un giro de mayor amplitud.
Aquí indicamos con pseudocódigo como quedaría:
Tomamos los valores de la X,Y,Ang
Calculamos la distancia hacia el punto
Dividimos la distancia en dos puntos dependiendo del ángulo de destino.
Calculamos el primer arco, con un radio determinado y un ángulo de giro dependiendo del ángulo final
Realizamos el segundo arco.
Parte 3º
En este apartado nos pedían que como conseguir mediante dos arcos que el robot llegara a su destino con la orientación final.
Para este ejercicio lo que hemos pensado que seria mejor, es realizar un punto intermedio del destino a donde quieres llegar, y dirigirse primero hacia ese destino.
Una vez en el primer destino, tendríamos que realizar otro arco en la dirección opuesta para poder quedarnos en la posición indicada.
Es importante indicar que la orientación en la que tendría que empezar el robot depende de la orientación destino que nos indique, ya que tendríamos que orientarnos de forma similar a la orientación destino para finalmente, cuando realicemos el segundo arco terminar en una posición similar.
También es de interés la amplitud del primer arco, ya que si la orientacion tiene unos valores altos, el primer arco tendría que alejarse bastante del punto para poder realizar en el segundo arco un giro de mayor amplitud.
Aquí indicamos con pseudocódigo como quedaría:
Tomamos los valores de la X,Y,Ang
Calculamos la distancia hacia el punto
Dividimos la distancia en dos puntos dependiendo del ángulo de destino.
Calculamos el primer arco, con un radio determinado y un ángulo de giro dependiendo del ángulo final
Realizamos el segundo arco.
Calculo de la Trayectoria 2º
Calculo de la Trayectoria
Parte 2º
En la segunda parte de este ejercicio, es realizar lo mismo que el anterior, pero consiguiendo que el robot realice una curva hacia el destino.
Esta petición nueva complica notablemente la realización de los cálculos ya que ahora no tienes que calcular una recta sino una curva, con el radio y el ángulo que vas a realizar.
Los pasos son los siguientes:
1- Creación de un menú donde introducimos las coordenados X e Y y el ángulo de destino
2- Calculo del radio y el ángulo que tenemos que tomar para llegar al destino
3- Desplazamiento hacia el destino.
Seguidamente mostramos un vídeo ilustrativo de la realización de la practica:
Parte 2º
En la segunda parte de este ejercicio, es realizar lo mismo que el anterior, pero consiguiendo que el robot realice una curva hacia el destino.
Esta petición nueva complica notablemente la realización de los cálculos ya que ahora no tienes que calcular una recta sino una curva, con el radio y el ángulo que vas a realizar.
Los pasos son los siguientes:
1- Creación de un menú donde introducimos las coordenados X e Y y el ángulo de destino
2- Calculo del radio y el ángulo que tenemos que tomar para llegar al destino
3- Desplazamiento hacia el destino.
Seguidamente mostramos un vídeo ilustrativo de la realización de la practica:
Calculo de la Trayectoria
Calculo de la Trayectoria:
Parte 1º
En este ejercicio, lo que se nos pedía es que mediante la introducción de unas coordenadas al robot y un ángulo de orientación final, el robot pudiera
dirigirse a ese punto satisfactoriamente.
Los pasos que hemos seguido han sido los siguiente.
1- Creación de un menú donde introducimos las coordenadas X e Y y el ángulo de destino
2- Orientación del robot hacia ese destino
3- Movimiento del robot hacia las coordenadas indicadas
4- Orientación final del robot, al ángulo previamente introducido.
Con estos pasos hemos conseguido que el robot llegue al punto deseado quedándose en el estado indicado.
Con este vídeo ilustrativo podemos observar el resultado de lo dicho:
Parte 1º
En este ejercicio, lo que se nos pedía es que mediante la introducción de unas coordenadas al robot y un ángulo de orientación final, el robot pudiera
dirigirse a ese punto satisfactoriamente.
Los pasos que hemos seguido han sido los siguiente.
1- Creación de un menú donde introducimos las coordenadas X e Y y el ángulo de destino
2- Orientación del robot hacia ese destino
3- Movimiento del robot hacia las coordenadas indicadas
4- Orientación final del robot, al ángulo previamente introducido.
Con estos pasos hemos conseguido que el robot llegue al punto deseado quedándose en el estado indicado.
Con este vídeo ilustrativo podemos observar el resultado de lo dicho:
Suscribirse a:
Comentarios (Atom)