Author Contributions
Conceptualization, V.T.P.; methodology, V.T.P., A.S. and V.K.; software, V.T.P. and A.S.; validation, V.T.P., A.S., V.K. and T.S.N.; formal analysis, V.T.P., A.S., V.K. and T.S.N.; investigation, V.T.P. and A.S.; resources, A.S. and V.T.P.; data curation, V.T.P.; writing—original draft preparation, V.T.P. and T.S.N.; writing—review and editing, V.T.P. and T.S.N.; visualization, V.T.P., A.S. and T.S.N.; supervision, V.T.P.; project administration, V.T.P.; funding acquisition, A.S. and V.K. All authors have read and agreed to the published version of the manuscript.
Figure 1.
The moving task of the differential drive robot.
Figure 1.
The moving task of the differential drive robot.
Figure 2.
The parameters of the robot and the next waypoint.
Figure 2.
The parameters of the robot and the next waypoint.
Figure 3.
Geometry of a differential drive robot.
Figure 3.
Geometry of a differential drive robot.
Figure 4.
A basic electrical circuit and free body diagram of a DC motor.
Figure 4.
A basic electrical circuit and free body diagram of a DC motor.
Figure 5.
The block diagram of a brushed DC motor.
Figure 5.
The block diagram of a brushed DC motor.
Figure 6.
The close loop schema of the DDR using the fuzzy logic controller.
Figure 6.
The close loop schema of the DDR using the fuzzy logic controller.
Figure 7.
The fuzzy logic controller used for the differential drive robot.
Figure 7.
The fuzzy logic controller used for the differential drive robot.
Figure 8.
The schema of the genetic algorithm cycle.
Figure 8.
The schema of the genetic algorithm cycle.
Figure 9.
Representation of membership functions of each input and output.
Figure 9.
Representation of membership functions of each input and output.
Figure 10.
Representation of each chromosome.
Figure 10.
Representation of each chromosome.
Figure 11.
The optimization process of the fuzzy logic controller.
Figure 11.
The optimization process of the fuzzy logic controller.
Figure 12.
The flow chart of the genetic algorithm process.
Figure 12.
The flow chart of the genetic algorithm process.
Figure 13.
The convergence of the fitness value over generations.
Figure 13.
The convergence of the fitness value over generations.
Figure 14.
The suboptimal membership functions.
Figure 14.
The suboptimal membership functions.
Figure 15.
The simulation results in the case of using the zigzag path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Figure 15.
The simulation results in the case of using the zigzag path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Figure 16.
The simulation results in the case of using the square path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Figure 16.
The simulation results in the case of using the square path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Figure 17.
The simulation results in the case of using the sharp turn path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Figure 17.
The simulation results in the case of using the sharp turn path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Figure 18.
The simulation results in the case of using the diamond-shaped path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Figure 18.
The simulation results in the case of using the diamond-shaped path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Figure 19.
The simulation results in the case of using the straightforward path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Figure 19.
The simulation results in the case of using the straightforward path. (a) The trajectory of the robot; (b) The robot’s travel distance over time; (c) The robot’s linear velocity over time; (d) The robot’s angular velocity over time; (e) The robot’s kinetic energy loss over time; and (f) The zoom of the robot’s kinetic energy loss over time.
Table 1.
The parameters of the differential drive robot.
Table 1.
The parameters of the differential drive robot.
No | Parameters (Notation) | Unit |
---|
01 | The linear velocity of the DDR (v) | m·s−1 |
02 | The orientation of the DDR (θ) | rad |
03 | The angular velocity of the right wheel | rad·s−1 |
04 | The angular velocity of the left wheel | rad·s−1 |
05 | The linear velocity of the right wheel | m·s−1 |
06 | The linear velocity of the left wheel | m·s−1 |
07 | The radius of the right and the left wheels (r) | m |
08 | The distance between the right and the left wheels (b) | m |
09 | The center of the axis between the right and the left wheels (Q) | - |
10 | The center of gravity of the DDR (G) | - |
11 | The distance between Q and G (a) | m |
Table 2.
The input membership functions.
Table 2.
The input membership functions.
Input 1: (D) | Input 2: (Δθ) |
---|
Membership Functions | Notation | Membership Functions | Notation |
---|
Very Close | VC | Big Negative | BN |
Close | C | Negative | N |
Medium | M | Zero | Z |
Far | F | Positive | P |
Very Far | VF | Big Positive | BP |
Table 3.
The output membership functions.
Table 3.
The output membership functions.
| |
---|
Membership Functions | Notation | Membership Functions | Notation |
---|
Very Small Right | VSR | Very Small Left | VSL |
Small Right | SR | Small Left | SL |
Medium Big Right | MBR | Medium Big Left | MBL |
Big Right | BR | Big Left | BL |
Very Big Right | VBR | Very Big Left | VBL |
Table 4.
The rules of the right wheel angular velocity.
Table 4.
The rules of the right wheel angular velocity.
| | BN | N | Z | P | BP |
---|
| |
---|
VC | Out_R01 | Out_R02 | Out_R03 | Out_R04 | Out_R05 |
C | Out_R06 | Out_R07 | Out_R08 | Out_R09 | Out_R10 |
M | Out_R11 | Out_R12 | Out_R13 | Out_R14 | Out_R15 |
F | Out_R16 | Out_R17 | Out_R18 | Out_R19 | Out_R20 |
VF | Out_R21 | Out_R22 | Out_R23 | Out_R24 | Out_R25 |
Table 5.
The rules of the left wheel angular velocity.
Table 5.
The rules of the left wheel angular velocity.
| | BN | N | Z | P | BP |
---|
| |
---|
VC | Out_L01 | Out_L02 | Out_L03 | Out_L04 | Out_L05 |
C | Out_L06 | Out_L07 | Out_L08 | Out_L09 | Out_L10 |
M | Out_L11 | Out_L12 | Out_L13 | Out_L14 | Out_L15 |
F | Out_L16 | Out_L17 | Out_L18 | Out_L19 | Out_L20 |
VF | Out_L21 | Out_L22 | Out_L23 | Out_L24 | Out_L25 |
Table 6.
The main parameters of the DDR used for simulation.
Table 6.
The main parameters of the DDR used for simulation.
Parameters (Notation) | Value |
---|
The mass of the robot (m) | 1.733 kg |
The moment of inertia of the DDR (I) | 0.08 kg·m2 |
The torque constant | 0.001 Nm/A |
The back emf constant | 0.03 V/m/s |
The electrical resistance | 0.7 |
The electrical inductance | 0.01 H |
The damping coefficient (B) | 0.004 N·m·s |
The moment of inertia of the motor (J) | 0.037 kg·m2·s−2 |
The gear ratio of the DC motor (N) | 30 |
The distance between two drive wheels (2b) | 0.2 m |
The drive wheel’s radius (r) | 0.0425 m |
Table 7.
Parameters of the paths used for simulation.
Table 7.
Parameters of the paths used for simulation.
Paths | Waypoints (x, y) |
---|
Starting Point | 1st Point | 2nd Point | 3rd Point | Goal |
---|
Zigzag path | (0, 0) | (2, 0) | (2, 2) | (4, 2) | (4, 4) |
Square path | (0, 0) | (2, 0) | (2, 2) | (0, 2) | (0, 0) |
Sharp turn path | (0, 0) | (2, 0) | (1, 2) | - | - |
Straightforward path | (0, 0) | (2, 1.5) | (4, 3) | - | - |
Diamond-shape path | (0, 0) | (2, –1) | (4, 0) | (2, 1) | (0, 0) |
Table 8.
The limit of the optimization problem variables.
Table 8.
The limit of the optimization problem variables.
Optimization Variables | Low Bound | High Bound |
---|
input1 (D) | 0 m | 10 m |
input2 | −π rad | π rad |
output1 | 0 rad·s−1 | 30 rad·s−1 |
output2 | 0 rad·s−1 | 30 rad·s−1 |
Table 9.
The mapping of genes into the notations of the output membership functions.
Table 9.
The mapping of genes into the notations of the output membership functions.
Genes Represent Outputs | Value | Notation of Output |
---|
From Out_R1/Out_L1 to Out_R25/Out_L25 | [0.0–0.2) | VSR/VSL |
From Out_R1/Out_L1 to Out_R25/Out_L25 | [0.2–0.4) | SR/SL |
From Out_R1/Out_L1 to Out_R25/Out_L25 | [0.4–0.6) | MBR/MBL |
From Out_R1/Out_L1 to Out_R25/Out_L25 | [0.6–0.8) | BR/BL |
From Out_R1/Out_L1 to Out_R25/Out_L25 | [0.8–1.0] | VBR/VBL |
Table 10.
The founded suboptimal parameters of the input membership functions.
Table 10.
The founded suboptimal parameters of the input membership functions.
|
---|
Name | Notation | Range of Value |
---|
Very Close/Big Negative | VC/BN | [0.0, 0.0, 3.95]/[−π, −π, −1.72] |
Close/Negative | C/N | [2.93, 3.97, 4.55]/[−3.59, −1.57, 1.95] |
Medium/Zero | M/Z | [4.13, 4.77, 6.54]/[−0.16, 0.41, 2.40] |
Far/Positive | F/P | [7.30, 7.47, 15.79]/[−0.09, 1.56, 3.32] |
Very Far/Big Positive | VF/BP | [7.24, 10, 10]/[0.004, π, π] |
Table 11.
The founded suboptimal parameters of the output membership functions.
Table 11.
The founded suboptimal parameters of the output membership functions.
|
---|
Name | Notation | Range of Value |
---|
Very Small Right/Left | VSR/VSL | [0, 0, 8.94]/[0, 0, 9.32] |
Small Right/Left | SR/SL | [−9.15, 1.59, 14.57]/[6.40, 7.02, 7.80] |
Medium Big Right/Left | MBR/MBL | [13.97, 16.41, 18.07]/[15.40, 16.73, 17.53] |
Big Right/Left | BR/BL | [17.03, 17.10, 19.00]/[20.84, 27.36, 18.32] |
Very Big Right/Left | VBR/VBL | [16.55, 30, 30]/[19.59, 30, 30] |
Table 12.
The suboptimal rules for the right wheel angular velocity.
Table 12.
The suboptimal rules for the right wheel angular velocity.
| | BN | N | Z | P | BP |
---|
| |
---|
VC | MBR | VSR | SR | BR | VSR |
C | VSR | VSR | VBR | VBR | VSR |
M | VSR | SR | SR | VSR | VSR |
F | MBR | MBR | BR | VBR | VSR |
VF | BR | VBR | VBR | VSR | VSR |
Table 13.
The suboptimal rules for the left wheel angular velocity.
Table 13.
The suboptimal rules for the left wheel angular velocity.
| | BN | N | Z | P | BP |
---|
| |
---|
VC | MBL | SL | SL | VSL | VSL |
C | SL | VSL | MBL | SL | VSL |
M | SL | MBL | SL | VBL | BL |
F | BL | BL | BL | VBL | BL |
VF | VBL | SL | VBL | BL | BL |
Table 14.
The kinetic energy loss and the travel distance of the robot when the robot tracks the zigzag path by the different controllers.
Table 14.
The kinetic energy loss and the travel distance of the robot when the robot tracks the zigzag path by the different controllers.
Controllers | Energy Consumption | Travel Distance | Travel Time |
---|
E (J) | E (%) | s (m) | s (%) | Time(s) |
---|
Expert_FLC | 1.575194 | 798.56 | 8.096951 | 100.00 | 28.33 |
Optimal_MFs_FLC | 0.720139 | 365.08 | 8.142723 | 100.57 | 22.53 |
Optimal_MFs_FRs_FLC | 0.197255 | 100.00 | 8.348827 | 103.11 | 34.95 |
Table 15.
The kinetic energy loss and the travel distance of the robot when the robot tracks the square path by the different controllers.
Table 15.
The kinetic energy loss and the travel distance of the robot when the robot tracks the square path by the different controllers.
Controllers | Energy Consumption | Travel Distance |
---|
E (J) | E (%) | s (m) | s (%) |
---|
Expert_FLC | 1.350298 | 727.19 | 8.048057 | 100.74 |
Optimal_MFs_FLC | 0.759424 | 408.98 | 7.989019 | 100.00 |
Optimal_MFs_FRs_FLC | 0.185687 | 100.00 | 8.202735 | 102.68 |
Table 16.
The kinetic energy loss and the travel distance of the robot when the robot tracks the sharp turn path by the different controllers.
Table 16.
The kinetic energy loss and the travel distance of the robot when the robot tracks the sharp turn path by the different controllers.
Controllers | Energy Consumption | Travel Distance |
---|
E (J) | E (%) | s (m) | s (%) |
---|
Expert_FLC | 0.781463 | 568.37 | 4.279199 | 100.83 |
Optimal_MFs_FLC | 0.393902 | 286.49 | 4.243791 | 100.00 |
Optimal_MFs_FRs_FLC | 0.137491 | 100.00 | 4.430193 | 104.39 |
Table 17.
The kinetic energy loss and the travel distance of the robot when the robot tracks the diamond-shaped path by the different controllers.
Table 17.
The kinetic energy loss and the travel distance of the robot when the robot tracks the diamond-shaped path by the different controllers.
Controllers | Energy Consumption | Travel Distance |
---|
E (J) | E (%) | s (m) | s (%) |
---|
Expert_FLC | 1.381601 | 506.32 | 9.037577 | 100.60 |
Optimal_MFs_FLC | 0.701540 | 257.09 | 8.983455 | 100.00 |
Optimal_MFs_FRs_FLC | 0.272872 | 100.00 | 9.222562 | 102.66 |
Table 18.
The kinetic energy loss and the travel distance of the robot when the robot tracks the straightforward path by the different controllers.
Table 18.
The kinetic energy loss and the travel distance of the robot when the robot tracks the straightforward path by the different controllers.
Controllers | Energy Consumption | Travel Distance |
---|
E (J) | E (%) | s (m) | s (%) |
---|
Expert_FLC | 0.338241 | 233.85 | 4.926989 | 100.00 |
Optimal_MFs_FLC | 0.258087 | 178.44 | 4.938676 | 100.24 |
Optimal_MFs_FRs_FLC | 0.144638 | 100.00 | 4.934045 | 100.14 |