1. Introduction
In industrial scenarios, motion along a specified Cartesian path is one of the most common tasks performed by robots. To minimize the cycle time, the robot trajectory must be executed at the highest feasible speed. For time-optimal path planning, the objective is to enable the robot to move as fast as possible without violating any constraints. To achieve this, accurately evaluating the maximum reachable velocity of the end-effector in any direction at each configuration is essential [Reference Ardeshiri, Norrlöf, Löfberg and Hansson1]. It also helps in finding the best joint configuration and velocity during task execution, solving for the optimal task deployment strategy, and enhancing the robot’s operational flexibility within its workspace [Reference Marais, Williams and Pizarro2, Reference Liu, Guo, Zou and Duffy3]. For example, in multi-robot collaborative tasks, the motion velocities of multiple robots must be coordinated to ensure the successful completion of the task. In a teleoperated robotic system, the slave robot must synchronize its motion speed with the master device to ensure good coordination and compliance.
Evaluation methods and indices of robot velocity performance are effective approaches for assessing the reachable velocity of robots. Klein et al. [Reference Klein and Blaho4]. found that the minimum singular value of the Jacobian matrix undergoes more drastic changes near singular configurations compared to other singular values. This trend suggests that the minimum singular value can be used as a metric to evaluate robot velocity performance. Salisbury et al. [Reference Salisbury and Craig5] defined the product of the norm of the Jacobian matrix and the norm of its inverse as the Condition Number, which is used to measure the robot’s dexterous motion capability. However, these metrics only reflect the robot’s behavior near singular configurations, and there is no explicit mapping between the results and the robot’s actual reachable velocity. Dubey et al. [Reference Dubey and Luh6] proposed measuring a robot’s ability to move in a given direction by the ratio of the end-effector velocity vector norm to the joint velocity vector norm. However, these indices are based on the Jacobian matrix and do not consider the robot’s actual kinematic constraints. Considering actual joint velocity constraints, the ratio of the minimum to the maximum value of the robot’s maximum reachable velocity in any direction within its workspace is defined as the Isotropy Index. However, the computed values of the above indices do not have practical physical significance.
Yoshikawa [Reference Yoshikawa7] introduced the concept of manipulability to evaluate a robot’s operational capability. Building on this, Yoshikawa [Reference Yoshikawa8] further proposed the concept of the velocity ellipsoid, dividing it into the translational velocity ellipsoid and rotational velocity ellipsoid to separately assess a robot’s reachable translational and rotational velocities. Since the velocity ellipsoid constraints joint velocities using the Euclidean norm, its calculation only provides an approximation of the robot’s actual reachable velocity. When controlling a robot to perform tasks at a specified velocity in a given direction, these performance indices cannot be used as reliable references to ensure task success.
The velocity polytope maps the actual joint velocity constraints into the workspace through the Jacobian matrix, representing the robot’s reachable velocity in any direction, and its calculation is more accurate [Reference Lee9–Reference Lee13]. However, the velocity polytope is difficult to apply due to geometric dimensionality limitations when the motion direction exceeds three dimensions. Moreover, the maximum feasible velocity of a robot along a prescribed path depends not only on the joint velocity limits, but also on the available joint accelerations and actuator torque capabilities at the current state [Reference Pham and Pham14, Reference Bowling and Khatib15]. In the case of separating translation and rotation, the vector expansion method [Reference Pholsiri, Kapoor and Tesar16] and the kinematic directional index [Reference Boschetti17–Reference Boschetti, Rosa and Trevisani19] can effectively evaluate the maximum velocity of the robot in a specified direction. Since rotational and translational velocities have inconsistent physical units, these methods cannot evaluate the maximum velocity in coupled translational and rotational directions. Moreover, when evaluating the maximum translational (rotational) velocity, it is impossible to maintain control over the rotational (translational) velocity. Additionally, the kinematic directional index cannot be applied to both nonredundant and redundant robots. To overcome the issue of physical unit inconsistency, Mansour et al. [Reference Mansouri and Ouali20, Reference Mansouri and Ouali21] proposed the power index, which unifies the measurement of rotational and translational motion performance to evaluate a robot’s motion capability. However, the power index does not have a clear correlation with the reachable velocity requirements of actual tasks. Stradovnik [Reference Stradovnik and Hace22] introduced the decomposed twist feasibility (DTF) method to solve for the maximum reachable velocity of nonredundant serial robots in a specified direction. This method is not applicable for solving the maximum velocity in redundant cases.
Therefore, in this paper, to evaluate the maximum achievable velocity of a serial robot’s end-effector in a specific joint configuration and a designated direction, that is, the oriented maximum reachable velocity, we propose a novel method based on the decomposition of translational and rotational motions.This method accurately assesses the oriented maximum velocity of both nonredundant and redundant serial robots in specified coupled translational and rotational directions. The approach decomposes the translational and rotational motions, then solves for the corresponding joint velocities and combines them to obtain the oriented maximum velocity of the serial robot, subject to joint velocity constraints. Since this method essentially converts each dimension of the robot’s motion in the specified direction into a constraint, it can be applied to cases with varying motion dimensionality. More importantly, the linear-programming formulation establishes a flexible framework for future extensions, in which additional physical constraints, such as joint acceleration and actuator torque limits, may be incorporated into the feasible set. Experimental results based on the nonredundant UR5e robot and the redundant Sawyer robot demonstrate the accuracy of the proposed method.
The remainder of this paper is structured as follows: In Section 2, we analyze the limitations of the traditional method for evaluating the oriented maximum velocity of serial robots, namely, the DTF method. In Section 3, we propose an evaluation method based on the decomposition of translational and rotational motions. In Section 4, we design comparative experiments to verify the accuracy of the proposed method. Finally, conclusions are presented in Section 5.
2. Related works
2.1. Inverse kinematics (IK) for redundant manipulators
The main methods for solving the inverse kinematics problem of redundant robots can be broadly classified into three categories: joint-velocity-based methods, joint-position-based methods, and AI-based methods [Reference Hassan, El-Habrouk and Deghedie23]. Among them, the most representative velocity-based method is the gradient projection method. Colomé [Reference Colomé and Torras24] provided a detailed overview of research on the gradient projection method, such as minimizing joint-torque energy [Reference Zhao, Yang, Zhao and Liu25] and enhancing dexterity [Reference Patel and Sobh26], including joint-torque energy minimization and dexterity enhancement. JongHo Kim [Reference Kim, Shin and Jang27] reformulated redundant inverse kinematics as a gradient-based constrained optimization problem, numerically solved using sequential quadratic programming. AI-based methods establish the pose-to-joint mapping relationship through offline training, which can effectively avoid the computational burden of real-time calculation. However, their performance is limited by sample dependency and model generalization capability.
2.2. Decomposition of oriented maximum velocity
In serial robots, the relationship between the robot’s joint velocity and workspace velocity can be expressed as:
where
$\dot{\theta }\in \mathbb{R}^{n\times 1}$
is the joint velocity vector, n is the number of joints, and
${\, \dot{\kern-2pt X}}\in \mathbb{R}^{m\times 1}$
is an m-dimensional column vector composed of the translational velocity
${\, \dot{\kern-2pt x}}_{T}$
and the rotational velocity
${\, \dot{\kern-2pt x}}_{R}$
of the robot’s end effector. The value of m depends on the degrees of freedom of the robot’s end-effector workspace.
$J\in \mathbb{R}^{m\times n}$
is the Jacobian matrix composed of the translational Jacobian
$J_{T}$
and the rotational Jacobian
$J_{R}$
. Without loss of generality, we assume that the robot’s end-effector workspace is 6-dimensional, i.e., m = 6, in the following discussions.
The robot’s joint velocity vector is constrained by the maximum velocity of each joint, expressed by the infinity norm:
The joint velocity vector of the robot can be described as the sum of the joint velocity vector that generates only translational velocity
$\dot{\theta }_{T}$
in the workspace and the joint velocity vector that generates only rotational velocity
$\dot{\theta }_{R}$
in the workspace, as shown in
The translational-only joint velocity vector satisfies:
Similarly, the rotational-only joint velocity vector satisfies:
2.3. Solving maximum velocity using the DTF method
After the velocity decomposition in Eq. (3), the DTF method is the current method used to solve for the maximum velocity. This method maps the end-effector velocity to the joint velocity using the generalized inverse matrix and expresses the joint velocity vector under the constraints of each joint’s maximum velocity in the form of the infinity norm.
The translation velocity
$\dot{\hat{x}}_{T}$
under the condition of zero rotational velocity is:
where
${J}_{R}^{+}\in \mathbb{R}^{n\times 3}$
is the pseudo Moore–Penrose inverse of the rotational Jacobian matrix
$J_{R}$
, and
${\, \tilde{\kern-2pt J}}_{T}$
represents the augmented translational Jacobian matrix under the zero rotational velocity constraint,
$I_{n}$
is the n-dimensional identity matrix.
Similarly, the rotational velocity
$\dot{\hat{x}}_{R}$
under the condition of zero translational velocity is:
where
${J}_{T}^{+}\in \mathbb{R}^{n\times 3}$
is the pseudo Moore–Penrose inverse of the translational Jacobian matrix
$J_{T}$
, and
${\,\, \tilde{\kern-2pt J}}_{R}$
represents the augmented rotational Jacobian matrix under the zero translational velocity constraint.
From (6) and (7), (3) can be transformed into:
where
${{\, \tilde{\kern-2pt J}}}_{T}^{+}$
is the pseudo Moore–Penrose inverse of the augmented translational Jacobian matrix
${\, \tilde{\kern-2pt J}}_{T}$
considering the constraint of zero rotational velocity, and
${{\, \tilde{\kern-2pt J}}}_{R}^{+}$
is the pseudo Moore–Penrose inverse of the augmented rotational Jacobian matrix
${\, \tilde{\kern-2pt J}}_{R}$
considering the constraint of zero translational velocity.
For a redundant manipulator, the solution consists of a particular solution plus a null-space component:
The joint velocities that produce only end-effector translational motion
$\dot{\theta }_{T}$
and only end-effector rotational motion
$\dot{\theta }_{R}$
are expressed as follows:
Here,
${\widetilde{J_{T}}^{+}}{\, \dot{\kern-2pt x}}_{T}$
and
${\widetilde{J_{R}}^{+}}{\, \dot{\kern-2pt x}}_{R}$
represent the particular solutions for pure translation and pure rotation, respectively.
$n\in \text{Null}(J)$
denotes the null-space solution vector, and
$\alpha$
and
$\beta$
represent the contributions of the null-space vectors in the translational and rotational directions, respectively. The sum of these contributions is constrained by the joint velocity limits (Eq. 2)
Therefore, Eq. (8) in the case of redundancy is expressed as follows:
Because the DTF method does not address the null-space issue under redundancy, in our subsequent experiments—when computing in MATLAB—the solver effectively considered only the particular solutions, i.e.,
${\,\hat{\kern-2pt J}}_{T}^{+}\dot{\mathbf{x}}_{T}$
and
${\,\hat{\kern-2pt J}}_{R}^{+}\dot{\mathbf{x}}_{R}$
. For the null-space components in (10) and (11), it implicitly set the null-space term to zero during the solution process. This approach yields the minimum
$\ell_{2}$
-norm solution; it only guarantees, for the current configuration, minimal effort (or joint activity) when moving along the prescribed target direction, and does not necessarily maximize the velocity along that direction.
After discussing the handling of the DTF method in both nonredundant and redundant cases, it is clear that DTF is only applicable to nonredundant cases. Therefore, the following discussion will focus on the nonredundant case.
Let
$h\in \mathbb{R}$
denote the relative ratio between the magnitudes of the end-effector’s translational and rotational velocities:
Then, the translation velocity vector
$\dot{\hat{x}}_{T}$
and the rotational velocity vector
$\dot{\hat{x}}_{R}$
of the end-effector can be expressed as:
where
$\tilde{v}$
is the magnitude of the translational velocity and
$\tilde{\omega }$
is the magnitude of the rotational velocity,
$u_{T},u_{R}\in \mathbb{R}^{3\times 1}$
are the directional vectors of translational velocity and rotational velocity in the workspace, respectively.
Substituting Eqs. (8), (20), (21), (22) into the constraints of Eq. (2) yields:
Thus, the maximum translational velocity
$\tilde{v}_{\max }$
and the maximum rotational velocity
$\tilde{\omega }_{\max }$
can be expressed as:
\begin{align} \tilde{v}_{\max} &= \big\| {\, \tilde{\kern-2pt J}}_{T}^+ u_T + h^{-1} {\, \tilde{\kern-2pt J}}_{R}^+ u_R \big\| _{\infty}^{-1} \nonumber \\[2pt] \tilde{\omega}_{\max} &= \big\|h \,{\, \tilde{\kern-2pt J}}_{T}^+ u_T + {\, \tilde{\kern-2pt J}}_{R}^+ u_R \big\|_{\infty}^{-1} \\[-10pt] \nonumber \end{align}
Therefore, given the motion parameters
$(u_{T}, u_{R}, h)$
and joint velocity constraints, the maximum velocity in the specified direction at a target configuration can be approximately determined.
However, the DTF method has the following limitations:
-
• The DTF method computes the
$\ell_{2}$
-norm solution using the Moore–Penrose pseudoinverse, which generally corresponds to the minimum joint effort (or minimum joint activity) when moving along the prescribed target direction. However, in redundant cases, this criterion does not match the objective of maximizing the end-effector velocity. -
• When joint limits are unequal, it is unclear which joint dominates the infinity norm, complicating constraint handling.
3. Proposed algorithm
Unlike the DTF method, this paper proposes a method that accurately solves for the maximum velocity of both nonredundant and redundant serial robots in a specified direction after the velocity decomposition in Equation (3).
3.1. Algorithmic procedure and flowchart
As shown in Figure 1, we take the pure translational motion of the robot as an example to illustrate the detailed implementation procedure of the proposed algorithm. To clearly present the theoretical basis and solution procedure of the proposed method, this section is organized into three parts. First, in 3.2, the joint velocity decomposition formulations for nonredundant and redundant robots are derived, where the joint velocity is decoupled into the component responsible for pure translational motion of the end-effector and the component responsible for pure rotational motion. Then, in 3.3, the joint velocity is mapped into the end-effector workspace through the velocity Jacobian matrix, and this mapping relationship is further expressed as a function of the unit vector of the specified motion direction, the ratio between translational and rotational motions, and the maximum velocity. Finally, in 3.4, the constructed function is further converted into a set of linear programming (LP) equations, thereby enabling the exact calculation of the maximum velocity along the specified direction
Algorithm flowchart.

3.2. Joint velocity analysis
The null-space solution of the Jacobian matrix
$J$
can be expressed as:
The solution vector
$\dot{\theta }_{T}$
that satisfies Eq. (10) can be expressed in terms of the fundamental solution set of the system of equations:
where
$\sigma _{i}$
represents the i-th column of the null space matrix
$N(J)$
of the Jacobian matrix
$J$
, with
$N(J)\in \mathbb{R}^{n\times (n-r(J))}$
, and
$r(J)$
denoting the rank of
$J$
.
$t_{i}$
is an arbitrary constant, where
$i=1,2,\cdots ,n-r(J).$
Similarly, the joint velocity vector generating only rotational velocity is:
From Eq. (12),
$\dot{\theta }$
can be simplified as a function of the unknowns
$t_{i}$
,
$\alpha$
, and
$\beta$
, as follows:
Without loss of generality, we take the case where the maximum joint velocity for each joint is set to ±1 rad/s as an example. This constraint can be obtained by substituting Eq. (22) into Eq. (2), as follows:
\begin{equation}\Bigg\| {{\, \tilde{\kern-2pt J}}}_{T}^{^{+} }{\, \dot{\kern-2pt x}}_{T}+{{\, \tilde{\kern-2pt J}}}_{R}^{^{+} }{\, \dot{\kern-2pt x}}_{R}+\left(\alpha +\beta \right)\sum\limits_{i=1}^{n-r\left(J\right)}t_{i}\,\sigma _{i}\Bigg\| _{\mathrm{\infty }}\leq 1\end{equation}
In fact, different joint velocity limits can be adjusted in Eq. (35).
3.3. Joint velocity analysis velocity analysis in workspace
The robot’s end-effector velocity vector
${\, \dot{\kern-2pt X}}\in \mathbb{R}^{m\times 1}$
can be decomposed into the translational velocity vector
${\, \dot{\kern-2pt x}}_{T}$
and the rotational velocity vector
${\, \dot{\kern-2pt x}}_{R}$
. Then,
${\, \dot{\kern-2pt x}}_{T}$
and
${\, \dot{\kern-2pt x}}_{R}$
can be expressed as the product of a constant
$k_{T}$
and
$k_{R}$
, and the corresponding unit directional vector for translation
${\, \dot{\kern-2pt x}}_{\textit{unitT}}$
and rotation
${\, \dot{\kern-2pt x}}_{\textit{unitR}}$
, respectively.
Let
$d\in \mathbb{R}$
denote the relative ratio between the magnitudes of the end-effector’s translational and rotational velocities:
\begin{equation}k_{R}\bigg[\begin{array}{c} d\cdot {\, \dot{\kern-2pt x}}_{\text{unit}T}\\[3pt] {\, \dot{\kern-2pt x}}_{\text{unit}R} \end{array}\bigg]=J\left({{\, \tilde{\kern-2pt J}}}_{T}^{^{+} }{\, \dot{\kern-2pt x}}_{T}+{{\, \tilde{\kern-2pt J}}}_{R}^{^{+} }{\, \dot{\kern-2pt x}}_{R}+\left(\alpha +\beta \right)\sum\limits_{i=1}^{n-r\left(J\right)}t_{i}\,\sigma _{i}\right)\end{equation}
Define:
\begin{equation}f\left(t_{i},\alpha ,\beta \right)=J\left({{\, \tilde{\kern-2pt J}}_{T}}^{+}{\, \dot{\kern-2pt x}}_{T}+{{\, \tilde{\kern-2pt J}}_{R}}^{+}{\, \dot{\kern-2pt x}}_{R}+\left(\alpha +\beta \right)\sum\limits_{i=1}^{n-r(J)}t_{i}\,\sigma _{i}\right)\end{equation}
Let
${\, \dot{\kern-2pt x}}_{new}$
represent
$\left[\begin{array}{c} d\cdot {\, \dot{\kern-2pt x}}_{\text{unit}T}\\ {\, \dot{\kern-2pt x}}_{\text{unit}R} \end{array} \right]$
. Since
${\, \dot{\kern-2pt x}}_{new}$
is an m-dimensional vector, Eq. (28) can be regarded as a system of m equations. Substituting Eq. (28) into (27), the system of equations can be expressed as:
\begin{align}\begin{array}{c} k_{R}\cdot {\, \dot{\kern-2pt x}}_{\mathrm{new}g}=f_{g}\left(t_{i},\alpha ,\beta \right)\\[3pt] g=1,2,\ldots ,m\\[3pt] i=1,2,\ldots ,n-r\left(J\right) \end{array} \end{align}
where g denotes the g-th equation in Eq. (28),
${\, \dot{\kern-2pt x}}_{newg}$
is the g-th element in the column vector
${\, \dot{\kern-2pt x}}_{new}$
and
$f_{g}(t_{i},\alpha ,\beta )$
represent the g-th row of
$f (t_{i},\alpha ,\beta )$
. Equation (29) exhibits the relationship between the velocity coefficient
$k_{R}$
and the variables
$t_{i}$
,
$\alpha$
, and
$\beta$
. Therefore, the maximum velocity of the robot along the specified coupled translational and rotational motion direction
$\,{\dot{\kern-2pt X}}$
is
$k_{{R_{{\max }}}}{\, \dot{\kern-2pt x}}_{{new}}$
, where
$k_{{R_{{\max }}}}$
is the maximum value that
$k_{R}$
can take under the constraint conditions specified in Eq. (27).
3.4. Conversion into linear programming equations
Transform the first equation containing
$k_{R}$
in Eq. (29) into an objective function of
$k_{R}$
in terms of
$t_{i}$
. Assuming the selected equation is the first equation, we have
\begin{align}\begin{array}{c} k_{R}=F\!\left(t_{i},\alpha ,\beta \right)=\dfrac{f_{1}\!\left(t_{i},\alpha ,\beta \right)}{{\, \dot{\kern-2pt x}}_{\mathrm{new}1}}\\[8pt] i=1,2,\ldots ,n-r\left(J\right) \end{array}\end{align}
By eliminating
$k_{R}$
from the m equations in Eq. (34), m-1 equations without
$k_{R}$
can be obtained. These m-1 equations can be used as equality constraints and can be expressed as:
\begin{equation}\mathrm{s}.\mathrm{t}.\quad \begin{cases} \dfrac{f_{1}\!\left(t_{i},\alpha ,\beta \right)}{{\, \dot{\kern-2pt x}}_{\mathrm{new}1}}{\, \dot{\kern-2pt x}}_{\mathrm{new}2}-f_{2}\!\left(t_{i},\alpha ,\beta \right)=0,\\[8pt] \dfrac{f_{1}\!\left(t_{i},\alpha ,\beta \right)}{{\, \dot{\kern-2pt x}}_{\mathrm{new}1}}{\, \dot{\kern-2pt x}}_{\mathrm{new}3}-f_{3}\!\left(t_{i},\alpha ,\beta \right)=0,\\[4pt] \vdots \\[4pt] \dfrac{f_{1}\!\left(t_{i},\alpha ,\beta \right)}{{\, \dot{\kern-2pt x}}_{new1}}{\, \dot{\kern-2pt x}}_{{new_{m}}}-f_{m}\!\left(t_{i},\alpha ,\beta \right)=0. \end{cases}\end{equation}
For simplicity of expression, we represent the above equation in the following form:
\begin{align}\begin{array}{c} y_{p}\!\left(t_{i},\alpha ,\beta \right)=0\\[3pt] p=1,2,\ldots ,m-1\\[2pt] i=1,2,\ldots ,n-r\!\left(J\right) \end{array}\end{align}
where
$y_{p}(t_{i},\alpha ,\beta )$
represents the p-th of the m-1 equations after eliminating
$k_{R}$
, and the Eq. (17) can be transformed into n inequality constraints, as follows:
It should be noted that in Eq. (23), we use a joint velocity limit of ±1 rad/s as an example, resulting in the Eq. (33). In fact, the joint velocity limits at the corresponding joints can be adjusted by modifying the velocity range of any row in Eq. (27).
$\dot{\theta }_{q}(t_{i},\alpha ,\beta )$
represents the q-th row of
$\dot{\theta }(t_{i},\alpha ,\beta )$
in Eq. (22).
In the case of heterogeneous joint-velocity limits:
Here,
$\dot{\theta }_{qmax}$
denotes the maximum (limit) velocity of the
$q$
-th joint.
When a component of
$\dot{\theta }$
reaches its joint-velocity limit, the robot’s speed along
$\dot{\boldsymbol{x}}$
attains its maximum as well. Accordingly, the maximum speed scaling factor
$k_{Rmax}$
is computed as follows:
Therefore, the problem of solving the robot’s maximum motion velocity
$k_{R{max }}{\, \dot{\kern-2pt x}}_{{new}}$
in the specified direction can be transformed into a LP problem for maximizing
$k_{{R_{{max }}}}$
:
\begin{align}\begin{array}{c} \max \,F\!\left(t_{i},\alpha ,\beta \right)\\[4pt] \mathrm{s}.\mathrm{t}.\quad \begin{cases} y_{p}\left(t_{i},\alpha ,\beta \right)=0,\\[4pt] -1\leq \dot{\theta }_{q}\left(t_{i},\alpha ,\beta \right)\leq 1 \end{cases} \\[15pt] p=1,2,\ldots ,m-1\\[4pt] q=1,2,\ldots ,n\\[4pt] i=1,2,\ldots ,n-r\!\left(J\right) \end{array} \end{align}
Therefore, given the robot end-effector’s motion parameters (
${\, \dot{\kern-2pt x}}_{\textit{unitT}},\,{\, \dot{\kern-2pt x}}_{\textit{unitR}},\,d$
) and joint velocity constraints, the robot’s maximum motion velocity in the specified direction at the target joint configuration can be approximately determined. Notably, we adopt the classical interior-point method for LP, which is particularly effective for small- to medium-scale LP problems, offering minimal computational overhead and strong robustness.
Since the LP method is used for solving, this approach takes more time to compute compared to the DTF method. The advantage of this method lies in the fact that for serial robots with different degrees of freedom, the entire solving process remains unchanged. The only variations throughout the process are the degrees of freedom m of the workspace and the number of joints n of the robot. Therefore, this method is applicable to both nonredundant and redundant robots. Moreover, as shown in Eq. (36), since this method considers the velocity constraints of each joint, it can be applied to scenarios where the joint velocity limits of the serial robot are different.
4. Discussion
Our objective is to maximize
$k_{R}$
. When all joint velocity limits are identical, the solution that satisfies Eq. (36) corresponds to the minimum infinity-norm solution of the system. In the nonredundant case, and away from singularities, the Jacobian J is full rank, and therefore, the solution is unique. In contrast, for redundant manipulators, except at singular configurations, the solution consists of a particular solution plus a null-space component. The proposed method searches over the entire solution space and uses LP to eliminate those solutions that violate the joint-limit constraints. The joint-velocity vector obtained in this way is thus the minimum infinity-norm solution of the equation.
When the joint-velocity limits are not identical, the solution obtained in the redundant case is not necessarily the minimum infinity-norm solution. For example, suppose the minimum infinity-norm solution yields a joint-velocity vector whose largest component occurs at the third joint with magnitude 0.5 rad/s, while the joint limit of that joint is 1 rad/s; this gives
$k_{{R_{max}}}$
=2. Another feasible solution may yield its largest component at the fourth joint with magnitude 1 rad/s, whose limit is 4 rad/s; this yields
$k_{{R_{max}}}$
=4. In this situation, searching within the solution space via LP to maximize
$k_{{R_{max}}}$
provides an effective way to handle unequal joint-velocity limits.
4.1. Experiment and analysis
In this section, experiments were carried out to verify the accuracy of the proposed method for solving the oriented maximum velocity of serial robots, by comparison with the DTF method. A set of joint configurations is randomly selected first, and multiple directions in the robot’s workspace are then used to measure the maximum translational and rotational velocities. Two robotic platforms, i.e., UR5e (6-DoF) and Sawyer (7-DoF), are utilized in the experiments to evaluate the performance in both nonredundant and redundant serial robots, applied to scenarios where the joint velocity limits of the serial robot are different.
4.2. Experimental design
In the experiment series, the initial joint configurations for the nonredundant robot (i.e., UR5e) experimental joint configuration is selected as [−163.46°, −88.43°, −103.69°, −54.15°, 84.15°, −25.78°], while for the redundant robot (i.e., Sawyer) is [−193.46°, −88.43°, −193.69°, −54.20°, 84.15°, −95.78°, 50°]. For the directions, we used the spherical coordinate system of the end-effector. Namely, with a step size of 10°, the polar angle is taken from 0° to 180°, and the azimuth angle is taken from 0° to 350°, resulting in a total of 648 directions. Since 34 of these directions overlap, the remaining 614 unique directions are selected as the experimental directions after removing the overlapping ones, as illustrated with red arrow in Figure 2.
For the translational velocity, the robot end-effector moves in the direction indicated by the arrow. For angular velocity, its direction is determined by the axis of rotation, and the positive sense follows the right-hand rule: when the right thumb points along this axis vector, the curl of the remaining fingers indicates the positive direction of rotation.
Experimental directions.

To ensure that the robot reaches its maximum speed upon arriving at the target position, we prescribe an acceleration phase so that it attains the desired peak velocity.
In the experiments, we defined three positions:
-
1. Target position: the position at which the experiment records the maximum speed to be reported as the result.
-
2. Start position: the position obtained by moving from the target position for 2 s in the direction opposite to the prescribed direction.
-
3. End position: the position obtained by moving from the target position for 2 s along the prescribed direction (Figure 3).
Experimental motion sequence. (a), (b), (c) Translational experiments and (d), (e), (f) rotational experiments.

The experiment procedure involves:
-
• Move robot to target position.
-
• Move(Revolve) backward at maximum translational(rotational) velocity for 2 s. After reaching the target position, the robot moves for 2 s at its maximum speed in the direction opposite to the experimental direction to arrive at the start position, thereby leaving sufficient room to accelerate to maximum speed upon returning to the target.
-
• Move(Revolve) forward at maximum translational(rotational) velocity. Starting from the departure position, the robot moves along the experimental direction at maximum speed, and the speed at the instant it passes the target position is recorded.
-
• The motion stops when the robot continues to move and reaches the end position
(38)
\begin{align}e= \bigg| \frac{{\, \dot{\kern-2pt x}}_{e}-{\, \dot{\kern-2pt x}}_{t}}{{\, \dot{\kern-2pt x}}_{e}} \bigg|\end{align}
Where
${\, \dot{\kern-2pt x}}_{e}$
is the experimental velocity and
${\, \dot{\kern-2pt x}}_{t}$
is the theoretical velocity.
4.3. Robotic experimental platform
In this section, the real-world search experiment was verified in the laboratory environment. As shown in Figure 4, the UR5e robot is a six-degree-of-freedom serial robot. The host computer, equipped with an i7-10700 CPU and 16 GB RAM, communicates with the UR5e robot via RTDE over Ethernet. It controls robot motion and receives real-time joint and TCP data at 500 Hz. Joint velocity limits are set via the teach pendant, and all control and data acquisition programs are developed in Python.
UR 5e robot.

Sawyer Robot.

As shown in Figure 5, the Sawyer robot is a seven-degree-of-freedom serial robot. The host computer runs Ubuntu with ROS and MoveIt! for controlling the Sawyer robot via Ethernet. It uses the MoveGroupCommander interface for motion planning and executes commands through ROS nodes. Joint limits are set in joint_limits.yaml, and real-time joint and TCP data are collected at 500 Hz. All programs are implemented in Python.
4.4. Experimental results analysis
Based on the aforementioned experimental design, tests were conducted on both robots, and results are analyzed with focus on two aspects: the accuracy of the velocity and the computation time.
In the nonredundant robot experiment, Figure 6(a) and (b) illustrates the distribution of calculated maximum velocity values using the two methods for the 614 selected directions, along with the experimental values. The results show that the proposed method and the DTF method produce identical results (Table I), which is because, in the nonredundant case, the Jacobian matrix of the selected configuration in the experiment is invertible, and the solution corresponding to Eq. (22) is unique. Therefore, the generalized inverse solution used in the DTF method and the fundamental solution set used in this paper yield the same results. The maximum error is 2.50%, with a mean error of 0.44% and a standard deviation of 0.32%.
Comparison between DTF and our proposed methods in a nonredundant case (UR5e)

Table I. Long description
The table compares computation error and computation time between DTF and a proposed method in a nonredundant case. It has four rows and four columns. The columns are labeled ‘Computation error’, ‘DTF’, ‘Ours’, ‘Computation time (ms)’, ‘DTF’, and ‘Ours’. The rows are labeled ‘Maximum value’, ‘Minimum value’, ‘Mean value’, and ‘Standard deviation’. Row 1: Maximum value, 2.5 percent, 2.5 percent, 0.15 milliseconds, 4.37 milliseconds. Row 2: Minimum value, 0.01 percent, 0.01 percent, 0.02 milliseconds, 1.06 milliseconds. Row 3: Mean value, 0.44 percent, 0.44 percent, 0.02 milliseconds, 1.38 milliseconds. Row 4: Standard deviation, 0.32 percent, 0.32 percent, 0.01 milliseconds, 0.35 milliseconds.
Results comparison between two calculated (both DTF and ours) and experimental oriented maximum velocity by a nonredudant robot (UR5e): (a) rotational movement and (b) translational movement.

In terms of computation time, as shown in Figure 7, the overall computation time of the proposed method is higher than that of the DTF method, with average computation times of 1.38 ms and 0.02 ms, respectively (Table I). This is consistent with the theoretical analysis. Unlike nonredundant robots, the proposed algorithm shows significant differences in the accuracy of maximum velocity calculations for redundant robots.
Computation time comparison between DTF and ours method when performing oriented maximum velocity by a nonredudant robot (UR5e): (a) rotational movement and (b) tansliational movement.

Figure 7. Long description
Two scatter plots compare computation times for rotational and translational movements using two different methods. Panel A: The scatter plot shows computation times for rotational movement. The x-axis is labeled ‘Experiment Direction Index’ and ranges from 0 to 700. The y-axis is labeled ‘log10 Computation Time (ms)’ and ranges from -2 to 1.5. Two data series are plotted: one in blue representing the DTF method and another in green representing the proposed algorithm. The blue data points are generally lower on the y-axis compared to the green data points, indicating lower computation times for the DTF method. Panel B: The scatter plot shows computation times for translational movement. The x-axis is labeled ‘Experiment Direction Index’ and ranges from 0 to 700. The y-axis is labeled ‘log10 Computation Time (ms)’ and ranges from -2 to 1.5. Similar to Panel A, two data series are plotted: one in blue representing the DTF method and another in green representing the proposed algorithm. The blue data points are generally lower on the y-axis compared to the green data points, indicating lower computation times for the DTF method.
Figure 8(a) and (b) shows the distribution of calculated maximum velocity values using the two methods for the 614 selected directions, along with the experimental values. The proposed method has a maximum error of 2.20%, a mean error of 0.67%, and a standard deviation of 0.38%. In contrast, the DTF method shows a maximum error of 24.3%, a mean error of 12.56%, and a standard deviation of 7.04%. Overall, our proposed method performs better than the DTF method. This is because, in the redundant case, the Jacobian matrix is noninvertible and the workspace velocity corresponding to the sum of
$\dot{\theta }_{T}$
and
$\dot{\theta }_{R}$
, solved using the generalized inverse matrix, does not necessarily represent the maximum workspace velocity among the infinite set of joint velocity solutions, leading to inaccuracies in the solution.
Results comparison between two calculated (both DTF and ours) and experimental oriented maximum velocity by a redudant robot (Saywyer): (a) rotational movement and (b) tansliational movement.

In terms of computation time, as shown in Figure 9, the proposed algorithm’s experimental results show that the nonredundant robot’s computation time is overall higher than that of the DTF method, which is consistent with the results for the redundant robot. The average computation times are 1.74 ms and 0.04 ms, respectively. Compared to the nonredundant robot, the computation time for both algorithms increases overall when applied to the redundant robot.
Comparison between DTF and our proposed methods in a redundant case (Sawyer).

Table II. Long description
The table compares computation error and computation time between DTF and a proposed method for a redundant case. It has two main sections: Computation error and Computation time, each with two columns: DTF and Ours. The table has four rows under each section, labeled Maximum value, Minimum value, Mean value, and Standard deviation. Row 1: Maximum value, Computation error: DTF, 24.3 percent; Ours, 2.2 percent. Computation time: DTF, 5.07 milliseconds; Ours, 24.2 milliseconds. Row 2: Minimum value, Computation error: DTF, 0.22 percent; Ours, 0.01 percent. Computation time: DTF, 0.02 milliseconds; Ours, 1.14 milliseconds. Row 3: Mean value, Computation error: DTF, 12.56 percent; Ours, 0.67 percent. Computation time: DTF, 0.04 milliseconds; Ours, 1.74 milliseconds. Row 4: Standard deviation, Computation error: DTF, 7.04 percent; Ours, 0.38 percent. Computation time: DTF, 0.20 milliseconds; Ours, 1.36 milliseconds.
Computation time comparison between DTF and ours method when performing oriented maximum velocity by a redudant robot (Sawyer): (a) rotational movement and (b) tanslational movement.

Table I summarizes the performance of the two methods applied to the nonredundant robot. The proposed method transforms the problem of solving the oriented maximum velocity into an equivalent standard LP problem, and the computed result can converge to the optimal solution within the feasible region. Therefore, the calculated result is theoretically the true value, with minimal error compared to the experimental value, and the error mainly originates from experimental inaccuracies. The DTF method’s results closely match those of the proposed algorithm in terms of computation error. This is because the Jacobian matrix is full rank in nonredundant robots at nonsingular positions, and the solution is unique. Theoretical analysis aligns with the experimental results.
Table II shows the performance of the two methods applied to the redundant robot. The proposed method exhibits minor calculation errors compared to the experimental values, and the computational performance is roughly the same as that of the nonredundant robot. However, the DTF method shows a more significant deviation from the experimental results than the proposed algorithm. At nonsingular configurations, regardless of redundancy, the augmented Jacobian (under the respective constraint) is generally noninvertible, but a solution can be obtained using the Moore–Penrose pseudoinverse. The cause of the error in the obtained solution has already been described following Eq. (12) in Section 2.3. The theoretical analysis is consistent with the experimental results.
Tables I and II also show the computation times of the two methods applied to different robots. Since the proposed algorithm uses a LP approach and considers all solutions within the fundamental solution set, the computation time is longer than the DTF method.
5. Conclusion
In this paper, we propose a method for solving the oriented maximum velocity of serial robots based on the decomposition of translational and rotational motions. Theoretically, compared to the kinematic directional index, this method can be directly applied to both nonredundant and redundant serial robots. It avoids the issue of inconsistent physical units and has a relatively simple structure. Unlike velocity ellipsoids, velocity polytopes and the kinematic directional index can only evaluate translational and rotational velocities separately. This method can accurately assess the maximum motion velocity of serial robots in coupled translational and rotational directions. Compared to the existing DTF method, it can accurately evaluate the maximum velocity of serial robots in a specified motion direction while considering precise joint velocity limits and specific task requirements. The results of experimental analysis on redundant and nonredundant robots show that, although the proposed algorithm takes longer to compute compared to the existing DTF method, the average computation time across 614 directions does not exceed 2 ms. The proposed algorithm demonstrates a significant advantage in terms of accuracy for redundant robots, with an average error of 0.67%, which is much lower than the DTF method’s 12.56%. The experimental results are consistent with the theoretical analysis, indicating that the method can be effectively applied to evaluate robotic motion performance. In the current study, only joint velocity limits are incorporated into the optimization model. Nevertheless, the proposed linear-programming framework provides good extensibility. In future work, joint acceleration limits and actuator torque limits will be further introduced to evaluate the dynamically reachable directional velocity of serial robots from a given motion state. This extension is expected to provide a more realistic assessment of robot velocity capability by accounting for both kinematic feasibility and dynamic realizability.
Author contributions
Material preparation, data collection, and writing were performed by Kai Wu, Hengyi An. Conception and design, writing, and review were performed by Kai Wu and Shaoxiong Feng. Review and editing were performed by Mingfeng Wang. All authors commented on previous versions of the manuscript. All authors read and approved the final manuscript.
Financial support
Chunhui Project Foundation of the Education Department of China, Grant 202201789. GJYC program of Guangzhou, Grant 2024D03j0005.
Competing interest
The authors declare that Kai Wu is an Associate Editor for the journal but was completely excluded from the review process. The data that support the findings of this study are available from the corresponding author upon reasonable request.
Ethical approval
Not applicable.


