Mobile Robot Navigation System
Shashank V Raghavan??
Artificial Intelligence?| Autonomous Systems??| Resident Robot Geek??| Quantum Computing??| Product and Program Management??
Intelligent robots are required to perform tasks in domains such as space exploration, manufacturing in industry, military applications, and rescue during emergencies. Mobile robots are often employed in these environments as a large range must be covered to complete tasks such as transporting materials, searching for trapped individuals in hazardous environments, or exploring the surface of new planets. While mobile robots have excellent range, they are often deployed in complex environments that are difficult to navigate due to obstacles and harsh terrain. Since these mobile robots are expected to operate autonomously, mechanisms must be employed for the robot to understand its environment, determine the optimal path to reach the destination, and avoid obstacles within the environment. Additionally, when considering that these environments may be dynamic and constantly changing, the navigation mechanisms must be deployed on the robot since the environment cannot be determined before the robot traverses it.
Methods in Navigation
Line Following
Navigation by line following is one of the simpler forms of mobile robot navigation. In particular, line-following navigation systems cannot be deployed in dynamic environments. Instead, line following systems are far more useful when deployed in environments such as warehouses or other industrial settings that are less dynamic than outdoor environments. In less dynamic environments, the lines can all be laid down such that the robots in the environment can follow the predetermined paths without issues. However, other systems may often be used to assist line following in case a moving obstacle crosses the line on which the robot is traveling to prevent collisions.
Most line following systems are built using infrared sensors deployed on the chassis of the robot. A line is painted on the floor that is a distinct color from the rest of the environment. The infrared sensor emits light that is reflected off the color on the floor. The amount of reflected light varies based on the color painted on the floor, and that change can be detected by the infrared receiver. Using this method allows the robot to understand when it begins deviating from the line that it should be traveling along. When the deviation begins to occur, control inputs can be generated in order to realign the robot to the line and continue onward following the correct path.
Fuzzy Logic-based Navigation Approach
In general, fuzzy systems have three primary stages. The first stage takes the inputs to the system and fuzzifies them by using the membership functions that have been discussed previously. Applications then apply a set of If-Then rules to map to classes within the output variables. The final stage is to then map the output values back into a clear, concise signal that can be expressed as a physical value. As discussed in our earlier article, Suppose we have a variable called distance to an obstacle which gives the distance in feet before a mobile robot may collide with an obstacle. We can map this input using fuzzy logic to the sets very close, close, far, and very far. A membership function like the one below may then be created to map distance values to the correct classification. We can then use a set of If-Then rules to determine how the output variables, which we define as Right Wheel Velocity and Left Wheel Velocity, should be mapped to the input variable sets. We give the output variables sets of slow, medium, and fast. It is important to note that in this simple example, the robot can only perform several simple operations. The robot can rotate left quickly to turn, rotate left slowly to turn, drive forward slowly, and drive forward quickly.
These output sets can then be mapped back to a crisp value that can control the speed of the motor based on the class of the output value.
Neural Network Controller Based Navigation Approach
Neural network controllers are also useful in assisting a robot in navigating complex dynamic environments. Training can be performed on likely scenarios that the mobile robot might encounter in an environment, and the correct control inputs that should be output when the scenario is encountered can be predicted. Additionally, during deployment, the mobile robot can continue training its model to make improvements based on the environment that it is deployed into. A set of sensors is often deployed on the robot to collect information about the surroundings of the robot, such as sonar sensors, cameras, lidar sensors, and odometry sensors. A neural network is constructed of multiple layers of nodes. In particular, there is an input layer and an output layer that accepts inputs from a set of sensors, and the output is often connected to control inputs for some system. The hidden layers control the connection between input and output by storing weights between the nodes. As training is performed, the weights in the hidden nodes are updated such that the correct outputs are activated when a certain input sequence is seen. In particular, each node may be thought of as its own linear regression model, and each node contains a threshold value, a weight value, a bias value, and an output.
领英推荐
Equation shows how the output for a given node is calculated where ???? represents that weight assigned to input from a previous node. The value ???? represents the input value from a previous node, and B gives a bias that can be assigned to improve learning by shifting the activation function. The activation function is used to concisely map whether a node should be activated and is often represented by a sigmoid function. The variable ??1 represents the output of a given node within the network. The input layer has its values multiplied by the weights connected to the node, and then the bias value is added. If this sum surpasses the activation threshold value, the output is passed to the next layer. An example neural network architecture can be seen in below Figure.
The neural network above takes two inputs, and in the domain of robotics, we could consider the first input to be the distance to an obstacle in front of the robot and the second input to be the distance to an obstacle on the left or right. The two outputs may indicate values such as move forward or turn. The training data may be constructed in a vector as follows [??????,??????,??????,????] where ?????? is the distance to an obstacle in front or rear, ?????? is an obstacle to the left or the right, and ?????? is the output to move forward and ???? is the output to turn the robot. By training this model, it will correctly predict the movement that it should perform given a set of inputs, allowing it to navigate correctly in dynamic systems.
Vector Filed Histogram
The Vector File Histogram navigation technique utilizes histogram grids and polar histograms in order to determine the correct control inputs to avoid obstacles in an environment. The first step of the algorithm is to construct the histogram grid. The values in each cell of the histogram grid represent the obstacle vector at that location. The magnitude of the obstacle vector can be calculated by Equation. In the equation, ?? and ?? are given constants greater than zero. The variable ??????? is a constant ranging from 0 to 15, representing the confidence at a given grid cell. The parameter ?????? is the distance from the current grid cell to the robot’s current position. The output ?????? is the magnitude of the obstacle vector at the current cell. It is important to note in this Equation that ?????? is proportional to ??????, which means the closer the robot is to the obstacle, the larger its magnitude becomes.
After the histogram grid is constructed, the polar histogram is constructed in order to determine the direction that the robot should travel. Since the polar histogram describes the obstacle density of a given sector around the robot, the path can be adjusted in order to avoid regions that have lots of obstacles and may be unpassable. In particular, the robot should adjust its direction to attempt to continue toward its goal and select a sector that has a low obstacle density which will allow for smooth and safe travel. A 1D polar histogram has an angular resolution of α?? for a given number of sectors n??. This can be represented by ??=360/?? and a breakdown for ??=8 in the above figure. The obstacle density for a given sector of the polar histogram is calculated by Equation.
Summary
The ability for a robot to navigate an unstructured environment is one that is challenging, and many solutions have been developed. With the growing use of robotics in these types of environments, it is essential to continue developing and building upon these techniques to create more robust navigation systems. The navigation techniques, such as fuzzy logic and SLAM algorithms, just scratches the surface of the complex navigation systems employed in robotics when techniques are combined. Additionally, the sensors such as LIDAR and Sonar, only give a small set of the total sensors available for the field of robotics.