6
Depth Camera SLAM on a Low-cost WiFi Mapping Robot Piotr Mirowski, Ravishankar Palaniappan, Tin Kam Ho Bell Labs, Alcatel-Lucent, 600 Mountain Avenue, Murray Hill, NJ 07974, USA Email: [email protected] Telephone: +1 (908) 582-0100 Abstract—Radio-Frequency fingerprinting is an interesting solution for indoor localization. It exploits existing telecom- munication infrastructure, such as WiFi routers, along with a database of signal strengths at different locations, but requires manually collecting signal measurements along with precise position information. To automatically build signal maps, we use an autonomous, self-localizing, low-cost mobile robotic platform. Our robot relies on the Kinect depth camera that is limited by a narrow field of view and short range. Our two-stage localization architecture first performs real-time obstacle-avoidance-based navigation and visual-based odometry correction for bearing angles. It then uses RGB-D images for Simultaneous Localization and Mapping. We compare the applicability of 6-degrees-of- freedom RGB-D SLAM, and of particle filtering 2D SLAM algorithms and present novel ideas for loop closures. Finally, we demonstrate the use of the robot for WiFi localization in an office space. Index Terms—mapping; navigation; depth camera; indoor localization I. INTRODUCTION Technologies for tracking people within buildings are im- portant enablers for many public safety applications and com- mercial services. The need has not been met by conventional navigation aids such as GPS and inertial systems, but there have been many approaches to solve this problem using Radio-Frequency (RF) based systems relying on the Received Signal Strength Indicator (RSSI) [1], [17], [4], [15]. Those systems rely on existing devices and infrastructures and are cheap to deploy and maintain. The tracking algorithms employ signal maps (so-called fingerprints) to determine (interpolate) positions at the tracking time. But a practical solution still requires the elimination of the painstaking process of creating a signal map manually by walking/driving through the space and collecting signal strength measurements along with precise position information. Furthermore, it is necessary to be able to repeat the signal map construction periodically to adapt to potential changes in the radio environment. Motivated by these needs, we have recently developed a robotic test-bed that can carry multiple sensors and navigate within buildings autonomously while gathering signal strength data at various frequencies of interest [16]. As it moves autonomously in the indoor environment, our robot relies on odometry information coming from various sensors (e.g. wheel odometry for dead reckoning or visual odometry from the RGB-D sensors) to construct a spatial model and infer its own location. Our ultimate goal is a robot capable of conducting repeated surveying of an indoor environment to update the signal maps as frequently as required, as well as a test-bed to evaluate tracking algorithms in controlled conditions. A robotic platform that can perform such tasks with minimal human intervention is a highly promising solution to bridge the gap between laboratory trials of telecommunication systems and practical deployments in large scale. This paper focuses on the localization and mapping algo- rithms used in our robot, as well as on the challenges raised by cost and battery autonomy considerations, which required us to use a low-power computer board and to forgo expensive laser sensors in favor of the Kinect depth camera. Specifically, we were limited by the 60-degree field of view and the short range of the depth sensor, and low complexity computation supported by the computer board. Our key design is a two-stage localization architecture. First, the on-board computer performs real-time obstacle-avoidance- based navigation and visual- and depth-based odometry correc- tion for bearing angles. Depending on the proximity of objects on the depth image, it either does fast feature tracking for visual rotational odometry or low-latency short-range Simul- taneous Localization and Mapping (SLAM). In the second (or off-line) stage, corrected odometry and RGB-D images are used for precise SLAM. We evaluate 6-degrees-of-freedom RGB-D SLAM and particle filtering 2D SLAM algorithms for this purpose. Finally, we apply a stochastic graph opti- mization algorithm to perform loop closure and registration with a global coordinate system, using self-describing visual landmarks (QR codes) that encode their own positions. Initial results show that our robot can localize itself while building WiFi maps in medium-sized office spaces. Using such WiFi maps, we achieved localization accuracy under 5m. Our practical robotic application to RF mapping with minimal human intervention thus provides a highly promising solution for implementing location-based services. II. INDOOR MAPPING ROBOT This section describes the Indoor Mapping Robotic (IMR) test-bed vehicle (see Fig. 1) which is used to survey and construct radio signal maps within buildings. A. Hardware Configuration Since our goal was to make use of an easily available, low- cost commercial platform for indoor applications, we chose a vehicle that was easily maneuverable through narrow corridors and doorways, namely a Jazzy Jet 3 wheelchair with two motors and two 12 V rechargeable batteries that supported a maximum operating time of 4 hours. The motors on each side of the wheelchair can be independently controlled through motor controllers and gearboxes, enabling the wheelchair to rotate on its axis. The chair and chair mount were replaced by a custom built (50cm x 40cm x 0.25cm) aluminum base plate

Depth Camera SLAM on a Low-cost WiFi Mapping Robotmirowski/pub/PiotrMirowski_TePRA_2012_Final.pdf · Depth Camera SLAM on a Low-cost WiFi Mapping Robot ... robotic test-bed that can

Embed Size (px)

Citation preview

Page 1: Depth Camera SLAM on a Low-cost WiFi Mapping Robotmirowski/pub/PiotrMirowski_TePRA_2012_Final.pdf · Depth Camera SLAM on a Low-cost WiFi Mapping Robot ... robotic test-bed that can

Depth Camera SLAMon a Low-cost WiFi Mapping Robot

Piotr Mirowski, Ravishankar Palaniappan, Tin Kam HoBell Labs, Alcatel-Lucent, 600 Mountain Avenue, Murray Hill, NJ 07974, USA

Email: [email protected] Telephone: +1 (908) 582-0100

Abstract—Radio-Frequency fingerprinting is an interestingsolution for indoor localization. It exploits existing telecom-munication infrastructure, such as WiFi routers, along with adatabase of signal strengths at different locations, but requiresmanually collecting signal measurements along with preciseposition information. To automatically build signal maps, we usean autonomous, self-localizing, low-cost mobile robotic platform.

Our robot relies on the Kinect depth camera that is limited bya narrow field of view and short range. Our two-stage localizationarchitecture first performs real-time obstacle-avoidance-basednavigation and visual-based odometry correction for bearingangles. It then uses RGB-D images for Simultaneous Localizationand Mapping. We compare the applicability of 6-degrees-of-freedom RGB-D SLAM, and of particle filtering 2D SLAMalgorithms and present novel ideas for loop closures. Finally,we demonstrate the use of the robot for WiFi localization in anoffice space.

Index Terms—mapping; navigation; depth camera; indoorlocalization

I. INTRODUCTIONTechnologies for tracking people within buildings are im-

portant enablers for many public safety applications and com-mercial services. The need has not been met by conventionalnavigation aids such as GPS and inertial systems, but therehave been many approaches to solve this problem usingRadio-Frequency (RF) based systems relying on the ReceivedSignal Strength Indicator (RSSI) [1], [17], [4], [15]. Thosesystems rely on existing devices and infrastructures and arecheap to deploy and maintain. The tracking algorithms employsignal maps (so-called fingerprints) to determine (interpolate)positions at the tracking time. But a practical solution stillrequires the elimination of the painstaking process of creatinga signal map manually by walking/driving through the spaceand collecting signal strength measurements along with preciseposition information. Furthermore, it is necessary to be ableto repeat the signal map construction periodically to adapt topotential changes in the radio environment.

Motivated by these needs, we have recently developed arobotic test-bed that can carry multiple sensors and navigatewithin buildings autonomously while gathering signal strengthdata at various frequencies of interest [16]. As it movesautonomously in the indoor environment, our robot relies onodometry information coming from various sensors (e.g. wheelodometry for dead reckoning or visual odometry from theRGB-D sensors) to construct a spatial model and infer its ownlocation. Our ultimate goal is a robot capable of conductingrepeated surveying of an indoor environment to update thesignal maps as frequently as required, as well as a test-bedto evaluate tracking algorithms in controlled conditions. Arobotic platform that can perform such tasks with minimal

human intervention is a highly promising solution to bridge thegap between laboratory trials of telecommunication systemsand practical deployments in large scale.

This paper focuses on the localization and mapping algo-rithms used in our robot, as well as on the challenges raisedby cost and battery autonomy considerations, which requiredus to use a low-power computer board and to forgo expensivelaser sensors in favor of the Kinect depth camera. Specifically,we were limited by the 60-degree field of view and the shortrange of the depth sensor, and low complexity computationsupported by the computer board.

Our key design is a two-stage localization architecture. First,the on-board computer performs real-time obstacle-avoidance-based navigation and visual- and depth-based odometry correc-tion for bearing angles. Depending on the proximity of objectson the depth image, it either does fast feature tracking forvisual rotational odometry or low-latency short-range Simul-taneous Localization and Mapping (SLAM). In the second (oroff-line) stage, corrected odometry and RGB-D images areused for precise SLAM. We evaluate 6-degrees-of-freedomRGB-D SLAM and particle filtering 2D SLAM algorithmsfor this purpose. Finally, we apply a stochastic graph opti-mization algorithm to perform loop closure and registrationwith a global coordinate system, using self-describing visuallandmarks (QR codes) that encode their own positions.

Initial results show that our robot can localize itself whilebuilding WiFi maps in medium-sized office spaces. Usingsuch WiFi maps, we achieved localization accuracy under 5m.Our practical robotic application to RF mapping with minimalhuman intervention thus provides a highly promising solutionfor implementing location-based services.

II. INDOOR MAPPING ROBOTThis section describes the Indoor Mapping Robotic (IMR)

test-bed vehicle (see Fig. 1) which is used to survey andconstruct radio signal maps within buildings.

A. Hardware ConfigurationSince our goal was to make use of an easily available, low-

cost commercial platform for indoor applications, we chose avehicle that was easily maneuverable through narrow corridorsand doorways, namely a Jazzy Jet 3 wheelchair with twomotors and two 12 V rechargeable batteries that supporteda maximum operating time of 4 hours. The motors on eachside of the wheelchair can be independently controlled throughmotor controllers and gearboxes, enabling the wheelchair torotate on its axis. The chair and chair mount were replaced bya custom built (50cm x 40cm x 0.25cm) aluminum base plate

Page 2: Depth Camera SLAM on a Low-cost WiFi Mapping Robotmirowski/pub/PiotrMirowski_TePRA_2012_Final.pdf · Depth Camera SLAM on a Low-cost WiFi Mapping Robot ... robotic test-bed that can

Fig. 1. Indoor mapping robot.

that is capable of supporting 100 kg of load. The plate hostsall our sensor, electronics and hardware. The hardware layoutof the robotic platform primarily consists in a low-power 1.66GHz Mini-ITX computer motherboard with 4 GB RAM andrunning Linux Debian. It is connected to the sonars1, Kinect R©

RGB-D camera [7]2 and infra-red remote control interfacethrough USB ports, to the motor micro-controller through theserial port (sending PWM Pulse Width Modulation commands)and to the 802.11g router through the Ethernet port. A parallelpower circuit connects the batteries to the motherboard, themotor controller and the Kinect sensors.

B. Autonomous Robot Navigation

Data from the sonars and the depth camera are used forguiding the robot during autonomous navigation. Autonomousrobot navigation is currently implemented as a collisionavoidance strategy, alternating with a “mouse in a maze”wall-following strategy, essentially consisting in preferentialturn directions. After sub-sampling the depth image to an80x30 pixel size and converting depth information to metricdistances, a threshold-based algorithm makes decisions to turnif there are obstacles within 1m on the right or left of thefield of depth vision. The depth sensor is also used for stairsdetection, by scanning the bottom five lines of the depth image:if the depth image shows an abnormally large distance therobot determines that it is looking down the stairs. The robotmoves forward if no collisions or falls are perceived. The sonarsensors, mounted in front and back of the robot such thatthey cover the area surrounding the robot, serve as additionalbackup sensors for obstacle avoidance when there are smallobstacles outside the depth field-of-view. Each sonar can detectobjects distant from 0.15m to 6.5m at 2.5cm accuracy.

C. Radio-Frequency Data Collection

The robot can support many designs of controlled exper-iments to compare the effects of various factors that impactthe quality of an RF signal map, such as spatial and temporalvariations of the signal.

1The sonar sensors are USB controlled devices called Phidgets (http://www.phidgets.com/) that are basically plug-and-play low-cost USB sensors thatinterface with the computer through the USB port.

2The Microsoft Kinect R© RGB-D sensor is developed by PrimeSense Inc.An open-source software driver (available at http://openkinect.org) enables tograb both depth and RGB images at 30Hz and 640x480 pixel resolution, andrespectively as 11-bit depth and 8-bit color definitions.

1) Motivation for Fine-grained RF Fingerprinting: Ad hocmeasurements of signal strengths often include a combinationof many effects, such as spatial signatures as determined bymulti-path propagation, disturbances due to objects moving inthe environment, and transient presences of interfering signals.For example, from test runs measuring signal strengths fromvarious access points at specific locations inside the buildingover long periods of time, we found that there was morethan 10 dB variation in the signal levels even over shortdistances; they could be due to multi-path effects in the indoorenvironment or could be device related. This phenomenonillustrates the need for repeated data collection to accuratelycharacterize the spatial and temporal variation of the RFsignal. Such needs highlight the advantage of our roboticplatform in its capability for conducting these measurementssystematically, and repeating as often as necessary.

2) Software for Gathering Signal Strength Data: In orderto build our radio signal map we have considered two meth-ods for gathering WLAN Received Signal Strength Indicatordata (RSSI); active probing and passive sniffing technique.In the active probing technique the probing software suchas NetStumbler R© (http://www.netstumbler.com/) sends out anactive probe request and the surrounding access points respondwith data such as SNR, channel information and other rele-vant information. In passive sniffing technique software suchas Kismet R© (http://www.kismetwireless.net/) and Wireshark R©

(http://www.wireshark.org/) passively scans the networks bygathering data packets and analyzing their contents. We exper-imented with both active and passive scanning techniques forWLAN signal strength data collection in different locationsof the building. Using NetStumbler we could only collectWLAN signal samples at 1 Hz frequency. This required usto pause at each location for longer times to gather enoughsignal strength data for statistical analysis, or to move at aslow speed, under the assumption that the behavior of RSSIdoes not vary abruptly over short distances such as 1m.

3) Fingerprinting and Localization Algorithms: By mod-ifying our WLAN fingerprinting algorithms to take into ac-count the full distribution of the RSSI [17], and using theRSSI collected in narrow office corridors as training data,we were typically able to achieve a median accuracy of 1m(2m accuracy at the 90% quantile) on subsequent trackingruns along office corridors [15]. More information about ourWiFi fingerprinting and tracking algorithm is provided inSection IV-B.

III. LOCALIZATION AND MAPPINGA critical need when constructing a spatial map of RF

signals is to accurately record the location of the receiver atthe time when the signal strength is measured. In addition, thelocation needs to be registered to the building layout for usein applications and services, even if no detailed blueprints areavailable for the building of interest.

Our robot uses a two-stage software architecture for lo-calizing itself. In the first (online) stage, it relies on wheel-based translation odometry (Section III-A) with either fastvisual odometry- or low-latency 2D SLAM-based estimationof bearing angles (Section III-B). For the second (offline)map-building stage, we compared 3D RGB-D odometry (Sec-tion III-C) with particle filtering 2D SLAM (Section III-D).

Page 3: Depth Camera SLAM on a Low-cost WiFi Mapping Robotmirowski/pub/PiotrMirowski_TePRA_2012_Final.pdf · Depth Camera SLAM on a Low-cost WiFi Mapping Robot ... robotic test-bed that can

Finally, we introduce a methodology for loop closure and reg-istration with a global coordinate system using self- describingvisual landmarks (QR codes) that encode their own positions(Section III-E).

A. Wheel-Based Odometry

The easiest way of localizing a robot is to track its wheelmovements. In our case, the robot has 3 DoF (degrees offreedom) as long as it moves on planar surfaces. Because wewant it to move slowly to record RF signal measurements,we defined only 4 movement modalities: move forward at aconstant speed of about 0.23m/s, move backwards at 0.15m/sas well as turn left or right at a constant angular speedof 0.46rad/s, by rotating the two front wheels in oppositedirections.

Because of the design of the wheelchair, it was not possibleto add two wheel encoders, one on each wheel, but only asingle one in the front; hence our odometer (consisting of arotational counter) can record the forward/backward distancetravelled but not the angle rotated. In the first stage, we canapproximate rotational wheel odometry by measuring the exacttime elapsed since the last move or turn command was issuedto the motors to estimate the angle rotated (assuming constantangular speed). The main weakness of this rotational odometryis drift during forward/backward motion. As explained in thenext section, we therefore rely on sensors for the bearingestimation.

B. Fast Visual Estimation of Bearing Angles

We defined two scenarios, depending on whether the depthcamera perceives or not obstacles within a 5m range. Eachalgorithm was able to run at about 10Hz on our platform.

1) Visual Rotation Angle Estimation [9]: We implementedthis algorithm using the OpenCV libraries (http://opencv.willowgarage.com/). In a nutshell, we search, on each RGBimage at time t, a collection of “good features to track”, i.e.interest points whose local pixel orientation field attains localminimum eigenvalue [18]. We track those points on the RGBimage at time t + 1 using the Lucas-Kanade algorithm [14](namely, its fast, pyramidal implemention [2]). The rotation isthen estimated from the horizontal pixel displacement, using amajority voting scheme. Note that this algorithm is used onlywhen there are no obstacles within 5m (i.e. the robot is inan open space); moreover, the RGB-D sensor is at the robot’saxis of rotation. Hence, we do not have to worry about anyparallax issues [9].

2) Maximum Likelihood SLAM: We use the tinySLAMalgorithm [19], which is based on the Incremental MaximumLikelihood principle and which solely estimates the mostprobable robot position on a 2D map. In lieu of “laser” rangeand bearing measurements, we simply extract the horizon linefrom the depth images from the Kinect sensor, and convertit to a (range, bearing) representation, spanning about 60degrees with 0.25deg steps. The most likely position at eachstep comes from the odometry-based prediction, followed bya Monte-Carlo update based on the sensor measurements.Unlike particle filtering SLAM, tinySLAM does not maintaina full map for each particle, but a single bitmap for theobstacle uncertainty - this allows it to achieve low-latency at

the expense of accuracy. Fig. 3 illustrates the strong drift ofthe tinySLAM algorithm on a 100m-long trajectory.

C. RGB-D Odometry

Conventional 3D modeling of indoor environment by mobilerobots has involved the use of laser scanner and cameras [8].The laser scanner is used to build a 3D point cloud mapand the textures from the camera images are stitched to thesepoint clouds to form the complete model. A recently publishedmethod [12] succeeded in building precise 3D maps directlyfrom the Kinect RGB-D images [12], taking advantage of thedense depth information, without relying on other sensors. Webased most of our software implementation of this algorithmon the Kinect RGBDemo (http://nicolas.burrus.name/). Wedescribe in Section III-C1 the preliminary step, consisting incalibrating the two RGB and depth sensors to actually obtain asingle RGB-D “image”. Note that the depth camera calibrationstep is also a pre-requisite for the SLAM methods describedin Sections III-B and III-D. Then we explain in Section III-C2the image processing operation and geometrical transform toestimate the motion between two consecutive RGB-D frames.

1) RGB-D Camera Calibration: The two sensors of RGB-D cameras are typically separated by a few cm and might havedifferent lenses. In order to understand the geometry of eachlens under a pin-hole camera model, one needs to estimateits intrinsic parameters, namely the focal lengths (along the Xand Y axis) and the focal center of the image. Moreover, thelens might suffer from fish-eye-like or cushion-like distortion,normally approximated by a radial distortion model. Finally,the camera can be at an angle and distance from an object,described by a 4 × 4 extrinsic matrix with 6 DoF (degreesof freedom), namely 3 translation dimensions and 3 angles.Another problem is to find the extrinsic matrix (rotation andtranslation) between two cameras, here the RGB camera andthe IR camera of the RGB-D sensor. Finally, one may needto estimate the depth mapping (in meters) of the IR sensor-acquired data.

The OpenNI R© (http://www.openni.org/) software libraryprovides interface to access the camera calibration informationhard-coded in the Kinect R© or other PrimeSense R© sensors, butthese may be imprecise for a good 3D modeling. We decidedinstead to collect raw RGB-D data using the OpenKinectsoftware library (http://www.openkinect.org/) after manual cal-ibration.

The standard technique for individual camera calibra-tion [20] consists in acquiring images of a single, known,highly-contrasted planar pattern (such as a chessboard), underdifferent angles, and in solving for the intrinsic, extrinsic anddistortion parameters through automatic tracking of the cornersand maximum likelihood techniques, in order to estimate thetransformations from the known pattern to its 2D projectionon the camera plane. We used an A3-sized 11× 9 chessboardpattern and paid attention to acquire about 60 frames as closeas 1m and as far as 5m.

2) Frame-to-frame 3D Transform Estimation: Once theRGB-D images are properly undistorted and calibrated, acorrespondence can be computed between depth voxels andRGB colors and vice-versa. Then, in order to estimate thechange in the camera’s position between two consecutive

Page 4: Depth Camera SLAM on a Low-cost WiFi Mapping Robotmirowski/pub/PiotrMirowski_TePRA_2012_Final.pdf · Depth Camera SLAM on a Low-cost WiFi Mapping Robot ... robotic test-bed that can

frames, the standard method [12] consists in going from pairsof 2D pixels (corresponding to identical features of the RGBimages), one at frame t and the other at frame t+ 1, to pairsof matching 3D points, thanks to the relationship between theRGB and the depth images.

We are using a simplified implementation of [12], whichworks as follows. First, it looks for Scale Invariant FeatureTransform (SIFT) keypoints [13], each described by a vectorof orientation and texture features, and in matching similarSIFT points on frames t and t+ 1 by nearest neighbor searchon the feature vectors, in order to define pairs of points beforeand after the movement. Once one has two matching cloudsof 3D points, a rigid-body transformation in 3D (6 DOF,i.e. translation and rotation) can be computed for consecutivecloud points using Singular Value Decomposition (SVD) [6].Additional correction to this 3D transform can be obtainedusing the Iterative Closest Point (ICP) algorithm [3], whichminimizes the discrepancy, in 3D, between two clouds ofpoints using maximum likelihood with a mean square errorcriterion. Once the 3D transformation is estimated at each timepoint t, t+1, . . ., the full camera (robot) path is recovered, anda 3D model can be potentially built.

Full RGB-D odometry suffers however from major limi-tations, due to the fact that it does not handle uncertainty inposition estimates (for instance due to accumulated errors) andthat it does not exploit knowledge about the motion, unlikeSLAM methods (Section III-D). Moreover, as we mentionin SectionIV-A, it sometimes simply fails to produce a poseestimate when the robot is too close to a wall or when theenvironment is too dark.

D. Particle Filtering Simultaneous Localization and MappingOur alternative method for obtaining robot position esti-

mates and building maps relies on a state-space model wherethe 2D robot position and the occupancy grid (i.e., the map ofthe building) is an unknown state variable that is inferred fromwheel odometry information, a motion model and the horizondepth “scan” observations from the Kinect depth sensor. Thestate-space modeling algorithm of our choice is the state-of-the-art Distributed Particle filtering (DP-SLAM) [5], with animplementation available at http://openslam.org/dpslam.html.

We noticed that DP-SLAM would generally produce good2D maps and trajectories in office spaces but would sometimesfail because of the narrow field of view of the Kinect depthsensor (60deg), especially when the robot would enter an open-space area with no obstacles in sight within the short (5.5m)depth camera range. Moreover, DP-SLAM was not immuneto drift, as illustrated on Fig. 3 on a 100m-long trajectory.

E. Bundle Adjustment with Visual Landmarks and GraphOptimization

The ultimate goal of our indoor mapping robot is to localizeitself accurately using a building-specific coordinate system.We therefore propose to do the bundle adjustment of the robottrajectory using a set of absolute-position landmarks, ratherthan relative-position loop closures based on matching images.

To facilitate the input and recognition of the visual land-marks by the robot, we resort to self-describing QR codes.More specifically, we use 2D code images that encode theirown geographical positions in the building. Whenever we

Fig. 2. RGB image acquired by the robot, showing a self-describing QRcode that says: ”i001 x4.6 y0.6 t-90” (meaning that it is located at coordinates(4.6m, 0.6m), with bearing θ = −90deg in the trigonometric plane). Robotposition was estimated here at (4.19m, 1.36m) and θ = −0.9rad.

decide to print and post a QR code landmark at a specificlocation (x, y) and orientation θ, we actually generate a codecorresponding to a text string expressing the code identifierand its (x, y; θ) coordinates, as illustrated on Fig. 2. Theadvantages of QR codes are that they can be easily generatedusing various software libraries (e.g., http://fukuchi.org/works/qrencode), that they can be easily recognized by a multitudeof computer software or cell-phone apps (we used the ZXingpackage, http://code.google.com/p/zxing/), and that they arequite robust to changes in illumination or in angle of view.

In order to decide the locations of the QR code landmarks,we can either use building blueprints, or, in absence of suchblueprints, take manual measurements, for instance with ahand-held laser range. We would typically place a QR codelandmark every 20m or after a turn.

After observing a QR code landmark on an RGB-D image,the relative position of the robot w.r.t. the QR code can begeometrically estimated from the depth image, then addedto the absolute QR code position. Once all the QR codelandmarks are observed and absolute positions are definedfor a small subset of all the RGB-D frames recorded by therobot, we do a global optimization of the pose graph obtainedfrom particle filtering SLAM using a stochastic maximumlikelihood approach [11]. The absolute position landmarksserve to define additional edges between nodes (i.e., RGB-Dimages) in the pose graph3.

The result of applying the stochastic graph optimizationonto the SLAM pose graph with additional absolute positionconstraints coming from a collection of 11 QR codes (such asthe one on Fig. 2) is illustrated on Fig. 3. We can see that thebuilding map is now rectilinear and that the robot trajectorycan be superimposed onto the blueprints.

IV. EXAMPLE OF ROBOTIC-ENABLED RFFINGERPRINTING AND LOCALIZATION

The following section describes initial results of our IndoorMapping Robot (IMR) method to obtain a time-stampedtrajectory of an autonomously-moving robot (Section IV-A)while simultaneously recording time-stamped WiFi signals,

3Note that the RGB-D odometry described in [12] would typically resolveloop closures using that same algorithm [10], [11], optimizing the graph of 3Dtransformations between consecutive frames and between loop-closure frames.

Page 5: Depth Camera SLAM on a Low-cost WiFi Mapping Robotmirowski/pub/PiotrMirowski_TePRA_2012_Final.pdf · Depth Camera SLAM on a Low-cost WiFi Mapping Robot ... robotic test-bed that can

(a) (b) (c) (d)

Fig. 3. Comparison of three maps reconstructed by the robot in an office environment with the actual building blueprints (d). (a) Map obtained with translationwheel odometry and real-time tinySLAM-based bearing correction. (b) Map obtained using particle filtering DP-SLAM. (c) Map obtained after optimizingthe pose graph of (b) thanks to 11 QR code landmarks placed along the robot trajectory. (d) Blueprints superimposed with the 100m-long robot trajectoryfrom (c).

X Position (m)

Y Po

sitio

n (m

)

0 10 20 30 40 50

−5

0

5

10

15

Student Version of MATLAB

Fig. 4. Floor plan of the 56m-long corridor used in the robotic fingerprintingexperiment. Overlayed is the odometry-based reconstructed robotic trajectory,in blue dots. Large green circles denote the mean locations of 25 WiFi signalfingerprints, collected on the fly as the robot was moving. Each fingerprintspans about 20s, i.e. 4m at a 0.227m/s average robot speed.

and its application to building a WiFi fingerprint map thatcan be used for localization (Section IV-B).

A. Robotic Fingerprinting Using OdometryWe let our autonomous robot navigate along a 56m-long

corridor, by starting at one end of it and going all the wayto the opposite end (i.e. from left to right on Fig. 4), relyingon its obstacle avoidance algorithm. We placed obstacles toprevent the robot from entering other corridors.

The whole trajectory lasted 6min, including a small loopin the central part of the corridor, as visible on Fig. 4. Wecollected time-stamped wheel odometry and RGB-D images.In addition to the odometry data, we simultaneously collectedtime-stamped WiFi Received Signal Strength Indicator (RSSI)measurements; their analysis is described in Section IV-B.

1) RGB-D Visual Odometry and Map Building: We investi-gated the applicability of visual RGB-D odometry described inSection III-C. Using a software implementation consisting ofa modified version of RGBDemo v0.7 (http://nicolas.burrus.name/, consisting in RGB-D camera calibration, image un-distortion, tracking of SIFT features on the RGB images to do

frame-to-frame 3D point cloud matching and rigid body trans-formation estimation as well as surfel-based 3D modeling), wesucceeded in obtaining 3D models for different stretches of thetrajectory, along with the camera (robot) position estimates in3D. Unfortunately, even if the reconstruction of the corridorwas of good quality for short stretches, it typically failed afterthe robot had moved by about 6m.

One of the current limitations of this technique is that itfails when the RGB-D sensor is too close to a wall, as thereare too few image features to be tracked and the frame-to-frame change of position cannot be estimated. At the sametime, the robot typically turns left or right in those situations,and its change of direction is lost. For this reason, we couldnot directly use the RGB-D visual odometry as is for the entiretrajectory.

2) Corrected Wheel Odometry Localization: We decided inthis simple case to rely on the wheel odometry to reconstructthe trajectory. The robot suffered from a right-ward drift,which had to be compensated for by turning left. Hence, thedead reckoning estimates the trajectory as much more left-ward than it is. We manually hand-tuned the control odometrydrift by adding a circular rotation term to the trajectory4.Fig. 4 shows the reconstructed odometry-based trajectorysuperimposed on the building blueprints.

B. Fingerprinting and Next-day Tracking Results

As previously mentioned, we recorded time-stamped WiFisignal using NetStumbler software as the robot was moving(illustrated on Fig. 5 for 5 selected access points). We selected25 locations, spaced every 2m, for the fingerprinting of theSignal-to-Noise Ratio (SNR) of the WiFi Received StrenghtSignal Indicator (RSSI). 21 unique MAC addresses wereobserved. By matching the timestamps of the WiFi RSSI and

4We hypothesize that different floor textures (e.g. carpet, hard-wood floor,linoleum), along with an imbalance of the robot’s payload, might causedifferent drifts.

Page 6: Depth Camera SLAM on a Low-cost WiFi Mapping Robotmirowski/pub/PiotrMirowski_TePRA_2012_Final.pdf · Depth Camera SLAM on a Low-cost WiFi Mapping Robot ... robotic test-bed that can

●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●

●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●

●●●●●●

●●●

●●●●●

●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●

●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●

●●●●●●●●●●●●●●

●●●●●●●●

0 100 200 300

020

4060

80

Time (second)

SNR

IMR1 IMR2 IMR3 IMR4 IMR5

Fig. 5. Plot of the Signal-to-Noise Ratio (SNR) of the received signalstrength indicator for 5 different access points (IMR1 through IMR5), duringthe robotic fingerprinting experiment. The plot spans over 360s, during whichthe robot moved along a mostly linear trajectory along the corridor (54mbetween the start and end points), with a small loop in the middle.

of the odometry-based estimated trajectory, we could establisha correspondence between position and RSSI and build theWiFi signal map.

We employed a signal distribution-based localization al-gorithm [15], that takes into account the full signal densityfunction for computing similarities among fingerprints usingKullback- Leibler divergence (thus potentially generalizing tonon-Gaussian RSSI distributions) and performs localizationthrough weighted kernel regression.

The distribution of the signal, for each access point, wasestimated at each fingerprint by measuring the RSSI for 20seconds, despite the fact that the recording device (robot)was slowly moving at about 0.23m/s and would cover about4m of the trajectory during each fingerprint interval. Weapproximated the distributions using SNR histograms with2dB-wide bins, going from 0dB to 80dB. We assumed that thedistribution of RSSI varied slowly in space (although it oscil-lates in small ranges), as is visible on Fig. 5. Algorithm [15]provides a way of smoothing over time and trajectories andcan thus cope with RF fingerprinting “on the fly”.

We collected tracking data on the next day, by slowlywalking with a laptop measuring timestamped WiFi RSSIwith NetStumbler, and manually time-stamping the groundtruth locations on a map. The distribution of the SNR wasestimated by collecting data in a 20s-long window, similarlyto the estimation of the distributions for the fingerprints. Thelocation preditions had a median accuracy of 5.2m in this 54m-long corridor.

V. CONCLUSION

We demonstrated a practical robotic application to Radio-Frequency (RF) mapping with minimal human intervention.Our approach provides a highly promising solution for imple-menting location-based services that require repeated signalfingerprinting. Our RF-mapping robot can also serve as agood experimental platform for obtaining results for a mixtureof signals, testing localization algorithms and also evaluatingthe suitability of the signals per se. Our robotic platform iscapable of supporting up to 100 kg of payload and could carryadditional signal receivers for CDMA, GSM and 4G networkssuch as LTE (Long-Term Evolution). Since the robot hardwarewas built from commercial off the shelf hardware, we believethis design can be replicated for multiple robotic platforms thatcan be used to quickly cover large buildings in a coordinatedmanner.

ACKNOWLEDGMENT

The authors wish to thank Harald Steck, Philip Whiting,Michael MacDonald, Detlef Hartmann, HeinzDieter Hettstedtand Hans-Peter Enderle for their very useful feedback on thedata acquisition and robotic setup and Ben Lowe for his cruciallogistic help.

REFERENCES

[1] P. Bahl and V.N. Padmanabhan, “An In-Building RF-based User Locationand Tracking System”, IEEE Infocom, vol.2, pp.775–784, 2000.

[2] J.-Y. Bouguet, “Pyramidal Implementation of the Lucas Kanade FeatureTracker - Description of the Algorithm”, Intel Corporation, Microproces-sor Research Labs, 2001.

[3] Y. Chen and G. Medioni, “Object Modeling by Registration of MultipleRange Images”, International Conference on Robotics and Automation(ICRA), April 1991.

[4] A. Chen, C. Harko, D. Lambert and P. Whiting, “An algorithm for fast,model-free tracking indoors”, ACM SIGMOBILE Mobile Computing andCommunications Review, vol.11, n.3, 2007.

[5] A.I. Eliazar and R. Parr, “DP-SLAM: Fast, Robust Simultaneous Local-ization and Mapping Without Predetermined Landmarks”, IJCAI, 2003.

[6] D.W. Eggert, A. Lorusso and R.B. Fisher, “Estimating 3-D rigid bodytransformations: a comparison of four major algorithms”, Machine Visionand Applications, vol.9, pp.272–290, 1997.

[7] R.M. Geiss, Visual Target Tracking, US Patent Application 20110058709,2011.

[8] T. Gramegna, G. Cicirelli, G. Attolico and A. Distante, “Automaticconstruction of 2D and 3D models during robot inspection”, IndustrialRobot: An International Journal, vol.33, n.5, pp.387–393, 2006.

[9] M.K. Grimes and Y. LeCun, “Efficient off-road localization using vi-sually corrected odometry”, International Conference on Robotics andAutomation (ICRA), 2009.

[10] G. Grisetti, S. Grzonka, C. Stachniss, P. Pfaff and W. Burgard, “EfficientEstimation of Accurate Maximum Likelihood Maps in 3D”, IntelligentRobots and Systems, 2007 IEEE/RSJ International Conference on, 29Oct.-2 Nov. 2007.

[11] G. Grisetti, R. Kummerle, C. Stachniss, U. Frese and C. Hertzberg,“Hierarchical optimization on manifolds for online 2D and 3D mapping”,International Conference on Robotics and Automation (ICRA), 2010.

[12] P. Henry, M. Krainin, E. Herbst, X. Ren and D. Fox, “RGB-D Mapping:Using Depth Cameras for Dense 3D Modeling of Indoor Environments”,Experimental Robotics, 2010 12th International Symposium on, 18-21Dec. 2010.

[13] D.G. Lowe, “Distinctive Image Features from Scale-Invariant Key-points”, International Journal of Computer Vision, 2004.

[14] B.D. Lucas and T. Kanade, “An Iterative Image Registration Techniquewith an Application to Stereo Vision”, Proceedings of Imaging Under-standing Workshop, pp.121-130, 1981.

[15] P. Mirowski, H. Steck, P. Whiting, R. Palaniappan, W.M. MacDonaldand T.K. Ho, “KL-Divergence Kernel Regression for Non-GaussianFingerprint Based Localization”, International Conference on IndoorPositioning and Indoor Navigation (IPIN), 2011.

[16] R. Palaniappan, P. Mirowski, H. Steck, T.K. Ho, P. Whiting andW.M. MacDonald, “Autonomous RF Surveying Robot for Indoor Local-ization and Tracking”, International Conference on Indoor Positioningand Indoor Navigation (IPIN), 2011.

[17] T. Roos, P. Myllymaki, H. Tirri, P. Misikangas and J. Sievanen, “AProbabilistic Approach to WLAN User Location Estimation”, Interna-tional Journal of Wireless Information Networks, vol.7, n.3, pp.155–163.2002.

[18] J. Shi and C. Tomasi, “Good Features to Track”, IEEE InternationalConference on Computer Vision and Pattern Recognition (CVPR), pp.593-600, 1994.

[19] B. Steux and O. El Hamzaoui, “tinySLAM: A SLAM algorithm in lessthan 200 lines C-language program”, ICCARV, 2010.

[20] Z. Zhang, “A Flexible New Technique for Camera Calibration”, IEEETransactions on Pattern Analysis and Machine Intelligence, 2000.