Endowing robots with human-like motion has been a long desired goal for roboticists, operators and casual users, specially in areas such as human robot collaboration [9, 12, 19, 31], social robotics 25, 3]. Inverse Kinematic (IK) solvers have been used to convert human arms’ exhibited trajectories to robot joint motions and configurations that resemble the human movement. Nevertheless, current IK methods do not provide ”solutions” that resemble the human motion when the DOF of the manipulators differ significantly from those of the human arm  leading to resulting poses that look unnatural, or singularities along the trajectory causing instability. Such motions are unnatural in the sense that they lack motion economy and self-occlusion of the working area or operating field, as opposed to human motion during work [12, 31]. Aristidou et. al proposed a IK method called FABRIK [6, 5] that showed potential for tackling these problems. FABRIK produces smooth, human-like motions at a very low computational cost in human avatars and complex worm-type IK-structures. Nevertheless, when this algorithm is applied to manipulators, because their joint configuration differs from the humans’, the solver can produce less natural poses and is often unable to converge to a solution . Thus, this paper proposes a novel constraint model for human pose and motion imitation and IK solver for Pose Imitation Constraints (PIC) inspired by the FABRIK algorithm. PIC aims to produce natural human-like motions of the original algorithm, while mitigating the problems that appear when applying FABRIK to manipulators when resembling human motion
First, we present a system of robot constraints for human pose imitation. In our algorithm we define a model for the human pose and then map that model to the robot. To achieve this human-robot mapping, we mark an arbitrary subset of three joints in the manipulator (sequentially selected) as the ’shoulder’, ’elbow’ and ’wrist’. In this model, the constraints are not represented as rigid angles between joints  but as solution spaces for the selected ’shoulder’, ’elbow’ and ’wrist’ links. Then, the pose model is solved by PIC. This algorithm borrows the iterative backward-forward approach to converge to a pose from FABRIK, but adds a different constraint treatment. In FABRIK, every joint restriction is assumed to be independent from the other joints. Conversely, in PIC, the backward loop is used to adjust for the constraints that depend on previous links. This allows to optimize for the human constraint model at very low computational cost (at most 20 iterations). In addition, we propose a soft version of the PIC algorithm called PICs. The PICs method expands the pose constraint ranges of the robot joints when a solution cannot be found under the original setup of constraints.
. Thus, we chose two tasks for human pose imitation and measured pose similarity and target occlusion. In the assembly task, we focus on two actions: in the first, one agent aligns two blocks that will need to be assembled together in the next turn by a collaborator. The second task is a incision on a suture kit, where one agent follows the incision lines on the pad demonstrated by another agent.
Two robots with very different kinematic structures attempted to imitate the movements shown by the human: a simplified Baxter Robot and an ABB YuMi 1400. Three different algorithms were tested on the imitation phase: (1) The proposed PIC, (2) the soft constrain version of the method PICs and (3) the original FABRIK . This work shows that both PIC and its soft version PICs perform better than FABRIK in pose similarity and target occlusion/obstruction, while maintaining the low computational complexity and the motion smoothness of the original algorithm. On average, PICs increased the pose similarity achieved through FABRIK by 56%. In addition, PICs reduced the self occlusion during incision by 60% and PIC reduced the obstruction during assembly by 22%.
This work has three main contributions: 1) A pose imitation constraint model that easily maps humans movements to robots naturally, 2) Two flavors of a pose imitation solver (PIC and PICs) that can be generalized to a variety kinematic structures and 3) A case study involving a simulation of two different robots imitating human task performance during different tasks in real time.
Ii Previous work
Creating solvers that can imitate human motions has been thoroughly discussed in 
. Consequently, we divide solver techniques into three main groups: analytical, numerical and heuristic. Most of the methods in the analytical category determine closed form solutions that can map human motion to manipulator’s kinematics. The work in uses analytic expressions to map the human’s position and orientation to a humanoid’s reference frame. Then, the IK problem is solved for each joint sequentially and later concatenating those partial solutions into a single one. In  analytical IK expressions were determined for each human joint and then an iterative solver was applied to enforce kinematic and balance constraints in a robot. More recently, the work in  proposed closed form formulas to map human joint angles to a NAO robot’s joint angles. These constrains were projected onto the null space of the Jacobian to produce anthropomorphic motions. Analytical methods have the disadvantage of producing singularities when following human poses and trajectories. In addition, these analytical solvers depend on the task work-space and robot links’ physical dimensions, making these methods difficult to generalize.
Numerical methods for pose imitation as applied in a procedure as follows: First, the observed human movements are scaled to the robot’s workspace. Then, a numerical solution with additional constraints (in the robot’s joint angles or velocities) is used to replicate the demonstrated motions. The method in 
presented a dynamically stable imitation algorithm that uses scaling and zero moment points to map the original trajectory to a more feasible one. Then, the new trajectory is solved using the IK method developed by. Another technique models the desired posture as a set of target joint torques and a center of pressure . The goal consists of minimizing the difference between the real and the target joint torques. In , a method is proposed to imitate dancing motions by dividing the movement into motion primitives and then using the solver proposed by  to adapt the joint angles and velocities to a humanoid robot. These works have two main disadvantages over the heuristic methods: they have a high computational cost and need fine tuning during the optimization steps .
Heuristic based methods are iterative low-cost solvers that rely on simpler formulations of the kinematic problem. The CCD method , a popular heuristic solver, has been adapted and extended to produce anthropomorphous motion, such as in . This method scales the original poses to fit the target structure. The modified CCD works only if there is a resemblance between the human and the target robot/mimicker. In addition, Kenwright et al, fine-tuned the CCD algorithm to produce more anthropomorphous movements . This implementation can use complex IK structures, unlike the original method. Such approaches carry some of the weaknesses of the original CCD, such as unstable solutions. Conversely, FABRIK is another solver that has become popular in recent years due to it’s human-like smooth performance . This method runs a ”backward” and a ”forward” pass on a structure until the target movement is reached. FABRIK has been enhanced to incorporate human constraints . This constrained version of the algorithm has been used for imitating locomotion  in simulated humans but has not shown equal success with manipulator movements . Our work proposes a formulation for human pose imitation that leverages on the FABRIK algorithm. We propose a human constraint model that can be applied to a variety kinematic chains while keep a natural movement appearance and through economy of motion.
A pose can be defined by the relative position between the joints. In the human arm there are three joints (excluding the hand): the shoulder, the elbow, and the wrist. The 27 hand joints  are not being considered in this paper, since most robotic grippers only have one to three DOF. Unlike joint based constraints, the Pose Imitation Constraints (PIC) are designed to be independent of the morphology of each robot or its parameters.
Iii-a Anthropomorphous Constraints
This section defines a set of concepts necessary to model a human pose. Let , were be the set of human joints in the human arm (shoulder, elbow and wrist). Let be a coordinate system located at joint aligned with the world’s reference frame (the denotes that the coordinate system is attached to a human joint). Each coordinate frame is divided into 8 octants, where is the octant of the coordinate frame (see Figure 0(a)). Octants are the extension of quadrants to three dimensions. Finally, a human pose constraint is defined by a pair of octants , where and . The first octant defines the constraint space for the link attached to joint . We define this octant area as an OUT constraint, since the link going OUT of joint has a range of motion limited to octant . The next octant () is defined as an IN constraint, since it defines the allowed area for the previous link attached to joint . The example in Figure 0(a) shows the OUT constraints in blue and the IN constraints in yellow.
A human pose will be defined by two pairs of constraints. One between the shoulder and elbow and one between the elbow and wrist (See Equation 1). For example, the constraint model shown in Figure 0(a) (Left), can be represented by the following octant pairs: . Without loss of generality, for any two joints, and a division into octants we get:
The purpose of this constraint system is to define a model in a space that can be easily mapped to a variety of robots. This has the potential of facilitating imitation tasks in classrooms with heterogeneous robots. Let be the set of joints of a robot, where is the total number of joints in the system. Similar to the human model, we create a set of 3 coordinate frames that are aligned with the robot’s wold reference frame. Each reference frame is then defined as: where and the origin of the frame is located at joint (the denotes the coordinate system as attached to a robot joint). These coordinate systems are also divided into octant regions, where is the octant of the coordinate frame. Finally, we define a robot pose using 4 octants as we did with the human pose: , where .
Let be the function that maps the constraint system from the human to the robot (with each is divided into octants). The mapping assigns the three human joints to any three robot joints and then applies the octant constraints at those respective joints. Equation 2 defines given that the human shoulder, elbow and wrist are mapped to the robot joints and . Figure 0(a) shows an example mapping from human to robot constraints. Figure 0(b) shows the resulting mapping in more detail.
Iii-B PIC and PICs algorithms
In the previous section we introduced two types of constraints: IN and OUT. An OUT constraint can be treated as a regular constraint on the range of movement of a joint. Conversely, the IN constraint determines the position where the end of the link is located and therefore restricts the region at which that link can connect with the next one. In this section we will explain how the PIC and PICs algorithms can optimize for both constraint types.
Iii-B1 FABRIK review
The PIC algorithm is based on the FABRIK method . FABRIK proposes to reach a target by performing a ”backward” step followed by a ”forward” step in a loop. The ”backward” pass places the final link at the target we want to reach and tilt this link towards the end of the previous link. The same process is done to all the subsequent links in decreasing order. By the end of the ”backward” pass the IK structure has a joint configuration that is similar to the original one, with the gripper at the target point and the first link displaced from the base. Then, a ”forward” pass is performed, placing the first link at the base and tilting it towards the second link. This step is repeated for all the links in increasing order. When the ”forward” pass is over, the IK structure displays a pose much closer to the goal than it was in the previous step. The backward and forward steps are performed iteratively until a minimum error between the current and target position is reached.
Iii-B2 PIC algorithm
The proposed PIC algorithm optimizes the IN constraints in the backward pass and the OUT constraints in the forward pass, as shown in Figure 1(a). The OUT constraints (see Figure 1(c)) are easy to handle because they depend solely on the joint where the constraint is located. Since the forward pass determines the final orientation of each link, the PIC algorithm just needs to restrict the range of motion of the links to the specified octants.
The IN constraint is more complex to enforce because it depends on the solutions of the previous joints. For example, in Figure 1(b) the constraint depends on the solutions for joins 1 and 2 and the constraint depends on the joints 1 to 4. The backward loop determines the joint positions and orientations in a reverse order (from the gripper to the base). Creating a constraint at the joint would force the previous joints to adjust to the orientation change. Thus, the PIC enforces the IN constraints at the backward pass. At the the beginning of the PIC run, the IN constraints are set and updated with the forward pass, but as the algorithm converges, the changes in the kinematic chain become smaller and the constraints in the backward loop are preserved.
Finally, if orientation of a link does not fall inside the Octant region, PIC projects the constrained link to the closest plane to that Octant, as shown in Figure 3.
Iii-B3 PICs algorithm
Constraining the robot to maintain the pose defined by a mapped logically decreases the size of its solution space. This might cause the target pose to be unreachable by the robot. In order to alleviate this problem, we developed a constraint softening method called Pose Imitation Constraint-soft (PICs). The PICs algorithm uses the same backward-forward logic to optimize for IN-OUT constraints. The difference lies on the link orientation calculation: when a link falls outside of the constraint region, PICs adds the the neighboring octants to the admissible range of motion, allowing the link to get closer to it’s intended target. Finally, a neighboring Octant can be defined as follows: Let and be the and Octants in a coordinate system at any joint. Let and be the sings of the axis for and at the coordinate system . We say is a neighbor of if the following condition holds:
Where is the hamming distance between sequences  and is the softening factor. The softening factor is the neighbor distance allowed by the constraints. If , the neighboring Octants are allowed to have only one axis that does not match. Thus, Octants with two common axis can be added to the range of motion. Subsequently, if the Octants with one common axis can be added to the link’s range of motion.
Fifty human/teacher demonstrations were collected to be imitated by a simplified YuMi and a Baxter robot. The tasks were recorded with a Kinect 2 and the skeleton data obtained by the Kinect sensor for each arm were used as inputs for this experiment. First, the position signals of each joint filtered independently using exponential smoothing. Then, the filtered signals obtained from the human skeleton were multiplied by the a transformation matrix, so the captured motion would match the robot motion’s position and scale.
Two tasks were proposed for this work. The first one in a surgical incision, with two possible variations: a) a straight line, b) a curve. The second one is an assembly task, where two pieces had to be aligned with respect to a particular plane. This task was subdivided in three types, depending on the plane that the human was aligning to. The tasks were recorded to study the effect of the pose imitation with multiple robots. The setting is that of a teacher in a classroom with two robot learners. Figure 4 shows the tasks in more detail. For each task, ten different human samples were collected. During the incision, it is desired for the robot to minimize the self occlusion, since surgeons do the same to accurately evaluate their work. For the assembly task, we assume there is a collaborator at the other side of the table. This collaborator would continue with the next assembly step when the robot finishes aligning the pieces (see Figure 3(b)). In the case of assembly is desirable to minimize the robot obstruction, so the collaborator can easily perform the next step.
Iv-B Algorithms and metrics
Three algorithms were implemented to perform the tasks: 1) PIC, 2) PICs and 3) FABRIK . To assess the pose imitation performance in multiple robots, a set of metrics were defined. First, we define the pose similarity according to  as the angle between the shoulder and the wrist link. Then, we define the Pose Accuracy () as the normalized number of data points where mean squared error of two pose angles is less than a threshold :
Where is the angle between the shoulder and elbow link for the human at a given frame where . The robot has an equivalent measurement.
A second metric mas created to measure the effect of PIC in the range of movement available for the robot and the collaborator. Let be the the Percentage of Occlusion/Obstruction during a task. The metric is based on the occlusion that the robot/human creates on a Region of Interest (ROI) inside a plane. For the the incision task, we are interested on the occlusion caused to the plane and ROI that match the incision pad. Thus, the metric is obtained by projecting each link on the plane that aligns with the surgical pad. Then, the area under each projected link is calculated and normalized by the ROI’s area (See Figure 5).
Let be the 2D line equation that represents the projection of each link segment into the pad and be the area of the Region of Interest in the plane. Then, the Percentage of Occlusion (PO) can be calculated as:
Where and are the values with respect to the -axis of the ROI’s plane, for link and link respectively, and is the height of the ROI. Figure 4(a) illustrates the occluded area of the human skeleton (skeleton in yellow) and Figure 4(b) shows the occluded area by the robot (robot skeleton in white and green).
For the assembly task, the metric was used to determine the percentage of obstruction for the collaborator. In this scenario, the plane of projection was aligned with the insertion area (See blue region in Figure 3(b)). And the ROI’s size was empirically determined to match the robot’s size.
|YuMi||Incision - S||0.17||0.84||0.67|
|Incision - C||0.00||0.70||0.50|
|Baxter||Incision - S||0.29||0.70||0.65|
|Incision - C||0.25||0.74||0.82|
A Baxter and a YuMi robot performed 50 human demonstrations, as described in the previous section. Three algorithms were evaluated: 1) The proposed PIC, 2) PICs and 3) FABRIK . The Pose Accuracy (Pacc) achieved for the incision and assembly tasks is shown in Table I.
Both versions of the pose imitation algorithm outperform FABRIK in average Pose Accuracy. During the incision task, PIC achieved an average Pose Accuracy (Pacc) of 75% (16), PICs () achieved a Pacc of 66% (16) while FABRIK produced a Pacc of 18% (14). In addition, both PIC and PICs outperformed FABRIK during the assembly task, obtaining an average Pose Accuracy of 38%(31) and 52%(29) respectively. In contrast, FABRIK only produced a pose similarity of 29%(
30) for this task. The assembly task proved to be much more challenging for both robots when it came to following the human pose, producing a higher variance. Finally, the two flavors of PIC showed a better Pose Accuracy than FABRIK for both Baxter and YuMi in all the task repetitions. This results indicate that the proposed algorithm can handle human imitation for kinematic structures that vary in size, and DoF.
The softening effect of the PICs algorithm over the Pose Accuracy was calculated and compared against PIC and FABRIK. Figure 6 shows the average pose similarity of both FABRIK and PICs for all softening levels , over the two incisions and the three assemblies. The results show that the higher the value of (the softening parameter), the greater the average Pose Accuracy between both tasks.
This effect over the Pose Accuracy (Pacc) is likely due to the fact that in the PIC algorithm the OUT constraints take precedence over the IN constraints. This precedence occurs because the OUT constraints are always enforced last. If the OUT region is too limited, the algorithm might override the solution for the IN constraint found in the previous step. Thus, a higher value for in PICs translates a to better pose imitation performance, because the algorithm allows a higher range of motion on each constrained joint. This creates a bigger solution space where the OUT constraints don’t have to override the IN constraints to find the target pose.
The Percentage of Occlusion/Obstruction (PO) was obtained for both incision and assembly. In each data sample, this metric was calculated only when when the human wrist was hovering over the ROI (see Equation 5). Table II shows the Percentage of Occlusion (self-occlusion) for the incision task. The FABRIK baseline achieves an average PO of 10% (4%) and its Pose Imitation counterparts achieve an occlusion of 4% (3%) and 9% (10%) for PIC and PICs respectively. Thus, PIC produces an Occlusion reduction of 56% with respect to FABRIK.
In addition, the Percentage of Obstruction (PO) was studied for the assembly tasks (see Table III). In this scenarios, FABRIC, PIC and PICs produced comparable results. In particular, FABRIC produced a PO of 9%(6%) PIC of 8%(5%) and PICs achieved 7%(4%) of obstruction. Nevertheless, the PICs method still reduced the collaborator obstruction by 22%.
For both tasks, PIC or it’s soft version exhibited a smaller PO than FABRIK. These results indicate that both pose imitation algorithms are better at minimizing the occlusion. In addition, the PIC algorithm produced an occlusion level that is very close to the original human’s (see Tables II and III. As discussed above, the PIC shows a stronger preference for the OUT constraints. Thus, these constraints have a direct effect on the occlusion.
The softening effect using the PICs algorithm was also studied for occlusion. Figure 8 depicts the PO for FABRIK, PIC and for all levels of in PICs. Both PIC and PICs produce a Percentage of Occlusion significantly smaller than FABRIK. The PICs method (using ) produces the smallest PO, by only Occluding/Obstructing 5% of the Region of Interest.
The level of softening is a parameter that can be tuned to maximize Pose Accuracy and and minimize self-occlusion. The aggregate results of incision and assembly show that PICs with produces the maximum combined average between the two metrics: a Pose Accuracy (Pacc) of 58% and a Percentage of Occlusion (PO) of 8%.
The current algorithm faces a problem that should be addressed in future work. When the pose configuration changes, the PIC might not find a smooth solution between the old and new pose constraints, this makes the robot jump to the new pose position. This problem can be solved by using a temporal window of
before and after steps. The window would allow to discern if the current data point should be eliminated or if an interpolation should be added to create a smoother transition..
This work introduces a framework for specifying human constraints for pose imitation during task performance. Such framework constitutes the basis of an imitation algorithm (Pose Imitation Constraints - PIC), based on the FABRIK method . The PIC algorithm can successfully reproduce the poses of a human teacher in multiple robots. This method was tested during a two different tasks, an assembly and an incision, using two simulated robots (ReThink Baxter and a ABB YuMi). In addition, a variation to the PIC using soft constraints (PICs) is proposed. The results show that the PICs algorithm outperforms FABRIK in pose similarity: 66% vs 18% for incision and 52% vs 29% during assembly. In particular, PICs increased the overall Pose Accuracy obtained for FABRIK by 56%. Both PIC and PICs produce less occlusions during the task. Particularly, the PIC achieves a percentage of self-occlusion of 4%, while FABRIK achieves 10% during the incision task. The proposed imitation strategy can be used as the first step in a robot coaching process  as part of a major vision involving human teaching heterogeneous robots in classrooms. [21, 8, 18]. The proposed algorithm could help improve the quality of robot imitation performance and reduce the number of iterations that it takes to teach a task with lower errors and wider operational space available to the collaborator/teacher.
-  (2016-07) Task-based locomotion. ACM Transactions on Graphics 35 (4), pp. 1–11. External Links: Cited by: §II.
-  (2017-01) Inverse Kinematics Based Human Mimicking System using Skeletal Tracking Technology. Journal of Intelligent & Robotic Systems 85 (1), pp. 27–45. External Links: Cited by: §I, §II.
-  (2009-05) A survey of robot learning from demonstration. Robotics and Autonomous Systems 57 (5), pp. 469–483. External Links: Cited by: §I.
-  (2018-09) Inverse Kinematics Techniques in Computer Graphics: A Survey. Computer Graphics Forum 37 (6), pp. 35–58. External Links: Cited by: §I, §II, §II, §II.
-  (2016-01) Extending FABRIK with model constraints. Computer Animation and Virtual Worlds 27 (1), pp. 35–57. External Links: Cited by: §I, §II.
-  (2011-09) FABRIK: A fast, iterative solver for the Inverse Kinematics problem. Graphical Models 73 (5), pp. 243–260. External Links: Cited by: §I, §I, §II, §IV-B, §IV-C, §V.
-  (2002) Generalized Hamming Distance. Information Retrieval 5 (4), pp. 353–375. External Links: Cited by: §III-B3.
-  (2007) Active Teaching in Robot Programming by Demonstration. In RO-MAN 2007 - The 16th IEEE International Symposium on Robot and Human Interactive Communication, pp. 702–707. External Links: Cited by: §V.
-  (2008) Imitation of human motion on a humanoid robot using non-linear optimization. In Humanoids 2008 - 8th IEEE-RAS International Conference on Humanoid Robots, pp. 545–552. External Links: Cited by: §I.
-  PIC: A Pose-Imitation Constraint (PIC) algorithm.. External Links: Cited by: §IV-C.
-  Quantitative evaluation method for pose and motion similarity based on human perception. In 4th IEEE/RAS International Conference on Humanoid Robots, 2004., Vol. 1, pp. 494–512. External Links: Cited by: §IV-B.
-  (2017-04) Imitation Learning. ACM Computing Surveys 50 (2), pp. 1–35. External Links: Cited by: §I, §I.
-  (2012-10) Inverse Kinematics – Cyclic Coordinate Descent (CCD). Journal of Graphics Tools 16 (4), pp. 177–217. External Links: Cited by: §II.
-  (2005) Solving an inverse kinematics problem for a humanoid robots imitation of human motions using optimization. Proc. of Int. Conf. on Infomatics in Control, Automation and Robotics, pp. 85–92. Cited by: §II.
-  (2009-10) Stable whole-body motion generation for humanoid robots to imitate human motions. In 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2518–2524. External Links: Cited by: §II.
-  (2005) Fast inverse kinematics and kinetics solver for human-like figures. In 5th IEEE-RAS International Conference on Humanoid Robots, 2005., pp. 38–43. External Links: Cited by: §II.
-  (2005-08) Morphology-independent representation of motions for interactive human-like animation. External Links: Cited by: §II.
-  (2011-10) Incremental kinesthetic teaching of motion primitives using the motion refinement tube. Autonomous Robots 31 (2-3), pp. 115–131. External Links: Cited by: §V.
-  (2017-03) Probabilistic movement primitives for coordination of multiple human–robot collaborative tasks. Autonomous Robots 41 (3), pp. 593–612. External Links: Cited by: §I.
-  Imitating human dance motions through motion structure analysis. In IEEE/RSJ International Conference on Intelligent Robots and System, Vol. 3, pp. 2539–2544. External Links: Cited by: §II.
-  (2014-05) Online approach for altering robot behaviors based on human in the loop coaching gestures. In 2014 IEEE International Conference on Robotics and Automation (ICRA), pp. 4770–4776. External Links: Cited by: §V.
-  Adapting human motion for the control of a humanoid robot. In Proceedings 2002 IEEE International Conference on Robotics and Automation (Cat. No.02CH37292), Vol. 2, pp. 1390–1397. External Links: Cited by: §II.
-  Enabling real-time full-body imitation: a natural way of transferring human movement to humanoids. In 2003 IEEE International Conference on Robotics and Automation (Cat. No.03CH37422), pp. 2368–2374. External Links: Cited by: §II.
-  (2006-12) Coaching: An Approach to Efficiently and Intuitively Create Humanoid Robot Behaviors. In 2006 6th IEEE-RAS International Conference on Humanoid Robots, pp. 567–574. External Links: Cited by: §V.
-  (2016-12) A Survey of Deep Network Solutions for Learning Control in Robotics: From Reinforcement to Imitation. External Links: Cited by: §I.
-  (1991) A combined optimization method for solving the inverse kinematics problems of mechanical manipulators. IEEE Transactions on Robotics and Automation 7 (4), pp. 489–499. External Links: Cited by: §II.
-  (2009-10) Simultaneous tracking and balancing of humanoid robots for imitating human motion capture data. In 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2510–2517. External Links: Cited by: §II.
-  (2001-05) Hand modeling, analysis and recognition. IEEE Signal Processing Magazine 18 (3), pp. 51–60. External Links: Cited by: §III.
-  (2017-12) Design and Evaluation of a Unique Social Perception System for Human–Robot Interaction. IEEE Transactions on Cognitive and Developmental Systems 9 (4), pp. 341–355. External Links: Cited by: §I.
-  (2018-07) FABRIKc: an Efficient Iterative Inverse Kinematics Solver for Continuum Robots. In 2018 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), pp. 346–352. External Links: Cited by: §III-B1.
-  (2015-11) Impacts of Robot Head Gaze on Robot-to-Human Handovers. International Journal of Social Robotics 7 (5), pp. 783–798. External Links: Cited by: §I, §I.