⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _m_a_g___extended_kalman_8h-source.html

📁 很好的kalman程序。.zip文件包含了所有的用到kalman滤波的库和头文件。
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>ExtendedKalman: C:/memsense/dev/C/Kalman/src/MAG_ExtendedKalman.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.6 --><div class="navigation" id="top">  <div class="tabs">    <ul>      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>      <li><a href="pages.html"><span>Related&nbsp;Pages</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>    </ul>  </div><h1>C:/memsense/dev/C/Kalman/src/MAG_ExtendedKalman.h</h1><a href="_m_a_g___extended_kalman_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//=============================================================================</span><a name="l00079"></a>00079 <span class="comment"></span><span class="comment">//=============================================================================</span><a name="l00080"></a>00080 <span class="preprocessor">#ifndef MAG_EXTENDED_KALMAN_H</span><a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define MAG_EXTENDED_KALMAN_H</span><a name="l00082"></a>00082 <span class="preprocessor"></span><a name="l00083"></a>00083 <span class="preprocessor">#include "<a class="code" href="_config_s_t_l_8h.html">ConfigSTL.h</a>"</span><a name="l00084"></a>00084 <a name="l00085"></a>00085 <span class="keyword">namespace </span>mems<a name="l00086"></a>00086 {<a name="l00087"></a>00087 <a name="l00088"></a>00088 <span class="comment">/*********************************************</span><a name="l00089"></a>00089 <span class="comment"> * FORWARD DECLARATIONS                      *</span><a name="l00090"></a>00090 <span class="comment"> *********************************************/</span><a name="l00091"></a>00091 <a name="l00101"></a>00101 <span class="keyword">class </span>MAG_ExtendedKalmanImpl;<a name="l00102"></a>00102 <a name="l00163"></a><a class="code" href="classmems_1_1_m_a_g___extended_kalman.html">00163</a> <span class="keyword">class </span><a class="code" href="classmems_1_1_m_a_g___extended_kalman.html">MAG_ExtendedKalman</a><a name="l00164"></a>00164 {<a name="l00165"></a>00165 <span class="keyword">public</span>:<a name="l00169"></a>00169     <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#a4c4ecb907d038d3a51f0f83eb8dc792">MAG_ExtendedKalman</a>();<a name="l00170"></a>00170 <a name="l00174"></a>00174     <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#4ba5a46366a0a90a837abeb1efa26304">~MAG_ExtendedKalman</a>(<span class="keywordtype">void</span>);<a name="l00175"></a>00175 <a name="l00181"></a>00181     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#4fbe655836b0fec482115056f83973e3">getVersion</a>();<a name="l00182"></a>00182 <a name="l00189"></a>00189     <span class="keywordtype">void</span> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#4e62790d61e8d6ae306584c67612a058">reinitialize</a>();<a name="l00190"></a>00190 <a name="l00207"></a>00207     <span class="keywordtype">void</span> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#fcca8ccb1bccfe3c3b9d493600e2b67b">setInitialEstimate</a>(<span class="keywordtype">double</span> p, <span class="keywordtype">double</span> q, <span class="keywordtype">double</span> r, <a name="l00208"></a>00208         <span class="keywordtype">double</span> w, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z);<a name="l00209"></a>00209 <a name="l00221"></a>00221     <span class="keywordtype">void</span> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#6147f28b3edbff169f10d4f58eae98ca">setEarthAccel</a>(<span class="keywordtype">double</span> ax, <span class="keywordtype">double</span> ay, <span class="keywordtype">double</span> az);<a name="l00222"></a>00222 <a name="l00251"></a>00251     <span class="keywordtype">void</span> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#db0bb8ca580684967d1fea747f72c828">setEarthMag</a>(<span class="keywordtype">double</span> mx, <span class="keywordtype">double</span> my, <span class="keywordtype">double</span> mz);<a name="l00252"></a>00252 <a name="l00271"></a>00271     <span class="keywordtype">void</span> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#e0222fd8a4bd0ecff4ba0fa656a9cef7">setProcessNoise</a>(<span class="keywordtype">double</span> gx, <span class="keywordtype">double</span> gy, <span class="keywordtype">double</span> gz, <span class="keywordtype">double</span> qw, <a name="l00272"></a>00272         <span class="keywordtype">double</span> qx, <span class="keywordtype">double</span> qy, <span class="keywordtype">double</span> qz);<a name="l00273"></a>00273 <a name="l00289"></a>00289     <span class="keywordtype">void</span> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#e0222fd8a4bd0ecff4ba0fa656a9cef7">setProcessNoise</a>(<a class="code" href="_config_s_t_l_8h.html#a72efbfed31ceba6e18e11c0b742bb94">MEMS_STD_VECTOR</a> &amp; noise);<a name="l00290"></a>00290 <a name="l00298"></a>00298     <a class="code" href="_config_s_t_l_8h.html#4ccecb7b220e54be1d9e7ab09113a15f">MEMS_STD_MATRIX</a> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#403fe58014be7e545e23a2b433170b98">getProcessNoiseCovariance</a>();<a name="l00299"></a>00299 <a name="l00321"></a>00321     <span class="keywordtype">void</span> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#a3b25418b40488755857ffcf61d716c2">setMeasurementNoise</a>(<span class="keywordtype">double</span> gx, <span class="keywordtype">double</span> gy, <span class="keywordtype">double</span> gz, <span class="keywordtype">double</span> ax, <a name="l00322"></a>00322         <span class="keywordtype">double</span> ay, <span class="keywordtype">double</span> az, <span class="keywordtype">double</span> mx, <span class="keywordtype">double</span> my, <span class="keywordtype">double</span> mz);<a name="l00323"></a>00323 <a name="l00340"></a>00340     <span class="keywordtype">void</span> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#a3b25418b40488755857ffcf61d716c2">setMeasurementNoise</a>(<a class="code" href="_config_s_t_l_8h.html#a72efbfed31ceba6e18e11c0b742bb94">MEMS_STD_VECTOR</a> &amp; noise);<a name="l00341"></a>00341 <a name="l00349"></a>00349     <a class="code" href="_config_s_t_l_8h.html#4ccecb7b220e54be1d9e7ab09113a15f">MEMS_STD_MATRIX</a> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#9f47d249f62fdba6ed9efda0fe54fed3">getMeasurementNoiseCovariance</a>();<a name="l00350"></a>00350 <a name="l00369"></a>00369     <a class="code" href="_config_s_t_l_8h.html#a72efbfed31ceba6e18e11c0b742bb94">MEMS_STD_VECTOR</a> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#cb1896a97c0888efa1183a3a154e9088">processSample</a>(<span class="keywordtype">double</span> delta, <a name="l00370"></a>00370         <a class="code" href="_config_s_t_l_8h.html#a72efbfed31ceba6e18e11c0b742bb94">MEMS_STD_VECTOR</a> &amp; sample);<a name="l00371"></a>00371 <a name="l00399"></a>00399     <a class="code" href="_config_s_t_l_8h.html#a72efbfed31ceba6e18e11c0b742bb94">MEMS_STD_VECTOR</a> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#cb1896a97c0888efa1183a3a154e9088">processSample</a>(<a name="l00400"></a>00400         <span class="keywordtype">double</span> delta, <a name="l00401"></a>00401         <span class="keywordtype">double</span> gx, <span class="keywordtype">double</span> gy, <span class="keywordtype">double</span> gz, <a name="l00402"></a>00402         <span class="keywordtype">double</span> ax, <span class="keywordtype">double</span> ay, <span class="keywordtype">double</span> az, <a name="l00403"></a>00403         <span class="keywordtype">double</span> mx, <span class="keywordtype">double</span> my, <span class="keywordtype">double</span> mz);<a name="l00404"></a>00404 <a name="l00420"></a>00420     <a class="code" href="_config_s_t_l_8h.html#a72efbfed31ceba6e18e11c0b742bb94">MEMS_STD_VECTOR</a> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#9ae86aed59bcb4be28436f14bbe82f2b">getResidual</a>();<a name="l00421"></a>00421 <a name="l00448"></a>00448     <a class="code" href="_config_s_t_l_8h.html#a72efbfed31ceba6e18e11c0b742bb94">MEMS_STD_VECTOR</a> <a class="code" href="classmems_1_1_m_a_g___extended_kalman.html#360d4a7b1d98ac339fdd4dd2d4b4a15e">quat2Euler</a>(<span class="keywordtype">double</span> w, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z);<a name="l00449"></a>00449 <a name="l00450"></a>00450 <a name="l00451"></a>00451 <a name="l00452"></a>00452 <span class="keyword">private</span>:<a name="l00453"></a>00453 <a name="l00454"></a>00454     <span class="keyword">enum</span> E_Quat<a name="l00455"></a>00455     {<a name="l00456"></a>00456         QW = 3,<a name="l00457"></a>00457         QX,<a name="l00458"></a>00458         QY,<a name="l00459"></a>00459         QZ<a name="l00460"></a>00460     };<a name="l00461"></a>00461 <a name="l00462"></a>00462     <span class="keyword">enum</span> E_Euler<a name="l00463"></a>00463     {<a name="l00464"></a>00464         E_YAW = 0,<a name="l00465"></a>00465         E_PITCH,<a name="l00466"></a>00466         E_ROLL<a name="l00467"></a>00467     };<a name="l00468"></a>00468 <a name="l00469"></a>00469     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * VERSION;<a name="l00470"></a>00470 <a name="l00471"></a>00471     MAG_ExtendedKalmanImpl * getImpl();<a name="l00472"></a>00472 <a name="l00473"></a>00473     MAG_ExtendedKalmanImpl * m_impl;    <span class="comment">// underlying implementation class</span><a name="l00474"></a>00474 };<a name="l00475"></a>00475 <a name="l00476"></a>00476 }<a name="l00477"></a>00477 <a name="l00478"></a>00478 <span class="preprocessor">#endif // MAG_EXTENDED_KALMAN_H</span></pre></div></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Mar 2 16:28:23 2009 for ExtendedKalman by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -