Diferencia entre revisiones de «Resolution basica butiá 2016»
(Página creada con «== Integrante == <b>Butiá</b> *Federico Kauffman == Resolución del problema == Por cuestiones de tiempo solamente se implementó un seguidor de línea y se comenzó con...») |
|||
Línea 1: | Línea 1: | ||
== Integrante == | == Integrante == | ||
− | |||
*Federico Kauffman | *Federico Kauffman | ||
Línea 9: | Línea 8: | ||
=== Butiá === | === Butiá === | ||
− | El robot Butiá se ensamblo de tal forma que se pudiera implementar un seguidor de linea, para el mismo se utilizaron 4 sensores de grises y 2 sensores de distancia. Los sensores de gris se colocan de a | + | El robot Butiá se ensamblo de tal forma que se pudiera implementar un seguidor de linea, para el mismo se utilizaron 4 sensores de grises y 2 sensores de distancia. Los sensores de gris se colocan de a pares uno a cada lado de la línea negra, esta disposición permite detectar ángulos rectos (o muy cerrados) con facilidad, ya que cuando ambos sensores de un mismo lado ven negro se detecta esta condición, además permite obtener un grado mas de seguridad ya que si los sensores más cercanos a la línea fallan los más lejanos podría detectar la misma y corregir. |
Además se utilizan dos sensores para detectar objetos, uno en el frente del robot y otro al costado. Con esta disposición se logra ver un obstáculo frente al robot y luego con el sensor lateral rodear el mismo manteniendo una distancia predeterminada. También ya que no se se depende de tiempo se logra rodear obstáculos de tamaños variados. | Además se utilizan dos sensores para detectar objetos, uno en el frente del robot y otro al costado. Con esta disposición se logra ver un obstáculo frente al robot y luego con el sensor lateral rodear el mismo manteniendo una distancia predeterminada. También ya que no se se depende de tiempo se logra rodear obstáculos de tamaños variados. | ||
Línea 18: | Línea 17: | ||
[[Archivo: fk4.jpg]] | [[Archivo: fk4.jpg]] | ||
− | === | + | === Código === |
+ | La idea general es generar una API sobre sobre las primitivas que ya provee el Butiá, lo mismo se logró encapsulando las mayor cantidad de detalles de implementación en distintas clases, por ejemplo el comportamiento del robot se pueden encapsular en una clase Turn que provee los métodos left y right, el comportamiento de avanzar en una clase Move con métodos forward y backwards, etc. | ||
− | + | Además se crearon clases que permite calibrar los sensores antes de ejecutar el programa que controla el robot, generando archivos con los valores determinados para su posterior uso, esto permite agilizar el uso del robot ya que no se lo debe calibrar cada vez y además se pueden tener varias calibraciones para diferentes escenarios. | |
+ | |||
+ | |||
+ | Para ver el codigo completo ir a github.com/fedekau/robedu [https://github.com/fedekau/robedu] |
Revisión actual del 20:50 9 sep 2016
Integrante
- Federico Kauffman
Resolución del problema
Por cuestiones de tiempo solamente se implementó un seguidor de línea y se comenzó con la implementación para evitar obstáculos, sin embargo la solución se realizó de tal forma que el código fuera muy legible y amigable, aplicando mi experiencia laboral en Ruby, intenté lograr algo similar utilizando Python.
Butiá
El robot Butiá se ensamblo de tal forma que se pudiera implementar un seguidor de linea, para el mismo se utilizaron 4 sensores de grises y 2 sensores de distancia. Los sensores de gris se colocan de a pares uno a cada lado de la línea negra, esta disposición permite detectar ángulos rectos (o muy cerrados) con facilidad, ya que cuando ambos sensores de un mismo lado ven negro se detecta esta condición, además permite obtener un grado mas de seguridad ya que si los sensores más cercanos a la línea fallan los más lejanos podría detectar la misma y corregir.
Además se utilizan dos sensores para detectar objetos, uno en el frente del robot y otro al costado. Con esta disposición se logra ver un obstáculo frente al robot y luego con el sensor lateral rodear el mismo manteniendo una distancia predeterminada. También ya que no se se depende de tiempo se logra rodear obstáculos de tamaños variados.
Código
La idea general es generar una API sobre sobre las primitivas que ya provee el Butiá, lo mismo se logró encapsulando las mayor cantidad de detalles de implementación en distintas clases, por ejemplo el comportamiento del robot se pueden encapsular en una clase Turn que provee los métodos left y right, el comportamiento de avanzar en una clase Move con métodos forward y backwards, etc.
Además se crearon clases que permite calibrar los sensores antes de ejecutar el programa que controla el robot, generando archivos con los valores determinados para su posterior uso, esto permite agilizar el uso del robot ya que no se lo debe calibrar cada vez y además se pueden tener varias calibraciones para diferentes escenarios.
Para ver el codigo completo ir a github.com/fedekau/robedu [1]