Diferencia entre revisiones de «Butia roomba»
(No se muestran 35 ediciones intermedias de 3 usuarios) | |||
Línea 35: | Línea 35: | ||
*;Algoritmo de limpieza | *;Algoritmo de limpieza | ||
− | + | :El robot Roomba no realiza un mapa del ambiente en donde se encuentra, sino que sigue una serie de algoritmos simples como limpieza en espiral, cruzar la habitación de un lado al otro, seguimiento de paredes y cambio del ángulo de recorrido de forma aleatoria una vez que chocan contra un objeto o pared. | |
− | :El robot | + | :[[Archivo:Roomba time-lapse.jpg|centro|500px|Algoritmo de limpieza]] |
===Samsung Navibot SR8855=== | ===Samsung Navibot SR8855=== | ||
Línea 55: | Línea 55: | ||
video que compara este robot con la roomba | video que compara este robot con la roomba | ||
− | + | <youtube>pAuvrBXsceE</youtube> | |
===Scooba=== | ===Scooba=== | ||
Línea 65: | Línea 65: | ||
===Electrolux Trilobite=== | ===Electrolux Trilobite=== | ||
− | + | [[Archivo:Electrolux trilobite.jpg|100px|Electrolux Trilobite|thumb|dcha]] | |
El Trilobite es fabricado por la empresa Electrolux http://www.electrolux.com/ desde el año 2001. Realiza la limpieza de la habitación en la que se encuentra realizando un mapa del ambiente mediante sensores ultrasónicos e infrarrojos. La detección de obstáculos las realiza también mediante estos mismo sensores, deteniéndose aproximadamente a 2.5 cm de un obstáculo. Al guiarse por sensores ultrasónicos tiene la desventaja que no detecta bien objetos con bordes puntiagudos, lo que hace que choque contra ellos. Además como se detiene a cierta distancia de los obstáculos, deja ciertas áreas sin limpiar correctamente. | El Trilobite es fabricado por la empresa Electrolux http://www.electrolux.com/ desde el año 2001. Realiza la limpieza de la habitación en la que se encuentra realizando un mapa del ambiente mediante sensores ultrasónicos e infrarrojos. La detección de obstáculos las realiza también mediante estos mismo sensores, deteniéndose aproximadamente a 2.5 cm de un obstáculo. Al guiarse por sensores ultrasónicos tiene la desventaja que no detecta bien objetos con bordes puntiagudos, lo que hace que choque contra ellos. Además como se detiene a cierta distancia de los obstáculos, deja ciertas áreas sin limpiar correctamente. | ||
Línea 87: | Línea 87: | ||
:Esta idea, persigue “emular” la forma física y la distribución de los sensores que encontramos en el Roomba y en la mayoría de estos dispositivos de limpieza. | :Esta idea, persigue “emular” la forma física y la distribución de los sensores que encontramos en el Roomba y en la mayoría de estos dispositivos de limpieza. | ||
− | *; | + | *;Sensor de distancia |
− | :Creemos que con un sensor de distancia | + | :Creemos que con un sensor de distancia (o un sensor de escala de grises) ubicarse en la parte inferior del butia (mirando hacia abajo) ubicado en la parte delantera del robot podría servir para evitar que el mismo se detenga ante la presencia de un precipicio frente a él (una escalera por ejemplo) y así evite caerse. |
− | : | + | ==Implementación de los sensores== |
+ | |||
+ | :Utilizaremos cinco botones de contacto colocados alrededor del butia(luego mostraremos como quedan). | ||
+ | Para simular la barra de contacto frontal de la Roomba utilizamos un tubo de Cds y lo cortamos en pedazos para colocarlo sobre estos botones,la idea iniciar era dejar la parte curva hacia el chasis pero luego nos pareció que tendríamos más contacto si la dejabamos hacia afuera. | ||
+ | Imagen de un boton pegado con silicona al plástico recortado del tubo de Cds | ||
+ | |||
+ | :[[Archivo:boton1.jpg|centro|400px|Uno de los botones con el plástico pegado]] | ||
+ | |||
+ | Hasta ahora pudimos colocar 3 botones y estamos probando el contacto, con los botones de placa negra no nos sensan cuando son presionados de costado pero los de placa roja si nos sensan, otra dificultad que tuvimos es que segun la posicion de los cables puede delver 0 ó 1 si es presionado. | ||
+ | |||
+ | :[[Archivo:3botones.jpg|centro|600px|Robot Butiá con tres de los botones]] | ||
+ | |||
+ | ==Algoritmo Implementado== | ||
+ | |||
+ | Para la realización del algoritmo se tomo como objetivo que el butia pudriera limpiar una habitación con algunos elementos (obstáculos) en ella. Para esto fue necesario que el butia recorriera toda la superficie de la habitación (cubriéndola en su totalidad). | ||
+ | |||
+ | Unos de los principales inconvenientes que nos encontramos a la hora de diseñar el algoritmo fue la forma cuadrada que tiene el butia; ya que cuando el butia choca contra una pared por ejemplo, debe retroceder unos centímetros para luego poder rotar sobre su propio eje y así poder continuar desplazándose en otra dirección, agregándole complejidad y "ensuciando" innecesariamente el algoritmo. Resulta claro, por tanto, el porqué de la forma redonda de todos los robots de limpieza comerciales. | ||
+ | |||
+ | Básicamente, el algoritmo implementado realiza una grilla sobre la superficie. Para explicar el funcionamiento del mismo imaginemos un cuardado. | ||
+ | El butia comenzara en la posicion inferior-izquierda del cuadrado y recorrera el mismo siguiendo una grilla como la que se muestra en la siguiente imagen (primero recorre la superficie de forma vertical y luego de forma horizontal). Una vez que se detecta que se ha recorrido toda la superficie, el butia se detiene. | ||
+ | |||
+ | [[Archivo:Grilla.png|centro|300px|Representación del funcionamiento del algoritmo]] | ||
+ | |||
+ | En caso de toparse con algún obstáculo, el butia considerara al mismo como una pared (no limpiando la zona "detrás de él"), pero cuando cambie de dirección (de horizontal a vertical o viceversa) pasará, y por tanto limpiará, dicha zona. | ||
+ | |||
+ | A continuación se muestra un vídeo sobre el funcionamiento del algoritmo en una zona con obstáculos | ||
+ | |||
+ | <youtube>w0TvFbfKPQ4</youtube> | ||
+ | ==Implementación del limpiador== | ||
+ | |||
+ | Para realizar la limpieza elegimos un juntamigas convencional, de bajo costo. Ya que se le debe ejercer cierta fuerza al juntamigas para cumpla su función, elegimos colocarlo en el lugar de la rueda "loca" del butia, haciendo que todo el peso de la XO y del robot caiga sobre el cepillo. | ||
+ | |||
+ | <gallery caption="Robot con cepillo" widths="300px" heights="300px" perrow="2"> | ||
+ | Archivo:IMG_20120927_184959.jpg|Robot de costado | ||
+ | Archivo:IMG_20120927_185513.jpg|Robot de arriba | ||
+ | Archivo:IMG_20120927_185531.jpg|Robot de frente | ||
+ | Archivo:IMG_20120927_211711.jpg|Cepillo de limpieza | ||
+ | </gallery> | ||
+ | |||
+ | ==Conclusiones y trabajo futuro== | ||
+ | Este proyecto nos pareció interesante ya que permite extender las funcionalidades del robot Butiá a un costo relativamente bajo. Además permite que cada usuario de una XO pueda fabricar su propio robot de limpieza, lo que permite motivarlos de cierta manera y difundir la enseñanza de la robótica. | ||
+ | Podemos destacar que el proyecto nos sirvió para aprender a realizar el diseño íntegro de un robot (tanto hardware como software), lo que nos motivó mucho a lo largo del proyecto | ||
+ | Como trabajo futuro se podría considerar implementar un mecanismo de limpieza mediante un motor (ya sea agregando un motor al junta migas o mediante otro mecanismo) lo que pensamos que podría mejorar el resultado de la limpieza. Se podría considerar además, un algoritmo que tome consideración del estado de las baterías para realizar correcciones en las velocidades y los tiempos de los motores, para así mejorar el recorrido del robot. | ||
+ | Además se podría realizar una especie de “mapa” con el recorrido del robot para así volver al punto de inicio una vez que se termina con el recorrido. | ||
+ | Un tema que se podría solucionar es que los motores vayan a la par cuando se les setea la misma velocidad, haciendo que el robot avance siempre en línea recta. | ||
+ | [[Archivo:IMG_20120927_182150.jpg|centro|300px|Mesa de trabajo]] |
Revisión actual del 01:51 3 oct 2012
Contenido
Integrantes
- Juan Pablo Balarini
- Pedro Daniel Cremona
- Martín Fernández
Objetivos
El objetivo de este proyecto es modificar el Butia para que se comporte como un robot roomba
http://es.wikipedia.org/wiki/Roomba.
http://www.irobot.com/us/robots/home/roomba.aspx
Para esto deberemos modificar la estructura del Butia agregándole algún componente físico que cumpla la función de aspirar, posiblemente modificar la forma del robot para adaptarse mejor a las superficies sobre todo cuando choque con paredes, esquinas ó esté por caerse, nuevos sensores de contacto, etc.
También se deberá desarrollar el algoritmo de recorrido de superficie.
Robots de limpieza
Roomba
Es un robot de limpieza desarrollado por la empreas iRobot http://www.irobot.com/us/. El Roomba consiste en un robot de forma circular con dos ruedas al costado de actuadores al igual que el Butia, con dos ruedas locas para tener estabilidad y con una aspiradora incorporada en la parte inferior del robot para realizar la limpieza, Según la página de irobot fue el que inició la revolución de limpieza, cuenta con la tecnología robótica para las tareas diarias de limpieza como barrido y aspirado. Recoge la suciedad, pelo de animales y otros desechos de todas las áreas de la planta, incluyendo en y alrededor de los muebles y en los bordes de la pared.
Posee un sensor de contacto frontal que permite detectar choques, un conjunto de sensores de distancia dirigidos hacia el piso, que permiten que el robot no caiga en escaleras o lugares similares. El mecanismo de limpieza consta de un par de cepillos montados en la parte inferior del mismo rotando en direcciones opuestas para recoger la mugre del piso. A su vez cuenta con un cepillo lateral que permite acceder a lugares difíciles (como puede ser un zócalo). http://en.wikipedia.org/wiki/File:Roomba_parts.jpg. Algunos modelos cuentan con un sensor interno acústico de mugre, lo cual permite detectar lugares donde central la limpieza. Además se permite agregar “barreras de luz” para que el robot no acceda a ciertas habitaciones y así limitar el área de limpieza.
Uno de los puntos en contra del mecanismo de limpieza del roomba es que la acumulación excesiva de pelo puede hacer que los cepillos se tranquen o que se sobre calienten los motores.
- Algoritmo de limpieza
- El robot Roomba no realiza un mapa del ambiente en donde se encuentra, sino que sigue una serie de algoritmos simples como limpieza en espiral, cruzar la habitación de un lado al otro, seguimiento de paredes y cambio del ángulo de recorrido de forma aleatoria una vez que chocan contra un objeto o pared.
http://brain.pan.e-merchant.com/1/2/04988221/u_04988221.jpg
Este robot de limpieza cuenta con una cámara en el que basa su sistema de navegación (Visionary Mapping). La misma esta ubicada en la parte superior del Navibot, y capturar 30 cuadros por segundo, trazando un mapa del lugar (recalcula constantemente su ubicación). Cabe aclarar que es necesario que el robot se encuentre en un espacio techado para poder ubicarse con su cámara.
Gracias a la posibilidad de ubicarse dentro de un ambiente, el Navibot una vez que se encuentra sin carga, regresa a la estación a recargarse, y luego vuelve a limpiar desde el lugar donde había dejado para continuar con su ruta.
Tiene sensores para evitar colisiones, sensores en la parte inferior para evitar que se caiga a un precipicio y sensores en los cepillos para evitar que se enreden cables u otros artefactos (además incorpora dos cepillos laterales, en vez de uno que posee el Roomba).
Posee dos dispositivos (Virtual Guard) que generan una barrera invisible que NaviBot no traspasará (max. 4 metros). Además, permite designar las zonas que no quiere que se limpien. Para utilizarlo se dispone de dos modalidades (Valla virtual y Valla Guía) que sirven para delimitar las zonas de acción.
Tambien dispone de un mando a distancia que nos permite manejar al Navibot. En la página del fabricante podemos encontrar una muy divertida aplicación donde podemos ubicar distintos tipos de muebles dentro de una casa (con distintas salas), y donde podemos colocar los dispositivos Virtual Guard para evitar que atraviesen ese “muro virtual”. También nos permite elegir una de los diferentes programas de limpieza que tiene el Navibot. http://www.samsung.com/es/experience/navibot/
video que compara este robot con la roomba
Scooba
http://www.irobot.com/us/robots/home/scooba.aspx
Este es otro robot de limpieza desarrollado también por irobots, a diferencia del roomba este se utiliza para limpieza de pisos
Es de forma similar al Butia pero cuenta con un rodillo de goma con “pinchitos” , para realizar la limpieza libera una solución acuosa mientras rota el rodillo para realizar la limpieza.
Electrolux Trilobite
El Trilobite es fabricado por la empresa Electrolux http://www.electrolux.com/ desde el año 2001. Realiza la limpieza de la habitación en la que se encuentra realizando un mapa del ambiente mediante sensores ultrasónicos e infrarrojos. La detección de obstáculos las realiza también mediante estos mismo sensores, deteniéndose aproximadamente a 2.5 cm de un obstáculo. Al guiarse por sensores ultrasónicos tiene la desventaja que no detecta bien objetos con bordes puntiagudos, lo que hace que choque contra ellos. Además como se detiene a cierta distancia de los obstáculos, deja ciertas áreas sin limpiar correctamente. Se permite delimitar mediante cintas magnéticas ciertas áreas y así evitar el acceso a las mismas.
Posibles Sensores y Actuadores para incorporar al Butia para funcionar como Roomba
- Limpieza
- Para realizar la limpieza hemos visto en el mercado el cepillo para migas y sería una de las alternativas más fáciles de incorporar:
- http://www.cocinaidea.com/images/P/cepillo-recoge-migas-lacor-1.jpg
- http://articulo.mercadolibre.com.uy/MLU-31859966-cepillo-para-migas-a-estrenar--_JM
- http://articulo.mercadolibre.com.uy/MLU-31859534-cepillo-para-juntar-las-migas-_JM
- Algunas de las desventajas de estos dispositivos baratos son que operan de forma manual y su depósito no es demasiado grande. Para esto se podría incorporar un motor y un depósito más grande modificando estos últimos dispositivos.
- Sensores de contacto
- Una alternativa posible que dependeria de la forma del robot sería una barrera curva en el frente con cuatro ó más botones de contacto.
- Esta idea, persigue “emular” la forma física y la distribución de los sensores que encontramos en el Roomba y en la mayoría de estos dispositivos de limpieza.
- Sensor de distancia
- Creemos que con un sensor de distancia (o un sensor de escala de grises) ubicarse en la parte inferior del butia (mirando hacia abajo) ubicado en la parte delantera del robot podría servir para evitar que el mismo se detenga ante la presencia de un precipicio frente a él (una escalera por ejemplo) y así evite caerse.
Implementación de los sensores
- Utilizaremos cinco botones de contacto colocados alrededor del butia(luego mostraremos como quedan).
Para simular la barra de contacto frontal de la Roomba utilizamos un tubo de Cds y lo cortamos en pedazos para colocarlo sobre estos botones,la idea iniciar era dejar la parte curva hacia el chasis pero luego nos pareció que tendríamos más contacto si la dejabamos hacia afuera. Imagen de un boton pegado con silicona al plástico recortado del tubo de Cds
Hasta ahora pudimos colocar 3 botones y estamos probando el contacto, con los botones de placa negra no nos sensan cuando son presionados de costado pero los de placa roja si nos sensan, otra dificultad que tuvimos es que segun la posicion de los cables puede delver 0 ó 1 si es presionado.
Algoritmo Implementado
Para la realización del algoritmo se tomo como objetivo que el butia pudriera limpiar una habitación con algunos elementos (obstáculos) en ella. Para esto fue necesario que el butia recorriera toda la superficie de la habitación (cubriéndola en su totalidad).
Unos de los principales inconvenientes que nos encontramos a la hora de diseñar el algoritmo fue la forma cuadrada que tiene el butia; ya que cuando el butia choca contra una pared por ejemplo, debe retroceder unos centímetros para luego poder rotar sobre su propio eje y así poder continuar desplazándose en otra dirección, agregándole complejidad y "ensuciando" innecesariamente el algoritmo. Resulta claro, por tanto, el porqué de la forma redonda de todos los robots de limpieza comerciales.
Básicamente, el algoritmo implementado realiza una grilla sobre la superficie. Para explicar el funcionamiento del mismo imaginemos un cuardado. El butia comenzara en la posicion inferior-izquierda del cuadrado y recorrera el mismo siguiendo una grilla como la que se muestra en la siguiente imagen (primero recorre la superficie de forma vertical y luego de forma horizontal). Una vez que se detecta que se ha recorrido toda la superficie, el butia se detiene.
En caso de toparse con algún obstáculo, el butia considerara al mismo como una pared (no limpiando la zona "detrás de él"), pero cuando cambie de dirección (de horizontal a vertical o viceversa) pasará, y por tanto limpiará, dicha zona.
A continuación se muestra un vídeo sobre el funcionamiento del algoritmo en una zona con obstáculos
Implementación del limpiador
Para realizar la limpieza elegimos un juntamigas convencional, de bajo costo. Ya que se le debe ejercer cierta fuerza al juntamigas para cumpla su función, elegimos colocarlo en el lugar de la rueda "loca" del butia, haciendo que todo el peso de la XO y del robot caiga sobre el cepillo.
Conclusiones y trabajo futuro
Este proyecto nos pareció interesante ya que permite extender las funcionalidades del robot Butiá a un costo relativamente bajo. Además permite que cada usuario de una XO pueda fabricar su propio robot de limpieza, lo que permite motivarlos de cierta manera y difundir la enseñanza de la robótica. Podemos destacar que el proyecto nos sirvió para aprender a realizar el diseño íntegro de un robot (tanto hardware como software), lo que nos motivó mucho a lo largo del proyecto Como trabajo futuro se podría considerar implementar un mecanismo de limpieza mediante un motor (ya sea agregando un motor al junta migas o mediante otro mecanismo) lo que pensamos que podría mejorar el resultado de la limpieza. Se podría considerar además, un algoritmo que tome consideración del estado de las baterías para realizar correcciones en las velocidades y los tiempos de los motores, para así mejorar el recorrido del robot. Además se podría realizar una especie de “mapa” con el recorrido del robot para así volver al punto de inicio una vez que se termina con el recorrido. Un tema que se podría solucionar es que los motores vayan a la par cuando se les setea la misma velocidad, haciendo que el robot avance siempre en línea recta.