You get a bonus - 1 coin for daily activity. Now you have 1 coin

General architecture

Lecture



The generic architecture is an infrastructure for building reactive controllers from state machines. The nodes of these automata may contain means of testing for some sensory variables, and in such cases the trace of the execution of the state machine becomes due to the result of such a test. Arcs can be tagged with messages that are generated as they travel through these arcs, after which messages are transmitted to the robot engines or other state machines. In addition, the state machines are equipped with internal timers (clocks) that control the time required for the arc to pass. The resulting automata are usually called supplemented finite automata , or abbreviated AFSM (Augmented Finite State Machine), where the addition means the use of clocks.

An example of a simple AFSM machine can be a four-state machine shown in the figure, which generates commands for the cyclical movement of a leg for a six-legged walking robot. This AFSM automaton implements a cyclic controller that operates mainly without feedback from the environment. However, the feedback from the sensor is taken into account during the forward leg transfer. If the leg cannot go forward, which means that there is an obstacle in front, the robot moves the leg back a little, raises it higher and makes an attempt to perform a step forward again. Therefore, this controller acquires the ability to respond to unforeseen situations arising in the process of interaction of the robot with its environment.

In the generalizing architecture, additional primitives are provided for synchronizing the operation of AFSM automata, as well as for combining the output data from numerous, possibly conflicting AFSM automata. Due to this, such an architecture allows the programmer to assemble more and more complex controllers according to the principle of upstream design.

In this example, you can start with the creation of AFSM automata for individual legs, followed by the introduction of an AFSM machine for coordinating the actions of several legs simultaneously. As a superstructure over these automata, you can implement such a high-level behavior as the prevention of collisions with major obstacles, which may require operations such as retreat and change direction.

The idea of ​​building controllers for robots from AFSM automatons is very tempting. It is enough to imagine how difficult it would be to develop the same behavior using any of the path planning algorithms in the configuration space described in the previous section. First of all, an accurate terrain model would be required. The six-legged robot configuration space, each driven by two separate engines, has a total of eighteen measurements (twelve measurements for leg configuration and six for locating and orienting the robot relative to its environment). Even if the computers used were fast enough to provide a search for paths in such multidimensional spaces, it would still be impossible to get rid of the need to take into account such unpleasant situations as the robot sliding on a slope. Because of such stochastic effects, the only way found through the configuration space would surely be too difficult, and even a PID controller would not be able to cope with possible unforeseen situations. In other words, the task of developing behavior that determines movement using algorithmic calculations is too complicated for modern robot motion planning algorithms.

Unfortunately, the generalized architecture is also not without flaws. First, AFSM automata usually operate under the control of directly received sensory input data. Such an organization of work justifies itself if the sensory data is reliable and contains all the necessary information for making a decision, but becomes unacceptable if there is a need to aggregate sensory data obtained for certain periods of time using non-trivial methods. Therefore, generalized type controllers are mainly used to solve local problems, such as passing along a wall or moving towards visible light sources.

Secondly, due to the lack of means to perform algorithmic calculations, changing the task for the robot becomes difficult. A generic type robot usually performs only one task, and there is no way to modify its controls so that it adapts to other control tasks. Finally, it is difficult to understand the work of generalized type controllers. In practice, there are such intricate interactions of dozens of simultaneously functioning AFSM automata (and with the environment) that most programmers are not able to analyze them. For all these reasons, despite its enormous historical importance, generalizing architecture is rarely used in commercial robotics. But for some of her descendants, fate was different.
created: 2014-09-22
updated: 2021-03-13
132473



Rating 9 of 10. count vote: 2
Are you satisfied?:



Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Robotics

Terms: Robotics