# Approaches and Challenges in Internet of Robotic Things
## 3 Related Work
### Robot Navigation Techniques  
The ability of a robot to establish its location and orientation within a frame of reference is referred to as robot navigation. Robots use sensors to extract information from their surroundings [57]. A robot navigating in unidentified terrain may encounter an impediment that must be avoided. Probabilistic roadmaps, bumper events, and some algorithms are used for clearing impediments in navigation [58; 59]. The robot follows a path with a specific goal, avoiding obstacles along the way. For implementation, a real TurtleBot robot with sensors is used [60]. The navigation model just requires prior information for navigation at the beginning and places the goal. The navigation methods allow the avoidance of both static and dynamic obstacles [61]. A few navigation techniques are mentioned below. * Robot navigation using fuzzy logic  
The robot localization model uses two kinds of controllers, namely, fuzzy logic and pure pursuit. The controllers use labeled data input and output mapping FIS algorithms. The two algorithms control navigation and obstacle avoidance. The former determines the direct path without considering obstacles, while the latter does [62; 63]. Using fuzzy logic, the unidentified territory is guessed. The fuzzy logic design, membership functions, and fuzzy rule base are all used in the fuzzy controller. For receiving inputs (minimum range, corresponding angle), the MATLAB-Simulink model is utilized, as well as the gazebo simulator. For pre-navigation, the system does not require data for the obstacles. As a result, a model for navigating robots in an unknown environment is worthy of consideration. With future improvements, the left or right turn can be eliminated [64; 65; 66]. * Robot navigation using probabilistic roadmap algorithm  
For robot path pursuit, the probabilistic roadmap is implemented; a path is obtained from the beginning to the end of navigation. The phases of the navigation process are as follows:  
1. Creating a map of the neighboring world,
2. Storing the map in an intelligible form,
3. Selecting a suitable path from start to finish on the preserved map,
4. Ultimately navigating the robot on the detected path. The code is written in the MATLAB programming language. To achieve experimental findings, probabilistic roadmaps and path pursuit are employed. In the future, dynamic environments with moving obstacles can be built [58]. * Robot navigation using laser scan matching algorithm  
A laser scan is executed for concurrent positioning and mapping in robot steering. The method is fulfilled by using two normal distribution transform algorithms [67]. The laser scan data from the robot are collected and kept using one algorithm. The other algorithm scans the matching and mapped buildings. To avoid obstacles, the laser sensor receives input that is converted into angular velocity. Neural network training parameters are required for scanning acceptable data quality. Laser scan measurements acquired at two places during navigation can be positioned using the rotation and translation of the robot'stwo coordinate frames [32; 68; 69]. Equation (5) displays the 3D plotting (f) mid (x1, y1) and (x2, y2) coordinate frames of the robot. \[f: \begin{array}{c}x2\\ y2\\ \end{array} = \begin{bmatrix}\cos\phi&-\sin\phi\\ \sin\phi&\cos\phi\\ \end{bmatrix} x1\\ y1+\frac{\delta x}{\delta y^{\prime}} \tag{5}\]  
where \(\phi\) is the rotation between the two frames [\(\delta\)x, \(\delta\)y]; T is the transformation between (\(x1\), \(y1\)) and (\(x2\), \(y2\)) [67]. * Robot navigation using heuristic functions Three heuristic functions are used to independently navigate a robot. A navigational map is obtained. Among the three functions, Euclidean distance yields the most nonuniform global path planner time. The octile distance yields the most uniform time throughout the navigation procedure [70; 71].