1 Introduction

To build a high performance robot, design is probably the most important process which hugely influences the robot’s performance. Designing a robot (i.e. determining the values of its design parameters such as mass and inertia distributions, dimensions, etc.) presets the limits of its abilities or in other words, its capabilities to perform certain tasks. If a robot is not well designed, no matter how advanced its controller is, it could end up in poor performance (Leavitt et al. 2004). In the other hand, if the design is “perfect”, the larger range of feasible options would be available in the control space which makes it easier for the controller to achieve a desired task with higher performance. Also, in case of redundant robots, a certain task is achievable via various configurations in which physical abilities of the robot are different (Ajoudani et al. 2017). Therefore, in order to improve the robot’s performance in different tasks and exploit its maximum abilities, it is desired to be able to compare different configurations of a robot and possibly to find the optimal one (e.g. in terms of torque/energy efficiency). This is completely intuitive since humans always try to exploit the redundancy in their limbs and also the environmental contacts to improve their performance while minimizing their efforts in executing various tasks. For example, usual human arms configurations are different while using screwdriver to tighten up a screw compared to while holding a mug.

As already mentioned, finding (i) proper values for the design parameters, and (ii) best configuration for a robot in performing a certain task are the two important elements in making high performance robots and/or improving the performance of existing robots. Thus, it is beneficial to develop a unified and general metric which enables us to measure physical abilities of various robots in different configurations and different contact conditions. For this application, there exists a very famous metric in the robotics community which is called manipulability. The concept of manipulability for robots first introduced by Yoshikawa (1985a) in the 80’s. He defined manipulability ellipsoid as the result of mapping Euclidean norm of joint velocities (i.e. \({\dot{\mathbf {q}}}^T {\dot{\mathbf {q}}}\)) to the end-effector velocity space. By using task space Jacobian (i.e. \(\mathbf {J}\)), he also proposed a manipulability metric for robots as \(w = \sqrt{\mathrm {det}(\mathbf {J}\mathbf {J}^T)}\) which represents the volume of the corresponding manipulability ellipsoid. The main issue with this measure is that, multiplying \(\mathbf {J}\), which is a velocity mapping function, and \(\mathbf {J}^T\), which is a force mapping function, is physically meaningless. In other words, in a general case, a robot may have different joint types (e.g. revolute and prismatic) and therefore different velocity and force units in the joints which makes the Jacobian to have columns with different units. This issue was first identified by Doty et al. (1995). They proposed using a weighting matrix in order to unify the units. However, even after that, many researchers used (Chiu 1987; Gravagne and Walker 2001; Guilamo et al. 2006; Jacquier-Bret et al. 2012; Lee 1989, 1997; Leven and Hutchinson 2003; Melchiorri 1993; Vahrenkamp et al. 2012; Valsamos and Aspragathos 2009) or suggested (Chiacchio et al. 1991; Koeppe and Yoshikawa 1997) same problematic metric for the manipulability of robots.

Yoshikawa (1985b) also introduced dynamic manipulability metric and dynamic manipulability ellipsoid as extensions to his previous works on robot manipulability. He defined dynamic manipulability metric as \(w_d = \sqrt{\mathrm {det}[\mathbf {J}(\mathbf {M}^T \mathbf {M})^{-1} \mathbf {J}^T]}\), where \(\mathbf {M}\) is the joint-space inertia matrix, and dynamic manipulability ellipsoid as a result of mapping unit norm of joint torques to the operational acceleration space. Here, \((\mathbf {M}^T \mathbf {M})^{-1}\) can be regarded as a weighting matrix which obviously solves the main issue with the first manipulability metric. However, physical interpretation of this metric still remains unclear. In other words, it is not quite obvious what the relationship is between \(w_d\) and feasible or achievable operational space accelerations due to actual torque limits in the joints. Although, Yoshikawa (1985b) and later on some other researchers (Chiacchio 2000; Kurazume and Hasegawa 2006; Rosenstein and Grupen 2002; Tanaka et al. 2006; Yamamoto and Yun 1999) tried to include the effects of maximum joint torques into dynamic manipulability metric by normalizing the joint torques, their proposed normalizations are not done properly and therefore the results do not represent physical abilities of a robot in producing operational space accelerations. The issue with their suggested normalization will be discussed in more details in Sect. 3.

Over the last two or three decades, many studies have been done on robot manipulability. Also many researchers have used manipulability metrics/ellipsoids in order to design more efficient robots or find better and more efficient configurations for robots to perform certain tasks (Ajoudani et al. 2015; Bagheri et al. 2015; Bowling and Khatib 2005; Guilamo et al. 2006; Kashiri and Tsagarakis 2015; Tanaka et al. 2006; Tonneau et al. 2014, 2016; Zhang et al. 2013). However, almost all of these studies have overlooked the effects of not using (or using inappropriate) a weighting matrix. In this paper, we focus on the weighting matrix for dynamic manipulability calculations and study its importance and influences on the dynamic manipulability analysis. We also show that, by using this analysis, we can decompose the effects of the gravity and robot’s velocity from the effects of robot’s configuration and inertial parameters on the acceleration of a point of interest (i.e. operational space acceleration). Therefore, the outcome of the dynamic manipulability analysis will be a configuration based (i.e. velocity independent) metric/ellipsoid which is dependent only on the physical properties of a robot and its configuration. Hence, we claim that, by selecting proper values for the weighting matrix, dynamic manipulability can provide a powerful tool to analyse and measure a robot’s physical abilities to perform a task.

This paper is an extended and generalized version of our previous study on dynamic manipulability of the center of mass (CoM) (Azad et al. 2017). Main contributions over our previous work are (i) generalizing the idea of weighting matrix for dynamic manipulability to any point of interest (not only the CoM), (ii) investigating the relationship between the dynamic manipulability and the Gauss’ principle of least constraints by suggesting a proper weighting matrix, (iii) describing the relationship between the dynamic manipulability metrics and operational space control, and (iv) discussing the applications of the dynamic manipulability metrics based on the suggested choices of weighting matrices.

We first derive dynamic manipulability equations for the operational space of a robot. To this aim, we use general motion equations in which the robot is assumed to have floating base with multiple contacts with the environment. Thus, the effects of under-actuation due to the floating base and kinematic constraints due to the contacts will be included in the calculations. As a result of our dynamic manipulability analysis, we obtain an ellipsoid which graphically shows the operational space accelerations due to the weighted unit norm of torques at the actuated joints. This is applicable to all types of robot manipulators as well as legged (floating base) robots with different contact conditions. The setting of the weights is up to the user which is supposed to be done based on the application. Two physically meaningful choices for the weights are introduced in this paper and their physical interpretations are discussed. We also discuss different manipulability metrics which can be computed using the equation of the manipulability ellipsoid. We investigate the application of those metrics in comparing various robot configurations and finding an optimal one in terms of the physical abilities of the robot to achieve a desired task.

2 Dynamic manipulability

Considering a floating base robot with multiple contacts with the environment, the inverse dynamics equation will be

$$\begin{aligned} \mathbf {M}(\mathbf {q}) {\ddot{\mathbf {q}}} + \mathbf {h}(\mathbf {q}, {\dot{\mathbf {q}}}) = \mathbf {B}\varvec{\tau }- \mathbf {J}_c^T \mathbf {f}_c, \end{aligned}$$
(1)

where \(\mathbf {M}\) is \(n \times n\) joint-space inertia matrix, \(\mathbf {h}\) is n-dimensional vector of centrifugal, Coriolis and gravity forces, \(\mathbf {B}\) is \(n \times k\) selection matrix of the actuated joints, \(\varvec{\tau }\) is k-dimensional vector of joint torques, \(\mathbf {J}_c\) is \(l \times n\) Jacobian matrix of the constraints and \(\mathbf {f}_c\) is l-dimensional vector of constraint forces (and/or moments).

Here, we assume that kinematic constraints are bilateral. This is a reasonable assumption if there is no slipping or loss of contact. In this case, we can write

$$\begin{aligned} \mathbf {J}_c {\dot{\mathbf {q}}} = 0 \implies \mathbf {J}_c {\ddot{\mathbf {q}}} = - \dot{\mathbf {J}}_c {\dot{\mathbf {q}}} \, . \end{aligned}$$
(2)

By multiplying both sides of (1) by \(\mathbf {J}_c \mathbf {M}^{-1}\), replacing \(\mathbf {J}_c {\ddot{\mathbf {q}}}\) from (2) and rearranging the outcome equation, we will have

$$\begin{aligned} \mathbf {f}_c = \mathbf {J}_f \varvec{\tau }+ \mathbf {f}_{vg}, \end{aligned}$$
(3)

where

$$\begin{aligned} \mathbf {J}_f = \mathbf {J}_{c_M}^{{\#}^T} \mathbf {B}\, \end{aligned}$$
(4)

is \(l \times k\) mapping matrix from joint torques to contact forces,

$$\begin{aligned} \mathbf {f}_{vg} = -\mathbf {J}_{c_M}^{{\#}^T} \mathbf {h}+ (\mathbf {J}_c \mathbf {M}^{-1} \mathbf {J}_c^T)^{-1} \dot{\mathbf {J}}_c {\dot{\mathbf {q}}}, \end{aligned}$$
(5)

is part of contact forces which is due to the gravity and robot’s velocity, and

$$\begin{aligned} \mathbf {J}_{c_M}^{\#} = \mathbf {M}^{-1} \mathbf {J}_c^T (\mathbf {J}_c \mathbf {M}^{-1} \mathbf {J}_c^T)^{-1}, \end{aligned}$$
(6)

is the inertia-weighted pseudo-inverse of \(\mathbf {J}_c\).

Plugging \(\mathbf {f}_c\) from (3) back into (1), yields the forward dynamics equation as

$$\begin{aligned} {\ddot{\mathbf {q}}} = \mathbf {J}_q \varvec{\tau }+ {\ddot{\mathbf {q}}}_{vg}, \end{aligned}$$
(7)

where

$$\begin{aligned} {\ddot{\mathbf {q}}}_{vg} = -\mathbf {M}^{-1} (\mathbf {h}+ \mathbf {J}_c^T \mathbf {f}_{vg}), \end{aligned}$$
(8)

is the velocity and gravity dependent part of joint accelerations, and

$$\begin{aligned} \mathbf {J}_q = \mathbf {M}^{-1} \mathbf {B}- \mathbf {M}^{-1} \mathbf {J}_c^T \mathbf {J}_f, \end{aligned}$$
(9)

is the mapping matrix from joint torques to joint accelerations. Observe that, \(\mathbf {J}_q\) can be simplified as

$$\begin{aligned} \mathbf {J}_q = \mathbf {M}^{-1} (\mathbf {I}_{n \times n} - \mathbf {J}_c^T \mathbf {J}_{c_M}^{\#^T}) \mathbf {B}= \mathbf {M}^{-1} \mathbf {N}_{c_M}^T \mathbf {B}, \end{aligned}$$
(10)

where \(\mathbf {N}_{c_M}\) is the null-space projection matrix of \(\mathbf {J}_c\).

Similarly, we can write the operational space acceleration in the form of

$$\begin{aligned} \ddot{\mathbf {p}} = \mathbf {J}_p \varvec{\tau }+ \ddot{\mathbf {p}}_{vg}, \end{aligned}$$
(11)

where

$$\begin{aligned} \mathbf {J}_p = \mathbf {J}\mathbf {J}_q = \mathbf {J}\mathbf {M}^{-1} \mathbf {N}_{c_M}^T \mathbf {B}, \end{aligned}$$
(12)

is the mapping from joint torques to operational space acceleration,

$$\begin{aligned} \ddot{\mathbf {p}}_{vg} = \mathbf {J}{\ddot{\mathbf {q}}}_{vg} + \dot{\mathbf {J}} {\dot{\mathbf {q}}}, \end{aligned}$$
(13)

is the velocity and gravity dependent part of \(\ddot{\mathbf {p}}\) and \(\mathbf {J}\) is the Jacobian of point \(\mathbf {p}\) in the operational space of the robot which implies \(\dot{\mathbf {p}} = \mathbf {J}{\dot{\mathbf {q}}}\).

Available torques at the joints are always limited due to saturation limits which directly affects the accessible joint space and operational space accelerations. To investigate these effects, first we define limits on joint torques as

$$\begin{aligned} \varvec{\tau }^T \mathbf {W}_\tau \varvec{\tau }\le 1, \end{aligned}$$
(14)

which is a unit weighted norm of actuated joints with \(\mathbf {W}_\tau \) as a \(k \times k\) weighting matrix. To find out the effects on \(\ddot{\mathbf {p}}\), we invert (11) as

$$\begin{aligned} \varvec{\tau }= \mathbf {J}_p^\# (\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg}) + \mathbf {N}_p \varvec{\tau }_0, \end{aligned}$$
(15)

where \(\varvec{\tau }_0\) is a vector of arbitrary joint torques, \(\mathbf {N}_p = \mathbf {I}- \mathbf {J}_p^\# \mathbf {J}_p\) is the projection matrix to the null-space of \(\mathbf {J}_p\), and

$$\begin{aligned} \mathbf {J}_p^\# = \mathbf {W}_\tau ^{-1} \mathbf {J}_p^T (\mathbf {J}_p \mathbf {W}_\tau ^{-1} \mathbf {J}_p^T)^{-1}, \end{aligned}$$
(16)

is a generalized inverse of \(\mathbf {J}_p\). By replacing \(\varvec{\tau }\) from (15) into (14), we will have

$$\begin{aligned} 0 \le (\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg})^T (\mathbf {J}_p \mathbf {W}_\tau ^{-1} \mathbf {J}_p^T)^{-1} (\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg}) \le 1 \, . \end{aligned}$$
(17)

The details of the derivations can be found in “Appendix I”.

The inequality in (17) defines an ellipsoid in the operational acceleration space which is called dynamic manipulability ellipsoid. The center of this ellipsoid is at \(\ddot{\mathbf {p}}_{vg}\) and its size and shape are determined by eigenvectors and eigenvalues of matrix \(\mathbf {J}_p \mathbf {W}_\tau ^{-1} \mathbf {J}_p^T\). As it can be seen, This matrix is a function of the weighting matrix \(\mathbf {W}_\tau \) and also \(\mathbf {J}_p\) which is dependent on the robot’s configuration and inertial parameters. Due to high influence of the weighting matrix on the dynamic manipulability ellipsoid, it is quite important to define \(\mathbf {W}_\tau \) properly in order to obtain a correct and physically meaningful mapping from the bounded joint torques to the operational space acceleration. This can be helpful in order to study the effects of limited joint torques on the operational space accelerations. Note that, if the weighting matrix is not defined properly, the outcome ellipsoid will be confusing and ambiguous rather than beneficial and useful.

3 Weighting matrix

In this section, we study the effects of the weighting matrix on the dynamic manipulability ellipsoid and propose two reasonable and physically meaningful choices for this matrix. First one is called bounded joint torques and incorporates saturation limits at the joints, and the second one is called bounded joint accelerations which assumes limits on the joint accelerations. The latter is also related to the Gauss’ principle of least constraints which will be discussed further in this section.

3.1 First choice: bounded joint torques

The dynamic manipulability ellipsoid is defined to map available joint torques to the operational acceleration space. In order to include all available joint torques in the initial bounding inequality in (14), we introduce a weighting matrix as

$$\begin{aligned} \mathbf {W}_\tau = \frac{1}{k} \, \mathrm {diag}\left( \left[ \frac{1}{\tau _{1_\mathrm {max}}^2}, \frac{1}{\tau _{2_\mathrm {max}}^2}, \ldots , \frac{1}{\tau _{k_\mathrm {max}}^2}\right] \right) , \end{aligned}$$
(18)

where \(\tau _{i_\mathrm {max}}\) is the saturation limit at the \(i^\mathrm {th}\) joint and function \(\mathrm {diag}(\mathbf {v})\) builds a diagonal matrix out of vector \(\mathbf {v}\). Note that, if we replace \(\mathbf {W}_\tau \) from (18) into (14), we will have

$$\begin{aligned} \frac{\tau _1^2}{\tau _{1_\mathrm {max}}^2} + \frac{\tau _2^2}{\tau _{2_\mathrm {max}}^2} + \cdots + \frac{\tau _k^2}{\tau _{k_\mathrm {max}}^2} \le k, \end{aligned}$$
(19)

which guarantees that \(|\tau _i| < \tau _{i_\mathrm {max}}\) for each i and therefore it accommodates all possible combinations of joint torques. This is different from torque normalization which is mentioned in the literature (Ajoudani et al. 2017; Chiacchio 2000; Gu et al. 2015; Rosenstein and Grupen 2002). To the best of the authors’ knowledge, none of the previous studies considered the number of actuators (i.e. k) in the weighting matrix which makes it an incorrect estimation of the feasible area.

Figure 1 shows dynamic manipulability ellipses for a planar robot in six different configurations. The robot is consisted of five links which are connected via revolute joints. The first and last links are assumed to be passively in contact with the ground (to mimic a planar quadruped robot). The length and mass of the middle link are assumed to be twice the length and mass of the other links. Schematic diagrams of the robot configurations and the angles between the links are shown in the bottom left corner of each plot. Note that the middle link is horizontal. The ellipses are calculated for the center point of the middle link of the robot at each configuration. These points are shown by \(\otimes \) on the robots’ schematic diagrams. The weighting matrix in (18) is used for the calculations where the number of actuators is 4 and the maximum torque at the actuators connected to the middle link are assumed to be twice the maximum torque at the other two actuators. The velocity and gravity are set to zero since their only effect would be to change the center point of the ellipses.

Fig. 1
figure 1

Dynamic manipulability ellipses are proper approximations for the polygons. The ellipses are calculated for the center point of the middle link (shown by \(\otimes \)) of a planar robot in six different configurations. The weighting matrix in (18) is used for the calculations of the ellipses. The polygons represent feasible acceleration areas due to joint torque limits

The shaded polygons in Fig. 1 represent exact areas in the acceleration space of the point of interest (i.e. the center point of the middle link) which are accessible due to the limited torques at the joints in six different configurations. These areas are computed using (11), numerically. As it can be seen in the plots, the polygons are always completely enclosed in the ellipses which implies that the dynamic manipulability ellipses, with the suggested weighting matrix in (18), are reasonable approximations of the exact feasible areas. These ellipses also graphically show that, given the limits at the joint torques, what accelerations are feasible in the operational space and what directions are easier to accelerate the point of interest. Note that, the choice of this point is dependent on the desired task. For example, for a balancing task, the CoM can be considered as the point of interest (Azad et al. 2017), whereas for a manipulation task, it makes more sense to choose the end-effector as the point of interest.

It is worth mentioning that, the main purpose of the plots in Fig. 1 is to show the accuracy of the approximation of the polygons by the ellipses. Although, one can compare the robot configurations in terms of feasible operational space accelerations with same amount of available torques at the joints. As it can be seen in this figure, the ellipses (and also polygons) in the left column are larger than their corresponding ones in the right column which implies that by changing the angle from \(90^\circ \) to \(120^\circ \), the range of available accelerations at the point of interest is extended.

3.2 Second choice: bounded joint accelerations

To propose our second suggestion for the weighting matrix, first we assume limits on the joint accelerations as a unit weighted norm centered at \({\ddot{\mathbf {q}}}_{vg}\). This limit can be written as

$$\begin{aligned} ({\ddot{\mathbf {q}}} - {\ddot{\mathbf {q}}}_{vg})^T \mathbf {W}_q ({\ddot{\mathbf {q}}} - {\ddot{\mathbf {q}}}_{vg}) \le 1, \end{aligned}$$
(20)

where \(\mathbf {W}_q\) is a positive definite weighting matrix in the joint acceleration space. This matrix can be used to unify the units and/or prioritize the importance of joint accelerations. By substituting \(({\ddot{\mathbf {q}}} - {\ddot{\mathbf {q}}}_{vg})\) from (7) into (20), we will have

$$\begin{aligned} (\mathbf {J}_q \varvec{\tau })^T \mathbf {W}_q (\mathbf {J}_q \varvec{\tau }) = \varvec{\tau }^T ( \mathbf {J}_q^T \mathbf {W}_q \mathbf {J}_q) \varvec{\tau }\le 1, \end{aligned}$$
(21)

which implies that choosing the weighting matrix as

$$\begin{aligned} \mathbf {W}_\tau = \mathbf {J}_q^T \mathbf {W}_q \mathbf {J}_q, \end{aligned}$$
(22)

converts the inequality in (21) to the one in (14). Thus, the ellipsoid in (17) will show the boundaries on the operational space accelerations due to the limited joint accelerations. This is true only if \(\mathbf {W}_\tau \) in (22) is positive definite or in other words, if \(\mathbf {J}_q\) is full column rank.

Observe that, in general, \(\mathbf {J}_q\) could be rank deficient due to kinematic constraints. This happens when contact forces cancel out the effects of joint torques and result in zero motion at the joints (i.e. \({\ddot{\mathbf {q}}} = 0\) when \(\varvec{\tau }\ne 0\)). Mathematically, it means that a linear combination of the columns of \(\mathbf {J}_q\) becomes zero which implies that \(\mathbf {J}_q\) is rank deficient. This violates the positive definite assumption of \(\mathbf {W}_\tau \) and invalidates the results in (17). In this case, we define a new positive definite weighting matrix as

$$\begin{aligned} \mathbf {W}_{r_q} = \mathbf {J}_{q_c}^T \mathbf {W}_q \mathbf {J}_{q_c}, \end{aligned}$$
(23)

where \(\mathbf {J}_{q_c}\) is a full column rank matrix obtained from the singular value decomposition of \(\mathbf {J}_q\). This is explained in “Appendix II”. As a result of this decomposition we will have

$$\begin{aligned} \mathbf {J}_q = \mathbf {J}_{q_c} \mathbf {J}_{q_r}, \end{aligned}$$
(24)

where \(\mathbf {J}_{q_r}\) is a full row rank matrix. Plugging (24) back into (21), yields

$$\begin{aligned} \varvec{\tau }^T (\mathbf {J}_{q_r}^T \mathbf {J}_{q_c}^T \mathbf {W}_q \mathbf {J}_{q_c} \mathbf {J}_{q_r}) \varvec{\tau }= \varvec{\tau }^T_{r_q} \mathbf {W}_{r_q} \varvec{\tau }_{r_q} \le 1, \end{aligned}$$
(25)

where \(\varvec{\tau }_{r_q} = \mathbf {J}_{q_r} \varvec{\tau }\) is regarded as a reduced vector of the joint torques. The relationship between this vector and operational space accelerations can be acquired from (11) and (12) as

$$\begin{aligned} \ddot{\mathbf {p}} = \mathbf {J}\mathbf {J}_{q_c} \varvec{\tau }_{r_q} + \ddot{\mathbf {p}}_{vg} \, . \end{aligned}$$
(26)

Therefore, the outcome ellipsoid in (17) will be

$$\begin{aligned} 0 \le (\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg})^T (\mathbf {J}\mathbf {J}_{q_c} \mathbf {W}_{r_q}^{-1} \mathbf {J}_{q_c}^T \mathbf {J}^T)^{-1} (\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg}) \le 1 \, . \end{aligned}$$
(27)

This ellipsoid helps in studying the effects of bounded joint accelerations on operational space accelerations by assuming virtual limits on the joint accelerations.

Fig. 2
figure 2

The intersection areas between colored ellipses and black ones are proper approximations of the corresponding colored areas. Colored ellipses are dynamic manipulability ellipses with the bounded joint accelerations and \(\mathbf {W}_q = \mathbf {M}\). Blue, yellow and red ellipses are related to different norms (1, 2 and 3, respectively) of the inequality in (30). The corresponding colored polygons show the feasible task space accelerations due to torque limits and subject to (30) (Color figure online)

Fig. 3
figure 3

The intersection areas between colored ellipses and black ones in Fig. 2. The corresponding colored polygons show the feasible task space accelerations due to torque limits and subject to (30) (Color figure online)

3.3 Relation to the Gauss’ principle of least constraints

The Gauss’ principle of least constraints says that a constrained system always minimizes the inertia-weighted norm of the difference between its acceleration and what the acceleration would have been if there were no constraints (Fan et al. 2005; Lötstedt 1982). In general, robot’s motion tasks can be regarded as virtual kinematic constraints which are enforced by control torques. Thus, to calculate the unconstrained robot’s acceleration (i.e. \({\ddot{\mathbf {q}}}_u\)), both \(\mathbf {f}_c\) and \(\varvec{\tau }\) in (1) should be set to zero. So, we will have

$$\begin{aligned} \mathbf {M}{\ddot{\mathbf {q}}}_u + \mathbf {h}= 0 \, \implies \, {\ddot{\mathbf {q}}}_u = - \mathbf {M}^{-1} \mathbf {h}\, . \end{aligned}$$
(28)

Therefore, the difference between \({\ddot{\mathbf {q}}}_u\) and the robot’s acceleration in (7) is

$$\begin{aligned} {\ddot{\mathbf {q}}} - {\ddot{\mathbf {q}}}_u = \mathbf {J}_q \varvec{\tau }+ {\ddot{\mathbf {q}}}_{vg} + \mathbf {M}^{-1} \mathbf {h}= \mathbf {J}_q \varvec{\tau }- \mathbf {M}^{-1} \mathbf {J}_c^T \mathbf {f}_{vg} \, . \end{aligned}$$
(29)

It is proved in “Appendix III” of this paper that the inertia-weighted norm of this difference is always greater than left hand side of (21) if \(\mathbf {W}_q\) is set to \(\mathbf {M}\). So, one can conclude that

$$\begin{aligned} ({\ddot{\mathbf {q}}} - {\ddot{\mathbf {q}}}_u)^T \mathbf {M}({\ddot{\mathbf {q}}} - {\ddot{\mathbf {q}}}_u) \le 1 \, \implies \, \varvec{\tau }^T (\mathbf {J}_q^T \mathbf {M}\mathbf {J}_q) \varvec{\tau }\le 1 \, . \end{aligned}$$
(30)

It implies that, by setting \(\mathbf {W}_q = \mathbf {M}\), the ellipsoid in (27) represents the mapping in the task acceleration space of the function that is minimized in constrained systems according to the Gauss’ principle. Note that, in a special case, where the robot is fully actuated and there is no constraint forces, we will have \(\mathbf {J}_{q_c} = \mathbf {J}_q = \mathbf {M}^{-1}\). Therefore, in this case, setting \(\mathbf {W}_q = \mathbf {M}\) will be equivalent to setting \(\mathbf {W}_\tau = \mathbf {M}^{-1}\) according to (22). The dynamic manipulability ellipsoid for this special case (with the above mentioned setting for the weighting matrix) will be the same as the generalized inertia ellipsoid which is introduced in Asada (1983).

Figure 2 repeats the graphs in Fig. 1 including new colored ellipses and areas. The blue, yellow and red ellipses show dynamic manipulability ellipses which are calculated using (27), where the joint weighting matrix \(\mathbf {W}_q\) is set to \(\mathbf {M}\), \(\frac{1}{4}\mathbf {M}\) and \(\frac{1}{9}\mathbf {M}\), respectively. Note that, the factor of \(\mathbf {M}\) in \(\mathbf {W}_q\) actually determines the norm of the inequality in (30). Obviously, this norm is 1, 2 and 3 for the blue, yellow and red ellipses, respectively. The colored polygons in the plots represent the corresponding exact feasible areas which are the results of mapping the joint accelerations in (30) to the task acceleration space given the torque saturation limits. These areas are obtained by evaluating (11) numerically subject to the inequality in the left hand side of (30) and also the torque limits.

The intersection areas between the colored ellipses and the black ones are shown in Fig. 3. The colored polygons in this figure are the same as those in Fig. 2. According to Fig. 3, the intersection areas are reasonable approximations of the exact areas shown by corresponding colored polygons. However, in the top two plots, the approximations are not as good as the other ones. The reason is that in these two plots, there are relatively large gaps between the feasible areas due to the torque limits only (i.e. gray polygons) and the dynamic manipulability ellipse with bounded joint torques (i.e. black ellipse) which directly affects the estimation of the colored areas. This is inevitable in some configurations for robots with under-actuation and/or kinematic constraints due to the rank deficiency of \(\mathbf {J}_q\).

As it can be seen in Fig. 2, the colored ellipses for each configuration have the same shape but different sizes. The shapes are the same since they are mapping the same equation (30), and the sizes are different since the values of the norm in this equation are different. The axis of the larger radius of the colored ellipses shows the direction in the task acceleration space in which lower inertia-weighted norm of \(({\ddot{\mathbf {q}}}-{\ddot{\mathbf {q}}}_u)\) is achievable. Hence, it is ideal to have the larger radii of both black and colored ellipses in a same direction to provide larger intersection area between them. In that case, larger part of the feasible area (i.e. the gray area which is estimated by black ellipse) would be covered by the colored areas implying that more points in the operational acceleration space will be achievable by lower inertia-weighted norm of \(({\ddot{\mathbf {q}}} - {\ddot{\mathbf {q}}}_u)\). In other words, although it is beneficial to have larger ellipsoids of both types (i.e. bounded joint torques and bounded joint accelerations with \(\mathbf {W}_q = \mathbf {M}\)), it is also desirable to have both ellipsoids in a same direction to maximize the intersection area between them.

4 Manipulability metrics

We define the manipulability matrix as the matrix that determines the size and shape of the manipulability ellipsoid. Thus, if we write both manipulability ellipsoid inequalities in (17) and (27) as

$$\begin{aligned} 0 \le (\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg})^T \mathbf {A}^{-1} (\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg}) \le 1, \end{aligned}$$
(31)

then \(\mathbf {A}\) will be the manipulability matrix which is \(\mathbf {A}= \mathbf {J}_p \mathbf {W}_\tau ^{-1} \mathbf {J}_p^T\) for (17) and \(\mathbf {A}= \mathbf {J}\mathbf {J}_{q_c} \mathbf {W}_{r_q}^{-1} \mathbf {J}_{q_c}^T \mathbf {J}^T\) for (27). As mentioned earlier in Sect. 1, the square root of the determinant of the manipulability matrix (i.e. \(w = \sqrt{\mathrm {det}(\mathbf {A})}\)) is defined as a manipulability metric in most of the studies in the literature (Lee 1997; Vahrenkamp et al. 2012; Yoshikawa 1985b, 1991). This metric represents the volume of the manipulability ellipsoid and shows the ability to accelerate the point of interest in all directions in general.

Most of the times, we want to measure the ability to accelerate the robot in a certain direction. To this aim, some studies (Chiu 1987; Koeppe and Yoshikawa 1997; Lee and Lee 1988; Lee 1989) proposed the length of the manipulability ellipsoid in the desired direction as a suitable metric. This length is actually the distance between the center point and the intersection of the desired direction and surface of the ellipsoid. As an example for a 2D case, this length is shown by d in Fig. 4, where the desired direction is denoted by \(\mathbf {u}\). To calculate d, since the intersection point is on the surface of the ellipsoid, we replace \((\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg})\) with \(d \frac{\mathbf {u}}{|\mathbf {u}|}\) in the equality form of (31). Therefore,

$$\begin{aligned} \left( \frac{d \mathbf {u}}{|\mathbf {u}|}\right) ^T \mathbf {A}^{-1} \frac{d \mathbf {u}}{|\mathbf {u}|} = 1 = \frac{d^2}{|\mathbf {u}|^2} \mathbf {u}^T \mathbf {A}^{-1} \mathbf {u}, \end{aligned}$$
(32)

which implies that

$$\begin{aligned} d = |\mathbf {u}| (\mathbf {u}^T \mathbf {A}^{-1} \mathbf {u})^{-\frac{1}{2}} \, . \end{aligned}$$
(33)
Fig. 4
figure 4

An example of a manipulability ellipse and geometrical descriptions of manipulability metrics

Another useful measure would be the orthogonal projection of the ellipsoid in the desired direction which is shown by s in Fig. 4 for an example of a 2D case. This projection indicates the maximum acceleration of the point of interest in the direction \(\mathbf {u}\), though achieving that acceleration may result in some accelerations in other directions, as well. To calculate s, we use the method and equations which are described in Pope (2008). To do so, we first rewrite the ellipsoid inequality in (31) to conform with the form that is mentioned in Pope (2008). Since \(\mathbf {A}\) is a symmetric matrix, its Eigendecomposition results in \(\mathbf {A}= \mathbf {Q}\varvec{\varLambda }\mathbf {Q}^T\), where \(\mathbf {Q}\) is an orthogonal matrix and \(\varvec{\varLambda }\) is a diagonal matrix of eigenvalues of \(\mathbf {A}\). Note that \(\mathbf {A}^{-1} = \mathbf {Q}\varvec{\varLambda }^{-1} \mathbf {Q}^T\) and \(\mathbf {A}^{-1/2} = \mathbf {Q}\varvec{\varLambda }^{-1/2} = \varvec{\varLambda }^{-1/2} \mathbf {Q}^T\). So, we can rewrite (31) as

$$\begin{aligned} |(\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg})^T \mathbf {Q}\varvec{\varLambda }^{-\frac{1}{2}}| = |\varvec{\varLambda }^{-\frac{1}{2}} \mathbf {Q}^T (\ddot{\mathbf {p}} - \ddot{\mathbf {p}}_{vg})| \le 1 \, . \end{aligned}$$
(34)

According to Pope (2008), for an ellipsoid with the form of (34), s can be calculated via

$$\begin{aligned} s = \frac{|\mathbf {u}^T \mathbf {Q}\varvec{\varLambda }^{\frac{1}{2}}|}{|\mathbf {u}|} = \frac{(\mathbf {u}^T \mathbf {Q}\varvec{\varLambda }\mathbf {Q}^T \mathbf {u})^{\frac{1}{2}}}{|\mathbf {u}|} = \frac{1}{|\mathbf {u}|} (\mathbf {u}^T \mathbf {A}\mathbf {u})^{\frac{1}{2}} \end{aligned}$$
(35)

For the details of calculations readers are referred to Pope (2008).

5 Applications of manipulability metrics

In this section, we explain the application of manipulability metrics through two examples. In these examples, we (i) compare different robot configurations (in Sect. 5.1), and (ii) find an optimal configuration (in Sect. 5.2) for a robot to accelerate its end-effector in desired directions. To this aim, the proper metric is the length of manipulability ellipsoid which is d in (33). The robot is assumed to be a three degrees of freedom RRR planar robot. Each link of this robot has unit mass and unit length with its CoM at the middle point.

5.1 Example I: Comparing robot configurations

In this example, we consider six different configurations of the planar robot and plot the bounded joint torques ellipses using (17), and bounded joint accelerations ellipses using (27) for the end-effector of that robot. These ellipses are shown in Fig. 5 by black and gray colors, respectively. For the bounded joint torques ellipses we assume that the torque limits are the same for all joints (i.e. \(\tau _{max} = 0.5\)) and for the bounded joint accelerations ellipses, we set \(\mathbf {W}_q = \mathbf {M}\) to conform to the Gauss’ principle of least constraints. We also calculate lengths of the ellipses for three desired directions using (33). The desired directions are (i) the horizontal, (ii) \(45^\circ \) to the horizontal, and (iii) the vertical, which are shown by vectors in the plots in Fig. 5. The values of these lengths are reported in Tables 1 and 2 under columns \(d_1\) for bounded joint torques ellipses and \(d_2\) for bounded joint accelerations ellipses.

Fig. 5
figure 5

Comparing dynamic manipulability ellipses for the end-effector of a planar RRR robot in six different configurations. Black and gray ellipses are bounded joint torques and bounded joint accelerations ellipses, respectively. Torque saturation limits at the joints are assumed to be the same and \(\mathbf {W}_q = \mathbf {M}\) for the bounded joint accelerations ellipses to conform with the Gauss’ principle. Three desired directions are shown by vectors

In Tables 1 and 2, \(||\varvec{\tau }||\) and \(||\varvec{\tau }||_{\mathbf {M}^{-1}} = (\varvec{\tau }^T \mathbf {M}^{-1} \varvec{\tau })^{\frac{1}{2}}\) are respectively the norms and inverse inertia-weighted norms of the minimum joint torques which are required to accelerate the robot’s end-effector by one unit in the desired directions at each configuration. Minimum joint torques are calculated by using (15) assuming that \(\varvec{\tau }_0 = 0\) and also \(\ddot{\mathbf {p}}_{vg}=0\) (i.e. velocity and gravity are set to zero). Note that, for these calculations, \(\mathbf {J}_p^\#\) needs to be computed via (16) which depends onthe weighting matrix \(\mathbf {W}_\tau \). In order to be able to compare the norms of the minimum joint torques with the relevant manipulability metrics (i.e. \(d_1\) and \(d_2\)), \(\mathbf {W}_\tau \) in (16) is assumed to be identity for the torques in Table 1, and \(\mathbf {M}^{-1}\) for the torques in Table 2. Setting \(\mathbf {W}_\tau \) to identity conforms to the setting in (18) when saturation limits are the same and setting \(\mathbf {W}_\tau = \mathbf {M}^{-1}\) agrees with (30) since \(\mathbf {J}_q = \mathbf {M}^{-1}\) for this robot. It is worth mentioning that, these two settings for \(\mathbf {W}_\tau \) are the most common ones in the operational space control frameworks (Peters and Schaal 2008).

Table 1 Norm of the minimum joint torques and (black) ellipse lengths for six different robot configurations and three desired directions according to Fig. 5
Table 2 Inverse inertia-weighted norm of the minimum joint torques and (gray) ellipse lengths for six different robot configurations and three desired directions according to Fig. 5

As it can be seen in both Tables 1 and 2, wherever the norm or the weighted norm of joint torques is higher the corresponding manipulability metric is lower and vice versa. In other words, norms or weighted norms of the torques are inversely related to the corresponding manipulability metrics \(d_1\) or \(d_2\). It implies that, maximizing manipulability metrics is the dual problem of minimizing the (weighted) norm of the joint torques. Therefore, one can optimize the relevant dynamic manipulability metric in order to maximize the robot performance or efficiency to perform a certain task. This will be described in the next example.

Another advantage of using dynamic manipulability analysis is that it provides a graphical representation of the mapping from the joint torques to the operational acceleration space which can help in better understanding the problem specially if it is a planar one. For example, comparing the plots in each row of Fig. 5, one can conclude that the left hand side ones are referring to better (more efficient) configurations for accelerating the robot’s end-effector in the desired directions. This is because both black and gray ellipses in the left column plots (odd numbers) are extended in the same direction as the desired ones, whereas in the right column plots (even numbers) at least one of the ellipses is not extended in the desired direction. This conclusion agrees with the values mentioned in the diagonal components of Tables 1 and 2 since the norm or weighted norm of the joint torques are lower in odd number plots compared to the corresponding even ones.

5.2 Example II: Optimizing the robot configuration

In the second example, we find optimal configurations for the robot in order to minimize the norm and inverse inertia-weighted norm of the joint torques. The task is to accelerate the robot’s end-effector in the direction of \(60^\circ \) to the horizontal while the position of the end-effector is at \(\mathbf {p}= (0.5,1.5)\). This is a typical redundancy resolution problem in the operational space control. Figure 6 shows bounded joint torques ellipses (black) and bounded joint accelerations (conforms with the Gauss’ principle) ellipses (gray) for the robot in two optimal configurations. These configurations, which are shown in the right column of Fig. 6, are the outcomes of an optimization algorithm. This algorithm maximizes the length of black and gray ellipses in the desired direction for the bottom and top plots, respectively. The desired direction is shown by vectors in the plots. The optimization problem has the following form:

$$\begin{aligned} \begin{aligned}&\underset{\mathbf {q}}{\text {maximize}}&d(\mathbf {q}) \\&\text {subject to}&\mathbf {q}_l \le \mathbf {q}\le \mathbf {q}_u \end{aligned} \end{aligned}$$
(36)

where \(\mathbf {q}_l\) and \(\mathbf {q}_u\) are the lower and upper limits of the joints. Note that d is calculated using (33) and is dependent on \(\mathbf {q}\) via the \(\mathbf {A}\) matrix.

Fig. 6
figure 6

Two optimal configurations for a planar RRR robot (right column) and corresponding dynamic manipulability ellipses (left column). The black and gray ellipses are bounded joint torques and bounded joint accelerations ellipses, respectively. For the former, torque saturation limits at the joints are assumed to be the same and for the latter \(\mathbf {W}_q = \mathbf {M}\) to conform to the Gauss’ principle

According to Fig. 6, depending on the objective function, which is maximizing the length of either black or gray ellipse in the desired direction, the optimal configuration of the robot is different. The values of the optimal lengths of the black and gray ellipses are mentioned in Table 3 under columns \(d_1\) and \(d_2\), respectively. The norm and inverse inertia-weighted norm of required joint torques in the optimal configurations are also reported in the table. As can be seen in this table, the norm of the joint torques is lower in the bottom plot compared to the top one, whereas the inverse inertia-weighted norm of the joint torques in the top plot is lower compared to the bottom one. This agrees with the values of \(d_1\) and \(d_2\) which are the corresponding metrics. Note that, inverse inertia-weighed norm of the joint torques is representing the inertia-weighted norm of \(({\ddot{\mathbf {q}}} - {\ddot{\mathbf {q}}}_u)\) for this robot. It implies that in the top plot, the inertia-weighted norm of joint accelerations is lower although the norm of the joint torques is higher. Therefore, by using dynamic manipulability analysis, we can optimize a robot’s configuration in terms of torque and/or acceleration efficiency. It is worth mentioning that, in this particular example, even the norm of joint accelerations is lower in the top plot compared to the bottom one. The values of joint accelerations, required to accelerate the end-effector in the desired direction, are \({\ddot{\mathbf {q}}}_{bottom} = (0.53, -1.14, 1.99)^T\) for the bottom plot and \({\ddot{\mathbf {q}}}_{top} = (0.12, 0.23, -1.23)^T\) for the top one. So, the norm of joint accelerations are 2.36 and 1.26, respectively.

Table 3 Norm and weighted norm of the minimum joint torques and lengths of the ellipses for two optimal robot configurations in Fig. 6

6 Conclusion

We revisited the concept of dynamic manipulability analysis for robots and derived the corresponding equations for floating base robots with multiple contacts with the environment. The outcomes of this analysis are a manipulability ellipsoid which is dependent on a weighting matrix, and different manipulability metrics which are extracted from the ellipsoid. We described the importance of the weighting matrix which is included in the equations and claimed that, by using proper weighting matrix, dynamic manipulability can be a useful tool in order to study, analyse and measure physical abilities of robots in different tasks. We suggested two physically meaningful options for the weighting matrix and explained their applications in comparing different robot configurations and finding an optimal one using two illustrative examples. The dynamic manipulability analysis can be performed for any point of interest of a robot according to the desired task.