Diferencia entre revisiones de «Sumo Plus»

De Proyecto Butiá
Saltar a: navegación, buscar
(Falla en las baterías)
(Planteo Basico)
Línea 65: Línea 65:
 
==Análisis==
 
==Análisis==
 
==Implementación==
 
==Implementación==
===Planteo Basico===
+
===Planteo Básico===
 +
 
 +
El planteo básico, orientado a estudiantes de Liceo, busca incluir el uso de las herramientas de desarrollo
 +
para que los estudiantes puedan darle el aire que consideren mas adecuado. En esta etapa se ven tres grandes
 +
focos que son :
 +
 
 +
Por un lado la calibración de los distintos sensores  para ayudar a interpretar su medición y como ellos las lecturas
 +
que los mismos toman varían  por condiciones del medio.
 +
 
 +
Por otra parte el diseño y la solución de problemas de hardware, ya sea la creación de nuevas piezas como la parrilla
 +
para empujar o la ubicación de los soportes para sensores.
 +
 
 +
Finalmente el diseño del software, las decisiones de diseño que se tomaron y una pequeña explicación que permita  que
 +
aquellos interesados puedan modificar el código para usos distintos al ya especificado.
  
 
===Planteo Avanzado===
 
===Planteo Avanzado===

Revisión del 23:56 27 jun 2020

Introducción

Los robots de Sumo son desarrollos bastante accesibles para personas que se empiezan a incorporar al tema de la robótica, es un acercamiento muy interesante para los jóvenes, además de que al poderse competir permite que las habilidades se vallan perfeccionando y uno puede darle tanto en calidad de software como de hardware que uno quiera. Posiblemente sea de las plataformas más entretenidas para los jóvenes y algunos adultos, ya que les da la posibilidad de comparar su desarrollo directamente con otros y perfeccionarlo con la experiencia tanto en la mecánica como en la programación.

La elección del proyecto surge de una tormenta de ideas donde se procuro aprovechar al máximo la capacidad instalada de la placa Butia a la vez de procurar la integración con otros dispositivos y sensores de manera de enriquecer la experiencia del desarrollo, procurando dejar una puerta abierta para otros posibles desarrollos e integraciones.

Dada la orientación que se le termino dando al proyecto, se considera recomendable para personas de ciclo básico, ya que si bien se puede desarrollar la parte básica enteramente en TurtleBots, quedan algunos conceptos (como la modularizacion, el manejo de variables,etc) que no son recomendables para edades más tempranas.

Ademas se considera importante el trato de una serie de ejemplos de integración y manejo de archivos que sin duda serian mejor aprovechados por jóvenes que despierten cierto interés en el desarrollo.

Datos Generales

Repositorio Git Repositorio
Contacto - Sugerencias mario12111988@gmail.com
Entorno de Desarrollo UBUNTU 16.04
Versión ARDUINO IDE 1.8.13
Version TurtleBots turtlebots_32_all.deb Instalar con udo dpkg -i turtlebots_32_all.deb
Version PYTHON 2.17
MATERIALES KIT ROBOTICO EDUCATIVO BUTIA 2.0
CAJA DE SENSORES
Placa ARDUINO ARDUINO UNO R3
HardWare HP-Pavilion-dv6 con Procesador AMD 64 Bits


Especificación del entorno de Desarrollo

Instalacion Arduino AMD 64 Bits

Descargar de la pagina de ARDUINO y de la carpeta de descargas descomprimir y realizar en terminal la seleccionar el siguiente comando
cuando estamos ubicados en la carpeta descargas.



$cd arduino-1.8.13/
$[ls-l] 
$./arduino-linux-setup.sh 
Run the script with command ./arduino-linux-setup.sh $USER
$./arduino-linux-setup.sh $USER 


Análisis

Implementación

Planteo Básico

El planteo básico, orientado a estudiantes de Liceo, busca incluir el uso de las herramientas de desarrollo para que los estudiantes puedan darle el aire que consideren mas adecuado. En esta etapa se ven tres grandes focos que son :

Por un lado la calibración de los distintos sensores para ayudar a interpretar su medición y como ellos las lecturas que los mismos toman varían por condiciones del medio.

Por otra parte el diseño y la solución de problemas de hardware, ya sea la creación de nuevas piezas como la parrilla para empujar o la ubicación de los soportes para sensores.

Finalmente el diseño del software, las decisiones de diseño que se tomaron y una pequeña explicación que permita que aquellos interesados puedan modificar el código para usos distintos al ya especificado.

Planteo Avanzado

Integración con Arduino mediante Python

Librerias Necesarias
serial
simplejson

Para aquellos interesados en profundizar sobre el tema se les recomienda ver Referencia Integración

Al momento de elegir la forma en la que íbamos a incorporar la informacion de los sensores de Arduino manejamos dos posibilidades, por un lado usar el código de
ejemplo Firmata que viene disponible en el IDE de ARDUINO o usar la comunicación serial a la implementacion de JSON, un
formato de texto que podíamos usar para leer datos de los sensores.


Si bien Firmata proporcionaba multiples ventajas como el poder leer los pines a demanda, tener continuidad en los datos (en el caso de ARDUINO puede fallar el primer dato o algún dato en particular) y no necesitar de hacer una programación especifica en ARDUINO optamos por decidir el uso de la comunicación serial por un tema de adecuación a los tiempos y conocimiento previo.

El modulo lectorPuertosJson.py tiene la informacion disponible sobre la comunicación.

Soporte

Falla en las baterías

Usualmente cuando el Robot butia empieza a funcionar lento estamos ante una baja en las baterías, es recomendable, si se sabe que se va a
utilizar intensamente, cargar las baterías la tarde anterior. Generalmente las baterías brindan un voltaje en su conjunto de 9.6 V en teoría, pero al estar a
tope puede llegar en pruebas a 11 o mas, dependiendo de las baterías y el fabricante, cuando el voltaje llega a 9.6 el rendimiento comienza a verse afectado.
Se puede notar una lentitud en los motores y comienzan a andar sin fuerza. Los sensores no se ven afectados porque están alimentados por la PC.

Peso Excesivo

Falla en el Sensor de Distancia

Esta falla se atestigua en que el sensor reporta datos muy variables y poco fiables, por ejemplo pasa de 28000 a 50000 en pocos segundos sin que
en el entorno exista algún objetivo nuevo. Posiblemente se deba a una presión sobre los cables ocasionado por la parrilla, la forma de solucionarlo
a sido retirar la parrilla, desconectar el sensor y el cable. Suele suceder que a veces el problema persiste, por lo cual se recomienda también
cambiar o rotar el sensor.

Problemas Conexión

Puntualmente en la implementacion realizada con Python nos ha pasado que el robot butia tarda algunas veces en ser reconocido, podemos notarlo
por ejemplo porque nuestra consola nos va a estar mostrando -1 en todos los sensores, por lo cual es conveniente como primera solución conectar
y desconectar el usb, usualmente después de 4 segundos el Robot retoma bien. Si no genera ningún movimiento a conectar el usb es que la batería
debe estar acabada, en este caso a pesar de que los sensores registren no ocurrirá ningún movimiento.

Precauciones

En la medida de lo posible evitar que los jovenes realizen cualquier tipo de soldadura, es recomendable para el docente que no se manipulen soldadores
y cutters. En cuanto al Voltaje, si perciben que las luces de los sensores se apagan o bajan la intensidad durante la instalación es posible que este
realizando corto, se recomienda ver lo planteado para sensores que fallan. También es recomendable no tener el Butia sobre una mesa al encenderlo
porque se desplaza unos centímetros al encenderse y se puede caer.

Falla Puertos Seriales Ocupados o Python no puede acceder a Butia

En el caso de que les aparezca que tal o cual programa no funciona porque el puerto esta ocupado usualmente se debe a que están dejando un puerto escuchando
la informacion y es imposible acceder a el, suele pasar lo mismo cuando quieren ejecutar un programa de python y tienen el TurtleBots ejecutando algo en
consola

Falla Butia no avanza frontalmente de forma pareja

Si bien Butia avanza con una pequeña desviación hacia la izquierda, puede darse el caso de que exista una desviación importante, usualmente puede deberse
a que la rueda no esta bien atornillada, o a que algo esta atascado en la rueda, en el caso puntual del sumo básico puede pasar que la parrilla de cartón
sea demasiado larga y rose con el suelo.

Falla en los Sensores

La falla de sensores se puede apreciar cuando uno de los mismos da un valor de -1,o alguna lectura que es claramente erronea. En el caso de los sensores
de color nos podemos dar cuenta porque la luz del led verde no prende. En los casos que en el desarrollo del proyecto se nos plantean han estado:

1- Cambiar los Cables
2- Cambiar el Sensor
3- Revisar la Placa y los puertos

Siempre es aconsejable rotar puertos y sensores cuando nos percatamos de que uno no funciona.
En caso los Sensores de color, si al presionar el led verde mientras esta conectado este enciende, con hacer una presión un poco
mayor el contacto deberia quedar bien, se puede medir con un tester en caso de disponer de uno.