TODOPIC

Mecatrónica => Robótica => Mensaje iniciado por: Yei_Yei_Yei en 03 de Febrero de 2005, 12:35:00

Título: Calculo del movimiento de un robot
Publicado por: Yei_Yei_Yei en 03 de Febrero de 2005, 12:35:00
Buenas:

Soy nuevo en el foro, y estoy haciendo mi proyecto de fin de carrera con un robot y tengo un problema para calcular el movimiento del robot.

Mi problema consiste en: a partir de los datos qeu me da el laser del robot hallo las rectas que forman, y l que tengo que hallar es el movimiento del robot a partir de lo que se mueven lrectas de una adquisicion a otra. Es decir, la traslacion respecto al Eje X, respecto al Eje Y, y la rotacion. La rotacion es facil, pero las traslaciones no. Como puedo hacerlo?

A ver si alguien me puede ayudar.

1saludo, alberto
Título: RE: Calculo del movimiento de un robot
Publicado por: Nocturno en 04 de Febrero de 2005, 02:57:00
Pues no entiendo tu pregunta. ¿Qué es eso del láser del robot y los ejes X e Y?
¿acaso el robot lanza un láser sobre la pared y debes averiguar la posición del robot en función de donde apunte el láser?

Explícate un poco mejor y seguro que encontramos solución.
Título: RE: Calculo del movimiento de un robot
Publicado por: tornar en 04 de Febrero de 2005, 08:46:00
Hola Yei_Yei, primero deberias decir que herramientas matematicas stas usando... matrices homogeneas, angulos de Euler, par de rotacion, etc. Y segundo, que es lo que kieres realmente obtener un interpolador lineal o cubico que te calcule los puntos por los que deberia pasar el robot, para saber en que posicion se encontrara el robot en cada instante "t", presumiendo Velocidad constante?

Explicate mejor....

Saludos
Título: RE: Calculo del movimiento de un robot
Publicado por: Modulay en 04 de Febrero de 2005, 09:49:00
tornar q son esas matrices y esos angulos de euler? ¿en qué consisten?
Título: RE: Calculo del movimiento de un robot
Publicado por: tornar en 05 de Febrero de 2005, 10:42:00
Son herramientas matematicas usadas para representar la posicion y la orientacion de los eslabones de un robot, normalmente respecto a un sistema de referencia fijo situado en la base.
Título: RE: Calculo del movimiento de un robot
Publicado por: Jimmy_pop en 08 de Febrero de 2005, 07:32:00
no quisiera desanimarte excesivamente pero me parece que pides la luna.

el problema éste es suficientemente grande como para dedicarle un proyecto serio para él solito sin ni siquiera implementarlo, así que dudo que seamos capaces de resolverlo aquí.
Título: RE: Calculo del movimiento de un robot
Publicado por: valdorre en 28 de Febrero de 2005, 18:59:00
tornar me podrias dar mas datos sobre esas herramientas matematicas y si hay algo en la red, algun ejemplo o algo?
suena muy interesante
saludos

valdorre
Título: RE: Calculo del movimiento de un robot
Publicado por: tornar en 01 de Marzo de 2005, 03:16:00
Hola valdorre, la verdad es que no se que habra por internet respecto al tema, yo lo que se es por la asignatura que he cursado de robotica, y el libro que tenia era "Fundamentos de la Robotica" de Barrientos, no es mal libro, aunke se centra en los robots industriales.

Y al tratarse de herramientas matematicas, es dificil dar muchos mas datos sin meternos en cosas exclusivas de las matematicas y que son dificiles de explicar en un foro.

Un saludo desde Madrid.
Título: RE: Calculo del movimiento de un robot
Publicado por: valdorre en 01 de Marzo de 2005, 10:31:00
gracias tornar, voy a tratar de conceguir el libro, si encuentro algo mas lo aporto al foro
saludos

valdorre
Título: RE: Calculo del movimiento de un robot
Publicado por: manex_1987 en 02 de Marzo de 2005, 12:33:00
No estoy demasiado ilustrado en la cuestion, pero creo que lo que pides se relaciona con la cinematica inversa.

salu2
Título: RE: Calculo del movimiento de un robot
Publicado por: Modulay en 02 de Marzo de 2005, 18:14:00
Joer que palabrejas
¿Qué es eso de la cinemática inversa?
Título: RE: Calculo del movimiento de un robot
Publicado por: I3iT en 03 de Marzo de 2005, 05:26:00
Pues cinematica inversa es lo contrario que cinematica directa......

Valio la broma. Mirando en el barrientos para tener una definición clara:

El objetivo del problema cinematico inverso consiste en encontrar los valores que deben tener las coordenadas articulares del robot para que su extremo se posicione y oriente segun una determinada localizacion espacial.

Resumiendo; que valores deben tener los angulos (y traslaciones)  de cada articulacion del robot para que el efector final (pinza) este en la posición que nosotros queramos, y con la orientacion deseada

Espero haberme explicado.

Salu2
Título: RE: Calculo del movimiento de un robot
Publicado por: Jimmy_pop en 06 de Marzo de 2005, 11:52:00
veo que seguimos peleando con este tema

hay un par de cosas q debo decir:

la cuestion de la cinematica inversa efectivamente consiste en determinar el valor de las coordenadas generalizadas que definen el movimiento de un mecanismo para obtener unas coordenadas de posición de alguna parte del mecanismo concretas, y consiste en invertir la descripción cinematica directa que justo describe la posicion en funcion de las coordenadas generalizadas, esto NO OBSTANTE solo es válido para MECANISMOS HOLÓNOMOS que existe una solucion general de la cinematica directa

no obstante la mayoría de los vehículos son no-holónomos, eso significa que no es posible encontrar una solución que dé a partir de las coordenadas generalizadas las coordenadas de posicion, es decir éste rollo que sí sirve para brazos de robot y mecanismos parecidos no sirve por ejemplo para coches.

La forma de saber si un mecanismo es holónomo es mirar si hay el mismo número de grados de libertad que de coordenadas independientes, en caso contrario el mecanismo es no-holónomo.

por ejemplo: un coche permite actuar en 2 grados de libertad: la orientacion de las ruedas y el avance y retroceso de las ruedas motrices... en cambio sabemos que un coche podemos orientarlo como nos dé la gana en el plano es decir podemos situarlo en cualquier coordenada (x,y)? y tambien en cualquier angulo... por lo tanto 3 coordenadas independientes.

y dicho esto... solo añado que dios nos coja confesados.. para saber donde se encuentra un vehículo a partir de las coordenadas sobre las cuale se actua se debe integrar la trayectoria y eso es una fuente de error que hace que el valor obtenido tengo un error no-acotado que se va a infinito a medida que el coche se va moviendo...

nuestro monsieur para evitar este problema propone hacer una lectura directa de la posición basandose en unas medidas tomadas con un laser. Pues bien, eso sí permite acotar el error pero requiere un estudio analítico bastante dificil como para que intentemos hacerlo aquí, yo aconsejo buscar un libro bueno de mecánica analítica y saber algo de geometria pq esto no tiene un pelo de facil.

fin

un saludo
Título: RE: Calculo del movimiento de un robot
Publicado por: Modulay en 06 de Marzo de 2005, 12:24:00
Con lo bonito que es el cálculo integral!!
Por cierto,Jimmi,no termino de ver esas tres variables independientes en un plano definido ¿te refieres a las dos coordenadas de posición y aparte una variable angular que determina la orientación?
Título: RE: Calculo del movimiento de un robot
Publicado por: Nocturno en 07 de Marzo de 2005, 00:21:00
Creo que sí, Modulay, se refiere a (x, y, ángulo). Sólo con esa terna podrás determinar la posición exacta del coche.
Claro, eso siempre que se considere que el suelo es un plano perfecto. De no ser así, la cosa se complica loco
Título: RE: Calculo del movimiento de un robot
Publicado por: manex_1987 en 08 de Marzo de 2005, 11:45:00
Entonces serian cuatro! x,y,angulo horizontal,angulo vertical...
Con un inclinometro...Avergonzado

Jimmy tiene razon... el error tiende a aumentar exponencialmente (infinito es buena hiperbole), una solucion es, segun he leido por ahi, tener una retroalimentacion.
Bien conociendo la geometria de la habitacion (si esta fuera cuadrada por ejemplo) podriamos medir la distancia hasta una pared, y junto con la orientacion, podriamos rectificar la posicion XY.
O sino, una cuadricula en el suelo, y lo necesario para que el vehiculo la detecte, asi se suprimiria el error cada vez que pisara la cuadricula.

salu2
Título: RE: Calculo del movimiento de un robot
Publicado por: Nocturno en 08 de Marzo de 2005, 13:54:00
Pues creo que faltarían dos, querido Manex: altura (z) y ángulo en el tercer eje.
Pero bueno, que no se nos vaya la olla. Seguro que hay sistemas de retroalimentación como los que tú enuncias que resuelven el problema Muchas risas
Título: RE: Calculo del movimiento de un robot
Publicado por: Jimmy_pop en 12 de Marzo de 2005, 06:25:00
es un problema abierto xD hay muchas cosas q se pueden hacer, depende muchisimo del nivel de complejidad que se quiera alcanzar...

cuando hablaba de 3 coordenadas, me refería a situarlo en el plano, tan si es abrupto como si no: 2 ejes ortogonales y una rotación, si te quieres flipar en el espacio necesitas 6 coordenadas: 3 translaciones y 3 rotaciones...

xcierto, que yo una vez peleándome con el tema de situar un vehículo pensé varias soluciones o mejoras alternativas que expongo a continuación:

1a- usar un mecanismo de desplazamiento que fuese holónomo (tb induce error derivado de las imperfecciones del modelo pero por lo menos las variables de posición estan desacopladas) un modo de hacerlo es tener un vehiculo que sea capaz de moverse en 2 direcciones... algo así como un tanque con 2 pares de cadenas en 2 direcciones... es chungo de hacer un diseño de este tipo.

2a- usar un sensor brújula de los que miden el campo magnético terrestre para tener la lectura del ángulo absoluto (no hace milagros pq el sensor es mierda).

3a- usar un gps para tener datos externos de posición para acotar el error (no comment xD)

si hay algun loco q tenga experiencia en alguna opcion de estas o algo parecido que lo comente y aun podemos echarnos unas risas xD

saludos
Título: RE: Calculo del movimiento de un robot
Publicado por: juanchute en 11 de Junio de 2005, 07:44:00
no se si esta solucion entra en la 1 de jimmy, pero veo que el pocisionamiento es un tema que nos interesa a varios. pensando en este problema de pocicionar un auto en un plano, pense en 1 acelerometro,orientado en la direccion de avance (perpendicular al eje trasero), luego con un circuito integrador se saca la velocidad de avance, y luego midiendo el angulo de las ruedas se tienen todas las variables necesarias para saber la posicion, salvo constantes iniciales que si consideramos al sistema relativo, se consideran 0. en cuanto a los errores, dependeran de nuestros sensores, para corregirlos se nesecitaria un sistema externo al movil, para comparar una referencia absoluta con la relativa del movil. formas para eso, un gps, varios postes fijos que le indiquen su posicion absoluta, etc.
bueno espero que se halla entendido
sds
juan
Título: RE: Calculo del movimiento de un robot
Publicado por: Jimmy_pop en 11 de Junio de 2005, 10:09:00
Hola, los mecanismos que has dicho tienen su gracia y en su dia tb me los planteé pq en ciertas aplicaciones son válidos.

El primer método de integrar la lectura del acelerómetro, la precisión limitada y ruído que da el acelerómetro además de la necesidad de integrar artificialmente llevan inevitablemente como ya has puntualizado a que el error se propague. Luego el tema del mouse tiene ventajas porque el error de integración de las velocidades longitudinal y transversal mas o menos se van compensando pq el sensor lee directamente del medio para evaluar los desplazamientos.

No obstante sigue siendo necesario conocer la orientación y el cambio de orientación del vehículo a lo largo del tiempo para deducir por donde pasa. Eso se puede hacer con sensores de rotación de los ejes del vehículo y usando esas lecturas junto con las otras para integrar sobre la marcha las ecuaciones cinemáticas, pero nuevamente aparece el error debido a la incertidumbre de la lectura de las rotaciones de los ejes y las imprecisiones de fabricacion de los elementos que componen la geometría del vehículo. Tambien se pueden usar sensores de velocidad angular (que existen) e integrarlos o usar sensores brújula que son una basura.

Todo ello lleva siempre al problema del error, solo superable con una realimentación externa de medida de distancias con puntos conocidos de la referencia o sistemas de vision por computador mas chungos que la leche o bien usando un gps que solo es útil si se hace bien lo otro y sirve solo de complemento.

Es verdaderamente jodido.
Título: Re: Calculo del movimiento de un robot
Publicado por: Oceano en 18 de Julio de 2011, 06:14:39

No sé si entiendo bien tu pregunta, te pongo un enlace donde explica cómo hacer trayectorias en un brazo tipo SCARA, igual te puede ayudar en tu proyecto.

El principio se trata de usar un algoritmo de Bresenham modificado para varias dimensiones. El Bresenham más sencillo es el de dos dimensiones (el típico) y sirve para trazar trayectorias  lineales punto en un plano 2D. Se usa en gráficos, máquinas de CNC y Plotters. De esta forma conseguimos líneas rectas en cualquier ángulo (trayectorias punto por punto). Dependiendo de los grados de libertad que tenga tu robot se usa un Bresenham con ese número de dimensión. Por ejemplo, si tiene 4 grados de libertad (o 4 formas de moverse), se trata de usar un Bresenham de 4 dimensiones. En la web que te pongo abajo llegarás a ver un Bresenham de hasta 6 dimensiones. Se puede usar ese mismo para uno de 4, ya que las dimensiones que no uses sólo has de dejarlas a cero.

http://sites.google.com/site/proyectosroboticos/trayectorias

Saludos y suerte!
Título: Re: Calculo del movimiento de un robot
Publicado por: PFER90 en 28 de Noviembre de 2012, 19:08:13
el problema de la ubicación exacta es muy dificil, hasta la aparición del GPS los submarinos utilizaban sistemas inerciales y a la larga no sabían donde estaban parados...., siempre se necesita una referencia exterior para eliminar el error
Título: Re: Calculo del movimiento de un robot
Publicado por: gab163 en 28 de Mayo de 2013, 15:36:22
También se puede implementar un modelo matemático usando las leyes de newton (el mas sencillo)  si quieres tener en cuenta las fuerzas no inerciales debes hacerlo por el metodo de Kane(el mas complicado) ,con el diagrama de cuerpo libre del robot, obtienes las ecuaciones diferenciales del modelo, y puedes implementar un control como un pid donde tus variables son la posición x,y y angulo y podrás por medio de una referencia controlar cada una de ellas. Si sabes algo de representación en espacio de estado sera aun mas fácil a mi parecer.