5586 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020 Trajectory Generation of a Two-Wheeled Mobile Robot in an Uncertain Environment Joonyoung Kim Abstract—This article presents a novel method to generate a trajectory for a two-wheeled mobile robot moving in an uncertain environment where only a few way-points are available to reach a nearby target state. The proposed method interpolates way-points by the combination of a straight line and a fifth-order Bézier curve along which the curvature varies continuously. In addition, a method to generate the associated timing law is proposed such that the robot travels along the curve in near minimum time under the maximum velocity and torque constraints. Since the method aims for an online application, heuristic techniques are applied to minimize the computational cost for finding the optimal solution. The time for computing a complete time-optimal trajectory for a moving robot to transit to a next way-point is only several milliseconds when tested in a personal computer. This result implies that a highly efficient motion control system for a two-wheeled mobile robot can be implemented with a low-cost hardware available today. Index Terms—Minimum-time control, mobile robot, trajectory planning. I. INTRODUCTION RAJECTORY generation for a wheeled mobile robot with an uncertain environment is an open problem. The success of this task requires technological advancements in various fields of study such as sensors, mapping and localization, path planning, trajectory generation, tracking control, and so on. In this article, the problem of trajectory generation is addressed, which is to find the associated timing laws of the wheels such that the robot can reach a given target state. However, generating a trajectory in an uncertain environment is a challenging task. First of all, the trajectory must be planned immediately whenever a new target state is available. Otherwise, the robot cannot respond quickly to an unforeseen event, e.g., an imminent collision. Therefore, a quick response should be the basic requirement for a mobile robot moving in an uncertain environment. In order for the robot to respond quickly, two contradictory conditions, namely, time optimality and computational efficiency, must be met simultaneously. A general approach to optimizing the motion time entails computation of a dynamic model. T Manuscript received January 30, 2019; revised May 10, 2019 and June 12, 2019; accepted July 17, 2019. Date of publication August 2, 2019; date of current version March 4, 2020. The author is with the Robot Center, Samsung Research, Samsung Electronics, Seoul 06765, South Korea (e-mail:, joonyoung.gim@ gmail.com). Digital Object Identifier 10.1109/TIE.2019.2931506 However, existing methods exhibit a large computational load due to an exhaustive search for the optimal solution, requiring hundreds or thousands of computation times, which is a critical issue if the method needs to be implemented in a low-cost control system available today. In this case, a more desirable approach would be to optimize the computational cost while sacrificing time optimality as long as the solution is acceptable. The benefit of the latter approach would be a low-cost implementation with a reasonably fast robot motion. However, the work related to the latter approach has not received much attention compared with the former approach. Toward this end, this article presents a method to generate a near-time optimal trajectory with minimized computational costs. It will be shown that the proposed solution is much simpler than existing ones, requiring only a few computations of robot dynamics per path segment. A detailed discussion on the method will be followed in the next sections after related works and the main contributions of this article are discussed. In general, the first step toward the trajectory generation is to interpolate a set of way-points that are generated by a path planner. Therefore, a method to interpolate these points affects the robot trajectory. The most well-known method is to combine a straight line and a circle [1]. However, this approach guarantees C 0 —continuity only, i.e., continuous positions and orientations. The angular velocity is discontinuous at transitions between a straight line and a circle. Thus, a large path deviation can occur at transitions due to infinite accelerations [2]. Accordingly, the problem of finding a smooth interpolating curve has attracted a number of researchers. Kanayama and Hartman [3] proposed cubic spirals such that the curvature varies continuously at transitions between a curve and a straight line. Fraichard and Scheuer [4] showed that the clothoid curve can be used to connect a straight line and a circle to achieve linearly varying curvature. Bianco et al. [5] proposed a smooth curve that is continuous with regard to curvature and its first derivative. In the study of Kelly and Nagy [6], parametric curves were converted into a unified form to solve optimization problems more systemically. Pan et al. [7] used cubic B-splines to interpolate sampled points (way-points) that are obtained by global path planners [8], [9], i.e., planning the path from the initial configuration to the final one assuming a static environment. In Yang and Sukkarieh [10] and Chen et al. [11], similar works as [7]– [9] were performed using Bézier curves to interpolate sampled points. Even if a smooth curve is found, finding a feasible timing law is another problem as there exist infinitely many solu- 0278-0046 © 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See https://www.ieee.org/publications/rights/index.html for more information. Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply. KIM: TRAJECTORY GENERATION OF A TWO-WHEELED MOBILE ROBOT IN AN UNCERTAIN ENVIRONMENT tions that can travel along the specified curve. Yamamoto et al. [12] proposed a method to generate a time-optimal trajectory based on a kinematic model assuming a constant maximum acceleration. The path is expressed by a path parameter and the maximum pseudovelocity (the first derivative of the path parameter) is calculated in the phase plane by numerically integrating the equation of motion. This idea was originally proposed for a robot manipulator in [13] and [14]. In Wu et al. [15], a trajectory was designed based on a dynamic model for a circle–line–circle motion. Villagra et al. [16] proposed an optimal trajectory for an automated vehicle that can satisfy the maximum velocity, acceleration, and jerk. Prado et al. [17] used a cubic polynomial function to connect the boundary conditions given the kinematic limits. In [18] and [19], bang–bang controls for input voltages were suggested. Some researchers focused on the execution of the trajectory, most of which focused on the nonholonomic nature of the kinematic model [20]–[22]. In Kim [23], different control methods were compared in real-world experiments. Fierro and Lewis [24] proposed a back-stepping controller based on a dynamic model. The main contribution of this article is as follows. First, a new interpolation scheme, referred to as the concatenated Bézier curve in this document, is proposed. It consists of a straight line (the first-order Bézier curve), the fifth-order Bézier curve, and a straight line, which is a similar technique proposed in [1], i.e., a combination of a straight line and a curve, except that the curvature of the proposed method is continuous. It is demonstrated that the proposed scheme can be easily applied to generate motions that are commonly used for wheeled mobile robots such as a lane changing and a point-to-point motion. The benefit of the proposed curve is that solving time optimality for the associated timing laws is much simpler than a nonzero curvature path, e.g., [5]–[7], as the former has zero curvature along the straight lines where the maximum and minimum acceleration can be obtained analytically. For connecting two straight lines, the fifth-order Bézier curve is proposed. The control points are selected such that the curvature at the end points is zero, resulting in a curvature-continuous concatenated Bézier curve. This approach is similar to the method presented in [10], in which it utilizes a high-order Bézier curve to connect two straight lines. However, the work in [10] is focused on optimization of path curvature and generating an associated timing law is not discussed. Second, a computationally efficient way to generate a time optimal trajectory is presented. Even though it is based on a dynamic model, the computational load is very low. Unlike a straight line, to obtain a time-optimal solution for a curve (nonzero curvature) requires a large computational cost, e.g., [12], [15], [18], and [19]. In the proposed method, some heuristic approaches are adopted to reduce the computational cost. First of all, it is assumed that the trajectory follows a trapezoidal velocity profile (TVP) where only three maximum constant values (acceleration, speed, and deceleration) are necessary to completely determine a trajectory. Second, a constant pseudovelocity along the curve is assumed for a path with a nonconstant curvature. 5587 Fig. 1. Kinematic model of a mobile robot (d: the distance from the center of the chassis (COC) to the center of mass along X R , L: the length between the COC and a wheel, R: the radius of a wheel). The fixed frame is denoted by {w}, whereas {a} represents the robot frame, fixed at the COC. In this way, the robot dynamics becomes a function of a path parameter and its velocity only. Then, the kinematic and the dynamic constraints are approximated by cubic spline functions whose knots are selected based on curvature. By utilizing these techniques, the problem of finding the optimal trajectory along a curve is simplified to solving a set of quadratic inequalities whose analytical solutions can be easily obtained. This article is organized as follows. Section II introduces the kinematic and dynamic models that are used throughout the article. In Section III, the proposed concatenated Bézier curve is introduced. In Section IV, a method to generate a time-optimal trajectory along the proposed curve in Section III is presented. In Section V, numerical examples are shown to validate the proposed methods. Finally, concluding remarks are provided. Section VI concludes this article. II. KINEMATIC AND DYNAMIC MODEL The robot that is considered in this article is a two-wheeled differentially driven mobile robot as shown in Fig. 1. Let us define the generalized velocity of the robot as T ∈ 2 (1) q̇ = q̇1 q̇2 where q̇i is the velocity of i’s wheel. The mobile robot is subject to a nonholonomic constraint ζ̇ = Jq̇ Δ (2) Δ where ζ̇ = [ v ω ]T ∈ 2 and J = R2 [ 11 −11 ] ∈ 2×2 . L L The dynamic model can be expressed in terms of the generalized velocity Mq̈ + B(q̇)q̇ + fv q̇ = τ ∈ 2 (3) where M ∈ 2×2 is a constant matrix, symmetric, and positive 3 q̇ 2 c dR [ q̇ 2 −0 q̇ 1 q̇ 1 − ] is the Coriolis and cendefinite; B(q̇) = m4L 2 0 2×2 trifugal effect, and fv ∈ is a constant diagonal matrix that represents the viscous friction coefficients. It is assumed that there are no slippages, which means that the Coulomb friction is high enough. However, the Coulomb friction is not considered in the dynamic model to simplify the problem. Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply. 5588 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020 Fig. 3. Fifth-order Bézier curve fc for m = 3 in (8). The curve always exists inside the polygon (shaded area) defined by the control points. For the curve fc , we propose the fifth-order Bézier curve as shown in Fig. 3, which is defined by six control points, denoted as b0 , . . . , b5 ∈ 2 . The fifth-order Bézier curve can be written in the standard form as n =5 n (5) fc (s) = (1 − s)n −k sk bk , 0 ≤ s ≤ 1. k k =0 Fig. 2. The proposed online interpolation scheme. (a) Initial condition. (b) Transition to a new target along a concatenated Bézier curve. One characteristic of a Bézier curve is that the derivatives at the boundary are completely determined by the nearby control points. For the first derivatives Refer to [25] for more details on the above notations. Derivation of the dynamic model (3) is discussed in [25]–[27]. The equation of motion (3) can also be written in the following form as: d fc (0) = n (b1 − b0 ) ds d fc (1) = n (bn − bn −1 ) . ds Mq̈ + q̇T Cq̇ + fv q̇ = τ , 3 (4) 3 −1 0.5 m c dR c dR [ 0.50 0.5 where Cij 1 = m4L 2 −1 ] and Cij 2 = 4L 2 [ 0.5 0 ]. 2×2×2 In (4), the term C ∈ is a tensor that represents the coefficients of the Coriolis and centrifugal effect. Note that the coefficients in (4) are all constant. III. ONLINE INTERPOLATION OF MULTIPLE WAY-POINTS In Fig. 2, a method that can smoothly interpolate between way-points while on the move is shown. It is assumed that the robot is initially moving toward the original target pn from the position pn −1 along a straight line fn (sn ), where fn (0) = pn −1 and fn (1) = pn [see Fig. 2(a)]. At this instance, the robot is requested to move to a new target, pn +1 [see Fig. 2(b)]. In this case, consider a straight line fn +1 connecting from pn to pn +1 . Let us assume that there exists a point fn (si ), where s0 ≤ si ≤ 1 and fn (s0 )is the initial point, such that the robot can reach fn (si ) (distance r from pn ) and ḟn (si ) (some specified value) under the minimum acceleration limit. Next, consider a smooth (curvature continuous) curve that can connect between fn (si ) and fn +1 (sj ) whose curvature is zero at the end points. Finally, a timing law is planned along the curve that connects fn (s0 ), fn (si ), fn +1 (sj ), and fn +1 (1) = pf , given the initial and final velocities. (6-1) (6-2) Likewise, the second derivatives are obtained as d2 fc (0) = n(n − 1) (b2 − 2b1 + b0 ) ds2 (7-1) d2 fc (1) = n(n − 1) (bn − 2bn −1 + bn −2 ) . ds2 (7-2) Now consider the following control points: ⎧ k ⎪ ⎪ ⎨ (pn − fn (si )) + fn (si ), m bk = ⎪ ⎪ ⎩ 5 − k (pn − fn +1 (sj )) + fn +1 (sj ), m k = 0, 1, 2 k = 3, 4, 5 (8) where m is any integer larger than 2. By substituting (8) into (6), the first derivatives at the boundaries become n d fc (0) = (pn − fn (si )) ds m d n fc (1) = − (pn − fn +1 (sj )) . ds m (9-1) (9-2) Notably, utilizing (7) and (8) leads to d2 fc (0) = 0, ds2 d2 fc (1) = 0. ds2 (10) Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply. KIM: TRAJECTORY GENERATION OF A TWO-WHEELED MOBILE ROBOT IN AN UNCERTAIN ENVIRONMENT Fig. 5. 5589 Mobile robot moving along a specified path. Let us consider a case where the robot is traveling along a parameterized curve as shown in Fig. 5. In this case, the linear and angular velocities can be expressed in terms of the path f (s) and the path parameter s as follows: v= Fig. 4. Examples of the proposed interpolation scheme (shaded circles: the initial and final points, white circles: inserted way-points). (a) Lane changing. (b) Point-to-point moving. That is, the second derivative of the curve at each boundary becomes zero and so is the curvature, κ(s), since κ(s) = f (s) × f (s) f (s)3 (11) Δ d f (s). where f (s) = ds More specifically, the second derivative becomes zero at each boundary because the control points (8) are selected according to b1 − b0 = b2 − b1 and b5 − b4 = b4 − b3 . In Fig. 4, examples of the proposed interpolation scheme are shown. It is assumed that the boundary conditions (position/orientation and the linear velocity) of the robot are given. In case of a lane changing, it is required that the robot changes the direction of its heading twice, e.g., a left turn and then a right turn [see Fig. 4(a)]. Therefore, inserting two way-points, p1 and p2 , between the initial and final points are sufficient to achieve this goal. For a point-to-point motion where both the position and orientation of the robot must be located at the final point, up to three way-points, p1 , p2 , and p3 , may be required [see Fig. 4(b)]. The first point p1 and the last point p3 are necessary for orientations at each boundary. Another intermediate point p2 may also be necessary to avoid a high curvature. d f (s) = f (s) ṡ dt (14-1) ω = κ(s)v = κ(s) f (s) ṡ. Therefore, (2) can be written as T = f (s) ζ̇ = v ω f (s)×f (s) f (s)2 (14-2) T ṡ. (15) Then, it is possible to express as ζ̇(s) = ζ (s)ṡ (16) Δ with ζ (s) = f (s)[ 1 κ(s) ]T . In case of a pure rotation, the above expression still holds because T (17) ζ (s) = 0 θ[ω̂]s where f (s) = e[ ω̂ ]θ s ∈ SO(2), [ω̂] = ±1 (the direction of rotation) [28]. By utilizing (2) and (16), the kinematic mapping between the path parameter and the wheel velocity and acceleration is obtained as follows: q̇ = J−1 ζ (s)ṡ q̈ = J−1 ζ (s)s̈ + ζ (s)ṡ2 . (18-1) (18-2) Substituting (18) into (4) obtains a dynamic model that is expressed in terms of the path parameter τ = m(s)s̈ + b(s)ṡ2 + c(s)ṡ (19) Δ where m(s) = MJ−1 ζ (s) T Δ b(s) = MJ−1 ζ (s) + J−1 ζ (s) C J−1 ζ (s) IV. TIME-OPTIMAL TRAJECTORY PLANNING (TOTP) In this section, a method to generate a near minimumtime trajectory that travels along the concatenated Bézier curve is discussed. It is assumed that the trajectory is subject to the following kinematic and dynamic constraints, respectively, as: − |q̇m ax,i | ≤ q̇i ≤ |q̇m ax,i | , i = 1, 2 (12) − |τ m ax,i | ≤ τ i ≤ |τ m ax,i | , i = 1, 2. (13) Δ c(s) = fv J−1 ζ (s) By inserting (18-1) into (12), the kinematic constraints can also be expressed in terms of the path parameter as well. That is ṡm ax = min ṡm ax,i (s) i=1,2 Δ (20) q̇ ,i |. where ṡm ax,i = | (J −1mζax(s)) i Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply. 5590 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020 Fig. 7. Fig. 6. Motion profiles along a straight line with a TVP trajectory. (a) TVP of the pseudovelocity ṡ ≥ 0. (b) Torque profile. As shown in Fig. 6, the maximum torque in the ramp-up phase (s̈ > 0) occurs at the highest velocity due to the equal directions of the inertial force and the friction force. In the ramp-down phase (s̈ < 0), the minimum torque occurs at the end of motion as the friction force exerts in the opposite direction of the inertial force. Since the maximum velocity ṡm ax can be solved for (20), the optimal accelerations can be obtained according to |τ m ax,i | − c̄i ṡm ax s̈m ax = min , i = 1, 2 (23-1) m̄i − |τ m ax,i | − c̄i ṡf s̈m in = max , i = 1, 2. (23-2) m̄i where it is assumed that mi > 0. A. TOTP for a Straight Line During the motion along a straight line, the term ζ (s) is constant. In addition, the second derivative with respect to path parameter ζ (s) is zero. In the meantime, it holds B(q̇) = 0. Therefore, the dynamic model can be written more simply as τ = m̄ s̈ + c̄ ṡ (21) where the overbar means constant. For a straight line, it is assumed that the pseudovelocity ṡ(t) follows a TVP as shown in Fig. 6(a). There are three main reasons why the TVP is assumed. First of all, it is often desired that the robot follows a TVP-like profile, a ramp-up, a cruise at maximum velocity, then a ramp-down. Second, the trajectory is simple such that a closed-form solution can be readily obtained. By combining with filtering techniques, one can control the smoothness of the trajectory while the overall shape of the trajectory is not distorted significantly [29]. However, it should be noted that a time-optimal trajectory does not follow a TVP trajectory but rather an exponential function for ramp-up and ramp-down for a second-order rigid dynamic model (see Fig. 18). In this article, it is attempted to approximate the true time-optimal solution by a TVP trajectory with constant accelerations. If the pseudovelocity follows a TVP trajectory, the timeoptimization problem is to find optimal values s̈ and ṡ satisfying the following linear inequalities: |m̄i s̈ + c̄i ṡ| ≤ |τ m ax,i | , Example to select the step size based on curvature. i = 1, 2. (22) B. TOTP for a Fifth-Order Bézier Curve The problem of minimum-time trajectory along a curve is more complicated than the case for a straight line because the coefficients in (19) are no longer constant. Therefore, finding the true optimal values requires calculating the dynamic model everywhere along the path. To simplify the problem, a constant pseudovelocity is assumed, which results in a set of quadratic inequalities with nonconstant coefficients with a single value ṡ to be optimized as bi (s)ṡ2 + ci (s)ṡ ≤ |τ m ax,i | , i = 1, 2. (24) One benefit of using a constant pseudovelocity is that the motion along the curve can become smoother compared with a case with a nonzero pseudoacceleration. Of course, one obvious drawback is the increased motion time due to the additional constraint. To reduce the computational cost further, the kinematic constraint, (20), and the dynamic terms, b(s) and c(s) in (24), are approximated by cubic splines whose knots are selected based on curvature (see Fig. 7). That is, as the curvature becomes larger, the step size Δsh in sh = sh−1 + Δsh (h: step index) becomes smaller. The step size Δs is generated based on the curvature at s, where s is the path parameter, such that Δs is inverse proportional to the curvature. To values of Δs is computed by a quadratic function whose limits are defined by the upper and lower bounds of the heuristically chosen Δsm ax , Δsm in , κm ax , Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply. KIM: TRAJECTORY GENERATION OF A TWO-WHEELED MOBILE ROBOT IN AN UNCERTAIN ENVIRONMENT Fig. 8. 5591 Quadratic interpolation of the step size based on the curvature. κm in as shown in Fig. 8. The idea comes from the observation that the dynamic equations (24) tend to vary more sharply as the curvature increases. The coefficients in (24) contain ζ (s) or ζ (s), both of which depend on curvature κ(s) as it is implied in (16). Assuming that the cubic splines accurately approximate the original functions (20) and (24), the steps that can find the maximum pseudovelocity ṡm ax subject to (20) and (24) are now described. First, the global minimum of the approximated function of (20) is found, denoted as ṡkminax (see Fig. 10). Next, (24) is solved for ṡ at the boundaries and choose the smallest . one, denoted as ṡboundary m ax boundary kin ) and construct Then, choose ṡdyn m ax,0 = min(ṡm ax , ṡm ax another cubic spline curve for (24) (see Fig. 11), referred to as the approximated dynamic limit curve (ADLC). Next, calculate the torque at the local maxima for the ADLC. If the torque is violated, solve (24) to obtain ṡdyn m ax,k , where k is an index. Finally, choose mink =0,...,N ṡdyn m ax,k , where N is the number of local maximum where the torque is saturated. The complete algorithm to plan the proposed trajectory for the case described in Fig. 2(b) is summarized in Algorithm 1. Note that it is assumed that the trajectory for fn , that is, the trajectorysn (t) has been planned and the robot is moving along fn . The case when the replanned trajectory for sn (t) is not feasible indicates that the robot cannot reach the given final position and velocity due to insufficient deceleration. In other words, the distance between the initial and the final position is too close. In this case, the only choice that can generate a feasible trajectory for sn (t) is to decrease r. The computation time from step 1 to step 8 in the TOTP algorithm is very small as each step requires computation with closed-form solutions. In case when no feasible solution for sn (t) is available in step 9, the computation time can increase as it is necessary re-execute from step 2 to step 8. However, it is guaranteed that the algorithm will converge as r approaches zero. Therefore, one can design the iterative routine to scale raccording to the computational requirement of the available system. V. SIMULATION RESULTS In simulation, a total of three cases were tested. The first case (Case I) was to emulate the situation described in Fig. 2. The other cases were for a lane changing [see Fig. 4(a)] and a pointto-point [see Fig. 4(b)], referred to as Cases II and Case III, Fig. 9. Animation for Case I (50 Hz). The time when receiving the way-points are 0 and 0.3 s. Algorithm 1: TOTP Algorithm. 1: Plan the trajectory, sn +1 (t) for fn +1 assuming zero boundary velocities (Section IV-A) 2: Compute the boundary points, fn (si ) and fn +1 (sj ) given r. Then, compute the range of velocity such that the robot can reach given the deceleration limit. 3: Plan the curve fc according to (8). 4: Find the boundary velocities, ṡi and ṡj from the straight line trajectories. Calculate the boundary velocities for fc according to ṡc,0 = f n (si ) ṡi , f c (0) ṡc,f = f n +1 (sj ) ṡj . f c (1) 5: Set the initial ṡ0c = min(ṡc,0 , ṡc,f ). kin 6: Compute ṡkin m ax and update ṡm ax = )—Section IV-B min(ṡ0c , ṡkin m ax 7: Compute ṡdyn m ax —Section IV-B 8: Recalculate ṡi and ṡj according to 4. 9: Replan sn (t) and ṡn +1 (t). If sn (t) is not feasible, go back to 2. Then, find a new r and continue from 2. respectively. The results for Case I are shown form Figs. 9– 12. The algorithm was written in MATLAB R2016a and was run on a PC with Intel(R) Core(TM) i7-6700 CPU @ 3.4-GHz machine with 16-GB RAM. The computation time for running Algorithm 1 for Case I was 6.0 ms on average (the number of test: 5, standard deviation: 0.45 ms). It is assumed that the entire way-points are not known in advance. Rather, the next way-point is known only when the robot completes transitioning from a curve to a straight line. It was set m = 3 in (8) to select the control points. The robot tested in simulation is a differentially driven two-wheeled mobile robot that is similar to TurtleBot3 [30]. The model parameters are shown in Table I. The simulation results for Cases I, II, and III are shown from Figs. 9 to 17. In the animation plots (see Figs. 9, 13, and 15), the top views of the mobile robot are shown (white circles: wheels, lines: chassis, black circles: way-points). To evaluate the performance of the proposed algorithm with respect to time optimality, the Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply. 5592 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020 TABLE I PARAMETERS OF THE ROBOT MODEL FOR SIMULATION Fig. 10. Maximum pseudovelocity under the kinematic constraint (20) along the fifth-order Bézier curve for Case I (solid line: true curve, dashed line: cubic spline estimation, circles: knots for cubic spline estimation). The global minimum, 1.611, is chosen for ṡkin m ax . Fig. 13. Animation for Case II (50 Hz). The time when receiving the way-points 0, 0.3, and 1.2 s, respectively. Fig. 11. Torque of the second wheel along the fifth-order Bézier curve with ṡkin m a x = 1.611for Case I (solid line: true curve, dashed line: cubic spline estimation, and circles: knots for cubic spline estimation). The local maxima are 93.120 and 31.56 at s = 0.406 and s = 0.632, respectively. Fig. 14. Motion profiles for Case II. In the right figure, the sold line and the dashed line indicate joint 1 and joint 2, respectively. Fig. 12. Motion profiles for Case I (solid: joint 1, dashed: joint 2). Fig. 15. Animation for Case III (50 Hz). The time when receiving the way-points are 0, 0.3, 1.2, and 2.2 s, respectively. Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply. KIM: TRAJECTORY GENERATION OF A TWO-WHEELED MOBILE ROBOT IN AN UNCERTAIN ENVIRONMENT Fig. 16. 5593 of 100% are due to the additional constraints imposed on the method such as the TVP assumption (constant accelerations) and the constant pseudovelocity during transitions. In Fig. 18, the proposed trajectory is compared with the other time-optimal trajectories whose torque is saturated at all times, e.g., [18] and [19], for a case when the robot moves along straight-line path under the torque constraint only. The mean value of Rτ (t), t=T Δ i.e., R̄τ = T1 t=0 Rτ (t) dt, of the proposed trajectory is only 62.5%, whereas it is 100% for the true solution. The motion time of the proposed trajectory is 13.7% longer than the true solution. Certainly, the lower efficiency of the proposed trajectory is due to the constant accelerations while the accelerations should be variable depending on the velocity to achieve higher efficiency. However, the benefit of the proposed trajectory over the true time-optimal solution is the light computational burden as the proposed method requires solving the robot dynamics only at two points (for a straight line) while hundreds or thousands points are needed in general to compute the robot dynamics to obtain a true time-optimal trajectory. Another comparative study between the TVP trajectory and the true time-optimal solution can be found in [31]. Motion profiles for Case III. VI. CONCLUSION Fig. 17. Performance of the proposed trajectories in terms of time optimality (solid: Case I, dashed: Case II, and dotted: Case III). Fig. 18. Comparison between the propose trajectory (solid) with a true time-optimal trajectory (dashed) along a straight-line path. following performance measure is defined: Δ Rp (t) = max Rv (t) Rτ (t) Δ (25) Δ where Rv (t) = max | q̇q̇mi a(t) |, Rτ (t) = max | ττmi a(t) |. Note that x,i x,i i=1,2 i=1,2 the mean value of Rp (t)over the time interval that is t=T Δ measured,R̄p = T1 t=0 Rp (t) dt, is one only if either the joint velocity or torque is saturated at all times. In Fig. 17, the performance measure, Rp , of the proposed method for Cases I, II, and III are shown. The mean values R̄p were 66.6%, 68.2%, 68.9% for Cases I, II, and III, respectively. The reasons why the proposed method cannot achieve the performance In this article, a method that generates a time-optimal trajectory for a two-wheeled mobile robot was presented. In particular, a case was considered when the robot must transit to a new target state smoothly yet in near minimum-time given the physical constraints (the maximum velocity and torque) while minimizing the computational costs. The combination of a straight line and a fifth-order Bézier curve was utilized to generate a curvature-continuous curve. The kinematic and dynamic constrains were mapped into the phase plane (s, ṡ) ⊂ 2 to calculate the minimum-time TVP trajectory along the curve. Some heuristic approaches were adopted to reduce the number of computations required to find the optimal solutions. A cubic spline function was used to estimate the constraint functions with selected knots based on path curvature. The proposed method was tested in simulation. In the tested equipment, the computation time to generate a complete time-optimal trajectory such that the robot can transit to another way-point was only several milliseconds. This was a significant reduction compared with the existing methods (typically tens of seconds). However, the proposed trajectories were slower than true time-optimal trajectories as the torque was saturated only once or twice per path segment due to assumptions such as a TVP trajectory for a straight line and a constant pseudovelocity along a curve. It should be noted that the proposed trajectory is only nominal trajectory (reference trajectory for a control-loop) under the assumptions of nonholonomic constraint (2) and a linear dynamic model. Therefore, important problems of the possibility occurrence of slippage or lack of control (lack of wheel-ground contact) should also be carefully considered in the control design. A future work will be to perform a real-world experiment to validate the presented work. This will include parameter Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply. 5594 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020 identification of the dynamic model, design of model-based feedforward/feedback tracking control, implementation of the proposed algorithm in a strict real-time control system, and testing in an unknown environment where dynamic obstacles appear while the robot moves. REFERENCES [1] P. Jacobs and J. Canny, “Planning smooth paths for mobile robots,” in Proc. IEEE Int. Conf. Robot. Automat., 1989, pp. 2–7. [2] W. Lelson, “Continuous steering-function control of robot carts,” IEEE Trans. Ind. Electron., vol. 36, no. 3, pp. 330–337, Aug. 1989. [3] Y. Kanayama and B. I. Hartman, “Smooth local path planning for autonomous vehicles,” in Proc. IEEE Int. Conf. Robot. Automat., 1989, pp. 1265–1270. [4] T. Fraichard and A. Scheuer, “From Reeds and Shepp’s continuouscurvature paths,” IEEE Trans. Robot., vol. 20, no. 6, pp. 1025–1035, Dec. 2004. [5] C. Bianco, A. Piazzi, and M. Romano, “Smooth motion generation for unicycle mobile robots via dynamic path inversion,” IEEE Trans. Robot., vol. 20, no. 5, pp. 884–891, Oct. 2004. [6] A. Kelly and B. Nagy, “Reactive nonholonomic trajectory generation via parametric optimal control,” Int. J. Robot. Res., vol. 22, pp. 583–601, 2003. [7] J. Pan, L. Zhang, and D. Manocha, “Collision-free and smooth trajectory computation in cluttered environments,” Int. J. Robot. Res., vol. 31, no. 10, pp. 1155–1175, 2012. [8] L. Kavraki, P. Svestka, J. Latombe, and M. Overmars, “Probabilistic roadmaps for path planning in high-dimensional configuration spaces,” IEEE Tran. Robot. Automat., vol. 12, no. 4, pp. 556–580, Aug. 1996. [9] S. LaValle and J. Kuffner, “Randomized kinodynamic planning,” Int. J. Robot. Res.,” vol. 20, no. 5, pp. 378–400, 2001. [10] K. Yang and S. Sukkarieh, “An analytical continuous-curvature pathsmoothing algorithm,” IEEE Trans. Robot., vol. 26, no. 3, pp. 561–568, Jun. 2010. [11] C. Chen, Y. He, C. Bu, J. Han, and X. Zhang, “Quartic Bézier curve based trajectory generation for autonomous vehicles with curvature and velocity constraints,” in Proc. IEEE Int. Conf. Robot. Automat., Hong Kong, 2014, pp. 6108–6113. [12] M. Yamamoto, M. Iwamura, and A. Mohri, “Quasi-time-optimal motion planning of mobile platforms in the presence of obstacles,” in Proc. IEEE Int. Conf. Robot. Automat., Detroit, MI, USA, 1999, pp. 2958–2963. [13] K. Shin and N. McKay, “Minimum-time control of robotic manipulators with geometric path constraints,” IEEE Trans. Autom. Control, vol. AC-30, no. 6, pp. 531–541, Jun. 1985. [14] J. Bobrow, S. Dubowsky, and J. Gibson, “Time-optimal control of robotic manipulators along specified paths,” Int. J. Robot. Res., vol. 4, no. 3, pp. 3–17, 1985. [15] W. Wu, H. Chen, and P. Woo, “Time-optimal path planning for a wheeled mobile robot,” J. Robot. Syst., vol. 17, no. 11, pp. 585–591, 2000. [16] J. Villagra, V. Milanés, V. J. Perez, and J. Godoy, “Smooth path and speed planning for an automated public transport vehicle,” Robot. Auton. Syst., vol. 60, no. 2, pp. 252–265, 2012. [17] M. Prado, A. Simon, E. Carabias, A. Perez, and F. Ezquerro, “Optimal velocity planning of wheeled mobile robots on specified paths in static and dynamic environments,” J. Robot. Syst., vol. 20, no. 12, pp. 734–754, 2003. [18] J. Choi and B. Kim, “Near-time-optimal trajectory planning for wheeled mobile robots with translational and rotational sections,” IEEE Trans. Robot. Automat., vol. 17, no. 1, pp. 85–90, Feb. 2001. [19] Y. Kim and B. Kim, “Time-optimal trajectory planning based on dynamics for differential-wheeled mobile robots with a geometric corridor,” IEEE Trans. Ind. Electron., vol. 64, no. 7, pp. 5502–5512, Jul. 2017. [20] K. Koh and H. Cho, “A path tracking control system for autonomous mobile robots: An experimental investigation,” Mechatronics, vol. 4, no. 8, pp. 799–820, 1994. [21] Y. Kanayama, Y. Kimura, F. Miyazaki, and T. Noguchi, “A stable tracking control method for an autonomous mobile robot,” in Proc. IEEE Int. Conf. Robot. Automat., Cincinnati, OH, USA, 1990, pp. 384–389. [22] G. Oriolo, A. De Luca, and M. Vendittelli, “WMR control via dynamic feedback linearization: Design, implementation, and experimental validation,” IEEE Trans. Control Syst. Technol., vol. 10, no. 6, pp. 835–852, Nov. 2002. [23] B. Kim and P. Tsiotras, “Controllers for unicycle-type wheeled robots: Theoretical results and experimental validation,” IEEE Trans. Robot. Automat., vol. 18, no. 3, pp. 294–307, Jun. 2002. [24] R. Fierro and F. Lewis, “Control of a nonholonomic mobile robot: Backstepping kinematics into dynamics,” J. Robot. Syst., vol. 14, no. 3, pp. 149– 163, 1997. [25] R. Dhaouadi and A. Hatab, “Dynamic modeling of differential-drive mobile robots using Lagrange and Newton-Euler methodologies: A unified framework,” Adv. Robot. Automat., vol. 2, no. 2, p. 1000107, 2013. [26] X. Yun and Y. Yamamoto, “Internal dynamics of a wheeled mobile robot,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Yokohama, Japan, 1993, pp. 1288–1294. [27] G. Campion, G. Bastin, and B. D’Andrea-Novel, “Structural properties and classification of kinematic and dynamic models of wheeled mobile robots,” IEEE Trans. Robot. Automat., vol. 12, no. 1, pp. 47–62, Feb. 1996. [28] F. Park and B. Ravani, “Bézier curves on Riemannian manifolds and lie groups with kinematics applications,” J. Mech. Des., vol. 117, no. 1, pp. 36–40, 1995. [29] J. Kim and E. Croft, “Preshaping input trajectories of industrial robots for vibration suppression,” Robot. Comput. Integr. Manuf., vol. 54, pp. 35–44, 2018. [30] 2019. [Online]. Available: http://emanual.robotis.com/docs/en/platform/ turtlebot3/overview/ [31] G. Antonelli, S. Chiaverini, G. Gerio, M. Palladino, and G. Renga, “SmartMove4: An industrial implementation of trajectory planning for robots,” Ind. Robot: Int. J., vol. 34, no. 3, pp. 217–224, 2007. Joonyoung Kim received the B.S. degree in mechanical engineering and mechatronics from Chung-Ang University, Seoul, South Korea, in 2002, the M.A.Sc. degree from the University of Toronto, Toronto, ON, Canada, in 2005, and the Ph.D. degree from The University of British Columbia, Vancouver, BC, Canada, in 2017, both in mechanical engineering. From 2005 to 2017, he was with the Robotics Research Institute, Hyundai Heavy Industries Company, Ltd., Yongin, South Korea. Since September 2017, he has been with Samsung Research, Samsung Electronics, Seoul, South Korea. His current research interests include high-performance motion control and safe physical human–robot interaction for mobile robots and manipulators. Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.