**4. MATERIAL AND METHOD**

**4.1. STAGE-1: Go-to-goal Controller**

**4.1.7. Gaussian Control Model Kinematics**

**Angle Input Calculation **

Each intersectional edge has an angle value in triangle structure. These angle parameters are determined by utilizing (4.24) and (4.25). The ∆ , ∆ and ∆ are distance vectors between ‘t’, ‘l’ and ‘r’ coordinates of discovered objects. The 𝑎𝑛𝑔 is the radian value of related angle. The 𝐴 corresponds to the degree equivalent of the radian value. Velocities for both wheels are calculated by using these angle values for triangle-based approach.

𝑎𝑛𝑔 𝑎𝑐𝑜𝑠 ∆ ∆ ∆

2 ∗ ∆ ∗ ∆ (4.24)

𝐴 𝑎𝑛𝑔 ∗180

𝑝𝑖 (4.25)

**C. Unit Transformations for Velocity of Wheel **

The pulse values are sent to the robot to control velocity of wheels. The received
*pulse values are converted to mm/s unit with (4.26). The 𝑉 represents velocity of the *
left-right robot wheels in mm/s. The 𝑣 represents pulse value sent to the wheels. The
𝑡 corresponds to the refresh time (a constant value). The Ø express the diameter of
the wheel. The 𝑁𝑏 represents the cycle resolution.

𝑉 𝑚𝑚

𝑠 𝑣

𝑡 ∗Ø ∗ 𝜋

𝑁𝑏 (4.26)

𝜆 and 𝜑 parameters are used as smoothing factors. If 𝑥 value approximates to ‘0’, then 𝑓 approximates to ‘1’ and if 𝑥 value approximates to ‘∞’, then 𝑓 approximates to

‘0’. Therefore, 𝑆 – “Speed Coefficient” is computed by multiplying 𝑆 –

“maximum speed of wheel” with the subtraction of the 𝑓 value of related wheel from

‘1’ by using (4.30). Equations (4.31), (4.32) and (4.33) are used to find 𝑆 - ‘Speed of Left Wheel’ and 𝑆 – ‘Speed of Right Wheel’. The S is the pulse value. It can be set to ‘1200’ for utilized mobile robot as maximum tick value. The ‘𝜏’ is a constant scaling coefficient. Acquired value of 𝑓 function provides addition to the velocity value of one wheel and subtraction from the velocity value of the other wheel according to sign of 𝑥. The 𝑓 is employed to characterize velocities of the robot wheels with a single function. It is used to handle control of a differential drive mobile robot. The 𝑓 is adapted to the configuration space to perform real time go-to-goal control in a static environment.

𝑓 𝑥 1

𝜎√2𝜋𝑒 (4.27)

𝑥 𝐷 𝐷

𝜆 (4.28)

𝑥 𝐴 𝐴

𝜑 (4.29)

𝑆 𝑆 ∗ 1 **𝑓 ** (4.30)

𝑆 𝑆 ∗ 𝜏 𝑆 , 𝐷 𝐷

𝑆 ∗ 𝜏 𝑆 , 𝐷 **𝐷 ** (4.31)

𝑆 𝑆 ∗ 𝜏 𝑆 , 𝐷 𝐷

𝑆 ∗ 𝜏 𝑆 , 𝐷 **𝐷 ** (4.32)

𝑆_{,} 𝑆 ∗ 𝜏 𝑆 , **𝐷 ≅ 𝐷 ** (4.33)

The advantage is that a single 𝑓 model is adequate to set velocity parameters for mobile robot wheels in every control process cycle. It ensures a fast and efficient processing performance in real time. The output of this 𝑓 model is added to the velocity of the behindhand wheel and subtracted from the velocity of the leading wheel of the mobile robot. This means that the behind wheel according to target position, takes positive 𝑓 value for its velocity calculation. In this way, velocity

values of wheels are affected from position values. Fig. 11 shows our 𝑓 curves. The red line indicates the 𝑥 input velocity when the robot is in motion state and the blue line indicates the stopping process with 𝑓 1.

Fig. 11. Gaussian curve graphics for designed control

**A. Calculation of Path Cost Difference **

The path cost difference is generated between the linear 𝐷 path and the real path created by the robot motions. The path cost difference is simply calculated by using (4.34). This value shows how much difference occurs between these paths. The 𝐷 represents the linear path distance and the 𝐷 corresponds to the actual path distance.

The sampled coordinates on the formed path are the 𝑥 𝑦 … 𝑥 𝑦 . The actual point is 𝑞 and the next sampled point is 𝑝 .

𝐷 𝐷

∑ 𝑞 𝑝

∑ ∑ 𝑞 𝑝 (4.34)

**B. Procedures of Stopping Process for Kinematics **

The stopping task is performed when a predefined threshold is reached. This
threshold parameter is the distance value 𝐷 between r and l coordinates on the robot
*label in graph approach. When the distance between robot and target (𝐷 ) equal to or *
below this threshold by reducing gradually, ‘0’ signal pulse is transmitted to the robot
with 𝑆 _{,} calculation by changing parameter to start the stopping process of the robot.

The 𝐷 is controlled in each control loop. This threshold parameter is controlled
according to the target angle value *𝐴 at the target position in triangle approach. *

When the 𝐴 value is equal to or exceeds the ‘60 ’ by increasing gradually, ‘0’ signal
pulse is transmitted to the robot with 𝑆 _{,} calculation by changing parameter to start
the stopping process of the robot. Similarly, the 𝐴 is controlled in each control loop.

In experiments, the mobile robot has stopped according to the target and robot positions. The 𝑓 parameter value σ is reassigned in the end of the execution time passed to complete given task. This reassigning process of σ parameter is performed to stop the robot in a certain stage when previously mentioned threshold value(s) is reached. The robot motion is stopped with ‘𝑓 1’ value by changing value of 𝑥 to

‘0’ and value of 𝜎 to ‘1/√2𝜋’. This means that 𝑆 , takes the ‘0’ value and so the stopping process of the robot is triggered with (4.35) for the graph and (4.36) for the triangle approaches.

𝑆 _{,} 𝑆 ∗ 𝑆 , 𝐷 𝐷 **30 ** (4.35)

𝑆 _{,} 𝑆 ∗ 𝑆 , 𝐴 **60 ** (4.36)

If this threshold condition is not met for the utilized control approach, then the calculation of velocity is proceeded with the previously defined (4.31), (4.32) and (4.33) equations. The computed velocity values are converted to the tick/pulse type with the parameter transformations and then transmitted to the robot.

**C. Control Scheme for Visual Control System **

The entire control stages for controller models is demonstrated in Fig. 12. An image frame captured from the fixed head camera in real-time. Object detection tasks have been executed in the captured image frame. A weighted graph or triangle structure is formed according to the utilized model approach by using identified objects. The weight values (distances) of edges for graph model and the degree values (angles) of edge intersections for triangle model are calculated. The Gaussian function is operated by giving ‘𝑥’ difference value (𝐷 -𝐷 or 𝐴 -𝐴 ) as input variable. The output of the Gaussian is added/subtracted from wheel velocity values according to this ‘𝑥’ value sign ( or ). The ( , ) signs means that the velocity of the left wheel increased and the right wheel is decreased. Similarly, ( , ) signifies the vice versa.

Besides, (~, ~) corresponds that the wheels are affected by same rate. The threshold of stopping process is controlled, if the threshold is satisfied, then the control procedure stops. Otherwise, control processes continue by taking next image frame

from the initial phase. These entire tasks are performed by utilizing only the visual features without any information from the sensors.

Fig. 12. General working phases for designed control method