Autor Tema: cinematica inversa de un robot con 18 grados de libertad  (Leído 18421 veces)

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

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #15 en: 09 de Septiembre de 2015, 16:57:23 »
hola, entonces deberia elegir la tarjeta que tiene 3 ejes de acelerometro 3 ejes de giroscopio y 3 ejes de un sensor de campo magnetico, me puedes explicar que se puede hacer con los 3 ejes del campo magnetico, y si con el robot hago que detecte objetos de 10 cm a 80 cm con un sensor dms que ya tiene el robot para detectar distancia de frente en linea recta y en los pies le pongo esos de ultrasonido que dices para que detecte distancia al frente a la izquierda o ala derecha, ademas de esos ya no seria necesario usar los otros dos sensores infrarojos que tiene, o podria ponerle los dos de ultrasonido al frente de los pies y los infrarojos a los lados o no es necesario

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #16 en: 09 de Septiembre de 2015, 17:37:06 »
hola, me puedes ayudar a comparar estos dos sensores de ultrasonido que encontre que venden en mi país y son muy baratos http://www.robot-electronics.co.uk/htm/srf05tech.htm ese es el primero y este el segundo http://bkargado.blogspot.com.co/2013/09/todosobrehc-sr04.html y me puedes explicar mejor a donde debo conectar los pines trig y echo que ahi dice que uno es salida y otro es de entrada pero no se a donde conectar esos pines

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #17 en: 09 de Septiembre de 2015, 18:49:47 »
Pues el sensor de campo magnético de 3 ejes es básicamente una evolución de una brújula digital (si no me equivoco) sirve para orientar el norte, y contrarrestar el error, de por si solo vale poco es necesario usarlo con el acelerometro, de todas maneras, para tu caso sirve de.poco el tema del magnetismo ya que tu robot no debe saber si va hacia el norte o no.

En cuanto a poner tantos sensores tengo una idea, ¿la cabeza cuantos movimientos tiene? Si es capaz de mirar de izquierda a derecha, y arriba y abajo, puedes hacer un barrido con la cabeza, teniendo la distancia, medida de un sensor de la cabeza, y los dos ángulos de la cabeza por trigonometría puedes hacer un mapa de obstáculos y tenerlo en memoria para tu robot. Obviamente este barrido deberá hacerlo cada cierto avance pare ir dibujando de nuevo el mapa de obstáculos, de esta manera no deberás tener tantos sensores.

En cuanto a los dos sensores que pones son los dos de ultrasonidos muy parecidos, creo que uno es mas moderno que el otro (el 5) pero no poseen un protocolo de comunicación y son mas difíciles de manejar.
Necesitaras una uc para mandar una señal de mas de 10us por el trigger, usando un primer por ejemplo, y después deberás medir el pulso que recibes por el echo y dependiendo de lo que tarde esa señal sabrás a que distancia esta el objeto.

Es mejor buscar uno que funcione con algún protocolo, donde por I2c por ejemplo le digas, "mide" y el responda el numero y se acabaron las complicaciones de medir tiempo.

Todo esto esta en las hoja de datos del sensor, no tienes mas que leerla y encontraras ejemplos, y todo lo que necesites saber sobre como usarlos.

Un saludo

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #18 en: 09 de Septiembre de 2015, 18:56:31 »
ese es el problema la cabeza no se mueve y ponerle un motor mas ahi ax12 le daria un grado mas de libertad y serian en total 19 grados de libertad y todos los calculos de movimiento del robot se harian mas complejos

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #19 en: 09 de Septiembre de 2015, 19:31:36 »
hola, ya se que sensores ponerle los dos funcionan por i2c 1-http://www.linio.com.co/Mpu6050-Acelerometro-Giroscopio-6-Dof---Azul-1101138.html
y el 2-http://www.pishrobot.com/files/products/datasheets/srf06.pdf el primero es el de los 3 ejes de acelerometro y giroscopio y el segundo es un sensor de ultrasonido, oye deberia ponerle al robot delantero 2 sensores de esos de ultrasonido uno en cada pie y el de los 6 ejes, pero al robot portero yo pienso que no es necesario darle un equilibrio tan inteligente y que podria jugar bien con el acelerometro de 2 ejes que opinas tambien deberia ponerle uno de 6 ejes al robot portero mas dos de ultrasonido de los que ya mencione o al portero solo los 2 de ultrasonido

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #20 en: 14 de Septiembre de 2015, 17:03:41 »
hola juaperser1 he tenido mas problemas con el robot el programa robot motion plus sigue sin reconocer la posicion del robot y no se porque y cuando le doy start mueve un brazo y una pierna sin parar hasta que lo apago ya compre el usb2dynamixel y se instalo el driver del usb ahora como hago para programar al robot desde matlab con el usb2dynamixel, una pregunta con ese usb se puede programar al robot desde matlab y eclipse al mismo tiempo o solo puedo usar uno de los dos programas

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #21 en: 14 de Septiembre de 2015, 18:28:46 »
Pues, yo siempre te hablo de los servos, ya que he trabajado con robot que tenían esos servos, robotis da una .DLL para que puedas comunicarte con los servos  a través de distintos lenguajes de programación, incluidos matlab, c++, c#, labview, etc. Yo los software que he usado para ordenador los he hecho con c#, pero con eclipse puedes hacerlo con c++.

En mi caso mi software de ordenador, utilizaba los datos generados en matlab para manejar el robot, dibujar graficas, y a todo el manejo en general.

He visto casos que, compilados directamente en simulink se han ejecutado en un hardware con un sistema operativo en tiempo real. Mezclando dos programas, pero de eso olvidate. Te llevaría años hacer eso.

Osea que programes en un solo entorno o matlab o eclipse o visual estudio. Pero solo 1, eso no quiere decir por ejemplo que crees un fichero de coordenadas en matlab y lo interpretes desde eclipse.

Lo de que mueve un brazo y una pierna sin parar, yo juraria que alguien han tocado los parámetros de la ROM ( si es de la universidad y lo han tocado mas gente no te extrañe), pero si dices que ya lo has comprobado, no tengo ni idea de que puede ser.

Un saludo.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #22 en: 14 de Septiembre de 2015, 21:54:00 »
Generalmente se usan acelerómetros en conjunto con giróscopos para obtener buenos resultados a la hora de medir angulos. El acelerómetro por sí solo te puede indicar la inclinacion del punto donde esta instalado, pero el problema es que es muy "ruidoso" y con pequeñas vibraciones se miden grandes diferncias de angulo. El giróscopo en cambio mide VELOCIDAD ANGULAR. Si lo dejas quieto, a salida es cero (o debería), al girarlo con velocidad constante, la salida es un valor fijo. Entonces integrando la salida del giróscopo se obtiene el ángulo de giro. Este sensor es el mejor para medir ángulos si no fuese por un defecto, presenta "deriva" en los resultados de las mediciones y debe ser compensado constantemente. Con qué se lo compensa? con el acelerómetro.
Entonces lo que debes investigar es algoritmos de fusion para giróscopos y acelerómetros. Hay muchos, desde un filtro Kalman, hasta la matriz DCM, o un simple filtro ponderado...
En esta seccion podrás encontrar algo de esos sensores y la combinacion de los mismos.

Saludos!
-
Leonardo Garberoglio

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #23 en: 14 de Septiembre de 2015, 22:00:51 »
gracias, por sus respuestas al menos guiado por ustedes tengo una idea de que camino seguir aunque este solo en el proyecto

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #24 en: 17 de Septiembre de 2015, 11:26:13 »
hola elgarbe mira este es el sensor que voy a usar en el robot mpu 6050 http://www.linio.com.co/Mpu6050-Acelerometro-Giroscopio-6-Dof---Azul-1101138.html
ahi dice que tiene un DMP capaz de procesar algoritmos Motion Fusion de 9 ejes complejos me puedes explicar eso un poco mejor ya que no lo entiendo muy bien
el MPU-6050 elimina el problema de alineación de ejes que pueden arrastrarse para arriba en partes discretas esto que quiere decir me puedes explicar soy muy novato
con eso de los giroscopios y acelero-metros, y me puedes explicar este sensor se comunica por i2c y el cerebro del robot tiene puertos ttl y rs485 como haria la comunicación
para que sea directa entre el sensor y el cerebro del robot para no poner tarjetas ni nada de eso entre el sensor y el robot ya que el robot va a estar en movimiento constante,
he leido un poco lo de control y las tecnicas que han usado en el subforo uavs lei sobre lo del filtro de kalman y el de compensacion que era mejor que el primero, I2C Digital-salida de datos Motion Fusion 6 o 9 ejes en matriz de rotación, cuaternión, Euler ángulo, o formato de datos en bruto estos son datos del mpu 6050 dime esto significa que como incluye un DMP que procesa algoritmos de movimiento ya no seria necesario utilizar ningun PID, ni kalman ni el de compensacion

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #25 en: 17 de Septiembre de 2015, 22:44:44 »
Nunca he usado el DMP y no creo que sea la solucion magica que buscas.
Es cierto que con e MPU6050 eliminas problemas de alineacion.
Pues como no tienes un puerto I2C en el "cerebro" de tu robot, tendrías que ver si es posible emularlo por software. desconozco totalmente las especificacione del "cerebro" de tu robot, ni como se programa ni nada de nada.
No sé si el DMP se encarga de fusionar los datos del giroscopo con los del acelerómetro y que informacion te da. Incluso tengo entendido que la habilitacion del DMP no es algo simple.
Si nunca trabajaste con un giróscopo ni con un celerómetro estas muy lejos de poder fusionar sus datos y utilizarlos para conocer la inclinacion del robot.

Estas cosas se plantean de a poco, fijate en el foro de uav's que para cada sensor hemos hecho un estudio desde cero y hemos realizado pruebas desde cero con cada uno de ellos, no arrancamos directamente a tratar de fusionar los datos, ya que ni siquiera conociamos lo que daba cada sensor.
no intentes correr antes de aprender a caminar.
Si quieres probar el mpu6050 con gusto te ayudo, pero arranquemos de cero y avanzá paso a paso.

abrazo!
-
Leonardo Garberoglio

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #26 en: 18 de Septiembre de 2015, 10:15:26 »
ok el garbe ya lei varios post de uavs y tengo mas o menos la idea la otra semana compro el sensor y empiezo a probarlo

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #27 en: 18 de Septiembre de 2015, 10:40:47 »
ok, y ya sabes como lo vas a conectar al "cerebro" del robot?
-
Leonardo Garberoglio

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #28 en: 18 de Septiembre de 2015, 10:44:43 »
no tengo idea como hago eso ya que el mpu 6050 tiene comunicacion i2c pero el cerebro del robot solo tiene puertos ttl y rs485

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: cinematica inversa de un robot con 18 grados de libertad
« Respuesta #29 en: 18 de Septiembre de 2015, 11:05:31 »
Como que el datasheet no posee demasiada explicacion de que es el DMP
Solo encontre esto que supuestamente es la libreria de Invesense

https://www.dropbox.com/s/91yioqg11bhgyvk/DMP.zip

Pero que dijeron que no andaba muy bien.

Citar
no tengo idea como hago eso ya que el mpu 6050 tiene comunicacion i2c pero el cerebro del robot solo tiene puertos ttl y rs485

Te dieron la respuesta justo arriba

Citar
Pues como no tienes un puerto I2C en el "cerebro" de tu robot, tendrías que ver si es posible emularlo por software. desconozco totalmente las especificacione del "cerebro" de tu robot, ni como se programa ni nada de nada.

Aunque tal ves esto sea lento. y no funcione demasiado bien.

Pd: Parece que trae hasta un ejemplo para Code Composer Studio  de TI :P, me vino de 10 buscarlo por que tengo el modulo en casa, nomas que nunca lo toque.
« Última modificación: 18 de Septiembre de 2015, 11:10:18 por KILLERJC »