<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hi all,<br>
<br>
I would like to propose to have a seperate function like
isUnitQuaternion or similiar.<br>
<br>
One says that the rotation is not set,often because only position
data are transmitted.<br>
The other one is to check only the quaternion, which can also be
non-unit for numeric reasons.<br>
<br>
The user then would have the possiblity to decide what he wants to
know. Furthermore<br>
this function could have the accuracy as argument: bool
isUnitQuaternion (double accuracy = 1e-6).<br>
I would guess it could be hard to find a fixed value here. I would
consider some deviation from 1.0<br>
fine for further computation (e.g. like 0.9999something ).<br>
<br>
So long!<br>
Felix<br>
<br>
<br>
Am 29.06.2012 18:43, schrieb Janosch Machowinski:<br>
</div>
<blockquote cite="mid:4FEDDB34.3010305@dfki.de" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<div class="moz-cite-prefix">Uhm, <br>
<br>
fabs(ori.squaredNorm() -1) < 1e-6<br>
<br>
Just as an idea ;-)<br>
Greetings<br>
Janosch<br>
<br>
On 29.06.2012 17:58, Javier Hidalgo Carrió wrote:<br>
</div>
<blockquote cite="mid:4FEDD0C3.60008@dfki.de" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<div class="moz-cite-prefix">On 06/29/2012 05:20 PM, Alexander
Duda wrote:<br>
</div>
<blockquote cite="mid:4FEDC7D6.6010602@dfki.de" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
On 06/29/2012 05:02 PM, Javier Hidalgo Carrió wrote:
<blockquote cite="mid:4FEDC387.8010806@dfki.de" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<div class="moz-cite-prefix">+1<br>
Since Orientation is a Eigen::Quaternion we could even use
the norm() method.<br>
<br>
Javier.<br>
<br>
<table class="memname">
<tbody>
<tr>
<td class="memname"><a moz-do-not-send="true"
class="el"
href="http://eigen.tuxfamily.org/dox/classEigen_1_1QuaternionBase.html#a844358c46408e878e60c4026c52eb1e9">Scalar</a>
norm </td>
<td>(</td>
<td class="paramname"><br>
</td>
<td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</tbody>
</table>
<div class="memdoc">
<dl class="return">
<dt><b>Returns:</b></dt>
<dd>the norm of the quaternion's coefficients </dd>
</dl>
<dl class="see">
<dt><b>See also:</b></dt>
<dd><a moz-do-not-send="true" class="el"
href="http://eigen.tuxfamily.org/dox/classEigen_1_1QuaternionBase.html#a8699d72c996ca6cb4673e810fe3a616c">QuaternionBase::squaredNorm()</a>,
<a moz-do-not-send="true" class="el"
href="http://eigen.tuxfamily.org/dox/classEigen_1_1MatrixBase.html#a0be1b433c65ce9d92c81a4718daf54e5">MatrixBase::norm()</a>
</dd>
</dl>
</div>
<br>
</div>
</blockquote>
I think you do not gain so much from this functions as you
will get a scalar which you have to sum anyway. Do you know if
there is a function which checks if the quaternion is valid?<br>
<br>
</blockquote>
I don't know any valid method. Having no-normalized quaternion
is sometimes common (e.g, passing a quaternion through a EKF)
and normalization needs to be done.<br>
<blockquote cite="mid:4FEDC7D6.6010602@dfki.de" type="cite">
fabs(ori.w()*ori.w()+ori.x()*ori.x()+ori.y()*ori.y()+ori.z()*ori.z()-1.0)
< 1e-6<br>
<br>
</blockquote>
What should be the error threshold to define if a quaternion is
valid or not? Perhaps norm() does some round to 1.00...<br>
<blockquote cite="mid:4FEDC7D6.6010602@dfki.de" type="cite">
Alex<br>
<blockquote cite="mid:4FEDC387.8010806@dfki.de" type="cite">
<div class="moz-cite-prefix"> On 06/29/2012 04:53 PM,
Alexander Duda wrote:<br>
</div>
<blockquote cite="mid:4FEDC16F.7050503@dfki.de" type="cite">
<pre wrap="">Hi,
the base type samples::RigidBodyState has a function to check if the
orientation is valid.
At the moment it only checks if the values of the quaternion
representing the orientation are different to NaN.
I propose that we also add a check that the quaternion is an unit
quaternion because otherwise wrongly initialised orientations might lead
to strange transformation matrices and vanishing objects in OSG.
Any opinions?
Alex
static bool isValidValue(base::Orientation const& ori)
{
return !base::isNaN(ori.w()) &&
!base::isNaN(ori.x()) &&
!base::isNaN(ori.y()) &&
!base::isNaN(ori.z()) &&
ori.w()*ori.w()+ori.x()*ori.x()+ori.y()*ori.y()+ori.z()*ori.z()-1e6 < 1;
}
</pre>
</blockquote>
<br>
<br>
</blockquote>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Rock-dev mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Rock-dev@dfki.de">Rock-dev@dfki.de</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev">http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</a>
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Dipl. Inf. Janosch Machowinski
SAR- & Sicherheitsrobotik
DFKI Bremen
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany
Phone: +49 (0)421 178 45-6614
Fax: +49 (0)421 178 45-4150
E-Mail: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:robotik@dfki.de">robotik@dfki.de</a>
Weitere Informationen: <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.dfki.de/robotik">http://www.dfki.de/robotik</a>
-----------------------------------------------------------------------
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
(Vorsitzender) Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
USt-Id.Nr.: DE 148646973
Steuernummer: 19/673/0060/3
-----------------------------------------------------------------------
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Rock-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Rock-dev@dfki.de">Rock-dev@dfki.de</a>
<a class="moz-txt-link-freetext" href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev">http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</a>
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Felix Rehrmann
Researcher
DFKI Bremen
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany
Phone: +49 (0)421 178 45-4129
Fax: +49 (0)421 218-64150
E-Mail: <a class="moz-txt-link-abbreviated" href="mailto:felix.rehrmann@dfki.de">felix.rehrmann@dfki.de</a>
Weitere Informationen: <a class="moz-txt-link-freetext" href="http://www.dfki.de/robotik">http://www.dfki.de/robotik</a>
-----------------------------------------------------------------------
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
(Vorsitzender) Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
USt-Id.Nr.: DE 148646973
Steuernummer: 19/673/0060/3
-----------------------------------------------------------------------
</pre>
</body>
</html>