1 Introduction

The modern wheeled robots or wheeled vehicles help the human and perform various tasks like assembly part transfer from one place to another place in industries, autonomous transportation, security surveillance, floor cleaning in the house, etc. The motion control problem in a wheeled robot can be classified mainly into four categories: obstacle avoidance, position stabilization, trajectory tracking, and line following [1]. Similarly, the direction, velocity, and orientation of a wheeled robot are controlled by either the differential drive concept [1, 2] or the car-like steer control concept [3, 4]. For car-like steer control concept wheeled robots, we can use a single objective function for motion planning. In contrast, we require at least multi-objective velocity functions to control the velocity and orientation for the differential drive control concept. Mainly the wheeled robot motion planning is done by using either vision sensors (camera) through real-time video (image) processing or by using distance measuring sensors like infrared and sonar sensors [5]. In [4], the multi-objective particle swarm optimization algorithm was implemented to solve the car-like wheeled robot’s motion planning problem between rough terrain. In their work, the Euclidean distance between the two points of the robot was taken as an objective function for the presented algorithm. However, the authors have not considered any wheel velocities based multi-objective functions in their article. Multi-objective particle swarm optimization based global navigation method for a wheeled robot was presented in Ref. [6]. Grid map-based route planning of wheeled robot using objective function GA was presented by de Camargo et al. [7]. However, in their article, the authors have only performed computer simulations, and they have not done any physical or virtual experiments.

GA based type-2 fuzzy logic method was designed and implemented in Ref. [8] for an existing path tracking control of a wheeled robot. Castillo et al. [9] have been used Pareto optimality multi-objective GA for offline motion planning of a wheeled robot. In that paper, the authors have done a grid map based offline motion of a wheeled robot and did not use any real-time experiments. Obstacle distance data and heading (steering) angle based single objective function controlled GA method had been applied by Mohanta et al. [10] for multiple wheeled robot motion control and obstacle avoidance in the cluttered environment. In the manuscript, the authors have not mentioned how the velocity of wheels of robots was controlled. Euclidean distance-based single fitness function GA has been presented in Ref. [11] for wheeled robot path planning. Song et al. [12] tackle the problem of smooth trajectory planning for a wheeled robot using a GA and the Bezier curve. The authors of this manuscript used a grid-map-based simulation workspace to show the autonomous motion result of a two-wheeled robot. The presented method for the wheeled robot can only be applicable for computer simulation, and it can be tough to implement this method for the physical model. In another work [13], the GA tunes the membership functions of the type-2 fuzzy logic architecture, and this tuned type-2 fuzzy logic was used for dynamic torque control of an autonomous wheeled robot. Another interesting article can be found in [14], where Xiaolei et al. implemented an improved GA to tackle the navigation problem of a wheeled robot autonomously between complicated grid map workspace. The grid-map-based navigation may only be suitable for computer simulation because not all the real-world scenarios need to be grid-mapped. Fuzzy rule-based architecture has been implemented in an article [15] to control the motion of two co-operating wheeled robots to perform desired tasks in an unstructured environment. Wang [16] suggested the sensor-based GA to optimize the path of a wheeled robot during navigation among obstacles in grid-map-based workspace. However, the velocity control method for a robot has not been addressed and considered in the paper [16]. In [17], the fuzzy controller with an artificial potential field based hybrid method was implemented to control the steering angle of a mobile robot between C and H types complicated obstacle conditions. Single ultrasonic sensor-based autonomous object detection and collision avoidance method for a differential driven wheeled robot was studied in Ref. [18]. The simulation and experimental results of a wheeled robot had not been shown in that work. The authors of a manuscript [19] used PID (Proportional Integral Derivative) controller to adjust the speed of both the DC motors of a differential driven two-wheeled robot during its navigation.

After an extensive literature survey, the authors have found that most researchers have used the single objective function GA [7, 8, 10,11,12, 16, 20] for wheeled robot motion and orientation control between different platforms. Further, for controlling the left and right wheel velocities of any wheeled robot, at least multi-objective functions are required for smooth motion and path. However, using a car-like control concept in the wheeled robot, we can use a single objective function to control the steering angle. In the present work, the authors design and suggest the right and left motor velocity based multi-objective GA controlled navigation method; and implemented this method in V-REP based 3D (Three-Dimensional) real scenarios. This method guides and adjusts the motion and orientation of TWPR among obstacles and helps the TWGR to reach the target point. The primary aim of this research is to search the collision-free optimal path from the source point to the endpoint with minimum time, energy, and trajectory path length. In addition, we have compared this proposed multi-objective GA method with the previously developed single objective GA [20] and found that our developed multi-objective GA provides a smooth trajectory because it directly controls the wheel velocities of TWPR. The rest of the article has been sequenced in the following manner:—Sect. 2 contains the kinematics study of a differential driven TWPR. Section 3 displays a brief description of the multi-objective genetic algorithm design for velocity control. V-REP software-based three-dimensional (3D) experimental results and comparative study with the previously developed benchmark single objective GA [20] have been done in Sect. 4. Further on, the concluding remarks of the present study are summarized in Sect. 5.

2 Kinematics study of a differential driven two-wheeled pioneer P3-DX robot

The present work uses the differential driven Two-Wheeled Pioneer P3-DX Robot (TWPR) to perform experiments. The TWPR is a three-wheeled robot. Its two wheels are attached to the DC motors that control the motion and orientation of a TWPR, and the third wheel has a castor wheel. This castor wheel is used to provide stability, free orientation, and it also holds the chassis of the TWPR. The TWPR is 48.8 cm long, 38.1 cm in width, 21.7 cm height, and its total weight is 9 kg weight. The TWPR can move forward direction, backward direction, and it can travel with a top speed of 1.2 m/sec. In this work, the minimum and maximum speed of the TWPR have been fixed between 0.4 m/sec to 1.2 m/sec. It consists of 16 sonar sensors and 7 LEDs. These 16 sonar sensors can read the obstacles from 2 to 400 cm approximately. The TWPR is equipped with an inbuilt microcontroller, which makes the sensor-actuator system for the TWPR. This microcontroller sends the command to the motor controller to adjust the velocity, anti-clockwise, and clockwise directions of motors of the TWPR. Figure 1 reveals the schematic diagram of the differential driven TWPR in the \((X,Y)\) plane. The axes \((X_{p} ,Y_{p} )\) are the present posture of the TWPR from the origin \(O\) point. \(\theta\) is the orientation control angle, which denotes the turning of a TWPR about an axis \((O,X)\). The following kinematic equations control the velocities and steering angle of the TWPR: -

$$u_{c} = \frac{r}{2}(u_{r} + u_{l} )$$
(1)
$$\omega_{c} = \dot{\theta } = \frac{r}{b}(u_{r} - u_{l} )$$
(2)

where \(u_{c}\) and \(\omega_{c}\) are center (mean) linear velocity and center angular velocity of a TWPR, respectively. These \(u_{c}\) and \(\omega_{c}\) control the motion and orientation of a TWPR in the computer programs. Next, \(u_{r}\) and \(u_{l}\) represent the right and left linear wheel velocities, respectively. The \(r\) is the radius of the driving wheels, and \(b\) is the track width between the two driving wheels. Figure 2 depicts the distribution of ultrasonic sensors in differential driven TWPR. The minimum value of the ultrasonic sensor numbers S1 and S2 gives the distance information of the Right Forward Object (RFO). Next, the minimum data of the sensor number S3 and S4 provides the distance information of the Front Forward Object (FFO). Similarly, the TWPR takes the distance information of Left Forward Object Detection (LFO) by taking the least value of sensor number S5 and S6. Further, the data of \(u_{r}\), \(u_{l}\), RFO, FFO, and LFO have been used for making the multi-objective fitness function for the GA in Sect. 3.

Fig. 1
figure 1

Schematic diagram of the differential driven TWPR in the two-dimensional plane

Fig. 2
figure 2

Distribution of ultrasonic sensors in differential driven TWPR

Following conditions are taken for the straight motion and orientation of the TWPR: -

  1. 1.

    If \((u_{r} = u_{l} )\), then TWPR travels straight.

  2. 2.

    If \((u_{r} > u_{l} )\), then TWPR turns left.

  3. 3.

    If \((u_{r} < u_{l} )\), then TWPR turns right.

3 Multi-objective genetic algorithm design for velocity control

A genetic algorithm was introduced by John Holland in 1975 and is being used for solving various optimization problems. The GA is inspired by Charles Darwin’s theory of natural evolution, selection, and genetics. Figure 3 reveals the basic flow chart of the GA, which is the combination of the different natural evolution processes. The GA has six main elements: initialization, selection of fitness function, crossover, mutation, evaluation, and generation. In the initialization step, we select the population size in a reasonable quantity, it may be between 20 to 1000, or it depends upon our requirements or the complexity of a problem. The selection of fitness function is a crucial part of the algorithm. In this study, the multi-objective fitness function was selected and designed using ultrasonic sensors data and the left and right motor (wheel) velocities. The crossover process has been done between the two parents to produce offspring. The crossover process is classified into four types, namely scattered, single-point crossover, two-point crossover, and multi-point crossover. In the mutation operation, some new genetic material has been added into the population to improve the performance of offspring. Mainly the ranges of crossover and mutation parameters in the multi-objective GA are kept between 0.6 to 0.9 and 0.001 to 0.01, respectively. After mutation operation, the algorithm evaluates the new property of mutated offspring and generates this mutated offspring as a solution (if the criteria satisfy; otherwise, the algorithm repeats the complete process).

Fig. 3
figure 3

Basic flow chart of Genetic algorithm

In Eqs. 3 and 4, the multi-objective fitness functions have been made by taking the real-time recorded data of independent variables like RFO, FFO, LFO, and dependent variables like \(u_{r}\) and \(u_{l}\). These multi-objective fitness functions of the GA drive the TWPR and minimize the traveling path length for TWPR from the source point to the target point among obstacles in the various V-REP experimental scenarios. The minimum and maximum ranges of \(u_{r}\) and \(u_{l}\) have been taken as the same minimum and maximum speed of the motor (specified in Sect. 2). We have taken the senor data as inputs and velocity data as outputs in the Minitab software and have applied the general regression method to obtain multi-objective fitness functions. Figure 4 depicts the different phases of the TWPR motion controlling model through Eqs. 3 and 4. Figure 5 illustrates the Pareto optimality graph of multi-objective fitness functions of \(u_{r}\) (Right Wheel Linear Velocity) and \(u_{l}\) (Left Wheel Linear Velocity) as minimization-minimization problems. Similarly, Figs. 6, 7 reveal the fitness function training plot of \(u_{r}\) and \(u_{l}\), respectively. Table 1 illustrates the selected values of various multi-objective GA parameters, which have been used in this study.

$$u_{r} = 0.{461}0{54 + }0.{29154} \times FFO + 0.{284199} \times LFO - 0.{179613} \times RFO$$
(3)
$$u_{l} = 0.{4}0{7}0{61 + }0.{289611} \times FFO - 0.0{36232} \times LFO + 0.{342998} \times RFO$$
(4)
Fig. 4
figure 4

Different phases of the TWPR motion controlling model through Eqs. 3 and 4

Fig. 5
figure 5

Pareto optimality graph of multi-objective fitness functions of \(u_{r}\) (Right Wheel Linear Velocity) and \(u_{l}\) (Left Wheel Linear Velocity)

Fig. 6
figure 6

Fitness function training plot of \(u_{r}\) (Right Wheel Linear Velocity)

Fig. 7
figure 7

Fitness function training plot of \(u_{l}\) (Left Wheel Linear Velocity)

Table 1 Selected parameters of multi-objective GA and their values

The ranges of lower and upper boundaries of FFO, LFO, and RFO in the meter are \(0.2 \le FFO \le 1.5\), \(0.2 \le LFO \le 1.5\), and \(0.2 \le RFO \le 1.5\).

4 V-REP based 3D experimental results and comparison analysis with previous benchmark single objective genetic algorithm [20]

In this section, the multi-objective GA controlled navigation method is applied for controlling the motion and orientation of TWPR in the V-REP scenario. The kinematic equations (listed in Sect. 2) and multi-objective GA with fitness functions (given in Sect. 3) have been written in MATLAB software programming script. The remote Application Programming Interface (API) functions of V-REP software have been taken to establish a connection between the V-REP and MATLAB software. After establishing the connection, the MATLAB running program script gives the controlling command to TWPR in the V-REP software scenario. The MATLAB receives the FFO, LFO, and RFO from the sensors (S1 to S6) of TWPR. According to the sensors data, the multi-objective GA provides the \(u_{r}\) and \(u_{l}\) to the TWPR. In the MATLAB script, some conditions (if-else) have been specified. If the TWPR does not find any object (within a specified range) during navigation, then it directly moves forward to reach the goal. Similarly, suppose the TWPR finds any object (within a specified range) at the front, left, and right sides during motion. In that case, the multi-objective GA gets activated and controls the \(u_{r}\) and \(u_{l}\) of TWPR in various V-REP scenarios.

In the current study, we have considered only a static environment for the experiments and have presented the outcomes of the navigation results of TWPR. Figure 8 reveals the 3D motion result of TWPR between the red color cube and blue color cylindrical object in the V-REP scenario. Figures 9, 10 show the real-time recorded right and left angular wheel velocities data (in Degree/Second) of TWPR, and real-time recorded absolute X and Y axes linear velocities (in Meters/Second) of TWPR, respectively. The TWPR starts motion from coordinates (20 cm, 20 cm), and the goal position is placed at coordinates (280 cm, 280 cm). In the V-REP scenario (see Fig. 8), firstly, TWPR starts the motion to reach the goal, and after moving some distance, the sensors find the object then TWPR turns right side that means the \(u_{l}\) increases and \(u_{r}\) decreases (see Fig. 9). The TWPR always turns right side because the goal is placed at the right corner of the scenario, and for taking a right turn, the multi-objective GA gives a command to increase the speed of \(u_{l}\) and decrease the speed \(u_{r}\).

Fig. 8
figure 8

3D motion result of TWPR among red color cube and blue color cylindrical object, start point (10 cm, 10 cm) and goal point (250 cm, 250 cm)

Fig. 9
figure 9

Real-time recorded left and right angular wheel velocities data (in Degree/Second) of TWPR in Fig. 8

Fig. 10
figure 10

Real-time recorded absolute X and Y axes linear velocities (in Meters/Second) of TWPR in Fig. 8

Figure 11 illustrates the MATLAB simulation result comparison of TWPR by applying a single objective GA [20] and the multi-objective GA in the same 2D (Two Dimensional) scenario. The size of the 2D scenario is 300 cm × 300 cm. In the 2D scenario, the TWPR navigates between the red color cube and blue color cylindrical objects (obstacles). In article [20], the authors apply the GA and use a single objective fitness function by taking the Euclidean distance between the two points of the robot. In Fig. 11, the black color circular trajectories reveal the motions of TWPR to reach the goal, and these motions are common in a single objective GA [20] and multi-objective GA.

Fig. 11
figure 11

MATLAB simulation result comparison of TWPR by applying single objective GA [20] and presented multi-objective GA in 2D scenario

Further, the yellow color circular trajectory represents the activation of a multi-objective GA to avoid the objects. Similarly, the blue color circular trajectory is obtained by the activation of single-objective GA. As we can see in Fig. 11, the presented multi-objective GA provides a smoother trajectory. Also, it takes less distance to reach the goal from the start position than the single objective GA. Table 2 shows the MATLAB simulation path length (from start to destination) comparison between the single objective GA and the multi-objective GA in a similar 2D scenario. The single objective GA running TWPR takes 152 cm to reach the goal with the path length error of 3.94 cm, while the multi-objective GA running TWPR covers 141 cm to reach the goal with the path length error of 2.45 cm. Besides, the developed multi-objective GA provides a smooth trajectory because it controls the wheel velocities of TWPR.

Table 2 MATLAB simulation path length (from start to goal) comparison between single objective GA [20] and presented multi-objective GA in the same 2D scenario

In contrast, the single objective GA works based on the Euclidean concept. The single objective GA calculates the distance between two points of TWPR randomly and then moves. Therefore, the probability of a smooth path is less in the single objective GA than wheel velocities controlled multi-objective GA. Moreover, we can see that the proposed method has given the optimal path in the static environment. Therefore, we can expect the same for the dynamic environment.

5 Conclusion

This article presents the multi-objective GA velocity controlled navigation method for TWPR in V-REP software scenarios. The multi-objective GA has given the velocity control commands to both the motors of TWPR for providing the forward, backward, and turning motions. The 2D and 3D experimental platforms with varying sizes of obstacles have been taken for testing of developed algorithm in the TWPR. The obtained experimental test results validate the effectiveness of the presented algorithm to control the motion of TWPR between obstacles. Compared to the previously developed benchmark single objective GA [20], this presented algorithm has given an optimal path. The developed multi-objective GA method can be implemented in different industries where motion-controlled automated guided robots and vehicles are extensively used. In the future, the same method with fitness functions can be used for navigation in the dynamic environment. Moreover, the developed multi-objective fitness functions can be used for other nature-inspired algorithms to obtain a more accurate path with a better convergence rate.