<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">35832</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2023.035832</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Integrating WSN and Laser SLAM for Mobile Robot Indoor Localization</article-title>
<alt-title alt-title-type="left-running-head">Integrating WSN and Laser SLAM for Mobile Robot Indoor Localization</alt-title>
<alt-title alt-title-type="right-running-head">Integrating WSN and Laser SLAM for Mobile Robot Indoor Localization</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Ge</surname><given-names>Gengyu</given-names></name><xref ref-type="aff" rid="aff-1">1</xref>
<xref ref-type="aff" rid="aff-2">2</xref><email>gegengyu_2021@163.com</email></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Qin</surname><given-names>Zhong</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Chen</surname><given-names>Xin</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<aff id="aff-1"><label>1</label><institution>School of Information Engineering, Zunyi Normal University</institution>, <addr-line>Zunyi, 563006</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>School of Computer Science and Technology, Chongqing University of Posts and Telecommunications</institution>, <addr-line>Chongqing, 400065</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Gengyu Ge. Email: <email>gegengyu_2021@163.com</email></corresp>
</author-notes>
<pub-date publication-format="print" date-type="pub" iso-8601-date="2022-12-15"><day>15</day>
<month>12</month>
<year>2022</year></pub-date>
<volume>74</volume>
<issue>3</issue>
<fpage>6351</fpage>
<lpage>6369</lpage>
<history>
<date date-type="received"><day>06</day><month>9</month><year>2022</year></date>
<date date-type="accepted"><day>27</day><month>10</month><year>2022</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Ge et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Ge et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_35832.pdf"></self-uri>
<abstract>
<p>Localization plays a vital role in the mobile robot navigation system and is a fundamental capability for the following path planning task. In an indoor environment where the global positioning system signal fails or becomes weak, the wireless sensor network (WSN) or simultaneous localization and mapping (SLAM) scheme gradually becomes a research hot spot. WSN method uses received signal strength indicator (RSSI) values to determine the position of the target signal node, however, the orientation of the target node is not clear. Besides, the distance error is large when the indoor signal receives interference. The laser SLAM-based method usually uses a 2D laser Lidar to build an occupancy grid map, then locates the robot according to the known grid map. Unfortunately, this scheme only works effectively in those areas with salient geometrical features. The traditional particle filter always fails for areas with similar structures, such as a long corridor. To solve their shortcomings, this paper proposes a novel coarse-to-fine paradigm that uses WSN to assist mobile robot localization in a geometrically similar environment. Firstly, the fingerprints database is built in the offline stage to get reference distance information. The distance data is determined by the statistical mean value of multiple RSSI values. Secondly, a hybrid map with grid cells and RSSI values is constructed when the mobile robot moves from a starting point to the ending place. Thirdly, the RSSI values are thought of as a basic reference to get a coarse localization. Finally, an improved particle filtering method is presented to achieve fine localization. Experimental results demonstrate that our approach is effective and robust for global localization. The localization success rate reaches 97.0&#x0025; and the average moving distance is only 0.74 meters, while the traditional method always fails. In addition, the method also works well when the mobile robot is kidnapped to another position in the environment.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Robot localization</kwd>
<kwd>SLAM</kwd>
<kwd>WSN</kwd>
<kwd>RSSI</kwd>
<kwd>geometrically similar environment</kwd>
<kwd>particle filter</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1"><label>1</label><title>Introduction</title>
<p>Recently, both mobile robots and the internet of things (IoT) have been hot spots of research and can be used in many applications [<xref ref-type="bibr" rid="ref-1">1</xref>]. The intelligent mobile robot can be thought of as an autonomous mobile terminal in the WSN while the sensors or other devices are the static terminals. It&#x2019;s already common that mobile robots serve human beings in many areas, for instance, there are many commercial service robots used for transporting goods in industrial parks, factory workshops, hotels, restaurants, and hospitals, especially during the COVID-19 epidemic time [<xref ref-type="bibr" rid="ref-2">2</xref>]. The premise for robots to perform these tasks is that they can navigate and plan paths autonomously [<xref ref-type="bibr" rid="ref-3">3</xref>]. Before the navigation, the mobile robot needs to achieve its pose which includes position coordinates and orientation on a two dimensional plane. Given the initial pose and a target position, the following navigation process will be a relatively mature work. Therefore, localization task is vital and meaningful in mobile robotics research.</p>
<p>In an outdoor environment, the global positioning system (GPS) is the most popular and widely used location technology in the world [<xref ref-type="bibr" rid="ref-4">4</xref>]. Due to the absence of GPS signal in the indoor environment, many other signals are proposed to solve this problem, for instance, WiFi [<xref ref-type="bibr" rid="ref-5">5</xref>], ultrasonic, radio frequency identification (RFID) [<xref ref-type="bibr" rid="ref-6">6</xref>], ultrawide-band (UWB) [<xref ref-type="bibr" rid="ref-7">7</xref>] and WSN [<xref ref-type="bibr" rid="ref-8">8</xref>]. RSSI is usually used to calculate the approximate distance between the receiver and the signal transmitter [<xref ref-type="bibr" rid="ref-9">9</xref>]. However, these methods can only provide basic and rough localization information. The mobile robot still cannot know where is the free area or obstacle, thus cannot navigate or walk freely in the environment. Another route is focused on the 2D laser rangefinder or Lidar which can be used to achieve the 2D metric information and map the environment around the mobile robot. In addition, the metric map is suitable and effective for path planning. A 2D probabilistic occupancy grid map is built firstly using a technique called SLAM, then the mobile robot performs the localization task according to the constructed map and Monte Carlo localization method (MCL) [<xref ref-type="bibr" rid="ref-10">10</xref>]. However, when the mobile robot moves to a geometrically similar area, the 2D laser sensor gets the same data from its surroundings and the localization task becomes very difficult [<xref ref-type="bibr" rid="ref-11">11</xref>].</p>
<p>To solve the above localization problem in a geometrically similar indoor environment, such as a long corridor, this work provides an alternative scheme by combining the WSN and laser SLAM techniques. Firstly, we build a hybrid map using the two techniques. Then, we utilize a coarse-to-fine paradigm that uses signal retrieval to get a coarse position candidate. Lastly, the laser scanning data are used to achieve a fine localization pose. The whole framework of the mapping and localization system is depicted in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. The main contributions of this work are as follows:
<list list-type="bullet">
<list-item><p>A hybrid map consisted of the fingerprints of signal values and an occupancy grid map is built when the mobile robot moves in a geometrically similar environment. The coordinates of the signal nodes are determined based on the laser SLAM mapping progress.</p></list-item>
<list-item><p>The joint initialization of the global localization. The mobile robot achieves the coarse position without orientation according to the RSSI retrieval and then moves a short distance to decide the orientation. The fine localization task is done by using the laser scanning data and the improved MCL method.</p></list-item>
<list-item><p>An improved resampling strategy is used to detect the robot kidnapping incident. RSSI values and the fixed time interval are considered as the references. Experimental results show that our proposed approach is efficient and achieves a 97.0&#x0025; successful localization rate within one meter moving distance while traditional MCL methods always fail. In addition, the robot can rapidly recover its pose from a kidnapped incident.</p></list-item>
</list></p>
<fig id="fig-1"><label>Figure 1</label><caption><title>Framework of the mapping and localization system</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-1.png"/></fig>
<p>This paper is organized as follows. The related work of laser-SLAM and localization, and WSN-assisted localization are discussed in Section 2. A proposed methodology is presented in Section 3, which includes building an occupancy grid map, RSSI-distance fingerprint, building a hybrid map and coarse-to-fine localization. The experiment and discussion are described in Section 4. Finally, Section 5 gives the conclusion.</p>
</sec>
<sec id="s2"><label>2</label><title>Related Work</title>
<sec id="s2_1"><label>2.1</label><title>Laser SLAM and Localization</title>
<p>Laser SLAM is mainly used for constructing a grip map of the environment where the mobile robot performs tasks. Due to the high costs, 3D laser Lidar is usually used for outdoor self-driving [<xref ref-type="bibr" rid="ref-12">12</xref>] or indoor 3D reconstruction [<xref ref-type="bibr" rid="ref-13">13</xref>]. In an indoor environment, most of the surroundings are structured scenes, mobile robot only needs to know which areas can pass through for navigation. Therefore, the 2D laser Lidar is enough for the purpose of building a two-dimensional probability occupancy grid map. This map is used for the following path plan. The most famous works of the 2D laser Lidar SLAM are Gmapping [<xref ref-type="bibr" rid="ref-14">14</xref>] and Cartographer [<xref ref-type="bibr" rid="ref-15">15</xref>]. The former is a filter-based scheme and the latter is a graph optimization scheme. In addition, there are other options such as hector SLAM [<xref ref-type="bibr" rid="ref-16">16</xref>] and Karto SLAM [<xref ref-type="bibr" rid="ref-17">17</xref>].</p>
<p>Localization solves the question &#x2018;Where am I&#x2019; and includes three cases which are global localization, pose tracking (local localization) and the kidnapped robot problem [<xref ref-type="bibr" rid="ref-18">18</xref>]. Global localization means the robot needs to know its pose when it wakes up anywhere on a given map. Kalman filter and its extended versions are mainly used for pose tracking, not suitable for global localization and robot kidnapped problems [<xref ref-type="bibr" rid="ref-19">19</xref>,<xref ref-type="bibr" rid="ref-20">20</xref>]. On the contrary, particle filter approaches can solve the whole cases [<xref ref-type="bibr" rid="ref-21">21</xref>]. Monte Carlo localization methods use particles to simulate arbitrary distribution. More importantly, they are suitable to deal with nonlinear and non-gaussian problems. However, for those geometrically similar environments, the MCL method will fail.</p>
</sec>
<sec id="s2_2"><label>2.2</label><title>WSN-Assisted Localization</title>
<p>WSNs have been applied in the field of localization which mainly depends on RSSI [<xref ref-type="bibr" rid="ref-22">22</xref>], such as search and rescue environment [<xref ref-type="bibr" rid="ref-23">23</xref>], and underwater scenes [<xref ref-type="bibr" rid="ref-24">24</xref>]. Generally, the geometric and fingerprint approaches are commonly used in RSS indoor localization systems. Due to the non-line-of-sight (NLOS), the geometric approach implements easily but has low position accuracy [<xref ref-type="bibr" rid="ref-25">25</xref>]. Differently, the fingerprint method requires only the collection of RSS values at several fixed locations. The signal fingerprint is usually performed in an offline surveying phase and followed by an online querying phase [<xref ref-type="bibr" rid="ref-26">26</xref>]. In the offline phase, a database is formed by collecting several location fingerprints. In the online phase, the mobile robot or agent collects several RSS values to calculate the approximate position.</p>
<p>However, due to the environmental impacts, the measured RSSI value is time-varying and unreliable [<xref ref-type="bibr" rid="ref-27">27</xref>]. Consequently, the mobile robot localization only based on the WSN method cannot achieve an accurate location. More seriously, the orientation of the mobile robot cannot be determined and the RSSI information is not enough for obstacle avoidance. The combination of WSN and SLAM is a new trend, especially in the field of mobile robotics. In literature [<xref ref-type="bibr" rid="ref-28">28</xref>,<xref ref-type="bibr" rid="ref-29">29</xref>], the authors combine the two techniques to realize an accurate pose estimating error. However, they only did the SLAM process, not the re-localization in the environment given a known map. In addition, the map points were some simulated sparse features which are not suitable for path planning and navigation tasks [<xref ref-type="bibr" rid="ref-30">30</xref>]. Gives a result of the fusion of WiFi, IMU and SLAM. The result is only thought of as an odometry measurement, still not a re-localization task according to a previously built map. Different from all these works, our proposed approach combines the laser-based SLAM and the RSSI techniques to build an occupancy grid map. Based on the known map, the autonomous mobile robot can realize a better localization result.</p>
</sec>
</sec>
<sec id="s3"><label>3</label><title>Proposed Methodology</title>
<sec id="s3_1"><label>3.1</label><title>Build an Occupancy Grid Map</title>
<p>In the map building phase, the mobile robot utilizes the SLAM technique to solve a contradictory problem. The SLAM is a process that a mobile robot perceives an unknown environment and constructs a map. The mobile robot needs to concurrently estimate the robot pose and the environmental structures. In general, a 2D laser-based SLAM mapping system needs odometry to estimate the moving process and a laser rangefinder to estimate the measurement process.</p>
<p><xref ref-type="fig" rid="fig-2">Fig. 2</xref> shows a diagram of the mobile robot motion model based on odometry which is an encoder attached to each wheel of the mobile robot. Suppose the poses of the robot at time <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and <italic>t</italic> are <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, respectively. The black cycle on the lower left represents the position of the mobile robot at time <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and the black solid arrow means the orientation. Similarly, the upper right part means that of time <italic>t</italic>. The displacement of the robot from time <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> to time <italic>t</italic> can be decomposed into one translation (<inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>) and two rotations (<inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>).</p>
<fig id="fig-2"><label>Figure 2</label><caption><title>Diagram of the mobile robot motion model</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-2.png"/></fig>
<p>If the influence of error is not considered, then the translation and rotations can be computed from <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>.
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mn>2</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:msqrt></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>However, due to the drift and slip of wheels, there is no fixed coordinate transformation between the coordinates used by the odometer in the mobile robot and the coordinates of the physical world. The difference between the real value and the ideal value can be obtained by sampling, as <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref> shows:
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="italic">sample</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="italic">sample</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="italic">sample</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>where the variables <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are the specific parameters that specify the robot motion noise. <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> are the estimated results. Then, taking all these information together, the odometry-based probabilistic motion model from time <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> to <italic>t</italic> can be defined as <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>:
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">trans</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="1em" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The measurement function usually utilizes the likelihood field model instead of beam rangefinder model. The reason is that the latter one lacks of smoothness. Suppose the <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> represents the position of the sensor local coordinate system fixedly connected with the mobile robot and <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> means the angle of sensor beam relative to robot the heading direction. The endpoint coordinates of the measurement <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msubsup><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> can be mapped to the global coordinate system through triangular transformation, as <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref> shows.
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>&#x03B8;</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>&#x03B8;</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>&#x03B8;</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>&#x03B8;</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The measurement probability <italic>q</italic> calculated by the likelihood domain is as bellow:
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:munder><mml:mrow><mml:mi>m</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:munder><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msqrt><mml:mrow><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:msqrt><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x27E8;</mml:mo><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:msup></mml:mrow><mml:mo>&#x27E9;</mml:mo></mml:mrow><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>u</mml:mi><mml:mi>p</mml:mi><mml:mi>i</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>m</mml:mi><mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>q</mml:mi><mml:mo>=</mml:mo><mml:mi>q</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>b</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the position of the obstacle in the map system, <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the normal measured distance, <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">random</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> is the random measured distance and <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the maximum value of the sensor. Given the known map and observation values, the localization problem is easy to solve. Similarly, given the pose and observation of the robot, it is easy to build a map. However, the mapping process without a known pose which also is named SLAM is difficult. The reason is that the mobile robot needs to concurrently estimate its pose and build a metric map. The SLAM technique can be thought of as a state estimation problem which jointly estimates the poses and observations. A diagram of SLAM process is shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. The hexagonal star with a solid black line indicates the position of the real observation landmark and the triangle with a red solid line represents the real pose of the robot. In contrast, the hexagonal star with a dashed black line indicates the position of the estimated observation landmark and the triangle with a red dashed line represents the estimated pose of the robot. Due to the measurement errors of the odometer and observation sensor, it is difficult to obtain accurate values, so the error can only be reduced as much as possible.</p>
<fig id="fig-3"><label>Figure 3</label><caption><title>SLAM or state estimation</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-3.png"/></fig>
<p>The probabilistic occupancy grid map can be thought of as a combination of many basic grid cells. The grid cells are the discretization of a place and the mathematical equation can be described as follows:
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:munder><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mi>i</mml:mi></mml:munder><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>where <italic>m</italic> is the map to be built and <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the i-th cell of the map. The logarithmic probability expression <xref ref-type="disp-formula" rid="eqn-7">(7)</xref> is to avoid the numerical instability near 0 and 1.
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mi>exp</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the expression of logarithmic occupancy probability. The SLAM process can be expressed as:
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="s3_2"><label>3.2</label><title>RSSI-Distance Fingerprint</title>
<p>The database of RSSI-distance fingerprints needs to be created before the localization and navigation process. <xref ref-type="fig" rid="fig-4">Fig. 4</xref> shows the diagram of the localization which includes reference signal points and a mobile robot mounted with a signal receiver. The mobile robot collects signal information in different positions and saves them into a database.</p>
<fig id="fig-4"><label>Figure 4</label><caption><title>The diagram of RSSI-based localization</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-4.png"/></fig>
<p>In <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, the blue marks are reference signal nodes which are also called signal beacons or points in other literatures. Although the names are different, the essential effects are the same. They are usually placed in the indoor environment in advance and given the known coordinates by manual calibration. The locations of all reference signal nodes could be denoted as <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and were shown in the following formula.
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left left left left left left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:math></disp-formula>where <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> means the i-th coordinates of the reference signal node and n is the total number of reference signal nodes.</p>
<p>The red dot represents a mobile robot that carries a signal receiving node. Theoretically, in all areas covered by the reference node signals, the receiver node can receive an RSSI value from each reference signal node. Consequently, sampling signal strengths at several fixed points can be thought of as collecting signal fingerprints. The black dots in <xref ref-type="fig" rid="fig-4">Fig. 4</xref> denote the fixed sampling points. In each sampling point or position, the receiving RSSI values can be denoted as a signal vector or fingerprint <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mi>F</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, as <xref ref-type="disp-formula" rid="eqn-10">formula 10</xref> shows.
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mi>F</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left left left left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the receiving signal strength value from the j-th signal node to the i-th sampling position. In the i-th sampling position, the receiver node can achieve n RSSI values if the n signal nodes are distributed within a visual range.</p>
<p>The fingerprint database consists of m vectors which are RSS values combined and collected from sampling points, as <xref ref-type="disp-formula" rid="eqn-11">formula 11</xref> shows.
<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:mi>F</mml:mi><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The next work is to achieve the relationship between the receiving signal strength and the distance information. Given the relationship and the RSSI value, the distance from the i-th sampling point to each reference signal node can be computed. Similarly, the position of the i-th sampling point can be a trilateral theorem or the least square value by solving nonlinear equations [<xref ref-type="bibr" rid="ref-31">31</xref>]. Therefore, the key to the problem is how to obtain the distance according to the receiving signal strength. A classical path-loss equation [<xref ref-type="bibr" rid="ref-32">32</xref>] for the corridor or open space scene in this work is defined as follows.
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mi>R</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mi>B</mml:mi><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>R</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mi>B</mml:mi><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mn>10</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>log</mml:mi><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>&#x03B4;</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mfrac><mml:mrow><mml:mi>R</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mi>B</mml:mi><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>R</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mi>B</mml:mi><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mn>10</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the distance from the reference signal node to the i-th sampling point. <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is usually set to 1 as a reference value. <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>R</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the mean RSSI value that is collected at the i-th sampling point, similarly with the <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>R</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>&#x03B4;</mml:mi></mml:math></inline-formula> is the measurement noise and <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula> is the signal attenuation index.</p>
<p>After knowing the distance from each sampling point to each reference point, it is easy to calculate the position coordinates of the sampling point <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, as follows:
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>R</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="s3_3"><label>3.3</label><title>Build a Hybrid Map</title>
<p>Different from the traditional practice in the field of communication, we do not mark the coordinates of the reference signal nodes in advance. We utilize the laser-based SLAM to construct an occupancy grid map, in the meanwhile, mark the position of the reference signal node on the map according to the path-loss equation and relative calculation formulas. The purpose is to convert the coordinates of RNs into the coordinate system of the mobile robot and the world coordinate system. Then, the coordinates of the RNs in the map can be represented as <xref ref-type="disp-formula" rid="eqn-14">formula 14</xref>:
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mi>M</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left left left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:math></disp-formula>where <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the coordinates of the i-th reference signal node in the grid map as <xref ref-type="fig" rid="fig-5">Fig. 5</xref> shows.</p>
<fig id="fig-5"><label>Figure 5</label><caption><title>The diagram of building a hybrid map</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-5.png"/></fig>
<p>In <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, each of the RNs is placed on the wall near the door frame which has a corner and is easy to identify. After building the grid map, the coordinates of the RNs are marked manually according to the world coordinate.</p>
</sec>
<sec id="s3_4"><label>3.4</label><title>Coarse-to-Fine Localization</title>
<p>Given a known map, the localization mode uses a coarse-to-fine paradigm to achieve the mobile robot pose. Instead of uniformly sampling particles from the whole occupancy grid map, we bias the region which recommended by the RSSI retrieval result. Due to the infinity of continuous space, the sampling points cannot cover all areas in the indoor environment. Therefore, when the mobile robot moves in the coverage area, the estimation position can be computed according to <xref ref-type="disp-formula" rid="eqn-15">Eq. (15)</xref>.
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>However, the above computation equation is effective only under ideal conditions. In practice, the distance <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> between the estimation position and a reference node can not be obtained directly. To this end, we use the K Nearest Neighbor (KNN) algorithm to achieve the most likely position of the mobile robot relative to the sampling points [<xref ref-type="bibr" rid="ref-33">33</xref>]. Obviously, the mobile robot is located in a subarea between the two or adjacent reference signal nodes with the highest RSSI values, like the green area in <xref ref-type="fig" rid="fig-6">Fig. 6a</xref>.
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msqrt><mml:msubsup><mml:mrow><mml:mo>&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:msqrt></mml:math></disp-formula>where m is the number of RFs which have high RSSI values relative to the i-th sampling point. k is the number of sampling points near the position that needs to be estimated.</p>
<fig id="fig-6"><label>Figure 6</label><caption><title>Coarse localization diagram. (a) Subarea determination. (b) Slightly adjustment to obtain orientation. (c) Particles initialization</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-6.png"/></fig>
<p>The position of the mobile robot can be coarsely determined by using RSSI information, however, the orientation of the mobile robot cannot be determined. To this end, our proposed strategy is that the mobile robot moves a short distance and detects the signal difference. As <xref ref-type="fig" rid="fig-6">Fig. 6b</xref> shows, the mobile robot moves from position A to position B to obtain a best perspective like our previous work [<xref ref-type="bibr" rid="ref-11">11</xref>]. If the RSSI value in the estimation position B relative to RN-i increases, then the orientation is toward the RN-i, otherwise, toward the opposite direction.</p>
<p>After knowing the initial position and orientation of the mobile robot, the following task is to get a fine localization using an improved particle filter algorithm. In the initialization of the global localization step, the particles are scattered evenly in a circular area as <xref ref-type="fig" rid="fig-6">Fig. 6c</xref> shows and the representation is shown in <xref ref-type="disp-formula" rid="eqn-17">Eq. (17)</xref>:
<disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>R</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></disp-formula>where <italic>R</italic> is the radius of the circular and the weights of the particles are equal to <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>N</mml:mi></mml:math></inline-formula> where <italic>N</italic> is the number of particles. In this work, the weights are given by a gaussian distribution function as <xref ref-type="disp-formula" rid="eqn-18">Eq. (18)</xref>:
<disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">initial</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>;</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x03A3;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:msup><mml:mi mathvariant="normal">&#x03A3;</mml:mi><mml:mrow><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mi>exp</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac></mml:mstyle><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:msup><mml:mi mathvariant="normal">&#x03A3;</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mi>exp</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msubsup><mml:mrow><mml:mi>&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msubsup><mml:mrow><mml:mi>&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the estimated position of the robot. The orientations of the particles are parallel to the corridor, so random generation is not required. <xref ref-type="fig" rid="fig-7">Fig. 7</xref> shows the particles with different weights.</p>
<fig id="fig-7"><label>Figure 7</label><caption><title>Particles with different initialized weights</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-7.png"/></fig>
<p>A detailed algorithm is described in Algorithm 1. The observation data includes the laser scanning distances and the RSSI values. Resampling trigger can be set to a fixed time interval. Different from many other resampling schemes that simply replicate the particles with high weights and lose the particle diversity [<xref ref-type="bibr" rid="ref-34">34</xref>], our proposed approach resamples particles according to the RSSI retrieval result after a fixed time interval. Consequently, we do not need to worry about losing particle diversity or spending time on complex resampling algorithms.</p>
<fig id="fig-16">
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-16.png"/></fig>
</sec>
</sec>
<sec id="s4"><label>4</label><title>Experiment and Discussion</title>
<p>Our experimental mobile robot is a modified two-wheel differential driving vehicle shown in <xref ref-type="fig" rid="fig-8">Fig. 8a</xref>. A RPLIDAR A2 laser Lidar (SLAMTEC company, China) which has a 360-degree rotation range and an effective measurement radius of 8 to 10 meters in practice. In addition, the microcomputer with 1.5&#x2005;GHz ARM Cotex-A72 CPU and 8GB RAM. The reference signal nodes and the signal receiver node use the CC2530 module (Texas Instruments, USA) which is based on the ZigBee protocol and IEEE 802.15.4 standard.</p>
<fig id="fig-8"><label>Figure 8</label><caption><title>Experimental setup. (a) The mobile robot platform. (b) CC2530 module</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-8.png"/></fig>
<p>The occupancy grid map is built by using the cartographer SLAM method. The experimental environment is a long corridor with many symmetrical and similar areas inside a student dormitory as shown in <xref ref-type="fig" rid="fig-9">Fig. 9</xref>. It is obvious that the mobile robot will fail to locate itself because of the similarity of laser scanning data. The length of the corridor is 43.50&#x2005;m and the width in the non-door area is 1.85&#x2005;m. We put 10 reference signal nodes on one side of the corridor and paste them on each door. 26 positions are chosen as the sampling points to collect the RSSI fingerprints.</p>
<fig id="fig-9"><label>Figure 9</label><caption><title>RF nodes and sampling points in the occupancy grid map of the environment</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-9.png"/></fig>
<sec id="s4_1"><label>4.1</label><title>Global Localization</title>
<p>In the global localization experiment, we sampled 27 positions in the corridor and most of them were between two adjacent reference sampling points as shown in the black star signs in <xref ref-type="fig" rid="fig-10">Fig. 10</xref>. The ground truth of the signed positions and the distances were measured manually using a tape ruler. In addition, the whole area was divided into 9 subareas as shown in the green rounded rectangles in <xref ref-type="fig" rid="fig-10">Fig. 10</xref>. The subarea was between two adjacent reference signal nodes.</p>
<fig id="fig-10"><label>Figure 10</label><caption><title>Diagram of the test points distribution</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-10.png"/></fig>
<p>The first experiment was the coarse localization of the fingerprint retrieval method using RSSI values and the KNN algorithm. The mobile robot mounted with a signal receiver module was placed on the target sampling position to collect RSSI values and compute the coordinates. 10 times tests with random robot heading directions in each test position were conducted. The total number of tests was 270 and we recorded the experimental data to obtain some statistical results. If the computed coordinates of the test position fell into the relative subarea, we thought it was a correct subarea localization. Due to the existence of various errors and noises, it was impossible to achieve an absolutely accurate positioning coordinate. Therefore, we recorded the number of positioning errors within 1.0 meters and 2.0 meters, respectively. <xref ref-type="table" rid="table-1">Table 1</xref> shows the coarse localization result using this method.</p>
<table-wrap id="table-1"><label>Table 1</label><caption><title>Coarse localization result using RSSI method</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Number of tests</th>
<th align="left">Number of correct subareas</th>
<th align="left">Correct subareas rate (&#x0025;)</th>
<th align="left">Success rate within 1.0&#x2005;m (&#x0025;)</th>
<th align="left">Success rate within 2.0&#x2005;m (&#x0025;)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">270</td>
<td align="left">253</td>
<td align="left">93.7</td>
<td align="left">83.3</td>
<td align="left">91.5&#x0025;</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The detailed error values from the subarea between FN6 and FN7 as shown in <xref ref-type="fig" rid="fig-11">Fig. 11</xref>.</p>
<fig id="fig-11"><label>Figure 11</label><caption><title>Errors of the 10 times results in each test position of a subarea</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-11.png"/></fig>
<p>From left to right, the three estimated test positions E16, E17, and E18 were represented by the black rectangle, red-filled circle, and blue triangle, respectively. At each test position, we recorded the absolute value of the difference between the estimated coordinates and the real position coordinates. Although there was a random error in each measurement, the mean error of all the 30 tests was 0.98 meters which was less than 1 meter and was within an acceptable range.</p>
<p>The second experiment consisted of two separate parts. One of them used the traditional AMCL method to get a global localization task without a known initial pose, the other utilized our proposed approach and strategy to obtain an initialization based on the RSSI retrieval result. Both the two parts aimed to get a fine localization pose. <xref ref-type="fig" rid="fig-12">Figs. 12</xref> and <xref ref-type="fig" rid="fig-13">13</xref> are the results of the traditional MCL method and our proposed method, respectively.</p>
<fig id="fig-12"><label>Figure 12</label><caption><title>Global localization process of traditional AMCL. (a) Initialization of the particles. (b) 12 iterations. (c) 25 iterations. (d) 57 iterations. (e) 79 iterations with a wrong pose</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-12.png"/></fig><fig id="fig-13"><label>Figure 13</label><caption><title>Global localization results of the proposed method. (a) Initialization of the particles. (b) Particle distribution after moving a short distance. (c) Successful localization when particles converged</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-13.png"/></fig>
<p>In <xref ref-type="fig" rid="fig-12">Fig. 12a</xref>, the mobile robot was placed manually at position E17, then a global localization task was performed. Due to the unknown initial pose of the mobile robot, the particles were scattered evenly on the whole map. The number of particles was usually proportional to the area of the map. In other words, the larger the map, the more particles were required. The mobile robot was controlled to move to the right side of the corridor. <xref ref-type="fig" rid="fig-12">Fig. 12b</xref> shows a result after 12 iterations (we uniformly called the number of resampling as the number of iterations). The particles gradually clustered into many clusters. <xref ref-type="fig" rid="fig-12">Fig. 12c</xref> demonstrates the process after 25 iterations. In <xref ref-type="fig" rid="fig-12">Fig. 12d</xref>, we find that the cluster is 3 and the mobile robot has moved closer to the end of the corridor. To obtain a single cluster, we controlled the mobile robot moving reversely and <xref ref-type="fig" rid="fig-12">Fig. 12e</xref> shows the final state. Unfortunately, this pose is not the real pose in the corridor. More experiments have verified the failure of traditional methods in similar environments.</p>
<p>Different from the traditional AMCL method, our proposed strategy gets a coarse localization result from fingerprint retrieval according to the RSSI values. The achieved position was within an error range and did not have orientation information. The orientation was decided according to the strategy described in Section 3.4 and <xref ref-type="fig" rid="fig-6">Fig. 6b</xref>. After a slight adjustment to get the orientation information from position E17, the particle initialization was shown in <xref ref-type="fig" rid="fig-13">Fig. 13a</xref>. Obviously the number of particles was less than that of the traditional method.</p>
<p>To get a fine localization result, the mobile robot should move a short distance and the particles would converge to a single cluster. <xref ref-type="fig" rid="fig-13">Fig. 13b</xref> shows the particles in the longitudinal direction of the corridor gradually become narrower. This phenomenon indicates that the lateral error is small because the width of the corridor is within the scanning radius of the laser sensor. Similarly, the longitudinal error is slightly larger than the lateral error which is due to the long distance of the corridor. When the mobile robot moved to the position close to the door area, the uncertainty was less, as shown in <xref ref-type="fig" rid="fig-13">Fig. 13c</xref>, and a fine localization process ended. After that, the task is the pose tracking which also is called local localization.</p>
<p>We placed the mobile robot at every tested position to perform global localization tasks and conducted it 10 times at each position. The average results of the localization process are shown in <xref ref-type="table" rid="table-2">Table 2</xref>. When using the traditional AMCL method, we controlled the mobile robot moving along the corridor till the particles converge into a single cluster. If the mobile robot did not converge after reaching the end of the corridor, it would continue to move in the opposite direction. The results show that the traditional method has a low global localization success rate even though the number of particles increases. In contrast, our proposed method can achieve a high success localization rate with few particles.</p>
<table-wrap id="table-2"><label>Table 2</label><caption><title>Statistical results of global localization</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Method</th>
<th align="left">Particle number</th>
<th align="left">Average iterations</th>
<th align="left">Moving distance (Average)/m</th>
<th align="left">Success rate</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">AMCL</td>
<td align="left">500</td>
<td align="left">45</td>
<td align="left">14.45</td>
<td align="left">9.6&#x0025;</td>
</tr>
<tr>
<td align="left">AMCL</td>
<td align="left">1000</td>
<td align="left">61</td>
<td align="left">23.19</td>
<td align="left">12.6&#x0025;</td>
</tr>
<tr>
<td align="left">AMCL</td>
<td align="left">5000</td>
<td align="left">73</td>
<td align="left">31.27</td>
<td align="left">26.6&#x0025;</td>
</tr>
<tr>
<td align="left">Ours</td>
<td align="left">50</td>
<td align="left">5</td>
<td align="left">0.72</td>
<td align="left">96.3&#x0025;</td>
</tr>
<tr>
<td align="left">Ours</td>
<td align="left">500</td>
<td align="left">9</td>
<td align="left">0.74</td>
<td align="left">97.0&#x0025;</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_2"><label>4.2</label><title>Recovery from Robot Kidnapping</title>
<p>When a mobile robot was kidnapped from one position to another position, we tested the traditional method and our proposed approach, respectively. If the constructed map had salient geometrical or structural features that were extracted by laser scanning data, the mobile robot usually could recover its pose after a period of adjustment using the traditional AMCL method. Nevertheless, as shown in <xref ref-type="fig" rid="fig-14">Fig. 14</xref>, many areas are geometrically similar when using only laser scanning data. Neither 2D laser rangefinder nor 3D laser Lidar could distinguish the highly similar or symmetrical areas in the corridor.</p>
<fig id="fig-14"><label>Figure 14</label><caption><title>Diagram of the kidnapped robot problem</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-14.png"/></fig>
<p>In this experiment, we placed the mobile robot on the left side of the corridor and gave its initial pose manually. The navigation task was moving from the start position to the target position on the right side of the corridor. As shown in <xref ref-type="fig" rid="fig-14">Fig. 14</xref>, the start position and target position are fell into subarea 1 and subarea 7, respectively. In <xref ref-type="fig" rid="fig-14">Fig. 14</xref> the purple line is the planned path using the navigation package and the robot will reach the target position smoothly if without accident. When the robot moved to position K0, we kidnapped the robot and placed it at position K1 where the scanning data of the surrounding area was similar to that of K0. The traditional AMCL method could not find the change and the mobile robot continued to move forward until it reached position K3. Unfortunately, the mobile robot could not recover its pose from this kidnapped accident though the surroundings at position K3 was different from the target position.</p>

<p>Another experiment repeated the above process but used our proposed strategy. When the mobile robot was kidnapped from K0 to K1, the robot did not immediately notice the change but moved forward to the target position. Due to the resampling strategy of our proposed method, the mobile robot would resample the particles according to the RSSI values and signal fingerprint retrieval after a fixed time interval. Then, the mobile robot would find itself falling into subarea 5, not subarea 2 or subarea 3. Theoretically, the signal receiving values could be confirmed by multiple times tests and computations which confirmed the kidnapped robot accident with a larger probability.</p>
<p>Two error variation processes using different methods when the kidnapped mobile robot problem occurred are shown in <xref ref-type="fig" rid="fig-15">Fig. 15</xref>. The abscissa is the time interval and the ordinate is the positioning error. Before time zero, the mobile robot worked normally and moved from one position to another. We thought the time when the robot was kidnapped as time zero. <xref ref-type="fig" rid="fig-15">Fig. 15a</xref> shows that the traditional AMCL method could not find the changes before and after the kidnapping accident though the real error kept at about 14.85 meters. The robot would eventually be lost in the long corridor environment and was unable to recover its true position and orientation. In contrast, as shown in <xref ref-type="fig" rid="fig-15">Fig. 15b</xref>, our proposed method found the change after a fixed time interval (empirically set to 8&#x2005;s which was a resampling strategy) and soon recovered its pose in the real world.</p>
<fig id="fig-15"><label>Figure 15</label><caption><title>Recovery from the kidnapped robot problem. (a) Error variation of AMCL method. (b) Error variation of the proposed method</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_35832-fig-15.png"/></fig>
</sec>
</sec>
<sec id="s5"><label>5</label><title>Conclusion</title>
<p>In this work, we propose a novel approach that combines WSN and laser Lidar-based SLAM to realize a robust and accurate localization for an autonomous mobile robot. A hybrid map with occupancy grid cells and RSSI values is built in the mapping stage. Then, the mobile robot accomplishes the localization task by using a coarse-to-fine paradigm. We use the newly captured RSSI values to compare with the sampling points in the map building stage and calculate the coarse position of the mobile robot. However, the position is not accurate and has no orientation information. Our proposed strategy can rapidly get a basic orientation of the mobile robot. Fine localization is realized by using an improved MCL approach. Experimental results demonstrate that our method is effective and robust for global localization. The localization success rate reaches 97.0&#x0025; and the average moving distance is only 0.74 meters, while the traditional method always fails. In addition, the method also works well when the mobile robot is kidnapped to another position in the environment.</p>
<p>Although this work can deal with the localization problem in the geometrically similar environment, external signal nodes need to place at fixed positions in advance. In the future work, we will try other technical means to assist SLAM localization solution, such as camera and image processing. Without considering the external signal node cost, this scheme is very effective and can be applied to more indoor environments, such as stations, factories and libraries. In addition, this work can be extended to an outdoor environment like forest or tunnel scenes by using 3D Lidar SLAM and WSN techniques.</p>
</sec>
</body>
<back>
<fn-group>
<fn fn-type="other"><p><bold>Funding Statement:</bold> This paper is funded by the Key Laboratory Foundation of Guizhou Province Universities (QJJ [2002] No. 059). The work is also supported by the Natural Science Research Project of Guizhou Province Education Department (Grant Number KY [2017]023, Guizhou Mountain Intelligent Agricultural Engineering Research Center), Doctoral Fund Research Project of Zunyi Normal University (Grant Number ZS BS [2016]01, Aerial Photography Test and Application of Karst Mountain Topography).</p></fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p></fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C. M. J. M. D.</given-names> <surname>Junior</surname></string-name>, <string-name><given-names>S. P. P.</given-names> <surname>Da Silva</surname></string-name>, <string-name><given-names>R. V. M.</given-names> <surname>Da Nobrega</surname></string-name>, <string-name><given-names>A. C. S.</given-names> <surname>Barros</surname></string-name>, <string-name><given-names>A. K.</given-names> <surname>Sangaiah</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>A new approach for mobile robot localization based on an online IoT system</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>100</volume>, pp. <fpage>859</fpage>&#x2013;<lpage>881</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X. V.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>A literature survey of the robotic technologies during the COVID-19 pandemic</article-title>,&#x201D; <source>Journal of Manufacturing Systems</source>, vol. <volume>60</volume>, pp. <fpage>823</fpage>&#x2013;<lpage>836</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B. K.</given-names> <surname>Patle</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Babu L</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Pandey</surname></string-name>, <string-name><given-names>D. R. K.</given-names> <surname>Parhi</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Jagadeesh</surname></string-name></person-group>, &#x201C;<article-title>A review: On path planning strategies for navigation of mobile robot</article-title>,&#x201D; <source>Defence Technology</source>, vol. <volume>15</volume>, no. <issue>4</issue>, pp. <fpage>582</fpage>&#x2013;<lpage>606</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Masoud</surname></string-name></person-group>, &#x201C;<article-title>Increasing GPS localization accuracy with reinforcement learning</article-title>,&#x201D; <source>IEEE Transactions on Intelligent Transportation Systems</source>, vol. <volume>22</volume>, no. <issue>5</issue>, pp. <fpage>2615</fpage>&#x2013;<lpage>2626</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Jia</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Mao</surname></string-name></person-group>, &#x201C;<article-title>A theoretical analysis on sampling size in WiFi fingerprint-based localization</article-title>,&#x201D; <source>IEEE Transactions on Vehicular Technology</source>, vol. <volume>70</volume>, no. <issue>4</issue>, pp. <fpage>3599</fpage>&#x2013;<lpage>3608</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Motroni</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Buffi</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Nepa</surname></string-name></person-group>, &#x201C;<article-title>A survey on indoor vehicle localization through RFID technology</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>9</volume>, pp. <fpage>17921</fpage>&#x2013;<lpage>17942</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Barbieri</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Brambilla</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Trabattoni</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Mervic</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Nicoli</surname></string-name></person-group>, &#x201C;<article-title>UWB localization in a smart factory: Augmentation methods and experimental assessment</article-title>,&#x201D; <source>IEEE Transactions on Instrumentation and Measurement</source>, vol. <volume>70</volume>, pp. <fpage>1</fpage>&#x2013;<lpage>18</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Balakrishnan</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Ramana</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Nanmaran</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Ramachandran</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Bhaskar</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>RSSI based localization and tracking in a spatial network system using wireless sensor networks</article-title>,&#x201D; <source>Wireless Personal Communications</source>, vol. <volume>123</volume>, no. <issue>1</issue>, pp. <fpage>879</fpage>&#x2013;<lpage>915</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Chuku</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Nasipuri</surname></string-name></person-group>, &#x201C;<article-title>RSSI-Based localization schemes for wireless sensor networks using outlier detection</article-title>,&#x201D; <source>Journal of Sensor and Actuator Networks</source>, vol. <volume>10</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>22</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Thrun</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Fox</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Burgard</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Dallaert</surname></string-name></person-group>, &#x201C;<article-title>Robust monte carlo localization for mobile robots</article-title>,&#x201D; <source>Artificial Intelligence</source>, vol. <volume>128</volume>, no. <issue>1&#x2013;2</issue>, pp. <fpage>99</fpage>&#x2013;<lpage>141</lpage>, <year>2001</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Ge</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Jiang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Hu</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Text-MCL: Autonomous mobile robot localization in similar environment using text-level semantic information</article-title>,&#x201D; <source>Machines</source>, vol. <volume>10</volume>, no. <issue>3</issue>, pp. <fpage>169</fpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>J. M.</given-names> <surname>Dolan</surname></string-name></person-group>, &#x201C;<article-title>Road-segmentation-based curb detection method for self-driving via a 3D-LiDAR sensor</article-title>,&#x201D; <source>IEEE Transactions on Intelligent Transportation Systems</source>, vol. <volume>19</volume>, no. <issue>12</issue>, pp. <fpage>3981</fpage>&#x2013;<lpage>3991</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Kang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Yang</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Cheng</surname></string-name></person-group>, &#x201C;<article-title>A review of techniques for 3d reconstruction of indoor environments</article-title>,&#x201D; <source>ISPRS International Journal of Geo-Information</source>, vol. <volume>9</volume>, no. <issue>5</issue>, pp. <fpage>330</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Grisetti</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Stachniss</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Burgard</surname></string-name></person-group>, &#x201C;<article-title>Improved techniques for grid mapping with rao-blackwellized particle filters</article-title>,&#x201D; <source>IEEE Transactions on Robotics</source>, vol. <volume>23</volume>, no. <issue>1</issue>, pp. <fpage>34</fpage>&#x2013;<lpage>46</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Hess</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Kohler</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Rapp</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Andor</surname></string-name></person-group>, &#x201C;<article-title>Real-time loop closure in 2D LIDAR SLAM</article-title>,&#x201D; in <conf-name>Proc. IEEE Int. Conf. on Robotics and Automation</conf-name>, <conf-loc>Stockholm, Sweden</conf-loc>, pp. <fpage>1271</fpage>&#x2013;<lpage>1278</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Kohlbrecher</surname></string-name>, <string-name><given-names>O.</given-names> <surname>Stryk Von</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Meyer</surname></string-name> and <string-name><given-names>U.</given-names> <surname>Klingauf</surname></string-name></person-group>, &#x201C;<article-title>A flexible and scalable SLAM system with full 3D motion estimation</article-title>,&#x201D; in <conf-name>Proc. IEEE Int. Symp. on Safety, Security, and Rescue Robotics</conf-name>, <conf-loc>Kyoto, Japan</conf-loc>, pp. <fpage>155</fpage>&#x2013;<lpage>160</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>I.</given-names> <surname>Deutsch</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Siegwart</surname></string-name></person-group>, &#x201C;<article-title>A framework for multi-robot pose graph SLAM</article-title>,&#x201D; in <conf-name>Proc. IEEE Int. Conf. on Real-Time Computing and Robotics</conf-name>, <conf-loc>Angkor Wat, Cambodia</conf-loc>, pp. <fpage>567</fpage>&#x2013;<lpage>572</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Betke</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Gurvits</surname></string-name></person-group>, &#x201C;<article-title>Mobile robot localization using landmarks</article-title>,&#x201D; <source>IEEE Transactions on Robotics and Automation</source>, vol. <volume>13</volume>, no. <issue>2</issue>, pp. <fpage>251</fpage>&#x2013;<lpage>263</lpage>, <year>1997</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Pang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Ran</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Bai</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Zhang</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>An indoor mobile robot positioning algorithm based on adaptive federated kalman filter</article-title>,&#x201D; <source>IEEE Sensors Journal</source>, vol. <volume>21</volume>, no. <issue>20</issue>, pp. <fpage>23098</fpage>&#x2013;<lpage>23107</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Lu</surname></string-name> and <string-name><given-names>H. R.</given-names> <surname>Karimi</surname></string-name></person-group>, &#x201C;<article-title>Adaptive fading extended kalman filtering for mobile robot localization using a Doppler&#x2013;azimuth radar</article-title>,&#x201D; <source>Electronics</source>, vol. <volume>10</volume>, no. <issue>20</issue>, pp. <fpage>2544</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>An improved particle filter for mobile robot localization based on particle swarm optimization</article-title>,&#x201D; <source>Expert Systems with Applications</source>, vol. <volume>135</volume>, pp. <fpage>181</fpage>&#x2013;<lpage>193</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Messous</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Liouane</surname></string-name></person-group>, &#x201C;<article-title>Online sequential DV-hop localization algorithm for wireless sensor networks</article-title>,&#x201D; <source>Mobile Information Systems</source>, vol. <volume>2020</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>14</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Song</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Pang</surname></string-name></person-group>, &#x201C;<article-title>Robot SLAM with Ad hoc wireless network adapted to search and rescue environments</article-title>,&#x201D; <source>Journal of Central South University</source>, vol. <volume>25</volume>, no. <issue>12</issue>, pp. <fpage>3033</fpage>&#x2013;<lpage>3051</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>O.</given-names> <surname>Gupta</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Kumar</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Mushtaq</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Goyal</surname></string-name></person-group>, &#x201C;<article-title>Localization schemes and its challenges in underwater wireless sensor networks</article-title>,&#x201D; <source>Journal of Computational and Theoretical Nanoscience</source>, vol. <volume>17</volume>, no. <issue>6</issue>, pp. <fpage>2750</fpage>&#x2013;<lpage>2754</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Hao</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Shi</surname></string-name></person-group>, &#x201C;<article-title>Sensor selection for TDOA-based localization in wireless sensor networks with non-line-of-sight condition</article-title>,&#x201D; <source>IEEE Transactions on Vehicular Technology</source>, vol. <volume>68</volume>, no. <issue>10</issue>, pp. <fpage>9935</fpage>&#x2013;<lpage>9950</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Alhomayani</surname></string-name> and <string-name><given-names>M. H.</given-names> <surname>Mahoor</surname></string-name></person-group>, &#x201C;<article-title>Deep learning methods for fingerprint-based indoor positioning: A review</article-title>,&#x201D; <source>Journal of Location Based Services</source>, vol. <volume>14</volume>, no. <issue>3</issue>, pp. <fpage>129</fpage>&#x2013;<lpage>200</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Geng</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Ye</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Lin</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Indoor positioning algorithm based on the improved RSSI distance model</article-title>,&#x201D; <source>Sensors</source>, vol. <volume>18</volume>, no. <issue>9</issue>, pp. <fpage>2820</fpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>M. Q. H.</given-names> <surname>Meng</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Liang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>Particle filtering for WSN aided SLAM</article-title>,&#x201D; in <conf-name>Proc. IEEE/ASME Int. Conf. on Advanced Intelligent Mechatronics</conf-name>, <conf-loc>Xi&#x2019;an, China</conf-loc>, pp. <fpage>740</fpage>&#x2013;<lpage>745</lpage>, <year>2008</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Menegatti</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Zanella</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Zilli</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Zorzi</surname></string-name> and <string-name><given-names>E.</given-names> <surname>Pagello</surname></string-name></person-group>, &#x201C;<article-title>Range-only slam with a mobile robot and a wireless sensor networks</article-title>,&#x201D; in <conf-name>Proc. IEEE Int. Conf. on Robotics and Automation</conf-name>, <conf-loc>Kobe, Japan</conf-loc>, pp. <fpage>8</fpage>&#x2013;<lpage>14</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D. V.</given-names> <surname>Nguyen</surname></string-name>, <string-name><given-names>T. K.</given-names> <surname>Dao</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Castelli</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Nashashibi</surname></string-name></person-group>, &#x201C;<article-title>A fusion method for localization of intelligent vehicles in carparks</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>8</volume>, pp. <fpage>99729</fpage>&#x2013;<lpage>99739</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>V.</given-names> <surname>Bianchi</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Ciampolini</surname></string-name> and <string-name><given-names>I.</given-names> <surname>De Munari</surname></string-name></person-group>, &#x201C;<article-title>RSSI-Based indoor localization and identification for ZigBee wireless sensor networks in smart homes</article-title>,&#x201D; <source>IEEE Transactions on Instrumentation and Measurement</source>, vol. <volume>68</volume>, no. <issue>2</issue>, pp. <fpage>566</fpage>&#x2013;<lpage>575</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D. J.</given-names> <surname>Suroso</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Arifin</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Cherntanomwong</surname></string-name></person-group>, &#x201C;<article-title>Distance-based indoor localization using empirical path loss model and RSSI in wireless sensor networks</article-title>,&#x201D; <source>Journal of Robotics and Control</source>, vol. <volume>1</volume>, no. <issue>6</issue>, pp. <fpage>199</fpage>&#x2013;<lpage>207</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C. N.</given-names> <surname>Huang</surname></string-name> and <string-name><given-names>C. T.</given-names> <surname>Chan</surname></string-name></person-group>, &#x201C;<article-title>ZigBee-Based indoor location system by k-nearest neighbor algorithm with weighted RSSI</article-title>,&#x201D; <source>Procedia Computer Science</source>, vol. <volume>5</volume>, pp. <fpage>58</fpage>&#x2013;<lpage>65</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Havangi</surname></string-name></person-group>, &#x201C;<article-title>Mobile robot localization based on PSO estimator</article-title>,&#x201D; <source>Asian Journal of Control</source>, vol. <volume>21</volume>, no. <issue>4</issue>, pp. <fpage>2167</fpage>&#x2013;<lpage>2178</lpage>, <year>2019</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>
















