Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[BIOLOID] Mi primer humanoide
#1
Me he aventurado y he conseguido un kit del famoso humanoide de Robotis. Después de todo el día enfrascado en el montaje ya es capaz de reproducir algún que otro movimiento. De momento creo que me queda mucho por estudiar, caminar no se le da nada bien, además de tendencia hacia un lado pierde el equilibrio a la primera de cambio.

resim

Se aceptan consejos y sugerencias. Porque sinceramente me encuentro perdido, no sé muy bien por dónde empezar a leer.

En cuanto al kit, me ha sorprendido lo bien organizado que viene todo y el manual con un detalle máximo de montaje. Quizás la tornillería podría haber sido mejor pero por lo generar los acabados y materiales parecen de calidad.
Citar
#2
Bienvenido al club! :yeah:

El gran problema que tiene según sale de la caja es que le pesa muchísimo la espalda (lleva una batería de 8 elementos :roto2: ). Por culpa de eso le cuesta un monton andar. Mejorar eso es un buen punto de partida.
A la hora de programarlo tienes dos opciones, meterte con R+ (que en mi opinion es un trastazo) o directamente pasarte a la OpenCM9.04 y programar en "Arduino".
Citar
#3
Pues sí, la joroba de 8 pilas enelop se nota y no para bien precisamente. La OpenCM9.04 después de lo bien que habláis los expertos de ella caerá antes de que acabe el año fijo. ¿tu actualmente como lo alimentas? Yo he pensado en tirar por LiPo.

Y otra cosa, el Premium parece que se monta de forma distinta, de echo hay 3 versiones (a,b,c). ¿sabes algo al respecto?

EDITO:
Por lo que veo el A es la configuración de 18 actuadores, según he comparado ID's, los mismos que el comprehensive, ¿No debería ser la misma que el Comprehensive? Me pasa una cosa rara, si cargo un motion, como el del baile de gangman style, las piernas le rotan hacia dentro hasta que pega una con la otra. ¿No puedo cargar 'motions' del Premium en el comprehensive?
Citar
#4
hectorri escribió:Pues sí, la joroba de 8 pilas enelop se nota y no para bien precisamente. La OpenCM9.04 después de lo bien que habláis los expertos de ella caerá antes de que acabe el año fijo. ¿tu actualmente como lo alimentas? Yo he pensado en tirar por LiPo.

Y otra cosa, el Premium parece que se monta de forma distinta, de echo hay 3 versiones (a,b,c). ¿sabes algo al respecto?

EDITO:
Por lo que veo el A es la configuración de 18 actuadores, según he comparado ID's, los mismos que el comprehensive, ¿No debería ser la misma que el Comprehensive? Me pasa una cosa rara, si cargo un motion, como el del baile de gangman style, las piernas le rotan hacia dentro hasta que pega una con la otra. ¿No puedo cargar 'motions' del Premium en el comprehensive?

Lo de que las piernas roten hacia adentro es porque en esa configuración del premium los puntos centrales de los servos 7 y 8 en vez de estar en 512/512 están uno en 600 y pico y otro en 300 y algo (unos 40º desplazados). La solucion es sencilla, carga una posicion neutra del programa y atornilla los servos apra que esten rectos en esa posicion Guiño

Sobre la OpenCM, lo cierto es que su predecesora fue un fiasco total (se rompian) pero parece que en esta version han corregido los errores. Mi proyecto de final de carrera depende de ella, así que quiero creer que esta nueva version funciona bien Confundidois1:

Y sobre la alimentación, yo llevo una lipo pequeñita de 7.4V. No es que tenga una gran autonomia (<10 minutos) pero prefiero eso a cambio de la diferencia de peso. Ahora he rediseñado todo el cuerpo de piernas para arriba y le estoy dejando un soporte para montar lipos corrientes de rc en stick Mola
Citar
#5
Muchas gracias, pensaba que era eso pero antes de ponerme a hacer pruebas prefería confirmarlo y ayer no pude mirar en detalle el manual del Premium. Ayer haciendo unas pruebas se me quedó sin batería y se lanzó de cabeza, el bicho es duro de c***.jeje

La segunda tarea pendiente es ver cómo programáis en Arduino un bicho de estos, porque coordinar 18 servos no debe ser tarea sencilla. Soy programador y en Arduino he hechado mis horas ya pero imagino que tendréis 'rutinas' o haya bloques de código de los que partir (y no ir picando la posición de casa servo una por una con cada movimiento).

Muchas gracias JaverIH
Citar
#6
hectorri escribió:Muchas gracias, pensaba que era eso pero antes de ponerme a hacer pruebas prefería confirmarlo y ayer no pude mirar en detalle el manual del Premium. Ayer haciendo unas pruebas se me quedó sin batería y se lanzó de cabeza, el bicho es duro de c***.jeje

La segunda tarea pendiente es ver cómo programáis en Arduino un bicho de estos, porque coordinar 18 servos no debe ser tarea sencilla. Soy programador y en Arduino he hechado mis horas ya pero imagino que tendréis 'rutinas' o haya bloques de código de los que partir (y no ir picando la posición de casa servo una por una con cada movimiento).

Muchas gracias JaverIH

Yo lo hago de la siguiente forma.
Le paso a una funcion el valor de las 18 articulaciones y una variable de tiempo. Entonces, calculo para cada uno de los servos la amplitud de ese movimiento. Como pueden leerse las posiciones del servo cojo la posicion objetivo y le resto la posicion actual, divido ese valor entre el tiempo y obtengo la velocidad que necesita ese servo para completar el recorrido. Entonces, escribo la velocidad individual a cada servo y luego los muevo todos a la vez.
La gracia de esto es que todos los servos empiezan y terminan de moverse a la vez, de esta forma se consiguen movimientos mas continuos y menos roboticos.

La funcion es esta:

Código:
void Robot::move(int uno, int dos, int tres, int cuatro, int cinco, int seis, int siete, int ocho, int nueve, int diez, int once, int doce, int trece, int catorce, int quince, int dieciseis, int diecisiete, int dieciocho, float tiempo){

  int goal[]={0,uno,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,diez,once,doce,trece,catorce,quince,dieciseis,diecisiete,dieciocho};
  int TRIM[]={0,TRIM1,TRIM2,TRIM3,TRIM4,TRIM5,TRIM6,TRIM7,TRIM8,TRIM9,TRIM10,TRIM11,TRIM12,TRIM13,TRIM14,TRIM15,TRIM16,TRIM17,TRIM18};
  
  for(int i=1; i<19; i++){
    if(getPos(i)!=goal[i]){
      Dxl.writeWord(i, 32,(abs(getPos(i)-goal[i])/tiempo)*0.7); //Se escribe la velocidad en cada servo. El factor 0,65 es para que acorden las unidades.
      Dxl.writeWord(i, 30, goal[i]+TRIM[i]); //Posicionamiento del servo i en posicion[i].
      setPos(i,goal[i]); //guardamos la posicion como posicion actual.
    }
  }
  
  delay(tiempo*1000);
}

Los TRIM* son los offset de cada servo, tengo un programa viejo con movimientos aqui: https://github.com/JavierIH/Proyectos/bl...Raider.ino

La función tiene este aspecto tan basto porque en un principio me pidieron que pudiesemos pasar movimientos facilmente desde el Roboplus Motion a la CM900. Como en el motion se pueden copiar y pegar las tiras de posiciones de los servos en un documento de excel, nos era muy facil copiarlas y pegarlas para que quedasen con la estructura de la funcion tal y como la escribi.
No es que fuese un gran sistema... pero nos hizo el apaño para portar los movimientos programados en R+ a la placa nueva.
Citar
#7
Tomo nota de todo. Estas navidades van a ser interesantes, sobre todo tengo ganas de empezar a probar con la OpenCM y 'Arduino'. Tengo también una Raspberry y su módulo de cámara, voy a ir por partes porque al final no me va a dar tiempo a todo estas navidades, jaja
Citar
#8
Hoy ha sido un día entretenido, he montado un 'pseudo' Premium, con la controladora OpenCM9.04 y preveo que va a ser muy divertido y entretenido programar el robot con el IDE de Arduino. Tengo ya sensores preparados de todo tipo (ultrasonidos, infrarrojos, acelerómetro, giróscopo, brújula..).

De momento hemos mejorado la controladora (La CM-5 es un juguete), le hemos quitado la batería de 9 elementos que tanto le pesaba y le hacía tan 'jorobado' cambiándola por una LiPo 3s de 2200Mah. Quizás excesiva, pero son las que tengo ahora a mano de quad y helicópteros RC. También he cambiado la configuración de los frames trandormándolo a un Premium Tipo-A.


resim
resim

Aún queda mucho trabajo por delante. Ahora mismo tengo problemas, creo que los he localizado pero tengo que mirarlo más a fondo. He cargado un pequeño programa (del blog de JavierIH, gracias) que copia en un brazo las posiciones de los actuadores del otro brazo. Pues parece que en los puntos 'neutros' de los actuadores se produce un pequeño salto. Depurando por el monitor serie veo que en un punto la lectura des de -61544 (o algo así). Esto hace que en el otro brazo en lugar de continuar el movimiento se produzca un pequeño salto.
Citar
#9
Aun es anchete el humanoide
Citar
#10
No te creas, engaña la foto, ya subire otra. La caja con la controladora y demas y la LiPo quedan justp a la altura de las piernas.
Citar
#11
Como veo que la lipo no sobresale casi nada...
Citar
#12
Una foto de perfil para ver más o menos como queda. La caja está impresa en 3D 'a carreras', me he venido a casa y no me traigo la impresora pero quería tener algo con lo que trabajar estas navidades.
resim

Y una modificación más. Una de las cosas que no le iba nada bien eran los pies, al igual que el resto de frames (plástico muy resistente, todo hay que decirlo) el acabado completamente liso hace que en muchas superficies el robot 'patine' y le cueste avanzar. En este caso se me ha ocurrido recortarle unas suelas de goma eva y pegarlas con celo ultra fino de doble cara. Un apaño sumamente barato y casero que espero que de buenos resultados.Y digo espero porque aún no lo he puesto a andar pero la primera impresión es que la adherencia ha mejorado y creo que tiene el punto exacto, ni se queda 'pegado' ni resbala:
resim

Ahora sigo echándole paciencia preparando rutinas básicas de movimiento completamente desde 0.
Citar
#13
Muy guay Hectorri! Te veo compitiendo este año :aplauso:
Citar
#14
Gracias. ¿Qué pasa con Raider 2.0?jeje

La verdad que me estoy volviendo loco con las rutinas de movimientos en la OpenCM.. es tarea de chinos esto..jaja. Estoy viendo en github tu programa del Raider porque hay cosas que me gusta mucho como las has implementado y te estoy 'robando' ideas.
Citar
#15
hectorri escribió:Gracias. ¿Qué pasa con Raider 2.0?jeje

La verdad que me estoy volviendo loco con las rutinas de movimientos en la OpenCM.. es tarea de chinos esto..jaja. Estoy viendo en github tu programa del Raider porque hay cosas que me gusta mucho como las has implementado y te estoy 'robando' ideas.

A falta de tiempo y dinero está descabezao y manco :elrisas:

resim

A ver si los reyes me traen una opencm904 y un servo para la cintura (lleva puesto el del codo). Por ahora estoy sobre todo trabajando con la beaglebone y la camara por separado, cuando coja un poco de práctica la instalaré dentro del robot y me pondré con ello. Por cierto, le he cambiado los tornillos por unos con cabeza allen, te lo recomiendo mucho, es infinitamente mas comodo que los que trae.

Saludos!
Citar
#16
Como mola!, Muy buen invento esas 'hombreras'. Me gusta. ¿Conjunta de Dynamixels? jaja Yo también he pensado en mejorar la movilidad de los brazos. ¿Has echado un vistazo a las configuraciones del Premium? Yo ahora mismo lo tengo como el Tipo-A. Me gusta la disposición de los actuadores de la cadera y además deja un espacio perfecto para la LiPo. También hay otras dos configuraciones con 16 Dynamixels, lo que te dejaría 2 libres para mejorar los brazos.

Muchas gracias por pasarte por aquí, estoy siendo 100% autodidacta (por eso me está costando arrancar), no tengo a nadie cerca que comparta afición con la robótica ni tenga un 'trasto' de estos para colaborar..

Ya tengo más o menos planteado el programa que llevo en la OpenCM9.04:

https://github.com/hectorri/Bioloid

En resumen: he sacado los vectores de posición a una librería aparte, al igual que la clase 'Robot' que se encarga de implementar los diferentes movimientos. Si le echas un vistazo.. de momento está todo lleno de 'TODO's'.

Lo de la tornillería no es comodidad solamente, como comenté en el primer post, la calidad deja que desear. ¿Dónde has conseguido tu tornillería Allen M2? Sin duda es una mejora barata que me gustaría hacerle tarde o temprano.

¿Te entrará la Beagle + OpenCM + LiPo ahí dentro? Menudo puzzle te espera..jeje

Por cierto, he conseguido que 'intente' dar algunos pasos y sin duda lo de la goma eva en la suela es todo un acierto. Te recomiendo probarlo.
Citar
#17




Adjunto este vídeo, al final persigo hacer unos brazos/grippers de este estilo.
Citar
#18
Y por qué no haces los grippers con unos microservos? Yo los estoy haciendo con microservos, principalmente por el tema del peso y secundariamente por el precio Gran sonrisa
Los tornillos de m2 los compré por ebay, sin embargo metí un poco la pata y la cabeza es de métrica americana (creo), asi que las llaves "normales" no encajan bien.
Sobre las placas, la beaglebone cabe bastante bien (aunque le he hecho un cuerpo nuevo para aprovechar todo el espacio posible), la opencm estoy pensando integrarla en una shield encima de la beaglebone o algo asi. Le estoy metiendo una buena carga pero al menos las piezas impresas bajan un poco el peso.
Citar
#19
Pues también, es una idea, a veces me olvido que tengo una impresora 3D con la que apañarme bastantes cosas.

Otra plaquilla que tengo por aquí es una Rpi con su módulo de cámara... pero de momento todo son ideas... lo que ahora me abarca el tiempo es preparar las rutinas básicas de movimientos, luego implementar algunos sensores y después ya empezaremos con el cacharreo bueno metiéndole algo de imagen.
Citar
#20
Hola, soy nuevo por estos lares y siempre me ha gustado mucho la tecnología y la robotica, pero mis conocimientos son nulos. Es muy dificil montar un robot de este tipo? son muy caros?.
Saludos
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  venta de bioloid premium kit rafa alfara 3 1,234 11-10-2018, 04:45 PM
Último mensaje: rafa alfara
  ayuda con robot bioloid humanoide tipo a yair_xiox 1 1,186 16-11-2015, 05:17 PM
Último mensaje: hectorri
  camara para robot bioloid tipoa cm-530 yair_xiox 0 911 02-09-2015, 11:00 PM
Último mensaje: yair_xiox
  MYOD - Imprime tu propio robot humanoide MYOD 19 4,119 27-04-2014, 08:09 PM
Último mensaje: Fremiro
  Bioloid o alternativa hectorri 2 670 26-11-2013, 09:03 PM
Último mensaje: JavierIH