===== Intelligent control ===== Control of a system is a set of actions needed to force changes in the system’s state according to the set objectives, goals to be met and mission to be accomplished. Intelligence is brought by methods borrowed from Artificial intelligence including machine vision, decision making, learning and other methods. One can look at intelligent control and control in general through answers to the following questions: * **Where the control decisions are made?** In the extreme cases: all of the decisions are made within the autonomous system - a fully centralized case or all of the decisions are made through distributed entities (other robots, cloud infrastructure, etc..) – a fully decentralized case. Both extreme cases do not fully exist now in terms of practically implemented systems. However, any proportion of both might create a different system architecture and specific technical solutions. * **What decisions are made by the system itself?** Depending on the decision made by the system and by somebody else or something else, it is possible to implement systems of different autonomy i.e. more decisions are made by the system itself, a higher level of autonomy is granted to the system. In the context of autonomy here, only the last question is discussed in details. According to ((https://www.intechopen.com/books/advances-in-robot-navigation/conceptual-bases-of-robot-navigation-modeling-control-and-applications)) there are two main approaches to building control architectures – deliberative and behavioural architectures. All others are a kind of hybrids of the mentioned ones. **Deliberative architectures** approach decision making by applying reasoning on a model of the world. Information flows in a sequential way from one module to another starting from sensor data acquisition, processing, interpretation, world’s model update, action planning end execution. Rather classical architecture is NASREM (NASA/NBS Standard Reference Model for Telerobot Control System Architecture) ((http://www.sciencedirect.com/science/article/pii/0736584589901208)):
{{ :en:av:autonomy_and_autonomous_systems:technology:threelayer.png?400 |}} Three layer architecture
The lower layers respond faster than the higher ones to sensor input data. Data flows horizontally in each layer while control flows vertically. The architecture itself is not limited to three layers since it is a reference architecture. **Behavioral architectures** follow the building blocks defined by ((https://ieeexplore.ieee.org/abstract/document/1087032/?casa_token=YFNJAfrTTSMAAAAA:LowbeEDvU7u8VOv0x7yTJmnraJiNjKMXkVEAiT2LXqN92hUrshIEc1kVb33dAY3hPpaZnIVmyJKWTQ)), which are based on simplicity and assumptions to achieve low response latency:
{{ :en:av:autonomy_and_autonomous_systems:technology:bahavioral.png?400 |}} Behavioral architecture
In this case, intelligent control is achieved through asynchronous execution of different behaviours, which in their essence are finite state machines i.e. each behaviour is a separate module Thus, high flexibility and fast response are achieved. However, the drawback is an unclear reaction on conflicting behaviour results as well as high mission complexity. **Hybrid architectures** combine the best of both deliberative and reactive (behavioural) architectures. However, the so-called – three-layer architecture is the most known one and combines reactive control at the lowest level and deliberative layer at the top level of the architecture:
{{ :en:av:autonomy_and_autonomous_systems:technology:hybrid.png?400 |}} Hybrid architecture
* **Behavioral / Reactive layer** – reactive control, implementing and immediate action as a reaction to stimuli. For instance, if the autonomous system bumps into an obstacle it stops immediately. * **Middle layer** – operational control, implements plan execution routines like obstacle avoidance, localization, mapping and other operational tasks. As with reactive control this layer processes sensor data and probably fuses it with other knowledge or data from the previous time window. * **Deliberative layer** – strategic control, implements strategic planning and mission control tasks, like estimating how far the robot is from achieving the mission objectives. In many cases, route planning is implemented in this layer. This layer usually is associated with the intelligence of the system and the main indicator of the level of autonomy. It must be emphasized that each of the layers whatever the architecture is selected might be implemented using a different software development approach, different methods and run on different hardware, which is a typical approach in the automotive domain to shrink response times and increase the overall safety of the system and its users. In military and space application different hardware allows increasing the system’s resilience.