[Jde-dev] Probando la interfaz JointsArray
JoseMaria
jmplaza en gsyc.es
Jue Mar 18 13:34:26 CET 2010
Ah, el salto de uno a varios, como veais.
La idea es que podamos aplicar este mismo api para un ápodo con 5 nodos,
para el brazo o pata de un humanoide que tienen otro número de
articulaciones...
JoseMaria
On Thu, 2010-03-18 at 13:31 +0100, JoseMaria wrote:
> 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