Autor Tema: Robot Hexapodo  (Leído 56052 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Robot Hexapodo
« Respuesta #90 en: 03 de Enero de 2013, 00:32:19 »
Yo creo que como tenemos un stream de datos, no es necesario implementar ningun control de flujo, ya que si un dato llega corrupto (o no llega), sera reemplazado por el proximo. Implementar un protocolo implica complicar la comunicacion y creo q estamos un poco jugados con los tiempos.
En todo caso se me ocurre que luego de cada dato recibido, el PIC puede responder con un "OK" para que la PC sepa si seguir enviando datos o no.
La trama que tengo en mente es algo asi:

 --------------------------------------------
| inicio | servo1 | servo2 | ... | servo 18 | fin |
 --------------------------------------------

De esta manera el parseo de la trama es mucho mas sencillo, ya que sabemos que cada byte corresponde a un servo. No tenemos que gastar tiempo de procesador interpretando la trama.

Willy, la idea es que todos participen y aporten ;)

Saludos!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Robot Hexapodo
« Respuesta #91 en: 03 de Enero de 2013, 15:29:49 »
Gera, como te fué con la compra de los servos?
Y el módulo bluetooth, lo compras en DX?

Estoy viendo de hacer una inversión en servos  :mrgreen: y ahí en Hobby King tienen muy buen precio, el tema es saber de alguna experiencia previa, por el plazo de entrega no me preocupo, pero si por el tema del pago y como me lo despachan.

Si no te molesta comentar, te lo voy a agradecer  ;-)
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Robot Hexapodo
« Respuesta #92 en: 04 de Enero de 2013, 09:10:11 »
Gera, como te fué con la compra de los servos?
Y el módulo bluetooth, lo compras en DX?

Estoy viendo de hacer una inversión en servos  :mrgreen: y ahí en Hobby King tienen muy buen precio, el tema es saber de alguna experiencia previa, por el plazo de entrega no me preocupo, pero si por el tema del pago y como me lo despachan.

Si no te molesta comentar, te lo voy a agradecer  ;-)

Willy, los servos todavia no me llegan, seguro se atraso el envio por las fiestas. Pero te cuento que ya he usado microservos de HK para aeromodelismo (helicopteros), y uno que otro se rompio. Pero no creo que el robotito les exija tanto como los helis, ademas por menos de 2 dolares no podemos esperar mucho jeje. Tambien en hobbyking venden unos mas caritos q son de mejor calidad, incluso hay unos metalicos. Fijate en las reviews ;-)
El modulo bluetooth lo compre a DX, ahi lo tengo, todavia no hago pruebas. Pero por lo que lei en las reviews, funciona a la perfeccion. Es arduino compatible, asiq asumo que trabaja con niveles TTL (5V). Los envios de china suelen demorar alrededor de un mes.

Despues contame que compraste y como te fue ;-)
Saludos!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Robot Hexapodo
« Respuesta #93 en: 04 de Enero de 2013, 10:00:04 »
Gracias por tus comentarios Gera.
Por la calidad de los servos o del módulo no me preocupo tanto, mas que nada me preocupa el tema del pago y el envio, por un tema de desconocimiento.

Ambos, HK y DX son pago con tarjeta de crédito, no?

Voy a ver si me registro en ambas páginas y me animo a realizar la compra, por ahora quizas con micro servos de poco valor para probar el sistema de compra y luego veo si encaro algunos servos mas grandes ya que mi idea es hacer un robot que pueda llevar la netbook a hombros.
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado Darkman_A

  • PIC18
  • ****
  • Mensajes: 288
Re: Robot Hexapodo
« Respuesta #94 en: 04 de Enero de 2013, 11:04:51 »
Gracias por tus comentarios Gera.
Por la calidad de los servos o del módulo no me preocupo tanto, mas que nada me preocupa el tema del pago y el envio, por un tema de desconocimiento.

Ambos, HK y DX son pago con tarjeta de crédito, no?

Voy a ver si me registro en ambas páginas y me animo a realizar la compra, por ahora quizas con micro servos de poco valor para probar el sistema de compra y luego veo si encaro algunos servos mas grandes ya que mi idea es hacer un robot que pueda llevar la netbook a hombros.

Hola Willy.
Dado que tu idea es hacer un robot (supongo que un hexapodo) que lleve una netbook, te paso un link que encontre donde trata el tema de las fuerzas que actuan en las patas del hexapodo. Se que en este momento no estan evaluando esto, pero es como para no perder este link y que quede registrado aca.
http://www.robotshop.com/robot-leg-tutorial.html
En particular creo que, si tiene que llevar tal peso, optaria por ruedas. Creo que los motores te saldrian mas economicos que la cantidad de servos a utilizar. Algo asi como lo que hizo felix en su momento.
Pero bueno, ya dialogaremos sobre eso en su momento.
Saludos.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Robot Hexapodo
« Respuesta #95 en: 04 de Enero de 2013, 11:11:19 »
Yo he comprado bastante a HK y DX, y nunca tuve problemas. Lo peor que puede pasar, es que te retengan el paquete en la aduana. En ese caso, te llega una carta a tu casa citandote al correo, vas y pagas el 50% del valor declarado para poder retirarlo. HK te da la posibilidad de sub-facturar (te mandan una factura con un monto menor), y DX te da la posibilidad de q envien el paquete como regalo (sin factura).
Podes pagar con tarjeta o con paypal. Estas son empresas serias y aseguran bien tus datos y los de tu tarjeta.
Y para dejarte mas tranquilo, tengo un amigo q una vez le robaron unas cosas en la aduana, se puso en contacto con DX y se lo enviaron de nuevo gratis.

EDIT:
Excelente aporte Darkman!!! :)

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Robot Hexapodo
« Respuesta #96 en: 04 de Enero de 2013, 11:50:35 »
Gracias Darkman  ((:-))
Tambien suelo colgar enlaces para dejarlos como referencia, es buena práctica forera  ;-)

Como decia, me voy a animar por ahora con unos micro servos, los HTX900 porque ya tengo 4 de esos y para completar los 18 por ahora me sirven en esta etapa de investigación.
Lo mismo que con el módulo bluetooth.

La idea de hacer un robot con patas es para tener menos limitaciones en la traslación en terrenos heterogeneos, quizas un robot con ruedas en ese caso si tiene limitaciones mas allá que su capacidad de carga sea mucho mayor.

EDIT: ya me animé a 14 de estos servos  :-)
« Última modificación: 04 de Enero de 2013, 15:50:33 por willynovi »
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Robot Hexapodo
« Respuesta #97 en: 05 de Enero de 2013, 13:14:34 »
Novedades novedosas de sábado por la mañana  :mrgreen:

Hice la prueba con una fuente externa y ha resultado de maravillas, el programa no se cuelga en ningún momento, le agregué que retorne un caracter para indicarme que la comunicación se realizó bien, que en realidad el caracter es el eco de la posición del servo.

Por ahora estoy probando con un solo servo, luego escribo las lineas para enviar hasta 20 servos y les cuento como anda.

Lo que tengo que ajustar son los tiempos, o sea, los tiempos de manejo de servos, el de 0,5ms y el de 2,5ms.
El recorrido del servo es mayor a 180° y creo que ahí es donde tengo algún drama. Con un valor menor a 20° el servo ya esta en 0°. Así que tengo que hacer algunas pruebas para corregir eso.

No tengo osciloscopio, seria util para confirmar los tiempos de los pulsos a los servos sean correctos.
Se que se puede hacer algo con la entrada de microfono y un osciloscopio virtual, alguíen puede recomendarme uno que haya probado?

Les adjunto una captura del programita que diseñé, ven que pueda agregar algo?



Saludos,
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado Darkman_A

  • PIC18
  • ****
  • Mensajes: 288
Re: Robot Hexapodo
« Respuesta #98 en: 05 de Enero de 2013, 13:40:41 »
Willy, Gera, gracias por el 'OK' a mi post anterior. No quiero embarrarles el hilo del post y no sabia si ponerlo o no. Espero que en algun momento esa informacion les sea util.
Willy me alegro por tus adelantos y esta buena la interfase de tu programa. ¿En que lenguaje o entorno estas programando ?.

Saludos.

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Robot Hexapodo
« Respuesta #99 en: 05 de Enero de 2013, 14:39:22 »
Espero que en algun momento esa informacion les sea util.

Claro que es útil  ;-)
Le di una leída por arriba, no profundicé mucho, pero se ve que la base es buena.
Luego me quedé mirando la web esa y vi que hay unos módulos para manejo de servos, el que mas me llamó la atención fue este:
Adafruit 16-Channel I2C Servo Controller, que por el valor, el tamaño y la comunicación creo es una buena opción si se quiere hacer un robot totalmente autonomo manejado solo con un microcontrolador.

¿En que lenguaje o entorno estas programando ?
He pasado por varios, hace mucho hice mis primeros pinos con el Basic y despues ya me incliné por el C.
Actualmente estoy con Visual C y usando el demo que provee microchip le fui quitando/agregando cosas.
Hace poco hice un programita para otra aplicación y programado con la WinAPI, pero ahora con el entorno visual voy mucho mas rápido.
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Robot Hexapodo
« Respuesta #100 en: 05 de Enero de 2013, 21:14:31 »
Sigo sin ajustar el tiempo de los 0,5mseg para que coincida el 0 del programa con el 0 del servo, pero.....

Completé el programa para que atendiera a todos los servos e hice un video con muy mala calidad  :oops:

En el video intento mostrar el moviemiento del servo, como decia por ahora uno solo, entonces lo que hago es cambiar de pin entre el primero y el último para ver que estan llegando todos los datos. Como estoy limitado con las salidas, el último es el 18.

Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Robot Hexapodo
« Respuesta #101 en: 07 de Enero de 2013, 09:05:54 »
Esaaa!! Felicitaciones por los avances! ;)
Yo ya tengo las plaquitas hechas, esperando a ser perforadas y soldadas. Solo tengo que encontrar el tiempo para hacerlo jeje.
Respecto a tu problema, lo ideal sería tener un osciloscopio para ver el periodo del pulso. Pero como no contas con uno, se me ocurre que podes hacer debugging del programa para ver cuantos ciclos esta el pulso en alto y asi calcular el tiempo.
Suerte con eso!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Robot Hexapodo
« Respuesta #102 en: 07 de Enero de 2013, 12:38:46 »
Gracias por las felicitaciones Gera  ;-)

Me ha llegado un mail de HK que en 45 días tendré los servos en casa, así que por ahora voy a ir armando una sola pata con los servos que ya tengo, así para cuando me lleguen tengo todo cocinado.

Estoy averiguando el tema de la cinematica inversa a ver como es esto y como seria para programarlo.
Por ahora todo el cálculo del movimiento lo voy a hacer en la PC y enviar solo al pic la actualización de la posición de cada servo.

Por el tema de la placa voy a ver si hago un deseño nuevo así puedo conectar los servos directamente con su alimentación. Por ahora sigo con el 18f2550 que puedo controlar 18 servos.

Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Robot Hexapodo
« Respuesta #103 en: 07 de Enero de 2013, 13:14:11 »
Gracias por las felicitaciones Gera  ;-)

Me ha llegado un mail de HK que en 45 días tendré los servos en casa, así que por ahora voy a ir armando una sola pata con los servos que ya tengo, así para cuando me lleguen tengo todo cocinado.

Que bien! a mi no me han enviado nada.. desde el año pasado que estoy esperando esos servos!

Citar
Estoy averiguando el tema de la cinematica inversa a ver como es esto y como seria para programarlo.
Por ahora todo el cálculo del movimiento lo voy a hacer en la PC y enviar solo al pic la actualización de la posición de cada servo.

Mira este proyecto: http://www.pablogindel.com/trabajos/samsa-ii-2010/
Al final de la pagina hay un link que dice "SAMSA II sources". Ahi tenes codigo fuente que yo estoy usando como ejemplo. Me gusta porque tiene una estructura modular, con funciones de bajo nivel que controlan el movimiento de las patas, y funciones de mas alto nivel que controlan los estilos de caminata, etc... Es justamente lo que pienso implementar.

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Robot Hexapodo
« Respuesta #104 en: 08 de Enero de 2013, 12:15:41 »
Bueno, ya tengo la placa hecha (esta tarde subo fotos) y mi compañero esta trabajando en la interface para la PC.
El proximo paso es mover los servos individualmente (cosa que ya has logrado Willy), y luego veremos de aplicar IK para mover las patas individualmente.
Sin embargo, me surge una duda: Como sincronizar el movimiento de las patas? O sea, para generar una caminata debemos mover las patas sincronizadamente. Cada pata describe un movimiento que esta desfasado respecto al de las demas (esa fase depende de cuantas patas movamos a la vez). Como se les ocurre que podemos implementar esto?
Esto es lo que tengo en mente por ahora:
Un contador sirve como referencia de sincronismo, un "clock universal" para las patas. Cada pata recibe como parametro el movimiento que tiene q describir (mediante una funcion matematica, probablemente curvas bezier) y una fase. Entonces la posicion de cada pata en un instante dado se calcula como la funcion correspondiente al valor del contador mas el desfasaje.

Que opinan? Se les ocurre otra manera? Espero sus respuestas!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein


 

anything