Autonomous Navigation of Indoor Service Robot With Object Recognition Using Deep Learning
Autonomous Navigation of Indoor Service Robot With Object Recognition Using Deep Learning
Autonomous Navigation of Indoor Service Robot With Object Recognition Using Deep Learning
https://doi.org/10.22214/ijraset.2022.44316
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
Abstract: Indoor Service robots are becoming popular day by day. The task of service robot is to perform some predefined tasks
originally done by human in houses, schools, offices etc. This paper proposes an autonomous indoor service robot system
integrated with multi-sensors such as Lidar and Kinect for the smooth functioning of indoor service robots. Firstly, a map of the
environment is created using Simultaneous Localization and Mapping (SLAM), a commonly used technique for creating map
and positioning the robot at the same. In this paper different Lidar-based SLAM are compared and the best SLAM is chosen for
creating 3D map for this system. For autonomous navigation, path planning plays a key role for fulfilling the task. A* algorithm
is incorporated with this system to plan a global path. But global path planning algorithm fails to complete its task if any new or
dynamic objects come to its path of navigation. To overcome such situations, a local path planning algorithm called Dynamic
Window Approach (DWA) is added to this system. Another inevitable element in autonomous navigation is localization of robots
in the map. Adaptive Monte Carlo Localization (AMCL) is the technique applied in the proposed system to localize the robot for
the effective navigation of indoor service robot. To enhance the performance of service robot, YOLOv5 model is integrated with
this system for real time object detection. The entire system is simulated in an open-source framework called Robot Operating
System (ROS).
Keywords: SLAM, AMCL, A* algorithm, DWA, YOLOv5
I. INTRODUCTION
Indoor service robot delivers many useful services for organizations and humans in various sectors. With the advances of artificial
intelligence technology, indoor service robots have been growing rapidly. Today, in many sectors, service robots replaced human
labour. Many studies have been carried out on how to improve the performance of service robots.
A commonly used technology called Simultaneous Localization and Mapping (SLAM) finds application in indoor service robots for
constructing the map of an environment and estimating its own position at the same time, Zhang et al. [1] analysed three different
2D Lidar-based SLAM algorithm in indoor rescue environment along with path planning algorithms. At present, very rare systems
combined SLAM and path planning algorithm for the autonomous indoor navigation of service robots. The integration of SLAM
with localization and path planning is a challenging task in many situations. Zhang et al. [2] proposed an intelligent hotel service
robot based on Robot Operating System (ROS) integrated with Gmapping and D* path planning technique. For any autonomous
robot navigation, the ability of localization of robot is an inevitable factor. The problem of autonomous navigation and location is
solved in [3] by proposing an efficient Adaptive Monte Carlo Localization (AMCL) method to align the map built by a multi-robot
system.
Object recognition capability of robots is a major area of research in the field of robotics. Deep learning object detection algorithms
such as You Only Look Once (YOLO), Single Shot Detector (SSD), Faster R-CNN etc have been used in many robotic applications.
In [4,5,6,7] object detection using pre-trained Convolutional Neural Networks (CNNs) integrated with visual SLAM to enhance the
robotic capabilities. In this paper, three commonly used Lidar-based SLAM algorithms are evaluated in simulation environment.
The map constructed with SLAM algorithm is tested with A* algorithm for global path planning and Dynamic Window Approach
(DWA) technique for local path planning. The effectiveness of combining SLAM technique with AMCL localization, A* path
planning, DWA algorithm and YOLOv5 object detection in autonomous navigation of ROS robot is also studied in this paper.
This paper is organized as follows: Section II describes the system structure; Different mapping techniques are discussed in section
III; Section IV explains the localization method; Navigation system is presented in section V; path planning algorithms for
navigation is briefly given in section VI; section VII discusses the object detection algorithms used in the proposed system; The
conclusion is presented in section VIII.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2339
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
III. MAPPING
Mapping is a significant step for autonomous navigation robots to do the tasks of indoor service robots. Simultaneous Localization
and Mapping (SLAM) is a widely used technology that builds the map of the environment and locates the robot in that map
simultaneously.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2340
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
A. SLAM Algorithms
The most common types of SLAM algorithms are Visual SLAM and Lidar SLAM. The visual SLAM uses the visual input from a
camera to construct the map of an unknown environment, whereas Lidar SLAM makes use of laser sensor and odometry to create
the map of the surroundings. In this project, lidar based SLAM algorithm is used for mapping. Different types of lidar SLAM
algorithms are available. This paper discusses and compares four commonly used lidar SLAM algorithms namely, Gmapping,
Hector SLAM, Karto SLAM and Cartographer. The rqt graph for mapping an environment in ROS is given in Figure 2. The
/maping_node can be any one of the above mentioned SLAM.
1) Gmapping: Gmapping is widely used laser-based SLAM algorithm for creating grid maps. It uses Rao-Blackwellized Particle
filter method for constructing the map of a given environment. Sensor data from lidar and odometry from IMU are the inputs
used for Gmaping. In this method, a large number of particles are involved in creating a map. Each particle carries an individual
map of the environment based on the input data. The four importance steps in Gmapping are sampling, weights calculation,
resampling and map updating.
Sampling: Given a proposal distribution, the particles from previous generation are first sampled. These particles are then
improved using the recent observations. Finally, new particles and proposal distributions are generated.
Weight calculation: As there are many particles, it is important to calculate the weight of each particle to determine the
importance of that particle. The weight, wt(i) is calculated using the equation 1.
(1)
where z1:t is the sensor data, u1:t is the odometry data, x1:t is the robot pose, denotes the positioning problem and
is the proposal distribution.
Resampling: In this step, particles with lower weights and discarded. Also some resampled particles are added keeping the same
total number particles.
Map updating: The map is updated using the pose represented by each particle and the current observation. The update equation
is given by equation 2.
(2)
The gmapping package in ROS provides a node called slam_gmapping, which builds a map using lidar scan and odometry. Figure 3
shows the environment created using Gazebo. Figure 4 shows the mapping of environment using Gmapping. The final map obtained
using gmap is shown in Figure 5.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2341
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
Figure 4: Mapping the environment using Gmapping Figure 5: Final map obtained using Gmapping
2) Hector SLAM: Hector SLAM is also a lidar-based SLAM. This algorithm uses lidar scan and priori map as input to build the
map of an unknown environment. Hector SLAM does not require any odometry data mapping. Hector SLAM makes use of
scan matching algorithm to determine the distance translation and rotation robot between two scans. The Gaussian-Newton
iteration formula is also used to obtain the optimal pose of the robot in the map. In ROS, hector_SLAM package is available to
implement hector SLAM. The Figure 6 shows the mapping of the given unknown environment using hector_SLAM package in
ROS. The final map constructed using hector mapping is shown in Figure 7.
Figure 6: Mapping the environment using Hector SLAM Figure 7: Final map obtained using Hector SLAM
3) Karto SLAM: Karto SLAM is a graph optimization-based SLAM algorithm. This algorithm is very useful in cases where the
environment to be mapped is very large. As it is based on graph optimization, a diagram with nodes is created for the
environment. Each node in the diagram represents the pose of the robot base on its trajectory and sensor data. Edges connecting
the nodes represent the movement between positions immediately following each other. When a new node is added, the map is
updated by estimating a spatial optimal node configuration. The package used for implementing karto SLAM in ROS is
slam_karto. Figure 8 shows the mapping of the environment using karo SLAM. The final map is shown in Figure 9.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2342
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
4) Cartographer SLAM: Cartographer SLAM is also a graph optimization algorithm. It is a real-time indoor SLAM developed by
Google. Cartographer SLAM has the advantage of avoiding the interference of dynamic objects in the environment during
mapping. The Google open source SLAM tool is composed of two parts: Cartographer and Cartogra-pher_ROS. The task of
Cartographer is to process the data from Lidar, IMU, and odometers to build the map of the given environment.
Figure 8: Mapping the environment using Karto SLAM Figure 9: Final map obtained using Karto SLAM
The Cartographer_ROS then converts the acquired sensor data through ROS communication mechanism into the Cartographer
format for processing by Cartographer. The Cartographer processing result is released for display or storage.
The package used for cartographer SLAM is cartographer. The mapping using cartographer SLAM is shown in Figure 10. The
Figure 11 shows the final map created using cartographer SLAM.
Figure 10: Mapping the environment using Cartographer SLAM Figure 11: Final map obtained using Cartographer SLAM
Among the final 2D maps created using various SLAMs, the boundaries are well defined in the case of Hector SLAM. All other
maps contain noises which may lead to poor navigation while integrating with navigation stack.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2343
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
TABLE I
PERFORMANCE OF VARIOUS SLAM ALGORITHMS
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2344
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
IV. LOCALIZATION
A robot without correctly localizing itself in the constructed map cannot navigate and reach the goal location. For each step it takes,
the position and orientation of the robot should be updated in order to take correct subsequent steps. So localization is an inevitable
part in autonomous navigation robots.
amcl package takes map, lidar scan and odometry data as input as shown in Figure 14. After processing the input, it publishes “amcl
pose” topic which provides the corrected odometry information.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2345
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
V. NAVIGATION SYSTEM
For the autonomous navigation of robot, proper velocity commands have to be given to the robot based on goal location and robot
pose. To implement autonomous navigation, Navigation stack in ROS is used in this system. Figure 15 shows the Navigation stack
set up.
Sensor Transforms, Odometry source, SLAM and Goal Controller provides inputs to the Navigation stack. The inputs are processed
by Navigation stack and it finally gives the velocity commands to the base controller. Lidar scan details are given by Sensor source
package. Sensor Transforms package tells the physical position and orientation of different robot components such as robot base,
wheel position, Lidar, camera etc. SLAM provides the map of the indoor environment which helps in planning the path of
navigation of robot. The orientation and position of the robot is given by the Odometry source package. This helps to properly
localize the robot. The goal controller provides the goal location to which the robot has to reach.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2346
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
The velocity of right wheel Vr and left velocity Vl are given by equations 3 and 4 respectively.
(3)
(4)
where l is the distance of separation of the two wheels, R is the distance between ICC to the midpoint of the wheel and ω is the rate
of rotation about the ICC. Equations 3 and 4 can be used to solve for R and ω at any instance of time. The expression for R and ω is
by equation 5 and 6 respectively.
(5)
(6)
B. Odometry Model
An Odometry source package provides the odometry information, i.e., location and orientation of the robot. If the robot is positioned
at (x, y, θ) at time t, then the next position (x1, y1, θ1) can be calculated using equations 7 - 12.
(7)
(8)
(9)
(10)
(11)
(12)
where, (x, y, θ) is the current coordinates of the robot, (δx(t), δy(t), δθ(t)) is the change in coordinates at time step t and Vs(t) is the
instantaneous velocity at the center point of the robot. The equation for Vs(t) is given in equations 13 and 14.
To estimate the position and orientation for localization, this odometry model is required.
(13)
(14)
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2347
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
C. Transform Tree
A transform provides details of position and orientation relationships between different components of robot attached to robot
platform. In ROS, transforms forms a tree. This Transform (tf) tree contains nodes, each representing a frame. Each node has a
parent node and many numbers of children. In a tf tree the location of a frame is specified with respect to its parent node. Figure 17
shows the tf Tree graph of the proposed system.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2348
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
TABLE IV TABLE V
GLOBAL COSTMAP PARAMETERS LOCAL COSTMAP PARAMETERS
update frequency 10 update frequency 10
static map true static map false
rolling window true
Width 3
Height 3
Resolution 0.05
Figure 18: Goal location specified by the user Figure 19: Optimal path obtained by using A* algorithm
A. A* Algorithm
A* algorithm is a heuristic function based algorithm for finding optimal path from current location to target location. The A∗
algorithm uses the cost function to determine a path for the robot to move towards the end point. The cost function used in A*
algorithm is given by equation 15.
(15)
where f(n) is the estimated cost of the cheapest solution, g(n) is the cost to reach the current node (n) from the start state and h(n) is
the cost to reach from node n to the goal node. In A* algorithm, h(n) is calculated using the Manhattan distance between the two
points in space. The Manhattan distance between two points (x1, y1) and (x2, y2) is calculated using equation 16.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2349
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
(16)
Figure 18 shows the goal location specified by the user. The optimal path obtained by using A* algorithm to reach the goal location
is given in Figure 19.
Figure 20: A new object placed in the simulated environment Figure 21: Path using DWA algorithm to avoid obstacle
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2350
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
TABLE V
Comparison Of Different Yolo Versions
Measure YOLOv3 YOLOv4 YOLOv5l
Precision 0.73 0.69 0.707
Recall 0.41 0.57 0.611
F1 score 0.53 0.63 0.655
mAP 0.46 0.607 0.673
Figure 22: Detections in an image using YOLOv3 Figure 23: Detections in an image using YOLOv4
The results show that number of objects detected of YOLOv5 is higher when compared with the other two versions.
At first, four models of YOLOv5 were available. The four models are Small, Medium, Large, and Extra-large. Now each model has
two versions P5 and P6. P5 version has three output layers i.e., P3, P4, and P5. This version is trained on 640×640 images. P6
version has an extra output, p6 layer other than P3, P4, and P5.
As shown in Table VII, YOLOv5x of P5 model and YOLOv5l6 of P6 model has the highest mAP (Mean Accurate Precision) value.
This system uses a model that combines YOLOv5x and YOLOv5l6 to obtain an improvement in performance of object detection.
This technique of combining different models is generally known as ensemble technique.
TABLE VII
COMPARISON OF DIFFERENT YOLOv5 VERSIONS
Measure YOLOv5s YOLOv5m YOLOv5l YOLOv5x YOLOv5n6 YOLOv5s6 YOLOv5l6
Size (pixels) 640 640 640 640 1280 1280 1280
mAP 56.8 64.1 67.3 68.9 63.7 69.3 71.3
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2351
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
TABLE VIII
PERFORMANCE EVALUATION
Model mAP Recall value
YOLOv5x 0.568 0.69
YOLOv5l6 0.599 0.74
Ensemble model 0.607 0.76
The results show that there is an improvement in combining YOLOv5x and YOLOv5l6 models. So the proposed system used this
model to detect the objects.
VIII. CONCLUSION
This paper introduces an autonomous navigation robot for indoor services. The system integrates Hector SLAM, AMCL, A* and
DWA algorithm. Also it is incorporated with an object detection algorithm that combines YOLOv5x and YOLOv5l6 algorithms.
The proposed system was simulated in ROS. The simulation results proved that the proposed system succeeded in accomplishing
the task of autonomous navigation of robot in an indoor environment. Also,tThe object detection model that combines the
YOLOv5x and YOLOv5l6 algorithm is found have improvement the performance of detection. As a future work, the hardware of
the proposed system can be made and evaluated. Also this sytsem can be extended to perform a specific indoor service robot.
REFERENCES
[1] Xuexi Zhang, Jiajun Lai, Dongliang Xu, Huaijun Li and Minyue Fu, "2d Lidar-Based Slam and Path Planning for Indoor Rescue using Mobile Robots",
Journal of Advanced Transportation, 2020.
[2] Y. Zhang, X. Wang, X. Wu, W. Zhang, M. Jiang and M. Al-Khassaweneh, "Intelligent Hotel ROS-based Service Robot," 2019 IEEE International Conference
on Electro Information Technology (EIT), 2019, pp. 399-403, doi: 10.1109/EIT.2019.8834040.
[3] Zhang, Baoxian, Jun Liu and Haoyao Chen. “AMCL based map fusion for multi-robot SLAM with heterogeneous sensors” IEEE International Conference on
Information and Automation (ICIA), 2013 , 822-827.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2352
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VI June 2022- Available at www.ijraset.com
[4] P. Maolanon, K. Sukvichai, N. Chayopitak and A. Takahashi, "Indoor Room Identify and Mapping with Virtual based SLAM using Furnitures and Household
Objects Relationship based on CNNs," 2019 10th International Conference of Information and Communication Technology for Embedded Systems (IC-
ICTES), 2019, pp. 1-6, doi: 10.1109/ICTEmSys.2019.8695966.
[5] R. Raveendran, S. Ariram, A. Tikanmäki and J. Röning, "Development of task-oriented ROS-based Autonomous UGV with 3D Object Detection," 2020 IEEE
International Conference on Real-time Computing and Robotics (RCAR), 2020, pp. 427-432, doi: 10.1109/RCAR49640.2020.9303034.
[6] P. Jensfelt, S. Ekvall, D. Kragic, and D. Aarno, “Integrating slam and object detection for service robot tasks,” in IROS 2005 Workshop on Mobile
Manipulators: Basic Techniques, New Trends and Applications, Edmonton, Canada, 2005.
[7] M. Kulkarni, P. Junare, M. Deshmukh and P. P. Rege, "Visual SLAM Combined with Object Detection for Autonomous Indoor Navigation Using Kinect V2
and ROS," 2021 IEEE 6th International Conference on Computing, Communication and Automation (ICCCA), 2021, pp. 478-482, doi:
10.1109/ICCCA52192.2021.9666426.
[8] Zheng K," ROS Navigation Tuning Guide", 2017, Arxiv [Preprint],https://doi.org/10.48550/arXiv.1706.09068.
[9] Fox, Dieter & Burgard, Wolfram & Thrun, Sebastian, "The Dynamic Window Approach to Collision Avoidance", 1997 IEEE Robotics & Automation
Magazine, Vol.4, pp. 23 - 33, doi:10.1109/100.580977.
[10] U.Nepal, H.Eslamiat, "Comparing YOLOv3, YOLOv4 and YOLOv5 for Autonomous Landing Spot Detection in Faulty UAVs", 2022 Sensors 22, 464,
https://doi.org/10.3390/s22020464.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2353