Learning of autonomous Robot Navigation Tasks by Extremely Randomized Decision Tree With Hyper-Parameter Tuning Using Grid Search Cross-validation Algorithm.

INTRODUCTION:

Harsh Dalal
7 min readMar 26, 2019
Wall following and obstacle avoidance autonomous Mobile robot

The days of robots existing exclusively in the assembly line and in fiction are over; they are moving into our homes and workplaces and starting to become a part of everyday life. However, in order for them to be productive members of society, robots still need researchers and engineers to give them many of the skills we take for granted, such as object recognition and the ability to navigate closed spaces . Recent advances robotics technologies have already made enormous contributions in many industrial areas. There are numerous robotic applications found in a variety of areas in our society such as surveillance systems, quality control systems, AGVs (autonomous guided vehicles), and cleaning machines. Robots are now expected to become the next generation of rehabilitation assistants for elderly and disabled people such as intelligent wheelchairs. By integrating intelligence into a powered wheelchair, a robotic wheelchair has the ability to safely transport a user to their desired destination. In order to achieve successful navigation in a narrow hallway, a robot must exhibit fundamental abilities such as recognizing a corridor and detecting and avoiding collisions. The corridor navigation agent, for example, processes a captured image and identifies a corridor using machine vision techniques, and the collision detection agent avoids walls and obstacles by using neural network to interpret the sensor inputs. Because incremental learning is vital in robots that need to adapt rapidly and respond appropriately to new or unexpected events that occur in its vicinity.

Where robots are required to act as assistants in domestic environments or in security applications when dealing with the general public, an important part of an intelligent engagement is the ability to learn during the interaction. Moreover, without this ability, the robot can use only previously acquired knowledge and will make decisions based only on a subset of the information potentially available. To take full part in communication involving humans or other robots, a robot needs the twin capabilities of learning in real time (at a sufficient rate that the knowledge can be subsumed during the interaction) and incrementally (be used to augment the existing stored knowledge). Due to recent developments within the robotics industry, building a robot has become much more effortless with the aid of commercially available robot kits. Using these kits allows us to possibly reuse the robot and the robot control program since the kit is usually provided with useful development tools . Here, an important topic is the optimization of an initial neural network by learning. Experience with neural networks shows that a fast development of controllers is possible. Therefore different neural network models have been developed for the optimization of controllers in recent years. Systems based on soft computing methods are needed for the realization of high-MIQ (Machine Intelligence Quotient) products, i.e. machines that can mimic the ability of human mind to operate on uncertain and imprecise data. These techniques will also continue to be the key methods for the realization of interactive intelligent systems, because intelligent interaction with the environment and with human requires a flexible, adaptive machine behavior and the ability to handle with imprecise and uncertain measurements or further system inputs. Fundamentally, the behavior of a robot is a result of the interaction of three factors: the robot’s hardware, the robot’s controller, and the environment the robot is operating in. The robot acquires information from the environment through its sensors, which provides the input signals to the controller. The controller computes the desired motor commands and the robot performs these commands in the environment to achieve the desired task . Given that sensing and the actions of a robot are coupled dynamically, given the sensitivity of robot sensor’s to slight changes in the environment, the robot environment interaction exhibits complex, non linear, often chaotic and usually unpredictable characteristics [9,10]. Because of this, the task of robot programming, designing a control program to achieve a desired behavior is difficult. Unlike other engineering disciplines, there is no formal, theory-based design methodology which the robot programmer can follow to program a robot to achieve a desired task. Nevertheless, we have previously shown that the robot programming process can be automated: sensor-motor competences in mobile robotics applications can be modeled automatically and algorithmic, using robot training and system identification methods.

DATA COLLECTION:

In this work, all the data sets are the collection of sensor readings when the SCITOS G5 robot navigates through the room following the wall in a clockwise direction, for 4 rounds. A total of 24 ultrasound sensors are arranged circularly around the waist of the said robot and sensors are numbered circularly starting from the front.There are three different data files; (i) the first one contains the raw values of the measurements of all 24 ultrasound sensors and the corresponding class label; (ii) the second file contains four simplified distances, such as front, left,right and back along with the corresponding class level; and (iii)the third file contains only the front and back simplified distance and the class level. The data files are named as sensor readings-2,sensor readings 4 and sensor readings 24 data-sets. It should be noted that the 24 ultrasound sensor readings and the simplified distances were collected at the same time step, so each file has the same number of instances (one for each sampling time step).There are four class levels in all the files; (i) move-forward, (ii)slight-right-turn, (iii) sharp-right-turn and (iv) slightly-left-turn.Table 1 shows the class level distribution of the used data-set.

Sensor Placement

METHODOLOGY:

Extremely randomized tree

In the extreme case, it builds totally randomized trees whose structures are independent of the output values of the learning sample. The strength of the randomization can be tuned to problem specifics by the appropriate choice of a parameter.

We consider the standard batch-mode supervised learning problem, and focus on learning problems characterized by (possibly a large number of) numerical input variables and one single (categorical or numerical) target variable. We start with the description of the Extra Trees (ET) algorithm and a brief discussion of its rationale. We continue with a systematic empirical evaluation based on a diverse set of classification and regression problems, where we compare this new method with standard tree-based methods, in terms of both accuracy and computational efficiency. In the rest of the article, the term attribute denotes a particular input variable used in a supervised learning problem. The candidate attributes denote all input variables that are available for a given problem. We use the term output to refer to the target variable that defines the supervised learning problem. When the output is categorical, we talk about a classification problem and when it is numerical, we talk about a regression problem. The term learning sample denotes the observations used to build a model, and the term test sample the observations used to compute its accuracy (error-rate, or mean square-error). N refers to the size of the learning sample, i.e., its number of observations, and n refers to the number of candidate attributes, i.e., the dimensional of the input space.

Grid-Search Cross-Validation

A typical machine learning process involves training different models on the data-set and selecting the one with best performance. However, evaluating the performance of algorithm is not always a straight forward task. There are several factors that can help you determine which algorithm performance best. One such factor is the performance on cross validation set and another other factor is the choice of parameters for an algorithm.

Normally we randomly set the value for these hyper parameters and see what parameters result in best performance. However randomly selecting the parameters for the algorithm can be exhaustive.

Also, it is not easy to compare performance of different algorithms by randomly setting the hyper parameters because one algorithm may perform better than the other with different set of parameters. And if the parameters are changed, the algorithm may perform worse than the other algorithms.

Therefore, instead of randomly selecting the values of the parameters, a better approach would be to develop an algorithm which automatically finds the best parameters for a particular model. Grid Search is one such algorithm.

We will then move on to the Grid-Search Algorithm and see how it can be used to automatically select the best parameters for an algorithm.

In this section we will use cross validation to evaluate the performance of Extremely randomized Tree for classification.

PSEUDO-CODE

Extra-Trees splitting algorithm (for numerical attributes)

RESULTS:

Training Score VS Cross-Validation Score
Results From the Grid-Search Cross Validation

Conclusion:

In this article we studied two very commonly used techniques for performance evaluation and model selection of an algorithm. K-Fold Cross-Validation can be used to evaluate performance of a model by handling the variance problem of the result set. Furthermore, to identify the best algorithm and best parameters, we can use the Grid Search algorithm.

--

--

Harsh Dalal

Consultant & Trainer | Artificial Intelligence | Machine Learning | Deep Learning | Blockchain | Tableau