Dynamically Scaled Fuzzy Control of Autonomous Intelligent Actor ()
1. Introduction
The article introduces a multi-step fuzzy control mechanism as a “tactical” decision making process for Intelligent Actor (AIA) to approach a Target. For this purpose, we have proposed to use a set of dynamically defined scales for each AIA positioning coordinates. Such scales would reflect a “quasi” speed of AIA movement at each moment of time. For this purpose, we are using “human like behavior” approach toward an AIA control, namely “the further AIA from a Target, the faster AIA is moving (the larger steps AIA makes)” and “the closer AIA to a Target, the slower AIA moves (the smaller AIA steps)”.
2. Logical Principles of AIA Orientation
2.1. Preliminary Considerations
Let consider that both Target and Object, a subject of mutual navigation, to be presented as octagons, depicted on Figure 1 [1] . Also, we use octagons for simplification’s sake only. Given the fact that we are studying a projection-based model, both targets and objects could be presented as follows [1] :
Figure 1. [1] Object and target space representation.
. Where j is number of heights of a Target, whereas
and i is number of heights of an Object. Both a target and an object could be presented in three-dimensional space as follows:
(2.1)
On the other hand, from Figure 1 each value of both a Target and an Object coordinate could be presented as a pair of minimal and maximal (per 3D coordinate) values of them. For targets, in particular
(2.2)
By analogy, for objects we are getting:
(2.3)
2.2. Predicates of Two Entities Mutual Relations
Considering (2.2)-(2.3) we can formulate some logical predicates, which would describe mutual positioning of two players in the paradigm of a projection-based model. Let us define predicates as relation symbols, describing a variety of positions of two entities in a space in a connection to each other.
2.3. Preconditions for Actions and Entity Shape Estimation
Before formulation of a possible actions, which could be performed by certain entities, and given (2.2) and (2.3) we have to consider for each entity the following points in 3-dimentional space
for a Target and
for an Object correspondingly, These points could define some conditional center of a gravity for each of them (median points in space)
,
(2.4)
,
(2.5)
,
(2.6)
2.4. Docking Positioning Predicates
We define the following predicates [2] by using (2.4)-(2.6)
1) Object docks in front of a Target (DIF)
(2.7)
(2.8)
(2.9)
(2.10)
(2.11)
(2.12)
(2.13)
2) Object docks at back of a Target (DAB)
(2.14)
(2.15)
(2.16)
(2.17)
(2.18)
(2.19)
(2.20)
3) Object docks at left of a Target (DAL)
(2.21)
(2.22)
(2.23)
(2.24)
(2.25)
(2.26)
(2.27)
4) Object docks at right of a Target (DAR)
(2.28)
(2.29)
(2.30)
(2.31)
(2.32)
(2.33)
(2.34)
5) Object docks on top of a Target (DOT)
(2.35)
(2.36)
(2.37)
(2.38)
(2.39)
(2.40)
(2.41)
6) Object docks under (at bottom) of a Target (DUN)
(2.42)
(2.43)
(2.44)
(2.45)
(2.46)
(2.47)
(2.48)
2.5. Fuzzification of Docking Positioning
We represent clX from (2.9), (2.16), (2.23), (2.30), (2.37), (2.44), and also clY from (2.11), (2.18), (2.25), (2.32), (2.39), (2.46) and clZ from (2.13), (2.20), (2.27), (2.34), (2.41), (2.48) as a fuzzy set, forming linguistic variable, described by a triplet of the form
, where
is extended term set of the linguistic variable “Closeness” from Table 1,
is normal fuzzy set with correspondent membership function
.
We will use the following mapping
, were
(2.49)
Table 1. Linguistic variables for object/target closeness and control steps scale.
On the other hand, similarly to the previous cases, to determine the estimates of the membership function in terms of singletons from (2.49) in the form
we propose the following procedure.
(2.50)
We also represent
from (2.8), (2.15), (2.22), (2.29), (2.36), (2.43) and also
from (2.10), (2.17), (2.24), (2.31), (2.38), (2.45) and finally
from (2.12), (2.19), (2.26), (2.33), (2.40), (2.47) as a fuzzy set, forming linguistic variable, described by a triplet of the form
, where
is extended term set of the linguistic variable “Steps_scale” from Table 1,
is normal fuzzy set with correspondent membership function
.
We will also use the following mapping
, were
(2.51)
On the other hand, similarly to the previous cases, to determine the estimates of the membership function in terms of singletons from (2.51) in the form
we propose the following procedure.
(2.52)
To convert (2.49)-(2.52) into fuzzy logic-based statement and terms from Table 1 we use a Fuzzy Conditional Inference Rule, formulated by means of “common sense” as a following conditional clause:
P = “IF (
is CL), THEN (
is ST)” (2.53)
In other words, we use fuzzy conditional inference of the following type [3] [4] [5] [6] :
Ant 1: If Closeness is CL then Steps_scale is ST
Ant2: Closeness is CL’
--------------------------------------------------------------- (2.54)
Cons: Steps_scale is ST’.
Where
and
.
Note that statement (2.54) represents “modus-ponens” syllogism. Given that we use the following type of implication [7]
=
(2.55)
Now for fuzzy sets (2.49) and (2.51) a binary relationship for the fuzzy conditional proposition for fuzzy logic with implication of type (2.55) is defined as
(2.56)
and since we consider that
, then expression (2.56) looks like
(2.57)
By using (2.54) and given a unary relationship
one can obtain the consequence
by compositional rule of inference (CRI) to
and
of type (2.57):
(2.58)
But for practical purposes we will use another Fuzzy Conditional Rule (FCR)
(2.59)
Given (2.57) from (2.59) we are getting
(2.60)
3. Scaling
3.1. Basic Principles of Object Decision Making
As it was mentioned above, “human like behavior” approach toward of an object control, namely “the further an Object from a Target, the faster an Object has to move (the larger step we have to make)” or in terms of linguistic variables from Table 1 “Closeness” and “Steps_scale” we use the following conditional clause:
P = “IF (CL is ‘smallest’), THEN (ST is ‘largest’)” (3.1)
To build a binary relationship matrix of type (2.53) and its basic realization (3.1) we use a conditional clause of type (2.60).
To build membership functions for fuzzy sets CL and ST we use (2.50) and (2.52) respectively.
In (2.50) the membership functions for fuzzy set CL (for instance from Table 1) would look like:
(3.2)
Note, that the membership function (2.52) for fuzzy set ST from Table 1 is
(3.3)
Given (2.60), (3.2) and (3.3) we have
shown in Table 2.
Suppose that the current value of “Closeness”, represented by a fuzzy set CL’ from (2.49), is defined as
After applying CRI from (2.58), given an inference of a type (2.54) we get the following
Table 2. Binary relationship matrix of a proposed scaling technique.
In other words, we are getting
which means the “closer” an Object to a Target, the “smaller” step is needed. This basic principle is the foundation for defining the value of a step an Object must make on each iteration.
3.2. Dynamic Scaling for an Object Steps
In this study we presume that in order to approach a Target by an Object the latter must make multiple iterations. Every iteration characterized by certain nonlinear scale, which consists of multiple steps. The number of steps is defined by the value of CardUST. All steps are strictly correlated with a speed of an Object. The bigger the step, the higher the speed. The scale for each subsequent iteration is shorter by length than one of its predecessors. The farther an Object locates from a Target, the more iterations are needed to fulfil the goal (DAL, DAR, …). It is important to mention that the number of iterations would never be known in advance and will be defined by the algorithm, described down below.
Let us define the scale and closeness for each iteration k in X coordinate as the following
(3.4)
where
is defined in (2.8), (2.15), (2.22), (2.29), (2.36), (2.43).
Whereas clX is from (2.9), (2.16), (2.23), (2.30), (2.37), (2.44).
Define all j steps for each iteration k
(3.5)
The procedure (3.5) would be resulted for each iteration k as the following nonlinear sequence
(3.6)
For instance, if
the following nonlinearity is taking place (in % of the size of an original
)
Present
as a fuzzy set
of type (2.49) with correspondent membership function (2.50). Where
.
Applying CRI from (2.58), given an inference of a type (2.54) and Binary relationship matrix from Table 2, we get
of form (2.51).
Represent
as a sum of singletons
(3.7)
Since
is a triangular normal membership function, we are having the following
(3.8)
Reduce the distance between an Object and a Target by value of a current step, associated with found
index.
(3.9)
Redefine coordinates of an Object (presume, that a Target is stationary)
(3.10)
Go to the next k + 1 iteration if a certain condition is met.
(3.11)
where
is empirically defined threshold. The same algorithm (3.7)-(3.11) is applied to Y and Z coordinates by using correspondent
,
.
4. Example
Goal: Object must dock in front of a Target (DIF)
From (1.8)
X coordinates (in conditional units)
and
Threshold
Starting from iteration k = 1:
: 1315.0 (clX: 14.666666666666666%) ==>
step found: 50.9457943035
steps: 131.5 | 118.35 | 106.51500000000001 | 95.86350000000002 | 86.27715 | 77.64943500000001 | 69.8844915 | 62.89604235 | 56.606438115 | 50.9457943035 | 45.85121487315
…
: 1215.0821558471555 (clX: 20.322481583793078%) ==>
step found: 52.305302554831016
steps: 121.50821558471554 | 109.357394026244 | 98.42165462361959 | 88.57948916125763 | 79.72154024513188 | 71.74938622061867 | 61.57444759855682 | 58.117002838701126 | 52.305302554831016 | 47.07477229934791 | 42.367295069413125
…
: 1061.8240406987395 (clX: 30.175472741066255%) ==>
step found: 50.930203771168095
steps: 106.48240406987395 | 95.83416366288655 | 86.2507472965979 | 77.6256725669381 | 69.86310531024431 | 62.87679477921987 | 56.58911530129789 | 50.930203771168095 | 45.83718339405128 | 41.253465054646156 | 37.128118549181536
…
: 875.2586056130062 (clX: 42.60599307455697%) ==>
step found: 46.51483086255817
steps: 87.52586056130062 | 78.77327450517056 | 70.8959470546535 | 63.80635234918816 | 57.42571711426935 | 51.68314540284241 | 46.51483086255817 | 41.86334777630235 | 37.67701299867211 | 33.9093116988049 | 30.51838052892441
…
: 742.9987078726604 (clX: 51.278773254251774%) ==>
step found: 43.87333070117272
steps: 71.29987078726603 | 66.86988370853943 | 60.18289533768549 | 51.164605803916935 | 48.74814522352524 | 43.87333070117272 | 39.48599763105545 | 35.537397867949906 | 31.983658081154914 | 28.78529227303942 | 25.906763045735477
…
: 582.4465686447027 (clX: 61.80678238395393%) ==>
step found: 38.214319368778945
steps: 58.244656864470265 | 52.420191178023245 | 47.178172060220916 | 42.460354854198826 | 38.214319368778945 | 31.39288743190105 | 30.953598688710947 | 27.85823881983985 | 25.072414937855868 | 22.56517344407028 | 20.308656099663253
…
: 443.9855325271776 (clX: 70.8861945883818%) ==>
step found: 32.36654532123124
steps: 41.39855325271776 | 39.95869792744598 | 35.96282813470138 | 32.36654532123124 | 29.129890789108124 | 26.216901710197313 | 23.59521153917758 | 21.235690385259822 | 19.11212134673384 | 17.20090921206046 | 15.480818290854412
…
: 301.0897097262314 (clX: 80.05969116549304%) ==>
step found: 21.63126648782474
steps: 30.408970972623138 | 27.368073875360825 | 21.63126648782474 | 22.168139839042265 | 19.95132585513804 | 17.956193269624237 | 16.160573942661813 | 11.544516548395631 | 13.09006489355607 | 11.781058404200461 | 10.602952563780416
…
: 142.1809221138974 (clX: 90.67666084499034%) ==>
step found: 12.796282990250765
steps: 11.21809221138974 | 12.796282990250765 | 11.516654691225689 | 10.36498922210312 | 9.328490299892808 | 8.395641269903527 | 7.556077142913175 | 6.800469428621858 | 6.120422485759672 | 5.508380237183705 | 1.957542213465334
…
: 3.2696180283021476 (clX: 99.78559881781625%) ==>
step found: 0.2942656225471933
steps: 0.32696180283021475 | 0.2942656225471933 | 0.264839060292474 | 0.2383551542632266 | 0.21451963883690395 | 0.19306767495321356 | 0.1737609074578922 | 0.15638481671210297 | 0.14074633504089268 | 0.1266717015368034 | 0.11400453138312305
…
: 1.1586501838824006 (clX: 99.92402293876181%) ==>
step found: 0.10427851654941604
steps: 0.11586501838824007 | 0.10427851654941604 | 0.09385066489447444 | 0.084465598405027 | 0.0760190385645243 | 0.06841713470807187 | 0.061575421237264685 | 0.05541787911353822 | 0.04987609120218439 | 0.044888482081965955 | 0.04039963387376936
Note:
The number of iterations needed:
for X coordinate k = 134
for Y coordinate k = 134
for Z coordinate k = 135
5. Conclusion
In this work, we introduce a multi-step fuzzy control mechanism as a “tactical” decision making process for Intelligent Actor (AIA) to approach a Target. For this purpose, we have proposed to use a set of dynamically defined scales for each AIA positioning coordinate in 3D space. Such scales would reflect a “quasi” speed of AIA movement at each moment of time. For this purpose, we proposed “human like behavior” approach toward an AIA control, namely “the further AIA is from a Target, the faster AIA must move (the larger steps it must make)” and “the closer AIA to a Target the slower it must move (the smaller its steps)”. The study shows that in order to approach a Target by an AIA the latter must make multiple iterations. Every iteration characterized by certain nonlinear scale, which consists of multiple steps. Proposed scale for each subsequent iteration is shorter by length than one of its predecessors. It was presented that the farther an AIA locates from a Target, the more iterations are needed to fulfil the goal predicates. Presented practical example demonstrates that proposed approach proves the possibility of AIA “soft-landing”.