Critical Design and Control Issues of Indoor Autonomous Mobile Robots: A Review

Robots that can move autonomously and can make intelligent decisions by perceiving their environments and surrounding objects are known as autonomous mobile robots. Such robots have rapidly moved from laboratories to automated industries to fill a variety of roles in our lives, homes, offices, hospitals, industries, and even on the streets. The interest in mobile robots is growing rapidly, prompting an enormous amount of research over the last 30 years, on critical factors of mobile robots such as locomotion, perception, localization, mapping, ego-motion tracking, and dynamic navigation. This article surveys these essential factors of autonomous mobile robots in terms of mathematical modeling, control issues, and challenging factors. Brief discussions are provided on the fundamentals of these technologies, popular algorithms in comprehensive mode, future challenges, and promising directions to guide the construction of an autonomous mobile robot with high accuracy and effectiveness. Since it is difficult to find complete coverage of those topics in a single location, this article provides a guideline for researchers entering the field or for innovators in the mobile robotics sector. The paper also examines open challenges in indoor mobile robots and identifies potential futures for autonomous mobile robots.


I. INTRODUCTION
Robotics, which deals with the concept, design, development, control, and application of autonomous systems, is a rapidly growing sector with a wide variety of applications. Technological progress over the years has brought robotics from laboratories to almost all aspects of science, engineering, industry, manufacturing, transportation, and life in general. Even in homes, robots can perform almost any operation, including cleaning rooms [1], serving food [2], controlling doors, and serving humans efficiently [3]. Robots already make an outstanding contribution to the medical sector by serving patients [4], performing critical operations with great precision [5], controlling medical devices, and transporting and instructing patients [6]. The contributions of robotics in industrial and manufacturing sectors of industries are The associate editor coordinating the review of this manuscript and approving it for publication was Yangmin Li . remarkable in the automation of factories, and operating in hazardous environments controlling and carrying large and dangerous devices [7].
One of the rapidly growing technologies of the current world is mobile robots [9]. Mobile robots have been an interest in the research topic for decades now. It is because people imagined intelligent agents to do a lot of fascinating things & computers on wheels with simple sensors were only the beginning of these imaginations. So people researched to identify features, detect patterns and regularities, learn from experiences, localize itself, build maps of its surroundings, navigate to its desired place, and accomplish specific applications [8].
Mobile robots are able to move autonomously in the environment for which they are designed. They can sense their surrounding environments, perform actions in accordance with their instructions, and make decisions that allow them to achieve their tasks efficiently, effectively and safely [9]. Computing power, sensor accuracy, and powerful open-source software have led to mass production and deployment of these robots in various fields such as personal homes, automation industries, medical and health-care sectors, schools, hotel guides, construction sites, unknown land exploration, patrolling, rescuer operations and many more domains.
Any driver would prefer a less complex approach in the case of controlling the robots while handling objects [10]. The efficient design and control of a mobile robot completely depend on many factors such as locomotion, perception, cognition, and navigation. Each aspect contributes to the ability to manipulate the robots properly in the given environment [8].
Locomotion mechanisms are needed in mobile robots for them to move through their environments in order to perform their tasks that can be achieved by properly understanding the kinematics, dynamics, and mechanism of the system [11]. To understand the surrounding of a mobile robot, perception is an important factor that deals with a set of sensors whose data is extracted by the method of cognition to understand the real view of the surrounding environment [9], [12].
The selection of the best route for moving the mobile robot within the environment is done with the help of a navigation approach consisting of path-planning and object avoidance algorithms to generate real-time trajectories and avoid collisions [13]. The key factor of the navigation is localization that helps to optimize the working point of the robot within its surrounding environment [14]. The efficient control of the robot navigation largely relies on the creation of proper mapping of the environment that gives detailed information of the trajectory and obstacles within the environment [15]. Figure 1 shows the basic workflow of autonomous mobile robots using their elements. The mobile robot can be classified based on the operation to be performed. Based on its intended working environment, a mobile robot can be classified as either an outdoor or indoor mobile robot.
Outdoor mobile robots are mainly used in land exploration with the help of global positioning system (GPS) sensors to localize and navigate autonomously. They are used in the agricultural field to automate traditionally labor-intensive agriculture practices, in defense, to assist the military forces to find bombs, harmful objects, or navigate and to gather intelligence [16]. The controlling of locomotion is a critical challenging task for outdoor mobile robots due to the dynamics of landscapes. Indoor mobile robots have developed rapidly from simple line followers that are restricted to move within a fixed-line, to robots that can recognize not only their surroundings but also adjust to accommodate dynamic objects such as people around them. The main challenges for indoor robots are localization and positioning as GPS systems do not work indoors [17]. Simultaneous localization and mapping (SLAM) require high-level sensor fusion techniques with visual perception capabilities. With the exponential advancements in computer science, particularly the growth in artificial intelligence, along with the increase in computing power in edge devices, the efficiency of indoor robot navigation has increased dramatically after 2010 [18], [19]. Some uses of robots in indoor spaces include personal assistants [3], industrial robots [20], waiter robots [21], a personal assistant robot [22], take-care robots [23] etc. are becoming true. Figure 2 is evidence of the increasing popularity of indoor mobile robot throughout the world.  Mobile robotics is based on a broad range of algorithms and technologies which have progressed dramatically in the last twenty years. Cadena et al. [24] have provided a survey of SLAM, explaining open challenges in SLAM and mapping. However, the article did not cover the recent advances of SLAM using deep learning, which has been covered by [19]. This article has surveyed the deep-learning based solutions for localization and mapping, while fundamentals like locomotion and navigation have not been covered. An excellent survey on navigation techniques such as obstacle avoidance and path planning is provided by [18]. Alatise et al. [12] discussed the methods, challenges, and scope of sensor-fusion methods in mobile robotics broadly, but did not discuss other aspects of mobile robotics. These papers are focused on specific aspects of mobile robots and do not provide all of the fundamentals that make the mobile robot reliable and controllable.
The efficient regulation of the indoor mobile robot largely depends on the proper control of locomotion, perception, cognition, navigation as well as mapping. The aforementioned research articles have focused on only one control side of the mobile robot. Detailed information of all the controlling factors of the mobile robot is missing in these research articles. The main motivation of the research article is to provide more detailed information about all controlling factors which makes the design and control procedure easy and efficient. The fundamentals of the mobile robots such as locomotion, perception, navigation, localization, mapping, path planning, and obstacle avoidance as shown in Figure 3 are the essentials aspects of mobile robots which are reviewed in this article in order to provide a comprehensive guide to the researcher. The modeling and control issues of these fundamentals are investigated in terms of mathematical modeling, efficiency, control approach, and computational cost estimation. The available technologies of these fundamentals are analyzed in terms of their integration and design complexity. The minimization of the complexity is reviewed by describing control technologies available in the research community and industry. Different advanced control technique such as machine learning and deep learning is becoming popular due to their high level of accuracy and autonomous control technique. The article also reviews the implementation of deep learning approach in different controlling factors of the mobile robots to explore the new research area in robotics.

A. PAPER ORGANIZATION
The paper begins in section I with a standard formulation of indoor autonomous mobile robots and a brief introduction to their core elements. Section II then begins to address core concepts starting with locomotion in mobile robots, discussing the type of locomotion, use cases, advantages, and limitations. Section III formulates a general concept of how mobile robots perceive the world using sensors, as well as the type of sensor and sensor-fusion methods that can be used. Section IV discusses cognitive models of mobile robots and section V introduces the general components of navigation, with subsection A discussing the kinds of maps generated for mobile robotics applications, and subsection B addressing the basic paradigms of localization providing a comparison. Subsection C overviews SLAM algorithms, SLAM's importance, SLAM paradigms, and recent advances in visual SLAM. Subsection D and E outline cognition schemes for a mobile robot through its path planning and obstacle-avoidance strategies. Section VI highlights recent advances in mobile robotics with the power of deep learning. Section VII discusses open challenges and future trends in mobile robotics and final remarks are in section VIII. Figure 3 provides an illustration of the organization of the paper.

II. LOCOMOTION
Mobile robots need to be able to work in any environment including hazardous, rough, loose, uneven terrain, surrounded by obstacles and taboo areas. Locomotion is therefore fundamental for a robot's movement through the working environment, and not only depends on the nature of the environment or path of the robot's movement but also on vital factors such as the required ability to be controlled, the degree of maneuverability, efficiency, and stability in varying terrain situations [9]. Indoor mobile robots are designed to move, run or walk in order to complete their specified assignments, so can be equipped with legs or wheels or wings sometimes (wheeled robots are proven to be most efficient) [25]. These various multi-terrain robot locomotion procedures have been discussed in this article.

A. GAIT LOCOMOTION
GAIT locomotion implements one of the locomotive mechanisms from nature, such as biped, quadruped, and hexapod. According to one unique method, the leg configuration can be devised on a pantograph mechanism which is spring loaded with multiple segments [36].
The legged locomotion allows the robots to be high in mobility, keeping both dynamically, and statically stable gaits and overcome significant obstacles such as several steps or stairs [37].
The complexity of the limb coordination of any robot depends on the number of legs, which defines the GAIT pattern [25]. If the robot is built with n number of legs then it has the (2n − 1)! possible number of events [8]. The leg configuration can be described in various ways. Table 1 discusses the applications and limitations of different gait locomotion methods and each is described in more detail in the following sections.

1) ONE-LEGGED ROBOT (HOPPER)
A robot can have at least one leg, which is also called ''hopper'' because there is only a single contact point between the ground and foot and the robot has only one kind of motion which is hopping. This comes with the manner of duo subdynamics; one when contact between the leg and ground are in contact and another for contactless situations. [38]. One vital application of these hopper robots is in the research of small celestial bodies such as asteroids and comets where multi-legged or robots with wheeled locomotion are not able to maneuver successfully as the local gravity is relatively low [39].

2) TWO-LEGGED ROBOT (BIPED ROBOT)
Two-legged design is most commonly used in robot locomotion. These two-legged robots, also known as humanoid robots, are able to walk, jump, run and sometimes dance. They can climb stairs and traverse different rough surfaces but dynamic stability is still an issue. Biped robot locomotion has shown several advantages over single or multi-legged locomotion in many research cases [40], due to the dynamic balance.

3) THREE-LEGGED ROBOT (TRIPOD ROBOT)
Three-legged robots are rare as they aren't inspired by any biological examples. The only way these robots can make movements is by moving their center of gravity out of the body keeping the action balanced [25]. Three-legged robots have better mass balance than two-legged in more rugged surface areas.

4) FOUR-LEGGED ROBOT (QUADRUPED ROBOTS)
Quadruped robots are the most easily balanced, having the best dynamic stability. These animal-like four-legged robots are also popular because they can be treated as pet substitutes. There are also six-legged robots called hexapods. In [41], various control architectures are applied in the four-legged robot to monitor robot behavior. These procedures are base on bio-inspired structures help in carrying heavy loads for their dynamic stability and heavy equipment carrying capacity through the rough surface [41].

B. WHEELED LOCOMOTION
Wheeled locomotion is one of the most popular mechanisms as it is the easiest means of locomotion for mobile robotics as it is for many man-made vehicles generally. Wheeled locomotion has achieved very good efficiencies due to its stability, easy controllability, and also relatively simpler mechanical design. Balancing is not really a major concern as the design of wheels guarantee that it is always in contact with the ground thus providing the maximum stability and low acceleration rate, which helps them avoid moving too far too quickly [42]. There are four different types of wheeled locomotion: 1) The Standard Wheel: two degrees of freedom and rotation occurs around the wheel axle and point of contact.
2) The Castor wheel: two degrees of freedom and the turning occurs around the offset steering joint.
3) The Swedish (or Mecanum) wheel: three degrees of freedom and the rotation occurs around the rollers, wheel axle and contact point. 4) The Ball or Spherical wheel: has more surface area than the previous cylindrical castor wheels. Figure 4 portrays all categories of wheels applied in mobile robots. Depending on the environment, the wheel arrangement is considered simultaneously while choosing wheel type [43]. Both the wheel type and wheel geometry play vital roles in the fundamental robot characteristics; maneuverability, controllability, and stability. Stability requires two wheels minimum if the center of gravity is directly below the axle of the wheel, but a two-wheeled robot can strike the ground, for instance, when in motion. Generally, three-wheeled robots are the most stable statically with the center of gravity in the center of the wheels. For further improved stability, the wheel number can be increased. Maneuverability is the ability to maneuver in any direction gradually [25] and is one of the vital concerns of the robot design. Table 2 compares the usage and limitations of the different kinds of wheels in mobile robots.

C. OTHER UNCONVENTIONAL CONCEPTS
Along with the most commonly used types of legged and wheeled locomotion, there are some other types used. The concept of Serpentine Locomotion is taken from the movement of a snake to push the robot's body forward [50]. Track Belt/Slip Locomotion is another technique that overcomes the problems faced by wheeled locomotion to move in soft terrain and has dynamic stability due to its large surface area [51]. Wheeled and legged locomotion are also combined to overcome the drawbacks of both types in what is called the Legged Wheeled locomotion or Walking wheels [52].
These locomotion techniques help the mobile robots maneuver through their indoor environment. Although no one mechanism is suited to all environments, wheeled and legged locomotion systems have many successful applications [25].

III. PERCEPTION
Perception relates to the ability to see, hear, or become aware of the surrounding environment. In robotics, especially for a self-governing mobile robot, perception means the ability to attain knowledge about itself and the external context within which it is located [53]. For a robot to work autonomously, perception is vital and is achieved with the help of high-resolution sensors and algorithms to extract information from them [54]. Figure 5 shows the basic flow diagram of the perception process.
The main components of perception are: • Processing data from sensors • Representation of data (environmental modeling) • Artificial Intelligence Algorithms Perception helps the robot to operate numerous functions [55]: • Detection of human, vehicle and obstacle detection [56] • 2D and 3D environment • Recognition of gesture, voice and some other activity and semantic place classifications • Detection of environmental changes • Classification of terrain [57], All the examples are achieved with the help of some specific and highly precise sensors such as various vision sensors and proximity sensors [9].

A. SENSORS
A sensor can detect physical changes in the environment and transform the changes into electrical signals that can be used in further procedures. Sensors can be categorized into two broad categories [12]: 1) Proprioceptive or Exteroceptive kinds of sensors 2) Active or Passive sensors A proprioceptive sensor is able to read the internal changes of the robot such as the internal battery voltage and temperature, speed of motors used, acceleration, and net loads VOLUME 9, 2021 on the wheels. Exteroceptive sensors measure aspects of the external environment of the robot. An active sensor has its own source of energy, such as an IR proximity sensor, which is emitted and the return measured in some way. A passive sensor can detect energy in response to some kind of inputs from the internal or external environment such as gyroscope motion [11]. A robot will be designed with selected sensors based on its role as an indoor or outdoor robot as well as its allocated tasks.

1) RGB-D SENSOR
RGB sensors are color sensors that are used to detect the color of any surface in the RGB (red, green, blue) scale. An RGB-D camera that can simultaneously report the information about color and depth is a very good solution for needing accurate objection detection. The camera uses in-depth technology measurements and can use a single sensor to measure RGB and depth with high robustness with an excellent signal to noise ratio [59]. One of the cheapest options for an RGB-D sensor is the Microsoft Kinect shown in Figure 6.

2) INERTIA MEASUREMENT UNITS
The basic inertial sensors are combined as Inertia measurement Units (IMU) comprising various sensors such as accelerometers or acceleration sensors, gyro sensors or gyroscope, and magnetometers [12].

a: ACCELERATION SENSOR
An accelerometer can be used to estimate the angle of any vehicle but has great difficulty in detecting the difference between the vehicle's acceleration and the acceleration of gravity. For the axis along g x and g y , the acceleration angle [44] is: Which illustrates that angle estimation accuracy decreases if the vehicle increases or decreases its speed.

b: GYRO SENSOR
A gyro sensor or gyroscope is a mounted wheel with two or three gimbals and pivoting supports which allow wheel rotation about a single axis. One gimbal is seated upon the other with the pivot of orthogonal axes. The other kind of gyroscope has two gimbals one of them is the outer gimbal and the other is the inner gimbal. For gyro angle [44]: where ω is the angular velocity.

c: MAGNETOMETER
Magnetometers are able to measure the strength, direction, and also change in the magnetic field (like a compass). There are combinations of magnetometer and accelerometer, called an accelerometer-magnetometer combination (AMC), that can be used to extract angular rate, sensing motion or in gesture detection, and so on in the concept of virtual gyro in robotics [60].

3) MOTION SENSOR
In object detection techniques, motion sensors play a vital role [61]. These devices can be often integrated with some other comparative components and used as a system that automatically can perform a task such as alerting the user about a motion in a certain area.

4) BIO-POTENTIAL SENSORS
Bio-potential sensors are built with transmitters with confined range and power, used for transmitting biopotential information in form of signals. An algorithm then is operated to compute the signals with the help of the previously recorded value and the measured value. These sensors can be used in an integrated form in making some kinds of wireless headsets [62] and measuring signals from any patient's skin.

5) ENCODERS
An encoder is a kind of electro-mechanical device that can provide motion control with position, velocity, and change in direction. Encoders are of two types; the linear encoder which response to motion along a linear path, and the rotary encoder which response to rotation. Encoders can be connected to the controller for data analysis [63].

6) INFRARED SENSOR
An IR sensor [65] measures the heat energy emitted from an object body and can detect motion of that object [63].

7) OPTICAL FLOW SENSOR
Optical flow sensors can be used to make texture and features visible to determine ground velocity. These sensors can be used in projects where weight and size are issues.

8) LIDAR SENSOR
LIDAR, the acronym for ''Light Detection And Ranging'' is one kind of sensing method, which is often called a laser scanner or 2D LIDAR sensor as shown in Figure 7. LIDAR sensor is one of the most used sensors that measures distance with the help of illuminating a target by laser light and also measure the reflected light with a sensing element [66].

9) PRESSURE AND FORCE SENSOR
The measured force or pressure can be converted into a change in length or other dimensions of a material or spring element. This change can be measured by a sensory element such as a piezo-resistive gauge or any resonant strain gauge or varying capacitance [67] 10) ULTRASONIC SENSOR Ultrasonic sensors are able to measure distance with the help of ultrasonic sound waves. The sensor can quantify the time between emitting the wave and receiving it back, from which it can calculate the distance [68].

B. FUSION TECHNIQUES OF SENSORS
Practically, when sensor data is analyzed, there are many sources of noise and uncertainty [69] such that multi-sensor integration is almost always useful to fuse or combine various sensory information sources into a single representational format. A multi-sensory data fusion (MSDF) system can combine all the complementary sensors, additional sensors, or even from only one single sensor within the constraint of a programmable amount of time [70]. This kind of combination of sensors provides a number of advantages as summarized in Table 3.
Searching methods fall into two basic categories [8].

1) BASED ON AREAS
These types of algorithms mostly identify small portions of the whole image and seek a similar area in the sample image, by measuring the appropriate correlation [8]. There are several methods that are being used for the measurement of the uniformity of the image areas for stereo matching such as the Sum of Absolute Difference (SAD), the Sum of Squared Difference (SSD), and Normalized Cross Correlation (NCC).

2) BASED ON FEATURES
Feature-based algorithms extract prominent features present in the images. These sensors usually consider the corners, edges, blocs, and line segments as the matching features, which are not necessarily to be a geometrically well-defined entities. There's a drawback that these only provide sparse depth maps which must be interpolated. The fusion methods can also be categorized as follows [72]: These types of methods are usable as the data can come from any sensor or be at any state which is unpredictable. The Particle Filter and Kalman Filter are two basic state estimation methods. The Kalman filter estimates some unknown state of the systems of various fields [12] for object tracking, navigation and localization, and the particle filter build a representation based on Probability Density Functions (PDFs).

b: DECISION FUSION METHOD
This method integrates the decisions from multiple classifying units into a single efficient decision about the activity that occurred in the area. This method is able to reduce the uncertainty level by measuring the evidence at a maximum level. One of the two basic types of decision fusion approaches is the Bayesian Approach, which uses the Bayes Theorem to update the probability for any system where more information or evidence is available for analysis. The second type is the Dempster-Shafer (DS) which is widely used in signal recognition and solving with better adaptability in unknown and uncertain territory problems [12].

IV. COGNITION
Whenever the robot is embedded in an environment, it accumulates data about its surroundings and collects data about the route, and becomes more and more familiar with everything around. It can identify the places it visited before. A mobile robot comprises two vital sections; the mechanical structure and the control section. The control section, grounded on perception, processing, and cognitionnavigation, is used to monitor the mechanical construction's ability to achieve the required objectives. [9] Perception offers the ability to observe, hear and generate awareness of the surroundings. [53] The information gathered by perception is then refined and adequate injunctions are received by actuators for further movement. After processing, the cognition function identifies the approach and objective. The main focus of cognition is planning an effortless reference track from the initial count to the destined mark avoiding collisions in the working environment [75]. To constitute the representation of the robot, its surroundings, and interaction system, a 'cognition model' is needed and tracking using pattern recognition, including computer vision. For tracking purposes, control is needed, and a performance error can be identified [9] which requires various control techniques.

V. NAVIGATION
Navigation provides the toughest challenges for mobile robots, particularly for indoor navigation. For a successful path navigation approach within the territory, a mobile robot must simultaneously perform localization and keep track of its surroundings-simultaneous localization and mapping (SLAM) [9].

A. MAPPING
The fundamental problem of mobile robotics often concerns two questions, where is the robot at a given time, and what is its surrounding environment. For the robot to navigate smoothly while achieving some desired task, there are several methods but the best approach is the map based approach. Mapping basically means creating some representation that the robot uses to model the environment, gain knowledge about the environment, and take decisions based on that knowledge, and achieve its goal [12]. The problem of finding the position and modelling the surroundings around the robot is a dual problem that can be related to the chicken-egg problem. So often the problem is defined using SLAM [76]. SLAM means computing the different robot positions as well as the model of the environment simultaneously. Three vital relationships are to be considered while choosing a certain map representation [8]: 1) The map's precision needs to match the desired precision of the robot while achieving its goal.
2) The features represented by the map must match with the features that are extracted by the sensors.
3) The arithmetic efficiency of mapping, localization, and navigation is directly affected by the complexity of the map representation. In the world of mobile robotics, two types of traditional map representation have been popular: metric map and topological map [77]. Metric & topological maps are generally associated with 2D map representations. Different types of 3D map representations have surfaced in the last decade including a sparse map, semi-dense map, dense map [78]. Semantic maps can be generated in both 2D [79] & 3D [80] representation.

1) METRIC MAP REPRESENTATION
A metric map shows the geometric attributes of a surrounding environment. Generally, in a metric map, a location or an object is presented as a co-ordinate. Idiothetic data plays a vital role in this approach and the raw sensor data is converted into information regarding the 2D space. Metric models usually are highly accurate in presenting the objects in the surrounding environment and easy to understand from a human point of view [77].
Metric maps depend heavily on Idiothetic data, but in reality, are prone to cumulative error. The quality of such data decreases as time goes by, so this data cannot be trusted after a certain length of time. Also, the model relies on the accuracy of sensors and the circumstances around them.
Two popular metric map approaches are Feature-based map representation and Free-space representation [81].

a: FEATURE-BASED MAP REPRESENTATION
A feature map representation annotates the positions of the features of the environment with precision in a continuous space. Most indoor mobile robots use sonar or lidar sensors to learn the distance between themselves and the accessible objects. These robots can bring out the best lines from the integrated sensor data. Using such lines, objects or boundaries might be represented in a metric map [82], [83]. This process represents the physical location of the walls or any other objects in the environment without adding any additional features such as color, texture, etc.

b: FREE-SPACE REPRESENTATION
This approach deals with the free space that the robot is able to access. This simplifies the approach of adding different features, rather it just maps the free area in the surrounding access to the robot. One of the most common and used map representation technique in mobile robotics is occupancy grid representation, which follows the free space approach [84].
In the occupancy grid, the circumstance is divided into a distinct grid consisting of two kinds of cells. The cells that contain objects are called occupied cells, and the other cells are a part of free space. The cell's probabilistic value increases with increasing hits, and after a certain threshold, it is determined as an occupied cell [85]. The significant advantage of this approach is it can straightly use sensor data without the necessity to extract any feature [81]. Figure 8 shows a basic representation of the feature-based map and occupancy-grid map for a real-world environment.

2) TOPOLOGICAL MAP REPRESENTATION
The topological approach doesn't concentrate on exact geometric co-ordinates of the environment; instead, it focuses  on distinct characteristics of the most relevant environment for the robot to localize and navigate effectively [77]. The topological approach consists of nodes and arcs. Nodes are referred to as locations in the environment that the robot can traverse and arcs are used to connect adjacent nodes.
The main benefit of topological representation is that it doesn't require the transformation of the sensor data in a 2D reference frame [81] but only requires the storage of location information given a sensor reading. The drawback of this representation is that the sensor information that defines key places is only available if the robot has physically visited that place before, meaning that more expensive exploration is needed of the environment in order to estimate position at higher precision. Figure 10 shows a basic representation of the metric and topological maps.

3) SPARSE MAP REPRESENTATION
Sparse maps are generated through feature-based SLAM methods [78]. These methods extract visual features from the frames captured from the camera and construct the map using the set of key features needed to describe the scene geometry. A sparse map consists of persistent keyframes in a geometric scene. These methods check for common map points in VOLUME 9, 2021 different timeframes and fix a set of active keyframes in a fixed location containing rich geometric information about the location [86]. As sparse maps store only the active map points required to form a 3D representation, it is generally less computationally expensive than generating semi-dense or dense map representation.

4) DENSE & SEMI-DENSE MAP REPRESENTATION
While sparse maps are very useful for reducing computational complexity, and visual localization; these maps are often not very helpful for robotics applications such as navigation or interaction with surrounding objects [87]. Dense maps provide far richer geometric information from images, helping robots interact with their nearby objects & take intelligent decisions. Dense maps are created by capturing all of the geometric information available using visual sensors, and reconstructing the structural nature of the objects [78]. Though, dense maps are computationally very expensive; hence, they require the use of a powerful GPU for real-time inference. Semi-dense maps reduce this complexity to multi-thread operation on CPU only by building a depth map using more key-points than sparse map [87]. This results in a map that can hold more geometric information and helps robots interact with objects far better, which, eventually helps in succeeding in various robotics tasks such as navigation.

5) SEMANTIC MAP REPRESENTATION
Semantic maps use contextual clues to develop a qualitative description of a robot's surroundings and use that information to understand complex unstructured environments. To achieve this, the robot must retain a cognitive interpretation of space. This process should involve semantic attributes about objects and places encountered correlated to the surrounding's geometrical perception. Figure 9 shows a semantic map generated by [79].
Since Metric and topological maps only describe spatial information regarding the surrounding environment, additional information might be needed for the execution of multiple and complex robotic tasks. Semantic maps enlarge the scope of adding additional information to maps such as instances, categories, and attributes of an object as well as common sense knowledge regarding the entities present in the maps.
Semantic maps may vary in nature but they should always include [88]: • Spatial information contained in the map such as metric or topological map • Anchoring of spatial concepts such as place or object classification The drawback of a semantic map is that, as it holds a high level of information, it has high memory usage [89]. To do a cognitive interpretation of the environment, a high level of object detection is necessary, which wasn't available, at least until the late 2000s.

B. LOCALIZATION
Localization has often been the most challenging problem in mobile robotics. It is essential to figure out where the robot is and whether the absolute map of the environment is available or not. Three types of localization problem have been described by [90]: • Local pose tracking: The robot's previous position is needed to track the current location which is solved by modelling the robot belief with a unimodal distribution such as the normal distribution [91].
• Global Localization: This assumes the robot localizes concerning the map with the help of a uniform distribution as the initial belief of the robot [92].
• The kidnapped robot problem: This kind of situation arises when the robot gets picked up and travelled to another point on the map without the robot's knowledge. The problem can be solved similarly to the global localization problem only if the robot itself knows that it has been kidnapped. The complexity of the problem arises when the robot thinks it knows its position, but in fact, it doesn't [93]. A mobile robot uses on-board sensors to learn about its environment. But often these sensor readings cannot be trusted which means that localization is such a difficult problem for two reasons [8]. The first is sensor noise where sensor readings are dropped over time. This might be solved by taking multiple sensor readings and using sensor fusion methods. The second problem that might be faced is called sensor aliasing which is a problem that humans rarely encounter but is common for robots [94], [95]. Figure 11 represents the basic working diagram of localization methods. There are also other types of localization methods such as: FIGURE 11. Basic Block Diagram of Localization [8].
1) Positioning beacon based localization: By designing active beacon systems and deploying them in the target environment, good localization can be achieved based on wireless communication [96], [97]. 2) Light-based Localization: Estimating poses of the robot in indoor conditions based on visible light is a newly emerging field in the mobile robotics field [98]. 3) Landmark-based Localization: These techniques use natural as well as artificial landmarks and relative position techniques such as dead-reckoning, and triangular methods to localize the robot [12], [99], [100]. 4) Odor based Localization: This type of technique analyses chemicals of the environment and makes decisions about its surroundings. Although this is mainly applicable for harsh conditions or underwater robots, this can also be applied to indoor mobile robots in certain cases [101]. The error from the sensor reading can be minimized by the following algorithms: [102]: 1) Kalman filter localization 2) Markov localization 3) Monte-carlo localization

1) KALMAN FILTER LOCALIZATION
The Kalman filter is well known in the world of dynamic control systems that use the probabilistic algorithm for estimating the state of a time-dependent process and reducing the noise as shown in Figure 12 [103]. It estimates the current state by comparing the previous estate with recent measurements [104]. Consider a linear dynamic system as: [90], where, X k r is a state vector, U k r and Y k r are the input and output vector, F k r , G k r , H k r are system matrices and V k r , W k r are Gaussian noise with co-variance matrices such as Q k r , R k r . The estimation of the next states can be represented as [90], [105]: Then, the estimated states are corrected by using a correction step: Then the finally updated states of the Kalman filter are: X k r +1|k r +1 = X k r +1|k r + W kr V kr P k r +1|k r +1 = P k r +1|k r + W kr SW T kr (6) This algorithm has poor performance with nonlinear systems that is its main limitation [106].

2) MARKOV LOCALIZATION
It is impossible for a robot to measure its pose directly, even with GPS. The best a robot can do is guess about its state. The best guess for a robot's pose is known as belief. In probabilistic robotics, belief can be represented as conditional probability distributions and can be denoted by bel(x rt ) [8].
In Markov localization, the credence is described by a probability distribution over all possible states, and the Bayes theorem and convolution operations are used to update the opinion after each sensor reading [107]. It first distributes the configuration position of the robot [x y θ] into a finite number of discrete grid cells where each grid tells possible robot positions [108].
According to Markov's assumption, the only state in the environment which affects sensor readings is the robot's current location, not all the other previous states [8]. The belief is computed by taking the odometry data into account: where, bel(x t ) is the possibilities of belief which are further updated a: Here z t are sensor readings, and p(z t |x t , M ) is a probabilistic measurement model [8]. Markov localization does well to compute global localization and solve the robot kidnapping problem as it sums over all the possible positions a robot can be in at a given time [109].

3) MONTE-CARLO LOCALIZATION
Monte-Carlo localization uses a particle filter algorithm to estimate the pose of the bot [110]. In this algorithm, particles are used to represent a probability density function. Each particle is thought to represent a state of the robot is also given a weight for that possibility [111]. The higher the weight, the higher the possibility of a particle being right. The weight of each particle is computed using the ratio between target and proposed function where each function is an estimate of the robot.
The noise and motion model is applied for each particle by sampling from the density function as: The measurements of the sensors are denoted by z t and are used to compare the proposed state with the target state to compute the weight for each particle as: where the weight w j t basically computes the likelihood of each particle being x i t given z t .
The next step creates a current group of particles that keeps the particles having higher mass values and gets rid of particles with lower values. The Monte Carlo localization works better with more samples, but this means more computational complexities. Table 4 compares the localization techniques and shows their pros and cons.

4) POSE GRAPH OPTIMIZATION
Apart from these three techniques, another method named Pose Graph Optimization (PGO) has been popular in the last decade [112]. This method is mainly used for localization in graph-based slam techniques [113]. While a robot moves through the environment, its trajectory can be defined as a collection of its poses over time and these poses are joined together with edges creating some sort of graph. This is known as a pose graph. Pose graph optimization is used to estimate the accurate poses relative to the best possible constraints in the graph, which eventually is used to compute the trajectory of the robot. The poses are usually measured with various methods such as IMU readings, scan matching, dense point clouds, etc. The problem is usually treated as a non-convex optimization problem, where the solution is the maximum likelihood approximation of the comparative poses. Most state-of-the-art techniques to solve PGO are iterative optimization techniques such as Gradient method [114], [115] or Gauss-Newton method [116], [117] etc. These are generally used to compute local minima. Convex relaxations based solutions have recently been popular to solve the global minima [118]- [120]. PGO has also been used in multi-robot localization [121].

C. SLAM
The robot localization problem is closely related to the problem of map building. Without a map, it is impossible for a robot to localize itself properly, and again, without localizing the robot, it is difficult to comprehend the surrounding environment; thus the mapping process can be inaccurate [77]. So to solve this, the concept of SLAM was developed in the 1990s. The SLAM problem is developing an environmental map and determining the right position to track the robot simultaneously with the noisy sensor data available [134].
The problem can mainly be categorized into two types. ''Online SLAM'', which deals with only the current pose of the robot while ''Full SLAM'' tracks the robot path always while building the map [11]. If the state of the robot is X K , and the distance between the states is U K , then the SLAM problem can be described as, where M is neighboring ambient and the sensor measurement is Z K . The online SLAM problem can be denoted by: SLAM algorithms can also be classified based on the sensors they use. Lidar SLAM, which uses lidars as primary sensors for the environment perception, and Visual SLAM or V-SLAM, which uses vision sensors or cameras as primary sensors. Although SLAM seems to be the ideal solution for mobile robotics, it takes time to implement because of the high dimensionality and a large number of discrete variables in the parametric space [24].

1) PARADIGMS OF SLAM
Most SLAM algorithms were derived from the three basic paradigms. EKF-SLAM, which emerged on the basis of the extended Kalman filter [135]. This algorithm uses a single dense statute vector in order to estimate the position and the features of its surroundings having any error covariance matrix, which represents uncertainties associated with the estimations based on the online SLAM problem [11].
Particle filter based SLAM algorithm is the second principal paradigm of SLAM. It's usually okay for something like localization but in the case of SLAM where a huge number of features are present, makes the system complex that can be overcome by the fastSLAM approach [136] which always works with an adjusted number of particles as, where t is the estimated sample route and estimation of each feature which are described by a 2D Gaussian which have a N set of mean µ [K l ] t,n and variance [K l ] t,n . The control commands of the motor u t update the estimated position of each particle as: The next step is to compute the importance weight w [K l ] t based on the measurement readings z t as: fastSLAM has been improved in several ways such as GridSLAM [137], gMapping [138]- [141] etc. are Grid-based versions of fastSLAm.
The third general family of algorithms is called graph-based SLAM. These algorithms treat the SLAM problem as a sparse graph where pose and landmarks of the robot are treated as nodes in the sparse graph [142]. The information of the nodes are portrayed as robot poses x k 1 , x k 2 , x k 3 , x k 4 , . . . ..x k N and n number of landmarks in the map as m k 1 ; m k 2 , m k 3 , m k 4 , . . . .m k n . The constraints between the nodes are thought of as the relative distance between successive nodes, which is influenced by the odometry data u t . The constraints are relaxed, such as springs to get the best possible estimation of the pose and the map of the robot. The system can be seen as a spring-mass model [143] and solved by computing the minimal energy state of the model. Some of the popular open source graph-based algorithms are g2o [117], GTSAM [144], HOG-Man [145], KinectFusion [146], PTAM [147], TORO [148], CPL-SLAM [149], [150] etc. A comparative analysis of these three paradigms has been shown in Table 5.

2) LIDAR SLAM
The lidar scanners are largely used in SLAM as the primary sensors for indoor mapping and localization in which the time of flight (ToF) method is used to calibrate the readings of the lidar sensor. Larger detection range, lower dependency on the environment and lower cost of acquiring lidar data are the advantages of lidar SLAM [158], [159].
Single-line lidar sensor can be used in 2D applications due to the presence of single pair of transmitter and receiver which can be used in scene-matching and mapping problem [140], [145]. The lower detection range is the main limitation of this lidar which can be overcome by developing multi-line lidar sensors that increase the navigation range by establishing a 3D map. It provides the facility to capture 360 degree field of view with the help of a point cloud.
The algorithms can be categorized into organized [160], [161] and unorganized [162] based on the environment, and the type of point clouds [160]. Another way to deal with 3D point cloud is to perform data association among point clouds and look for closest points, which is called Iterative closest point (ICP) algorithm [163], [164].

3) VISUAL SLAM
In the earlier years of SLAM, research was focused more on 2D SLAM. Over time, 3D maps with more information were needed for the mobile robots to do more complex, specific tasks in dynamic environments since 2D maps do not hold distinctive features of the environment. VSLAM stands for a visual slam, which involves solving the problem where the VOLUME 9, 2021 primary sensor of the system is a sensor based on vision, such as a camera [165].
Three different types of cameras are used for VSLAM. When using only a single camera, VSLAM is often called monocular SLAM [166]. Another type that uses stereo vision for SLAM systems uses a set of cameras which allows depth to be readily perceived. RGB-D cameras use infrared light to measure the depth of objects. Visual SLAM can be generally classified into two different methods [78]:

a: FEATURE-BASED METHOD
This method has been the most commonly used method in SLAM. Images are the type of data that hold a high volume of information. Thus it was necessary to pull out distinct features from these images for getting useful features only which can identify particular areas using techniques such as SIFT [167], SURF [168], ORB [169] etc. Feature-based methods can be categorized into two types of approaches: filter-based approaches and key-frame based approaches. Filter-based approaches have been used for monocular slam [170] using EKF and fastSLAM to tackle the non-linearity issue. Key-frame based approaches such as PTAM solve the localization and mapping task in parallel.

b: DIRECT METHOD
The direct method uses the pixel information directly from each frame to track the pose of the robot and perform mapping. Although feature-based methods are quite robust, they tend to perform poorly in low texture scenes as well as when scenes are repeated as the feature extraction processes are texture sensitive [78]. Direct methods use pixel to pixel brightness information and try to estimate the pose by optimizing the iterative process and reducing the initial photometric errors [11].
VSLAM is still very much an ongoing research topic, including incorporating the power of modern GPUs, to create a more dense map with semantic information and better tracking [78], [176], [177]], [178], [179].

D. PATH PLANNING
For a particular environment, a mobile robot determines an optimal or sub-optimal collision-free route towards its desired goal from the initial location according to a specific performance criterion. Path planning techniques are divided based on the environment [13] in which objects may be fixed or movable. Path planning techniques can also be divided into two divisions: global path planning and local path planning.
Global path planning is concerned with techniques that require every detail about the surroundings before the robot starts navigating such as, Dijkstra algorithm, [180], A* algorithm [181], Visibility graph [182], Artificial potential field method [183], and cell decomposition method, etc.
In local path planning, the surrounding environment is usually unknown or barely known in some cases [184]. The information from the surrounding environment is generally extracted from the robot's onboard sensors. Some popular algorithms are Artificial Neural Networks [185], Fuzzy logic [186], Neuro-Fuzzy logic [187], PSO [188], GA [189], and ACO [190], RRT [191]. Figure 13 shows a basic diagram of the path planning process which follows three steps: (i) environmental modelling, (ii) optimization criteria, and (iii) path searching algorithm [18].

1) PRINCIPLES OF PATH PLANNING
Environmental Modeling is the step which creates a description of the robot's surroundings, which is understandable by computers. Environmental modeling dramatically reduces the planning complexity and computational power, as well as navigation time.
Optimization Criteria is used to model a path planning algorithm in the following manner [9]: (i) Minimum time needed, which controls the productivity of the robot.
(ii) Minimum jerking, which ensures the exactitude, proficiency of work, and proper maintenance of the equipment.
(iii) Least power or least actuator exertion needed in order to save energy.
(iv) Hybrid criteria, such as minimal time and power.
(v) Minimum Path length: The path length D m is defined as [192], [193]: where, x j is the value of X coordinate axis and y j is the value of Y coordinate axis.
(vi) Smoothness: Smoothness is defined as [193]: where α & β are weighted coefficients, DA l is the angle of deflection, N f is the number of path segments, and S m in is the number of minimum path segments in the path [18]. Path Searching Algorithm is adopted to find a collision-free route between the onset point and the destination point in the state space, which should satisfy a set of optimization measures including route length, evenness,

2) CLASSICAL ALGORITHMS
Classical algorithms rely on two states. These methods decide whether there is an optimum path or not. The main limitation of the classical approach is that these methods need more computational power, and they cannot adapt to uncertain conditions. Some of the best known classical methods are Cell Decomposition (CD), Potential Field (PF), Road Map. etc [194].

a: CELL DECOMPOSITION METHOD
The cell decomposition method divides the robot's surrounding environment into grids or cells of two kinds. One kind is a free cell, in which no object is present, and the other has items in it. These methods are generally used to construct graphs which can be later used with graph-based search algorithms for optimal path planning. The basic algorithm structure is as follows; [18], [194]: • Divide the search region into connected simple regions called a cell.  Figure 14 shows how cell decomposition methods model an environment. The cell decomposition method has the problem of requiring a lot of memory to analyze the surrounding environment.

b: ARTIFICIAL POTENTIAL FIELD
The potential of the workspace is described and the robot calculates a repulsive force from field activity in this method. The goal point will act as an attractive force for the robot and the potential function can be described as [195], [196]: where, U att is the attractive potential and U rep is the repulsive potential. U att can be written as: where ξ is the positive gain factor and x, x goal is the Euclidian distance between the robot and the target destination. Thus the attractive force can be represented as: The repulsive potential is possibly be denoted by the formula: where η is a scaling factor. Thus, the repulsive force can be given as: The artificial potential field algorithm has a number of issues: • There might be a local minimum depending on the dimension and configuration of the objects around the robot points • Another problem arises for objects that are of concave shape which causes more than one minimal distance to arise creating oscillations on the resultant paths c: PROBABILISTIC ROAD MAP APPROACH The probabilistic road map (PRM) method relies on the arrangement of space which can be represented as a set of all configurations the robot can obtain which is used to identify the collision function. Then, sampling of a grid in the configuration space is undertaken by checking whether or not the grid point is in free space using the collision check function. All the grid points in free space are treated as nodes in the graph. The nodes are then connected by lines which are called edges [197]. The PRM method chooses the points in the configuration space randomly and tests whether the point is in free space using the collision check function. If the node is in free space, then it tries to see if it can connect with the closest existing node and create a path. The boundaries between the random samples can be thought of as road-maps that form a network that hopefully spans the free space in the configuration space [198]. Two popular road map approaches are the Visibility graph and Voronoi graph.
A visibility graph is a diagram where the vertices of all polygonal obstacles are thought of as nodes for the sampling free space along with the initial and final goal node. All the lines connecting the vertices and the initial and final node are identified as edges of the road-map. So the roads are very close to the obstacles; hence the resulting path in almost all cases would be a minimum-length solution [8]. This method is very slow and inefficient in environments with many objects.
The Voronoi graph is the opposite of a visibility graph in the sense that it tries to stay as distant as possible from the obstructions. It describes a summation of equidistant points from the next two or more obstacles, containing the configuration space [199]. Thus it ensures maximization of the interval within the bot and the obstacle. Its primary disadvantage is that localization sensors with a short-range might fail to detect the obstacles as it keeps maximum distance from obstacles. Figure 15 shows how PRM methods connect the shortest paths together.

3) GRAPH-BASED SEARCHING ALGORITHMS
These are known as the most straightforward methods for finding a path for the robot which needs to know the environment and the robot's primary and terminal position beforehand for working purposes. Some of the most notable heuristic algorithms are [13]: Dijkstra's algorithm, A*, D*, etc.

a: DIJKSTRA'S ALGORITHM
This algorithm is applied to find the shortest route out of several possible paths in a graph by dividing it into a grid cell [200]. The algorithm focuses on two components; nodes and weighted edges. The algorithms work by calculating edge weights between two nodes and calculates the minimum value as it gets closer to its target node.

b: A* SEARCH ALGORITHM
One of the major problems of Dijkstra's algorithm is while it pursues the route that seemed the shortest currently, it isn't concerned about its direction of approach. To solve this, the A* algorithm has been proposed based on Dijikstra's algorithm with some modifications which also accounts for the Euclidian space [200]. The algorithm uses the evaluation function: f (n w ). where, g(n w ) is the actual cost and h(n w ) is the heuristic function. This algorithm has much higher efficiency than Dijkstra's algorithm.

c: D* SEARCH ALGORITHM
Although the A* algorithm works well in a static environment, its performance drops in dynamic environments where objects may change with time. To tackle this, the D* search algorithm was introduced [201]. It is capable of planing real time-optimal path. It works similar to A*, but while with A*, the edge weights are constant, with D*, it is everchanging. So as A* discards the information about the nodes it has visited, D* keeps that information to plan and re-plan efficiently [202].

4) EVOLUTIONARY ALGORITHMS
Evolutionary algorithms work really well when the environmental model is unavailable or unrealistic, and dynamic. These algorithms are inspired by stimulus-response, which is the biological reaction to any action. Reactive planners including fuzzy logic, particle swarm optimization, neural network, artificial bee colony, ant colony optimization, genetic algorithm, shuffled frog leaping algorithm and several miscellaneous algorithms have been used researched.

a: GENETIC ALGORITHM
The genetic algorithm (GA) solves the problem of path planning by addressing the issue as a chromosome. The possible solutions are addressed as populations. The mechanism of the GA is moving from one community of chromosomes to another using an operation called ''Selection.'' There is a fitness evaluation function that evaluates and ranks all the communities [203], [204].

b: ANT COLONY OPTIMIZATION ALGORITHM
This algorithm has been modeled after the ant's movement in search of food. While searching for food, ants release secretion after short intervals leaving it as a reference so that other ants can follow the path. This secretion is known as a pheromone. The more pheromone is there in a path, the more optimized that way is. Only one path will have a pheromone after the optimized path is found [205]- [207].

c: ARTIFICIAL NEURAL NETWORK
Artificial neural networks (ANN) follow the operation of the neuron of a human brain consisting of input, output, and hidden layers with weights. These weights are randomly initialized at the beginning but change accordingly to get optimum results. The connections also have activation functions with the weights. With simple weights activation functions, ANN can learn almost anything with the right amount of training data [208]. Figure 16 shows a basic neural network with two hidden layers, along with the input and output layers. Mohemmed et al. [210] proposed a PSO-based algorithm that finds the shortest path from A to B. Zhang et al. [211] developed a multi-destination PSO to make the robots navigate in uncertain and dangerous environments where many hazards may lie. Figure 17 shows a basic working diagram of the particle swarm optimization algorithm.

e: RAPIDLY-EXPLAINED RANDOM TREE ALGORITHMS
Modern autonomous indoor robots are developed to perform some more tasks related to interact with the external environment. This robot and environmental interaction have various styles and types such as the systems where reconstruction of shapes of any three-dimensional object [212] and also a navigation system based on vision, which is mostly used in drones [213]. The aforementioned tasks can be easily done by employing a rapidly-explained random tree (RRT) approach which is designed to administrate the nonholonomic constraints and a higher degree of freedom [215]. In [215], the algorithm was successfully applied to all kinodynamic, holonomic, and nonholonomic planning problems with degrees of freedom up to twelve. Table 6 highlights different path planning approaches.

E. OBSTACLE AVOIDANCE
Obstacle avoidance mainly refers to the change of trajectory of the robot, which allows navigation in some unknown environment by avoiding collisions. In various researches, obstacles have been avoided in different methods, including in [252], a method is proposed based on the artificial potential fields principle, which has been extended in [253] with the addition of schema motors, and a method for swarm robots to avoid obstacles is described in [254] which is based on the self-organizing migration method.
If the robot cannot estimate the presence of, and avoid, any obstacle in its trajectory, it will not accomplish its end position which obviates the main purpose of a mobile robot. Basically, this feature can save the robot from any kind of crash which makes the movement less restrictive or fragile. The resultant gait contains both the function of recent or current reading of the robot sensors and also the goal position or its relative location to the goal position. An indoor mobile robot comprises various functions, of which avoiding obstacles is a vital part, which is a must to keep overall monitoring of the architecture for maneuvering tasks [256].
There are also some systems where the mapping is integrated with obstacle avoidance, where during the robot's travel toward its goal the sensor data sampled continuously along with building the map with an immediate update and the algorithms for obstacle avoidance continue the work of mapping-information simultaneously [257]. Some algorithms presented here regarding obstacle avoidance depending on varying degrees in the global map existence and the appropriate information of the robot about its relative position towards the described map.

1) BUG ALGORITHM
The bug algorithm is considered as one of the earliest of all algorithms [258], [259] which can enable the navigation of the whole periphery of the encountered obstacle. It also allows the robot to decide the most suitable way to move toward the goal [12]. The robot can compute the new path [260] from its departure point (x 1 , y 1 ) to the destination point (x 2 , y 2 ) using two equations to find the slope m and y-intercept c.
This is an inefficient approach but it ensures that the robot reaches the goal area. However, it only leaves when it can move in the direction of the goal, as the trajectories are shown in Figure 18. IBA [255] is the improved Bug algorithm but it can also be inefficient in certain situations. There are many more Bug algorithms such as Tangent Bug [261], I-Bug [262] etc.

2) THE VECTOR FIELD ALGORITHM
The Vector Field Algorithm is basically an updated version of the virtual force field (VFF) method [263]. The VFF method employs only a single step technique but VFA works with a two stage data reduction technique. While piloting the robot simultaneously in the direction of the target, these algorithms allow the detection of any unknown obstacles and also allow the robot to avoid the collision [12].
The cost function is [264], G = a. target_direction + b. wheel_orientation + c. previous_direction This real time obstacle avoidance method can control vehicles to allow them to enter any slender passage such as narrow corridors without compromising the speed or colliding with any unexpected obstacles even in a very densely cluttered place [265].

3) THE BUBBLE BAND TECHNIQUE
The concept of a bubble is mainly the highest subset (local) of free place around the configuration given to the robot where it can move in any direction and travel without any collision. The bubble can be created with the help of a simplified model along with a range of information that are available in the map of the robot [266].
With the help of a simplified model of the geometry of robots, the actual shape of the robots can also be taken into account while calculating the size of the bubble. This widely adopted idea, which is considered an extension of vehicles which are nonholonomic of the elastic band concept [267].

4) THE CURVATURE VELOCITY TECHNIQUE
The Curvature Velocity Technique prefers operating inside the velocity space rather than in the Cartesian or configuration space of the robot [268]. In addition, the commands of this method are chosen by the maximization of objective functions which increase the vehicle navigation, and obstacle avoidance properties such as the speed, direction of movement towards the goal and also safety. This technique consists of two methods.

a: THE BASIC CURVATURE VELOCITY APPROACH
This basic method [268] develops the full kinematic and also some dynamic constraints, which are taken into account to avoid obstacles. This is considered as an advantage, adding the physical constraints both from robots and the environment towards the velocity space, consisting of the translational and also rotary velocity. For this, the robot is assumed to be travelling along arcs of circles only.

b: THE LANE CURVATURE METHOD
The Lane Curvature method (LCM) is an improved approach than the previous one which is based on the CVM, but here the problem with guiding a robot through the corridor's intersections [269]. This upgraded method has been able to provide better results in various experiments than the previous CVM one.

5) THE DYNAMIC WINDOW APPROACH
Another common method for robot kinetic constraints is the dynamic window method for obstacle avoidance [270]. Two such approaches are mentioned below.

a: THE LOCAL DYNAMIC WINDOW APPROACH
In Local Dynamic Window Approach [270], the robot kinematics are considered with the help of searching a fine velocity space, which is set to be an angular velocity. In this method it is considered that the robots only move in some circular arcs, during one time period at least, to represent each tuple. There an objective function [8] can be described preferring three criteria; the fast forward motion, the alignment to goal heading and also maintaining large distance to obstacles. Figure 19 shows the basic working procedure of dynamic window procedure. The objective function, Here, heading is expressed as a measurement of progress in the line of the location which is our goal, velocity is the robot's forward velocity (fast movements encouraged) and distance is the distance towards the obstacle closest to the trajectory.

b: THE GLOBAL DYNAMIC WINDOW APPROACH
This advanced method comes along with the universal conception addition of the local approach. It can solve several problems with definite global thinking, real time and also at high speed minimal free obstacle avoidance, increasing the cycle frequency, and robot speed.

6) THE NEW HYBRID NAVIGATION ALGORITHM (NHNA)
Mainly based on two layers, one deliberative and another reactive layer, the New Hybrid Algorithm focuses on the navigation and obstacle avoidance process, where both the layers work independently to each other [271], [272]. In this algorithm, the deliberative layer can plan a reference path based on storing the previous information with the help of the A* search algorithm. On the other hand, the reactive layer is an independent layer steering robot towards the planned track by the deliberative layer.

7) VISION SENSOR-BASED ALGORITHM
Vision sensor-based algorithms are the highest efficiency algorithms that are able to detect obstacles and also identify the regions which are obstacle free. Some of the vital achievements unlocked by this method can be figured out in three basic steps [273]: 1) A new learning scheme for the monocular disparity estimation 2) The use of pixel classification with a view to finding the obstacle inequality estimation 3) And finally, generation of regions which are obstacle free These regions, which are free from all the obstacles are applied in drawing a zone which is free from collision to find the safest path for the robot.

8) OTHER APPROACHES
The methods described above are some of the most popular ones. There are some more that are vastly used and have more complex designs but can solve the obstacle avoidance problems more precisely along with others. These are The obstacle avoidance approach by Schlegel [274], Nearness diagram for navigation [275], the Gradient method, the method by Tzafestas & Tzafestas [276], which is an integrated mapping and obstacle avoiding method, the method by Chen and Quinn, which is inspired by nature [277], a novel obstacle avoidance algorithm ''Follow the Gap Method'' [278] and so on. Table 7 consists of an overview of some of these techniques.

VI. INTEGRATION OF DEEP LEARNING IN MOBILE ROBOTS
Deep learning leverages the power of neural networks to make rules for observable things, making decisions based on observations without developing rules for a task, which is normally done to develop an algorithm for a specific task. Deep learning or so-called learning-based methods worked because of the massive amount of data that started generating because of the internet and the computational power is powerful enough to handle the big data. Three key advantages to using deep learning methods in mobile robot systems are [19]: • Deep learning-based methods can generate universal models that can automatically extract features from the VOLUME 9, 2021 data without much mathematical modeling for different conditions such as abnormal lighting, blur motion, or cases where the camera needs calibration by hand, which is hard to do [287]. These models are able to match in some ways human-level reasoning and apply it in methods such as SLAM to create semantic maps [288], [289], or taking visual odometry to the next level [290], [291].
• These methods have the ability to learn from past experiences and improve their accuracy and make decisions in dynamic scenarios. These abilities can be leveraged to solve some challenging problems in robotics such as navigation [292], ego-motion detection from unlabelled videos [293], and decision making in dynamic environments [294].
• Probably the most crucial aspect of deep learning is that it can leverage the increasing power of our computers and the amount of sensor data that can be used in the current world. The growing number of possible sensors we can use to perceive the environment is increasing day by day. To get close to human-level perception, combining these sensor data seems to be the way to go. Recent advances in processing power mean that parallel computing can process a large amount of data efficiently, and deep learning models thrive with big data, giving better performance than traditional algorithms. Hence deep learning-based solutions seem to be the way to go forward. Deep learning-based methods have been rapidly researched in the sector of robotics in the last decade. For autonomous mobile robots, some of the core difficulties, for instance, odometry estimation, SLAM, navigation, etc., have seen a more cognitive performance; thanks to deep learning-based approaches.

A. ODOMETRY
Deep learning has enhanced visual odometry (VO) that local position and orientation with only vision sensors and also have improved sensor fusion methods such as visual-inertial odometry (VIO) as well. While normal VO methods relied on hand-coded features to work, which is very time consuming and can vary for different rooms altogether, DL based methods are able to extract rich features from video frames, automatically taking VO to another level. These methods can be classified into End-to-End VO and Hybrid VO. End-to-End VO uses only deep neural networks to do supervised or unsupervised learning to solve the VO problem. Supervised VO is trained on labeled images extracted from video frames to capture the transformation from frames to motions. Some earlier works are [295], [296] although they failed to achieve end to end learning. DeepVO [290] was able to achieve end-to-end learning with a combination of a CNN and an RNN to extract features from video frames and map them to robot motion. It outperformed the likes of VISO2 [297], ORBSLAM [298] in KTTI dataset [299]. DeepVO was further improved by [300]- [302] for better generalization and memory function to upgrade the accuracy of pose estimation. Unsupervised methods have also been of great interest with works such as [293], [303]- [305]. However, these still perform well below supervised methods and still have problems. VIO models uses sensor fusion techniques for perception using inertial sensors like IMU and vision sensors to reduce sensor noise for better pose estimation [306]- [309]. Hybrid methods combining classical models and deep learning approaches have seen a higher accuracy in terms of performance. Some hybrid algorithms like D3VO [291]) even outperform VIO algorithms such as DeepVIO [309], VIOLearner [307] as well as classical VO systems such as DSO [310], ORB SLAM [298] in KTTI benchmarks.

B. SLAM
Deep learning has also been applied to SLAM, another key element of mobile robotics. Classical SLAM systems today are quite robust and solved to some extent, but several key problems still have attracted the deep-learning community's attention. Bundle adjustment, accumulative error are some of the optimization problems related to localization in SLAM. LS-Net [311] tried to solve the Bundle adjustment problem by using deep neural networks to learn analytical parameters needed to satisfy local constraints for the pixel to motion transformation. BA-Net [312] integrated the Levenberg-Marquardt algorithm [313] inside a CNN towards achieving end-to-end learning for solving the bundle adjustment problem. A major problem for mobile robots has been the accumulative error, which occurs when a robot is operated for a prolonged time. As DNN is very robust when it comes to extracting rich features from a scene and predicting pose, it was evident for practitioners to use DNN to reduce accumulative errors. These DNN algorithms have been used in the back end of an established SLAM system in order to mitigate the accumulative errors over time while traversing. Some recent examples would be CNN-SLAM [314] which works on the back-end of LSD-SLAM [87], DeepTAM [315] which feeds both pose and depth information extracted through a DNN to a classical system DTAM [172]. These learning systems optimize the overall global pose of the robot. Another common problem throughout the years for the SLAM community has been loop closure. This is a unique problem and has been much harder to solve, using only lidar-based SLAM solutions. Classical systems used bag-of-words [316] to store features of already seen geometry in order to use them later on using handcrafted features to solve the loop closure problem. The process is very complex and often fails in adverse conditions such as a change in light intensity, weather, or dynamic objects. Hence CNN has been used in some models to recognize high visual features for resolving the loop closure problem. One earlier work on this is [317]. Later, CNN words [318] was introduced, which uses CNN to extract the features on a higher level and incorporate BoW in it to get better accuracy in reducing loop closure. Some deep autoencoder based solutions were proposed, which can encode complex features and stores them automatically [319]- [321].
Very recently, OverlapNet [164] was proposed, which overlaps scans from two similar 3d lidars and training a DNN using this data, which can be integrated with an existing lidar-only SLAM system to eradicate loop closure.

C. NAVIGATION
Safe and successful navigation is the primary goal of a mobile robot. Though standard navigation in terms of a mobile robot hovering around a static environment and getting from point A to point B is considered solved, the real-world scenario is not so easy. Reinforcement learning has received much attention in order to achieve human-level awareness while traversing through a densely populated dynamic environment. It is an algorithm that mimics the human learning process, which works by repeating the trial and error process until the objective is completed. The reward system drives this process as the system tries to achieve as maximum reward as possible. In a mobile robot's case, the robot is operated in the actual environment it will operate in. The robot needs to perceive its environment and decide what its next course of action will be, and each action will be given a reward. The goal is to maximize the reward hence choose the best next state possible. Q-learning has been used to navigate robots in dynamic and, in some cases, unknown environments [322]. In order to improve efficiency, auxiliary tasks like value function [323] and prediction-based reward [324] has been added. Only visual-based solution [325] and visual plus language based solutions [326], [327] have also been researched. However, the shortcomings of RL have been its operation area being limited to small configuration spaces and fail to replicate a high level of complex performance in large action space.
The inclusion of Deep learning in the reward-based system has seen more promising results in robot navigation. Deep learning enables robots to perceive the environment at a higher level, learn the attributes of the sensor data automatically, which enables robots to navigate in more complex environments. Some wheel robot-based methods have been proposed which generalizes well across training and real-life scenarios and can deal with noisy data, and well versed in obstacle avoidance capabilities [328], [329]. Initially, value-based DRL solutions were proposed to advance the navigation purpose of mobile robots. One example of it is the use of a Deep Q-network [329] to navigate a mobile robot in a corridor using only an RGB-D sensor. But this only works for discrete environments. TO work the robot continuously in much bigger environments, policy-based methods have been introduced which work on the basis of formulating and finishing policies rather than working for a reward. DDPG [329], NAF [330], multi-threading DDPG [331] etc are some of the continuous control policy-based methods. the combination of these two approaches has been later adopted in A3C network [332]. It constitutes an actor and a critic network which uses multi-threading to avoid overfitting. Zhu et al. [292] used A3C network in a target-driven approach using only visual sensors and solved the problem of generalization and data inefficiency. This was later adopted by [333] to navigate in indoor environments. Quan et al. [334] proposed a novel architecture for robot navigation combining DDQN with Recurrent Neural Network, which improves global pathfinding capacities around 5 percent than other existing algorithms. Some other DDQN based methods are [335], [336] etc. Another proposed to combine CNN with DRL to predict the steering action of the robot more accurately while traversing [337].

VII. DISCUSSION ON FUTURE TRENDS OF MOBILE ROBOTICS
In every department of mobile robotics, there have been significant developments. From building 2D maps to 3D dense maps with rich semantic information, navigation in static mapped environments to dynamic unknown environments, performing in a case study scenario to actually getting used daily in real-life cases, it is clear that mobile robotics has come a long way, and integrating deep-learning seems to be the way to go forward in the future. While the integration of deep learning into robotics has caused significant improvement in some sectors, it also brought a set of new challenges going forward.

A. ACHIEVING A COMPLETE END-TO-END LEARNING SOLUTION
While deep learning solutions have brought significant upgrades to the existing systems, there has also been researching to use only deep learning models to complete a task such as SLAM or navigation. However, unfortunately, end-to-end learning based models have yet to reach the performers of hybrid models. Deep learning models are data-driven models; hence their performance is hugely affected by the size, quality, and features of the training data. There is also a concern of these approaches being a black-box solution in some ways as tuning these models to achieve generalized performance across any environment may be tricky, as we often are not sure tweaking which parameter will deliver better results. Hence going forward, achieving end-to-end models for navigation, SLAM, or odometry estimation seems to be an area of development to be worked on in the next decade.

B. DEVELOPING MODELS FOR EDGE DEVICES
In the last decade, one of the most promising sectors was decreasing the size of our computers while increasing power. We now have these small computers that can fit into our pockets. These are called edge devices and are perfect for mobile robotics. Thus, developers around the world have dedicated time and effort in developing applications that can run on these edge devices as it is of great convenience to run applications on the go rather than transferring data on the server for analysis. Some existing devices currently on the market are raspberry pi [338], Nvidia Zetson [339] etc. However, deep learning models need high-level GPU to run properly, which these edge devices cannot provide. Hence, optimized versions of the existing deep learning models are being developed. There is also research ongoing to lower the cost of edge devices and increase their computing capabilities. In the next decade or so, developing optimized models which can work in real time in low-cost edge devices seems to be a real challenge.

C. LONG TIME CONSISTENCY
Though mobile robots are being used in many real-life cases in the current world, these robots still lack the capability to run fully autonomously consistently for a long time. As time goes on, the current generation of robots is prone to making errors. Thus regular maintenance and human intervention are necessary even in places where robots are supposed to be fully autonomous. The goal is to achieve fully autonomous capabilities for the life-cycle of the robot and minimizing human contacts as possible, reducing robot operators. These sectors still need lots of works going forward.
Apart from these, there are also some common issues: mapping complex environments and handling dynamic objects, dealing with uncertainty in environments, dealing with unintended failures, and integrating new sensors such as thermal camera, event camera, loop closure, map re-usability, and working with multi-agent. These are general problems in mobile robotics and still open topics for research in the future.

VIII. CONCLUSION
The modernization of the world makes the nation more dependent on autonomous robots to perform their daily routine. Nowadays, the mobile robot is becoming popular in both sectors of home and industrial purpose. Thus, the accuracy and characteristics of the operations of the mobile robot must be efficient and real-time. Any misleading information of the mobile robot about their working place may lead to serious damage to both the human life and the working place. Thus, the modeling and control approaches of the mobile robot must be efficient to handle any uncertainty or system dynamics. This research article has investigated all the factors of the mobile robot such as locomotion, perception, navigation, and cognition in a comparative model. These factors have been analyzed in terms of mathematical modeling, integration issues, critical challenges, and control issues. Different control approach in various sectors has been reviewed in this article to make the mobile robot more accurate and controllable. The review on the integration of deep learning in the mobile robot and the future trends will help the researchers to take this sector to a new level. MD. A. K. NILOY is currently pursuing the B.Sc. degree in mechatronics engineering with the Rajshahi University of Engineering and Technology (RUET), Rajshahi, Bangladesh. His research interests include autonomous mobile robots, SLAM, mechatronics systems, machine learning, and deep learning.
ANIKA SHAMA is currently pursuing the B.Sc. degree in mechatronics engineering with the Rajshahi University of Engineering and Technology (RUET), Rajshahi, Bangladesh. Her research interests include autonomous mobile robots, mechatronics systems, electric vehicles control, and computer aided design.
RIPON K. CHAKRABORTTY (Member, IEEE) received the B.Sc. and M.Sc. degrees in industrial and production engineering and the Ph.D. degree from the Bangladesh University of Engineering and Technology, in 2009, 2013, and 2017, respectively. He is currently a Lecturer on system engineering and project management and also the Program Coordinator for Master of Decision Analytics and Master of Engineering Science with the School of Engineering and Information Technology, University of New South Wales (UNSW), Canberra, Australia. He is also the Group Leader of the Cross-Disciplinary Optimisation Under the Capability Context Research Team. He has written two book chapters and more than 95 technical journal and conference papers. His research interests include operations research, project management, supply chain management, artificial intelligence, cyber-physical systems, and information systems management. His research program has been funded by many organizations, such as the Department of Defence, Commonwealth Government, Australia.
MICHAEL J. RYAN (Senior Member, IEEE) received the bachelor's, master's, and the Doctor of Philosophy degrees in engineering. He is currently the Professor and the Director of the Capability Systems Centre (CSC), University of New South Wales (UNSW), Canberra. He has completed two years formal engineering management training in U.K. He has more than 35 years of experience in communications engineering, systems engineering, project management, and management. Since joining UNSW, he has lectured in a range of subjects, including communications and information systems, systems engineering, requirements engineering, and project management; and he regularly consults in those fields. He is the author/coauthor of 12 books, three book chapters, and more than 250 refereed journal and conference papers. He is a