<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">POS</journal-id><journal-title-group><journal-title>Positioning</journal-title></journal-title-group><issn pub-type="epub">2150-850X</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/pos.2013.41004</article-id><article-id pub-id-type="publisher-id">POS-28372</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Mobile Robot Indoor Autonomous Navigation with Position Estimation Using RF Signal Triangulation
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>eonimer</surname><given-names>Flávio de Melo</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>João</surname><given-names>Mauricio Rosário</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Almiro</surname><given-names>Franco da Silveira Junior</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Mechanical Engineering Faculty, State University of Campinas (UNICAMP), Campinas, Brazil</addr-line></aff><aff id="aff1"><addr-line>Department of Electrical Engineering, State University of Londrina (UEL), Londrina, Brazil</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>leonimer@uel.br(EFDM)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>27</day><month>02</month><year>2013</year></pub-date><volume>04</volume><issue>01</issue><fpage>20</fpage><lpage>35</lpage><history><date date-type="received"><day>November</day>	<month>2nd,</month>	<year>2012</year></date><date date-type="rev-recd"><day>December</day>	<month>3rd,</month>	<year>2012</year>	</date><date date-type="accepted"><day>December</day>	<month>15th,</month>	<year>2012</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  In the mobile robotic systems a precise estimate of the robot pose (Cartesian [x y] position plus orientation angle theta) with the intention of the path planning optimization is essential for the correct performance, on the part of the robots, for tasks that are destined to it, especially when intention is for mobile robot autonomous navigation. This work uses a ToF (
  Time-of-Flight) of the RF digital signal interacting with beacons for computational triangulation in the way to provide a pose estimative at bi-dimensional indoor environment, where GPS system is out of range. It’s a new technology utilization making good use of old ultrasonic ToF methodology that takes advantage of high performance multicore DSP processors to calculate ToF of the order about ns. Sensors data like odometry, compass and the result of triangulation Cartesian estimative, are fused in a Kalman filter in the way to perform optimal estimation and correct robot pose. A mobile robot platform with differential drive and nonholonomic constraints is used as base for state space, plants and measurements models that are used in the simulations and for validation the experiments.
 
</p></abstract><kwd-group><kwd>Mobile Robotic Systems; Path Planning; Mobile Robot Autonomous Navigation; Pose Estimation</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The mobile robotics is a research area that deals with the control of autonomous vehicles or half-autonomous ones. In mobile robotics area one of the most challenger topic is keep in the problems related with the operation (locomotion) in complex environments of wide scale, that if modify dynamically, composites in such a way of static obstacles as of mobile obstacles. To operate in this type of environment the robot must be capable to acquire and to use knowledge on the environment, estimate a inside environment position, to have the ability to recognize obstacles, and to answer in real time for the situations that can occur in this environment. Moreover, all these functionalities must operate together. The tasks to perceive the environment, to auto-locate in the environment, and to move across the environment are fundamental problems in the study of the autonomous mobile robots [<xref ref-type="bibr" rid="scirp.28372-ref1">1</xref>].</p><p>The planning of trajectory for the mobile robots, and consequently its better estimative of positioning, is reason of intense scientific inquiry. A good path planning of trajectory is fundamental for optimization of the interrelation between the environment and the mobile robot. A great diversity of techniques based in different physical principles exists and different algorithms for the localization and the planning of the best possible trajectory [<xref ref-type="bibr" rid="scirp.28372-ref2">2</xref>].</p><p>The localization in structuralized environment is helped, in general, by external elements that are called landmarks (or markers). Landmarks can be active or passive, natural or artificial. It is possible to use natural landmarks that already existing in the environment for the localization. Another possibility is to add intentionally to the environment artificial landmarks for guide the localization of the robot. Active landmarks, also called beacons, are typically transmitters that emit unique signals and are placed about the environment [<xref ref-type="bibr" rid="scirp.28372-ref3">3</xref>].</p><p>This work uses a ToF of the RF digital signal interacting with RF beacons for computational triangulation in the way to provide a pose estimative at bi-dimensional indoor environment. It’s a new technology utilization making good use of old ultrasonic ToF methodology that takes advantage of high performance multicore DSP processors to calculate ToF of the order about ns. Sensors data like odometry, compass and the result of traingulation Cartesian estimative, are fused in a Kalman filter in the way to perform optimal estimation and correct robot pose. A mobile robot platform with differential drive and nonholonomic constraints is used as base for state space, plants and measurements models that are used in the simulations and for validation the experiments [<xref ref-type="bibr" rid="scirp.28372-ref4">4</xref>].</p><p>First are presented the kinematic and dynamic model used for simulations and for implement a control strategy in order to best performance of robot embedded control system. After are presented the control architecture system, including supervisory, communication and embedded robot control system. It’s important to situate the reader in the context of our experiments a researching. Then, are presented the trajectory embedded control and after the technique adopted here for triangulation with digital RF signal beacons. After all, are shown the data fusion using Kalman Filter, for best robot pose estimative and rout corrections. At the end of this paper, we present some initial experimental results and a few conclusions.</p></sec><sec id="s2"><title>2. Kinematics for Mobile Robots with Differential Traction</title><p>This work focus on the study of the mobile robot platform, with differential driving wheels mounted on the same axis and a free castor front wheel, whose prototype used to validate the proposal system, is depicted in Figures 1 and 20 which illustrate the elements of the platform.</p><p>Assuming that the robot is in one certain point <img src="4-8501040\1d29bb8d-2249-418b-b6e2-517d2845147d.jpg" /> directed for a position throughout a line making an angle theta with x axis, as illustrated in the <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>Through the manipulation the control parameters v<sub>e</sub> and v<sub>d</sub>, the robot can be lead at different positionings. The determination of the possible positionings to be reached, once given the control parameters, is known as direct kinematics problem for the robot. As illustrated in the <xref ref-type="fig" rid="fig2">Figure 2</xref>, in which the robot is located in position<img src="4-8501040\5d61d05c-8fe9-478f-a2aa-7699ed053380.jpg" />, we have for the trigonometrical relations of the system,</p><disp-formula id="scirp.28372-formula102533"><label>(1)</label><graphic position="anchor" xlink:href="4-8501040\22d7360a-9b3e-4199-b14f-e4ee928a7605.jpg"  xlink:type="simple"/></disp-formula><p>where ICC is the robot instantaneous curvature center.</p><p>As v<sub>e</sub> and v<sub>d</sub> are time functions and if the robot is in the pose <img src="4-8501040\3431f53d-c714-44ac-926c-f03b4365ee02.jpg" /> in the time t, and if the left and right wheel has ground contact speed v<sub>e</sub> and v<sub>d</sub> respectively,</p><p>then, in the time <img src="4-8501040\f6783345-429d-4c9d-a36f-ee85c97a60ac.jpg" /> the position of the robot is given by</p><disp-formula id="scirp.28372-formula102534"><label>(2)</label><graphic position="anchor" xlink:href="4-8501040\a925aca8-2e2b-4831-83a1-bd510564bba7.jpg"  xlink:type="simple"/></disp-formula><p>The Equation (2) describes the motion of a robot rotating a distance R about its ICC with an angular velocity given by ω [<xref ref-type="bibr" rid="scirp.28372-ref2">2</xref>]. Different classes of robots will provide different expressions for R and ω [<xref ref-type="bibr" rid="scirp.28372-ref5">5</xref>].</p><p>The forward kinematics problem is solved by integrating Equation (2) from some initial condition<img src="4-8501040\a2025a02-3bb4-4b1a-b931-0eef98c545c9.jpg" />, it is possible to compute where the robot will be at any time t based on the control parameters <img src="4-8501040\01ef48aa-67d9-4123-afbd-1c3a584f0c05.jpg" /> and<img src="4-8501040\75bd86a3-5f7c-4ffe-a875-76b2ef2ca599.jpg" />. For the special case of a differential drive vehicle, it is given by Equation (3).</p><disp-formula id="scirp.28372-formula102535"><label>(3)</label><graphic position="anchor" xlink:href="4-8501040\9b2a6fd4-054b-4aa7-bc8a-1c7839bfeecc.jpg"  xlink:type="simple"/></disp-formula>Inverse Kinematics for Differential Drive Robots<p>Equation (3) describes a constraint on the robot velocity that cannot be integrated into a positional constraint. This is known as a nonholonomic constraint and it is in general very difficult to solve, although solutions are straightforward for limited classes of the control functions <img src="4-8501040\744a4011-717f-4583-b16b-881789563a23.jpg" /> and <img src="4-8501040\3708b6ff-8bab-4037-8484-8ec9d3ecdaa2.jpg" /> [<xref ref-type="bibr" rid="scirp.28372-ref6">6</xref>]. For example, if it is assummed that <img src="4-8501040\67afa8ae-6f6e-4623-924c-ce87bb05e0bf.jpg" /> and<img src="4-8501040\78818643-c31b-4d6d-a6ae-e6c266f82d5e.jpg" />, then Equation (3) yields into Equation (4):</p><disp-formula id="scirp.28372-formula102536"><label>(4)</label><graphic position="anchor" xlink:href="4-8501040\e023cddb-e266-416f-ac7e-bdc96ceb1985.jpg"  xlink:type="simple"/></disp-formula><p>where<img src="4-8501040\1e3e1a01-0e67-42a8-9511-dc9506d5585f.jpg" />. Given a goal time t and goal position<img src="4-8501040\768a212d-7d26-4a06-b000-f20ca2440dd9.jpg" />. The Equation (4) solves for v<sub>d</sub> and v<sub>e</sub> but does not provide a solution for independent control of θ. There are, in fact, infinity solutions for v<sub>d</sub> and v<sub>e</sub> from Equation (4), but all correspond to the robot moving about the same circle that passes through (0, 0) at t = 0 and <img src="4-8501040\0c20cbef-e405-4a2e-a401-8bc955d85493.jpg" /> at t = t; however, the robot goes around the circle different numbers of times and in different directions.</p></sec><sec id="s3"><title>3. The Control Architecture System</title><p>The control architecture system can be visualized at a logical level in the blocks diagram in <xref ref-type="fig" rid="fig3">Figure 3</xref>.</p><p>The system was divided into three control levels, organized in the form of different degrees of control strategies. The levels can be described as:</p><p>• Supervisory control level: This represents a high level of control. In this level it was possible to carry out the supervision of one or more mobile robots, through the execution of global control strategies.</p><p>• Local onboard control level: In this level control was processed by the mobile robot embedded software implemented in a multicore DSP processor. The control strategies allowed decision making to be done at a local level, with occasional corrections from the</p><p>supervisory control level. Without communication with the supervisory control level, the mobile robot just carried out actions based on obtained sensor data and on information previously stored in its memory.</p><p>• Interface control level: This was restricted to strategies of control associated with the interfaces of the sensor and actuators. The strategies in this level were implemented in hardware, through FPGA (FieldProgrammable Gate Array) device.</p><p><xref ref-type="fig" rid="fig4">Figure 4</xref> depicts the control architecture with more details, with the levels controls implemented on the mobile robot platform.</p><p>Architecture, from the point of view of the mobile robot, was organized into several independent blocks, connected through the local bus that is composed by data, address and control bus (<xref ref-type="fig" rid="fig5">Figure 5</xref>). A master block manager operates several slave blocks. Blocks associated with the interfaces of sensors and actuators, communication and auxiliary memories were subjected to direct control from the block manager. The advantage of using a common bus was the facility to expand the system. Inside the limitations of resources, it was possible to add new blocks, allowing an adapted configuration of the robot for each task.</p>Control Architecture Blocks Description<p>Supervisory control block: It’s the high level of control. In this block is managed the supervision of one or more mobile robots, through the execution of global control strategies. Is implemented in an IBM PC platform and is connected with the local control level, in the mobile robot, through Ethernet wireless WI-FI link. This protocol uses IEEE 802.11a standard for wireless TCP/IP LAN communication. It guarantees up to 11 Mbps in the 2.4 GHz band and requires fewer access points for coverage of large areas. Offers high-speed access to data at up to 100 meters from base station. 14 channels available in the 2.4 GHz band guarantee the expansibility of the system with the implementation of control strategies of multiple robots.</p><p>Master manager block: It’s responsible for the treatment of all the information received from other blocks, for the generation of the trajectory profile for the local control blocks and for the communication with the external world. In communication with the master manager block, through a serial interface, a commercial platform was used, which implemented external communication using an Ethernet WI-FI wireless protocol. The robot was seen as a TCP/IP LAN point in a communication net, allowing remote supervision through supervisory level. It’s implemented with Texas Instrument TMS320C6474 multicore digital signal processor, a 1.2 GHz device delivering up to 10,000 million instructions per second (MIPs) with highest performing.</p><p>Sensor interface block: Is responsible for the sensor acquisition and for the treatment of this information in digital words, to be sent to the master manager block. The implementation of that interface through FPGA allowed the integration of information from sensors (sensor fusion) locally, reducing manager block demand for processing. In same way, they allowed new programming of sensor hardware during robot operation, increasing sensor treatment flexibility.</p><p>Actuator interface block: This block carried out speed control or position control of the motors responsible for the traction of the mobile robot. The reference signals were supplied through bus communication in the form of digital words. Derived information from the sensor was also used in the controller implemented in FPGA. Due to integration capacity of enormous hardware volume, FPGA was appropriate to implement state machines, reducing the need for block manager processing. Besides the advantage of the integration of the hardware resources, FPGA facilitated the implementation and debugging. The possibility of modifying FPGA programming allowed, for example, changes in control strategies of the actuators, adapting them to the required tasks.</p><p>Auxiliary memory block: This stored the information of the sensor, and operated as a library for possible control strategies of sensors and actuators. Apart from this, it came with an option for operation registration, allowing a register of errors. The best option was an interface PCMCIA, because this interface is easily accessible on the market, and being a well adapted for applications in mobile robots, due to low consumption, little weight, small dimensions, high storage capacity and good immunity to mechanical vibrations.</p><p>RF beacons communication block: It allowed the establishment of a bi-directional radio link for beacons data communication. The objective, at the first moment, is establish communication with all beacons in the environment, not at same time, but one by one, recognizing the number of active beacons and their respective codes. At second moment, this RF communication block sends a determinate code and receive back the same code, transmitted from respective beacon. The RF ToF is calculated by DSP processor. To implement this block was used a low power UHF data transceiver module BiM-433-40.</p></sec><sec id="s4"><title>4. Trajectory Embedded Control</title><p><xref ref-type="fig" rid="fig6">Figure 6</xref> illustrates an example of an environment with some obstacles where the robot must navigate. In this environment, the robot is located initially in the P1 point and the objective is to reach the P4 point. The supervisory generating system of initial Cartesian points, must then supply to the module of embedded trajectory generation, the Cartesian points P1, P2, P3 and P4, which are the main points of the traced route. <xref ref-type="fig" rid="fig7">Figure 7</xref> presents a general vision of the trajectory generator system.</p><p>The use of the system begins with the capitation of main points for generation of the mobile robot trajectory. The idea is to use a system of photographic video camera that catches the image of the environment where the mobile robot will navigate. This initial system must be capable to identify the obstacles of the environment and to generate a matrix with some strategically points that will serve of input for the system of embedded trajectory generation [<xref ref-type="bibr" rid="scirp.28372-ref7">7</xref>]. The mobile robot embedded control system receives initially, through the supervisory system, a trajectory to be executed. These data are loaded in the robot memory that is sent to the module of trajectory generation. At a time the robot starts to execute the trajectory, the dynamic data are returned to the embedded controller, who, with the measurements and sensing, makes the comparisons and due corrections in the trajectory.</p><p>The trajectory embedded control system of the mobile robot is formed by three main blocks. The first one is called movements generation block.</p><p>The second is the block of the controller and dynamic model of the mobile robot. Third is the block of the kinematic model. <xref ref-type="fig" rid="fig8">Figure 8</xref> illustrates the mobile robot control strategy implemented into Matlab Simulink blocks and then loaded in the embedded memory of the DSP processor by HIL (hardware-in-the-loop) technique.</p><p>The mobile robot embedded control is implemented with kinematic model presented at Section 2, the dynamic model for axles control and the movement generator modules. <xref ref-type="fig" rid="fig9">Figure 9</xref> illustrates the blocks diagram representing those modules.</p><p>The input system variables are:</p><p>• ∆t is the period between one pose point and another.</p><p>• TJ<sub>ref</sub>, is the reference trajectory matrix given by supervisory control block with all the trajectory dots pose coordinates<img src="4-8501040\9247f613-700f-43fc-bb8d-f6e7b6430af8.jpg" />.</p><p>• V<sub>ref</sub>, is the robot linear velocity dynamics informed by supervisory control block so that robot can accomplish one particular trajectory.</p><p>The embedded system output variables are:</p><p>• TJ<sub>din</sub>, that is the robot dynamic trajectory matrix, given in Cartesian coordinate format.</p><p>• V<sub>din</sub>, is the dynamic linear velocity of the robot.</p><p>• R<sub>c</sub>, is the mobile robot ICC.</p><p>• θ, is the orientation angle.</p><p>• ω, is the angular velocity vector.</p></sec><sec id="s5"><title>5. Position Estimation with RF Signal ToF</title><p>The communication system between the mobile robot and the beacons is follow described. The mobile robot and each one of the beacons, have a module of control and reception of the address codes and a module of transmission. The communication protocol between the</p><p>embedded control system, located in the mobile robot, and the beacons, that are located in strategically points in the environment, are composed of a frame formed for five quaternary codes.</p><sec id="s5_1"><title>5.1. Communication Protocol</title><p>The timing diagram shown in the <xref ref-type="fig" rid="fig10">Figure 10</xref> illustrates as each one of the codes in function of clock signal is formed.</p><p>Each half clock period correspond to a time about 896 &#181;s. Each code has a time period composed of 8 clocks cycles, that is 14.336 ms. <xref ref-type="table" rid="table1">Table 1</xref> A<sub>C</sub> depicts in a logic way the formation of the codes.</p><p>Each code is configured by a logic signals sequence, each one with a determined period. <xref ref-type="table" rid="table2">Table 2</xref> shows how each logic signal of each code is composed. The idea is to mount a quaternary codifier using binary logic levels, associates in such way that the logic levels alternate and the total period of each code is the same.</p><p><xref ref-type="table" rid="table1">Table 1</xref>. Logic formation of each code.</p><p><img src="4-8501040\f7a8db6f-8154-49dc-919a-e409fe959e34.jpg" /></p><p><xref ref-type="table" rid="table2">Table 2</xref>. The timing of the logic codes.</p><p><img src="4-8501040\f7c61d1c-e011-46ff-b50a-2bf4b9325901.jpg" /></p><p>The codification implemented was conceived here aiming the minimizing of the errors, such as the transmission of the one exactly signal level is transmitted without transitions of level for long time periods. In this case, the receiver tends to put out of the way and to perform the reading out the correct point, originating errors. In this way, RF transmission of the codes is sufficiently robust and trustworthy, practically extinguishing errors of signal decoding signal inside the area of system range.</p></sec><sec id="s5_2"><title>5.2. The Communication Frame</title><p>The communication frames used between the mobile robot and the beacons are composed for five quaternary codes. The <xref ref-type="fig" rid="fig11">Figure 11</xref> illustrates an example of a communication protocol frame. As each code has a period about 14.336 ms, the all frame has transmission time about 71.68 ms.</p><p>The maximum number of possible combination is given by</p><p><img src="4-8501040\15fc48be-a2dd-4a96-b280-36b4d9b10fd6.jpg" /></p><p>Each beacon has its own address, composed by five codes. In this way, the system is able to deal with up to 1024 beacons, with their own individual address.</p></sec><sec id="s5_3"><title>5.3. The RF Link</title><p>The coded signal is transmitted in RF modulated by BASK-OOK technique. The carrier signal frequency is about 433.92 MHz (UHF band). The RF link uses a halfduplex channel between mobile robot and beacons. The mobile robot control system is previously programmed with quantity and address of each beacon. <xref ref-type="fig" rid="fig12">Figure 12</xref> depicts an example of environment configuration of the communication between the robot and beacons.</p></sec><sec id="s5_4"><title>5.4. Beacon Transceiver System</title><p>The beacon embedded system is composed basically by two modules. One is responsible for RF signal receive and make all the concerned computation. This module has a 16F630 PIC microcontroller, operating at 4 MHz clock frequency. The other one is the RF signal transmitter. This module is equipped with 12F635 microcontroller and also operates at 4 MHz. The system is able to operate in autonomous way, been programmed with specific address. In other hand, the mobile robot must be programmed with de amount and the address of all operative beacons inside the navigating environment. <xref ref-type="fig" rid="fig13">Figure 13</xref> depicts the block diagram of the RF transceiver at mobile robot and at beacons. &#160;</p><p>C2</p><p>C0</p><p>C1</p><p>C3</p><p>C0</p><p><xref ref-type="fig" rid="fig11">Figure 11</xref>. Example of a communication protocol frame.</p><p><xref ref-type="fig" rid="fig14">Figure 14</xref> shows the beacons RF transceiver modules. The transmission module (<xref ref-type="fig" rid="fig14">Figure 14</xref>(b)) is able to function in asynchronous independent way, emitting an address code frame in a certain period of predetermined time, or synchronous way commanded by the reception and control module (<xref ref-type="fig" rid="fig14">Figure 14</xref>(a)). In the first case, a battery 12V A23 model is used which allows autonomy of more than 3 months of continuous use, due to ultra low power energy consumption given by the embedded microcontroller with nanowatt technology. In second case the power supply and transmission command are made by the reception control module, illustrated in the <xref ref-type="fig" rid="fig14">Figure 14</xref>(a). This second one is the mode utilized by this work.</p><p>As much the mobile robot, as each one of the beacons, has a transceiver control system com-posed by reception module and transmission module. As the objective of our system is to provide a triangulation between the mobile robot position and the beacons, the transmission modules work in synchronous way. It is assumed that the module of control of reception-transmission of the mobile robot has been previously loaded with the amount of existing beacons in the environment and with its respective addresses codes. The functioning of the system goes to the following procedure:&#160;</p><p>1) The mobile robot emits a address code-frame for first beacon. In this instant it sends an interrupt control signal to the central processing unit for triggering and starts a timer counter. The robot then, waits the return of the signal. This return must occur in up to 100 ms.</p><p>2) If the signal returns, means that the beacon recognized the code and sent back the same code. In this instant is sent a signal to the robot embedded central processing unit for stops the timer and calculation of the signal return delay time, which could be about ns.</p><p>3) If the signal was not returned, means that the beacon is out of area reach or occurred some error in signal transmission-reception.</p><p>4) Increment the number of beacon and go to the loop first item.</p><p>The distance between the robot and a certain m beacon is computed with base of the delay time in the reception of the same transmitted code. The total elapsed time between the code final transmission, sent by the robot, and the reception of the same code, sent back to the beacon, can be calculated by</p><disp-formula id="scirp.28372-formula102537"><label>(6)</label><graphic position="anchor" xlink:href="4-8501040\7adec8b4-0783-46b9-8604-0282d37ec9a6.jpg"  xlink:type="simple"/></disp-formula><p>where t<sub>is</sub> is the travel signal time between leaves robot transmitter and reach beacon reception, t<sub>pm</sub> is the processing signal time by the beacon, t<sub>rs</sub> is the signal return elapse time, t<sub>q</sub> is the frame code period and t<sub>pr</sub><sub> </sub>is the processing time of the sent back signal received by robot.</p><p>It’s well known that RF signal cover one meter in about 3.3 ns because its velocity is about 0.3 m/ns in air. We can consider that the linear speed of the robot is so small that the displacement of the robot could be considering as being zero during the time T. In this way, the distance in meters between the mobile robot and the beacon m can be given by</p><disp-formula id="scirp.28372-formula102538"><label>(7)</label><graphic position="anchor" xlink:href="4-8501040\3bfc9827-e17a-4a46-839a-c55a6982af22.jpg"  xlink:type="simple"/></disp-formula><p>where t<sub>is</sub> and t<sub>rs</sub> are given in ns. The elapsed time T is computed with a 64 bits timer of the Texas Instrument TMS320C6474-1200 dual core robot embedded processor. The instruction cycle time of it is about 0.83 ns (1.2 GHz clock Device), allowing timer calculations in order of ns, essential for our case of study. The times tpm and t<sub>pr</sub> are determined empirically and t<sub>q</sub> = 71.68 ms. In this way, the covered distance between the robot and beacon m should be done by</p><disp-formula id="scirp.28372-formula102539"><label>(8)</label><graphic position="anchor" xlink:href="4-8501040\7353fb68-b9c4-45f2-83f2-96b69ca111fc.jpg"  xlink:type="simple"/></disp-formula><p>The Algorithm 1 depicts the computation method for distance d calculation using RF ToF.</p></sec></sec><sec id="s6"><title>6. Triangulation</title><p>Triangulation refers to the solution of constraint equations relating the pose of an observer to the positions of a set of landmarks. Pose estimation using triangulation methods from known landmarks has been practiced since ancient times and was exploited by the ancient Romans in mapping and road construction during the Roman Empire. The simplest and most familiar case that gives the technique its name is that of using bearings or distance measurements to two (or more) landmarks to solve a planar positioning task, thus solving for the parameters of a triangle given a combination of sides and angles. This type of position estimation method has its roots in antiquity in the context of architecture and cartography and is important today in several domains such as survey science.</p><p>Although a triangular geometry is not the only possible configuration for using landmarks or beacons, it is the most natural [<xref ref-type="bibr" rid="scirp.28372-ref2">2</xref>]. Although landmarks, beacons and robots exist in a three-dimensional world, the limited accuracy associated with height information often results in a two-dimensional problem in practice; elevation information is sometimes used to validate the results. Thus, although the triangulation problem for a point robot should be considered as a problem with six unknown parameters (three position variables and three orientation variables), more commonly the task is posed as a twodimensional (or three-dimensional) problem with twodimensional (or three-dimensional) landmarks [<xref ref-type="bibr" rid="scirp.28372-ref8">8</xref>].</p><p>Depending on the combinations of sides (S) and angles (A) given, the triangulation problem is described as “side-angle-side” (SAS), and so forth. All cases permit a solution except for the AAA case in which the scale of the triangle is not constrained by the parameters. In practice, a given sensing technology often returns either an</p><p><img src="4-8501040\c7214fbb-c26e-429b-8a3a-6b0cd21446a2.jpg" /></p><p>angular measurement or a distance measurement, and the landmark positions are typically known. Thus, the SAA and SSS cases are the most commonly encountered. More generally, the problem can involve some combination of algebraic constraints that relate the measurements to the pose parameters. These are typically nonlinear, and hence a solution may be dependent on an initial position estimate or constraint [<xref ref-type="bibr" rid="scirp.28372-ref9">9</xref>]. This can be formulated as</p><disp-formula id="scirp.28372-formula102540"><label>(9)</label><graphic position="anchor" xlink:href="4-8501040\c4f27403-54a5-4bfc-86bb-e374aea62686.jpg"  xlink:type="simple"/></disp-formula><p>where the vector x expresses the pose variables to be estimated (normally, for 2D cases<img src="4-8501040\95b80ec6-15ae-424b-99ab-4536a6a466ea.jpg" />), and <img src="4-8501040\f2b6a484-f464-4051-8642-2d229fd7ac5f.jpg" /> is the vector of measurements to be used. In the specific case of estimating the position of an oriented robot in the plane, this becomes</p><disp-formula id="scirp.28372-formula102541"><label>(10)</label><graphic position="anchor" xlink:href="4-8501040\64b719f6-040c-4f38-91f5-ad976f6089ec.jpg"  xlink:type="simple"/></disp-formula><p>If only the distance to a landmark is available, a single measurement constrains the robot’s position to the arc of a circle. <xref ref-type="fig" rid="fig15">Figure 15</xref> illustrates perhaps the simple’s traingulation case.</p><p>A robot at an unknown location x<sub>1</sub> senses two beacons P<sub>1</sub> and P<sub>2</sub> by measuring the distances d<sub>1</sub> and d<sub>2</sub> to them. This corresponds to our case of study in which active beacons at known locations emit a signal and the robot obtains distances based on the time delay to arrive at the robot. The robot must lie at the intersection of the circle of radius d<sub>1</sub> with center at P<sub>1</sub>, and with the circle or radius d<sub>2</sub> with center at P<sub>2</sub>. Without loss of generality we can assume that P<sub>1</sub> is at the origin and that P<sub>2</sub> is at<img src="4-8501040\54591c01-6852-40fd-91c1-5df1571d377f.jpg" />. Then we have</p><disp-formula id="scirp.28372-formula102542"><label>(11)</label><graphic position="anchor" xlink:href="4-8501040\6fa64748-9f93-4eb3-9d9e-d38d683a25f0.jpg"  xlink:type="simple"/></disp-formula><p>and</p><disp-formula id="scirp.28372-formula102543"><label>(12)</label><graphic position="anchor" xlink:href="4-8501040\47f16a9e-9706-42c5-9e30-16be62581b1e.jpg"  xlink:type="simple"/></disp-formula><p>A small amount of algebra results in</p><disp-formula id="scirp.28372-formula102544"><label>(13)</label><graphic position="anchor" xlink:href="4-8501040\c91501b1-0862-4355-ada2-05d1f6137620.jpg"  xlink:type="simple"/></disp-formula><p>and</p><disp-formula id="scirp.28372-formula102545"><label>(14)</label><graphic position="anchor" xlink:href="4-8501040\88e10f13-36dc-4cc7-a7e2-ccf3764def4b.jpg"  xlink:type="simple"/></disp-formula><p>resulting in two solutions x<sub>1</sub> and x<sub>2</sub>.</p><p>In a typical application, beacons are located on walls, and thus the spurious (in our example, the x<sub>2</sub>) solution can be identified because it corresponds to the robot’s being located on the wrong side of (inside) the wall. Although distances to beacons provide a simple example of triangulation, most sensors and land-marks result in more complex situations [<xref ref-type="bibr" rid="scirp.28372-ref10">10</xref>]. The situation for two beacons is illustrated in <xref ref-type="fig" rid="fig16">Figure 16</xref>(a). The robot senses two known beacons and measures the bearing to each beacon relative to its own straight ahead direction. This obtains the difference is gearing between the directions to the two beacons and constrains the true position of the robot to lie on that portion of the circle shown in <xref ref-type="fig" rid="fig16">Figure 16</xref>(a). We can note that the mathematics admits two circular arcs, but one can be excluded based on the left-right ordering of the beacon directions [<xref ref-type="bibr" rid="scirp.28372-ref11">11</xref>]. The loci of points that satisfy the bearing difference is given by</p><disp-formula id="scirp.28372-formula102546"><label>(15)</label><graphic position="anchor" xlink:href="4-8501040\a84af492-c571-4532-847d-cb5bec999180.jpg"  xlink:type="simple"/></disp-formula><p>where d<sub>1</sub> and d<sub>2</sub> are the distances from the robot’s current position x to beacons P<sub>1</sub> and P<sub>2</sub>, respectively. The visibility of a third beacon, like can be seen at <xref ref-type="fig" rid="fig16">Figure 16</xref>(b), gives rise to three nonlinear constraints on d<sub>1</sub>, d<sub>2</sub> and d<sub>3</sub>: by</p><disp-formula id="scirp.28372-formula102547"><label>(16)</label><graphic position="anchor" xlink:href="4-8501040\f5cf26a9-40f1-4fbe-abf8-8904a92090bd.jpg"  xlink:type="simple"/></disp-formula><p>which can be solved using standard techniques to obtain d<sub>1</sub>, d<sub>2</sub> and d<sub>3</sub>. Knowledge of d<sub>1</sub>, d<sub>2</sub> and d<sub>3</sub> leads to the robot’s position [<xref ref-type="bibr" rid="scirp.28372-ref1">1</xref>]. &#160;</p><p>The geometric arrangement of beacons with respect to the robot observer is critical to the accuracy of the solution. A particular arrangement of beacons may provide high accuracy when observed from some locations and low accuracy when observed from others. F or example, in two dimensions a set of three collinear beacons observed with a bearing measuring device can provide good positional accuracy for triangulation when viewed from a</p><p>point away from the line joining the beacons (e.g., a point that forms an equilateral triangle with respect to the external beacons). On the other hand, if the robot is located on the line joining the beacons, the position can only be constrained to lie somewhere on this (infinite) line.</p><sec id="s6_1"><title>6.1. Triangulation with RF Beacons</title><p>In our case of study the beacon’s position at 2D environment are known and thus, the distances between the beacons. If the N beacons are positioned at points <img src="4-8501040\c9b7e716-dec6-4c2d-9082-6b2d464d41ec.jpg" /> and the robot’s position is given by<img src="4-8501040\f145e8f2-e468-417a-9ed0-c9ed90948ce0.jpg" />, then, the Equation (16), that express the robot triangulation with three beacons, yields</p><disp-formula id="scirp.28372-formula102548"><label>(17)</label><graphic position="anchor" xlink:href="4-8501040\75b58a27-8beb-42e7-b50f-38bed5b84659.jpg"  xlink:type="simple"/></disp-formula><p>where the robot’s position <img src="4-8501040\2fa2084b-668c-4a14-a3da-7bd368fb4ffb.jpg" /> can be inferred by numerical methods.</p></sec><sec id="s6_2"><title>6.2. Some Triangulation Results</title><p>It’s our choice to make triangulation using a set of tree active environment beacons at a time. In this way, the embedded robot control computes distances d<sub>1</sub>, d<sub>2</sub>, d<sub>3</sub> from beacons b<sub>1</sub>, b<sub>2</sub>, b<sub>3</sub> respectively. When those measurements are done, it calculates the robot position estimative, based in Equations (16) and (17). Then, it takes next tree actives beacons, such as b<sub>2</sub>, b<sub>3</sub>, b<sub>4</sub> with their respective robot distances, for next triangulation. The triangulation keeps in loop reaching last beacon, return to first one and go on.</p><p>We noted that, when mobile robot positions was taken in this way, and when the robot get so close form some beacon, at least less then tree meters, the position estimative get corrupt by this near beacon. &#160;</p><p>That’s because timer counter becomes imprecise for the short distance that results some ns of ToF. <xref ref-type="fig" rid="fig17">Figure 17</xref> depicts a robot trajectory inside a indoor 20 &#215; 21 m environment that triangulation calculus was taken in period of 10 s each one. It does madden in this way, for better robot position estimative visualization.</p><p>In the way to fix the robot position estimative when it’s at some beacon nearly, the embedded control simply discards distance measurement from beacons that are less than four meters from robot. That’s why it’s important more than four beacons at indoor environment and best arrangement of them, taking into account obstacles and environment own particularities. <xref ref-type="fig" rid="fig18">Figure 18</xref> illustrates the robot position estimative when this methodology is applied. We can note here that position estimative is now more consistent.</p></sec></sec><sec id="s7"><title>7. Data Fusion</title><p>The question of how to combine data of different sources generates a great quantity of research in the academics</p><p>ambient and at the research laboratories. In the context of the mobile robotic systems, the data fusing must be affected in at least three distinct fields: arranging measurements of different sensors, different positions, and different times. &#160;</p><p>Here is presented the data fusion methodology that uses Kalman Filter to combine sensors measurements and beacons distance triangulation to have best next pose estimation and correct actual robot localization.</p>Kalman Filter<p>To control a mobile robot, frequently it is necessary to combine information of multiple sources. The information that comes from trustworthy sources must have greater importance about those one collected by less trustworthy sensors.</p><p>A general way to compute the sources that are more or less trustworthy and which weights must be given to the data of each source, making a weighed pounder addition of the measurements, are known with Kalman Filter [<xref ref-type="bibr" rid="scirp.28372-ref12">12</xref>]. It is one of the methods more widely used for sensorial fusing in mobile robotics applications [<xref ref-type="bibr" rid="scirp.28372-ref13">13</xref>]. This filter is frequently used to combine data gotten from different sensors in a statistical optimal estimate. If a system can be described with a linear model and the uncertainties of the sensors and the system can be modeled as white Gaussian noises, then the Kalman Filter gives an optimal estimate statistical for the casting data. This means that, under certain conditions, the Kalman Filter is able to find the best estimative based on correction of each individual measure [<xref ref-type="bibr" rid="scirp.28372-ref14">14</xref>]. <xref ref-type="fig" rid="fig19">Figure 19</xref> depicts the particular schematic for Kalman Filter localization [<xref ref-type="bibr" rid="scirp.28372-ref15">15</xref>].</p><p>The Kalman Filter consists of the stages follow presented in each time step, except for the initial step. It is assumed, for model simplification, that the state transition matrix <img src="4-8501040\70bb811a-4beb-408d-899f-5294a76b37c2.jpg" /> and the observation function <img src="4-8501040\a04e14e8-9ed0-4772-ba40-8c9effae0441.jpg" /> remain constant in function of the time. Using the plant model and computing a system state estimate in the time <img src="4-8501040\8b12b578-c30f-4299-b70f-eaa436cbe9d9.jpg" /> based in robot position knowledge in the instant of time k, is had how the system evolves in the time with the input control<img src="4-8501040\756f47ec-6cb8-46a5-8198-827080ccd4f5.jpg" />:</p><disp-formula id="scirp.28372-formula102549"><label>(18)</label><graphic position="anchor" xlink:href="4-8501040\e2149e9a-d9d2-4b72-8fd5-722259d9a85b.jpg"  xlink:type="simple"/></disp-formula><p>In some practical equations the input <img src="4-8501040\7587fbfd-9250-49d5-873e-e1d4dc73c586.jpg" /> is not used. It can also, to actualize the state certainty as expressed for the state covariance matrix <img src="4-8501040\23f8c1a4-26ce-43d7-9fa3-ba4e6b7a6422.jpg" /> through the displacement in the time, as:</p><disp-formula id="scirp.28372-formula102550"><label>(19)</label><graphic position="anchor" xlink:href="4-8501040\273f4b29-93e5-4f8f-97cd-d3850acb0a37.jpg"  xlink:type="simple"/></disp-formula><p>Equation (19) expresses the way which the system state knowledge gradually decays with passing of the time, in the absence of external corrections. The Kalman gain can be express as</p><disp-formula id="scirp.28372-formula102551"><label>(20)</label><graphic position="anchor" xlink:href="4-8501040\135759e1-2719-4abe-89a7-d4c17f79a0e4.jpg"  xlink:type="simple"/></disp-formula><p>but, how it didn’t compute<img src="4-8501040\982e4bff-3e87-4c04-b4df-59b62dbd008b.jpg" />, this can be computed by</p><disp-formula id="scirp.28372-formula102552"><label>(21)</label><graphic position="anchor" xlink:href="4-8501040\5d3f6851-6cf3-4e76-8dc9-c89c7339c2e4.jpg"  xlink:type="simple"/></disp-formula><p>Using this matrix, an estimate of revised state can be calculated that includes the additional information gotten by the measurement. This involves the comparison of the current sensors data <img src="4-8501040\48c5d0b1-2ad4-4137-ba5a-f640cb9bd22b.jpg" /> with the data of the foreseen sensors using it state estimate. The difference between the two terms:</p><disp-formula id="scirp.28372-formula102553"><label>(22)</label><graphic position="anchor" xlink:href="4-8501040\498ebac8-dd80-400d-b1f9-556078e7b844.jpg"  xlink:type="simple"/></disp-formula><p>or, at the linear case</p><disp-formula id="scirp.28372-formula102554"><label>(23)</label><graphic position="anchor" xlink:href="4-8501040\15476e70-ce05-47e6-a9af-10d6e61c27ef.jpg"  xlink:type="simple"/></disp-formula><p>is related as the innovation. If the state estimate is perfect, the innovation must be not zero only which the sensor noise. Then, the state estimate actualized is given by</p><disp-formula id="scirp.28372-formula102555"><label>(22)</label><graphic position="anchor" xlink:href="4-8501040\9c213b3c-43b5-471a-a5c2-f5aba3f9ac93.jpg"  xlink:type="simple"/></disp-formula><p>and, the up-to-date state covariance matrix is given by</p><disp-formula id="scirp.28372-formula102556"><label>(23)</label><graphic position="anchor" xlink:href="4-8501040\4d5ea03b-7ee2-4636-8dec-60b3d4417a70.jpg"  xlink:type="simple"/></disp-formula><p>where I is the identity matrix.</p></sec><sec id="s8"><title>8. Experimental Results</title><p>Here is presented some experimental results of the proposed system. A mobile robot prototype showed in <xref ref-type="fig" rid="fig2">Figure 2</xref>0 was used as a platform for implementation the hardware and the software above described. &#160;</p><p>We can see at <xref ref-type="fig" rid="fig2">Figure 2</xref>1 the result of EKF pose estimative applied in the robot’s trajectory that have traingulation measurements marked by yellow crosses. In this experimental result we allocate four beacons, one in each corner, about two meters high. In the middle of the room, there was a camera for registering the true robot’s trajectory in the way to comparison.</p><p>The ellipses delimit the area of uncertainty in the esti-</p><p>mates. It can be observed that these ellipses are bigger in the trajectory curves extremities, because in these points the calculus of position by triangulation get some loses.</p><p>The average quadratic error varies depending on the chosen trajectory. It can be noticed that the pose estimative improves for more linear trajectories and with high frequency of on-board RF beacons triangulation measurements.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref>2 depicts the robot navigation inside environment with two ambient. Here were fixed six actives beacons for massive triangulation computation. The trouble with massive triangulation is that the onboard embedded processor keeps busy computing it and has not enough time for others important tasks like wheel control management, supervisory communication, EKF calculation, etc. In this way, it’s important to find a middle term about triangulation measurement frequency that will not</p><p>compromise the well function of all control embedded system.</p></sec><sec id="s9"><title>9. Conclusions</title><p>The use of ToF of the RF signal interacting with RF beacons for computational triangulation in the way to provide a pose estimative at bi-dimensional indoor environment was validated, with those first experimentation works. Even though we are collecting the first positive results in this way, they are encouraging us to keep researching and improving the system in this direction. This is a relativity cheap implementation system that provides grates results for mobile robot indoor navigation, where GPS system is out of range. In this way, this work brings an important alternative for traditional ultrasonic navigation technology, with low cost implementation RF digital transceiver beacon system. These are now possible because of high performance robot embedded multicore DSP processors to calculate ToF of the order about ns.</p><p>Sensors data like odometry, compass and the result of triangulation Cartesian estimative, was fused in a Kalman filter in the way to perform optimal estimation and correct robot pose. Once given the nonlinearity of the system in question, the use of the EKF became necessary. It does not have therefore, at beginning, theoretical guarantees of optimality nor of convergence of this method. Therefore, it was implemented a kinematic and dynamic model at embedded control system that allows, underneath of next conditions of the reality, to verify the performance of this technique. Among others parameters that were looked to realistic model the increasing error in the measure of the position of a beacon to the measure meets that in the distance between the robot and it increases. This effect also was introduced in the estimate of the observation covariance matrix to allow a more coherent performance of the filter. A factor extremely important is the characterization of the covariance’s matrices of the present’s signals in the system.</p><p>The results of the simulations associated with experimental validations confirm that this technique is valid and promising so that the mobile robots, in autonomous way, can be able to correct its own trajectory. The consistency of the data fusing relative to the odometry and compass sensing of the mobile robot and the result of RF beacons triangulation is obtained even after inserted disturbances in the system. The presented method does not make an instantaneous absolute localization, but successive measurements show that the estimative state converges for the real state of the robot.</p></sec><sec id="s10"><title>REFERENCES</title></sec></body><back><ref-list><title>References</title><ref id="scirp.28372-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">M. Thielscher, “Reasoning Robots, The Art and Science of Programming Robotic Agents,” Springer, Netherlands, 2005.</mixed-citation></ref><ref id="scirp.28372-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">G. Dudek and M. Jenkin, “Computational Principles of Mobile Robotics,” Press Syndicate of the University of Cambridge, Cambridge, 2000.</mixed-citation></ref><ref id="scirp.28372-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">S. H. Park and S. Hashimoto, “Autonomous Mobile Robot Navigation Using Passive Rfid in Indoor Environment,” IEEE Transactions on Industrial Electronics, Vol. 56, No. 7, 2009, pp. 2366-2373. 
doi:10.1109/TIE.2009.2013690</mixed-citation></ref><ref id="scirp.28372-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">C.-F. Juang and Y.-C. Chang, “Evolutionary-Group-Based Particle-Swarm-Optimized Fuzzy Controller with Application to Mobile-Robot Navigation in Unknown Environments,” IEEE Transactions on Fuzzy Systems, Vol. 19, No. 2, 2011, pp. 379-392. 
doi:10.1109/TFUZZ.2011.2104364</mixed-citation></ref><ref id="scirp.28372-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">H.-S. Shim, J.-H. Kim and K. Koh, “Variable Structure Control of Nonholonomic Wheeled Mobile Robot,” IEEE International Conference on Robotics and Automation, Vol. 2, 1995, pp. 1694-1699.</mixed-citation></ref><ref id="scirp.28372-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Y. L. Zhao and S. L. BeMent, “Kinematics, Dynamics and Control of Wheeled Mobile Robots,” IEEE International Conference on Robotics and Automation, Vol. 1, May 1992, pp. 91-96.</mixed-citation></ref><ref id="scirp.28372-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">N. MacMillan, R. Allen, D. Marinakis and S. Whitesides, “Range-Based Navigation System for a Mobile Robot,” Conference on Computer and Robot Vision (CRV), 2011, pp. 16-23.</mixed-citation></ref><ref id="scirp.28372-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">H. Gonzalez-Banos and J.-C. Latombe, “Robot Navigation for Automatic Model Construction Using Safe Regions,” Experimental Robotics VII, Lecture Notes in Control and Information Sciences, Vol. 271, 2001, pp. 405-416. doi:10.1007/3-540-45118-8_41</mixed-citation></ref><ref id="scirp.28372-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">M. Kam, X. X. Zhu and P. Kalata, “Sensor Fusion for Mobile Robot Navigation,” Proceedings of the IEEE, Vol. 85, No. 1, 1997, pp. 108-119. 
doi:10.1109/JPROC.1997.554212</mixed-citation></ref><ref id="scirp.28372-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">A. N. Tikhonov and V. Y. Arsenin, “Solutions of Ill-Posed Problems,” Wiston, Washington DC, 1977.</mixed-citation></ref><ref id="scirp.28372-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">M. Thielscher, “Reasoning Robots. The Art and Science of Programming Robotic Agents,” Springer, Netherlands, 2005.</mixed-citation></ref><ref id="scirp.28372-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">R. E. Kalman, “A New Approach to Linear Filtering and Prediction Problems,” Journal of Basic Engineering, Vol. 82, No. 1, 1960, pp. 35-45. doi:10.1115/1.3662552</mixed-citation></ref><ref id="scirp.28372-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">J. J. Leonard and H. F. Durrant-Whyte, “Mobile Robot Loca-lization by Tracking Geometric Beacons,” IEEE Transactions on Robotics and Automation, Vol. 7, No. 3, 1991, pp. 376-382. doi:10.1109/70.88147</mixed-citation></ref><ref id="scirp.28372-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">G. Dudek, M. Jenkin, E. Milios and D. Wilkes, “Reflections on Modelling a Sonar Range Sensor,” 1996.</mixed-citation></ref><ref id="scirp.28372-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">R. Siegwart and I. R. Nourbakhsh, “Introduction to Autonomous Mobile Robots. Intelligent Robotics and Autonomous Agents,” The MIT Press, 2004.</mixed-citation></ref></ref-list></back></article>