Abstract
A navigation algorithm providing motion planning for two-wheeled mobile robots is proposed in this paper. The motion planning integrates path planning, velocity planning and controller design. Bidirectional rapidly-exploring random trees algorithms (RRT) with path pruning and smoothing mechanism are firstly used to obtain a collision-free path to the robot destination with directional continuity. Secondly, velocity planning based on trapezoidal velocity profile is used in both linear and angular velocities, but the position error of the endpoint of the curve appears due to the coupling problem of the nonlinear system. To reduce the error, an approximation method is used to gradually modify several parts of time length of the trapezoidal velocity profile, so the continuity of the path can still be maintained. Thirdly, the controller keeping the robot on the planned path and velocity is designed based on the dynamic model of the robot. The parameters of this controller are estimated by the adaptive low, and the gain of controller is dynamic adjusted by fuzzy logic control to avoid the case that the control value is saturated. The controller stability and the convergence of tracking error is guaranteed by Lyapunov theory. Simulation results are presented to illustrate the effectiveness and efficiency.
1. Introduction
In the past years, many studies of wheeled mobile robots have been presented. Among them, the differential wheel type mobile robot is still the most important development project in the indoor flat environment because of its flexibility and cost advantages. Common applications include unmanned factories [1], automated warehouses, and home sweeping robots [2]. Robot navigation is the basic ability to realize application functions, and path planning is the most important ability. A* algorithm is one of most representative algorithms for path planning because of its best priority search and heuristic exploration strategy to obtain good application value in most cases [3,4]. However, the exponential growth of time and space complexity makes it difficult to be applied to large or high-dimensional maps. Relatively, those algorithms with only probabilistic completeness, such as RRT algorithms, are usually able to complete path planning tasks in less time, but it is also difficult to ensure optimality and requires subsequent improvement measures [5,6,7,8]. Therefore, this paper improves the traditional RRT algorithm and designs a series of optimization mechanisms to improve the path quality and solve the problems faced by the traditional RRT algorithm.
Although path planning provides a feasible solution to the goal point, there may be some unexpected situations, such as moving obstacles overlapping the path, so that the robot cannot proceed along the predetermined path. In addition, the robot itself will deviate from the predetermined path due to some disturbances or uncertainties, so a good controller is needed to correct the state error of the robot, such as PID, feedback linearization, backstepping, sliding mode control, neural networks, and the hybrids of the above controllers [9,10,11,12]. According to the level of the controllers, they can be classified into two types, depending on the controller designed with only kinematic [13,14,15,16] or both kinematic and dynamic methods [17,18]. Generally, the former is much more simple but still enough for general cases and suitable for those motors with the ability to control velocity already. The latter is applied to high-speed cases where accuracy is required, but it requires more computing.
At the only-kinematic level, there are some research studies that have improved existing controllers. For instance, Simon X. Yang et al. [13] proposed a controller based on bioinspired neurodynamics, which can produce smooth continuous robot control signals with zero initial velocities. Thanks to the continuity of velocities, the robot reduces the overshoot at startup. Sašo Blažič [14] proposed a periodic controller, which let the convergence of the orientation error be 2kπ or kπ with k being an integer constant for different condition instead of zero. Thus, there is no need for excessive rotation of the mobile robots in the case that the initial orientation error is large. Sašo Blažič also proposed a controller design role to determine a suitable control law. Many controllers can be obtained by following this design role. Zhong-Ping Jiang et al. [15] proposed one local and one global backstepping controller for path tracking. Limiting of the denominator may be zero, and the local controller is only for small initial errors. This problem is solved in global controllers by choosing a different way for the convergence path. In this study, the global controller also expands to a very simple dynamic model.
At both kinematic and dynamic levels, Bong Seok Park [17] proposed an adaptive controller with dynamic surface control and parameter estimators. The dynamic also includes motors, and all system parameters are obtained by the four update laws estimator. Chih-Lyang Hwang [18] proposed hierarchical variable structure tracking control for car-like mobile robots. The control output is composed of equivalent and switching parts. Instead of using the PID controller of kinematic errors as the only surface to be the input of the switch function, it also considers the dynamic errors and virtual reference as the second surface so that the system has better performance against disturbances. However, saturation problems of the controller output, which are not considered in most controller designs, may become more serious, especially in the high-speed or large-initial-error cases. When the controller output is saturated, the system stability and the convergence of errors guaranteed by Lyapunov theory is invalid, which means the system may diverge. One way to avoid this is reducing the controller gain, although doing so reduces the transient response. Thus, Xiaohan Chen [16] proposed a controller with diamond-shaped input constraints to guarantee the control value is limited by the input constraints. However, this controller only works in kinematic models. To solve this, we introduce a dynamic gain adjustment [19] considering the system errors and current output based on fuzzy logic control. Once the output is saturated, the controller gain reduces automatically, and then a limited increase of the gain occurs if it finds that there is still room to increase the amount of control. By adjusting the gain, the system can still have a good transient response when solving the saturation problem.
This paper is derived from the short conference paper published in [20]. In the initial conference paper, we focused on the controller design only. This paper extends the previous research and integrates the path planning as a reference signal to the controller, which finally enables the robot to follow the predetermined path to the destination. This paper is organized as follows. The problem statement is proposed in Section 2. Path planning is proposed in Section 3. The controller design and its stability analysis are presented in Section 4. Experimental results and conclusion are proposed in Section 5 and Section 6, respectively.
2. Problem Statement
2.1. Definition of Environment and Robot
It is assumed that the robot moves on a known and bounded two-dimensional plane, which is discretized into a grid map. Each grid point corresponds to a small area of actual space. If the space in this area is completely passable, its state is regarded as free, otherwise it is regarded as occupied. The structure of wheeled mobile robot with two actuated wheels on left and right sides is shown in Figure 1. Pc is the center of mass of mobile robot. Q is the middle point of two actuated wheels. d is the distance between Pc and Q. R is the half width from left to right actuated wheel. r is the radius of the wheel. Ro is the radius of the smallest circle with its center Q that covers the entire robot. The three variables related to robot coordinates are as follows. θ is the heading angle of mobile robot. x and y are the coordinates of Q. If the wheels are non-slipping, then the nonholonomic constraint is given as:
Figure 1.
The kinematic model of two-wheeled differential mobile robot in 2-D plane.
The kinematic model of mobile robots is given in (2). q = [x, y, θ]T is the vector of position. z = [vwr, vwf]T is the vector of velocity, where vwr and vwl are the angular velocity of right and left wheel, respectively.
The dynamic of motion of the mobile robot is given in (3). mc is the mass of the body, and mω is the mass of wheel with a motor. Ic, Iω and Im are the moment of inertia of the body about the vertical axis, through the wheel with a motor about the wheel axis, and the wheel with a motor about the wheel diameter, respectively. τ is the vector of control torque applied to the wheels of the robot. τd is disturbances with the unmodeled dynamic and assumed as bounded as |τdi| ≤ bmi for i = 1, 2. d11 and d12 are the damping coefficients.
Neglecting motor inductance, the dynamic of DC motors to the actuated wheels are represented as (4). τm = [τmr, τml]T is the torque vector generated by DC motors. im = [imr, iml]T is the current vector of motors. The controller output is defined as u = [ur, ul]T, which is also the voltage vector of motors. θm = [θmr, θml]T is the rotation angle vector of the motors. Under reasonable assumptions, the voltage should be bounded as |ur| ≤ umax and |ul| ≤ umax. The parameters KT, KE and Ra are represented the motor torque constant, the back electromotive force coefficient, and the resistance, respectively.
In most cases, a gearbox is installed between the motor and the wheel to increase the torque output of the motor, which gives the relationship in (5). ni is the gear ratio.
By integrating (2)–(5), the complete dynamic model of two-wheeled mobile robot including kinematics is written as (6), where P1 = Ra−1N2KTKE and N = diag(nr, nl).
2.2. Path Planning
The process of planning a path satisfying the conditions in (7) from starting point S to ending point E is called path planning. The path planned by this process is symbolized by P. Since P is composed of multiple points, we use P(k) to represent the k + 1th point of P, where k is a non-negative integer from 0 to np − 1, and np is the number of points in P. The subscript symbols x, y, θ correspond to the state variables of P(k), so that Px(k), Py(k) are the coordinates, and Pθ(k) is the orientation. Function B(x, y) is used to find the space where the coordinate (x, y) locates. Function State(B) returns the state of space B that State(B) ∈ {free, occupied}. Function N(B) returns a set of points which are the neighbors of space B.
As applying the planned path to robot navigation of two-wheeled mobile robots, the property of orientation continuity should be considered. Because of the nonholonomic constraint in (1), the robot needs to follow the “stop–turn–go” process every time it encounters a discontinuous point of direction, which takes lots of time and energy due to the large velocity change. Therefore, we expect the planned path to have the property of directional continuity to satisfy the inequality in (8), where θth is the threshold angle that the robot can turn in a single step Δk.
Another issue needs to be considered is the volume of the robot. To avoid that the robot crashes into the wall or other obstacles, the condition in (9) must satisfied, where R0 is given in Figure 1.
If we need to obtain further dynamic information of the path, which is the linear velocity Pv(k) and angular velocity Pω(k), the variable k in (7) should be regarded as the discrete time. More constraints in (10) need to be satisfied, where Δk is the time interval, amax is the max linear acceleration, and αmax is the max angular acceleration.
In addition, the linear velocity Pv(k) and angular velocity Pω(k) should be bounded because of the physical limitations, which shows in (11). vmax and ωmax are the max linear and angular velocities.
2.3. Obstacle Avoidance
Although the path planning algorithm proposes an obstacle-free path to the ending point, the robot may encounter some unexpected obstacles when moving, causing collision problems when moving along a predetermined path. There are at least two ways to solve this problem. The first method is updating the map with the unexpected obstacles and path planning aging to obtain a new obstacle-free path. Its advantage is global searching to avoid local maximum problem, but it usually takes more time because of constantly re-planning, especially in the dynamic environment. The second method is to perform local path adjustments to satisfy the condition in (12), where Po is given in Figure 1, and O(k) is the coordinates of the obstacle at discrete time k so that the distance between Po and O(k) is always greater the threshold distance Ro. The advantages of the second method are that it is fast and convenient. However, the problem is that there is no guarantee that the original predetermined path can be correctly returned to after obstacle avoidance. In practice, the second method is usually used first, and if the problem occurs, the first method is used to solve the problem.
2.4. Controller Design
The main purpose of the controller is to reduce the error between the planned path and the coordinates of the actual robot, which is also called path tracking. In controller design, the reference target is given from the planned path showing in (13). x, y, θ, v, ω are defined as the x-coordinate, y-coordinate, orientation, linear velocity and angular velocity of Q in Figure 1, respectively.
The path tracking problem of wheeled mobile robots can be described as follows. We introduce the virtual wheeled mobile robot with the same structure as the actual robot, which gives the kinematic model in (14), and qr = [xr, yr, θr]T.
The tracking error Xe is defined as:
Taking the time differential of tracking error, the dynamic of tracking error becomes
The control objective is to design a law of u such that
where δ is an acceptable position error range for path tracking. In other words, the errors need to converge to the range δ as time goes to infinity.
3. Path Planning
Traditional RRT algorithm is a random sampling method and with non-heuristic iteratives. The general operation process of the RRT algorithm is given in Algorithm 1.
| Algorithm1. RRT |
|
If the robot can move freely in the environment, a two-way searching strategy may reduce the search range. Bidirectional RRT (BRRT), an improved algorithm from RRT, searches from starting point and ending point. The pseudocode is given in Algorithm 2. Therefore, there are two search trees Ts and Te. The pseudo-code of bidirectional RRT is given as follows. In the initialize state, only S in Ts and only E in Te. T is the cell array, including Ts and Te. nr is a point of random sampling on the map. Lines 7 to 15 are a twice-loop for two-side searching. nc is the closest point in the current searching tree to nr. nn is a point extending from nc with a random distance. CollisionCheck(Map, nc, nn) is to check if there are some obstacles between nc and nn to cause a collision. GoalTest(Map, nn, N(j)) is to check if there are no obstacle between nn and the target N(j). SelectPath (T(j), T(1 − j), nn, S, E) is to construct the path form S to E. This function constructs the first path Path1 based on T(j) starting at nn, constructs the second path Path2 based on T(1 − j) starting at nn, reverses Path1 as Path3, combines Path3 and Path2 as Path, and finally returns Path or its reversed vision Reverse(Path) based on whether the first point of Path is S or E. If i reaches the max searching number, BRRT returns an error to indicate the searching number is reached.
| Algorithm2. BRRT |
|
Both RRT and BRRT algorithms create many unnecessary and time-consuming turns. Therefore, a path-improving mechanism is needed. Three mechanisms, which are path pruning, path smoothing, and trapezoidal velocity profile, are used to improve the path.
3.1. Path Pruning
The concept of path pruning is established by the greedy method. Although it is not guaranteed that the best path is selected, it is suitable for matching with RRT or BRRT algorithms because of its fast convergence. The pseudocode of path pruning is given in Algorithm 3. PrunedPath is initialized with only Path(0). Once the condition in Line 5 is satisfied, the point Path(j) is added in PrunedPath, because it is the furthest point from Path(i). If the condition on Line 3 is no longer satisfied, PathPrunning() returns PrunedPath.
| Algorithm3. Path Pruning |
|
3.2. Path Smoothing
The purpose of path smoothing is to find an arc to replace the path around the path points so that the continuity of the orientation is obtained. Figure 2 shows an example of path smoothing on a five-point path. In this example, we have three arcs to replace part of the original path. For each point of path except the first and the last, its rotation radius, rotation center, and two tangent points are represented as ri, , , and , respectively. The relations between these points are given in (18).
Figure 2.
An example of path smoothing on a 5-point path.
With a larger rotation radius, robots may move with less angular velocity to obtain higher linear velocity. Therefore, path smoothing becomes an optimization problem, and the fitness function is designed in (19) to maximum the rotation radius. c is a positive constant satisfying c > 1 to maintain log(ri + c) > 0.
The conditions of the optimization problem are given in (20).
3.3. Trapezoidal Velocity Profile
The trapezoidal velocity profile (TVP) is a simple and common method for motion planning by giving a fixed distance. In our case, the robot moves in a 2-D plane with two control inputs. Therefore, we consider implementing the trapezoidal velocity profile on both linear and angular velocities with the kinematic model of wheeled mobile robots in (21).
Figure 3 shows an example of the trapezoidal velocity profile with (21) to replace an arc curve. Both linear and angular velocities are designed by TVP as (22) and shown in Figure 3b. The initial location of the robot is [x, y, θ] = [0, 0, 0]. In Figure 3a, an arc curve with same starting and ending point is added in to compare with the moving trajectory. The state of ending point in this example is [1.7100, 1.5934, 1.4997].
Figure 3.
An example of trapezoidal velocity profile to replace an arc curve. (a) Moving trajectory from [0, 0, 0] to [1.7100, 1.5934, 1.4997]; (b) trapezoidal linear and angular velocities.
Taking the example in Figure 2, three arc curves are replaced with the TVP method. Then, the linear velocities of three straight segments, which are P0 to 1, 1 to 2, and 3 to P4, are simply applied with traditional TVP, and their angular velocities are kept at zero. After combining three curves and three straight segments, the velocity profile from P0 to P4 is obtained, and the time function of this path can also be further obtained. Therefore, the time plan of this path is obtained.
The step-by-step process of the proposed path planning in this paper is given in Figure 4, including BRRT and three improving methods.
Figure 4.
The complete path planning process proposed in this paper.
4. Controller Design and Stability Analysis
In this section, we develop a controller in four parts. The first part is at the kinematic level to determine the virtual reference velocities. The dynamic for controller design is included in the second part. In the second part, the controller law is also obtained to determine the control value with the virtual reference velocities. The mechanism of dynamic gain adjustment is shown in the third part to solve the saturation problem. Obstacle avoidance is shown in the last part.
4.1. Kinematic Controller
From the kinematic controller in (2), there are two parameters, r and R, in the system. For the convenience of parameter estimation, we define a1 = 1/r, a2 = R/r, and âi is the estimation of ai as i = 1, 2. The Lyapunov function V1 is chosen as:
where Vθ(θe) is a Lyapunov function of θe to Vθ > 0 as θe ≠ 2kπ and Vθ = 0 as θe = 2kπ with k ∈ ℤ. The estimation errors are defined as ãi = ai − âi, i = 1, 2. γ1 and γ2 are positive constants, the gain of estimators. Using the error dynamic Equation (15), the time derivative of V1 becomes:
The virtual control law is chosen as and , where h1 and h2 are given in (25).
Then, the time derivative of V1 becomes:
with
Ωy and Ωθ are chosen as:
with â1 and â2 are updated by:
Then, V1 becomes:
q0 comes from the error between virtual control law and the angular velocity of wheels, which should deal with the dynamic controller. For this reason, it can be ignored only considering the kinematic level, which gives that time derivative of V1 ≤ 0.
4.2. Dynamic Controller
To simplify the complexity of the controller, the dynamic surface control is introduced though a first-order equation as:
The velocity error is defined as:
Its time derivative is given as:
In (33), the vector of system parameter W can be estimated by â3 with the update law in (24), such that a3 = WTW. Φ is a based matrix of system variable. Both W and Φ are shown in (34).
Notice that żf1 and żf2 can be obtained easily with (31), and that is the reason why dynamic surface control can reduce the complexity of the controller. Then, the control law is chosen by:
The update law of â3 is designed as:
Instead of estimating all the parameters in the dynamic equation, â3 is the estimator of WTW. Therefore, although this dynamic controller is simple, it can work without precise parameters.
4.3. Dynamic Gain Adjustment
To overcome the saturation problem, we adjust the gain of the controller by fuzzy logic control. As the conditions in (28) must be maintained, only kx and kθ are tuned. In this fuzzy logic control, the position error e and the duty of control value are the input, and the output tunes the ratio of gain rk to achieve dynamic gain adjustment.
The major target is to reduce controller saturation. Therefore, we choose the larger one of u to define the duty of control value u0 as (37).
umax is max driving voltage of the motors, so that 0 ≤ u0 ≤ 1. The position error e is defined in (38).
The membership function of the two inputs in shown in Figure 5. It is clear shown that the scale design of u0 is asymmetric. This is because of the best duty of the motors should be put in the m scale to keep a good operating space.
Figure 5.
The membership functions of e and u0. [es, em, el] is the three-level scale of e, and the [z, s, m, l, f] is the five-level scale of u0.
Table 1 is the rules to determine to increase or decrease the gain of the controller in each case. The output given in five levels in each case are: heavy increasing (HI), smooth increasing (SI), non-change (NC), smooth reducing (SR) and heavy reducing (HR).
Table 1.
The role table of fuzzy logic control.
Finally, the controller gain can be tuned as follows:
The structure diagram of proposed controller is shown on Figure 6. The reference velocity Vr of the virtual wheeled mobile robot and the path Xr based on the kinematic model are obtained from path planning algorithm. The tracking error Xe, obtained from (15) with a rotation is further provided to estimator 1 and 2 in (29) to obtain â1 and â2, provided to the fuzzy logic controller in (39) to obtain the gain ratio rk, and provided to the kinematic controller in (25) with â1, â2, rk, and a converter to obtain the virtual control law . The dynamic surface control proposes zf from with the first-order differential equation in (31). The based matrix Φ in (34) is provided to estimator 3 to obtain â3 in (36). Finally, the dynamic controller for the mobile robot is designed in (35) with â3, Φ, and ze. The gain of the kinematic controller is also adjusted by u according to (37) and (39).
Figure 6.
The structure diagram of the proposed controller.
For traditional path planning algorithms, such as the A* algorithm and RRT algorithm in the grid, only the path Xr is provided, and its differentiability is not guaranteed. Hence, some controllers, such as PD, PID, and the proposed controller, are not suitable for direct application to traditional path planning algorithms. Take the PD controller as an example: the design of orientation control is given as the following:
According to the definition of θe in (15), its time differential is obtained as ωr − ω. Because the differentiability of Xr is not guaranteed, the angular velocity of the virtual wheeled mobile robot ωr does not always exist. In this case, the time differential needs to be obtained by the numerical difference method from θe, which may cause approximation errors and the huge peak problem because of the discontinuity of orientation. However, ωr is the second state of Vr in proposed path planning algorithm, so that ωr always exists. Therefore, ub has been fully defined, so that PD controller can be easily implemented in robot control with the proposed path planning algorithm.
4.4. Obstacle Avoidance
In this section, we focus on the ability of obstacle avoidance. The pseudo-code of obstacle avoidance is shown in Algorithm 4, where n is the number of levels. Figure 7 shows an example with four obstacles close to the original path with three obstacle avoidance levels. In this case, the obstacles are too close to the path and may cause collisions. Here, we define two parameters d0 and d1. d0 is the hard-safe range so that the distance d between the obstacles and the robot should be larger than d0. d1 is the soft-safe range, which is also the threshold for obstacle avoidance design to take effect.
Figure 7.
An example to show the results of obstacle avoidance.
| Algorithm4. Obstacle Avoidance |
|
5. Experimental Results
The size of the map is 512 × 512 pixels and the origin is defined in the upper left corner of the map. Figure 8 shows the results of path planning. In Figure 8a, the start point is marked as a circle and located at (15, −30). The goal point is marked as a diamond and located at (270, −212). The blue polyline is the planned path by BRRT, and the red line is the tree of BRRT. Clearly, lots of unnecessary turns are included in the path. Therefore, a smoothed path is given in Figure 8b, including the original path by BRRT, path pruning, and path smoothing. The minimum and maximum extension distance of BRRT is set between 3 to 10. The linear and angular velocities of the smoothed path are shown in Figure 9. The parameters of path smoothing are given in Table 2.
Figure 8.
This path planning results from start point (15, −30) to goal point (270, −212). The origin is set at the upper left corner. (a) The path planned by BRRT (blue line) and the searching tree (red line). (b) The improved path by path pruning and path smoothing.
Figure 9.
The linear and angular velocities of the smoothed path.
Table 2.
Parameters of path smoothing.
In Table 3, a 100-times test is proposed to compare the paths in different stage, which are the original path, pruned path, and smoothed path. With the mechanism of path pruning, the average length is reduced from 1640.3 m to 1357.8 m, and the number of turns is reduced from 269.69 to 22.210. Data show that a lot of unnecessary turns are removed in path pruning. Although the mechanism of path smoothing does not change the number of turns required, the continuity of the path angle is improved, and the average length is further reduced to 1284.8 m.
Table 3.
Performance of path pruning and path smoothing.
The proposed controller is compared with P controller, which is a simple but widely used feedback control algorithm. The controller is designed as (41). Two errors, which are expected to be suppressed by the P controller, are defined as the position error e0 and the orientation error e1. The controller value ub(0) and ub(1) are designed proportional to the error e0 and e1, respectively. Both kp0 and kp1 are the positive gains of the P controller. Just like the design of and , a converter is required to convert ub to u in (40) according to the geometric relationship between the motor angle and the robot position.
The gains of the P controller are choosing as kp0 = 6 and kp1 = 8. The parameters of the robot and the gains of proposed controller are given in Table 4. The tracking results are shown in Figure 10, the tracking errors are shown in Figure 11, and the cumulative errors are shown in Figure 12. The tracking error is defined as e0 in (40), and the orientation error is defined as the absolute value of e1. Table 5 shows the average tracking errors. The results show that the controller proposed in this paper outperforms the P controller in both position and orientation errors.
Table 4.
The parameters of the robot and the gains of proposed controller.
Figure 10.
The tracking results of P controller and proposed controller: (a) global view and (b) enlarged view to the goal point.
Figure 11.
The tracking errors of P controller and proposed controller: (a) position error and (b) orientation error.
Figure 12.
The cumulative errors of P controller and proposed controller: (a) cumulative position error and (b) cumulative orientation error.
Table 5.
Average tracking errors of P controller and proposed controller.
6. Conclusions
In this paper, we propose a navigation algorithm by using BRRT with several improvement measures to find the path with its time function, and by using an adaptive controller with dynamic gain adjustment in both the kinematics and dynamic models to reduce the tracking error and estimate the system parameters. A three-level obstacle avoidance algorithm is also proposed. In 100 simulations, this measure can save about 86% of the path planning time and 84% of the number of nodes. The robot’s movement time can also be reduced. The path planned in this way has the characteristics of velocity continuity, so it is suitable for application to control methods that require high order, especially in the design of controllers where the control term includes a differential term. Compared with P control, the proposed controller has better tracking ability to reduce the tracking errors in both position and orientation.
Author Contributions
Conceptualization, B.-G.J. and M.-Y.C.; methodology, B.-G.J. and M.-Y.C.; software, B.-G.J.; validation, M.-Y.C.; formal analysis, B.-G.J.; investigation, B.-G.J.; resources, B.-G.J. and M.-Y.C.; data curation, B.-G.J. and M.-Y.C.; writing—original draft preparation, B.-G.J.; writing—review and editing, M.-Y.C.; visualization, B.-G.J.; supervision, M.-Y.C.; project administration, M.-Y.C.; funding acquisition, M.-Y.C. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the National Science and Technology Council, grant number MOST 110-2221-E-003-022.
Data Availability Statement
Not applicable.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Mercy, T.; Van Parys, R.; Pipeleers, G. Spline-Based Motion Planning for Autonomous Guided Vehicles in a Dynamic Environment. IEEE Trans. Control Syst. Technol. 2018, 26, 2182–2189. [Google Scholar] [CrossRef]
- Doh, N.L.; Kim, C.; Chung, W.K. A Practical Path Planner for the Robotic Vacuum Cleaner in Rectilinear Environments. IEEE Trans. Consum. Electron. 2007, 53, 519–527. [Google Scholar] [CrossRef]
- Stephan, J.; Fink, J.; Kumar, V.; Ribeiro, A. Concurrent Control of Mobility and Communication in Multirobot Systems. IEEE Trans. Robot. 2017, 33, 1245–1254. [Google Scholar] [CrossRef]
- Yao, J.; Lin, C.; Xie, X.; Wang, A.J.; Hung, C.C. Path Planning for Virtual Human Motion Using Improved A* Star Algorithm. In Proceedings of the 7th International Conference on Information Technology: New Generations, Las Vegas, NV, USA, 12–14 April 2010. [Google Scholar]
- Salzman, O.; Halperin, D. Asymptotically Near-Optimal RRT for Fast, High-Quality Motion Planning. IEEE Trans. Robot. 2016, 32, 473–483. [Google Scholar] [CrossRef]
- Cui, R.; Li, Y.; Yan, W. Mutual Information-Based Multi-AUV Path Planning for Scalar Field Sampling Using Multidimensional RRT*. IEEE Trans. Syst. Man Cybern. Syst. 2016, 45, 993–1004. [Google Scholar] [CrossRef]
- Chen, L.; Shan, Y.; Tian, W.; Li, B.; Cao, D. A Fast and Efficient Double-Tree RRT*-Like Sampling-Based Planner Applying on Mobile Robotic Systems. IEEE ASME Trans. Mechatron. 2018, 23, 2568–2578. [Google Scholar] [CrossRef]
- Cheon, H.; Kim, B.K. Online Bidirectional Trajectory Planning for Mobile Robots in State-Time Space. IEEE Trans. Ind. Electron. 2019, 66, 4555–4565. [Google Scholar] [CrossRef]
- Kim, D.H.; Oh, J.H. Tracking control of a two-wheeled mobile robot using input–output linearization. Control Eng. Pract. 1999, 7, 369–373. [Google Scholar] [CrossRef]
- Samson, C. Time-varying feedback stabilization of car like wheeled mobile robot. Int. J. Robot. Res. 1993, 12, 55–64. [Google Scholar] [CrossRef]
- Defoort, M.; Murakami, T. Sliding-Mode Control Scheme for an Intelligent Bicycle. IEEE Trans. Ind. Electron. 2009, 56, 3357–3368. [Google Scholar] [CrossRef]
- Tsai, C.C.; Huang, H.C.; Lin, S.C. Adaptive Neural Network Control of a Self-Balancing Two-Wheeled Scooter. IEEE Trans. Ind. Electron. 2010, 57, 1420–1428. [Google Scholar] [CrossRef]
- Yang, S.X.; Zhu, A.; Yuan, G.; Meng, M.Q.H. A Bioinspired Neurodynamics-Based Approach to Tracking Control of Mobile Robots. IEEE Trans. Ind. Electron. IEEE Trans. Ind. Electron. 2012, 59, 3211–3220. [Google Scholar] [CrossRef]
- Sašo, B. On periodic control laws for mobile robots. IEEE Trans. Ind. Electron. 2014, 61, 3660–3670. [Google Scholar]
- Jiang, Z.-P.; Nijmeijer, H. Tracking Control of Mobile Robots: A Case Study in Backstepping. Automatica 1997, 33, 1393–1399. [Google Scholar]
- Chen, X.; Jia, Y.; Matsuno, F. Tracking Control for Differential-Drive Mobile Robots with Diamond-Shaped Input Constraints. IEEE Trans. Control Syst. Technol. 2014, 22, 1999–2006. [Google Scholar] [CrossRef]
- Park, B.S.; Yoo, S.J.; Park, J.B.; Choi, Y.H. A Simple Adaptive Control Approach for Trajectory Tracking of Electrically Driven Nonholonomic Mobile Robots. IEEE Trans. Control Syst. Technol. 2010, 18, 1199–1206. [Google Scholar] [CrossRef]
- Hwang, C.-L. Comparison of Path Tracking Control of a Car-Like Mobile Robot with and without Motor Dynamics. IEEE/ASME Trans. Mechatrons. 2016, 21, 1801–1811. [Google Scholar] [CrossRef]
- Do, K.D.; Jiang, Z.-P.; Pan, J. Simultaneous tracking and stabilization of mobile robots: An adaptive approach. IEEE Trans. Autom. Control 2004, 49, 1147–1152. [Google Scholar] [CrossRef]
- Jhong, B.-G.; Yang, Z.-X.; Chen, M.-Y. An Adaptive Controller with Dynamic Gain Adjustment for Wheeled Mobile Robot. In Proceedings of the Joint 10th International Conference on Soft Computing and Intelligent Systems (SCIS) and 19th International Symposium on Advanced Intelligent Systems (ISIS), Toyama, Japan, 5–8 December 2018. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).