2026-08-06 22:56:24 +00:00
<!-- 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" >
2026-09-28 16:36:22 +00:00
< div id = "projectname" > RTAB-Map< span id = "projectnumber" >   0.23.13</ span >
2026-08-06 22:56:24 +00:00
</ 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&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&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&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 > |
< 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 < < a class = "el" href = "IMU_8h_source.html" > IMU.h</ a > > </ 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" >   </ 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" >   </ 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" >   </ td ></ tr >
< tr class = "memitem:a8db1233b6871dcbd58f1862cee2826fa" id = "r_a8db1233b6871dcbd58f1862cee2826fa" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1IMU.html#a8db1233b6871dcbd58f1862cee2826fa" > IMU</ a > (const cv::Vec4d & < a class = "el" href = "classrtabmap_1_1IMU.html#a2160e6d59e4f9e3ffc84a2b7d62bdabd" > orientation</ a > , const cv::Mat & < a class = "el" href = "classrtabmap_1_1IMU.html#ab7668040b92bfa5532c5e1c19ddbf429" > orientationCovariance</ a > , const cv::Vec3d & < a class = "el" href = "classrtabmap_1_1IMU.html#ad0160a803d2005f3f4db27c402e6bceb" > angularVelocity</ a > , const cv::Mat & < a class = "el" href = "classrtabmap_1_1IMU.html#a660c82c641525ff24aefa7e03ebf7d4a" > angularVelocityCovariance</ a > , const cv::Vec3d & < a class = "el" href = "classrtabmap_1_1IMU.html#a8fde3445664329d6432b632fca9db17a" > linearAcceleration</ a > , const cv::Mat & < a class = "el" href = "classrtabmap_1_1IMU.html#a2ee035bffb85f1681ad3525c32ba1243" > linearAccelerationCovariance</ a > , const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & < 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" >   </ td >< td class = "mdescRight" > Constructs a sample with orientation and motion data. < br /></ td ></ tr >
< tr class = "separator:a8db1233b6871dcbd58f1862cee2826fa" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a3171afc29cdf8587a401b6da1b1908e6" id = "r_a3171afc29cdf8587a401b6da1b1908e6" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1IMU.html#a3171afc29cdf8587a401b6da1b1908e6" > IMU</ a > (const cv::Vec3d & < a class = "el" href = "classrtabmap_1_1IMU.html#ad0160a803d2005f3f4db27c402e6bceb" > angularVelocity</ a > , const cv::Mat & < a class = "el" href = "classrtabmap_1_1IMU.html#a660c82c641525ff24aefa7e03ebf7d4a" > angularVelocityCovariance</ a > , const cv::Vec3d & < a class = "el" href = "classrtabmap_1_1IMU.html#a8fde3445664329d6432b632fca9db17a" > linearAcceleration</ a > , const cv::Mat & < a class = "el" href = "classrtabmap_1_1IMU.html#a2ee035bffb85f1681ad3525c32ba1243" > linearAccelerationCovariance</ a > , const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & < 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" >   </ 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" >   </ td ></ tr >
< tr class = "memitem:a2160e6d59e4f9e3ffc84a2b7d62bdabd" id = "r_a2160e6d59e4f9e3ffc84a2b7d62bdabd" >< td class = "memItemLeft" align = "right" valign = "top" > const cv::Vec4d &  </ 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" >   </ td ></ tr >
< tr class = "memitem:ab7668040b92bfa5532c5e1c19ddbf429" id = "r_ab7668040b92bfa5532c5e1c19ddbf429" >< td class = "memItemLeft" align = "right" valign = "top" > const cv::Mat &  </ 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" >   </ td ></ tr >
< tr class = "memitem:ad0160a803d2005f3f4db27c402e6bceb" id = "r_ad0160a803d2005f3f4db27c402e6bceb" >< td class = "memItemLeft" align = "right" valign = "top" > const cv::Vec3d &  </ 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" >   </ td ></ tr >
< tr class = "memitem:a660c82c641525ff24aefa7e03ebf7d4a" id = "r_a660c82c641525ff24aefa7e03ebf7d4a" >< td class = "memItemLeft" align = "right" valign = "top" > const cv::Mat &  </ 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" >   </ td ></ tr >
< tr class = "memitem:a8fde3445664329d6432b632fca9db17a" id = "r_a8fde3445664329d6432b632fca9db17a" >< td class = "memItemLeft" align = "right" valign = "top" > const cv::Vec3d &  </ 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" >   </ td ></ tr >
< tr class = "memitem:a2ee035bffb85f1681ad3525c32ba1243" id = "r_a2ee035bffb85f1681ad3525c32ba1243" >< td class = "memItemLeft" align = "right" valign = "top" > const cv::Mat &  </ 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" >   </ 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 > &  </ 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" >   </ td ></ tr >
< tr class = "memitem:a1ccae83f46e87d28e56bcfc4a25fafb8" id = "r_a1ccae83f46e87d28e56bcfc4a25fafb8" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ 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" >   </ 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" >   </ td ></ tr >
< tr class = "memitem:ace111e68ca49e6d47cc92f53a0be87ef" id = "r_ace111e68ca49e6d47cc92f53a0be87ef" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ 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" >   </ 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" >   </ 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 & Destructor Documentation</ h2 >
< a id = "a76e674d3ef1865369e1416ae5ff76483" name = "a76e674d3ef1865369e1416ae5ff76483" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a76e674d3ef1865369e1416ae5ff76483" > ◆  </ 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" > ◆  </ 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 &  </ td >
< td class = "paramname" >< em > orientation</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const cv::Mat &  </ td >
< td class = "paramname" >< em > orientationCovariance</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const cv::Vec3d &  </ td >
< td class = "paramname" >< em > angularVelocity</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const cv::Mat &  </ td >
< td class = "paramname" >< em > angularVelocityCovariance</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const cv::Vec3d &  </ td >
< td class = "paramname" >< em > linearAcceleration</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const cv::Mat &  </ 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 > &  </ td >
< td class = "paramname" >< em > localTransform</ em > = < code >< a class = "el" href = "classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2" > Transform::getIdentity</ a > ()</ code >   </ 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" > ◆  </ 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 &  </ td >
< td class = "paramname" >< em > angularVelocity</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const cv::Mat &  </ td >
< td class = "paramname" >< em > angularVelocityCovariance</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const cv::Vec3d &  </ td >
< td class = "paramname" >< em > linearAcceleration</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const cv::Mat &  </ 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 > &  </ td >
< td class = "paramname" >< em > localTransform</ em > = < code >< a class = "el" href = "classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2" > Transform::getIdentity</ a > ()</ code >   </ 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" > ◆  </ 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 & 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" > ◆  </ 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 & 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" > ◆  </ 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 & 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" > ◆  </ 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 & 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" > ◆  </ 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 & 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" > ◆  </ 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 & 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" > ◆  </ 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 > & 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" > ◆  </ 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" > ◆  </ 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 >