<div dir="ltr"><div>Buenas tardes,<br><div style="margin-left:40px">personalmente me parece buena idea el tema de la ampliación, de hecho, en los componentes donde estoy utilizando los cuaterniones de Eigen, tengo un header que implementa algunas de las funciones de conversión que mencionas.<br>
<br></div><div style="margin-left:40px">Idealmente, en lugar de un &quot;header&quot; con funciones extras lo suyo creo que sería heredar de la clase base de cuaterniones y añadir estos métodos, intentando en la medida de lo posible ofrecer unos cuaterniones con la versatilidad de los originales de Eigen. Cuando hablo de la &quot;versatilidad&quot; me refiero a que en lugar de escoger y plantear como base por ejemplo los tipos Quaterniond o Quaternionf, tratar de utilizar la plantilla Quaternion y soportar las optimizaciones de Eigen (al menos en últimas fases).<br>
<br></div><div style="margin-left:40px">Hay documentación al respecto de extender las clases de Eigen en [1], y aunque es bastante atractiva la forma de extender que se propone en el primer apartado de la documentación (si no he entendido mal, habría que forzar una variable de preprocesador al principio de la cadena de compilación), puede que nos convenga la segunda aunque sea un poco más complicada.<br>
<br></div><div style="margin-left:40px">¿Opiniones?<br></div><br></div>Un saludo,<br><div style="margin-left:40px">Roberto<br></div><div><div><div style="margin-left:40px"><br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">
El 28 de abril de 2014, 19:08, Francisco Pérez <span dir="ltr">&lt;<a href="mailto:f.perez475@gmail.com" target="_blank">f.perez475@gmail.com</a>&gt;</span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Buenas tardes,<br>
<br>
he estado ojeando la clase que ofrece Eigen de cuaterniones y a pesar de ser<br>
muy completa le faltan algunas funciones interesantes que pueden ser útiles<br>
para su uso en gazebo. En una pasada reunión con JoseMaria, me dijo que<br>
sería conveniente que la clase cuaternión que &quot;adoptemos&quot; para JdeRobot<br>
debería tener algunas operaciones de conversión de ida y vuelta como:<br>
<br>
    Cuaternión &lt;---&gt; Euler<br>
    Cuaternión &lt;---&gt; Matriz 3x3<br>
    Cuaternión &lt;---&gt; FOA + Roll<br>
    Cuaternión &lt;---&gt; Roll, pitch y yaw<br>
    etc.<br>
<br>
Según he visto en la clase que ofrece Eigen ya existe alguno de esos métodos<br>
(cuaternión --&gt; matriz 3x3), pero sería interesante ampliar dicha clase con<br>
algunas de las conversiones que he puesto más arriba. Buscando un poco he<br>
visto que la implementación que hace gazebo de los cuaterniones tiene<br>
algunas de esas conversiones en ambas direcciones (cuaternión &lt;--&gt; euler,<br>
cuaternion &lt;--&gt; roll, pitch y yaw, cuaternión &lt;--&gt; matriz 3x3, y alguna más.<br>
Supongo que todo sería hablarlo, pero creo resultaría útil incorporar esos<br>
métodos a la clase de cuaterniones de Eigen y realizar algunos cambios para<br>
obtener nuestra propia implementación de cuaterniones y, de esta forma,<br>
utilizar todos la misma representación. ¿Cómo lo veis?.<br>
<br>
Un saludo!<br>
<br>
PD: Ros también tiene su propia implementación de cuaterniones según he<br>
visto, también podríamos sacar ideas o funcionalidades de ahí.<br>
<br>
<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://jderobot-developer-list.2315034.n4.nabble.com/Jderobot-Pose3D-y-4terniones-tp4642243p4642261.html" target="_blank">http://jderobot-developer-list.2315034.n4.nabble.com/Jderobot-Pose3D-y-4terniones-tp4642243p4642261.html</a><br>


Sent from the Jderobot Developer List mailing list archive at Nabble.com.<br>
<div><div>_______________________________________________<br>
Jde-developers mailing list<br>
<a href="mailto:Jde-developers@gsyc.es" target="_blank">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>
</div></div></blockquote></div><br></div></div></div></div>