2D mapping using omni-directional mobile robot equipped with LiDAR

ABSTRACT


INTRODUCTION
Environmental maps are needed in various applications including car navigation, obstacle avoidance for robots, search and rescue, and surveillance tasks, both in outdoor and indoor areas.Mapping information in a room or building is very useful both for robot in carrying out their duties or for humans who want to know a room that is difficult to reach [1,2].With the mapping of a room, information about the environment is obtained [3,4].Object tracking in buildings is needed for public safety and commercial interests [5].Several studies have been conducted to avoid collisions, especially for dynamic obstacles [6], which is very useful for unknown robot environments [7,8].For the security aspect of human-robot interaction, it is necessary to have an accurate and fast obstacle avoidance method as a basic requirement for intelligent robots.Therefore, the establishment of an efficient, precise and inexpensive mapping technology is increasingly needed [9].
Currently the development of sensor technology is quite rapid.The implementation of the light-detection-and-ranging (LiDAR) sensor on the robotic navigation system has a great influence on predicting the surrounding environment in real-time [10,11].Compared with radar and sonar, LiDAR technology has very high accuracy, especially for short distance measurements in indoor mapping [12].LiDAR is a distance measuring technology by reflecting laser light from an object, uses a single and coherent light on a particular The beam has a small divergence and high intensity to be able to reach long distances object.This distance measurement method is divided into two categories, namely time of flight (ToF) and triangulation.The working principle of ToF LiDAR is to emit a laser beam to the object and then the reflection of the beam will be captured by the receiver.Travel time since the light is emitted until it is received back will be processed into distance data.The counter will measure the time between the laser pulses that arrive at the target and return to the receiver [13].Whereas in the triangulation method, the distance to the object is directly proportional to the angle of the reflected light.The camera can estimate the actual distance using the concept of a triangle equation.
The robot operating system (ROS) is open source so it is possible to process LiDAR data so that it can produce better and more accurate mapping visualizations.Thus, this robot is expected to be able to provide information about the map of the room in real-time.Mobile robot can be used as a sensor node and moves to map the desired area [14].Autonomous vehicle navigation has become an important research fields in a variety of applications including navigation, localization, and mapping [15,16].The intelligent mobile robots require accurate maps to navigate their environment.Simultaneous localization and mapping (SLAM) has become the most priority as a mapping method [17].This method overcomes the problem of constructing maps in unknown environments [18,19].SLAM has become an essential technology in the field of robotics, automation and computer vision.Among the various sensor modalities, cameras are low cost and provide rich visual and environmental information, which has growth in the future [20].SLAM is the challenge of placing a robot at an unknown environment, then using the onboard sensors, the robot constructs a map of the surroundings and utilize this map to know robot's position [21].
This algorithm can be developed for mapping the agricultural environment using both a camera and a laser scanner [22,23].There are many ways to represent a 2D environment, in which the occupancy grid is the most relevant method for representing topological maps, line maps, and landmark based maps [24].Occupancy grid uses probability values to make more detailed map representations.Each cell in the occupancy grid has a value that represents the probability of the cell's occupancy.A value close to 1 represents a high probability that there is an obstacle.Meanwhile, a value close to 0 indicates the probability that cell is not occupied and is free of obstacles.Accurate object modeling is an interesting challenge in remote sensing regarding with the LiDAR point cloud.This approach can produce accurate building models quickly compared to traditional methods [25,26].LiDAR-based SLAM combines positioning and mapping involving multiple consecutive scan point frames or scan matching [9].Localization using scan matching generally involves the iterative closest point (ICP) algorithm.The ICP is a method used to minimize the difference between two-point cloud.The method is based on point cloud segmentation used to reduce processing time followed by grouping.This algorithm is often used to reconstruct the surface of the scan results for robot navigation purposes.
Raspberry Pi 3 Model B is the third generation of the Raspberry Pi product.With small dimensions and high computing capability, this development board is widely used in single-board computer (SBC) based robots.The operating system of the Raspberry Pi 3 Model B is booted through a micro SD card and runs with various operating systems, such as Ubuntu, Windows 10 IoT, Raspbian Strech, Noob and others.This SBC has a Broadcom BCM2837 system, an ARM Cortex-A53 64-bit Quad Core Processor with a speed of 1.2 GHz.The Raspberry Pi 3 model B has 40 I/O pins, 1 GB of RAM, 4 USB ports, 802.11 wireless LAN, bluetooth low energy 4.1, an HDMI connector and a 3.5 mm audio connector [27].The Raspberry Pi is designed like a SBC module so that it can be called a mini computer.To be accessible, the Raspberry Pi must be connected to other necessary peripherals such as a monitor screen (via HDMI) and input/output devices such as a keyboard and mouse [28].

RESEARCH METHOD
Figure 1 shows the scheme of the overall system used in the experiment and block diagram of the robotic system.The YDLiDAR X4 sensor is used as an indoor 2D scanner.The working principle of this sensor uses the triangulation method in determining the distance of the object.The LiDAR uses a laser that meets FDA class 1 standards.This sensor is equipped with a dc motor so that it can perform 360 scanning.The results of the scan are angular values along with the distance of the object.
The SBC of Raspberry Pi 3 B is used to access the LiDAR sensor.The LiDAR data is then sent to the computer wirelessly to be processed into a map.This computer and SBC are integrated in the ROS.Distance data collection from LiDAR measurements will be compared with the actual distance to find out its accuracy.The movement of the robot can use manual control or automatic navigation to explore the room.The commands for the robot movement come from SBC via the Arduino Nano microcontroller.The LiDAR data will be processed on the scan matching to obtain transformation of the position and the rotation without wheel odometry data.This Scan Matching result is an estimate of the position and orientation of the robot.Probability calculations are then needed to determine the value of each grid.The robot is designed using 3 omni-wheels and 12V DC motors which each wheel is separated by 120 degrees, shown in Figure 2. The motor speed is controlled using a proportional-integral-derivative (PID) method to follow the wall.The wall following method has recently become an interesting topic which can help navigate robots in a messy or disorderly environment [29,30].The robot travels along contour of the object with a certain distance.This strategy can be very helpful when a robot is stuck in a deadlock [31].The output of a control signal is a pulse width modulation (PWM) signal.To generate a PWM signal, the AnalogWrite() function is used on the Arduino Nano microcontroller.
The Hector SLAM algorithm determines the position of the robot based on Scan Matching.The Hector SLAM algorithm uses the Gaussian-Newton minimization method which is considered to replace the Newton method.The LiDAR data will be used to determine the obstacles encountered by the robot.These obstacles will be represented in Occupancy Grid mapping.In Hector SLAM, to determine occupancy in the grid, log-odds probabilities that follow the rules of probability of Bayes are used.Bayes probability is a recursive probability calculation that involves the value of the previous calculation.If ( , ) is the probability of grid occupancy at the coordinates x and y, () is the probability of measuring LiDAR [22], then the probability equation based on Bayes is: Bayesian equations for the probability of grid occupancy when the presence or absence of obstacles can be expressed as: To make the equation of log-odds probability, the odd formula is used first to calculate the ratio of the probability of the map: From ( 2), ( 3) and ( 5), we get the following equation:

RESULTS AND ANALYSIS 3.1. The YDLiDAR X4 sensor measurement
In this experiment, a range of LiDAR sensor was measured.Table 1 shows the results of distance measurements by the LiDAR with a range between 0.5-12.5 m where the average error rate is 1.1%.This indicates that the sensor can be used to map a room.The LiDAR cannot measure distances greater than 10.5 m.

Wall-following robot
In this experiment, the response of the robot was measured to maintain the distance to the wall using PID control.The PID parameters are obtained by manual tuning method where the value of kp is 20, ki is 0, and kd is 1000.Figure 3 shows that the movement of the robot in following the wall is quite good even though there is a steady state error.The purpose of this control is to keep the robot in the LiDAR measurement range and to minimize changes in the movement of the robot.Large changes in movement will result errors in mapping.Figure 3. Response of wall-following robot using PID control

Robot position using scan matching
The Hector SLAM method is used to determine the position of the robot without the wheel odometry but instead uses scan matching.In this experiment, a comparison was made between the actual robot position and the results of Scan Matching.This experiment is carried out by running the robot with the keyboard control as far as the specified distance, as shown in Figure 4. Based on Table 2, the average errors in the x-axis and y-axis are 2.69%, and 5.11%, respectively, (or the total error rate of 3.9%).Because the position of Hector SLAM involves the Scan Matching method, the error from the LiDAR sensor will affect the position of the robot.

Room mapping
The SLAM algorithm is used to construct unknown environment map while simultaneously tracking the location of the robot within it.Therefore, it is necessary to use ground truth to verify the estimation results [32].In this experiment, we use a model room that has a size of 2.4 m x 2.4 m and then carried out a trial in a real room with a size of 12 m x 8.4 m, as the ground truths.Room mapping can be carried out by running the mobile robot wirelessly via a keyboard on a laptop (manual mode).This mapping is also carried out by running the mobile robot automatically to explore the room by following the wall (automatic mode).The LiDAR data is then sent to the computer to be processed and displayed using the rviz tools.All data collected during mapping this room is stored in a rosbag.In the first experiment, the robot is run automatically in tracing the entire room according to the design in Figure 5. Table 3 show an average error rate of 5.32%.The last experiment was carried out in a real room, as shown in Figure 6.It shows that the movement of the robot manually and automatically has measurement error rate of 4.00%, and 4.59%, respectively.This indicates that the omni-directional mobile robot equipped with LiDAR is able to make room maps automatically.

CONCLUSION
In this study, an omni-directional mobile robot equipped with a LiDAR sensor has been developed for mapping a room.The YDLiDAR X4 sensor is used as an indoor 2D scanner.The SBC of Raspberry Pi 3 B is used to access the LiDAR sensor.The LiDAR data is then sent to the computer wirelessly to be processed into a map.This computer and SBC are integrated in ROS.The movement of the robot can use manual control or automatic navigation to explore the room.The commands for the robot movement come from SBC via the Arduino Nano microcontroller.The Hector SLAM algorithm determines the position of the robot based on Scan Matching of the LiDAR data.The data is used to determine the obstacles encountered by the robot.These obstacles will be represented in Occupancy Grid mapping.The experimental results show that the LiDAR sensor has a measurement range of 0.12-10.5 m.The robot is able to follow the wall using PID control.The Scan Matching method is able to predict the position of the robot with an error rate of 3.9%.Experiment in the model room, the robot can build maps with an error rate of 6.44%.Whereas, experiment in actual room, the robot can move automatically to construct maps with an error rate of 4.59%.These results indicate that the mobile robot equipped with LiDAR are able to build maps accurately.For future work, we will develop three-dimensional mapping using a mobile robot accompanied by LiDAR to search for victims in a collapsed building.

Figure 1 .
Figure 1.(a) Scheme of the robotic system, (b) Block diagram of the robotic system

Figure 2 .
Figure 2. (a) Design of the omni-wheel motor drivers, (b) Wall-following robot, (c) Block diagram of the PID control

Figure 4 .
Figure 4. (a) Measurement of position data, (b) Occupancy grid testing

Figure 5 .
Figure 5. (a) Design of the experimental model room, (b) Result of mapping

Figure 6 .
Figure 6.(a) The actual room, (b) Map resulted in the automatic mode, (c) Map resulted in the manual mode 1473

Table 1 .
Distance measurement by the LiDAR TELKOMNIKA Telecommun Comput El Control  2D mapping using omni-directional mobile robot equipped with LiDAR (Muhammad Rivai) 1471

Table 2 .
Position of the robot using scan matching

Table 3 .
Size of mapping result in the experiment