Professional Documents
Culture Documents
Zebedee: Design of A Spring-Mounted 3-D Range Sensor With Application To Mobile Mapping
Zebedee: Design of A Spring-Mounted 3-D Range Sensor With Application To Mobile Mapping
Zebedee: Design of A Spring-Mounted 3-D Range Sensor With Application To Mobile Mapping
net/publication/257934625
CITATIONS READS
209 2,780
3 authors, including:
All content following this page was uploaded by Robert Zlot on 29 May 2014.
(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
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
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
(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.
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
(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
(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
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.
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
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.