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

📄 classmems_1_1_m_a_g___extended_kalman.html

📁 很好的kalman程序。.zip文件包含了所有的用到kalman滤波的库和头文件。
💻 HTML
📖 第 1 页 / 共 3 页
字号:
    <tr><td valign="top"></td><td valign="top"><em>ay</em>&nbsp;</td><td>y-component acceleration specified in G's </td></tr>    <tr><td valign="top"></td><td valign="top"><em>az</em>&nbsp;</td><td>z-component acceleration specified in G's </td></tr>  </table></dl></div></div><p><a class="anchor" name="db0bb8ca580684967d1fea747f72c828"></a><!-- doxytag: member="mems::MAG_ExtendedKalman::setEarthMag" ref="db0bb8ca580684967d1fea747f72c828" args="(double mx, double my, double mz)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void mems::MAG_ExtendedKalman::setEarthMag           </td>          <td>(</td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>mx</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>my</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>mz</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td></td>        </tr>      </table></div><div class="memdoc"><p>Set the standard/canonical earth magnetic field in Gauss such that x is magnetic north, y is east, and z is toward center of earth. This value is dependent upon latitude/longitude/elevation of use. The canonical values can be determined via two different methods:<p><ol type=1><li>The NOAA geomagnetic field calculator, which can be found here: <a href="http://www.ngdc.noaa.gov/seg/geomag/magfield.shtml">http://www.ngdc.noaa.gov/seg/geomag/magfield.shtml</a> <br> First, determine your lat/lon/elev, which can be automatically determined by the calculator based on Zip Code. Once lat/lon/elevation is known, select the 'Compute Magnetic Field Values' button and use the results from North/East/Vertical, which match up exactly with the filters canonical Earth X/Y/Z . The NOAA calculator gives magnetic field strength in nT (nano Tesla) which is 1e-9, where 10000 Gauss = 1 Tesla. Therefore, (nT * 1e-9 T/nT) * 10000 G/T gives Gauss.</li><li>Set the device flat on a table such that the positive x-axis is pointing approximately magnetic north. While collecting data, rotate the device repeatedly through magnetic north until the maximum magnetic x-value is attained. The x-axis and corresponding y and z-axis magnetic data can then be used as the values for the Kalman magnetic x, y and z values. It's important to make sure that, again, the data is specified in Gauss.</li></ol><p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>mx</em>&nbsp;</td><td>magnetic x-component specified in Gauss </td></tr>    <tr><td valign="top"></td><td valign="top"><em>my</em>&nbsp;</td><td>magnetic y-component specified in Gauss </td></tr>    <tr><td valign="top"></td><td valign="top"><em>mz</em>&nbsp;</td><td>magnetic z-component specified in Gauss </td></tr>  </table></dl></div></div><p><a class="anchor" name="e0222fd8a4bd0ecff4ba0fa656a9cef7"></a><!-- doxytag: member="mems::MAG_ExtendedKalman::setProcessNoise" ref="e0222fd8a4bd0ecff4ba0fa656a9cef7" args="(double gx, double gy, double gz, double qw, double qx, double qy, double qz)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void mems::MAG_ExtendedKalman::setProcessNoise           </td>          <td>(</td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>gx</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>gy</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>gz</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>qw</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>qx</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>qy</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>qz</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td></td>        </tr>      </table></div><div class="memdoc"><p>Set the process noise matrix. <b>The process noise is specified in terms of variance, *not* standard deviation.</b><br> NOTE: the process noise covariance matrix is updated after each sample is processed. A call to setProcessNoise will completely reset the covariance matrix such that the specified noise values are along the diagonal, and the remaining values are zero.<p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>gx</em>&nbsp;</td><td>gyro x-component </td></tr>    <tr><td valign="top"></td><td valign="top"><em>gy</em>&nbsp;</td><td>gyro y-component </td></tr>    <tr><td valign="top"></td><td valign="top"><em>gz</em>&nbsp;</td><td>gyro z-component </td></tr>    <tr><td valign="top"></td><td valign="top"><em>qw</em>&nbsp;</td><td>quaternion w-component </td></tr>    <tr><td valign="top"></td><td valign="top"><em>qx</em>&nbsp;</td><td>quaternion x-component </td></tr>    <tr><td valign="top"></td><td valign="top"><em>qy</em>&nbsp;</td><td>quaternion y-component </td></tr>    <tr><td valign="top"></td><td valign="top"><em>qz</em>&nbsp;</td><td>quaternion z-component</td></tr>  </table></dl><dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classmems_1_1_m_a_g___extended_kalman.html#a3b25418b40488755857ffcf61d716c2">setMeasurementNoise</a> </dd></dl></div></div><p><a class="anchor" name="61b82f4d1f28060d1152ecc9d7154f6a"></a><!-- doxytag: member="mems::MAG_ExtendedKalman::setProcessNoise" ref="61b82f4d1f28060d1152ecc9d7154f6a" args="(MEMS_STD_VECTOR &amp;noise)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void mems::MAG_ExtendedKalman::setProcessNoise           </td>          <td>(</td>          <td class="paramtype">MEMS_STD_VECTOR &amp;&nbsp;</td>          <td class="paramname"> <em>noise</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td></td>        </tr>      </table></div><div class="memdoc"><p>Set the process noise matrix. The order is &lt;gx, gy, gz, qw, qx, qy, qz, bx, by, bz&gt;. <b>The process noise is specified in terms of variance, *not* standard deviation.</b><br> NOTE: the process noise covariance matrix is updated after each sample is processed. A call to setProcessNoise will completely reset the covariance matrix such that the specified noise values are along the diagonal, and the remaining values are zero.<p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>noise</em>&nbsp;</td><td>vector process noise parameters that will be placed along the diagonal of the process noise matrix.</td></tr>  </table></dl><dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classmems_1_1_m_a_g___extended_kalman.html#a3b25418b40488755857ffcf61d716c2">setMeasurementNoise</a> <p><a class="el" href="_config_s_t_l_8h.html#a72efbfed31ceba6e18e11c0b742bb94">MEMS_STD_VECTOR</a> </dd></dl></div></div><p><a class="anchor" name="403fe58014be7e545e23a2b433170b98"></a><!-- doxytag: member="mems::MAG_ExtendedKalman::getProcessNoiseCovariance" ref="403fe58014be7e545e23a2b433170b98" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">MEMS_STD_MATRIX mems::MAG_ExtendedKalman::getProcessNoiseCovariance           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td></td>        </tr>      </table></div><div class="memdoc"><p>Returns the current process noise covariance matrix.<p><dl class="return" compact><dt><b>Returns:</b></dt><dd>The process noise covariance matrix</dd></dl><dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="_config_s_t_l_8h.html#4ccecb7b220e54be1d9e7ab09113a15f">MEMS_STD_MATRIX</a> </dd></dl></div></div><p><a class="anchor" name="a3b25418b40488755857ffcf61d716c2"></a><!-- doxytag: member="mems::MAG_ExtendedKalman::setMeasurementNoise" ref="a3b25418b40488755857ffcf61d716c2" args="(double gx, double gy, double gz, double ax, double ay, double az, double mx, double my, double mz)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void mems::MAG_ExtendedKalman::setMeasurementNoise           </td>          <td>(</td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>gx</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>gy</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>gz</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>ax</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>ay</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>az</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>mx</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>my</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">double&nbsp;</td>          <td class="paramname"> <em>mz</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td></td>        </tr>      </table></div><div class="memdoc"><p>Set the measurement noise for gyro, accelerometer and magnetometer. These values are generally empirically determined and <b>must be specified as a variance, not standard deviation.</b><br> NOTE: the measurement noise covariance matrix is updated after each sample is processed. A call to setMeasurementNoise will completely reset the covariance matrix such that the specified noise values are along the diagonal, and the remaining values are zero.<p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>gx</em>&nbsp;</td><td>gyro x-component in rad/s </td></tr>    <tr><td valign="top"></td><td valign="top"><em>gy</em>&nbsp;</td><td>gyro y-component in rad/s </td></tr>    <tr><td valign="top"></td><td valign="top"><em>gz</em>&nbsp;</td><td>gyro z-component in rad/s </td></tr>    <tr><td valign="top"></td><td valign="top"><em>ax</em>&nbsp;</td><td>accelerometer x-component in G's </td></tr>    <tr><td valign="top"></td><td valign="top"><em>ay</em>&nbsp;</td><td>accelerometer y-component in G's </td></tr>    <tr><td valign="top"></td><td valign="top"><em>az</em>&nbsp;</td><td>accelerometer z-component in G's </td></tr>    <tr><td valign="top"></td><td valign="top"><em>mx</em>&nbsp;</td><td>magnetometer x-component in Gauss </td></tr>    <tr><td valign="top"></td><td valign="top"><em>my</em>&nbsp;</td><td>magnetometer y-component in Gauss </td></tr>    <tr><td valign="top"></td><td valign="top"><em>mz</em>&nbsp;</td><td>magnetometer z-component in Gauss</td></tr>  </table></dl><dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classmems_1_1_m_a_g___extended_kalman.html#e0222fd8a4bd0ecff4ba0fa656a9cef7">setProcessNoise()</a> </dd></dl></div></div><p><a class="anchor" name="a16e84464dfe63d5e7873899d8e3e50f"></a><!-- doxytag: member="mems::MAG_ExtendedKalman::setMeasurementNoise" ref="a16e84464dfe63d5e7873899d8e3e50f" args="(MEMS_STD_VECTOR &amp;noise)" --><div class="memitem"><div class="memproto">

⌨️ 快捷键说明

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