[Jde-dev] Probando la interfaz JointsArray

JoseMaria jmplaza en gsyc.es
Jue Mar 18 13:31:23 CET 2010


Aqui van mis dos centavos,

Con get/set pos tenemos ya un interfaz completo para el control en
posición. Los valores de los límites (get y set nuevamente) también me
parecen útiles, los incluiría.

Debajo de ese API en posición suele haber un controlador que lo
materializa dando las órdenes físicas (a frecuencia de KHz) al motor de
la articulación. A veces este controlador es modulable, por ejempo
"velocidad" con la que se quiere conseguir esa posición, y ese parámetro
se podría incorporar al API de la articulación. 

Aunque de momento no esté soportado, lo incluiría en el API y empezaría
por usar a mansalva este api básico con los ápodos, brazos mecánicos y
humanoides que tenemos ahora entre manos. Aplicándolo a esos ejemplos ya
valoramos si merece la pena incluir más cosas o no.

OJO que este interfaz sólo permite control en posición, no control en
velocidad, que a veces es interesante. Por ejemplo el cuello mecánico de
los robots te ofrece otro API en velocidad para controlarlo, gobernando
la velocidad a la que gira (aunque el recorrido sea limitado). Esto
también lo dejaría fuera de momento, si acaso vemos que es útil podemos
dar de alta otro interfaz diferente para el mismo dispositivo.

JoseMaria
On Wed, 2010-03-17 at 10:17 -0400, David Lobato wrote:
> Genial la demo!
> 
> 
> Yo empezaría por definir la interfaz de un servo y luego pasaría al
> array.
> Pondría los siguientes métodos (los nombres son tentativos):
> 
> 
> interface Joint{
>    void setPos(short pos);
>    short getPos();
> }
> 
> 
> sequence<Joint*> JointSeq;
> dictionary<short,short> JointPosMap;
> 
> 
> interface JointArray{
>    JointSeq getJoints();
>    Joint* getJoint(short id);
> 
> 
>    void setJointsPos(JointPosMap values);
>    JointPosMap getJointsPos();
> 
> 
>    void setJointPos(short id, short pos);
>    short getJointPos(short id);
> }
> 
> 
> No estoy seguro de si merece la pena las operaciones
> setJointPos/getJointPos en el interfaz JointArray, ya que podemos
> operar directamente sobre el Joint devuelto con getJoint().
> 
> 
> También puede ser interesante añadir una operación en Joint para
> obtener el rango de movimiento y otra para fijar límites.
>  
> 
> 
> Otras ideas??
> 
> 
> Un saludete,
> David.
> 
> 
> 
> 2010/3/17 Juan Gonzalez <juan en iearobotics.com>
>         Hola,
>         
>          Tengo una primera versión de la interfaz JointsArray para
>         posicionar
>         un array de articulaciones.
>         
>          He hecho un ejemplo con 4 servos. Aquí podéis ver el vídeo:
>         
>         http://www.youtube.com/watch?v=6T3V69dWtP0
>         
>         El código está disponible en aquí[1]. El cliente posiciona los
>         servos
>         usando el método SetPos():
>         
>         JointsArray.SetPos(joint, angle)
>         
>         donde joint es el número de la articulación y angle el ángulo
>         a donde
>         llevarla (en los servos que uso el rango es -90,90)
>         
>         El fichero con la interfaz en ICE está aquí[2]
>         
>         Y aquí comienza el debate hacia la maduración de la interfaz.
>         ¿Qué
>         nombre le ponemos? ¿Qué más métodos añadimos en la interfaz?
>         ¿Cómo lo
>         generalizamos?
>         
>         
>         Saludos, Juan
>         
>         PD.- Todos los videos que saco, además de subirlos a youtube,
>         los estoy
>         subiendo al servidor:
>         
>         http://jderobot.org/users/obijuan/videos/
>         
>         
>         
>         [1]https://svn.jderobot.org/users/obijuan/postdoc/trunk/jderobot5-components/Joints/
>         [2]https://svn.jderobot.org/users/obijuan/postdoc/trunk/jderobot5-components/Joints/Joints.ice
>         
>         
>         
>         
>         --
>         Blog: www.iearobotics.com/blog
>         Web: www.iearobotics.com/juan
>         
>         _______________________________________________
>         Jde-developers mailing list
>         Jde-developers en gsyc.es
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
> 
> 
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers


-- 
http://gsyc.es/jmplaza 
Universidad Rey Juan Carlos




More information about the Jde-developers mailing list