Picture of Miguel Angel Tinte García
problemas con fuerzas repulsivas
by Miguel Angel Tinte García - miércoles, 24 marzo 2010, 07:25
 
Hola,

tengo un problema con el cálculo de las fuerzas repulsivas porque parece que no estoy sumando correctamente todos sus componentes. Lo que hago ahora mismo es recorrer todo el laser de manera que voy sumando las componentes x e y de las medidas del laser. Al final, tengo el sumatorio de las x y de las y que utilizo para crear la Fza resultante.

El problema está en que en que cuando tengo un obstáculo en el hacia la izquierda (desde nuestro punto de vista) del robot (-x) me crea una fuerza repulsiva grande en el sentido contrario pero cuando el obstáculo está a la derecha crea una fuerza muy pequeña en el sentido equivocado. Esto me lleva a pensar que estoy sumando mal las fuerzas o al menos no en la dirección correcta.

¿Alguien sabe como puedo crear correctamente el sumatorio de estas fuerzas?

Gracias
Picture of Oscar Garcia
Re: problemas con fuerzas repulsivas
by Oscar Garcia - jueves, 25 marzo 2010, 10:00
 
¿Estás convirtiendo grados en radianes antes de calcular el resultado de las funciones trigonométricas?

Sin fórmula es difícil saber si es eso o cualquier otro error de cálculo.
Picture of Oscar Garcia
Re: problemas con fuerzas repulsivas
by Oscar Garcia - jueves, 25 marzo 2010, 10:43
 
Disculpa, pasó el tiempo de edición del post que hice anterior (30 minutos) y toda la explicación que hice se ha perdido, siento tener que hacerte una menos detallada.

1.- Repetir para los elementos 0 a 179:
2.- Calcular en radianes el ángulo teniendo en cuenta que el elemento 0 está a -PI / 2 radianes y que el elemento 180 (¿o 179?) estaría a PI / 2.
3.- Agregarle el ángulo en el que está mirando el robot (si no, estaríamos calculando las fuerzas como si siempre estuviera mirando a 0 radianes).
4.- Calcular la proyección de las fuerzas de repulsión teniendo en cuenta que la repulsión se produce a PI radianes más o invirtiendo el signo de las proyecciones X e Y.
5.- Sumar las proyecciones.

Por último agregas la fuerza de atracción del siguiente punto de control y con el resultado calculas de nuevo el módulo y el ángulo para saber qué hacer con el resultado (acelerar, frenar, girar, etc).

Un saludo.
Picture of Miguel Angel Tinte García
Re: problemas con fuerzas repulsivas
by Miguel Angel Tinte García - viernes, 26 marzo 2010, 11:10
 
Hola Oscar,

muchas gracias por tu explicación. Entonces resumiendo, lo que entiendo que hay que hacer básicamente es recorrer el laser de 0-179 y el ángulo sobre el que calcular las componentes x e y de las fuerzas repulsivas va a ser: angulo = (i-90)*DEGTORAD;

Luego sería sumar las fuerzas x e y e invertir su signo. ¿Es esa la idea más o menos?

Gracias de nuevo

Un saludo
Picture of JoseMaria Cañas
Re: problemas con fuerzas repulsivas
by JoseMaria Cañas - viernes, 26 marzo 2010, 11:20
 
uhm.... a ver, no hay magia de signos, basta elegir el sistema de referencia adecuado para hacer los cálculos y expresar las fuerzas repulsivas correctamente en ese sistema. El sistema de referencia bueno es el solidario con el robot, que tiene X+ hacia el frente e Y+ hacia su izquierda. Este es el más conveniente, porque es el que emplean las funciones relativas2absolutas y absolutas2relativas.

En ese sistema de referencia tendrás que expresar, por ejemplo la fuerza repulsiva generada por laser[35]. Esa fuerza tendrá un módulo más o menos inversamente proporcional a la distancia y un ángulo que tienes que expresar correctamente en radianes para los cálculos de senos y cosenos. Ocurre que laser[0] está en menos 90º respecto del sistema de referencia solidario con el robot que me hemos mencionado. laser[90] está en 0º y laser[179] en +89º , si no recuerdo mal. El ángulo de laser[35] entonces es -55º (angulo=indice_en_array_laser-90º), y la fuerza repulsiva generada por él va en sentido contrario, es decir -55º+180º.

Expresando bien los ángulos te quedan las fórmulas clásicas de y=Modulo* sin(angulo), x=Modulo*cos(angulo).

Espero que ahora esté más claro. Es más difícil contarlo con letras que con un dibujito sencillo....







Picture of Miguel Angel Tinte García
Re: problemas con fuerzas repulsivas
by Miguel Angel Tinte García - viernes, 26 marzo 2010, 11:32
 
Ok, ahora queda mucho más claro :-)

Gracias Jose María
Picture of JoseMaria Cañas
Re: problemas con fuerzas repulsivas
by JoseMaria Cañas - viernes, 26 marzo 2010, 11:42
 
Una cosa más: en el sistema de referencia bueno theta es "el de siempre" el que va de X+ a Y+ por el camino más corto.