RenacuajoBot

El primer robot que han diseñado desde BQ para usar el kit de robótica, ha sido renacuajoBot. Este fin de semana he aprovechado para imprimirme una versión e ir haciendo pruebas.

2014-01-05 23.42.18La primera cosa que he probado han sido los servos conectado a la placa y probar su correcto funcionamiento. Las pruebas han sido estar cambiando la dirección del servo de una manera un tanto brusca, de esta manera, y debido a los picos de corriente, la placa se resetea y no funciona correctamente. Quizás si se alimentarán los servos de forma independiente a la de la placa el correcto sería el correcto. Por este motivo, y si están los servos conectados, la placa falla a la hora de subir el programa, es necesario subir el programa sin tener los servos conectados.

Captura de pantalla 2014-01-06 a la(s) 22.41.18

He estado modificando la librería de Obijuan y David Estevez que programaran para el miniskybot. De esta manera le he añadido la opción de añadir los servos de  rotación continua que se incluyen en el kit.

He tenido un problema al hacer las conexiones y he conectado uno de los sensores IR a una salida de la placa, y creo que se ha estropeado, los sensores no tienen ningún diodo para evitar que en el pin de signal le introduzcamos una tensión. Por eso, y como solo tengo un sensor IR, he programado el robot para evitar que se caiga de la mesa. A ver si consigo arreglarlo o cambiarlo por otro y lo programo para seguir lineas.

He colgado en mi github la librería con la actualización para los servos. Es una primera versión muuy primeriza, iré actualizando en cuanto pueda con el resto de sensores y actuadores que vienen incluidos en el kit.

RenacuajoBot

[Review]Mi primer kit de robótica de bq

Desde la empresa bq Readers, me han ofrecido la posibilidad de ser MVP(Most valuable player), dentro del departamento de Innovación y Robótica, de los productos que vayan sacando. Iré poniendo en el blog las review que vaya haciendo de los distintos productos.

2014-01-02 22.16.57Para empezar voy a hablar de “Mi primer Kit de robótica”. El Kit consiste en  las vitaminas para poder hacerte tu primer robot. Están incluidos la electrónica, varios sensores(de luz, infrarrojo, potenciometro,etc..) y unos servos. Por contra, no se incluyen las piezas impresas que conforman el chasis, tornillería o juntas para las ruedas. ¡ Las piezas impresas, tornilleria y demás se incluyen a parte en el robot RenacuajoBot que ha sacado a la venta Bq. Irán sacando más modelos para que cada uno elija el robot que más le guste.

Podemos decir que no es un kit completo de robótica, ya que si no tienes acceso a una impresora 3D el chasis es un poco dificil de conseguir, pero poco a poco las impresoras 3D se están extendiendo. Y con esto, facilitamos lo que hasta ahora, había que conseguir buscando por distintas páginas de internet.

2014-01-02 22.17.34Al abrir la caja nos encontramos con un diagrama de flujo que nos orienta sobre cómo conectar los dispositivos. Y con código de colores sabemos qué dispositivos estamos conectando. Pensando en que fuera la primera vez que montase un robot, el diagrama tan claro ayuda bastante.

Sobre los componentes que vienen incluidos, son todos de la empresa elecfreaks la placa es compatible con arduino y trae unos conectores de tres pines macho, para poder conectar de manera cómoda los servos y sensores.

2014-01-02 22.38.17Todos los sensores vienen montados en una placa especial para que la conexión con la placa controladora sea cómodo.

En definitiva, un kit muy muy básico, para iniciarse en el mundo de la róbotica y robots imprimibles. Es una lástima que no se incluyan todos los materiales necesarios para poder construir el robot de una sola vez. Pero como decía al principio, es ideal para poder comprar todos los componentes electrónicos de una sola vez y no tener que buscar por distintas páginas todos los componentes, y en ocasiones la compra se hacía un poco pesada.

[Review]Mi primer kit de robótica de bq

Como ejecutar Cura desde pronterface en Mac OS X

Cura es un programa para poder hacer la transformación del código STL al código Gcode y que las impresoras 3D lo puedan imprimir.

Además de esto, es capaz de comunicarse con la impresora sin necesidad de usar pronterface. El problema es, que en este aspecto, pronterface es mucho más potente que Cura. Por tanto, en mi caso particular, hacía la siguiente operativa:

  1. Abrir Cura.
  2. Abrir Pronterface.
  3. Abrir Stl.
  4. Generar Gcode.
  5. Abrir Gcode en el pronterface.

En los casos en que se use Skeinforge y Slic3r, se puede configurar Pronterface para ejecutar ambos programas a la hora de abrir un stl. Con cura se puede hacer lo mismo.

En mac basta con poner los siguientes parámetros en los campos SliceCommand y Sliceoptscommand:

  • SliceCommand = /Applications/Cura/Cura.app/Contents/MacOS/Cura $s
  • Sliceoptscommand = /Applications/Cura/Cura.app/Contents/MacOS/Cura

Esto es en Mac, no he podido probarlo en otro sistema operativo, pero pienso que no debe ser muy distinto. Si alguien lo puede probar que por favor me deje un comentario.

El parámetro SliceCommand es el encargado de pasarle el fichero STL y el SliceoptsCommand simplemente abre el programa.

Una vez que le damos a Load en pronterface, nos ejecutará Cura. En cura habrá que darle al botón Prepare Print y una vez que finalice será imprescindible darle al botón Show Results. Si no se hace esto, el código Gcode no será devuelto a pronterface.

Por último le damos a Print y el gcode será mandado a la impresora.

 

 

 

Como ejecutar Cura desde pronterface en Mac OS X

Como trabajar con un fork en github

Un fork en programación, es coger el código fuente de un programa y empezar un desarrollo paralelo al original. Hoy os voy a explicar como trabajar con un fork en la herramienta de desarrollo github. Voy a dar por hecho que todo el mundo tiene cuenta y sabe usar github.

Como ejemplo vamos a poner el repositorio del Clone-wars que tiene Obijuan:

Nos vamos a la página del proyecto y le damos al botón Fork   y se nos creará una copia en nuestra cuenta

  • Nos decargamos el repositorio forkeado de NUESTRO github (git@github.com:darkomen/Clone-wars.git)

Para ello desde un terminal, nos vamos al directorio donde queramos tener la carpeta y ejecutamos

git clone git@github.com:darkomen/Clone-wars.git

A partir de este momento es muy importante diferenciar entre nuestro fork, y el repositorio original

  • Nos metemos en la carpeta Clone-wars

cd Clone-wars/

  • Añadirmos un remote del repositorio de obijuan y lo llamamos upstream

git remote add upstream https://github.com/Obijuan/Clone-wars.git

  • SIEMPRE antes de hacer ninguna modificación actualizamos el repositorio

git pull upstream master

con eso actualizaremos el repositorio, en caso de no haber cambios, nos dirá que está todo actualizado.

Si queremos añadir algo nuevo al fork, primero lo deberemos añadir a nuestro repositorio

git add fichero

git commit -m ‘Cambios realizados’

git push origin master

Con estos tres comandos tendremos subido el fichero a nuestro repositorio, ahora nos dirigimos a la página de github de nuestro repositorio. Pulsaremos en el botón Pull Request 

y nos aparecerá una página donde deberemos rellenar la información de la actualización que hemos realizado, al completarla le daremos a finalizar, y le mandaremos la información a Obijuan indicándole de que hemos añadido una mejora.

Este caso es uno en concreto usando el repositorio de Clone-wars, sobra decir que el funcionamiento es parejo con cualquier otro repositorio que usemos de git.

Como trabajar con un fork en github

Wiki: Calibración de Skeinforge

Skeinforge es el programa que se encarga de traducir los ficheros stl a códigos, que la impresora interpreta como los movimientos que debe hacer para crear la pieza.

Este programa debido a su función, es bastante complejo de configurar. He creado un pequeño tutorial con los parámetros más fundamentales a la hora de calibrar la impresora.

Wiki: Calibración de Skeinforge

Wiki: Calibración de Skeinforge

Programando una librería para Arduino

He programado dos librerías para el control del miniskybot, o cualquier robot con ruedas motrices.

La primera librería simplifica el uso de los servos de tracción para controlar el motor. Con la librería se incluye un ejemplo documentado

La segunda librería crea un objeto tipo robot, en el que se le indica los motores que se dispone y su configuración, se simplifican las órdenes para poder manejar el robot.

Enlace:

Librería Rueda

Librería Robot

Documentación librerias 

Programando una librería para Arduino