Zebedee: Design of A Spring-Mounted 3-D Range Sensor With Application To Mobile Mapping

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/257934625

Zebedee: Design of a Spring-Mounted 3-D Range Sensor with Application to


Mobile Mapping

Article  in  IEEE Transactions on Robotics · October 2012


DOI: 10.1109/TRO.2012.2200990

CITATIONS READS
209 2,780

3 authors, including:

Michael Bosse Robert Zlot


ETH Zurich Uber
69 PUBLICATIONS   3,619 CITATIONS    38 PUBLICATIONS   2,649 CITATIONS   

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Robert Zlot on 29 May 2014.

The user has requested enhancement of the downloaded file.


IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 5, OCT 2012 1

Zebedee: Design of a Spring-Mounted 3-D Range


Sensor with Application to Mobile Mapping
Michael Bosse, Robert Zlot, and Paul Flick.

Abstract—Three-dimensional perception is a key technology


for many robotics applications including obstacle detection,
mapping, and localization. There exist a number of sensors and
techniques for acquiring 3D data, many of which have particular
utility for various robotic tasks. We introduce a new design for a
3D sensor system, constructed from a 2D range scanner coupled
with a passive linkage mechanism, such as a spring. By mounting
the other end of the passive linkage mechanism to a moving
body, disturbances resulting from accelerations and vibrations
of the body propel the 2D scanner in an irregular fashion,
thereby extending the device’s field of view outside of its standard
scanning plane. The proposed 3D sensor system is advantageous
due to its mechanical simplicity, mobility, low weight, and (a) CAD model (b) Vehicle mounted
relatively low cost. We analyze a particular implementation Fig. 1: Vehicle mounted Zebedee design. (a) A CAD model of a dual-spring
of the proposed device, which we call Zebedee, consisting of version of the 3D range-sensing system. The sensor head includes a 2D laser
a 2D time-of-flight laser range scanner rigidly coupled to an and IMU, which is connected via a pair of springs to a moving platform. (b)
inertial measurement unit and mounted on a spring. The unique Zebedee mounted on the front of an automated John Deere Gator TE electric
configuration of the sensor system motivates unconventional and vehicle.
specialized algorithms to be developed for data processing. As
an example application, we describe a novel 3D simultaneous
localization and mapping solution in which Zebedee is mounted primary relevance for robotics are typically accuracy, range,
on a moving platform. Using a motion capture system, we have
verified the positional accuracy of the sensor trajectory. The
resolution, field of view, operating conditions, cost, weight,
results demonstrate that the six degree of freedom trajectory of a power consumption, and complexity. Aiming to achieve a good
passive spring-mounted range sensor can be accurately estimated balance of these properties, we propose a new design concept
from laser range data and industrial-grade inertial measurements for a 3D sensor system in which a 2D range scanner is coupled
in real-time, and that a quality 3D point cloud map can be to a passive linkage mechanism, such as a spring (Figures 1
generated concurrently using the same data.
and 2). By mounting the device on a moving platform, such
Index Terms—Range Sensing, SLAM, Mapping. as an autonomous vehicle, accelerations and vibrations of that
platform are transferred by the reactive linkage mechanism to
I. I NTRODUCTION motion of the 2D scanner with respect to the platform. The
induced motion has the effect of rotating the 2D scanner’s scan
Three-dimensional perception is essential to many mobile plane, thereby increasing the field of view of the device with
robotic systems, as robots are increasingly required to operate respect to the environment to achieve 3D coverage.
in unstructured environments and interact safely and effec- Allowing a range sensor to move about relatively freely and
tively with humans, other vehicles, and their environment. 3D non-deterministically is counter to the traditional practice in
data acquisition is also of vital importance for traditionally robotics and mobile mapping. Typically, sensors are mounted
non-robotic (but in some cases automatable) tasks such as rigidly to the moving platform, and motion is assumed to
surveying, object scanning, mobile mapping, and gaming. follow the trajectory of the platform (offset by a known and
There are a number of ways to acquire 3D data, such as static rigid transformation). In some cases, suspensions or
scanning lidar or radar, flash lidar, stereo vision, imaging gimbals are used to stabilize the sensor mount and remove the
sonar, and structured light triangulation. The variety of so- effects of high frequency accelerations due to rough terrain,
lutions that are in common use is clear evidence that no engine vibration, or other unwanted disturbances [1, 2]. In
single solution is suitable for all applications. The existing contrast, our design amplifies the effects of such accelerations
technologies differ in many ways, but the characteristics of and exploits the resulting motion to increase the sensor field
The authors are with the Autonomous Systems Laboratory, CSIRO of view along an additional scanning dimension.
ICT Centre, Brisbane, Australia (e-mail: Mike.Bosse@csiro.au, Though our proposed design generally encompasses any
Robert.Zlot@csiro.au, Paul.Flick@csiro.au). type of range sensor, in practice we focus on 2D time-of-
Published version available on http://ieeexplore.ieee.org
Digital Object Identifier 10.1109/TRO.2012.2200990 flight lidars. Two dimensional laser scanners are ubiquitous
c 2012 IEEE. Personal use of this material is permitted. Permission from in the field of robotics: models that provide reasonable range,
IEEE must be obtained for all other uses, in any current or future media, resolution, and accuracy in a small, lightweight package and
including reprinting/republishing this material for advertising or promotional
purposes, creating new collective works, for resale or redistribution to servers operate in a wide range of environmental conditions are
or lists, or reuse of any copyrighted component of this work in other works. commercially available at modest costs. Thus, given that the
2 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 5, OCT 2012

(a) Handheld designs (b) With cart (c) With backpack (d) 2nd generation model (e) Hands-free backpack mount
Fig. 2: The Zebedee handheld 3D range-sensing system. (a) CAD models of two generations of the handheld sensor hardware. (b) The first-generation handheld
device is connected to a pushcart for power and data logging. The cart also contains a spinning SICK laser used for comparison. (c) The electronics and a
lithium-ion battery can be carried in a backpack with a netbook or small computer to collect and/or process data. (d) Second-generation handheld Zebedee
model. A sheath is covering the spring for aesthetic purposes. (e) Hands-free configuration of Zebedee in which the sensor is mounted on the backpack.

passive linkage mechanism can be as simple as a spring, the the Microsoft Kinect has an effective range of a few meters,
hardware cost of the proposed device is essentially the price precision of around 12 cm at 4 m range (the range resolution
of a 2D laser scanner (plus, for some applications, an inertial behaves approximately as r2 · 0.0075 m−1 ), and fails in bright
measurement unit). sunlight. Stereo cameras have similar precision characteristics
There are two common methods of 3D range sensing in and their performance is dependent on lighting conditions and
mobile robotics that are closely related to our approach. Firstly, textural appearance of the environment.
lasers can be actuated in a variety of ways, typically by peri- The contributions of this work are in the sensor system
odic nodding [3] or continuous rotation [4, 5]. The resulting design, analysis of its behavior in a variety of configurations,
configurations can potentially have large fields of view, but and demonstration of its use for indoor and outdoor mapping.
are relatively mechanically complex. More recently, a more Novel enhancements enable an open-loop Simultaneous Local-
complex design which controls the rotation rate to increase ization and Mapping (SLAM) algorithm intended for actuated
the point density in an intended gaze direction has been lasers to be adapted for the irregular motions of the proposed
proposed [6]. Secondly, a mechanically simpler solution is to sensor design. A further contribution is in the application of the
rigidly attach one or more 2D lasers to a platform and rely on same SLAM algorithm to globally register a 3D point cloud
motion of the platform to produce 3D data, as is done in most and estimate a closed-loop trajectory.
commercial mobile mapping solutions [7]. Mobile mapping The remainder of this article is organized as follows. In
systems with fixed lasers require very precise knowledge of Section II, we describe a particular implementation of the
the vehicle trajectory, which is typically derived from high- proposed sensor system consisting of a 2D laser scanner
grade GPS/INS solutions. When such high-grade solutions and an IMU mounted on one or more springs (Figures 1
are not available—either due to their high cost or required and 2), and analyze a number of different configurations of
operation in GPS-deprived environments—a wide field of view that general design. An example application of the sensor
sensing system would be required to allow for correction system is presented in Section III. Here, a handheld version
online [5]. The proposed spring system sits between the above the sensor is utilized for SLAM in a number of different en-
two configurations: it provides a mechanically simple solution vironments. Experiments demonstrating the SLAM algorithm
with a large field of view, but requires platform motion in for the handheld system are presented in Section IV for a
order to be maximally functional. number of environments and settings, including evaluation in
a motion capture environment. A summary and discussion of
The mechanical simplicity, size, and weight of this sensor the results, limitations, lessons learned, and future directions
design make it suitable for developing practical solutions to conclude the article in Section V.
a range of challenging applications, such as mapping from a
micro-UAV, or infrastructure inspection in confined spaces. A
lightweight handheld or human-wearable version of a spring- II. Z EBEDEE : D ESIGN AND A NALYSIS
mounted laser would be ideal for use as a localization or map- The Zebedee 3D sensor system consists of a 2D laser
ping tool by first responders in emergency situations. While scanner and an inertial measurement unit (IMU) mounted on
several handheld 3D scanners are commercially available (e.g., one or more springs (Figures 1 and 2). The laser in our
Z Corporation’s ZScanner, Leica’s T-Scan, and Mantis Vision’s current model is a Hokuyo UTM-30LX, which is a 2D time-
MVC-F5), they are primarily intended for object scanning of-flight laser with a 270 ◦ field of view, 30 m maximum range,
applications, often require modification to the environment, and 40 Hz scanning rate. The dimensions of the UTM-30LX
and have limited working volume not appropriate for large- are 60×60×85 mm, and its mass is 210 g, which makes it
scale mobile applications. Available structured lighting solu- ideal for low weight requirements. The IMU we use is a
tions are limited in their sensing range, precision, and the MicroStrain 3DM-GX2, an industrial-grade IMU that contains
lighting conditions in which they can operate. For example, triaxial MEMS gyros and accelerometers with an output rate
BOSSE et al.: ZEBEDEE: DESIGN OF A SPRING-MOUNTED 3-D RANGE SENSOR WITH APPLICATION TO MOBILE MAPPING 3

15
of 100 Hz. Due to the expected magnitude of the spring x rot
y rot
10
oscillations, the IMU is required to have a maximum rotational z rot

gain
x
5
rate of at least 600 ◦ /s, which is an available but non-standard
0
option for the 3DM-GX2. The IMU enclosure has dimensions 0 1 2 3 4 5 6 7 8 9 10

of 41×63×32 mm, and its total mass1 is 50 g. Springs with 10

lengths between 50 and 150 mm and masses between 5 and

gain
5

y
20 g are typically utilized to realize mechanical requirements.
Some fine tuning is possible by adjusting the length of the 0
0 1 2 3 4 5 6 7 8 9 10

spring and/or adding mass to the the sensor head. The laser 30

and IMU are mounted within a 150 g 3D-printed housing 20

gain
(Figure 2a left), giving the system a total mass of well under

z
10

half a kilogram. 0
0 1 2 3 4 5 6 7 8 9 10
We define the sensor head to be the portion of the device freq [Hz]

on the range sensor side of the passive linkage mechanism, (a) Handheld single spring
and the sensor base to be the rigid body containing the mount
60
point on the platform side of the linkage. For instance, in the x rot
y rot
40
case of Zebedee, the sensor head contains the laser and IMU, z rot

gain
x
and the sensor base may be a vehicle or handle on which the 20

spring is mounted. 0
0 1 2 3 4 5 6 7 8 9 10

600

400
A. Spring Characterization

gain
y
200
When considering the suitability of a particular spring, it is
0
important to understand the behavior of the resulting device 0 1 2 3 4 5 6 7 8 9 10

400
under a range of operating conditions. In order to empirically
300
characterize the performance of a particular choice of spring,
gain

200
z

we measure the system response of the sensor head due to 100

motions of the sensor base. In particular, we analyze the 0


0 1 2 3 4 5 6 7 8 9 10
freq [Hz]
transfer of motions through the system using the rotational
(b) Vehicle dual spring
velocity of the base as input and the rotational velocity of
Fig. 3: Frequency responses of the springs used in two different configurations
the head as output. For these experiments, a second IMU is of Zebedee. The inputs are expressed in the sensor base frame, and the
mounted to the sensor base in order to measure its motion responses in the sensor head frame. The sensor head origin is located at
while the system is excited over a range of frequencies. We the laser origin with x forward and z up. When the spring is in its neutral
position, the orientations of the base and head frames are roughly aligned.
consider two spring configurations for Zebedee: a short single- The reported values are gains on rotational velocity vector components (not
spring design for handheld applications; and a dual-spring roll, pitch, yaw rates).
design for a vehicle mount. The dual-spring design restricts
the rotations so that the sensor head does not flip over with vehicle-mounted Zebedee with dual springs has three different
strong accelerations. The handheld sensor (Figure 2) is excited resonant frequencies at 1.6 Hz for the pitch rates, 2.25 Hz for
manually, while the dual-spring sensor is mounted on a Gator yaw rates and 5.4 Hz for roll rates. The 5.4 Hz roll resonance
TE electric vehicle (Figure 1b) and driven off-road to provide is a residual vibration (note the relative magnitude of the gain)
inputs for system identification. which does not contribute significantly to the sensor sweeping
Manual excitation of the handheld unit provides roughly motion. The gains are about an order of magnitude greater than
10 Hz of input bandwidth. To achieve higher input bandwidths the handheld system, which is a result of the longer springs and
for analysis, we could use a vibration table or mechanical is necessary to amplify the smaller input rotations present on
robot arm commanded on a pseudo-random trajectory, though a vehicle. The observed resonant frequency values are similar
typical handheld motions rarely exceed frequencies of 5 Hz. to actuation frequencies commonly used for nodding and
From the observed data, a 16th -order state space system spinning laser systems. Typical amplitudes of the oscillations
is identified using an Observer Kalman Filter Identification result in a spread of approximately 100 ◦ for the handheld
technique [8]. The frequency response of the identified 3 × 3 sensor and 70 ◦ for the vehicle mounted sensor, which provides
MIMO system characterizes the resonant frequencies, amplifi- a more than adequate field of view for many 3D perception
cation gains, and cross-coupling of the input to output rotation applications.
rates (Figure 3). In general, the springs tend to amplify the
Simple heuristic adjustments can be use to fine-tune the
lower frequencies while suppressing higher frequencies. For
behavior of a particular configuration. For example, lengthen-
the handheld Zebedee with a single spring, we have identified
ing the spring—or more precisely, increasing the distance of
the dominant resonant frequency for pitch and roll rates at
the sensor head center of gravity with respect to the sensor
1.4 Hz, and a secondary peak at 6.9 Hz for yaw rates. The
base—decreases the resonant frequencies. Adding mass to the
1 On newer generations of Zebedee hardware, we use a MicroStrain 3DM- sensor head or decreasing the spring constant (e.g., increasing
GX3-25-OEM, which has a mass of 11.5 g. the pitch or decreasing the wire diameter) increases the gain.
4 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 5, OCT 2012

(a) -5 ms latency error (b) -2 ms latency error (c) 0 ms latency error (d) 2 ms latency error (e) 5 ms latency error

(f) 0 ms added noise (g) 1 ms added noise (h) 2 ms added noise (i) 5 ms added noise (j) 10 ms added noise
Fig. 4: A comparison of mapping results assuming timing errors between the laser and IMU. The map shows a section of an indoor environment viewed along
a vertical cross-section. The points are colored by rotational velocity, thus differentiating points generated from sensing passes in opposite directions of the
spring oscillations. The misalignments visible for the non-zero latency errors illustrate the sensitivity of Zebedee to millisecond-scale timing errors. First row:
latency errors in the range of -5 ms to 5 ms between the laser sensor and the IMU are added to the baseline timing estimate. This type of error commonly
occurs due to differences in sensor clock offsets, and can be dynamically corrected for (see Section III-C). Second row: Gaussian noise with standard deviation
up to 10 ms is added to the baseline timing estimate. This type of error can occur due to timing noise, clock resolution, and variable data buffering due to
CPU or communications load, and can be challenging to filter in general due to the variety of error sources.

B. Timing Based on these observations, we conclude that for most


Timing accuracy, synchronization, and calibration has been applications, some means of time synchronization and smooth-
recognized as a key factor in precision mapping and perception ing must be built into the solution. Much of the timing jitter
systems [9, 10]. The two main sensors comprising Zebedee effects can be smoothed with knowledge of both the sensor
are by default not synchronized, and due to timing jitter and internal and host system clock; however, timing latencies are
non-constant latencies, the timestamps of the data arriving not observable from the time sequences alone. We address
from the sensors cannot be naı̈vely accepted as accurate. The the issue of latency estimation in our SLAM solution in
error in the projected position of a laser point is proportional Section III-C.
to the rotational velocity, its range, and the timing latency
error. Typical use of Zebedee induces rotational rates of III. 3D SLAM WITH Z EBEDEE
around 600 ◦ /s, which implies that at a range of 10 m every A simple, lightweight, 3D range sensor such as Zebedee is
millisecond of error in latency would result in approximately ideal for many mapping and localization applications. Useful
10 cm of error in the laser point position. The sources of the accelerations, vibrations, and oscillations are naturally present
timing errors include variable data buffering and/or dropped in small rotary wing UAVs, off-road wheeled vehicles, and all-
scans due to high system loads; motor speed adjustments terrain legged robots, such as RHex [11] and LittleDog [12]. A
internal to the Hokuyo laser; resolution of the system2 and handheld or wearable sensor performing SLAM could also be
Hokuyo clock (1 ms); temperature; and, to a lesser extent, useful in first responder applications, indoor mapping [13, 14],
gyroscopic effects on the rotating mirror in the laser when and inspection of infrastructure or natural environment within
shaken vigorously. confined spaces. We have developed an online SLAM solution
As an example of the importance of timing accuracy, in which we are able to accurately estimate the six degree
Figure 4 shows two series of point clouds from a mapping of freedom (6DoF) motion of the sensor head and generate
application. The first row shows the effect of errors due to a 3D point cloud as Zebedee is transported through the
the timing offset between the laser and IMU. The center environment. While we can apply this approach to produce
point cloud uses an estimated timing correction calculated globally registered trajectories and maps, we first focus on an
by the mapping solution, and to either side the point clouds open-loop incremental solution analogous to scan-matching.
have had extra latency errors applied to this correction. With The Zebedee SLAM algorithm is adapted from an algorithm
the introduction of latency errors, the relative positions of previously developed for a continuously spinning 2D laser on
surfaces measured at different sensor head rotational velocities a moving platform [5]. Similar to the case of a spinning laser,
are misaligned, even though the local surface structure is over the typical time it takes for Zebedee to sweep over the
maintained. The second row of the figure shows the effects of scene, significant platform motion may occur and the resulting
increasing the timing jitter. Unlike the latency errors, timing 3D scan cannot be treated as a rigid snapshot from a single
jitter results in unrecoverable blurring of the local structure location. However, the irregular and nondeterministic motion
that increases with magnitude of the sensor head rotational of Zebedee—in contrast with the controlled and repetitive
velocity. nature of a spinning laser—introduces some significant new
2 Older versions of the Linux OS exhibited up to 4 ms timing quantization
challenges into this SLAM problem.
when processing USB data, but this appears to have improved greatly with At a high level, the SLAM algorithm estimates the 6DoF
recent releases. trajectory T (τ ) consisting of a sequence of translations t(τ )
BOSSE et al.: ZEBEDEE: DESIGN OF A SPRING-MOUNTED 3-D RANGE SENSOR WITH APPLICATION TO MOBILE MAPPING 5

and rotations3 r(τ ) of the 2D sensor frame relative to the plane are discarded since the unknown translational velocities
world frame as a function of time (τ ). For this view-based dominate the perceived local shape. When the normal com-
SLAM formulation, the trajectory is sufficient to describe the ponent of the rotational velocity is high, then the initially
full state and is used to project the raw laser measurements unknown translational effect on the local surface geometry
into a registered 3D point cloud when necessary. As new is minimized. However, for very fast motions, the surfels are
data are acquired, the algorithm proceeds by processing a automatically discarded due to undersampling (i.e., too few
time-windowed segment of the trajectory, then advancing the points per cluster).
window by a fraction of its length from the previous time The laser point clusters are determined by spatially decom-
step. Each segment is processed by solving a linearized system posing the scene into a multi-resolutional voxel grid (similar
to determine the smooth trajectory that best explains corre- to the strategy used in our previous work [5]). The temporally
sponding surfaces in the associated 3D point cloud, subject to proximal points contained within each cube-shaped cell define
boundary conditions that ensure continuity with the previous each cluster from which a surfel is generated. There may be
segment. multiple clusters of points within the same spatial cell if the
The processing of a segment of data is an iterative pro- point timestamps span an interval larger than a predetermined
cess following a similar framework to the well-established threshold. The voxel resolutions are selected to double at each
Iterative Closest Point (ICP) algorithm commonly used for level, thus the cluster surface properties at coarser resolutions
point cloud registration. A key difference of this approach can be computed recursively from the finer resolutions. In
from the standard ICP formulation is that instead of solving order to reduce the sensitivity of the segmentation to the cell
for a single rigid transformation, the solution estimates a boundaries, the surfels at each level are computed from two
continuous trajectory. Similar to ICP, there are two main grids offset by half of a cell width4 .
processing steps that are iterated until convergence. The first Corresponding surfels are obtained from approximate k-
step identifies corresponding surface patches from the laser nearest neighbor queries of a kd-tree in the six-dimensional
point cloud, and the second step updates the trajectory to space of surfel positions and normals. Matches are filtered by
minimize errors between matching surfaces and deviations retaining only reciprocal surfel matches (i.e., the two matched
from the measured IMU accelerations and rotational velocities. surfels are both identified as near neighbors of one another).
The optimized state also includes parameters for estimating In contrast to our previous work [5], correspondences can
time synchronization and IMU biases, which may change arise from any two surfels provided the difference between
slowly over time. their timestamps is larger than half of the nominal sweep
On the first iteration, the previously unprocessed trajectory period. These conditions help focus computational resources
segment is initialized by integrating the accelerometer and on quality matches over a larger time span, which provides
gyro measurements from the IMU. Since the processing win- more useful constraints to the trajectory. Each matched pair
dow is advanced by a fraction of its length, the first section of generates a match error to be minimized in the optimization
the trajectory segment will have already been estimated from step, which follows the correspondence step. Correspondences
the previous time step, thus the IMU data are only required are recomputed in each iteration of the optimization procedure.
to propagate the trajectory for the remainder of the window.

B. Optimization Step
A. Correspondence Step
The optimization step minimizes the surface correspondence
Surface elements, or surfels, are extracted from the 3D
error and IMU measurement deviations by adjusting the cur-
point cloud projected from the initial trajectory estimate.
rent estimate of the trajectory. As the underlying problem
Clusters of laser points that are both spatially and temporally
is continuous, we model the state x as a vector of stacked
proximal are identified and used to compute surface properties
trajectory corrections δT (τs ) ≡ [δr(τs ), δt(τs )]T sampled at
based on the centralized second-order moment matrix of the
regular intervals τs , and interpolated for the times in between.
point coordinates. Provided there are enough points in the
The 6DoF trajectory corrections are applied to the current
cluster, the surface normal is obtained from the eigenvector
trajectory estimate in the following manner:
corresponding to the minimum eigenvalue of the second-order
moment matrix. An estimate of the surface planarity, computed Tcorrected = T ⊕ δT ⊕ Tr (1)
from the ratio of the eigenvalues, is used to discard surfels that t 
δr ⊕ r
are not approximately planar since the estimate of their surface ≡ (2)
δt + t
normals would be unreliable. The timestamp associated with
the surfel is computed from the mean of the timestamps of where Tt ⊕ Tr = T such that Tt consists only of the three
all the points in the cluster. Clusters with a small (less than translational degrees of freedom, and Tr the three rotational
∼ 15 ◦ /s) rotational velocity component normal to the scan degrees of freedom, of T (the time notation has been omitted
for clarity). This non-standard formulation is preferable since
3 We use various representations of 3D rotations (quaternion, axis-angle,
the corrections are expressed in the global frame and has
rotation matrix) in our implementation as appropriate. Quaternions are used for
storage and interpolations; axis-angle is used for linearizations; and rotation one less term than the standard formulation δT ⊕ T ≡
matrices are used when projecting laser points (roll-pitch-yaw values are only
ever used for user input/output). Unless otherwise specified, r indicates an 4 The offset grids approximate a body-centered cubic tessellation with cubic
abstract rotation entity. cells instead of octahedra.
6 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 5, OCT 2012

[δr ⊕ r, δt + δr ⊕ t]T . The δr ⊕ t term is problematic for C. Timing Latency Estimation


large t once the system is linearized (see below). As noted in Section II-B, the system is sensitive to
There are three types of terms considered in the minimiza- millisecond-scale timing latencies between the IMU and the
tion: surfel match errors, IMU measurement deviations, and laser. Therefore, we augment the optimization state x with
initial condition constraints. an extra dimension to estimate a latency correction over the
Surfel match errors guide the trajectory to minimize the processing window. The Jacobians of the match errors then
distances between surfel correspondences along a common have an additional term for the latency that is dependent on
surface normal. For a correspondence between surfels i and j, the velocity induced at the surfel centroids (i.e., the velocity
the match error, expressed in the global frame, is: of the sensor transferred along the lever arm of the scan ray).
eij = ξij nTij (µi (δT (τi )) − µj (δT (τj ))) (3) Because the rate of change of the latencies is very slow relative
to the trajectory segment window length, it is not necessary
where the common surface normal nij is the eigenvector to model higher order terms such as skew and drift.
corresponding to the minimum eigenvalue λ1 of the sum of the
matched surfels’ moment matrices, and µi is the centroid of
surfel i (which depends on D. IMU Bias Estimation
p the trajectory correction at time τi ).
The coefficient ξij = 1/ σr2 + λ1 is dependent on the sensor Another significant source of error when working with
measurement noise σr and the surfel thickness, captured by MEMS IMUs is the bias on the raw acceleration and ro-
the eigenvalue λ1 . tational rate measurements. The 6DoF bias vector is non-
Minimizing the IMU measurement deviations ensures that stationary and can change significantly over intervals of a
the estimated trajectory is smooth and matches the observed few minutes; therefore, pre-calibration is not a feasible option.
rotational velocities, translational accelerations, and gravity Rotational rate bias can be estimated when it is known that
direction. the sensor is stationary; however, in our application the sensor
d2 t(τ ) head is typically oscillating continuously after initialization.
 
ea (τ ) = Σ−1/2
a r(τ ) ⊕ a(τ ) − − g (4) Accelerometer bias is typically only observed in the direction
dτ 2
  of gravity, which requires multiple orientations in order to
dr(τ )
eω (τ ) = Σ−1/2ω ω(τ ) − (5) measure all the components of the bias. Nonetheless, small

updates to the bias can be maintained by including correction
where a is the measured acceleration vector, ω is the measured states in the SLAM optimization and modeling their effect on
rotational velocity vector, ea (τ ) is expressed in the global the IMU measurements.
frame, eω (τ ) is expressed in the IMU frame, Σa and Σω are
the IMU measurement covariances, and g is the acceleration
due to gravity. E. Fixed Views
The initial condition constraints enforce continuity with the To reduce the accumulation of drift errors over processing
previous trajectory segment by penalizing any changes to the windows, the algorithm maintains a set of surfels from a small
first three trajectory correction samples in the current segment. number of recent past views, called fixed views, from which
The above error terms are nonlinear with respect to the rota- match errors are also minimized. For these match errors, the
tional corrections. Therefore, we linearize the errors about the corresponding rows in the system matrix will only have terms
current best estimate by taking a first-order Taylor expansion, for the corrections at times within the processing window
and solve a linear system Ax = b, where x is the stacked (i.e., the trajectory corresponding to the fixed views is not
vector of trajectory corrections. Each error term forms a row further corrected). A fixed view is taken to be the surfels from
of the system matrix A according to its Jacobian with respect the first section of an optimized processing window (which
to x. For purposes of computing the Jacobian, we assume has already been finalized), saved at predetermined distance
that the trajectory corrections are linearly interpolated in time and angle intervals along the trajectory (i.e., as the trajectory
between the trajectory samples. The vector b is a vector of grows, fixed views are generated whenever the growth is larger
errors evaluated at the linearization point. than either of a predefined distance or angle threshold). A
To mitigate the effect of correspondence errors (including small constant number of fixed views is buffered in order to
inconsistent matches from dynamic objects), the linear system avoid unbounded growth in computation from generating and
is solved by iterative reweighted least squares where the processing the additional surfel match error terms.
weights wi are computed within an M-estimator framework
according to a Lorentzian function on the residual
F. Global Registration
1
wi = (6) The Zebedee SLAM algorithm can also be applied to
1 + ((Aij x − bij )/r̄)2 globally register a point cloud given an initial guess for the
where Aij and bij are the elements from the row correspond- trajectory (such as the open-loop solution described above), to
ing to match error eij , and r̄ is a soft outlier threshold. We have produce a closed-loop trajectory. Rather than processing the
observed that starting with a large outlier threshold which is trajectory in small increments, the global registration algorithm
decreased at each iteration leads to more reliable convergence operates on the entire trajectory in one large window. The
of the optimization. algorithm similarly generates surfels from the point cloud
BOSSE et al.: ZEBEDEE: DESIGN OF A SPRING-MOUNTED 3-D RANGE SENSOR WITH APPLICATION TO MOBILE MAPPING 7

(a) Office environment (b) Courtyard environment (c) Tall grass environment

(d) Office trajectory (e) Courtyard trajectory (f) Tall grass trajectory
Fig. 5: Photos and open-loop results from three of the test environments. The trajectories are intended to follow a box shape, which were traced out by hand
while shaking Zebedee.

data, identifies correspondences, then solves a nonlinear sys- able to estimate the trajectory of the spinning laser accurately
tem minimizing match errors, deviations from the open-loop using an algorithm similar to the original approach upon
velocities, and deviations from gravity. During the global which the Zebedee SLAM algorithm is based [5]. The global
optimization, the timing latency and IMU biases are not registration algorithm can correct the open-loop cart trajectory
further refined from the estimates computed from the open- for long-term drift and close loops. Since the cart and Zebedee
loop solution. A limitation of the global registration algorithm trajectories are not rigidly connected, quantitative metrics for
is that it requires a good initial guess: if the open-loop solution evaluating the Zebedee solution analyze the error between the
drifts excessively, the optimization will not converge to the point clouds rather than the trajectories. Measurements from
correct alignment, and a coarse registration or loop-closure a Vicon motion capture system (Section IV-C) allow us to
identification step (e.g., place recognition-based) would be evaluate the trajectory accuracy under controlled settings.
required first to improve the initial trajectory. It should be noted that when controlled manually, the sensor
head oscillation is typically dominated by pitching motion,
IV. E XPERIMENTS though some rolling motion still occurs naturally (or is some-
times induced by the operator). Other sensor head motions,
We evaluate the quality of the Zebedee SLAM solution
such as a lasso-like rotational motion, are also acceptable and
by considering both the map and trajectory accuracies. For
handled by the algorithm without modifications.
the first series of experiments, we do not have ground truth
for the irregular trajectory of the sensor head. Therefore, we
instead use a more conventional sensor on a wheeled pushcart A. Pseudostationary Experiments
that closely follows the position of the Zebedee sensor base To demonstrate the local quality of the solution, we compare
(Figure 2b). A spinning SICK LMS291, which rotates the laser the point clouds generated by Zebedee and the spinning laser
at 1 Hz about its middle scan ray, is mounted on the pushcart while keeping the cart stationary in a variety of environments.
at a height of 750 mm. The spinning laser produces 13,500 We refer to the spinning laser trajectory and point cloud as
3D points per second in a hemispherical field of view with its the reference trajectory and reference point cloud respectively.
center oriented horizontally behind the cart. Zebedee is waved by hand and moved twice around a hori-
The cart is pulled along a trajectory while a person holding zontal box pattern within arm’s reach within approximately
and shaking Zebedee follows. As this was an early prototype 1 m of, and oriented in the same general direction as, the
of Zebedee, the sensor was tethered to the cart for power and spinning laser. Point clouds are generated using the data from
data logging purposes—this also implies that the path followed each sensor. The open-loop Zebedee SLAM algorithm (with
by Zebedee was constrained to be within about a meter of the no fixed views) is applied to the handheld sensor data. Since
cart trajectory at all times. In newer versions of Zebedee the the cart does not undergo any motion, the raw points can
battery and logging computer are stored in a backpack. We are be used directly to generate the reference point cloud. The
8 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 5, OCT 2012

two point clouds are then globally registered to one another


using an iterative optimization procedure that minimizes the
error between surfels extracted from the Zebedee points and
the reference point cloud. We can then evaluate the local
accuracy of the Zebedee point clouds by analyzing the error
statistics of each point compared to the closest surfel from
the reference cloud and visualizing the magnitude of errors
in different environments. The surfels in the reference cloud
are generated using a pair of single-level Cartesian voxel grids
with resolution of 35 cm offset by half a cell width in each
dimension. Since the surface normals are oriented to face away
from the sensor, negative errors indicate a Zebedee point being
too close to the sensor.
We performed the pseudostationary tests in an office envi- (a) Pseudostationary – open-loop
ronment with cluttered desks and an offset ceiling (Figure 5a);
on an outdoor courtyard with many trees and a non-planar
ground (Figure 5b); in an outdoor field with meter tall, bushy
grass (Figure 5c); in a long, featureless hallway; in an outdoor
road sided by bushes and trees; and in a stairwell (for brevity,
photos of the last three environments are not included).
Figure 5 shows overhead views of the estimated trajectories
from a sample of the environments. The trajectories follow
a box-like pattern, as expected from the input motion. The
trajectories estimated for the other three datasets (not pic-
tured) similarly match the intended box pattern. The match
error distributions for all six environments are illustrated in
Figure 6a. The differences between the Zebedee point cloud
and the reference point cloud is greatest in the “tall grass”
environment, which is mainly due to variation between the
performance of the SICK and Hokuyo lasers: the Hokuyo (b) Mobile – closed-loop
laser tends to penetrate deeper through the grass, resulting Fig. 6: Zebedee point cloud error distributions relative to the reference
in differences between the point clouds. Despite the wider point clouds. Standard deviations are listed for each dataset. (a) Match
error distributions for the pseudostationary experiments. (b) Match error
error distribution, Zebedee performs well in this environment distributions for the mobile mapping experiments.
as evidenced by the correct trajectory shape (Figure 5f) and
the appearance of the resulting point cloud (not pictured).
We observe the highest accuracy (2 –2.5 cm standard deviation researchers for the Hokuyo URG-04 [15].
of the match errors) in indoor environments containing more
predominant large planar surfaces (“hallway” and “stairwell”),
whose error distributions tend to have taller peaks (the “office” B. Mobile Mapping Experiments
environment, while indoors, was more cluttered and therefore For the mobile experiments, we pull the cart closely fol-
less dominated by planes as compared to the other indoor lowed by a handheld Zebedee (which is tethered to the cart)
scenes). The remainder of the datasets have similar error through a loop in an indoor office and an outdoor courtyard.
distributions with standard deviations around 5 cm. Note that The open-plan office environment is crowded with cluttered
since our analysis relies on planar surfaces fit to the point desks and other furniture (Figure 5a), while the outdoor
clouds, a lack of strong surfaces in the environment may courtyard has tall vegetation in the center, building walls on
produce less reliable results (as has occurred in the “tall grass” three sides, and a staircase (Figure 5b). In each environment,
environment). the looped path is traversed twice. The spinning laser measure-
The reported range accuracy in the laser manufacturer’s ments are processed to estimate a globally registered reference
specification is between 3 and 5 cm, which is in agreement trajectory and point cloud, as described above.
with the minimum standard deviation of errors among the The Zebedee measurements are first processed to compute
environments tested. In general, we observe a slight bias an open-loop trajectory using the incremental online SLAM
of about 1 –2 cm in the errors towards the sensor, which is algorithm, which then provides the initial estimate for the
likely due to bias in the laser range readings. The scale of closed-loop trajectory optimization. Though the solution is
this observed bias agrees with the laser manufacturer’s range processed offline after data collection, the open-loop trajectory
calibration data (shipped with each sensor); however, this is computed faster than real-time on a 3.2 GHz Intel Xeon
information is only supplied as coarse samples (primarily at CPU. The software is currently implemented in Matlab, with
5 m intervals) and the deviations are nonlinear. A negative bias some of the computationally intensive operations coded in
of a few centimeters in range has also been reported by other C++ with a MEX interface. When running with zero fixed
BOSSE et al.: ZEBEDEE: DESIGN OF A SPRING-MOUNTED 3-D RANGE SENSOR WITH APPLICATION TO MOBILE MAPPING 9

(a) Trajectories (overhead view) (b) Closed-loop Zebedee point cloud colored by error

(c) Trajectories (oblique view) (d) Closed-loop Zebedee point cloud colored by height
Fig. 7: SLAM results from the indoor office environment. (a) and (c) The trajectories estimated from Zebedee (both open-loop and closed) and the spinning
laser (closed-loop). Note the coils in the Zebedee trajectories due to the oscillations of the sensor head. The Zebedee trajectories appear at a greater height as
the device was held at a level higher than the spinning laser origin. (b) An overhead view of the point cloud generated from the closed-loop Zebedee SLAM
solution with the trajectory overlaid. The points and trajectory are colored by error relative to the reference point cloud. The points from the floor and ceiling
have been removed for clarity. (d) An oblique view of the point cloud colored by height (the ceiling points have been removed for clarity).

views, the online SLAM algorithm processes the data in (Figure 7d).
approximately 62% of the acquisition time, while for two and Figure 8 illustrates the trajectories and point cloud from the
five fixed views computation requires 71% and 73% of the outdoor courtyard environment. Despite the reduction in the
acquisition time respectively. The processing time of the global prevalence of planar structure, the Zebedee trajectory closely
optimization depends on the number of reobserved surfaces, follows the spinning laser trajectory, and the point cloud is
which in turn depends on the nature of the environment and the a locally consistent and good quality representation of the
trajectory followed. For the office environment (3.5 minutes courtyard environment.
acquisition time) the global optimization runs in under one The growth rate of the open-loop trajectory errors for the
minute, while in the outdoor courtyard (6.5 minutes acquisition outdoor courtyard environment can be seen in Figure 9. From
time) it runs in under two minutes. Therefore, for both of these repeating this experiment several times, we have observed that
datasets, a closed-loop solution can be obtained from the raw the envelope of the open-loop trajectory drifts between about
data in less than the data acquisition time. 15 –25 cm/min positionally from the closed-loop solution, and
The closed-loop trajectory is used to project all the Zebedee about 0.4 –1.5 ◦ /min in yaw. This observed open-loop angular
points into a common frame and the resulting point cloud drift is considerably smaller than the measured IMU error
is compared with the reference point cloud in the same rates.
manner as in the pseudostationary experiments above. For the The distributions of the point cloud errors for both environ-
global registration, surfels are generated using multi-resolution ments are depicted in Figure 6b, and are commensurate with
Cartesian voxel grids at resolutions of 0.5 , 1 , 2 , and 4 m the sensor noise. The indoor errors are slightly lower (standard
(including a half-resolution offset grid at each resolution). deviation of 3.9 cm) and less biased than the outdoor errors
The trajectories from the indoor office environment are (standard deviation of 4.1 cm), likely due to the reduced struc-
shown in Figures 7a and 7c. We note that both the open- ture in the outdoor environment. The modeling error inherent
loop and closed-loop Zebedee trajectories closely follow the to the point cloud comparison metric tends to broaden the
spinning laser cart trajectory. The point cloud generated from error distribution in the presence of non-planar surfaces (such
Zebedee in this experiment is displayed colorized by its errors as foliage), resulting in an overestimate of the magnitude of
relative to the reference point cloud in Figure 7b. Though the the registration errors. Other possible sources of error include
slight inward bias is noticeable, the map is locally consistent the range calibration of the Hokuyo, the beam divergence of
and is a good quality representation of the office environment the lasers, calibration errors in the spinning SICK (both range
10 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 5, OCT 2012

(a) Trajectories (overhead view) (b) Closed-loop Zebedee point cloud colored by error

(c) Trajectories (oblique view) (d) Closed-loop Zebedee point cloud colored by height
Fig. 8: SLAM results from the outdoor courtyard environment. (a) and (c) The trajectories estimated from Zebedee (both open-loop and closed) and the
spinning laser (closed-loop). The Zebedee trajectories appear at a greater height as the device was held at a level higher than the spinning laser origin. (b) An
overhead view of the point cloud generated from the closed-loop Zebedee SLAM solution with the trajectory overlaid. The points and trajectory are colored
by error relative to the reference point cloud. The points from the ground and some of the tree canopy have been removed for clarity. (d) An oblique view of
the point cloud colored by height. Present in the scene are various leafy and palm trees, a staircase, and building structure along three sides of the perimeter.

calibration and spinning mount calibration), and differences drift). In practice, there are various strategies for dealing with
in performance of the two lasers on surfaces such as glass or the initialization of the timing latency (rather than initializing
vegetation. it to be zero). If the dataset is being processed offline, it can
be restarted near the value at which it first settles. If the data
Timing latency corrections between the Hokuyo laser and
is being processed online, the latency can be initialized with
MicroStrain IMU clocks for all of the datasets described in this
the last known estimate.
article are shown in Figure 10. We observe that the required
correction must sometimes account for drift on the order of
one millisecond per minute, which would have significant C. Motion Capture Experiments
consequences (see Figure 4) if not properly addressed. In the Quantitative analysis can be performed on the trajectory
longer sequences, additional timing information was recorded provided a ground truth trajectory estimate is available. We
from the internal clock of the Hokuyo laser. The availability therefore evaluate the accuracy of the trajectory in a motion
of this timing information enables better initial smoothing of capture environment in which we can track the position of
the timing signal, and as a result the latency corrections do the Zebedee sensor head with high precision. A Vicon system
not vary as quickly (but can vary within a range well beyond consisting of 14 cameras is capable of tracking the positions
a few milliseconds in longer datasets due to clock skew and of tags containing multiple reflective targets to millimeter-
BOSSE et al.: ZEBEDEE: DESIGN OF A SPRING-MOUNTED 3-D RANGE SENSOR WITH APPLICATION TO MOBILE MAPPING 11

orientations are within the limits of the Vicon system.

(a) Position errors

Fig. 11: Overhead view of the trajectory of the sensor during the motion
(b) Angle errors capture experiment. The height of the sensor is varied over the course of the
trajectory. Shown are the position of the Zebedee handle and sensor head
Fig. 9: Errors of the outdoor open-loop trajectory compared to the closed- according to the Vicon system, as well as an estimate of the handle position
loop trajectory. The two trajectories are aligned at their initial position and estimated based on the SLAM trajectory estimate by assuming the spring is a
heading. Roll and pitch angles are not adjusted in this alignment since they rigid link. The offset between the Vicon and SLAM handle estimates are due
are referenced from gravity. to the tag being attached to the edge of the handle, rather than the center.

Time-series of the trajectory errors are plotted in Fig-


ure 12, while distributions of these errors are presented in
Figure 13. As expected, for the open-loop trajectories, we
observe a growth in positional error over time (Figure 12a),
while for the closed-loop trajectories the error is relatively
constant (Figure 12b). An increase in the number of fixed
views reduces the magnitude of the drift in the open-loop
solution (Figure 13a), from about 5–10 cm/min with no fixed
views, to about 1.5 cm/min with two fixed views, and about
0.5 cm/min with five fixed views. The closed-loop solutions
closely match the ground truth trajectory (Figure 13b), as
can be quantified by the measured RMS errors: 0.88 cm with
zero fixed views, with little difference between two and five
Fig. 10: Latency corrections between the laser and IMU estimated by the fixed views (0.72 cm and 0.69 cm RMS error respectively).
SLAM algorithm over time for all datasets.
Including more fixed views generally improves the solution
with diminishing returns, and in most cases we find that
precision within a region of approximately 2 m by 2 m. The using two fixed views is sufficient for maintaining global
precision on the tag orientation is approximately 1◦ , mainly accuracy. Some high frequency variation is observed in the
due to the small size of the tags. The environment containing translational error measurement, which we believe is likely due
the Vicon system is a 10 × 8 m room that includes a 6.5 × 4 to imperfect calibration between the laser and IMU frames.
× 3 m support frame in the center of the room, with computer Further improvements to our calibration methodology are
workstations, furniture, as well as other infrastructure and planned to reduce this effect. Overall, the results appear to
office clutter around the periphery. be consistent with the point cloud errors reported above in the
A reflective tag is mounted to the top of the Zebedee sensor pseudostationary and mobile mapping experiments (Figure 6),
head to provide 6DoF tracking as it is oscillated by hand and taking into account the inherent range accuracy and bias of
carried through the motion capture region (Figure 2c). While the lasers.
we performed multiple experiments, for the particular run de-
tailed here the sensor body follows an irregular path containing D. Dependence on Operator Control
multiple loops and figure-eights with the sensor held at varying Clearly, the field of view of the handheld Zebedee system
heights (Figure 11). We process the Zebedee data three times is dependent on the motion and control of the operator. A
using zero, two, or five fixed views (Section III-E) at spacings valid question is then: how robust is the system to poor
of min(0.5 m, 120 ◦ ) along the trajectory, in order to evaluate instantaneous oscillatory motion, and how dependent is its per-
their effect on the solution. Due to the limited precision in formance on the operator’s skill? To investigate this question,
the Vicon-reported tag orientation estimates, we could only we conducted a set of experiments in which the sensor head
perform meaningful analysis for the positional errors of the oscillatory motion is intentionally stopped for several seconds
trajectory. However, we can report that the Zebedee-computed at a time, to simulate operator “error”. In our experience,
12 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 5, OCT 2012

(a) Open-loop error

Fig. 14: Sensor motion measurements collected while ascending and descend-
ing a three-story staircase. The roll and pitch of the sensor head are plotted
together with the translational velocity of the sensor base (Zebedee handle). At
seven intervals during the experiment, the sensor head rotation was effectively
stopped for several seconds while the sensor body continued to translate as the
operator walked through the environment. Two such instances are illustrated
in greater detail in the insets.
(b) Closed-loop error
Fig. 12: Positional errors of the sensor head with reference to the ground truth
result reported by the Vicon system. Results using zero, two, and five fixed
views in the open-loop solution are reported in each case. (a) The growth of to the bottom. At several points during the data collection,
error over time for the open-loop Zebedee solution. Drift rates in position are the operator intentionally prevented the sensor head from
observed to be approximately 7.5 cm/min, 1.5 cm/min, and 0.5 cm/min for the oscillating while continuing to traverse the stairs or landings
zero, two, and five fixed view solutions respectively for this dataset. (b) The
error for the closed-loop trajectories after globally registering the Zebedee between staircases. Each stoppage lasted for five to ten stairs,
data. The RMS errors are 0.88 cm, 0.72 cm, and 0.69 cm for the zero, two, or several strides on a landing (including yaw rotations), and
and five fixed view solutions respectively. generally covered three- to six-second time intervals.
For this experiment, the second-generation version of
Zebedee was utilized (Figure 2d). The main technical differ-
ences from the original Zebedee are the use of a MicroStrain
3DM-GX3 IMU (rather than a 3DM-GX2) which is mounted
on the back of the laser (rather than the bottom), as well as a
spring with slightly different physical characteristics.
Figure 14 illustrates the general sensor head and operator
motion over the course of the experiment: the IMU roll and
pitch data indicates when the sensor is oscillating, and the
(a) Open-loop error
sensor base translational velocity indicates how quickly the
operator is walking. During the oscillation stoppages, the
sensor head pitch and roll are close to zero, while the sensor
base (operator) translational speed remains significant.
We expect that the use of fixed views should increase
the robustness of the algorithm to momentary sensor head
oscillation stoppages since they maintain a longer history of
valid 3D surfels to match against. Open-loop trajectories are
therefore estimated with and without fixed views for this
(b) Closed-loop error dataset and illustrated in Figure 15 together with a closed-
Fig. 13: Distributions of the positional errors of the sensor head relative to
loop reference trajectory (generated using five fixed views).
the Vicon ground truth estimate. Results using zero, two, and five fixed views We observe a significant vertical error (about 5 m) near the
in the open-loop solution are reported in each case. beginning of the open-loop trajectory in the case with no
fixed views. The instance where this error occurred involved
a relatively long break (approximately six seconds) where the
such gaps occasionally (but rarely) occur in rugged terrain operator walked up ten stairs with the sensor head oscillations
where the operator may have difficulty maintaining sensor effectively stopped (the first circled region in Figure 14). We
head oscillation when concentrating on balance and footing; or also note an error in yaw appearing towards the end of the
in more benign environments when an inexperienced operator zero-fixed view trajectory; though in general the solution is
must temporarily slow down; for example, to open a door. locally consistent aside from the large vertical error event.
The first dataset presented for this evaluation was collected The results demonstrate that the addition of fixed views
in a stairwell between the first and third floors of an office greatly improves robustness of the algorithm: the two-fixed-
building (Figure 16b). The operator started at the first floor view open-loop trajectory does not contain any major errors
landing, ascended the stairs to the third floor, then returned and drifts minimally from the reference trajectory. The open-
BOSSE et al.: ZEBEDEE: DESIGN OF A SPRING-MOUNTED 3-D RANGE SENSOR WITH APPLICATION TO MOBILE MAPPING 13

loop trajectory is close enough to the true solution that the


registration algorithm is able to produce a globally consistent
closed-loop trajectory that is similar to the reference trajectory.
The positional RMS error of the two-fixed-view closed-loop
trajectory relative to the reference trajectory is 1.7 cm. We have
further analyzed the performance of the algorithm in the pres-
ence of anomalies in both the outdoor courtyard and stairway
environments. Large error events, such as the one seen in the
zero-fixed-view stairway example, were particularly rare, and
only occurred under extreme conditions of sensor head motion
stoppage. We do not observe any noticeable negative effects
on open-loop error when moderate sensor head oscillation
stoppages occur or if a few moving pedestrians are present
in the scene. (a) Open-loop point cloud (b) Closed-loop point cloud
We further consider removing the operator’s ability to man- Fig. 16: Side views of point clouds acquired with Zebedee mounted on the
ually control the sensor head oscillations by fixing the sensor backpack (not handheld). (a) The open-loop point cloud colored by time (blue
base directly to the backpack with the center of the sensor to red), with the trajectory indicated in black. (b) The closed-loop trajectory
obtained after global registration colored by height.
field of view facing behind the operator (Figure 2e). Here, the
natural accelerations from walking are the only inputs to the
sensor motion. The primary drawback to mounting the sensor
in this way is the loss of the operator’s ability to fully control
the sensor field of view if complete coverage of all surfaces
in a complex environment is desired. However, the benefit of
having both hands available is critical in some applications
such as first response. We collected a dataset in the stairwell,
following a similar path to the previous experiment, and
observe that there is sufficient sensor head motion to reliably (a) Position errors
and accurately estimate the trajectory. The drift accumulated
from the open-loop trajectory (using two fixed views) is
illustrated in Figure 17, with the most significant components
in height (approximately 10 cm/min) and yaw (approximately
2 ◦ /min). These errors are similar to those that have been
observed in the handheld experiments and well within the
limits of the global registration convergence region. The drift
can also be visualized by comparing the open-loop and closed-
loop point clouds (Figure 16). We have tested the backpack- (b) Angle errors
mounted configuration in other environments, both indoors Fig. 17: Time series errors of the open-loop trajectory compared to the closed-
and outdoors, with similar results. Therefore, we conclude loop trajectory in the hands-free Zebedee stairwell experiment.

that a hands-free Zebedee configuration (e.g., mounted on a


backpack, shoulder, or helmet) is a viable option for deploying
the sensor on a human operator. In contrast to the backpack
mapping system proposed by Chen et al. [14], the Zebedee
design is lighter and simpler (one lidar as opposed to three),
requiring less cost and calibration, and the Zebedee system is
capable of SLAM in arbitrary environments (as opposed to
being restricted to highly planar indoor environments).

V. C ONCLUSIONS AND D ISCUSSION


We have introduced a novel design of a 3D range sensor
consisting of a 2D lidar scanner mounted on a flexible spring
(a) Overhead view (b) Side view useful for 3D perception in robotics and other mobile appli-
Fig. 15: A comparison of the trajectories estimated for the stairway dataset cations. We have demonstrated a particular realization of the
using no fixed views and two fixed views. The closed-loop trajectory obtained
with five fixed views is shown as a reference trajectory. Some of the segments
general design concept, which we call Zebedee. Analysis of
where the sensor head oscillations are stopped are visible as smooth intervals the frequency response and oscillation amplitudes of the device
in the trajectory. hardware can be performed to determine suitable component
14 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 5, OCT 2012

specifications for a given implementation. A specialized simul- for electric ground vehicles operating with infrequent acceler-
taneous localization and mapping algorithm has been devel- ations on smooth terrain. However, there are many potential
oped that can be used both for incremental motion estimation excitation sources in typical applications such as rough terrain,
and global point cloud registration. In fact, the same code vibrating engines, legged platforms, wind disturbances for
base can be (and has been) used for a variety of mobile 3D air vehicles or fast-moving ground vehicles, or wave motion
laser configurations including spinning, nodding, and trawling for marine surface vehicles. It should also be noted that the
2D lidars. The solution has been evaluated in a variety of trajectory computed by the SLAM solution tracks the sinuous
environments, both indoor and outdoor, and quantitatively trajectory of the sensor head: further processing would be
analyzed using a motion capture system for ground truth required to also estimate the trajectory of the platform on
position estimates. The results show that the localization errors which the sensor base is mounted. Since the compression of
are within acceptable limits for many applications, and the the spring is small compared to the bending of the spring,
precision of the point clouds is generally commensurate to a it behaves approximately like a rigid link with a universal
solution from more traditional spinning laser hardware. The joint. Thus, a simple transformation approximates the position
motion capture experiments demonstrated that the Zebedee of the sensor base frame relative to the sensor head. An
trajectory can be estimated with a sub-centimeter accuracy. additional IMU can be mounted on the base platform to further
We find that for all of the experiments considered (with the estimate the relative platform orientation using the knowledge
exception of the zero-fixed-view solution when demonstrating that the two systems are coupled. More accurate results can
long oscillation stoppages), the open-loop trajectories are potentially be obtained by observing and tracking structure
sufficiently accurate to initialize the closed-loop optimizations, on the base platform within the local point cloud. Finally, a
without the need for additional coarse registration constraints limitation of the SLAM solution we present is that it does
(e.g., from place recognition). The results further demonstrate not compute an uncertainty estimate, though ongoing work is
that with the inclusion of fixed views, the SLAM algorithm investigating this aspect. The primary challenge in estimating a
is robust to irregular operator performance including brief consistent covariance is the complexity of accurately modeling
stoppages in sensor head oscillations on the order of several the many sources of uncertainty, including: surface normal
seconds duration. We conclude that the proposed sensor would directions, match sensitivity, linearization and interpolation
be a reasonable choice for applications where a relatively of constraint coefficients, fixed surfel views, sliding window
inexpensive, lightweight, and mechanically simple 3D range initial conditions, IMU prior modeling, IMU biases, etc.
sensor is required. In general, the performance of a passively There have been several lessons learned while developing
actuated 3D sensor would be dependent on the quality and and testing the Zebedee device. An important observation
mechanical properties of the range sensor employed. is that timing accuracy is critical: even millisecond errors
The mobility of the Zebedee sensor as a handheld device between the IMU and laser scanner can cause significant
allows access to most environments accessible to humans, distortions of the point cloud data. In early Zebedee models,
including rough, natural terrain and stairways. Further to the we experienced some problems with wear on the IMU USB
experiments presented here, we have deployed the system in cable, which would eventually necessitate replacement of the
applications including large-scale assembly plants and indoor cable. Using a stronger cable solved this problem, though in
spaces, as well as mapped natural environments that would the latest version we have employed a coiled cable to further
otherwise be inaccessible to standard 3D mapping systems. reduce strain. Cabling passing through the spring can also have
For vehicle-mounted versions, the passive linkage concept can adverse effects in terms of dampening the sensor motion, so
be applied to a variety of range sensors of varying performance extra care must be taken in determining cable length, diameter,
and mass specifications depending on the application require- and tension.
ments. Simple mechanical modifications can also be made to
the design to limit the scanning range of the sensor when
required. B. Future Work
Future work will involve further development of the sensor
design and algorithms, as well as experimentation in additional
A. Limitations and Lessons Learned applications. The mechanical design process would benefit
There are, of course, some limitations to the system. from a parameterized model of the mass-spring system relating
Common to all laser-based SLAM algorithms, there exist the input spring constant, sensor head mass, and geometry,
pathological environments where the motion is weakly or non- to the resonant gains and frequencies of the resulting motion.
observable, such as long, smooth tunnel-like spaces, or large, Ongoing efforts are focused on extending typical helical spring
featureless, open areas. Such cases are identifiable by exam- models, which tend to consider in-axis motion (compression
ining the distribution of surface normals, but extreme cases or tension) rather than out-of-axis motion (bending). We
can be difficult to recover from without additional sensors. continue to improve the performance of the SLAM algorithm
Environments dominated by moving objects can also challenge to increase its precision. Along these lines, we are investigating
the algorithm since it becomes difficult to distinguish true methods for calibration of the range bias of the laser, as well
outliers. In some applications, the Zebedee design requires as modeling the beam divergence of the laser (which can be on
fairly continual excitation in order to induce motion of the the order of 0.6 ◦ –0.8 ◦ for lasers commonly used in robotics).
sensor head. For example, the device may not be appropriate We are also investigating the importance of the IMU quality to
BOSSE et al.: ZEBEDEE: DESIGN OF A SPRING-MOUNTED 3-D RANGE SENSOR WITH APPLICATION TO MOBILE MAPPING 15

determine how low-cost an IMU can be used while still pro- [11] R. Altendorfer, N. Moore, H. Komsuoglu, M. Buehler, H. B. Brown Jr.,
ducing accurate results. The current SLAM software is written D. McMordie, U. Saranli, R. Full, and D. E. Koditschek, “RHex: A
biologically inspired hexapod runner,” Autonomous Robots, vol. 11,
in Matlab, with some components written in C++ and called no. 3, pp. 207–213, 2001.
through MEX wrappers. This implementation is able to run [12] N. Ratliff, M. Zucker, J. A. Bagnell, and S. Srinivasa, “CHOMP:
faster than real-time on a desktop computer; however, our goal Gradient optimization techniques for efficient motion planning,” in IEEE
International Conference on Robotics and Automation, 2009.
is to enable online operation on a lightweight laptop. A C++ [13] P. Canter, A. Stott, S. Rich, and J. L. Q. Jr., “Creating georeferenced
version of the software is currently being developed to run the indoor maps, images and 3D models,” Civil Engineering Surveyor, June
incremental SLAM algorithm and global optimization online 2010.
[14] G. Chen, J. Kua, S. Shum, N. Naikal, M. Carlberg, and A. Zakhor,
and in real-time on a portable computing platform. An ongoing “Indoor localization algorithms for a human-operated backpack system,”
area of research is investigating various scene decomposition in International Symposium on 3D Data Processing, Visualization, and
methods for generating surfels. While the current solution Transmission, 2010.
[15] L. Kneip, F. Tâche, G. Caprari, and R. Siegwart, “Characterization of
works sufficiently well, this step is one of the computational the compact Hokuyo URG-04LX 2D laser range scanner,” in IEEE
bottlenecks in the system. We believe that a more sophisticated International Conference on Robotics and Automation, 2009.
technique could result in fewer, but higher quality, surfels [16] M. Bosse and R. Zlot, “Place recognition using regional point descriptors
for 3D mapping,” in International Conference on Field and Service
enabling computational savings while still maintaining a high Robotics, 2009.
degree of accuracy and robustness. Further applications we are [17] ——, “Three dimensional scanning beam system and method,” PCT
considering are the use of Zebedee for obstacle detection on Application PCT/AU2010/000 939, July 27, 2010.
an off-road vehicle (e.g., using larger SICK lasers on stronger
springs) or a small rotary wing UAV, and using local point
cloud views for place recognition [16] within a larger known
map. Other implementations of the general concept may use
other range sensors or mechanical linkages, such as floating Michael Bosse received the Ph.D. degree in electical
engineering and computer science from the Mas-
the device in a viscous fluid, use of elastic cables, or hanging sachusetts Institute of Technology in 2004, while
a sensor on a rope as a pendulum. working in the Computer Science and Artificial
Intelligence Laboratory (CSAIL). For his doctoral
thesis, Dr. Bosse developed the Atlas framework
ACKNOWLEDGMENTS for large-scale mapping. He is originally from Los
The authors would like to thank Steven Martin, Timothy Angeles, California, USA.
Since 2006, he has been a Robotics Sensor In-
Gurnett, and the Queensland University of Technology for use tegration Specialist and a Senior Research Scientist
of their equipment and assistance with the Vicon experiments. with the Autonomous Systems Laboratory, ICT Cen-
The design of the second-generation handheld Zebedee device tre, CSIRO in Brisbane, Australia. His research interests focus on SLAM and
real-time perception for field robotics.
(Figure 2d) was developed with assistance from CMD Product
Design and Innovation (http://cmd.net.au). A patent applica-
tion associated with the technology described in this article
has been filed by the CSIRO in 2010 [17].
Robert Zlot received the Ph.D. degree in robotics
R EFERENCES from Carnegie Mellon University in 2006, while
[1] C. Urmson et al., “A robust approach to high-speed navigation for working in the Field Robotics Center of the Robotics
unrehearsed desert terrain,” Journal of Field Robotics, vol. 23, no. 8, Institute. He is originally from Toronto, Canada.
pp. 467–508, August 2006. He is currently a Senior Research Scientist with
[2] J. Nygårds, P. Skoglar, M. Ulvklo, and T. Högström, “Navigation aided the Autonomous Systems Laboratory at CSIRO in
image processing in UAV surveillance: Preliminary results and design of Brisbane, Australia. His current research interests
an airborne experimental system,” Journal of Robotic Systems, vol. 21, are in perception for field robotics and mobile map-
no. 2, pp. 63–72, February 2004. ping.
[3] C. Wellington and A. Stentz, “Learning predictions of the load-bearing
surface for autonomous rough-terrain navigation in vegetation,” in
International Conference on Field and Service Robotics, 2003.
[4] O. Wulf and B. Wagner, “Fast 3D scanning methods for laser mea-
surement systems,” in International Conference on Control Systems and
Computer Science, July 2003.
[5] M. Bosse and R. Zlot, “Continuous 3D scan-matching with a spinning
2D laser,” in IEEE International Conference on Robotics and Automa- Paul Flick received the Bachelor of Engineering de-
tion, 2009. gree in mechatronic engineering from the University
[6] T. Yoshida, K. Irie, E. Koyanagi, and M. Tomono, “3D laser scanner of Southern Queensland, Toowoomba, Australia in
with gazing ability,” in IEEE International Conference on Robotics and 2000. Paul is originally from Byron Bay, Australia.
Automation, 2011. He is currently a Mechatronic Specialist with the
[7] G. Petrie, “Mobile mapping systems: An introduction to the technology,” CSIRO Autonomous Systems Laboratory in Bris-
GeoInformatics, vol. 13, no. 1, pp. 32–43, January/February 2010. bane, Australia. His interests lie in robots and robot
[8] J.-N. Juang, Applied System Identification. Prentice Hall Ptr, 1994, sensor systems.
ch. 6.
[9] J. P. Underwood, A. Hill, T. Peynot, and S. J. Scheding, “Error
modeling and calibration of exteroceptive sensors for accurate mapping
applications,” Journal of Field Robotics, vol. 27, no. 2, pp. 2–20, 2010.
[10] A. Harrison and P. Newman, “TICSync: Knowing when things hap-
pened,” in IEEE International Conference on Robotics and Automation,
2011.

View publication stats

You might also like