Genial la demo!<div><br></div><div>Yo empezaría por definir la interfaz de un servo y luego pasaría al array.</div><div>Pondría los siguientes métodos (los nombres son tentativos):</div><div><br></div><div>interface Joint{</div>
<div>   void setPos(short pos);</div><div>   short getPos();<br>}</div><div><br></div><div>sequence&lt;Joint*&gt; JointSeq;</div><div>dictionary&lt;short,short&gt; JointPosMap;</div><div><br></div><div>interface JointArray{</div>
<div>   JointSeq getJoints();</div><div>   Joint* getJoint(short id);</div><div><br></div><div>   void setJointsPos(JointPosMap values);</div><div>   JointPosMap getJointsPos();</div><div><br></div><div>   void setJointPos(short id, short pos);</div>
<div>   short getJointPos(short id);</div><div>}</div><div><br></div><div>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().</div>
<div><br></div><div>También puede ser interesante añadir una operación en Joint para obtener el rango de movimiento y otra para fijar límites.</div><div> </div><div><br></div><div>Otras ideas??</div><div><br></div><div>Un saludete,</div>
<div>David.</div><div><br></div><div><br><div class="gmail_quote">2010/3/17 Juan Gonzalez <span dir="ltr">&lt;<a href="mailto:juan@iearobotics.com">juan@iearobotics.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hola,<br>
<br>
  Tengo una primera versión de la interfaz JointsArray para posicionar<br>
un array de articulaciones.<br>
<br>
  He hecho un ejemplo con 4 servos. Aquí podéis ver el vídeo:<br>
<br>
<a href="http://www.youtube.com/watch?v=6T3V69dWtP0" target="_blank">http://www.youtube.com/watch?v=6T3V69dWtP0</a><br>
<br>
El código está disponible en aquí[1]. El cliente posiciona los servos<br>
usando el método SetPos():<br>
<br>
JointsArray.SetPos(joint, angle)<br>
<br>
donde joint es el número de la articulación y angle el ángulo a donde<br>
llevarla (en los servos que uso el rango es -90,90)<br>
<br>
El fichero con la interfaz en ICE está aquí[2]<br>
<br>
Y aquí comienza el debate hacia la maduración de la interfaz. ¿Qué<br>
nombre le ponemos? ¿Qué más métodos añadimos en la interfaz? ¿Cómo lo<br>
generalizamos?<br>
<br>
<br>
Saludos, Juan<br>
<br>
PD.- Todos los videos que saco, además de subirlos a youtube, los estoy<br>
subiendo al servidor:<br>
<br>
<a href="http://jderobot.org/users/obijuan/videos/" target="_blank">http://jderobot.org/users/obijuan/videos/</a><br>
<br>
<br>
<br>
[1]<a href="https://svn.jderobot.org/users/obijuan/postdoc/trunk/jderobot5-components/Joints/" target="_blank">https://svn.jderobot.org/users/obijuan/postdoc/trunk/jderobot5-components/Joints/</a><br>
[2]<a href="https://svn.jderobot.org/users/obijuan/postdoc/trunk/jderobot5-components/Joints/Joints.ice" target="_blank">https://svn.jderobot.org/users/obijuan/postdoc/trunk/jderobot5-components/Joints/Joints.ice</a><br>

<font color="#888888"><br>
<br>
<br>
<br>
--<br>
Blog: <a href="http://www.iearobotics.com/blog" target="_blank">www.iearobotics.com/blog</a><br>
Web: <a href="http://www.iearobotics.com/juan" target="_blank">www.iearobotics.com/juan</a><br>
<br>
_______________________________________________<br>
Jde-developers mailing list<br>
<a href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a><br>
<a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers" target="_blank">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
</font></blockquote></div><br></div>