2.3 Design of the system architecture
2.3.1 Way-point trajectory generation
Point-to-point motions play a crucial role in various mechatronic applications such as machine tools, CNCs, and robots, where high speed and smooth motion are essential. The objective is to determine a trajectory profile that consists of position, velocity, acceleration, jerk, and other parameters at each timestamp. This profile enables the robot to accurately navigate through all the specified way-points ill the correct order. However, it is equally important to ensure that the trajectory profile satisfies certain conditions:
(i) While operating at high speeds, the velocity, acceleration, and jerk must adhere to the limitations of the robot. This constraint helps reduce wear and tear, prolonging the life of the machine and its tools.
(ii) To minimize tracking errors and prevent jerky motions that could lead to a lack of trust from human collaborators, the trajectory profile must exhibit continuous derivatives, particularly in acceleration and jerk. This ensures smooth and seamless movements throughout the path of the robot.
(iii) The trajectory computation process needs to be simple and efficient to facilitate real
time execution. This requirement allows for on-the-fiy trajectory generation, enabling the robot to quickly adapt to dynamic changes ill its environment.
There are several methods that have been proposed to address all of the requirements of this point-to-point motion generation task. For example, in [HWR08] a trapezoidal velocity profile, also known as Linear Segments with Parabolic Blends (LSPB) was proposed to minimize motion time while respecting the maximum actuator accelerations. However, this method is not suitable for our application as it results in abrupt changes in acceleration, leading to discomfort and roughness in velocity. Another approach is the S-curve velocity profile based on third-order polynomial trajectory planning [HMH09]. By generating continuous acceleration profiles that respect jerk limitations, this method achieves smoother velocity profiles with higher accuracy. A notable contribution in this field is the Reflexxes libraries developed by T.
Kroeger [KW10], which provide algorithms for deterministic and instantaneous computation of motion trajectories.
In our work, we have implemented an exponential function-based trajectory generation method [RIS13]. This approach offers several advantages over the aforementioned methods.
It provides a smoother approximation of the trapezoidal velocity profile, ensuring continuity up to the third derivative (jerk). As a result, the intermediate points of the trajectory can be tracked more accurately compared to other methods. Additionally, the exponential function takes into account the limitations of the velocity, acceleration, and jerk, guaranteeing safety and prolonging the lifespan of the actuators. Moreover, this method offers reduced compu
tational effort due to its simpler formulation, and the calculation of the exponential function can be performed offline, requiring only one-time computation.
According to [RIS13] a third order exponential function
/(t) = umax (1 - exp (-Ỉ?)) , (2.1)
with u as a one-dimensional time-scaling factor
u = at, (2.2)
is used as the velocity profile. The first and second derivative of (2.1) are then the represen
tations of the acceleration and jerk profiles respectively
f(i) = 3acraaxii2e-“3 (2.3)
f(t) - <A’max(6u - 9u4)e "' (2.4) The exponential function exhibits a crucial characteristic that makes it suitable for generat
ing smooth velocity, acceleration, and jerk profiles. Its smooth shape allows it to maintain the same exponential form through differentiation, resulting ill continuous and smooth profiles, as depicted in Fig. 2.2. The steepness of the exponential function is determined by the tuning factor a. A higher value of a leads to greater acceleration generated by the function. Con- scqucntly, the selection of this tuning factor is essential and should be appropriately chosen to meet the specific requirements of the application, as further discussed later in this work.
These profiles guarantee the smoothness of the robot motion which is the reason why it is chosen as the trajectory generation method for our point-to-point motion.
Figure 2.2: Exponential characteristics of the velocity f(u) on the left, acceleration f(u) in the middle and jerk Ku) on the right
The next problem is how to bound the maximum values of the velocity, acceleration and jerk within the given thresholds. The maximum velocity can be set with Umax hl Eq. (2.1).
For the maximum velocity and jerk, they are defined by analyzing the maximum points of the functions in Eq. (2.3) and (2.4). They occur at
0.8736
a (2.5)
(2.6) where and are the times at which the maximum acceleration and jerk happens respectively. Substituting these values into Eq. (2.3), (2.4) we found
|®max| — |o.3918vmaxct|
Ijmaxl - |o.7652umaxa2|
(2.7)
(2.8) where Umax and jniax represent the maximum values of acceleration and jerk respectively.
Thus, given the actuator velocity, acceleration and jerk limits, we can find the maximum value of a that allows the fastest possible motion within the limits, as follow
2.3 Design of the system architecture
(2.9) with A = 1.1754 and ự = 2.1524, regarding the maximum velocity Umax, acceleration Umax and J®k .7max'
Figure 2.3: Velocity, acceleration and jerk for one point-to-point motion
Note that the expression presented in Eq. (2.1) and illustrated in Fig. 2.2a only shows the increment part of the velocity profile. To complete the trapezoidal velocity profile between two points with a given time interval Td, two of the velocity profile defined in Eq. (2.1) arc used in sequence
v(t) = f(t)-f(t-Td)-H(t-Td). (2.10)
with H(x) is a Heaviside function, defined as
H(x} = for r < 0
for X > 0 , (2.11)
The complete velocity, acceleration and jerk profiles for one point-to-point motion are il
lustrated in Fig. 2.3. Finally, in order to generate a trajectory via several points, the velocity profile of the next step overlaps with the profile of the current step to keep the velocity always lion-zero until the motion is finished.