Introduction
There are many examples in literature that have highlighted the importance of human-likeness (HL) to ensure a safe and effective Human-Robot Interaction (HRI) [
1,
2]. This aspect has gained increasing attention, since it could open interesting perspectives for the control of artificial systems that closely interact with humans, as is the case of assistive, companion and rehabilitative robots. For the latter category, for example, human-inspired movement profiles - which are characterized by i) low jerk values at the Cartesian or joint level and ii) bell-shaped velocity profiles (see [
3‐
5]) - could be used as reference trajectories for rehabilitation exoskeletons ([
6‐
9], see also [
10,
11] for review), as an alternative to, and/or in association with, classic rehabilitation procedures [
12‐
14].
Indeed, the motion of a robot that shares its environment with humans can be more easily
predicted, and hence accepted, by the user, if its movements are designed taking inspiration from actual human movements [
1,
15], leading to a general enhancement in terms of system usability and effectiveness, especially in assistive robotics applications [
16‐
18]. However, the design of control laws, which effectively ensure human-like behavior in robotic systems, is not straightforward, representing an important topic within the general framework of robot motion planning.
Usually, HL is achieved leveraging on a vast neuroscientific literature to devise cost functions (see [
3]), whose optimization introduces HL characteristics in the motion. For example, in [
26] human-like artificial motions were generated through jerk minimization, while in [
33] the Authors exploited the minimization of joint torques, and in [
27] the Virtual Spring-Damper Hypothesis was proposed. Neural Networks have also been used for human-like character animation [
29‐
31]. However, optimization-based methods usually come with hypotheses on motion generation that may limit the variability of the planned movement and, sometimes also lack experimental support [
34]. On the other hand, learning methods typically require a large dataset whose dimensionality dramatically increases with task complexity.
To the best of authors’ knowledge, a direct exploitation of human observations for robotic arm motion generation has not been applied yet. This approach would come with several advantages, since human-likeness would be intrinsically guaranteed. However, a mere copy-cutting from nature would be unfeasible, and clearly a daunting task. What we propose instead is to use neuromechanistic data, intended here in terms of time-modulation of joint angular values, and model them with a mathematical language, which can be easily understood and effectively implemented in an artificial body. A notable example of this approach is represented by the concept of hand postural synergies, which was mathematically modelled in [
35], and then successfully exploited for the design and control of robotic end-effectors and for grasp planning [
36‐
38].
In this work, we propose to directly embed human upper limb principal motion modes for the planning of anthropomorphic manipulators. To this end, we recorded and organized the joint trajectories of the arm of human subjects performing a set of Daily Living Activities (ADLs) to build a comprehensive dataset. We then applied statistical analysis [
39] (namely functional Principal Component Analysis, fPCA) to extract a reduced number of basis functions, or
functional Principal Components, which explain, for each joint, most of the trajectory variability. As reported later, our results show that a weighted sum of only three functional components takes into account more than 80% of the total variance at joint level.
Capitalizing on these results, we then formulate the planning problem - for a given anthropomorphic manipulator - as an optimization problem. More specifically, the final motion of the manipulator is obtained by solving an optimization problem in a latent space defined by the weights of the functional Principal Components. The core idea of the proposed approach is to use the functional Principal Components extracted from the observations of human movements as basis elements, whose combination is used to optimize the generation of any point-to-point trajectory of the arm in a dummy human. For free-motions, our method results into a closed form solution, which uses only one functional Principal Component.
This methodology comes with a significant perspective shift: from the search for optimal paths to the identification of a reduced number of scalars weighting the functional components. This could enable to rapidly achieve a solution for the planner, which is intrinsically human-like. To further increase the cost-effectiveness of our method, we propose an incremental enrollment of the functional components, as suggested in [
40]. In this manner, the number of functional Principal Components needed to perform the task is tailored on task complexity, avoiding the useless inclusion of higher order functional Principal Components.
We demonstrate in simulations that our techniques can generate human-like motion using a reduced number of functional components. The human-likeliness of the generated movements is evaluated according to the indexes reported in [
3, Appendix] observing the velocity profiles and jerk values [
4,
41].
To conclude, this paper contributes with: i) an extensive study on human upper limb functional Principal Components, which we have pursued by applying our functional analysis approach reported in [
39] to a dataset obtained by enrolling a substantially increased number of participants (33) in the experiments; ii) a new methodology for human-like motion generation, which we have applied to the case of point-to-point motions with and without obstacle avoidance, which intrinsically embeds the principal modes of human upper limb motions; iii) simulation results, that show the effectiveness of our method.
Motion generation via functional principal components
As discussed in the Introduction, typical approaches used in literature to achieve human likeness [
26] in robotic motions rely on the strong assumption that human movements are generated by optimizing a known cost function
\(J_{\text {hl}}(q):\mathrm {C}_{7}^{1}[0,t'_{\text {fin}}) \rightarrow \mathbb {R}^{+}\), where
\(\mathrm {C}_{7}^{1}[0,t'_{\text {fin}})\) is the space of smooth functions going from [0,
tfin′) to the joint space
\(\mathbb {R}^{7}\), and
\(t^{\prime }_{\text {fin}}\) is the final time, which in general will be different from
tfin as defined in the previous section. The function
Jhl is used to produce artificial natural motions by solving the problem
$$ \min_{q \in \mathrm{C}_{7}^{1}[0,t'_{\text{fin}})} \quad J_{\text{hl}}(q) \;. $$
(9)
How to choose Jhl is not obvious, and it is indeed a very debated topic in literature. However only achieving human likeness is meaningless without specifying also a task to be accomplished.
For this reason also a model of the task should be added to (
9). We formulate the latter point in terms of the minimization of an additional cost function
\(J_{\text {task}}:\mathrm {C}_{7}^{1} \rightarrow \mathbb {R}^{+}\). As soon as the need for minimizing
Jtask is introduced, (
9) becomes a multi-objective optimization, which is of very difficult formulation and solution, except for very simple cases [
26].
In this work, we propose an approach that allows to by-pass this issue. Instead of using data to guess a reasonable
Jhl(·), and then explicitly optimize it, we propose to directly embed human likeness in the choice of the functional subspace where the optimization occurs. More specifically, we move from the infinite dimensional functional space
\(\mathrm {C}_{7}^{1}[0,t'_{\text {fin}})\), to its finite dimensional subspace containing all the functions so constructed:
$$ q(t) = \bar{q} + S_{0}(t'(t)) + \sum_{i = 1}^{M} \alpha_{i} \circ S_{i} (t'(t)) $$
(10)
with \(\bar {q},S_{i},\alpha _{i}\) defined as in the previous section and t′ is a linear warping w.r.t. the definition of time used in the previous section, i.e. \(t'(t) = \frac {t'_{\text {fin}}}{t_{\text {fin}}} t\). In this way the principal components can be used to generate motions happening within any time horizon [0,tfin′).
M≤
smax is the number of functional Principal Components considered in the optimization (with
smax as in (
5)). According to the results preliminary presented in [
39] and further extended and confirmed in this paper, it is plausible to expect that a low number of functional Principal Components should be sufficient to implement most of the human-like motions at the joint level. Therefore the multi-object and unconstrained optimization can be formulated as the following constrained optimization problem:
$$ \begin{aligned} &\!\min_{\bar{q}, \alpha_{1},\dots,\alpha_{M}} &\qquad& J_{\text{task}}(q)\\ &\text{subject to} & &q(t') = \bar{q} + S_{0}(t') + \sum_{i = 1}^{M} \alpha_{i} \circ S_{i} (t') \;. \end{aligned} $$
(11)
In this manner, we can narrow the search space, with the twofold purpose of ensuring human likeness, and strongly simplifying the control problem (indeed, the search space is now of dimension M+1). In the following subsections we present the application of this approach, tailoring Jtask on the generation of simple point-to-point free movements, as well as more complex motions with obstacle avoidance.
Point-to-Point free motions
We propose here to generate a human-like point-to-point motion by solving the following optimization problem, instance of the more general formulation (
11)
$$ \begin{aligned} &\!\min_{\bar{q}, \alpha_{1},\dots,\alpha_{M}} &\qquad& || q(0) - q_{0} ||^{2}_{2} + || q(t'_{\text{fin}}) - q_{\text{fin}}||^{2}_{2}\\ &\text{subject to} & &q(t') = \bar{q} + S_{0}(t') + \sum_{i = 1}^{M} \alpha_{i} \circ S_{i} (t') \;, \end{aligned} $$
(12)
where
q(0) and
q(
tfin′) are the initial and final poses of the calculated trajectory, while
q0 and
qfin are the desired initial and final poses respectively. In this simple case, a single functional Principal Component (i.e.
M=1) is already sufficient to solve (
12) with zero error.
We start by imposing the zero error conditions
q0=
q(0),
qfin=
q(
tfin′), which can be rewritten by using (
10)
$$ \begin{aligned} q_{0} &= \bar{q} + S_{0}(0) + \alpha_{1} \circ S_{1} (0) \\ q_{\text{fin}} &= \bar{q} + S_{0}(t'_{\text{fin}}) + \alpha_{1} \circ S_{1}(t'_{\text{fin}}) \;. \end{aligned} $$
(13)
We subtract the second equation from the first, and exploit the associativeness of Hadamard product, to obtain
$$ \begin{aligned} &q_{\text{fin}} - q_{0} = S_{0}(t'_{\text{fin}}) - S_{0}(0) + \alpha_{1} \circ (S_{1}(t'_{\text{fin}}) - S_{1}(0)), \end{aligned} $$
(14)
which implies
$$ \begin{aligned} {} \alpha_{1} &= [(q_{\text{fin}} \!- q_{0}) - (S_{0}(t'_{\text{fin}}) - S_{0}(0))] \circ (S_{1}(t'_{\text{fin}}) - S_{1}(0))^{\circ -1} \end{aligned} $$
(15)
where
∘−1 is the Hadamard inverse, as defined in [
44]. Substituting (
15) back into (
13) yields
$$ \begin{aligned} \bar{q} &= q_{0} - \alpha_{1} \circ S_{1} (0) \\ &= q_{0} - [[(q_{\text{fin}} - q_{0}) - (S_{0}(t'_{\text{fin}}) - S_{0}(0))] \\ & \qquad \circ (S_{1}(t'_{\text{fin}}) - S_{1}(0))^{\circ -1}] \circ S_{1} (0) \;, \end{aligned} $$
(16)
which fully specifies the trajectory that performs the point to point motion while being human-like.
Obstacle avoidance
Let us consider the case in which we also need to avoid one or more obstacles, while performing the point-to-point motion. We can generalize the generation of the human-like trajectory as
$$ \begin{aligned} &\!\min_{\bar{q}, \alpha_{1},\dots,\alpha_{M}} &\qquad& \left|\left| \left[\begin{array}{l} q(0) - q_{0} \\ q(t'_{\text{fin}}) - q_{\text{fin}} \end{array}\right] \right|\right|_{2}^{2} + \rho P(q, P_{O})\\ &\text{subject to} & &q(t') = \bar{q} + S_{0}(t') + \sum_{i = 1}^{M} \alpha_{i} \circ S_{i} (t') \;. \end{aligned} $$
(17)
Two terms can be distinguished in this cost function. The first contribution guarantees that the desired initial and final poses are achieved, as for the free motion case (
12). The second term takes into account the distance w.r.t. obstacles. For the sake of conciseness, and without any loss of generality, we assume here
NO spherical obstacles. We call
\(P_{\mathrm {O}} = \{P_{\mathrm {O}_{1}},\dots,P_{\mathrm {O}_{N_{\mathrm {O}}}}\}\) the set containing the Cartesian coordinates of all the centers of these obstacles.
P(
q,
PO) is a potential-based function [
45] that sums up, for each obstacle, a term inversely proportional to the minimum distance between the obstacle and the closest joint trajectory, i.e.
$$ P(q, P_{O}) = \sum_{i = 1}^{N_{O}} \frac{1}{m_{i}(q([0,t'_{\text{fin}}}]), P_{\mathrm{O}_{i}})^{2} $$
(18)
where
mi is the distance between the arm and the
i−
th obstacle, defined as
$$m_{i}(q([0,t'_{\text{fin}}]), P_{\mathrm{O}_{i}}) = \min_{k} \{ d(h_{k}(q([0,t'_{\text{fin}}])), P_{\mathrm{O}_{i}})\} \;.$$
The distance between the
k−
th point of contact with forward kinematics
hk, and the
i−
th sphere is
$$ \begin{aligned} d(h_{k}(q([0,t'_{\text{fin}}])), P_{\mathrm{O}_{i}}) = \max\left\{\min_{x \in h_{k}(q([0,t'_{\text{fin}}]))} ||P_{\mathrm{O}_{i}} - x||_{2}, R_{\mathrm{O}_{i}}\right\} \;, \end{aligned} $$
(19)
with \(R_{O_{i}}\) radius of the sphere.
Incremental optimization procedure
The problem of motion generation with obstacle avoidance does not have a closed-form solution, hence the optimal trajectory is calculated via numerical optimization. To do this, we took inspiration by the ordering of fPCs basis, according to a descending amount of the associated explained variance, and implemented an incremental procedure reported in Algorithm blue1.
The proposed approach calculates for each step the optimal trajectory that minimizes the error in starting and final position while maximizing the distance from the obstacles. We consider as initial condition the one specified by (
15) and (
16). If the corresponding solution is sufficiently far from the obstacles, this choice already defines the globally optimal solution. If the obstacles are not very close to the aforementioned trajectory, then solving (
17) with
M=1 would fine tune the initial guess, achieving good results.
In case of obstacles very close to or even intercepting the free-motion trajectory, at least one more fPC should be enrolled to suitably solve the problem. The more are the basis elements enrolled, the more complex are the final trajectories that can be implemented. However, a higher cardinality of enrolled elements usually comes with a larger computational cost and dramatically increases the number of local minima, thus boosting the complexity of the problem.
Discussions
In this paper, we presented a novel method to endow robotic manipulators with human-like movements by directly using human principal motion modes identified through functional analysis. In this way, human-likeness is intrinsically guaranteed.
This leaves room to optimize other aspects related to motion generation, such as obstacle avoidance - as done in this work - energetic consumption, joint torques, time efficiency and so on. It is worth noticing that the aim of our work is not to solve planning problems but instead to propose a new method for intrinsically embedding human-likeness in motion generation. Future work will encompass the evaluation with sophisticated planning problems and state of the art planning benchmarks.
In the general case, the resulting optimization problem deals with a non-linear cost function which may present local minima. The current implementation relies on the MATLAB
optimization routine fmincon
, which implements a gradient-based local optimization. This does not necessarily guarantee the convergence to the global optimum, for which the use of global optimization algorithms would be needed and will be considered as future work. Moreover, any comparison with other existing algorithms in terms of execution time is beyond the scope of this work. Nevertheless, we do believe that the proposed method could also enable a strong reduction of the computational costs w.r.t. state of the art algorithms, since the optimization space is constrained to a reduced set of parameters (i.e. the principal function weights) instead of the whole evolution of the robot pose. Future work will focus on more efficient implementation of the proposed algorithm.
Note that the method is specifically tailored on systems having the same kinematic structure of the human upper limb i.e the kinematic model used to describe human upper limb. The major limitation of this specific implementation is that the direct generalization to other kinematics is not straightforward and would require to solve a mapping problem. A solution could be to select a mapping policy as done in [
46]. An approach based on Impedance Control [
47] could also be used to define a framework for which the trajectories generated with our approach can be used as a reference for the controller of a generic anthropomorphic manipulator (see [
48].)
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.