Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 11233

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>jacobians.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">jacobians.h File Reference</div>  </div>
</div>
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="_c_quaternion_8h_source.html">mrpt/math/CQuaternion.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">mrpt/math/utils.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_c_pose3_d_8h_source.html">mrpt/poses/CPose3D.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_c_pose3_d_p_d_f_gaussian_8h_source.html">mrpt/poses/CPose3DPDFGaussian.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_c_pose_p_d_f_gaussian_8h_source.html">mrpt/poses/CPosePDFGaussian.h</a>&gt;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for jacobians.h:</div>
<div class="dyncontent">
<div class="center"><img src="jacobians_8h__incl.png" border="0" usemap="#jacobians_8h" alt=""/></div>
<map name="jacobians_8h" id="jacobians_8h">
<area shape="rect" id="node3" href="_c_quaternion_8h.html" title="mrpt/math/CQuaternion.h" alt="" coords="1867,304,2036,331"/><area shape="rect" id="node109" href="base_2include_2mrpt_2math_2utils_8h.html" title="mrpt/math/utils.h" alt="" coords="1152,155,1272,181"/><area shape="rect" id="node148" href="_c_pose3_d_8h.html" title="mrpt/poses/CPose3D.h" alt="" coords="2195,229,2353,256"/><area shape="rect" id="node154" href="_c_pose3_d_p_d_f_gaussian_8h.html" title="mrpt/poses/CPose3DPDFGaussian.h" alt="" coords="2141,80,2381,107"/><area shape="rect" id="node166" href="_c_pose_p_d_f_gaussian_8h.html" title="mrpt/poses/CPosePDFGaussian.h" alt="" coords="2429,229,2652,256"/><area shape="rect" id="node5" href="_c_matrix_template_numeric_8h.html" title="mrpt/math/CMatrixTemplateNumeric.h" alt="" coords="1472,379,1717,405"/><area shape="rect" id="node83" href="_c_array_8h.html" title="mrpt/math/CArray.h" alt="" coords="1834,528,1971,555"/><area shape="rect" id="node7" href="_c_matrix_template_8h.html" title="mrpt/math/CMatrixTemplate.h" alt="" coords="1578,453,1773,480"/><area shape="rect" id="node13" href="os_8h.html" title="mrpt/system/os.h" alt="" coords="550,827,673,853"/><area shape="rect" id="node98" href="_c_serializable_8h.html" title="mrpt/utils/CSerializable.h" alt="" coords="2213,603,2381,629"/><area shape="rect" id="node9" href="utils__defs_8h.html" title="mrpt/utils/utils_defs.h" alt="" coords="1159,752,1305,779"/><area shape="rect" id="node32" href="math__frwds_8h.html" title="mrpt/math/math_frwds.h" alt="" coords="2201,976,2364,1003"/><area shape="rect" id="node22" href="base_2include_2mrpt_2base_2link__pragmas_8h.html" title="mrpt/base/link_pragmas.h" alt="" coords="297,1051,468,1077"/><area shape="rect" id="node25" href="boost__join_8h.html" title="mrpt/utils/boost_join.h" alt="" coords="274,1125,424,1152"/><area shape="rect" id="node27" href="base_2include_2mrpt_2utils_2types_8h.html" title="mrpt/utils/types.h" alt="" coords="979,901,1101,928"/><area shape="rect" id="node47" href="mrpt__macros_8h.html" title="mrpt/utils/mrpt_macros.h" alt="" coords="787,901,953,928"/><area shape="rect" id="node50" href="compiler__fixes_8h.html" title="mrpt/utils/compiler_fixes.h" alt="" coords="1138,827,1312,853"/><area shape="rect" id="node77" href="smart__ptr_8hpp.html" title="mrpt/otherlibs/stlplus/smart_ptr.hpp" alt="" coords="1797,827,2024,853"/><area shape="rect" id="node79" href="bits_8h.html" title="mrpt/utils/bits.h" alt="" coords="697,827,808,853"/><area shape="rect" id="node87" href="ops__containers_8h.html" title="This file implements several operations that operate element&#45;wise on individual or pairs of container..." alt="" coords="1011,603,1195,629"/><area shape="rect" id="node94" href="_c_histogram_8h.html" title="mrpt/math/CHistogram.h" alt="" coords="718,677,884,704"/><area shape="rect" id="node100" href="_c_stream_8h.html" title="mrpt/utils/CStream.h" alt="" coords="1475,677,1617,704"/><area shape="rect" id="node113" href="_c_matrix_fixed_numeric_8h.html" title="mrpt/math/CMatrixFixedNumeric.h" alt="" coords="2101,379,2323,405"/><area shape="rect" id="node119" href="ops__vectors_8h.html" title="mrpt/math/ops_vectors.h" alt="" coords="1129,304,1295,331"/><area shape="rect" id="node124" href="ops__matrices_8h.html" title="This file implements miscelaneous matrix and matrix/vector operations, plus internal functions in mrp..." alt="" coords="1586,229,1760,256"/><area shape="rect" id="node127" href="_c_matrix_8h.html" title="mrpt/math/CMatrix.h" alt="" coords="1649,304,1791,331"/><area shape="rect" id="node133" href="_c_matrix_d_8h.html" title="mrpt/math/CMatrixD.h" alt="" coords="1421,304,1573,331"/><area shape="rect" id="node143" href="metaprogramming_8h.html" title="mrpt/utils/metaprogramming.h" alt="" coords="2184,453,2379,480"/><area shape="rect" id="node150" href="_c_pose_8h.html" title="mrpt/poses/CPose.h" alt="" coords="2214,304,2356,331"/><area shape="rect" id="node156" href="_c_pose3_d_p_d_f_8h.html" title="mrpt/poses/CPose3DPDF.h" alt="" coords="2168,155,2355,181"/><area shape="rect" id="node161" href="_c_pose_p_d_f_8h.html" title="mrpt/poses/CPosePDF.h" alt="" coords="2433,304,2601,331"/></map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="jacobians_8h__dep__incl.png" border="0" usemap="#jacobians_8hdep" alt=""/></div>
<map name="jacobians_8hdep" id="jacobians_8hdep">
<area shape="rect" id="node3" href="transform__gaussian_8h.html" title="transform_gaussian.h" alt="" coords="292,80,439,107"/><area shape="rect" id="node5" href="math_8h.html" title="math.h" alt="" coords="389,155,451,181"/><area shape="rect" id="node7" href="base_8h.html" title="base.h" alt="" coords="173,229,235,256"/><area shape="rect" id="node13" href="cs_8h.html" title="cs.h" alt="" coords="259,229,305,256"/><area shape="rect" id="node24" href="math__mrpt_8h.html" title="math_mrpt.h" alt="" coords="330,229,424,256"/><area shape="rect" id="node26" href="_c_reactive_navigation_system_8h.html" title="CReactiveNavigationSystem.h" alt="" coords="500,229,703,256"/><area shape="rect" id="node30" href="scanmatching_2scan__matching_8h.html" title="scan_matching.h" alt="" coords="727,229,848,256"/><area shape="rect" id="node9" href="_c_image___s_s_e3_8cpp.html" title="CImage_SSE3.cpp" alt="" coords="5,304,139,331"/><area shape="rect" id="node11" href="_c_image___s_s_e2_8cpp.html" title="CImage_SSE2.cpp" alt="" coords="163,304,297,331"/><area shape="rect" id="node15" href="_c_sparse_matrix_8h.html" title="CSparseMatrix.h" alt="" coords="349,304,469,331"/><area shape="rect" id="node18" href="levmarq__impl_8h.html" title="levmarq_impl.h" alt="" coords="354,379,464,405"/><area shape="rect" id="node20" href="levmarq_8h.html" title="levmarq.h" alt="" coords="370,453,448,480"/><area shape="rect" id="node22" href="graphslam_8h.html" title="graphslam.h" alt="" coords="363,528,456,555"/><area shape="rect" id="node28" href="reactivenav_8h.html" title="reactivenav.h" alt="" coords="551,304,651,331"/><area shape="rect" id="node32" href="scanmatching_8h.html" title="scanmatching.h" alt="" coords="731,304,845,331"/><area shape="rect" id="node34" href="scan__matching_8h.html" title="scan_matching.h" alt="" coords="727,379,848,405"/></map>
</div>
</div>
<p><a href="jacobians_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt.html">mrpt</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math.html">mrpt::math</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>This base provides a set of functions for maths stuff. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1jacobians.html">mrpt::math::jacobians</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>A collection of functions to compute jacobians of diverse transformations, etc (some functions are redirections to existing methods elsewhere, so this namespace is actually used with grouping purposes). </p>
<br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1jacobians.html#a30e4241b019f9b1160df7bca4afb783d">mrpt::math::jacobians::jacob_quat_from_yawpitchroll</a> (<a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixFixedNumeric</a>&lt; double, 4, 3 &gt; &amp;out_dq_dr, const double yaw, const double pitch, const double roll)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the 4x3 Jacobian of the transformation from a 3D pose angles (yaw pitch roll) into a Quaternion, that is, the Jacobian of: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ \mathbf{q} = \left( \begin{array}{c} \cos (\phi /2) \cos (\theta /2) \cos (\psi /2) + \sin (\phi /2) \sin (\theta /2) \sin (\psi /2) \\ \sin (\phi /2) \cos (\theta /2) \cos (\psi /2) - \cos (\phi /2) \sin (\theta /2) \sin (\psi /2) \\ \cos (\phi /2) \sin (\theta /2) \cos (\psi /2) + \sin (\phi /2) \cos (\theta /2) \sin (\psi /2) \\ \cos (\phi /2) \cos (\theta /2) \sin (\psi /2) - \sin (\phi /2) \sin (\theta /2) \cos (\psi /2) \\ \end{array}\right) \]" src="form_24.png"/>
</p>
<p> With : <img class="formulaInl" alt="$ \phi = roll $" src="form_25.png"/>, <img class="formulaInl" alt="$ \theta = pitch $" src="form_26.png"/> and <img class="formulaInl" alt="$ \psi = yaw $" src="form_27.png"/>.  <a href="#a30e4241b019f9b1160df7bca4afb783d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1jacobians.html#ad8c2781c9bbd4c32743bf0be99bf8c33">mrpt::math::jacobians::jacob_quat_from_yawpitchroll</a> (<a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixFixedNumeric</a>&lt; double, 4, 3 &gt; &amp;out_dq_dr, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;in_pose)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the 4x3 Jacobian of the transformation from a 3D pose angles (yaw pitch roll) into a Quaternion, that is, the Jacobian of: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ \mathbf{q} = \left( \begin{array}{c} \cos (\phi /2) \cos (\theta /2) \cos (\psi /2) + \sin (\phi /2) \sin (\theta /2) \sin (\psi /2) \\ \sin (\phi /2) \cos (\theta /2) \cos (\psi /2) - \cos (\phi /2) \sin (\theta /2) \sin (\psi /2) \\ \cos (\phi /2) \sin (\theta /2) \cos (\psi /2) + \sin (\phi /2) \cos (\theta /2) \sin (\psi /2) \\ \cos (\phi /2) \cos (\theta /2) \sin (\psi /2) - \sin (\phi /2) \sin (\theta /2) \cos (\psi /2) \\ \end{array}\right) \]" src="form_24.png"/>
</p>
<p> With : <img class="formulaInl" alt="$ \phi = roll $" src="form_25.png"/>, <img class="formulaInl" alt="$ \theta = pitch $" src="form_26.png"/> and <img class="formulaInl" alt="$ \psi = yaw $" src="form_27.png"/>.  <a href="#ad8c2781c9bbd4c32743bf0be99bf8c33"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1jacobians.html#ae82c0c77eb8140df495cdb9312bcf49a">mrpt::math::jacobians::jacob_yawpitchroll_from_quat</a> (<a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixFixedNumeric</a>&lt; double, 3, 4 &gt; &amp;out_dr_dq)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the 3x4 Jacobian of the transformation from a quaternion (qr qx qy qz) to 3D pose angles (yaw pitch roll).  <a href="#ae82c0c77eb8140df495cdb9312bcf49a"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class QUATERNION , class MATRIXLIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1jacobians.html#a0af89c27b4e68ac11002b015873da8c8">mrpt::math::jacobians::jacob_quat_rotation</a> (const QUATERNION &amp;quaternion, MATRIXLIKE &amp;out_mat4x4)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the Jacobian of the rotation composition operation <img class="formulaInl" alt="$ p = f(\cdot) = q_{this} \times r $" src="form_7.png"/>, that is the 4x4 matrix <img class="formulaInl" alt="$ \frac{\partial f}{\partial q_{this} } $" src="form_8.png"/>.  <a href="#a0af89c27b4e68ac11002b015873da8c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1jacobians.html#acb6a24540a986fe0f20d73c8c72f1b50">mrpt::math::jacobians::jacobs_6D_pose_comp</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;x, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;u, <a class="el" href="namespacemrpt_1_1math.html#a69ac788617e87d06107cd7a32a1352b7">CMatrixDouble66</a> &amp;out_df_dx, <a class="el" href="namespacemrpt_1_1math.html#a69ac788617e87d06107cd7a32a1352b7">CMatrixDouble66</a> &amp;out_df_du)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given the 3D(6D) pose composition <img class="formulaInl" alt="$ f(x,u) = x \oplus u $" src="form_28.png"/>, compute the two 6x6 Jacobians <img class="formulaInl" alt="$ \frac{\partial f}{\partial x} $" src="form_29.png"/> and <img class="formulaInl" alt="$ \frac{\partial f}{\partial u} $" src="form_30.png"/>.  <a href="#acb6a24540a986fe0f20d73c8c72f1b50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1jacobians.html#ab49860321328e9d934c2e9f019e1c464">mrpt::math::jacobians::jacobs_2D_pose_comp</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_gaussian.html">CPosePDFGaussian</a> &amp;x, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_gaussian.html">CPosePDFGaussian</a> &amp;u, <a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">CMatrixDouble33</a> &amp;out_df_dx, <a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">CMatrixDouble33</a> &amp;out_df_du)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given the 2D pose composition <img class="formulaInl" alt="$ f(x,u) = x \oplus u $" src="form_28.png"/>, compute the two 3x3 Jacobians <img class="formulaInl" alt="$ \frac{\partial f}{\partial x} $" src="form_29.png"/> and <img class="formulaInl" alt="$ \frac{\partial f}{\partial u} $" src="form_30.png"/>.  <a href="#ab49860321328e9d934c2e9f019e1c464"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTORLIKE , class VECTORLIKE2 , class VECTORLIKE3 , class MATRIXLIKE , class USERPARAM &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1jacobians.html#a6bfc725b0889aa6b7eee78bb91f19441">mrpt::math::jacobians::jacob_numeric_estimate</a> (const VECTORLIKE &amp;x, void(*functor)(const VECTORLIKE &amp;x, const USERPARAM &amp;y, VECTORLIKE3 &amp;out), const VECTORLIKE2 &amp;increments, const USERPARAM &amp;userParam, MATRIXLIKE &amp;out_Jacobian)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Numerical estimation of the Jacobian of a user-supplied function - this template redirects to <a class="el" href="group__container__ops__grp.html#ga13e2e339d944b37f2386fc4e0bb56935" title="Estimate the Jacobian of a multi-dimensional function around a point &quot;x&quot;, using finite differences of...">mrpt::math::estimateJacobian</a>, see that function for documentation.  <a href="#a6bfc725b0889aa6b7eee78bb91f19441"></a><br/></td></tr>
</table>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>