Abstract
1. Introduction
Building an environment map is a popular topic in mobile robotic research and applications. The method of how to get information on the environment and robot localization is called SLAM (Simultaneous Localization and Mapping) [1–10]. With uncertainties in the environment and sensor readings, SLAM is one of the most fundamental methods for enhancing the robustness and efficiency of mobile robot navigation [5, 8], path planning, pursuing and patrolling.
Since the range measurements are inaccurate and noisy, the mapping process is error prone. There are two major methods for constructing a map precisely and efficiently. One is a probabilistic method [28] and the other is scan matching. In the probabilistic method, EKF (Extended Kalman Filter) [8, 9] and RBPF (Rao-Blackwell particle filter) [10, 11] have been used in SLAM for a long time. The features [12] of the map are defined by probability and the feature with the highest probability is the true map's information. Because of the advantage of a continuously correct characteristic, the errors in the probabilistic method can be decreased from the correct features. On the other hand, due to the heavy matrix computation time, the method only uses the few features. Scan matching registers (and extracts the similar parts of) two laser scans obtained at pose 1 and pose 2, in order to determine their relative position and orientation, to obtain the pose-to-pose rigid body transformation matrix T (x, y,
For a robotic mapping task, the preferred sensor is a laser range finder (LRF). However, a 2D scanner mounted on the robot takes measurements in the horizontal plane only and thus only a 2D map can be built. For autonomous and safe navigation for long periods of time, it is necessary to provide a robot with 3D environment information, such as objects and ceiling, rather than a 2D map. For approaches to 3D mapping and 3D shape sensing, [28] used two LRFs, one horizontal and one vertical, to generate accurate 3D maps by registering the horizontal scans. One cost-effective approach to extend the 2D map to the 3D map that we adopt in this paper is to rotate a LRF to acquire 3D data on the environment by designing an actuated rotating mechanism [18–23, 29–31], while the horizontal scans are used to estimate the robot pose. Figure 1 shows conceptually how to expand the 2D map to a 3D map by rotating a LRF with a different elevation and a cloud of 3D data is obtained by combining the 2D data with the elevation information. The motion of a rotating LRF can be defined by two methods: continuing [22] or reciprocation [23]. There are three rotational directions for an actuated LRF using different rotational mechanism designs for 3D mapping robots [19–21, 29–31], which yield different scanning ranges (as depicted in Figure 2) and thus different functionality in 3D mapping tasks.

An LRF is rotated to obtain the 3D mapping data at different elevation of its covered area.

Different motions on the actuated LRF yield different sensing information [18].
This paper presents the development of an actuated LRF-based robotic 3D indoor mapping system based on transforming the scanning data of a LRF into a distance transform (DT) map for a scan matcher. DT maps are then used to compare the contrasting robot poses defined by a transformation matrix T(x, y,
The organization of the paper is as follows. Section 2 presents the 2D mapping system with the specific mobile platform for experiments. Section 3 presents the details of our crank-rocker design and its integrated use in 3D mapping systems with demonstrated experimental results showing the usefulness of the mapping system. Conclusions are made in Section 4.
2. 2D mapping
2.1 Preliminaries
2.1.1 DT (Distance Transform)
The distance transformation (DT) [27] provides each grid of a grid map with the Euclidean distance to the nearest obstacle. The DT transforms the information from an LRF into a matrix Each element of the matrix stands for the distance to the nearest obstacle on the map In this paper, we use the Euclidean distance transformation as the DT algorithm in (1)
where M and N are the size of DT Figure 3 illustrates a map before (a) and after (b) DT Figure 5 shows the raw scanned map from an LRF and its intensity map after DT The intensity map has the contours of the original map.

(a) The map before DT. The value of grids that obstacle occupies is initially set to zero and other positions are set to infinity. (b) The map after DT. The distance to the closest obstacle is set as the grid value of every non-obstacle position.

(a) The map from LRF. (b) The intensity map after DT.

The flow chart of 2D mapping system based on scan matching
2.1.2 Transformation matrix
The 2D transformation matrix between two consecutive maps is composed of a translation (
For a collection of maps at different time steps{
where each
There are many sources of error when two maps are matched with each other. Scan matching is used to find a
where
2.2 2D mapping systems
In the method of scan matching, it is necessary to predict the position of the robot as an initial guess and thus predict the map, which has new information that the global map doesn't have. A correct prediction can be used to speed up the SLAM process and build a more accurate map. Figure 5 shows our approach to 2D SLAM (cf. [34]), which is extended to 3D mapping in the next section. It consists of the different steps during the mapping processes. First, our implementation uses the information from motor encoders for the transformation matrix of a robot pose to predict the LRF data on the global position, while the LRF acquires the 2D information of the environment. In step 2, the data from the LRF is transformed to a DT matrix as a representation of the local map to be compared with the robot's localization. The optimization method is exploited to solve (4) and to find the optimal transformation matrix that yields maximum overlap. In step 3, the transformation matrix obtained in step 2 is used to construct the environment map using Global Distance Transform (GDT) definition (Sec. 2.4) to combine the global map's DT and the new map's DT.
2.3 Kinetic formula of experimental mobile platform
Figure 6(a) shows our experimental mobile platform: a four wheeled robot with two motors on the front wheels. The LRF is mounted on the centre

(a)Experimental mobile platform- a four-wheeled robot with two front driving wheels and two supporting wheels (b) The kinetic formula of vehicle motion between two consecutive time instants
At first the distance travelled by wheels
where
Instead of matching two consecutive maps, we set the DT map of the first scan at
Denote
A prediction of the position (
In performing scan matching to find the optimal transformation matrix described in Sec. 2.1.2, those
that may cause a faulty match are discarded temporarily to maximize the overlap of the newly scanned map and the global map. After comparing the maps, these eliminated points are added back into the global map with the matched points to complete the prediction of the global map. In our implementation, we set:
where
2.4 Global DT definition for update of GDT map
For each newly created DT map obtained from a new scan, its new information is combined to the GDT to update the map. To combine an existing GDT and a new DT as an updated GDT for each scan, we need to compare all the elements in the existing GDT and the newly created DT. There are three different situations when comparing each element (
(b)
(c)
After applying (11), this point (if it appears in a new DT map in later scans) will be likely to meet (9) to update the GDT map.
2.5 Experimental results of 2D mapping
The simplex method [17] is exploited to solve (4) for the efficiency of online updates of the 2D map [34]. The LRF senses the 2D information on the environment in the horizontal plane from −30° to 210°. Figure 7(a) shows the 2D mapping result from the experiments performed at 7F of our office building, composed of structural elements like floors, walls, doorways, etc. The running time of this experiment was about 5 minutes. Figure 7(b) shows the intensity graph of 7(a), in which the contour of Figure 7(a) can be seen. The map is shown in http://www.youtube.com/watch?v=nho-CZ4N4o&feature=related

2D mapping result in 7F of IIS building.(a) The 2D SLAM results (b) The intensity graph in GDT. Red lines are the path of robot and blue lines show the scanned environment.
Figure 7(a) is a kind of loop-closing problem, a revisit of a previously visited area in the environment. The coincidence of the start and end positions of the robot shows that the loop is closed.
The errors in robot poses accumulate in posterior maps. The errors may occur from two sources. The first is the inaccuracy of the prediction of kinetic poses due to wheel motions. The second is the optimization method used to find the optimal transformation matrix. The setting of thresholds in related computations is used to avoid the first cause of errors, thus the major cause of errors may be the optimization methods. In the following we compare the errors resulting from different optimization methods.
2.7 Optimization methods
In this section, a comparison of the linear simplex method [27] with other optimization methods to solve the nonlinear equation in (4), which may contain local minima, is presented. The optimization methods that are tested in the experiments for comparison are PSO [24], SCE [25] and SIMPSA [26]. Figure 8 and Table 1 show the error in the distance in the transformation matrix T(x, y, θ) by comparing it with the global (ground truth) solutions. We found that all the averages and standard deviations are below the scale (1cm) in this experiment. Hence, all the methods yield accurate transformation matrices. On the other hand, Figure 9 and Table 2 compare the distance from the robot's position to the original position. The errors of the position are higher than the errors of the transformation matrix. Table 2 shows that Simplex is the most efficient in terms of computational time, while PSO spends nearly 100 times the time that Simplex consumes in the performed 2D mapping experiment. For accuracy comparison, PSO and SCE produced solutions closer to the global solutions, while SIMPSA and Simplex show larger errors.

Errors of distance in transformation matrix.

The distance from robot's position to the ground truth position
Errors of transformation matrix
Errors of robot's position
3. 3D mapping system
The LRF scan takes only 2D measurements. The LRF needs a rotational motion to expand the 2D map to a 3D map. In this section we present a design of a rotational mechanism using a four-bar linkage to actuate the LRF for this purpose. During the 3D SLAM, we use the same horizontal information for each scan. The horizontal information can be detected from the first and last scans. The flow chart for the extension of 2D mapping to 3D mapping is shown in Figure 10. To transform the 2D data of a LRF to 3D data in each scan, the transformation is composed by interpolating

The flow chart of 3D mapping system
3.1 Mechanical design of rotational motion mechanism
Different rotational mechanism designs for 3D mapping robots have been presented with good functionality in practice [19–21, 29–31], For example, The mechanical design of a rotational motion of the LRF in [31] is an arm-type linkage., Our design of a crank-and-rocker four-bar linkage to actuate an LRF is presented in this subsection and its calibration is given in the Appendix. Figure 11(a) shows a four-bar linkage called a crank-rocker [32]. The sum of the shortest (s) and longest (l) links of the planar four-bar linkage must be smaller than the sum of the remaining two links (p, q). In this case the shortest link can rotate 360 degrees, relative to the longest link. As Figure 11(a) shows, a characteristic of the mechanism is that one link can rotate a whole circle continuously, while the rocker can undergo the motion of reciprocation (to and fro). Figure 11(b) shows a photo of our crank-rocker design, where the rocker should move slowly when the load is heavy, then return to moving quickly, as shown in: http://www.youtube.com/watch?v=RwwaWoePkUA&feature=related

(a) The crank-rocker four-bar linkage (b) The rotational motion device. θ
3.1.1 Linkage transformation
In the photo of our construction of the crank-rocker mechanism shown in Figure 11(b), the linkages (s, q, p, l) = (
Here we assume that the pose of stationary robot is (0,0,0).
3.1.2 Composite transformation
(12) derives the 3D data acquisition formula using a rotating LRF when the mobile robot is stationary. In a dynamic case, the robot travels along a path to a new scan location to take a new scan, so that a sequence of scans that contain new information in the map are constantly acquired and a local map is built for each scan to update the global map. The transformation matrix for a robot in motion is composed by two parts. First is the transformation matrix of the four-bar linkage that actuates the LRF. The other is the transformation matrix of a robot's localization. The transformation matrix of the four-bar linkage is the same for each scan, even when the robot is moving. For estimating the transformation matrix of robot localization, one needs the contrastive position of a sequence of acquired scans from the first scan (at
Combining the linkage transformation of the crank-rocker mechanism and the transformation of the moving robot pose (13), we obtain:
where the superscript denotes the time of the data and θ*is the linkage angle of the fixed linkage
3.1.3 System testing: stationary robot
For indoor navigation, the robot needs to recognize the objects in the environment. For testing the capability of our system for 3D object recognition when the robot stands still, three boxes are placed on the ground (see Figure 12(a)) and we construct their 3D maps, as shown in Figure 12(b). Since the length of each side of the boxes is an invariant, we compare the width (57.5, 34.8, 24.8 cm) with real measurement of boxes (58.29, 34.35, 25.2 cm) shown in Figure12(c). The discrepancies are 7.9, 4.5 and 4 mm in each dimension, due to the errors inherent in LRF sensing and the linkage transformation of the four-bar linkage.

Stationary results of sensing 3D objects. (a) The scene of three boxes(b) The 3D map (c) 2D map by projecting 3D map of (b) onto X-Y plane (ground floor).
In another test, Figure 13 (a) and (b) show the same environment scanned at different locations using a stationary robot. There is an elevator far from the LRF and it is blocked by the walls in the central region of Figure 13(b). A plant contour of Figure 13(d) is constructed clearly in Figure 13(c). The edges of the windows can be seen clearly, but some of them are blocked. This experiment shows the limitation of 3D mapping using a rotating LRF mounted on a stationary robot, where the gathering of environment information is incomplete. To remedy this, the 3D information of the environment may be gathered more completely by a mobile robot equipped with a rotating LRF and by combining the moving robot pose and a linkage transformation.

Stationary results. Two 3D mapping results produced by our mapping system fixed at different locations. Left:3D maps, Right: the scenes.
3.2 System testing: 3D mapping experiments
Figure 14 and Figure 15 are the results of experiments performed in the office buildings 3F and 7F, respectively. We eliminate all the information of the floor and ceiling to make the map visually clear. The running time of whole experiment is around 16 minutes. Figure 14(a) and Figure 15(a) are the results of GDT SLAM. Figure 14(b) and Figure 15(b) are the 3D maps which have been built. These maps are composed of the walls, together with some furniture in the middle space. The contour of the 3D maps is almost the same as the 2D maps. The film http://www.youtube.com/watch?v=ceBAgnJhack shows the details of the 3D map.

Mapping result of 3F of IIS building.(a) GDT SLAM (b) The obtained 3D map.

Mapping result of 7F of IIS building. (a) GDT SLAM (b)The obtained 3D map
Even though we demonstrate the accuracy and efficiency of the method for small movements of the mobile robot, the convergence of GDT SLAM is not attained in every situation. The convergence problem and comparison of our approach to other 3D mapping methods such as 6D SLAM [29, 21] are left for future work.
4. Conclusions
In this paper, we described the implementation and testing of a 3D robotic mapping system based on a scan matching method called simplex-based GDT SLAM. The local map is a grid map represented by a distance-transformation (DT) matrix. The range measurements during the 3D map building process could be facilitated by a rotational mechanism design of a crank-rocker four-bar linkage mounted on a mobile robot. The integrated system allows 3D scans of a rotating LRF to provide the height information, using a composition of linkage transformation and robot localization derived from a motor encoder and kinetic formula of the mobile platform and also allows the prediction of the 3D map. In the experiments performed in the office building for testing the 3D mapping system, the consistency, efficiency and accuracy of the mapping system are demonstrated by constructing 2D or 3D maps with a stationary or moving robot. For future work on real-time 3D mapping and the application scenarios based on it, the practical aspects of the compression and registration of huge 3D data using techniques such as 3D Normal Distributions Transform (NDT) of spatial representation of 3D point clouds [33] should be studied.
5. Appendix. The calibration of rotational motion
The measurement of the length of each linkage depicted in Figure 11(b) is shown below.
In this Appendix, we describe the calibration of δ
as shown in Figure A(b). The aim of calibration is to find δ
to yield a best fit calibration curve

Range data and motor encoder. (a) measured
We use θ
