Files
rtabmap/preview/pr-1492/api/latest/classrtabmap_1_1LocalGrid.html
T

370 lines
20 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::LocalGrid 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.10</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_1LocalGrid.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="#pub-attribs">Public Attributes</a> &#124;
<a href="classrtabmap_1_1LocalGrid-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">rtabmap::LocalGrid Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Local occupancy grid cells for one map node (ground, obstacles, empty).
<a href="classrtabmap_1_1LocalGrid.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="LocalGrid_8h_source.html">LocalGrid.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:a42d930cf05d39ecbbd2e3678f8d0b47a" id="r_a42d930cf05d39ecbbd2e3678f8d0b47a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1LocalGrid.html#a42d930cf05d39ecbbd2e3678f8d0b47a">LocalGrid</a> (const cv::Mat &amp;ground, const cv::Mat &amp;obstacles, const cv::Mat &amp;empty, float <a class="el" href="classrtabmap_1_1LocalGrid.html#a13abf7a3ed9d8680ea339551401b62f5">cellSize</a>, const cv::Point3f &amp;<a class="el" href="classrtabmap_1_1LocalGrid.html#aa8f5a6219144d584cde0fe6b565ac0bb">viewPoint</a>=cv::Point3f(0, 0, 0))</td></tr>
<tr class="memdesc:a42d930cf05d39ecbbd2e3678f8d0b47a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a local grid from cell matrices. <br /></td></tr>
<tr class="separator:a42d930cf05d39ecbbd2e3678f8d0b47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4bac3ac9ffd57653dee619b5be2b4f7" id="r_af4bac3ac9ffd57653dee619b5be2b4f7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1LocalGrid.html#af4bac3ac9ffd57653dee619b5be2b4f7">is3D</a> () const</td></tr>
<tr class="separator:af4bac3ac9ffd57653dee619b5be2b4f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a1d828782755374c7601810b35f99a9e5" id="r_a1d828782755374c7601810b35f99a9e5"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1LocalGrid.html#a1d828782755374c7601810b35f99a9e5">groundCells</a></td></tr>
<tr class="memdesc:a1d828782755374c7601810b35f99a9e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ground cells (1×N, <code>CV_32FC2</code>–<code>CV_32FC7</code>, see class doc). <br /></td></tr>
<tr class="separator:a1d828782755374c7601810b35f99a9e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe290c60168557fb899914f53e4ad1a1" id="r_abe290c60168557fb899914f53e4ad1a1"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1LocalGrid.html#abe290c60168557fb899914f53e4ad1a1">obstacleCells</a></td></tr>
<tr class="memdesc:abe290c60168557fb899914f53e4ad1a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obstacle cells (same layout as <a class="el" href="classrtabmap_1_1LocalGrid.html#a1d828782755374c7601810b35f99a9e5">groundCells</a>). <br /></td></tr>
<tr class="separator:abe290c60168557fb899914f53e4ad1a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d0a732be74bd5c46e9029982bf4972b" id="r_a7d0a732be74bd5c46e9029982bf4972b"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1LocalGrid.html#a7d0a732be74bd5c46e9029982bf4972b">emptyCells</a></td></tr>
<tr class="memdesc:a7d0a732be74bd5c46e9029982bf4972b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty/free cells (same layout as <a class="el" href="classrtabmap_1_1LocalGrid.html#a1d828782755374c7601810b35f99a9e5">groundCells</a>). <br /></td></tr>
<tr class="separator:a7d0a732be74bd5c46e9029982bf4972b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13abf7a3ed9d8680ea339551401b62f5" id="r_a13abf7a3ed9d8680ea339551401b62f5"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1LocalGrid.html#a13abf7a3ed9d8680ea339551401b62f5">cellSize</a></td></tr>
<tr class="memdesc:a13abf7a3ed9d8680ea339551401b62f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cell size in meters. <br /></td></tr>
<tr class="separator:a13abf7a3ed9d8680ea339551401b62f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8f5a6219144d584cde0fe6b565ac0bb" id="r_aa8f5a6219144d584cde0fe6b565ac0bb"><td class="memItemLeft" align="right" valign="top">cv::Point3f&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1LocalGrid.html#aa8f5a6219144d584cde0fe6b565ac0bb">viewPoint</a></td></tr>
<tr class="memdesc:aa8f5a6219144d584cde0fe6b565ac0bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">View point used to build the grid. <br /></td></tr>
<tr class="separator:aa8f5a6219144d584cde0fe6b565ac0bb"><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>Local occupancy grid cells for one map node (ground, obstacles, empty). </p>
<p>Each layer is stored as a 1×N <code>cv::Mat</code> of cell coordinates in the robot/base frame. Layouts match <a class="el" href="classrtabmap_1_1LaserScan.html">LaserScan</a> grid storage (<a class="el" href="classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007">LaserScan::Format</a>):</p><ul>
<li><code>CV_32FC2</code> (2 ch): <code>kXY</code> — (x, y)</li>
<li><code>CV_32FC3</code> (3 ch): <code>kXYZ</code> or <code>kXYI</code> — (x, y, z) or (x, y, intensity)</li>
<li><code>CV_32FC4</code> (4 ch): <code>kXYZI</code> or <code>kXYZRGB</code> — (x, y, z, intensity) or (x, y, z, RGB)</li>
<li><code>CV_32FC5</code> (5 ch): <code>kXYNormal</code> or <code>kXYZIT</code> — 2D (x, y, nx, ny, nz) or 3D (x, y, z, intensity, time)</li>
<li><code>CV_32FC6</code> (6 ch): <code>kXYINormal</code>, <code>kXYZNormal</code> or <code>kXYZIRT</code></li>
<li><code>CV_32FC7</code> (7 ch): <code>kXYZINormal</code> or <code>kXYZRGBNormal</code></li>
</ul>
<p><a class="el" href="classrtabmap_1_1LocalGrid.html#af4bac3ac9ffd57653dee619b5be2b4f7">is3D()</a> is true when every non-empty layer is <code>CV_32FC3</code>, <code>CV_32FC4</code> or <code>CV_32FC6</code> (5-channel layers are treated as 2D by <a class="el" href="classrtabmap_1_1OccupancyGrid.html">OccupancyGrid</a>). Extra fields are not used for pose/projection. <a class="el" href="classrtabmap_1_1LocalGrid.html#a13abf7a3ed9d8680ea339551401b62f5">cellSize</a> is the grid resolution in meters (must be &gt; 0). <a class="el" href="classrtabmap_1_1LocalGrid.html#aa8f5a6219144d584cde0fe6b565ac0bb">viewPoint</a> is the sensor/view origin used when the grid was built.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1LaserScan.html" title="Represents 2D or 3D laser scan data with support for multiple point data formats.">LaserScan</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1LocalGridMaker.html" title="Builds per-node local occupancy grids from laser scans or depth clouds.">LocalGridMaker</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1OccupancyGrid.html">OccupancyGrid</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1LocalGridCache.html" title="Cache of LocalGrid entries keyed by map node id.">LocalGridCache</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="LocalGrid_8h_source.html#l00061">61</a> of file <a class="el" href="LocalGrid_8h_source.html">LocalGrid.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a42d930cf05d39ecbbd2e3678f8d0b47a" name="a42d930cf05d39ecbbd2e3678f8d0b47a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42d930cf05d39ecbbd2e3678f8d0b47a">&#9670;&#160;</a></span>LocalGrid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::LocalGrid::LocalGrid </td>
<td>(</td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>ground</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>obstacles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Mat &amp;&#160;</td>
<td class="paramname"><em>empty</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cellSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cv::Point3f &amp;&#160;</td>
<td class="paramname"><em>viewPoint</em> = <code>cv::Point3f(0,&#160;0,&#160;0)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds a local grid from cell matrices. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ground</td><td>Ground cell coordinates (may be empty). </td></tr>
<tr><td class="paramname">obstacles</td><td>Obstacle cell coordinates (may be empty). </td></tr>
<tr><td class="paramname">empty</td><td>Empty/free cell coordinates (may be empty). </td></tr>
<tr><td class="paramname">cellSize</td><td>Grid cell size in meters (must be &gt; 0). </td></tr>
<tr><td class="paramname">viewPoint</td><td>View/sensor origin in the grid frame. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a63dede88dab99988dd9e6b513e7ee273" name="a63dede88dab99988dd9e6b513e7ee273"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63dede88dab99988dd9e6b513e7ee273">&#9670;&#160;</a></span>~LocalGrid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual rtabmap::LocalGrid::~LocalGrid </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 class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="LocalGrid_8h_source.html#l00077">77</a> of file <a class="el" href="LocalGrid_8h_source.html">LocalGrid.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="af4bac3ac9ffd57653dee619b5be2b4f7" name="af4bac3ac9ffd57653dee619b5be2b4f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4bac3ac9ffd57653dee619b5be2b4f7">&#9670;&#160;</a></span>is3D()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool rtabmap::LocalGrid::is3D </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if every non-empty layer is <code>CV_32FC3</code>, <code>CV_32FC4</code> or <code>CV_32FC6</code> (see class doc). </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a1d828782755374c7601810b35f99a9e5" name="a1d828782755374c7601810b35f99a9e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d828782755374c7601810b35f99a9e5">&#9670;&#160;</a></span>groundCells</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cv::Mat rtabmap::LocalGrid::groundCells</td>
</tr>
</table>
</div><div class="memdoc">
<p>Ground cells (1×N, <code>CV_32FC2</code>–<code>CV_32FC7</code>, see class doc). </p>
<p class="definition">Definition at line <a class="el" href="LocalGrid_8h_source.html#l00082">82</a> of file <a class="el" href="LocalGrid_8h_source.html">LocalGrid.h</a>.</p>
</div>
</div>
<a id="abe290c60168557fb899914f53e4ad1a1" name="abe290c60168557fb899914f53e4ad1a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe290c60168557fb899914f53e4ad1a1">&#9670;&#160;</a></span>obstacleCells</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cv::Mat rtabmap::LocalGrid::obstacleCells</td>
</tr>
</table>
</div><div class="memdoc">
<p>Obstacle cells (same layout as <a class="el" href="classrtabmap_1_1LocalGrid.html#a1d828782755374c7601810b35f99a9e5">groundCells</a>). </p>
<p class="definition">Definition at line <a class="el" href="LocalGrid_8h_source.html#l00083">83</a> of file <a class="el" href="LocalGrid_8h_source.html">LocalGrid.h</a>.</p>
</div>
</div>
<a id="a7d0a732be74bd5c46e9029982bf4972b" name="a7d0a732be74bd5c46e9029982bf4972b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d0a732be74bd5c46e9029982bf4972b">&#9670;&#160;</a></span>emptyCells</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cv::Mat rtabmap::LocalGrid::emptyCells</td>
</tr>
</table>
</div><div class="memdoc">
<p>Empty/free cells (same layout as <a class="el" href="classrtabmap_1_1LocalGrid.html#a1d828782755374c7601810b35f99a9e5">groundCells</a>). </p>
<p class="definition">Definition at line <a class="el" href="LocalGrid_8h_source.html#l00084">84</a> of file <a class="el" href="LocalGrid_8h_source.html">LocalGrid.h</a>.</p>
</div>
</div>
<a id="a13abf7a3ed9d8680ea339551401b62f5" name="a13abf7a3ed9d8680ea339551401b62f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13abf7a3ed9d8680ea339551401b62f5">&#9670;&#160;</a></span>cellSize</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float rtabmap::LocalGrid::cellSize</td>
</tr>
</table>
</div><div class="memdoc">
<p>Cell size in meters. </p>
<p class="definition">Definition at line <a class="el" href="LocalGrid_8h_source.html#l00085">85</a> of file <a class="el" href="LocalGrid_8h_source.html">LocalGrid.h</a>.</p>
</div>
</div>
<a id="aa8f5a6219144d584cde0fe6b565ac0bb" name="aa8f5a6219144d584cde0fe6b565ac0bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8f5a6219144d584cde0fe6b565ac0bb">&#9670;&#160;</a></span>viewPoint</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cv::Point3f rtabmap::LocalGrid::viewPoint</td>
</tr>
</table>
</div><div class="memdoc">
<p>View point used to build the grid. </p>
<p class="definition">Definition at line <a class="el" href="LocalGrid_8h_source.html#l00086">86</a> of file <a class="el" href="LocalGrid_8h_source.html">LocalGrid.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="LocalGrid_8h_source.html">LocalGrid.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_1LocalGrid.html">LocalGrid</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>