Next Article in Journal
Manipulation Tasks in Hazardous Environments Using a Teleoperated Robot: A Case Study at CERN
Next Article in Special Issue
Advanced Sensors Technologies Applied in Mobile Robot
Previous Article in Journal
A Method to Improve Mounting Tolerance of Open-Type Optical Linear Encoder
Previous Article in Special Issue
Indoor 2D Positioning Method for Mobile Robots Based on the Fusion of RSSI and Magnetometer Fingerprints
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Minimum-Time Trajectory Generation for Wheeled Mobile Systems Using Bézier Curves with Constraints on Velocity, Acceleration and Jerk

Faculty of Electrical Engineering, University of Ljubljana, Tržaška cesta 25, SI-1000 Ljubljana, Slovenia
*
Author to whom correspondence should be addressed.
Submission received: 18 January 2023 / Revised: 3 February 2023 / Accepted: 7 February 2023 / Published: 10 February 2023
(This article belongs to the Special Issue Advanced Sensors Technologies Applied in Mobile Robot)

Abstract

:
This paper considers the problem of minimum-time smooth trajectory planning for wheeled mobile robots. The smooth path is defined by several Bézier curves and the calculated velocity profiles on individual segments are minimum-time with continuous velocity and acceleration in the joints. We describe a novel solution for the construction of a 5th order Bézier curve that enables a simple and intuitive parameterization. The proposed trajectory optimization considers environment space constraints and constraints on the velocity, acceleration, and jerk. The operation of the trajectory planning algorithm has been demonstrated in two simulations: on a racetrack and in a warehouse environment. Therefore, we have shown that the proposed path construction and trajectory generation algorithm can be applied to a constrained environment and can also be used in real-world driving scenarios.

1. Introduction

Path planning and trajectory planning are fundamental topics in autonomous mobile robotics and even more broadly in the context of automation [1]. Path planning algorithms generate a path through predefined points with the main goal of finding a continuous path that minimizes the distance between the starting point and an end point without colliding with obstacles [2,3]. While path planning is a geometric problem, trajectory planning additionally parameterizes the resulting path by time. Consequently, defining time moments along a path affects the kinematic and dynamic properties of the motion of a mobile system. Forces and torques depend on acceleration along a trajectory, while vibrations of its mechanical structure are mainly determined by values of jerk, the time derivative of acceleration [4].
The aim of our work was to solve the problem of minimum-time trajectory generation for wheeled mobile systems with constraints on velocity, acceleration, and jerk in a limited planar space without obstacles. The idea we propose is to apply an optimization method to determine the construction parameters of a Bézier curve primitive such that the resulting travel time on a complete smooth path is minimal. The algorithm we use to compute the minimum-time velocity profile is presented in Ref. [5]. It computes the velocity profile on a predefined path under specified constraints on velocity, radial and tangential acceleration, and radial and tangential jerk.
This paper is organized as follows. Section 2 gives a general overview of the related work. Section 3 introduces the research problem and our main objectives, and Section 4 briefly lists the main contributions. The novel methodology of constructing and parameterizing the fifth-order Bézier curves that make up the resulting geometric path is detailed in Section 5.1. In Section 6, we present two applications of our proposed trajectory generation algorithm, namely the computation of the minimum-time trajectory of a wheeled mobile system on a racetrack (Section 6.1) and in a warehouse (Section 6.2). Our conclusions are drawn in the last section.

2. Related Work

The problem of minimum-time trajectory planning remains relevant due to the growing demands for optimal operation of mobile systems, robots, and automated machines. Trajectory planning or, more generally, the planning of the motion of mobile systems can be divided into two parts: velocity profile optimization and path search [6].
The problem of velocity profile optimization is to determine the time-optimal speed law that satisfies certain kinematic or dynamic constraints, and was considered in Refs. [7,8]. The authors in Ref. [9] have provided a comprehensive review of the consideration of jerk in science and engineering, where it is used as a design factor to ensure ride comfort (e.g., amusement park rides, watercraft, elevators, and autonomous buses), and also reference jerk-related ISO standards. As a result, jerk has established its relevance in numerous scientific and engineering applications. Much of the research is dedicated to limiting or minimizing jerk to reduce vibration, decrease positional errors, or improve the overall performance of machine tools [10], robotic manipulators [11,12,13,14,15], and autonomous mobile robots [5,16,17,18,19].
Numerous path planning strategies have been designed and implemented in the literature [20,21,22]. To meet the kinematic limits of the vehicle and successfully transport a hazardous, fragile, or valuable load, the resulting path must be smooth [23]; it must be feasible at high speeds while being harmless to the mechanical system by avoiding vibration and excessive acceleration of the actuators. Often, path planning techniques must also comply with geometric constraints [3,24]. A significant part of path planning methods is the choice of geometric curves, which can be polynomials [25], Bézier curves [6,26,27,28], cubic splines [29], B-splines [30], Dubins curves, clothoids [31], hypocycloids [32], and others, as presented in Ref. [23].
In this work, we have utilized Bézier curves due to their favorable properties, including low computational cost and flexibility. The authors in Refs. [33,34,35,36] also used quintic Bézier curves and various optimization approaches in an attempt to improve the efficiency and accuracy of path planning for autonomous vehicles. In Ref. [33], the author described the cubic and quintic (trigonometric) Bézier curves using a few shape parameters, which makes the method flexible for use in cluttered environments. However, the author only evaluated and compared the values of velocity, radial acceleration, longitudinal and radial jerks on given unit speed curves. In Ref. [34], the authors proposed a real-time motion planning approach for automated driving in urban environments. Similar to our case, they used a decoupled method by separating path and speed planning. While their trajectory generation approach is suitable for environments with obstacles, the generated velocity profiles do not include jerk constraints. In Ref. [35], the presented method combines jump point search with Bézier curves. However, their approach only ensures C 2 continuity and considers velocity and acceleration constraints. In Ref. [36], the authors proposed an optimization approach for path planning for driverless vehicles in parallel parking using a radial basis function neural network. The authors optimized performance to ensure curve continuity, safety, and compliance with curvature constraints, but did not address the problem of velocity planning or compliance with other dynamic constraints.
Mobile robots are finding broader application and have become an integral part of a variety of environments: in manufacturing, medicine, and many other robotics-based services, including automated warehouses [37,38,39,40]. In work environments where simple and labor-intensive tasks of workers are replaced by mobile robots, labor efficiency, scalability, adaptability, and warehouse visibility increase, and turnaround time decreases.

3. Problem Formulation

Let the motion of a mobile system along a three times continuously differentiable plane curve C be described as a function of time t 0 , t f by the position vector r ( t ) measured from a given fixed origin. The velocity vector v ( t ) , the acceleration vector a ( t ) , and the jerk vector j ( t ) in the tangential-normal form are:
(1a) v ( t ) = v ( t ) · T ^ , (1b) a ( t ) = a T ( t ) · T ^ + a R ( t ) · N ^ = v ˙ · T ^ + v 2 κ · N ^ , (1c) j ( t ) = j T ( t ) · T ^ + j R ( t ) · N ^ = v ¨ v 3 κ 2 · T ^ + 1 v d d t ( v 3 κ ) · N ^ ,
where T ^ and N ^ are the unit tangential and the unit normal vector, respectively, and κ is the curvature of the path at time t. In Equation (1a), v is called speed, and the tangential and normal components of the acceleration (Equation (1b)) are called acceleration along the path and centripetal acceleration (also called radial acceleration), respectively. The expression (1c) is obtained by differentiating Equation (1b) and applying the Frenet–Serret formulas for movement in two-dimensional Euclidean space R 2 [41].
The maximum allowable value of velocity v MAX is determined by the capabilities of the robot actuators and also the environmental conditions (e.g., surface type). Driving in the reverse direction is not permitted. The maximum values of radial acceleration a R MAX and tangential acceleration a T MAX can be set based on the dynamic constraints of a mobile robot (e.g., maximum centripetal force and rolling resistance in a turn) [6]. Similarly, we imposed third-order constraints j R MAX and j T MAX , whose values can be derived from ride comfort criteria [9]. Although we could limit the acceleration and jerk components separately (and treat them individually), we additionally restricted their values to the range within an ellipse (similar to researchers in [5,6,35,42]:
(2a) 0 | v ( t ) | v MAX , (2b) a R 2 ( t ) a R MAX 2 + a T 2 ( t ) a T MAX 2 1 , (2c) j R 2 ( t ) j R MAX 2 + j T 2 ( t ) j T MAX 2 1 .
Treating the tangential and radial components of acceleration (Equation (2b)) and jerk (Equation (2c)) together is more rigorous than limiting the individual components. It also provides greater ride comfort by constraining the overall norms. The goal of this research was to develop a trajectory planning method for a mobile system operating in a constrained, obstacle-free, planar environment while subject to kinematic constraints. Although motion planning algorithms have been the subject of extensive research, dealing with third-order constraints still proves challenging.

4. Contributions

The main contributions of this paper can be summarized as follows:
  • We describe an innovative construction method for 5th order Bézier curves. The proposed parameterization is simple and intuitive, yet effective for generating smooth paths consisting of multiple splines (Section 5);
  • The above smooth path generation basis is coupled with an algorithm that computes a minimum-time velocity profile with velocity, acceleration, and jerk constraints on a predefined path (see Ref. [5]). Together they form a powerful trajectory generation algorithm (Section 6). The resulting trajectories thus provide continuous velocity and acceleration profiles;
  • To prove the applicability of our approach to trajectory optimization, we performed simulation experiments on a racetrack and in a warehouse environment (Section 6.1 and Section 6.2). In the warehouse simulation, we identified and analyzed realistic situations with different dynamic constraints to investigate and propose the most appropriate driving scenarios.

5. Curve Primitives

A Bernstein–Bézier curve (or Bézier curve) is defined by a set of control points P 0 , P 1 , P b , b N :
r b ( λ ) = i = 0 b p i B i , b ( λ ) ,
where λ is a normalized time variable ( 0 λ 1 ) and p i denotes the position vector of a control point P i . The polynomials B i , b ( λ ) :
B i , b ( λ ) = b i λ i ( 1 λ ) b i = b ! i ! ( b i ) ! λ i ( 1 λ ) b i ,
are known as Bernstein basis polynomials of degree b. Bézier curves can be defined for N-dimensional space, N N . In planar space, the curve r b ( λ ) and the vectors p i are two-element vectors: r b ( λ ) = X ( λ ) , Y ( λ ) T and p i = x i , y i T . These curves have several useful properties for path planning. The first and last points of the Bézier curves introduced in Equation (3) are their endpoints:
r b ( 0 ) = p 0 and r b ( 1 ) = p b .
The N-dimensional, b-th order Bézier curve also lies within the convex hull defined by its control points. Furthermore, the beginning and the end of the curve are tangent to the first and the last section of the convex polygon, respectively (Figure 1).
d r b d λ λ = 0 = b ( p 1 p 0 ) ,
d r b d λ λ = 1 = b ( p b p b 1 ) .
Other properties of Bernstein polynomials (derivatives, calculation of definite integrals, the de Casteljau algorithm, degree elevation, etc.) fall outside the scope of this article; more details on this topic can be found in Ref. [28].
Bézier curves constructed by a large number of control points are computationally intensive. For this reason, in path planning, it is desirable to construct a smooth path by connecting low-degree Bézier curves [6]. The authors in Ref. [43] proposed a new parameterization of motion primitives based on Bézier curves for path planning applications of wheeled mobile robots. However, the method was presented for third-order polynomials and the algorithm does not guarantee the existence of the curve for all possible parameterizations. We used fifth-order Bézier curves because this is the degree of Bézier curves that always satisfies the curvature continuity requirement ( C 2 ) in the joints. The 5th order Bézier curve r 5 ( λ ) is defined by six control points P i :
r 5 ( λ ) = ( 1 λ ) 5 p 0 + 5 λ ( 1 λ ) 4 p 1 + 10 λ 2 ( 1 λ ) 3 p 2 + 10 λ 3 ( 1 λ ) 2 p 3 (8) + 5 λ 4 ( 1 λ ) p 4 + λ 5 p 5 .

5.1. Construction of 5th Order Bézier Curves

It is very important to choose the appropriate construction parameters that would efficiently define the Bézier curves and facilitate the search for the minimum-time trajectory.
With the above notation, let us mark the distances between consecutive control points d ( P i , P i + 1 ) as d i + 1 and the angles between ( P i , P i + 1 ) and the positive direction of the x-axis as φ i + 1 (Figure 2), i = 0 , 1 , 4 . For the coordinates of two consecutive control points, it follows that:
x i + 1 x i = d i + 1 cos φ i + 1 ,
y i + 1 y i = d i + 1 sin φ i + 1 .
We evaluate (9a) and (9b) for i { 0 , 1 } using the sum and difference formulas for sine and cosine. This gives the following expression for the value of the curvature in P 0 :
lim λ 0 κ ( λ ) = κ 0 = 4 5 d 2 d 1 2 sin ( φ 2 φ 1 ) .
The derivative of curvature κ 0 in P 0 with respect to λ is:
lim λ 0 d κ d λ = 12 5 1 d 1 2 d 3 sin ( φ 3 φ 1 ) + κ 0 12 d 2 d 1 cos ( φ 2 φ 1 ) + 6 .
We choose the parameters of the curve so that the second term in Equation (11) becomes 0. This happens when:
d 2 d 1 = 1 2 cos ( φ 2 φ 1 ) .
The curvature κ 0 from Equation (10) and its derivative κ 0 in P 0 from Equation (11) then become:
(13a) κ 0 = 4 10 tan ( φ 2 φ 1 ) d 1 , (13b) κ 0 = 12 5 d 3 sin ( φ 3 φ 1 ) d 1 2 .
The purpose of introducing notations for d i and φ i and deriving expressions for κ 0 and κ 0 is to make the process of path construction as efficient and intuitive as possible. This also takes into account that the path ultimately consists of several Bézier curves. Thus, the parameters needed to generate a 5th order Bézier curve are P 0 , P 5 , φ 1 , φ 5 , κ 0 , κ 5 , d 1 , d 5 , and κ 0 . However, how would one set the value of κ 0 ? It could be simply set to zero, but perhaps it is also useful to examine Equation (1c) and choose such a value for κ 0 that the value of the radial component (in P 0 ) of the jerk vector is zero.
A 5th order Bézier curve is therefore constructed in the following steps (Figure 2):
(1)
Outline the first control point and mark it as P 0 . In the direction of φ 1 , measure out the distance d 1 and mark the second point as P 1 .
(2)
In the direction φ 1 , measure out the distance d 2 | | (from Equation (12)):
d 2 | | = d 2 cos ( φ 2 φ 1 ) = 1 2 d 1 .
(3)
Measure in the perpendicular direction the distance d 2 (from Equation (10)):
d 2 = 5 4 d 1 2 κ 0 .
and mark the third point as P 2 .
(4)
All points away from P 2 for d 3 (Equation (11)) in the same direction (perpendicular to the line segment P 0 P 1 ¯ ) lie on the red dashed line.
d 3 = 5 12 d 1 2 κ 0 .
(5)
Mark the last point as P 5 . Measure out the distance d 5 in the opposite direction from φ 5 and mark the fifth point as P 4 .
(6)
All points away from P 4 for d 4 (Equations (9a), (9b) and (10) for i = 4 ) in the same direction (perpendicular to the line segment P 4 P 5 ¯ ) lie on the green dashed line:
d 4 = 5 4 d 5 2 κ 5 .
(7)
The fourth control point P 3 lies on the intersection of the red and green dashed lines. The Bézier curve is now completely defined.

6. Generation of Minimum-Time Trajectories

We have shown the use of the proposed trajectory planning algorithm in two environments. On a racetrack, the focus was on demonstrating path construction and ensuring that it is within the corridor boundaries. In a warehouse, we demonstrated the benefits of our proposed methods in a real-world application. All simulations were performed using the Matlab programming environment on a computer with an Intel(R) Core(TM) i7-8700 CPU 3.2 GHz processor with 16 GB RAM memory.
A minimum-time trajectory is computed by applying an algorithm that generates a minimum-time velocity profile (proposed in Ref. [5]) to Bézier curve splines. The algorithm, which considers velocity, acceleration, and jerk constraints along a given path, consists of two steps. In the first step of the algorithm, the velocity and acceleration constraints are considered. In the second step, the algorithm modifies the original velocity profile to include the jerk constraints, with the process varying depending on the type of violation (single-point or interval jerk violations). The simulation methodology for computing the minimum-time velocity profile, described in detail in Ref. [5], can essentially be described as solving the presented ordinary differential equation with a given initial value. In our own implementation, numerical methods (Euler’s method and trapezoidal integration) were used to calculate the required values in the discrete time samples.
We then used a nonlinear gradient optimization method, an optimization routine built into Matlab, to change the construction parameters of the Bézier curves. Using this method, we found a solution where the travel time reached a minimum. Since the simulated environments were static and free of obstacles, we divided the environments into several individual sections. This was done primarily to reduce the number of optimization parameters and consequently speed up the minimization process.

6.1. Racetrack Environment

The model of a racetrack that we used in our simulations is shown in Figure 3. It is defined by the centerline. The left and right edges of the racetrack are at a distance w / 2 from the centerline and represent the corridor boundaries. The shape of the racetrack can in general be arbitrary complex and is therefore divided into segments. This is done by analyzing the curvature of the centerline. Points where the curvature reaches local extrema are denoted by the sequence C i , i { 1 , , N parts + 1 } where N parts is the number of segments. Then perpendicular lines to the centerline are drawn in C i . These lines represent the edges of individual segments. The first and last control points of the Bézier curves lie somewhere on the segment edges. For simplicity, we represent the positions of P 0 i and P 5 i , i { 1 , , N parts } , by the parameter p 1 , 1 . The sign of p indicates whether the control point lies somewhere between the centerline and the right (+) or left (−) edge of the racetrack.
Thus, each curve in a segment is completely defined by the positions, angles, and curvatures in the first and last control points ( p 0 , φ 1 , κ 0 , p 5 , φ 5 , κ 5 ), d 1 , and d 5 . Note that the angles are measured from a tangent to the centerline in C i (Figure 4). To find a reasonable starting point for the optimization, we devised a simple heuristics. In each segment, a line is drawn from P 0 i through the outermost edge of the inner side of the corridor at the end of the ( i + 1 ) th segment. The intersection of lines and m i is the initial estimate for the position p 5 , init i of the last control point P 5 i . If the intersection point is outside the corridor (as in Figure 5), p 5 , init i is set to its edge. The initial estimate for the angle φ 5 , init i is the angle between the line and the line perpendicular to m i + 1 , while κ 5 , init i is the curvature of the centerline in C i + 1 . The values of d 1 i and d 5 i were set to the value of a certain fraction of the distance between P 0 i and P 5 i . The heuristic procedure described is shown in Figure 5. To simplify the notation, we will from now on omit the superscript i.
We devised a series of separate simulation experiments to demonstrate the operation and efficiency of the proposed Bézier curve construction and trajectory planning algorithm.
Let N free denote the number of optimization parameters on each corridor segment. It is expected that the higher the number of (free) curve construction parameters N free , the more versatile a curve is. Thus a better solution can be provided. However, in this way the optimization problem becomes more computationally expensive and the solution more difficult to obtain due to the complex form of the objective function.
Another problem is the gradual generation of the final trajectory. A Bézier curve can be constructed for each segment separately and have the criterion assigned to it. Alternatively, multiple Bézier curves spanning several segments can be constructed together, and the objective is the travel time along all of them. Then only the solution on the first segment is kept and this procedure is repeated in a receding horizon manner. Let us denote by N seg the number of segments that are treated simultaneously. If only a one-segment optimization is performed ( N seg = 1 ), the solution does not take into account the corridor shape in the following segment, e.g., when a sharp turn follows. On the other extreme, the complete curve (on all corridor segments) can be generated in each run of the optimization, but since the dimension of the optimization problem is the product of the construction parameters, namely N free × N seg , it is reasonable not to exaggerate the two values and to find a sensible compromise.
Simulations were performed for N free { 2 , 5 } and N seg { 1 , 2 , 3 } . Therefore, in one group of experiments, the two optimization parameters are d 1 and d 5 , while the other three necessary parameters for curve construction ( p 5 , φ 5 , and κ 5 ) are given by the heuristics discussed above and shown in Figure 5. In the other set of simulations, there are five optimization parameters, namely d 1 , d 5 , p 5 , φ 5 , and κ 5 . Certainly, both simulation scenarios also include cases with different N seg . The data obtained from the simulation experiments are compiled in Table 1, where t i represents the travel time at the end of a given corridor segment and i = 1 6 t i is the total travel time on a resulting path.
Figure 6, Figure 7, Figure 8, Figure 9, Figure 10 and Figure 11 show the resulting paths in the racetrack and the corresponding velocity profiles. We imposed the following constraints: v MAX = 1.75 m/s (represented by the dashed horizontal lines), a R MAX = 1.6 m/s 2 , a T MAX = 0.8 m/s 2 , j R MAX = 16 m/s 3 , j T MAX = 12 m/s 3 .
As expected, the results in Table 1 show that the travel times decrease when either N seg or N free increases. The shortest travel time is calculated for the case where N seg = 3 and N free = 5.

6.2. Warehouse Environment

The enormous technological capabilities of automated guided vehicles (AGVs) and other autonomous mobile robots (AMRs) are facilitating the launch of fully automated warehouses. Common warehouse tasks performed by mobile robots include loading and unloading goods, stacking and retrieving items, picking and sorting orders, inventory tracking, and warehouse maintenance.
We tested the proposed trajectory planning algorithm in a simple warehouse environment by simulating the task of moving between three rows of storage racks, picking up and dropping off loads from specific locations (Figure 12). Warehouses are usually very confined environments, so we assumed that movement in the two aisles is restricted to a straight line. To avoid collisions of AGVs with storage racks, the straight segments on both sides protrude slightly beyond the edges (black solid dots in Figure 13). The optimization problem is to find the most suitable path shape between the aisles.
The simulation experiment was designed as follows. An AGV travels clockwise along a circular route from the pick-up point (PUP) to the drop-off point (DOP) and back to the starting point. At the pick-up and drop-off points, the speed is set to zero. As the load is delicate, the dynamic constraints on the mobile system are more severe in the first part of the path, as shown in Table 2.
We proposed that the continuous curvature path between a pick-up point and a drop-off point (and vice versa) consists of two straight lines and two 5th order Bézier curves. The coordinates of the control points were determined by an optimization process that minimizes travel time. Since the velocity is set to zero at the symmetrically placed drop-off point A , the optimizations can be performed only on one half of the circular route (thus on four segments instead of eight). The free optimization parameters for the construction of the Bézier curves were d 1 and d 5 (Section 5.1 for a full explanation) and the x coordinate of the joint between them, which is P 5 of the first Bézier curve and P 0 of the second Bézier curve.
First, we computed the minimum-time trajectories for symmetrically placed pair of pick-up and drop-off point (A and A ). Let us denote the path representing the full-load optimization solution for the symmetrically placed pair A and A by F . Similarly, let N be the path representing the no-load optimization solution for the symmetrically placed pair A and A (Figure 13).
We then conducted a comparative travel time analysis. The main question was whether travel times differ in cases where a fully loaded/unloaded AGV travels along a path that is not optimized for a load of the same type. Normally, AGVs in warehouses travel along predefined trajectories. So with the simulation experiment, we wanted to test whether it is possible to reduce travel time if each curve segment is optimized for the actual load being carried. We also included examples with different ratios of travel times (or path lengths) of fully loaded or unloaded mobile systems by adding drop points B and C. Essentially, we calculated travel times for the three pick-up and drop-off pairs where the AGV was fully loaded on the first part (PUP→DOP) and unloaded on the second part (DOP→PUP) of the circular path, but traveling on either F or N . The travel times are given in Table 3, where the subscripts indicate the load type of the AGV. By μ , we denote the relative increase (in percent) in travel time in a given route case scenario compared to the travel time when the AGV travels on a path optimized for a load of the same type (the last three rows in Table 3).
The results in Table 3 show that the travel time is indeed the shortest when the mobile system travels along the route optimized for the actual load (PUP→DOP: F F , and DOP→PUP: N N ). Moreover, it can be seen that when the default path is F (rows 4–6 in Table 3), the corresponding travel times are always shorter than in the case when the default path is N (rows 1–3 in Table 3). However, generally, the travel times are not radically different and this observation is not entirely unexpected. We could achieve more obvious travel time differences if we increased the ratio of fully loaded to unloaded constraint values (see Table 2) or chose a more complex arrangement of pick-up and drop-off points spanning multiple rows of storage racks. Nevertheless, the selected values for velocity, acceleration, and jerk constraints (and the ratio between the two load types) should reflect reality. Additionally, the examples presented can be viewed as the smallest units for which this analysis can be performed. These subtle differences in travel times (approximately 1% reduction) imply significant absolute time differences when the presented trajectories are combined into larger trajectories. Or if one considers that a warehouse robot would traverse the same trajectories over and over again during its entire operation.
Figure 14 shows the velocity profiles for all three pairs of pick-up and drop-off points for the case where F F is on the first part and N N is on the second part of the circular route.

7. Conclusions

In this paper, we present a new minimum-time optimization-based approach for planning the trajectory of a mobile robot in a planar constrained environment. We assumed that a mobile system has constraints on velocity, acceleration, and jerk. The resulting smooth path consists of 5th order Bézier curves, for whose construction we propose a new method that allows efficient parameterization.
We analyzed the results of the proposed approach for generating trajectories in a simulated automated warehouse. Different sets of dynamic constraints led to different solutions for trajectories. We have shown that it is possible to achieve noticeable improvements in travel times by choosing the appropriate trajectories. The approach is applicable for trajectory and velocity planning of a single wheeled robot, but could be extended for the use of multiple robots to take into account evasive maneuvers or cooperation on a given task. It can also be used by various other mobile systems moving in a plane (e.g., track robots, robotic manipulators), especially non-holonomic systems.
Our findings may be especially useful and have great potential for determining minimum-time trajectories in automated warehouses, where the dynamic constraints imposed on autonomous mobile robots may depend on the type of load the mobile system is transporting. Our approach could also be applied to other planar environments with similar requirements.
The values of the constraints in the warehouse environment were conservatively estimated to ensure the vertical stability of a mobile system. However, the stability of the system (mobile robot with load) itself was not the subject of our research. Future studies should aim to describe the characteristics of the load in more detail, as this could impose additional or more demanding constraints on a mobile system. For a specific mobile system with known load characteristics (mass, mass distribution, dimensions, contact area conditions) it would be possible to calculate the tipping angle and consequently determine the allowable accelerations. The use of higher order Bézier curves or other curve primitives would also be of particular interest. More broadly, research is needed to apply the proposed trajectory planning approach to environments with static or dynamic obstacles to demonstrate the proposed idea using global or local path planning methods.

Author Contributions

Conceptualization and methodology, M.B.L., G.K. and S.B.; software, M.B.L.; writing—original draft preparation, M.B.L.; writing—review and editing, M.B.L., G.K. and S.B. All authors have read and agreed to the published version of the manuscript.

Funding

This work was funded by the Slovenian Research Agency under Grants P2-0219 and L2-3168.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Gasparetto, A.; Boscariol, P.; Lanzutti, A.; Vidoni, R. Path Planning and Trajectory Planning Algorithms: A General Overview. In Motion and Operation Planning of Robotic Systems: Background and Practical Approaches; Carbone, G., Gomez-Bravo, F., Eds.; Springer International Publishing: Cham, Switzerland, 2015; pp. 3–27. [Google Scholar] [CrossRef]
  2. Tharwat, A.; Elhoseny, M.; Hassanien, A.E.; Gabel, T.; Kumar, A. Intelligent Bézier curve-based path planning model using Chaotic Particle Swarm Optimization algorithm. Clust. Comput. 2019, 22, 4745–4766. [Google Scholar] [CrossRef]
  3. Zhang, H.; Yang, S. Smooth path and velocity planning under 3D path constraints for car-like vehicles. Robot. Auton. Syst. 2018, 107, 87–99. [Google Scholar] [CrossRef]
  4. Tsirlin, M. Jerk by axes in motion along a space curve. J. Theor. Appl. Mech. 2017, 55, 1437–1441. [Google Scholar] [CrossRef]
  5. Benko Loknar, M.; Blažič, S.; Klančar, G. Minimum-time velocity profile planning for planar motion considering velocity, acceleration and jerk constraints. Int. J. Control. 2023, 96, 251–265. [Google Scholar] [CrossRef]
  6. Zdešar, A.; Škrjanc, I. Optimum Velocity Profile of Multiple Bernstein-Bézier Curves Subject to Constraints for Mobile Robots. ACM Trans. Intell. Syst. Technol. 2018, 9, 1–23. [Google Scholar] [CrossRef]
  7. Consolini, L.; Locatelli, M.; Minari, A.; Nagy, A.; Vajk, I. Optimal Time-Complexity Speed Planning for Robot Manipulators. IEEE Trans. Robot. 2019, 35, 790–797. [Google Scholar] [CrossRef]
  8. Lima, P.F.; Trincavelli, M.; Martensson, J.; Wahlberg, B. Clothoid-Based Speed Profiler and Control for Autonomous Driving. In Proceedings of the 2015 IEEE 18th International Conference on Intelligent Transportation Systems, Gran Canaria, Spain, 15–18 September 2015; pp. 2194–2199. [Google Scholar] [CrossRef]
  9. Hayati, H.; Eager, D.; Pendrill, A.M.; Alberg, H. Jerk within the Context of Science and Engineering—A Systematic Review. Vibration 2020, 3, 371–409. [Google Scholar] [CrossRef]
  10. Sato, R.; Shirase, K. Analytical time constant design for jerk-limited acceleration profiles to minimize residual vibration after positioning operation in NC machine tools. Precis. Eng. 2021, 71, 47–56. [Google Scholar] [CrossRef]
  11. Ma, J.w.; Gao, S.; Yan, H.t.; Lv, Q.; Hu, G.q. A new approach to time-optimal trajectory planning with torque and jerk limits for robot. Robot. Auton. Syst. 2021, 140, 103744. [Google Scholar] [CrossRef]
  12. Rout, A.; BBVL, D.; Biswal, B.B.; Mahanta, G.B. Optimal trajectory planning of industrial robot for improving positional accuracy. Ind. Robot. Int. J. Robot. Res. Appl. 2021, 48, 71–83. [Google Scholar] [CrossRef]
  13. Palleschi, A.; Garabini, M.; Caporale, D.; Pallottino, L. Time-optimal path tracking for jerk controlled robots. IEEE Robot. Autom. Lett. 2019, 4, 3932–3939. [Google Scholar] [CrossRef]
  14. Lin, J.; Somani, N.; Hu, B.; Rickert, M.; Knoll, A. An Efficient and Time-Optimal Trajectory Generation Approach for Waypoints under Kinematic Constraints and Error Bounds. In Proceedings of the IEEE International Conference on Intelligent Robots and Systems, Madrid, Spain, 1–5 October 2018; pp. 5869–5876. [Google Scholar] [CrossRef]
  15. Pham, H.; Pham, Q.C. On the structure of the time-optimal path parameterization problem with third-order constraints. In Proceedings of the IEEE International Conference on Robotics and Automation, Singapore, 29 May–3 June 2017; pp. 679–686. [Google Scholar] [CrossRef]
  16. Consolini, L.; Locatelli, M.; Minari, A. A Sequential Algorithm for Jerk Limited Speed Planning. IEEE Trans. Autom. Sci. Eng. 2021, 19, 3192–3209. [Google Scholar] [CrossRef]
  17. Raineri, M.; Bianco, C.G.L. Jerk limited planner for real-time applications requiring variable velocity bounds. In Proceedings of the IEEE International Conference on Automation Science and Engineering, Vancouver, BC, Canada, 22–26 August 2019; pp. 1611–1617. [Google Scholar] [CrossRef]
  18. Lima, P.F.; Nilsson, M.; Trincavelli, M.; Martensson, J.; Wahlberg, B. Spatial Model Predictive Control for Smooth and Accurate Steering of an Autonomous Truck. IEEE Trans. Intell. Veh. 2017, 2, 238–250. [Google Scholar] [CrossRef]
  19. Lu, S.; Zhao, J.; Jiang, L.; Liu, H. Solving the Time-Jerk Optimal Trajectory Planning Problem of a Robot Using Augmented Lagrange Constrained Particle Swarm Optimization. Math. Probl. Eng. 2017, 2017, 1–10. [Google Scholar] [CrossRef]
  20. Zhang, H.Y.; Lin, W.M.; Chen, A.X. Path planning for the mobile robot: A review. Symmetry 2018, 10, 450. [Google Scholar] [CrossRef] [Green Version]
  21. Patle, B.K.; Babu L, G.; Pandey, A.; Parhi, D.R.; Jagadeesh, A. A review: On path planning strategies for navigation of mobile robot. Def. Technol. 2019, 15, 582–606. [Google Scholar] [CrossRef]
  22. Abdallaoui, S.; Aglzim, E.H.; Chaibet, A.; Kribèche, A. Thorough Review Analysis of Safe Control of Autonomous Vehicles: Path Planning and Navigation Techniques. Energies 2022, 15, 1358. [Google Scholar] [CrossRef]
  23. Ravankar, A.; Ravankar, A.; Kobayashi, Y.; Hoshino, Y.; Peng, C.C. Path Smoothing Techniques in Robot Navigation: State-of-the-Art, Current and Future Challenges. Sensors 2018, 18, 3170. [Google Scholar] [CrossRef]
  24. Kim, Y.; Kim, B.K. Time-Optimal Trajectory Planning Based on Dynamics for Differential-Wheeled Mobile Robots with a Geometric Corridor. IEEE Trans. Ind. Electron. 2017, 64, 5502–5512. [Google Scholar] [CrossRef]
  25. Ghazaei, M.; Robertsson, A.; Johansson, R. Online Minimum-Jerk Trajectory Generation. Proc. IMA Conf. Math. Robot. 2015. [Google Scholar]
  26. Renny Simba, K.; Uchiyama, N.; Sano, S. Real-time smooth trajectory generation for nonholonomic mobile robots using Bézier curves. Robot. Comput. Integr. Manuf. 2016, 41, 31–42. [Google Scholar] [CrossRef]
  27. Song, B.; Wang, Z.; Zou, L. An improved PSO algorithm for smooth path planning of mobile robots using continuous high-degree Bezier curve. Appl. Soft Comput. 2021, 100, 106960. [Google Scholar] [CrossRef]
  28. Kielas-Jensen, C.; Cichella, V.; Berry, T.; Kaminer, I.; Walton, C.; Pascoal, A. Bernstein Polynomial-Based Method for Solving Optimal Trajectory Generation Problems. Sensors 2022, 22, 1869. [Google Scholar] [CrossRef] [PubMed]
  29. Li, W.; Tan, M.; Wang, L.; Wang, Q. A cubic spline method combing improved particle swarm optimization for robot path planning in dynamic uncertain environment. Int. J. Adv. Robot. Syst. 2020, 17, 172988141989166. [Google Scholar] [CrossRef]
  30. Eshtehardian, S.A.; Khodaygan, S. A continuous RRT*-based path planning method for non-holonomic mobile robots using B-spline curves. J. Ambient. Intell. Humaniz. Comput. 2022. [Google Scholar] [CrossRef]
  31. Kang, C.M.; Lee, S.H.; Chung, C.C. On-Road Path Generation and Control for Waypoints Tracking. IEEE Intell. Transp. Syst. Mag. 2017, 9, 36–45. [Google Scholar] [CrossRef]
  32. Ravankar, A.; Ravankar, A.A.; Kobayashi, Y.; Emaru, T. SHP: Smooth Hypocycloidal Paths with Collision-Free and Decoupled Multi-Robot Path Planning. Int. J. Adv. Robot. Syst. 2016, 13, 133. [Google Scholar] [CrossRef]
  33. Bulut, V. Path planning for autonomous ground vehicles based on quintic trigonometric Bézier curve: Path planning based on quintic trigonometric Bézier curve. J. Braz. Soc. Mech. Sci. Eng. 2021, 43, 1–14. [Google Scholar] [CrossRef]
  34. Artunedo, A.; Villagra, J.; Godoy, J. Real-Time Motion Planning Approach for Automated Driving in Urban Environments. IEEE Access 2019, 7, 180039–180053. [Google Scholar] [CrossRef]
  35. Zhang, B.; Zhu, D. A new method on motion planning for mobile robots using jump point search and Bezier curves. Int. J. Adv. Robot. Syst. 2021, 18, 1–11. [Google Scholar] [CrossRef]
  36. Yu, L.; Wang, X.; Hou, Z.; Du, Z.; Zeng, Y.; Mu, Z. Path planning optimization for driverless vehicle in parallel parking integrating radial basis function neural network. Appl. Sci. 2021, 11, 8178. [Google Scholar] [CrossRef]
  37. Kumar, N.V.; Kumar, C.S. Development of collision free path planning algorithm for warehouse mobile robot. Procedia Comput. Sci. 2018, 133, 456–463. [Google Scholar] [CrossRef]
  38. Frego, M.; Bevilacqua, P.; Divan, S.; Zenatti, F.; Palopoli, L.; Biral, F.; Fontanelli, D. Minimum Time—Minimum Jerk Optimal Traffic Management for AGVs. IEEE Robot. Autom. Lett. 2020, 5, 5307–5314. [Google Scholar] [CrossRef]
  39. Kim, C.; Suh, J.; Han, J.H. Development of a hybrid path planning algorithm and a bio-inspired control for an omni-wheel mobile robot. Sensors 2020, 20, 4258. [Google Scholar] [CrossRef]
  40. Lee, H.; Hong, J.; Jeong, J. MARL-Based Dual Reward Model on Segmented Actions for Multiple Mobile Robots in Automated Warehouse Environment. Appl. Sci. 2022, 12, 4703. [Google Scholar] [CrossRef]
  41. Schot, S.H. Jerk: The time rate of change of acceleration. Am. J. Phys. 1978, 46, 1090–1094. [Google Scholar] [CrossRef]
  42. Lepetič, M.; Klančar, G.; Škrjanc, I.; Matko, D.; Potočnik, B. Time optimal path planning considering acceleration limits. Robot. Auton. Syst. 2003, 45, 199–210. [Google Scholar] [CrossRef]
  43. Blažič, S.; Klančar, G. Effective Parametrization of Low Order Bézier Motion Primitives for Continuous-Curvature Path-Planning Applications. Electronics 2022, 11, 1709. [Google Scholar] [CrossRef]
Figure 1. Fifth order Bernstein–Bézier curve within its convex hull (dashed lines). The curve is tangent to the sides of the convex hull, line segments P 0 P 1 ¯ and P 4 P 5 ¯ .
Figure 1. Fifth order Bernstein–Bézier curve within its convex hull (dashed lines). The curve is tangent to the sides of the convex hull, line segments P 0 P 1 ¯ and P 4 P 5 ¯ .
Sensors 23 01982 g001
Figure 2. The proposed construction of a Bézier curve that enables efficient parameterization.
Figure 2. The proposed construction of a Bézier curve that enables efficient parameterization.
Sensors 23 01982 g002
Figure 3. The racetrack model we used for the simulations. Shown are points C i on the centerline where the curvature is locally highest, and lines m i where P 1 i and P 5 i lie.
Figure 3. The racetrack model we used for the simulations. Shown are points C i on the centerline where the curvature is locally highest, and lines m i where P 1 i and P 5 i lie.
Sensors 23 01982 g003
Figure 4. A segment with a Bézier curve. φ 1 and φ 5 are measured from the line perpendicular to m i .
Figure 4. A segment with a Bézier curve. φ 1 and φ 5 are measured from the line perpendicular to m i .
Sensors 23 01982 g004
Figure 5. An example of heuristic determination of initial guesses for construction of Bézier curve(s).
Figure 5. An example of heuristic determination of initial guesses for construction of Bézier curve(s).
Sensors 23 01982 g005
Figure 6. Resulting path as optimization result for N free = 2 and N seg = 1 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Figure 6. Resulting path as optimization result for N free = 2 and N seg = 1 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Sensors 23 01982 g006
Figure 7. Resulting path as optimization result for N free = 5 and N seg = 1 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Figure 7. Resulting path as optimization result for N free = 5 and N seg = 1 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Sensors 23 01982 g007
Figure 8. Resulting path as optimization result for N free = 2 and N seg = 2 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Figure 8. Resulting path as optimization result for N free = 2 and N seg = 2 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Sensors 23 01982 g008
Figure 9. Resulting path as optimization result for N free = 5 and N seg = 2 (left) with corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Figure 9. Resulting path as optimization result for N free = 5 and N seg = 2 (left) with corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Sensors 23 01982 g009
Figure 10. Resulting path as optimization result for N free = 2 and N seg = 3 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Figure 10. Resulting path as optimization result for N free = 2 and N seg = 3 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Sensors 23 01982 g010
Figure 11. Resulting path as optimization result for N free = 5 and N seg = 3 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Figure 11. Resulting path as optimization result for N free = 5 and N seg = 3 (left) with the corresponding velocity profile (right). Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals where the jerk reaches its maximum allowable value.
Sensors 23 01982 g011
Figure 12. The warehouse floor plan with three pairs of pick-up and drop-off points: A and A , A and B, A and C.
Figure 12. The warehouse floor plan with three pairs of pick-up and drop-off points: A and A , A and B, A and C.
Sensors 23 01982 g012
Figure 13. The drawn paths F and N are the result of an optimization that minimizes travel time. The filled dots mark the points where the straight segments meet the Bézier curves.
Figure 13. The drawn paths F and N are the result of an optimization that minimizes travel time. The filled dots mark the points where the straight segments meet the Bézier curves.
Sensors 23 01982 g013
Figure 14. Velocity profiles of AGV traveling on a circular route for different placements of pick-up and drop-off points: A and A (top), A and B (middle), A and C (bottom). The graphs show the results for PUP→DOP: F F , and DOP→PUP: N N . Dashed horizontal lines represent the velocity limit values. Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals when the jerk reaches its maximum allowable values.
Figure 14. Velocity profiles of AGV traveling on a circular route for different placements of pick-up and drop-off points: A and A (top), A and B (middle), A and C (bottom). The graphs show the results for PUP→DOP: F F , and DOP→PUP: N N . Dashed horizontal lines represent the velocity limit values. Blue vertical bands indicate intervals where the acceleration reaches its maximum allowable values. Similarly, red vertical bands indicate intervals when the jerk reaches its maximum allowable values.
Sensors 23 01982 g014
Table 1. Resulting travel times on segments and total travel times. Simulations were performed for different numbers of optimization parameters N free { 2 , 5 } , and different numbers of segments N seg { 1 , 2 , 3 } , whose geometry was taken into account when calculating the solution for the current segment.
Table 1. Resulting travel times on segments and total travel times. Simulations were performed for different numbers of optimization parameters N free { 2 , 5 } , and different numbers of segments N seg { 1 , 2 , 3 } , whose geometry was taken into account when calculating the solution for the current segment.
N seg N free t 1 t 2 t 3 t 4 t 5 i = 1 6 t i
[s][s][s][s][s][s]
122.914.207.189.7311.2412.11
52.342.875.447.899.4210.20
222.874.157.149.6911.1912.03
52.342.885.547.909.279.66
222.894.167.139.6811.2212.07
52.342.905.527.688.879.17
Table 2. Constraints on velocity, acceleration, and jerk for a fully loaded (✓) and an unloaded (×) mobile system.
Table 2. Constraints on velocity, acceleration, and jerk for a fully loaded (✓) and an unloaded (×) mobile system.
Load v MAX a R MAX a T MAX j R MAX j T MAX
[m/s][m/s 2 ][m/s 2 ][m/s 3 ][m/s 3 ]
1.02.01.04.04.0
×2.254.02.01616
Table 3. Travel times of the AGV on a circular route for different placements of pick-up (PUP) and drop-off points (DOP). For the symmetrically placed pair A A , F and N denote the paths representing the optimization solutions full-load and no-load, respectively. Similarly, the indices F and N denote the type of load on the AGV. We write μ for the increase in travel time according to the last three rows, expressed as a percentage.
Table 3. Travel times of the AGV on a circular route for different placements of pick-up (PUP) and drop-off points (DOP). For the symmetrically placed pair A A , F and N denote the paths representing the optimization solutions full-load and no-load, respectively. Similarly, the indices F and N denote the type of load on the AGV. We write μ for the increase in travel time according to the last three rows, expressed as a percentage.
Circular Route CasePick Up
Point
Drop off
Point
Travel
Time
μ
PUP → DOPDOP → PUP(PUP)(DOP) [ s ] [%]
N F N N A A 20.741.49
AB19.081.62
AC22.401.38
F F F N A A 20.651.04
AB18.991.13
AC22.250.66
F F N N A A 20.440
AB18.780
AC22.100
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Benko Loknar, M.; Klančar, G.; Blažič, S. Minimum-Time Trajectory Generation for Wheeled Mobile Systems Using Bézier Curves with Constraints on Velocity, Acceleration and Jerk. Sensors 2023, 23, 1982. https://0-doi-org.brum.beds.ac.uk/10.3390/s23041982

AMA Style

Benko Loknar M, Klančar G, Blažič S. Minimum-Time Trajectory Generation for Wheeled Mobile Systems Using Bézier Curves with Constraints on Velocity, Acceleration and Jerk. Sensors. 2023; 23(4):1982. https://0-doi-org.brum.beds.ac.uk/10.3390/s23041982

Chicago/Turabian Style

Benko Loknar, Martina, Gregor Klančar, and Sašo Blažič. 2023. "Minimum-Time Trajectory Generation for Wheeled Mobile Systems Using Bézier Curves with Constraints on Velocity, Acceleration and Jerk" Sensors 23, no. 4: 1982. https://0-doi-org.brum.beds.ac.uk/10.3390/s23041982

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop