Robotica - AYUDA:modelo inverso

 
Vista:

AYUDA:modelo inverso

Publicado por lls (1 intervención) el 15/02/2007 19:35:09
Tengo una duda acerca del modelo inverso de un robot.

Realizo el modelo directo con una posicion articular q
Luego realizo el inverso, y resulta q ninguna de las respuestas al inverso coincide con q

Porque pasa esto??

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA:modelo inverso

Publicado por javier (17 intervenciones) el 16/02/2007 08:29:25
La cinemática se ocupa de la descripción del movimiento sin tener en cuenta sus causas.

El objetivo de la cinemática inversa consiste en encontrar el gesto que deben adoptar las diferentes articulaciones para que el final del sistema articulado llegue a una posición concreta.

Por ejemplo imaginemos que tenemos un robot con piernas, las piernas surgen de la cadera y a continuación estaría el fémur, la rodilla, la tibia y el pie (para simplificar acabaremos en el pie sin mas articulaciones).

En esta figura podemos observar el sistema que pretende imitar una pierna, como es lógico la posición de la cadera es fija o la podremos calcular en relación al cuerpo del robot o anclaje, pero ahora el problema que surge es, el posicionar el pie.

Basándonos en un sistema de coordenadas cartesianas podemos definir la posición que queremos que tome el pie, por ejemplo a 4cm en vertical y a 2,5cm desde la cadera, pero nos surgen los siguientes problemas;

- Que ángulo debe adoptar el fémur respecto a la cadera?

- Que ángulo debe adoptar la tibia respecto a la rodilla?

- Donde posicionamos la rodilla para que el pie tome la posición que queremos adoptar?

La cinemática inversa pretende solucionar el problema, veamos como podemos hacerlo.

Tomaremos la posición de la cadera como punto de origen de los vectores fémur y tibia, estos vectores tienen un radio o largo invariable, por ejemplo 10cm cada uno, con lo que el radio máximo que la pierna puede alcanzar será de 10cm de fémur + 10cm de tibia = 20cm. Para simplificar los cálculos es importante que el largo de fémur y tibia sea el mismo como veremos mas adelante.

Tomaremos el siguiente caso práctico, en el cual queremos posicionar el pie en un sistema cartesiano en la posición y=10 y x=5 con relación a la cadera.

Pensando un poco podemos observar que se forma un triángulo rectángulo entre los puntos de cadera y pie y disponemos del largo de los 2 catetos que son equivalentes a la posición X e Y en el sistema de representación cartesiano, así pues podemos calcular la hipotenusa de este triángulo como sigue.


Un cateto vale 10 y el otro 5, por lo tanto (10²+5²) = (100+25) = 125 ahora nos falta hacer la raiz cuadrada y quedaria Raíz(125) = 11,80 que seria la distancia entre los puntos de origen y destino(cadera a pie).

Ya sabemos la distancia y este dato es muy importante para el siguiente calculo, pero nos falta aun una cosa y es el ángulo que forma la hipotenusa que acabamos de calcular. Esto lo calcularemos con la siguiente formula:

ArcTan ( X / Y )

Y quedaría como sigue, (5 / 10) = 0,5 y ahora calculamos la ArcoTangente de 0,5 que nos dará como resultado 26,56º

Ya tenemos definido en coordenadas polares el punto donde queremos poner el pie del robot con respecto al punto de origen formado por la cadera que es de donde parte el fémur.

Ahora vamos a calcular que ángulo tendrán que tomar el fémur y la cadera para que el pie apunte justo a esa posición.

Sabemos que el fémur y la tibia tienen una longitud exactamente igual y esto como comentábamos al principio es de vital importancia para que el calculo sea simple ya que el punto donde convergen caerá siempre en la vertical de la mitad de la distancia entre cadera y pie (línea punteada en la siguiente figura), por lo tanto la rodilla siempre caerá en esa línea aunque no sabemos a que altura, y tampoco importa ya que solo nos interesa el ángulo de fémur y tibia.

Observamos que la línea roja y al línea punteada amarilla forman un ángulo de 90º y como en el caso anterior.. tendremos un triángulo rectángulo solo que ahora la hipotenusa es el propio fémur y contamos con la ventaja de saber su longitud, con lo que solo tendemos que calcular su ángulo, y tenemos que tener en cuenta que este ángulo que obtendremos será en relación a la línea entre cadera y pie por lo tanto para posicionar en el sistema cartesiano tendremos que sumarlos como veremos a continuación. Ahora vamos a calcular el ángulo del fémur de la siguiente manera.

La longitud del cateto opuesto a la rodilla (línea roja) es de 5,9cm (recordemos que es la mitad de la longitud entre cadera y pie) y la hipotenusa (fémur) mide exactamente 10cm con lo cual podemos calcular el seno de este triángulo rectángulo como sigue:

seno = cateto / hipotenusa

El cateto mide 5,9 y la hipotenusa 10 así que (5,9 / 10) = 0,59

Ahora solo tenemos que calcular el arcoseno de 0,59 para saber el ángulo que buscamos, esta función no se encuentra en muchos lenguajes de programación pero se puede calcular de la siguiente manera

ArcSen = Arctan(seno / Raíz(-seno * seno + 1))

Y obtenemos un ángulo de 36,16º correspondiente al seno 0,59

Este ángulo es el ángulo agudo del triángulo rectángulo así que hay que restarle 90º para obtener el ángulo que nos interesa, y esto sumado al ángulo formado por la línea entre cadera y pie nos da el ángulo total referenciado al sistema de coordenadas cartesiano o lo que es lo mismo referenciado al anclaje de la pierna o cuerpo del robot.

Angulo fémur = (90 - 36,16) + 26.56 = 80,4º







Así ya tenemos el fémur en su sitio y solo nos falta calcular el ángulo de la tibia, pero este calculo es mucho mas simple ya que tal ángulo es el doble del ángulo agudo calculado anteriormente con lo cuál:

Angulo Tibia = 36,16º x 2 =72,32º

Este ángulo es en relación al ángulo del fémur como puede observarse en la siguiente figura.


Llegados a este punto ya hemos conseguido el objetivo de saber que ángulo deben adoptar las extremidades de una supuesta pierna, para alcanzar un punto concreto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar