SOFTWARE / HARDWARE DESIGN OF DECISION-MAKING CONTROLLERS FOR OBJECT NAVIGATION IN HORIZONTAL PLANE

Original scientific paper The paper aims to research the orientation possibilities of an object in the horizontal plane, from its start course into a required orientating recourse, by using simplified navigation methods. The object’s directed motion uses controlling powering impulses, variable distributed in time, during constrained motion time. Three logical decision-making methods are designed for calculating the best maneuvering trajectory with minimal error on the target. Computing the powering impulses, their execution instances, as well as their types, are ensured by the methods and presented in the paper. The developed controlling methods are: a modified multiple shooting method, a new control law, called in this paper, current error orientation, as well as a fuzzy logic method. These methods are designed as decision-making software implemented in an electronic hardware as a predefined programmable controller. This provides pre-programmable orientation of the object at the very beginning of course motion, towards a targeted point settled out of initial direction. The controlling methods use optimal diversification of full elapsed determining time to execute, in sequences, appropriate types and number of powering impulses. Simulation tests of the methods, as well as the designed hardware, are also presented in this paper as a contribution to the development researches of horizontal motion control.


Introduction
Controlled objects in the horizontal plane have been the subject of research in tremendous number of papers over the last decades.The studied controlled objects are mainly wheeled mobile robots and vehicles.Their control presents a serious challenge as it brings laterally all the problems that can be faced in control theory.Various approaches to their control are offered in literature.There are approaches that do not aim to imitate the human behaviour but simply use the well-known control forms.These are time-varying controllers, typically known by low convergence speed [1,2], or time-invariant controllers, with discontinuities, usually characterized by exponential convergence speed [3,4].The approaches to multi-level controllers consist of two levels: the lower one is presented by the classical proportional, integral and differential (PID) laws of control [5], while the highersophisticated level, mainly targets an imitation of human behaviour, with a goal to avoid constraints imposed by the environments [6,7], or with an appropriate selection of the desired robot trajectory [8].The present research paper considers the navigation problem of a new subject of control, referred as an optimal orientated motion of an object, executed by powering impulses (henceforth impulses), in a horizontal plane, from its start course into a required recourse, orientated to a target point.The object's motion has the next specifications: a rigid constrain of full motion time, only one-way possibility of maneuver and a limited number of impulses.These specifications are interpreted by the mathematical model but lead to development of new approaches for the object's control.
The paper presents three new applications of controlling approaches: numerical controlling algorithm presented by a Modified Multiple Shooting method (henceforth MMS), time-invariant controller, called in this paper Current Error Orientation (henceforth CEO), as well as fuzzy logic method (henceforth FLC), basically developed as requirement to imitate human behaviour, presented in papers [9,10].The goal of these controlling methods is to evaluate the best navigating-maneuvering trajectory to the target point from the initial course, by making decision on the types and sequence of impulses' execution.Derived simulations, supported by numerous optimizing examples with and without presence of perturbations, are discussed further in this paper.The controlling methods are implemented on a software/ hardware experimental platform designed for simulating types and execution sequences of the impulses, calculated by the mentioned methods.The research results given in this paper are a new contribution in controlling process, for object's simplified navigation, based on their sequent orientation during elapsed time instants, programmed previously, as designed requirements, to move from starting to the targeting point.

Mathematical model of the object motion
It is supposed that the object's motion is achieved in the horizontal plane and constrained by invariant full time τ and same initial distance-to-target with and without maneuver D (Fig. 1a).This motion consists of two phases, first is a straight line phase with constant velocity without any external controlling inputs, whereas the second one is a controlled orientating phase.First phase' course and its radial displacement, before orientating the object are given by equations of motion, in the polar coordinate system, respectively as, ( ) where 0 ϕ is the initial course and ( ) V is the initial object's velocity in the 1 st phase.
Straight-line phase is presented in Fig. 1a as the trajectory from A to B with a required duration of ( ) is the relative time factor.Initial distance-to-target D is presented in Fig. 1a as the distance from A to C (with maneuver) which is equal to the distance from A to C' (without maneuver).The distance D is given as; ( ) The second orientating phase is mainly defined by two parameters, one is the relative time factor * τ and the other is turning course angle ϕ ∆ (Fig. 1a).This phase is divided into (N) sub-phases noted as (i+1) for i = 1, 2, ..., N, after the achievement of the first phase.The phase duration is ( ) ( ) along recourse line (BC) (Fig. 1b).
It is supposed that the initial horizontal velocity is known at the moment of maneuvering and that for each of the sub-phases the horizontal velocity is generally expressed as where ( ) are the initial velocity vectors in the sub-phases (i) and (i+1) respectively, whereas ( ) represents the orientating velocity vector.It has to be noted that the initial and final velocity vectors in any subphases are the same ( ( ) ( ) ).Initial course and radial distance for each sub-phase (i+1) correspond to their achieved homologues in the previous sub-phase i (Fig. 1b) as, ( ) ( ) In this paper, the initial values of the radial unit vector ( ) as well as the turning unit vector ( )  in the particular phase (i + 1) are respectively equal to their homologues ( )  at the end of the previous phase (i) (Fig. 1b), as If the duration of a sub-phase is ( ) 2 τ , starting at the maneuver beginning B and achieving at target point C, the turning motion has only one sub-phase.This case is considered as mono-phase and its turning distance and time are invariant values in the above model.Mono-phase turning motion requires higher values of orientating velocity components for the maneuvering motion, while multi-phase turning is less restrictive and can be used to avoid the rigid motion conditions during the orientation.The mono-phase maneuvering path, along recourse line (B to C) (Fig. 1-a) is considered as a referencing distance to test achieved maneuvering recourses in sub-phases, and final motion errors to target C.
The orientating velocity ( ) 3) is characterized by its magnitude ( ) ), in the polar coordinate system (Fig. 1b), as; where υ is the angle between ( ) in the sub-phase (i).By scalar and vector optimization of the orientating velocity vector given in Eq. ( 6), three cases of impulses generating the orientating velocity are adopted to be used in simulation tests.They are the next; • Lateral impulse for turn-of motion where the orientating velocity U  is characterized by a finite magnitude and a fixed angle υ nearby 80°.This type of impulses, noted as Lat U  , has two components: one is orthogonal to the object's velocity 0 V  , which represents the only contribution to the turning motion and the major part of orientating velocity magnitude.The other one is longitudinal, as velocity addition along 0 V  direction, to slightly adjust misses due to lateral motion path.The expression of object's velocity, in the (i+1) sub-phase, in the polar coordinate system, is given by : • Longitudinal impulse for run motion is a contribution to run-to-target motion.In this case the orientating velocity is noted as Lon U  , and defined by a finite magnitude and a null angle υ .This impulse role is to correct the missed distance-to-target made by elapsed constrained time to move object to the targeted point C. The expression of ( ) • No impulses, this type motion is the most common where the object continues its movement in the same direction with its same velocity magnitude.In this case, the magnitude of the orientating velocity vector is to equal zero , for that the object's velocity is expressed as; The types of the impulses are abbreviated in the following text as Lat, Lon and Ni for lateral, longitudinal and no impulse respectively.By determining the types of the impulses in every sub-phase, the maneuvering phase may be adjusted and corrected in both misses by distanceto-target and by direction.
Orientating velocities, in this manuscript, are previously defined by determined time profiled values, starting from 0 to max U during a short elapsed instants τ ∆ .Different logic controllers are tested to select the best impulse execution sequences to make software base, which provides minimal errors in the maneuver powered by impulses.

Definition of the controlling methods
Three methods are proposed and implemented to optimize the sequent turning trajectories toward the target, by calculating the instants of activation and the types of impulses.The idea is to divide the maneuvering phase time 2 τ into N intervals of t ∆ , then respectively apply one of the following decision-making methods to activate one of impulse types, by Eq. ( 7), ( 8) and ( 9), at each interval beginning from 1 to N. The goal is to calculate subtrajectories for each interval, so that the trajectory to the target C is the connection of the N sub-trajectories.The methods that solve the problem are given in the following paragraphs.

Modified multiple shooting method
The classical single shooting method is a numerical method widely used for solving two-point boundary value problems (BVP), these are mainly differential equations with initial and final values of the solution prescribed, as given in [11].This method takes its name from varying the initial slope to suggest the trajectory of an object "shot" from the initial point.That initial slope is sought which results in the trajectory "hitting" the target or the final value, reported by [12].The controlled object's motion phase can be considered as a kind of BVP where the initial and final values are the start-maneuvering point B and the target C respectively.Taking into consideration the specifications of the system, the variation of the initial slope is limited to the mentioned three types of impulses (Lat, Lon and Ni) as determined by Eq. ( 7), ( 8) and ( 9).The controlling method has to evaluate the trajectory between the boundary points B and C.
The modified multiple shooting method (MMS) uses the time decomposition of the problem, together with additional matching conditions at the time interfaces as used in the original direct multiple shooting [13].Precisely, the time domain is divided into (N) intervals 1 ,  and; ( ) The novelty is that the MMS instead of introducing artificial initial values for each time interval, applies three single shots before selecting the best one.The best shot selection is based on an optimality criterion presented by the minimal temporary final error to the target.
where I i is the impulse type selected for the sub-phase (i+1) and applied at t i−1 .The parameters ( , y  7), ( 8) and (9).The temporary final object's coordinates are given as It is important to emphasize that the E N (I N , t N−1 ) represents the final error distance to the target, noted in the following text as df rr Ε .
The MMS presented above aims to evaluate the optimal trajectory between the boundary points B and C that minimizes the cost functional J of the temporary final errors to the target given as; The outputs of the MMS are the types of impulses applied at the instances t k−1 that generate the optimal trajectory.Making the MMS into practice, for instance, for the j th interval start between 1 to N, the algorithm computes the trajectories with the remaining time, after the three shots.The closest shot to the target is selected as the best shot.The trajectory induced by the best shot is then adopted for the j th interval and its final values are used as initial values for determination of the best shot for the (j+1) th interval.The optimal couple data resulted in this method is used to evaluate the other methods.

Current error orientation method
The maneuvering object's motion, in this section, is treated as a controlled navigation between start-orientating point B and the target C, taking into consideration the above mentioned specifications of the system.Based on these facts, a logical decision-making controller is designed to ensure minimal error to the target for this type of systems.In this paper, a new time-invariant controller, called Current Error Orientation controller (CEO), is designed and its structure is showed in Fig. 2.
The designed two-input-one-output CEO controller uses as inputs: the error ( ) The mathematical expressions of ( ) ( ) 2 E t are given by Eq. ( 15) and Eq. ( 16) respectively.
( ) ) The CEO controller output is the decision I(t) on the type of the impulse to be used (Lat, Lon and Ni).The output ( ) I t follows a designed time-invariant law given by Eq. ( 17). (t) The CEO controller given by Eq. ( 17) regulates the object's direction ( ) ε , the controller makes the decision of no impulse use (Ni), which corresponds to the third type.These logical decisions are generated for each instance t during the maneuvering phase.
The choice of the set-points or the desired inputs is crucial for the reason that it affects directly the work of CEO controller.This choice has to fit the system requirements and specifications.In this application, the choice of β c and ε c was β c ∈ [2.1°, 2.6°] and ε c = 25 m, which corresponds to the desired requirement for a oneway maneuver.

Fuzzy logic method
The maneuvering The schematic structure of the decision-making Fuzzy Logic Controller (FLC) is shown in Fig. 3, where FLC is used for controlling the object's lateral motion powered by impulses.FLC is designed, in this present application, to make decisions on the type of impulses to be executed in each time interval.This impulse sequence is made to ensure minimal error for each predefined angle ϕ ∆ and relative factor T of maneuver.Membership functions are used by fuzzy logic to define the degree to which crisp physical input values belong to terms in a linguistic variable set.Generally, FLCs are mainly composed of three basic components, which are the fuzzification block, fuzzy inference engine (rule base), and defuzzification block, reported by [14].The essence of any FLC is the fuzzy inference engine which includes both the decision-making logic and knowledge base.The fuzzification block converts each crisp input information into fuzzy values.The knowledge base comprises a database with necessary linguistic variables as a set of rules, while decision-making logic is used to decide how the fuzzy logic operations are performed.The fuzzy inference engine determines the outputs, as fuzzy values, of each fuzzy IF-THEN rule.
These fuzzy values (outputs) are converted into crispy values in the defuzzification block.The output of the FLC is the decision ( ) I t on the impulse type to be executed at the start of a particular time interval.Accordingly the output is attributed to three membership functions (Lateral, Longitudinal and No impulse), or abbreviated as (Lat, Lon and Ni).
The trapezoidal shaped membership functions are used to fuzzify the input variables while triangular shaped ones are used for output variable.The membership boundaries are shown in Fig. 4 and their coefficients i β , and w are given in Tab. 1.  • Impulses' use causes changes in direction and magnitude of the object's velocity vector depending on their types.Lateral impulses must be used to correct the direction of the velocity vector towards the target;

Figure 4 Definition of membership function for input and output variables
• In case of a good orientation of controlled object 's velocity vector toward the target, the magnitude of controlled object 's velocity vector rises with the increase in current error ( ) t ε ; • When the orientation of the controlled object's velocity vector toward the target reaches nearby zero, the need of executing lateral impulses decreases, to respect the requirements for a one-way maneuver.
The fuzzy inference system presented in this paper is a Mamdani type [10].Defuzzification method used in this paper is Mean of Maximum (henceforth MoM).The defuzzified value is defined as the mean of all values of the universe of discourse, having maximal membership grades, derived by [15], given by Eq. ( 18) as; 1 ( ) where ( ) I t is the MoM, j c is the point at which the memberships function is maximum, and L is the number of times the output distribution reaches the maximum level.

Simulation and discussion
To research the ability of the proposed methods to generate maneuvering trajectories with minimal final error, a number of simulations are realized using the above mathematical model.The maneuvers are executed by three types of powering impulses, namely lateral impulses (Lat) that generate lateral velocities .The impulses' execution duration and the sampling time were 300 ms and Δt = 320 m, respectively.For the present study, the target C is situated on a radial distance D = 36697 m from the initial location of the object.It is assumed that the object's initial velocity , where it is about 1.66 m.This variation in df rr Ε between methods is due to the differences in the order, and execution instants and the type of impulses calculated by the stated methods.These simulations are presented for ideal case regardless of all perturbations or mathematical model errors.presented in Tab.
3 are assumed to be systematic errors (bias).In order to determine the sensitivity of the system due to errors in the model, arbitrary perturbations are added to the system's parameters in each sampling interval.For the reason that the object's velocity is the essence of the mathematical model, the perturbations are expected and chosen to be added to its magnitude as

Hardware design and impulse sequences simulation by the implemented decision-making methods
The static simulation test is realized by software/hardware designed assembly shown in Fig. 5.The electronic controller is linked with led diodes which simulate the impulses executions, both in type and instances.The required software control inputs are the desired turning angle [ ] 8 ,18 ϕ ∆ ∈ °°, relative time factor * τ as well as one of the controlling methods stated above.The static impulse simulator turns on diodes in time sequences which are the results of the appropriate method given in Tab. 3 for optimal final error distance to the target.In addition to the desired pair ϕ ∆ and * τ given in Tab. 3, the operator has the possibility to choose the other desired pair for non-optimal final errors.The operator has to choose also the object angular rate (RPM) between a set of predefined ones.This visualization procedure corresponds to the ignition of powering impulses mounted on the controlled object in two rings.First is oriented toward 82° in lateral direction to simulate the lateral impulses work (Lat), whereas the second is mounted in a resulting 0° in axial direction that presents the longitudinal impulses (Lon) Fig. 6.The hardware is designed and programmed to switch on green lights on all the duel-color diodes in order to indicate the system readiness as well as the duration of the first phase τ (1) .To visualize the impulse execution instances and type, the microcontroller turns on red light on the appropriate diode depending on two requirements.First is the motion turning cycle given in Tab. 3, for desired pair of data and chosen controlling method.Second is the diode position on the controlled object ring which corresponds to predefined chosen rpm (required in real motion).Turning on red light lasts t ∆ before switching on the mixed light to indicate that impulse is not further available for the turning and lasts all the remaining orientating time 2 go t .
The electronic input consists of microcontroller unit, the Arduino board, capable of USB connection with the PC and an add-on board.As it could be seen from the block schematics of the hardware presented in Fig. 5.The human machine interface based upon character LCD module, accompanied with the tactile switches for selecting the methods and desired pair ϕ ∆ and * τ .The external EPROM unit enables the storing capability and recalling of large data sets.The visualization process of the impulses' execution is accomplished by means of the 34 LED diodes, 22 for lateral impulses (Lat) and 12 liked simultaneously in 6 pairs for longitudinal impulses (Lon), which corresponds to the maximal number of impulses (Fig. 6).On the applied hardware, the 74HCT595 serial to parallel chain is powered by the external power supply.The diode current is limited by the anode resistor.Since the entire serial chain of 74HCT595 sets the output to the parallel register on strobe of the storage register clock signal (pin 12) all predefined states in serial register appear simultaneously on the output ports.The internal timer interrupt routine enables the precise timing of the visualized process, the 1ms time resolution was selected, and the mentioned hardware possesses the jitter smaller than 62 ns, while the delay is constant and repeatable.The hardware is produced as an add-on board for the Arduino Mega 2560.

Conclusion
The comparative analysis of the three decisionmaking methods, aimed for the maneuvering control of the object, shows promoting and closes results for all methods in presence of external perturbations.Each method has its specifications as the following: • The modified multiple shooting approach, presented in this paper, combines the direct multiple shooting method and the single one.This constitutes a significant simplification of the maneuvering trajectory optimization and a numerical stability over single shooting methods.The MMS approach involves a minimum logic problem analysis, for that reason it is used as a reference for the preliminary estimation of the controlled objects' parameters.The disadvantage of this approach is that it does not allow to explicitly including information about the solution into the problem solving procedure.• The CEO method uses the classical controlling theory by applying a time-invariant controlling law for the multi-input-single-output system.This method presents mathematical solution for maneuvering but requires a further stability analysis before implementing it on a real system.• The well-known fuzzy method (FLC) has proved its efficiency on numerous systems.It provides an explicitly incorporating knowledge about the solution into the problem by fuzzy rules set.
Further research is orientated on real testing of the designed software/hardware platform mounted on a real mobile system.

Figure 1
a) Object's orientating trajectory b) Definition of the system parameters Controlled object trajectory and parameters

2 (
target's coordinates while ( (i 1) (i 1) , f f x y + + ) are the temporary final object's coordinates calculated with the remaining time 2 based on the impulse type by Eqs. (

( ) 1 E 2 E,
t that marks the disparity between the desired angle c β and the angle ( ) t β , and the error ( ) t which represents the difference between the desired current error c ε and the actual current error ( ) (Fig.1-b), while the current error ( ) t ε is defined as the difference between the remaining distance to the target 2T d and the distance to go 2go d in the motion direction calculated by ( ) (t)

Figure 2
Figure 2 Structure and input/output definition of CEO method

Figure 3
Figure 3 Structure of fuzzy logic methodThe FLC designed in this paper is a two-input-oneoutput controller.The inputs to the FLC are the angle ( ) t β in Tab. 2 are defined basing on the following points: 's direction of motion, as well as no impulse (Ni) where the controlling velocity is 00.0 m/s Ni U = while the full motion time is fixed as 86.97s τ =.To select the final error, the simulation is repeated for each chosen relative time factor .The simulation results are presented in the Tab. 3. The final error distance to the target df rr Ε is achieved by appropriate number and types of the powering impulses, presented in Tab. 3 as (Lat/Lon) for lateral and longitudinal impulses respectively.The relative time factor * is also shown in Tab. 3. The comparative analysis shows that the results obtained for all the three methods are overall acceptable.Comparing the results by methods, one can conclude that all methods give approximately close df rr Ε for each desired couple of maneuvering courses ϕ ∆ and time factor * τ .The greatest difference in df rr Ε is observed for the couple Δφ = 9° and * 0.8 τ = , where it is equal to 113.2 m, whereas the lowest is witnessed for the couple Δφ = around 25% of orientating velocity magnitude, as well as to its direction as 0simulate the effectiveness of the three methods in perturbation presence, the case of 8 o ϕ ∆ = and * 0.75 τ = is selected.The perturbation will be equally added for the three methods in each sampling interval in the maneuvering phase.The simulation is repeated (n) times and the final errors for the three methods obtained in this study follow the normal distributions law.Their resulting parameters are shown in Tab. 4 as the average final errors, df rr Ε , and the standard deviation σ as well as minimal and

Figure 5 Figure 6
Figure 5 Software /hardware assembly

Table 1
FLC membership boundaries

Table 2
Fuzzy rules set

Table 3
Simulation results for the decision-making methods df rr Ε

Table 4
Simulation results in perturbation presence