Files
rtabmap/api/latest/classrtabmap_1_1IMU.html
T

595 lines
32 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RTAB-Map: rtabmap::IMU Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="custom.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">window.RTABMAP_DOC_ROOT="";</script>
<script type="text/javascript" src="../versions.js"></script>
<script type="text/javascript" src="version-switcher.js"></script>
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">DoxygenAwesomeDarkModeToggle.init();</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">RTAB-Map<span id="projectnumber">&#160;0.23.12</span>
</div>
<div id="projectbrief">Real-Time Appearance-Based Mapping</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classrtabmap_1_1IMU.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classrtabmap_1_1IMU-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">rtabmap::IMU Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Inertial measurement sample (ROS <code>sensor_msgs/Imu-like</code> fields).
<a href="classrtabmap_1_1IMU.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="IMU_8h_source.html">IMU.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a76e674d3ef1865369e1416ae5ff76483" id="r_a76e674d3ef1865369e1416ae5ff76483"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#a76e674d3ef1865369e1416ae5ff76483">IMU</a> ()</td></tr>
<tr class="memdesc:a76e674d3ef1865369e1416ae5ff76483"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default-constructs an empty sample (null <a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform()</a>). <br /></td></tr>
<tr class="separator:a76e674d3ef1865369e1416ae5ff76483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8db1233b6871dcbd58f1862cee2826fa" id="r_a8db1233b6871dcbd58f1862cee2826fa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#a8db1233b6871dcbd58f1862cee2826fa">IMU</a> (const cv::Vec4d &amp;<a class="el" href="classrtabmap_1_1IMU.html#a2160e6d59e4f9e3ffc84a2b7d62bdabd">orientation</a>, const cv::Mat &amp;<a class="el" href="classrtabmap_1_1IMU.html#ab7668040b92bfa5532c5e1c19ddbf429">orientationCovariance</a>, const cv::Vec3d &amp;<a class="el" href="classrtabmap_1_1IMU.html#ad0160a803d2005f3f4db27c402e6bceb">angularVelocity</a>, const cv::Mat &amp;<a class="el" href="classrtabmap_1_1IMU.html#a660c82c641525ff24aefa7e03ebf7d4a">angularVelocityCovariance</a>, const cv::Vec3d &amp;<a class="el" href="classrtabmap_1_1IMU.html#a8fde3445664329d6432b632fca9db17a">linearAcceleration</a>, const cv::Mat &amp;<a class="el" href="classrtabmap_1_1IMU.html#a2ee035bffb85f1681ad3525c32ba1243">linearAccelerationCovariance</a>, const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;<a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform</a>=<a class="el" href="classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2">Transform::getIdentity</a>())</td></tr>
<tr class="memdesc:a8db1233b6871dcbd58f1862cee2826fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a sample with orientation and motion data. <br /></td></tr>
<tr class="separator:a8db1233b6871dcbd58f1862cee2826fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3171afc29cdf8587a401b6da1b1908e6" id="r_a3171afc29cdf8587a401b6da1b1908e6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#a3171afc29cdf8587a401b6da1b1908e6">IMU</a> (const cv::Vec3d &amp;<a class="el" href="classrtabmap_1_1IMU.html#ad0160a803d2005f3f4db27c402e6bceb">angularVelocity</a>, const cv::Mat &amp;<a class="el" href="classrtabmap_1_1IMU.html#a660c82c641525ff24aefa7e03ebf7d4a">angularVelocityCovariance</a>, const cv::Vec3d &amp;<a class="el" href="classrtabmap_1_1IMU.html#a8fde3445664329d6432b632fca9db17a">linearAcceleration</a>, const cv::Mat &amp;<a class="el" href="classrtabmap_1_1IMU.html#a2ee035bffb85f1681ad3525c32ba1243">linearAccelerationCovariance</a>, const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;<a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform</a>=<a class="el" href="classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2">Transform::getIdentity</a>())</td></tr>
<tr class="memdesc:a3171afc29cdf8587a401b6da1b1908e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a sample without orientation (e.g. no magnetometer / no attitude). <br /></td></tr>
<tr class="separator:a3171afc29cdf8587a401b6da1b1908e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2160e6d59e4f9e3ffc84a2b7d62bdabd" id="r_a2160e6d59e4f9e3ffc84a2b7d62bdabd"><td class="memItemLeft" align="right" valign="top">const cv::Vec4d &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#a2160e6d59e4f9e3ffc84a2b7d62bdabd">orientation</a> () const</td></tr>
<tr class="separator:a2160e6d59e4f9e3ffc84a2b7d62bdabd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7668040b92bfa5532c5e1c19ddbf429" id="r_ab7668040b92bfa5532c5e1c19ddbf429"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#ab7668040b92bfa5532c5e1c19ddbf429">orientationCovariance</a> () const</td></tr>
<tr class="separator:ab7668040b92bfa5532c5e1c19ddbf429"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0160a803d2005f3f4db27c402e6bceb" id="r_ad0160a803d2005f3f4db27c402e6bceb"><td class="memItemLeft" align="right" valign="top">const cv::Vec3d &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#ad0160a803d2005f3f4db27c402e6bceb">angularVelocity</a> () const</td></tr>
<tr class="separator:ad0160a803d2005f3f4db27c402e6bceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a660c82c641525ff24aefa7e03ebf7d4a" id="r_a660c82c641525ff24aefa7e03ebf7d4a"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#a660c82c641525ff24aefa7e03ebf7d4a">angularVelocityCovariance</a> () const</td></tr>
<tr class="separator:a660c82c641525ff24aefa7e03ebf7d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fde3445664329d6432b632fca9db17a" id="r_a8fde3445664329d6432b632fca9db17a"><td class="memItemLeft" align="right" valign="top">const cv::Vec3d &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#a8fde3445664329d6432b632fca9db17a">linearAcceleration</a> () const</td></tr>
<tr class="separator:a8fde3445664329d6432b632fca9db17a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ee035bffb85f1681ad3525c32ba1243" id="r_a2ee035bffb85f1681ad3525c32ba1243"><td class="memItemLeft" align="right" valign="top">const cv::Mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#a2ee035bffb85f1681ad3525c32ba1243">linearAccelerationCovariance</a> () const</td></tr>
<tr class="separator:a2ee035bffb85f1681ad3525c32ba1243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10cfadbe31bbf80822a9ab92c0892b33" id="r_a10cfadbe31bbf80822a9ab92c0892b33"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform</a> () const</td></tr>
<tr class="separator:a10cfadbe31bbf80822a9ab92c0892b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ccae83f46e87d28e56bcfc4a25fafb8" id="r_a1ccae83f46e87d28e56bcfc4a25fafb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#a1ccae83f46e87d28e56bcfc4a25fafb8">convertToBaseFrame</a> ()</td></tr>
<tr class="memdesc:a1ccae83f46e87d28e56bcfc4a25fafb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotate motion (and optionally orientation) into the base frame. <br /></td></tr>
<tr class="separator:a1ccae83f46e87d28e56bcfc4a25fafb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace111e68ca49e6d47cc92f53a0be87ef" id="r_ace111e68ca49e6d47cc92f53a0be87ef"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1IMU.html#ace111e68ca49e6d47cc92f53a0be87ef">empty</a> () const</td></tr>
<tr class="memdesc:ace111e68ca49e6d47cc92f53a0be87ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">True when <a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform()</a> is null (placeholder / unset sample). <br /></td></tr>
<tr class="separator:ace111e68ca49e6d47cc92f53a0be87ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Inertial measurement sample (ROS <code>sensor_msgs/Imu-like</code> fields). </p>
<p>Holds orientation (quaternion), angular velocity, linear acceleration, optional 3×3 row-major covariance matrices (double), and an optional <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> expressing the <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> frame relative to the robot base.</p>
<p><a class="el" href="classrtabmap_1_1IMU.html#ace111e68ca49e6d47cc92f53a0be87ef">empty()</a> is true when <a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform()</a> is null (default constructor). A sample constructed with <a class="el" href="classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2">Transform::getIdentity()</a> is not empty.</p>
<p><a class="el" href="classrtabmap_1_1IMU.html#a1ccae83f46e87d28e56bcfc4a25fafb8">convertToBaseFrame()</a> rotates linear/angular velocity (and orientation when quaternion x/y/z are non-zero) into the base frame, then clears rotation in <a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform()</a> while keeping translation.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1SensorData.html#a056056de80edf1bc20505fd992cdc6e7" title="Returns IMU data.">SensorData::imu()</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1IMUEvent.html" title="UEvent carrying an IMU sample and timestamp.">IMUEvent</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00056">56</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a76e674d3ef1865369e1416ae5ff76483" name="a76e674d3ef1865369e1416ae5ff76483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76e674d3ef1865369e1416ae5ff76483">&#9670;&#160;</a></span>IMU() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">rtabmap::IMU::IMU </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default-constructs an empty sample (null <a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform()</a>). </p>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00060">60</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<a id="a8db1233b6871dcbd58f1862cee2826fa" name="a8db1233b6871dcbd58f1862cee2826fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8db1233b6871dcbd58f1862cee2826fa">&#9670;&#160;</a></span>IMU() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">rtabmap::IMU::IMU </td>
<td>(</td>
<td class="paramtype">const cv::Vec4d &amp;&#160;</td>
<td class="paramname"><em>orientation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>orientationCovariance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Vec3d &amp;&#160;</td>
<td class="paramname"><em>angularVelocity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>angularVelocityCovariance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Vec3d &amp;&#160;</td>
<td class="paramname"><em>linearAcceleration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>linearAccelerationCovariance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;&#160;</td>
<td class="paramname"><em>localTransform</em> = <code><a class="el" href="classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2">Transform::getIdentity</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs a sample with orientation and motion data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">orientation</td><td>Unit quaternion (qx, qy, qz, qw). </td></tr>
<tr><td class="paramname">orientationCovariance</td><td>3×3 row-major covariance about x, y, z (empty if unused). </td></tr>
<tr><td class="paramname">angularVelocity</td><td>Rad/s about x, y, z. </td></tr>
<tr><td class="paramname">angularVelocityCovariance</td><td>3×3 row-major covariance (empty if unused). </td></tr>
<tr><td class="paramname">linearAcceleration</td><td>m/s² about x, y, z. </td></tr>
<tr><td class="paramname">linearAccelerationCovariance</td><td>3×3 row-major covariance (empty if unused). </td></tr>
<tr><td class="paramname">localTransform</td><td><a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> frame in base coordinates (default identity). </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00072">72</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<a id="a3171afc29cdf8587a401b6da1b1908e6" name="a3171afc29cdf8587a401b6da1b1908e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3171afc29cdf8587a401b6da1b1908e6">&#9670;&#160;</a></span>IMU() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">rtabmap::IMU::IMU </td>
<td>(</td>
<td class="paramtype">const cv::Vec3d &amp;&#160;</td>
<td class="paramname"><em>angularVelocity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>angularVelocityCovariance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Vec3d &amp;&#160;</td>
<td class="paramname"><em>linearAcceleration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>linearAccelerationCovariance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;&#160;</td>
<td class="paramname"><em>localTransform</em> = <code><a class="el" href="classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2">Transform::getIdentity</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs a sample without orientation (e.g. no magnetometer / no attitude). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">angularVelocity</td><td>Rad/s about x, y, z. </td></tr>
<tr><td class="paramname">angularVelocityCovariance</td><td>3×3 row-major covariance (empty if unused). </td></tr>
<tr><td class="paramname">linearAcceleration</td><td>m/s² about x, y, z. </td></tr>
<tr><td class="paramname">linearAccelerationCovariance</td><td>3×3 row-major covariance (empty if unused). </td></tr>
<tr><td class="paramname">localTransform</td><td><a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> frame in base coordinates (default identity). </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00097">97</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2160e6d59e4f9e3ffc84a2b7d62bdabd" name="a2160e6d59e4f9e3ffc84a2b7d62bdabd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2160e6d59e4f9e3ffc84a2b7d62bdabd">&#9670;&#160;</a></span>orientation()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Vec4d &amp; rtabmap::IMU::orientation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Orientation quaternion (qx, qy, qz, qw). </dd></dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00111">111</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<a id="ab7668040b92bfa5532c5e1c19ddbf429" name="ab7668040b92bfa5532c5e1c19ddbf429"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7668040b92bfa5532c5e1c19ddbf429">&#9670;&#160;</a></span>orientationCovariance()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::IMU::orientationCovariance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>3×3 orientation covariance (row-major, empty if orientation unset). </dd></dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00113">113</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<a id="ad0160a803d2005f3f4db27c402e6bceb" name="ad0160a803d2005f3f4db27c402e6bceb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0160a803d2005f3f4db27c402e6bceb">&#9670;&#160;</a></span>angularVelocity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Vec3d &amp; rtabmap::IMU::angularVelocity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Angular velocity (rad/s). </dd></dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00116">116</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<a id="a660c82c641525ff24aefa7e03ebf7d4a" name="a660c82c641525ff24aefa7e03ebf7d4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a660c82c641525ff24aefa7e03ebf7d4a">&#9670;&#160;</a></span>angularVelocityCovariance()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::IMU::angularVelocityCovariance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>3×3 angular velocity covariance (row-major, empty if unused). </dd></dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00118">118</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<a id="a8fde3445664329d6432b632fca9db17a" name="a8fde3445664329d6432b632fca9db17a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fde3445664329d6432b632fca9db17a">&#9670;&#160;</a></span>linearAcceleration()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Vec3d &amp; rtabmap::IMU::linearAcceleration </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Linear acceleration (m/s²). </dd></dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00121">121</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<a id="a2ee035bffb85f1681ad3525c32ba1243" name="a2ee035bffb85f1681ad3525c32ba1243"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ee035bffb85f1681ad3525c32ba1243">&#9670;&#160;</a></span>linearAccelerationCovariance()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const cv::Mat &amp; rtabmap::IMU::linearAccelerationCovariance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>3×3 linear acceleration covariance (row-major, empty if unused). </dd></dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00123">123</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<a id="a10cfadbe31bbf80822a9ab92c0892b33" name="a10cfadbe31bbf80822a9ab92c0892b33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10cfadbe31bbf80822a9ab92c0892b33">&#9670;&#160;</a></span>localTransform()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp; rtabmap::IMU::localTransform </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classrtabmap_1_1Transform.html" title="Represents a 3D rigid body transformation (rotation + translation).">Transform</a> from <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> frame to base frame. </dd></dl>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00126">126</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<a id="a1ccae83f46e87d28e56bcfc4a25fafb8" name="a1ccae83f46e87d28e56bcfc4a25fafb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ccae83f46e87d28e56bcfc4a25fafb8">&#9670;&#160;</a></span>convertToBaseFrame()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::IMU::convertToBaseFrame </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Rotate motion (and optionally orientation) into the base frame. </p>
<p>Applies <a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform()</a> rotation to vectors and covariances, then sets rotational part of <a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform()</a> to identity (translation unchanged). No-op if <a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform()</a> is null or rotation is identity. Orientation is updated only when quaternion qx, qy, qz, qw are not all zero. </p>
</div>
</div>
<a id="ace111e68ca49e6d47cc92f53a0be87ef" name="ace111e68ca49e6d47cc92f53a0be87ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace111e68ca49e6d47cc92f53a0be87ef">&#9670;&#160;</a></span>empty()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool rtabmap::IMU::empty </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>True when <a class="el" href="classrtabmap_1_1IMU.html#a10cfadbe31bbf80822a9ab92c0892b33">localTransform()</a> is null (placeholder / unset sample). </p>
<p class="definition">Definition at line <a class="el" href="IMU_8h_source.html#l00141">141</a> of file <a class="el" href="IMU_8h_source.html">IMU.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>corelib/include/rtabmap/core/<a class="el" href="IMU_8h_source.html">IMU.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacertabmap.html">rtabmap</a></li><li class="navelem"><a class="el" href="classrtabmap_1_1IMU.html">IMU</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>