Fast Obstacle Detection Using 3D-to-2D LiDAR Point Cloud Segmentation for Collision-free Path Planning

(Gyro), and a camera, is proposed for an autonomous vehicle. The GPS and Gyros are used for locating the robot position and identifying its orientation, which are used for global path planning to move toward a goal. The camera is used for remote video monitoring. LiDAR is used to capture the point clouds of the current environment for use in planning the local path. In this paper, a fast segmentation method is proposed for obstacle detection. The proposed method includes ground point removal, region of interest (ROI) detection, 3D-to-2D projection, and clustering by grids. The purpose of ROI detection is to determine whether the points are candidate obstacle points. The experimental results show that the proposed segmentation method can reduce the size of the point cloud and computation complexity significantly. The integrated multisensor system is expected to be practically used in the field.


Introduction
Since autonomous robots are often used for navigating unknown or dangerous environments, multiple sensing devices are required for autonomous robots to plan a collision-free path. Autonomous vehicles use various sensors for the detection of the environment, and then extract features to avoid obstacles. Common sensors are cameras, radars, ultrasonic sensors, global positioning system (GPS) sensors, light perception sensors, and infrared ray sensors. Each sensor has its advantages and disadvantages. For robot localization, the proposed methods can be divided into two types: indoor-based methods and outdoor-based methods. While Wi-Fi, iBeacon, and Li-Fi are used in indoor environments, GPS or a location-based service (LBS) is usually used in outdoor areas.
Regarding the self-driving ability of autonomous vehicles, most applications of sensors focus on computer vision, which often uses visual images. Existing state-of-the-art approaches for robot navigation use both passive sensors and active sensors simultaneously. A passive sensor can receive signals from the environment. Passive sensors can be used for most scenarios without other facilities. Active sensors sense the environment by the reflected signals emitted by the sensors themselves. The main benefit of active sensors is that they are robust to the weather and the illumination of the environment. Thus, multitype sensors, which include passive sensors and active sensors, are used in robot navigation to scan objects of different materials. Light detection and ranging (LiDAR) has recently been widely used in robot navigation since it can sense the surface of objects accurately.
Recently, similarly to visual images, depth images have been widely used for self-driving applications since depth images are not affected by illumination. Therefore, in this paper, 3D images acquired by LiDAR are used for obstacle detection. However, a point cloud has a large amount of data, e.g., there are over 200000 3D points captured with a 10 frames/s scanning rate. It is a big challenge to process such massive data in real-time applications. Therefore, reducing the number of points and removing the background points rapidly are very important for most applications of LiDAR.
The main contribution of this paper is to propose a small autonomous vehicle system with the ability to detect obstacles and to plan a collision-free path simultaneously by using various sensors. The key technology is rapid obstacle detection by using 3D-to-2D projection and clustering by grids. The rest of this paper is organized as follows. Related works are reviewed in Sect. 2. In Sect. 3, the proposed algorithm is introduced. The methods of the proposed algorithm, including ground detection, segmentation, and path planning, are explained individually. The experimental results and conclusion are given in Sects. 4 and 5, respectively.

Related Research
Recently, point clouds have been widely used in many applications. Generally, an important procedure is to extract the foreground objects from a point cloud. Therefore, many segmentation approaches have been proposed. The goal of point cloud segmentation is to separate the 3D points into several individual objects and backgrounds. In self-driving, the ground points are usually considered as background. Since the number of points of a scene frame is extremely large and ground points are a large proportion of the point cloud, most approaches first remove ground points. (1)(2)(3) A simple way to identify ground points is to use the height of points. In Ref. 4, the points were projected onto a 2D plane to view the surrounding traffic. Some approaches used voxel segmentation, (5,6) in which the Euclidean space is discretized into multiple one-unit cubes and points are assigned to grid points. By grouping related voxels to form an object, points can be classified as object points or ground points. In Ref. 7, a line-based method in a polar grid map was proposed. The points were clustered into grid cells and a grid map was divided into sectors. Then, the ground was detected in every sector by line extraction. (8) Some approaches used the gradient to detect ground points. The segmentation was based on the deviation of height z with lateral position y. (9)(10)(11) Although in self-driving applications, the goal of segmentation is to remove ground points, some segmentation algorithms have been proposed for clustering 3D objects. In Ref. 12, a label-equivalence-based labeling algorithm for 3D binary medical images was proposed. The algorithm checked the connectivity of the neighbors of the current voxel for labeling individual objects in optical order and was efficient for images with complicated connected components.
Despite the fact that the existing approaches work well in segmentation, most of them are complex and have a long computation time. In the case of autonomous cars, the goal of segmentation is to identify whether points are obstacles. Therefore, in this paper, a fast segmentation approach that removes the ground points and the points over the vehicle is proposed for the obstacle detection of autonomous cars.

Proposed Obstacle Detection Algorithm
The small autonomous vehicle system proposed in this paper is a four-wheel electric scooter with four independent motors and a joint between the front part and the rear part. The location and orientation of the scooter are provided by the combination of GPS and a gyroscope (Gyro), so that the system can record the moving trajectory and follow the planned path to the goal. A LiDAR scans the point cloud of the surrounding obstacles and the camera allows remote monitoring.
The collision-free path planning is divided into five steps: (1) Use GPS to find the straight path between the current position and the end point.  5) Return to the path after avoiding the obstacle, then repeat the above steps until reaching the target end point.
In this paper, various sensors are combined with the above-mentioned electric scooter to enhance the ability to monitor the surrounding environment. The goal of local path planning is obstacle avoidance. Before detouring to avoid an obstacle, the robot first has to detect obstacles by sensing the environment. In this paper, a fast point cloud segmentation is proposed for obstacle detection. The proposed algorithm uses the point cloud data captured by the LiDAR to detect obstacles. The point cloud is processed by the following steps: (1) ground object detection, (2) projection and clustering, (3) obstacle detection, and (4) moving direction decision. Details are given in the following subsections.

Ground object detection
Since, in practice, the scan rate of the LiDAR is 10 frames/s, the total processing time of point clouds should be within 0.1 s. In this paper, not only the ground points but also the points over the object are removed. The proposed algorithm uses a vertical threshold; thus, the object shapes are ignored and only object distances are considered. The height of the vehicle, H O , is considered as the appropriate threshold and a point, P i , located within this range is considered as a region of interest (ROI) point. As shown in Fig. 1, the ROI criteria can be expressed as and where z i is the height of a scan point P i , H T represents the vertical height obstacle threshold, and H Tl represents the vertical pit threshold.

Grid clustering
To reduce the number of points, the points out of the range are discarded and the candidate points are projected onto a horizontal plane. The projected points are grouped into several grids to form a grid map. The grid-based grouping aggregates the points of the grids within a fixed distance; thus, the massive point cloud is compressed and represented as a grid map. Figures  2(a) and 2(b) show the point cloud of ground objects and the corresponding aggregate grid map, respectively. The projection can be expressed as cos sin cos cos where γ is the measured distance, ω is the elevation angle of the scanning line, and α is the azimuth angle of the scanning line.

Obstacle detection based on grid feature
After reducing the data, obstacles can be easily found by the connected-component labeling (CCL) method or a region-growing approach. In this paper, the region-growing approach is adopted. The seed points are selected from nonempty grids from near to far. The obstacles are then grown from these seed points to adjacent points depending on the 8-connected neighborhood. The region growing stops when no more nonempty grids are neighbors. If an unclassified object grid is found, it is regarded as the seed point of the next cluster. This process continues until all the nonempty grids are grouped. The grouping result is shown in Fig. 2(c). Consider a grid belonging to an object, O k , and its 8-connected neighbors, g m,n , where i − 1 ≤ m ≤ i + 1 and j − 1 ≤ n ≤ j + 1. Then, the 8-connected neighbors are checked for connectivity by using

Moving direction decision
Robot navigation has been a very popular research topic for the last few decades. The navigation function usually depends on various sensors, and many path planning algorithms have been proposed. (13)(14)(15)(16)(17)(18)(19) In this paper, the Bug algorithm is adopted for local path planning to avoid obstacles. The term "Bug algorithms" first came into existence in the late 1980s. Bug algorithms are classical and widely used for sensor-based path finders. There are different types of algorithms: Bug 1, (13) Bug 2, (13) Tangent Bug, (14) Dist Bug, (15) and Wedge Bug, (16) all of which are usually called Bug algorithms. The classic Bug algorithm consists of two main steps: (1) moving toward the target mode, (2) walking along the edge mode. In Step 1, the algorithm determines the movement and termination of the path, and in Step 2, the path is used to avoid obstacles then the robot returns to the path. Since the vehicle system proposed in this paper uses a LiDAR to improve the sensing range, obstacles can be detected within a certain distance,

Experimental Results
The proposed integrated multisensor system is mounted on a four-wheel electric scooter driven by four independent motors. As shown in Fig. 3, the scooter has a joint between the front part and the rear part. The joint makes the scooter turning more flexible. The advantages of this mobile platform are a small gyration radius, strong grip, and high transmission efficiency. The LiDAR used in this study is a 16-channel multilayered VLP-16 LiDAR. The scanning rate is 10 frames/s and a frame has more than 30000 points. With the proposed method, the ROI of a frame can be reduced to 30% of its original size, and there are about 1000 clustered grids per frame. The results obtained in three test environments are shown in Table 1. The obstacles can be detected rapidly because the amount of data is reduced by 95%. In Figs. 4(a) and 4(b), the original point cloud data and the grid map are shown. In Fig. 4(a), there are 12797 ROI points, which are selected from 27605 points of a point cloud. Then, these points are grouped into 806 grids. Only 4% of the data are used for obstacle detection, significantly increasing the detection speed. Figure 5 shows the object labeling results for three test environments.
The software simulation of the proposed algorithm showed good results since the planned path was very similar to the shortest path. However, in the field test, the accuracy of GPS and the control strategy decrease the performance of the proposed algorithm. The first testing   Fig. 6(a) is a parking area with a smooth road. The distance from the start to the goal is about 30 m and there are five fixed obstacles in the area. The shortest path is 32 m, whereas the planned path is 85.8 m. The second testing environment shown in Fig. 6(b) is a trail with a rough surface. The distance from the start to the goal is about 30 m and there  are five fixed obstacles in the area. The shortest path is 32 m, whereas the planned path is 94.1 m. Again, because of the accuracy of GPS and the control strategy, the proposed system in practical experiments not only plans a longer path but also takes more time to find a path than the software simulation. A comparison of the planned path with the different test environments is given in Table 2.

Conclusions
In the past decade, multitype sensors have usually been used in robot navigation to gather information on objects of different materials in environments that were sometimes dark or contain shadows. While the performances of passive sensors, e.g., cameras and thermal sensors, are usually affected by environmental conditions, active sensors, e.g., LiDAR and radar, are robust to the weather and illumination. Recently, 3D depth images acquired by LiDAR have been widely used in self-driving systems. However, the massive amount of data in a point cloud results in a long computation time, and it is a big challenge to process such massive data in real-time applications. Therefore, in this paper, an autonomous vehicle system with the ability to detect obstacles and to plan a collision-free path simultaneously by using various sensors is proposed. The key technology used is rapid obstacle detection using 3D-to-2D projection and clustering by grids. Obstacles can be detected rapidly because the amount of data is reduced by 95%. After applying the point cloud preprocessing method proposed in this paper, the real-time detection performance of obstacles was greatly improved, and each data analysis was completed within 10 ms. Our software simulation of the proposed algorithm showed good results since the planned path was very similar to the shortest path. However, in the field test, the accuracy of GPS and the control strategy decreased the performance of the proposed algorithm. In future work, improving the accuracy of GPS and the control strategy is expected to reduce the path length planned by the proposed system and increase the processing speed.