robots autonomos - sumo roomba y odometria
DESCRIPTION
Presentación trabajo de Robots Autónomos. Máster Sistemas Inteligentes 2011-2012TRANSCRIPT
![Page 1: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/1.jpg)
ROOMBASumo y Odometría con Roomba
Robots AutonomosUniversidad de Salamanca
Arturo San Feliciano Martín
![Page 2: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/2.jpg)
Computación Neuro-Borrosa 2
Índice
1• Introducción
2• RoombaSumo
3• Odometría
4• Conclusiones
![Page 3: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/3.jpg)
3
Introducción• Proyecto Java en Eclipse
• es.usal.ra.sumo Contiene las clases necesarias para la implementación de la practica de RoombaSumo
• es.usal.ra.odometria Contiene las clases que implementan la practica de odometría.
Robots Autonomos
![Page 4: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/4.jpg)
Computación Neuro-Borrosa 4
Índice
1• Introducción
2• RoombaSumo
3• Odometría
4• Conclusiones
![Page 5: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/5.jpg)
Computación Neuro-borrosa 5
RoombaSumo• Algoritmo sencillo
while( true ) {
Si detectamos colisión en el bumper izquierdo
Girar a la izquierda
Continuar hacia adelante
Fin si
Si detectamos colisión en el bumper derecho
Girar a la derecha
Continuar hacia adelante
Fin si
Si encontramos una pared virtual
giramos
continuamos hacia adelante
Fin si
Continuamos hacia adelante
Actualizamos la información de los sensores
}
• Adicionalmente se ha incorporado una funcionalidad que permite conocer cuando se ha encontrado una pared virtual mediante el cambio de color en el indicador de status.
• Principal problema encontrado el sensor de bumper se quedaba pulsado.
![Page 6: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/6.jpg)
Computación Neuro-Borrosa 6
Índice
1• Introducción
2• RoombaSumo
3• Odometría
4• Conclusiones
![Page 7: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/7.jpg)
Computación Neuro-borrosa 7
Roomba: Odometría• En este caso se ha desarrollado una interfaz para controlar el
robot roomba y visualizar los resultados de la odometría.
• Las clases utilizadas son las siguientes:
• IRoomba: Interfaz con las operaciones que se pueden hacer con el robot
• Roomba: Clase mapea al Roomba
• RoombaSim: Clase que simula un Roomba
• DatosDebugRoomba: Frame que muestra una consola con los datos que genera el uso del robot
• VisualizarRuta: Frame que dibuja gráficamente la ruta que ha seguido el robot
• Principal: Frame principal
![Page 8: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/8.jpg)
Computación Neuro-borrosa 8
Roomba: Odometría II• Principal:
![Page 9: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/9.jpg)
Computación Neuro-borrosa 9
Roomba: Odometría III• Consola:
![Page 10: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/10.jpg)
Computación Neuro-borrosa 10
Roomba: Odometría IV• Visualización del camino:
![Page 11: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/11.jpg)
Computación Neuro-borrosa 11
Roomba: Odometría IV• El algoritmo es mas complejo que RoombaSumo
1. Mientras este accionado un mando se ejecuta la operación
2. Cuando se levanta la pulsación se realizan los cálculos de la nueva posición a partir de la posición anterior, la distancia y el ángulo.
3. Se almacenan los datos del nuevo punto y se genera las coordenadas para pintarlas en la grafica.
• El punto importante es el punto 2.
![Page 12: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/12.jpg)
Computación Neuro-borrosa 12
Roomba: Odometría V• Para el calculo de posiciones se tienen en cuenta las siguientes premisas
No se puede realizar dos operaciones al mismo tiempo (e.j. girar y andar)
Si la distancia recorrida es prácticamente nula, se considera que la operación realizada es un giro.
Solo se calcula el nuevo punto si hay distancia recorrida, si giramos únicamente estamos cambiando el ángulo.
Se han redondeado a números enteros las distancias para su representación grafica.
Para el calculo de la nueva posición se realizan las siguientes operaciones:
• dya = (float) (distance * Math.sin(Math.toRadians(anguloTotalGirado)));• dxa = (float) (distance * Math.cos(Math.toRadians(anguloTotalGirado)));
• x = ultimoPunto.x + (int) dxa;• y = ultimoPunto.y - (int) dya;
El punto (x,y) indica donde se va a colocar en la gráficamente, para el calculo de la posición solo hay que multiplicar por -1 el valor de y.
Nueva posición de Roomba: (x, -y)
![Page 13: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/13.jpg)
Computación Neuro-borrosa 13
Roomba: Odometría VI
![Page 14: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/14.jpg)
Computación Neuro-borrosa 14
![Page 15: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/15.jpg)
Computación Neuro-Borrosa 15
Índice
1• Introducción
2• RoombaSumo
3• Odometría
4• Conclusiones
![Page 16: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/16.jpg)
Computación Neuro-borrosa 16
Conclusiones• Trabajar con rumba es complicado:
• Los sensores no son muy fiables• Los bumpers se quedaban pulsados• Gran retardo al iniciar la comunicación con Roomba.
• El calculo odométrico no es bueno.• Realizamos una prueba donde se realiza un spin(360) y se median los
ángulos y no coincidían Creación de un parámetro ajusteAngulo para multiplicar a las medidas de los ángulos dados.
• Como mejoras y posibles desarrollos:• Estudiar los motivos de que el ángulo no sea el esperado.• Mejoras en la interfaz.• Añadir nuevas características (Velocidad, luces, otros sensores…)• “Vuelve a casa por navidad” Crear el camino inverso al recorrido
![Page 17: Robots Autonomos - Sumo roomba y odometria](https://reader033.vdocuments.mx/reader033/viewer/2022061516/555dcfd6d8b42ab56b8b516c/html5/thumbnails/17.jpg)
Computación Neuro-borrosa 17
Robots autónomosMaster en Sistemas Inteligentes Universidad de Salamanca
Arturo San Feliciano Martí[email protected]
¿Dudas?