Abstract
Task time is essential information for the optimal planning and scheduling of industrial scenarios, such as assembly cells. In Human-Robot Collaboration (HRC), the robot execution time, i.e. the robot task time, depends on the task the human is executing simultaneously to the robot and on the human movements. Indeed, the robot may be requested to modify its speed along a predefined path (i.e. to slow down or to stop its motion) in order to avoid possible collisions with the human. This paper presents an approach for the estimation of the robot execution time, when the robot path and the human task are assigned. Specifically, a workspace segmentation is performed considering the volume occupied by the human and the robot during their motion. Then, this segmentation is exploited for the definition of a set of Markov chains modeling human-robot interaction and allowing the estimation of the robot execution time. Simulated and real test beds are presented and discussed.
Introduction
Collaborative robots are currently used in assembly and disassembly, pick&place, and sorting lines as human companions and helpers, making the human and a robot a team [1, 2]. In such a context, human’s and robot behaviors are strictly coupled. Indeed, the way in which the robot trajectory is designed may influence human comfort and ergonomics, whilst the way in which the worker moves may affect the robot trajectory, i.e. it may be necessary to stop or to slow down the robot in order to grant human safety.
This coupling has a relevant impact on task planning and scheduling (P&S) activities, that are not generally able to reason on uncertain robot execution times and changing human behaviours [3]. Indeed, currently available task planning approaches (hierarchical [4, 5] or integrated [6, 7]) only reason on the robot trajectory at spatial level, i.e. on the geometrical feasibly of the robot trajectory and of the plan, disregarding (i) changes in the human behaviour due to the robot presence and (ii) the influence that the variability generated by the human presence on the robot execution time may have on the whole plan.
If the influence of robot behavior on the human has been widely studied in the last decade [8, 9], the dependence of the robot trajectory and of the robot execution time on the human behavior seems to be quite unexplored and solutions neither at a research stage nor at industrial level can be identified.
From the industrial point of view, Catia Delmia [10] and Tecnomatix Siemens [11] provide human modeling tools for the digitalization of human beings and their inclusion into a virtual environment for the analysis of safety and ergonomics issues [12]; SIMATIC Siemens is ideal for task planning and scheduling (P&S) in highly automated systems, even if it does not provide algorithms and solutions for the P&S of tasks also involving human operators; Industrial Path Solutions [13] provides some modules for the automatic generation of robot paths with limitations to the impact of the motion planning on human perception and cognition as well as on the achievable production cycle time. Thus, even if the computer-aided technology market is proposing a set of solutions for the design and planning of human-robot collaborative (HRC) tasks [14, 15] commercial software tools seem far away from being able to address the evaluation of the robot execution time in HRC tasks.
Similarly, in scientific literature, a limited number of approaches are able to provide an estimation of the robot execution time [16] and few tools for P&S of industrial tasks deal with time-uncertainty in task duration [17, 18] and resources that may not respect time-constraints during execution phase, like humans [19, 20].
The aim of this paper is to describe a new approach for the estimation of the robot execution time, when the human and the robot share the workspace. Specifically, the developed method is able to off-line provide an estimation of the robot execution time, given the robot trajectory and the simultaneous human task (i.e. the human’s gestures). It is suitable for industrial applications characterized by repetitive movements of the human workers, such as assembly lines, logistics, quality inspection, etc. It has the longterm goal to be the core for a new generation of P&S computer-aided tools able to optimally manage the effects of the human presence on the system performance.
This paper is an extension of [16] in terms of the method developed for the estimation of the robot execution time. Indeed, differently from [16], a set of Markov chains is built to better formalize HRC tasks and the worker impact on the robot execution time.
The paper is structured as follows: Section 2 and Section 3 give an analysis of the state of the art and of the contributions of this paper to literature advances; Section 4 is an overview and a formalization of the problem; Section 5 describes the method and the developed algorithms; Section 6 contains the description of the experiments, the results and the discussion. Finally, in Section 7, conclusions are presented together with possible directions for future work.
Literature review
Human satisfaction and perceived safety and comfort strictly depend on the ability of the robot to adapt its motion [21]. Arai et al. [22] studied the relevance of the robot speed with respect to the robot acceptability by the human. In [23], the mutual influence of the human-robot team was analyzed, thus taking into account human adaptation to changes in robot trajectories.
Extending the aim of these papers, a large part of the literature focused on how to generate robot trajectories [24] for HRC tasks. Dragan et al. [25] introduced the concepts of legibility and predicibility, i.e. the correct identification of the final goal of the robot on the basis of its initial trajectory – action to goal – and the expectancy of the human on the robot followed trajectory – goal to action. They proposed an approach for the generation of robot trajectories coping with these criteria. Mainprice et al. [26] worked on the automatic generation of robot paths when the robot has to hand an object over to the human. They proposed the generation of a three-dimensional map representing human’s visibility, human’s arm comfort and human-robot distance. A robot trajectory is planned on the basis of this map with the idea that the robot has to stay as visible as possible, as far as possible and that the goal has to be in a comfortable position to be reached by the human. Possible collisions between human and robot are not considered since human’s movements are not supposed to be simultaneous to robot movements, i.e. the human will grab the object after the robot has placed it, avoiding simultaneous motion. In other words, the robot and human actions are synchronized, i.e. the human determines the cycle time of the robot and the cycle time of the collaborative task. Mainprice et al. [27] formalize human adaptation strategies to plan the optimized motion of the robot. Another approach based on the generation of maps was presented by Pandey and Alami [28]. These maps, called “Mightability Maps”, aim at facilitating the communication between the robot and the human partner. The method is based on the construction of two maps representing human and robot perceived reachability and visibility.
Several approaches are based on the analysis of the human motion and the generation of robot trajectories according to the predicted human’s intention. Human’s intention can be addressed as the goal towards which the human is going as well as the movements that the human will probably use to approach a goal (known or unknown). Mainprice et al. [29] proposed an approach where human motion is predicted and integrated into a robot motion planning framework. The approach concerns human-robot unsynchronized tasks in which the human and the robot perform their tasks on different goals in a shared workspace. The movements of the worker’s arm are categorized through the use of Gaussian Mixture Models (GMMs) and Regression (GMR). During task execution, the category that best fits the real movements of the human is selected and used as a predictor of the human movements. Lasota et al. [30] used a Markov Decision Process (MDP), where human actions are modeled as stochastic transition functions influencing robot actions and states. The approach, valid for unsynchronized tasks, was proved to increase human comfort and concurrent motion. This was then further studied in [31], where a HRC framework was developed based on the ability of the robot to avoid portions of the shared workspace that the human is expected to occupy. Also Mcghan et al. [32] adopted a MDP to model unsynchronized but independent HRC tasks (i.e. the human and the robot have to work on different pre-allocated tasks sharing the workspace). They used two MDPs: the first MDP is used to predict the human’s behavior, the second MDP is used to determine the robot action. Nikolaidis et al. [23] proposed a mixed observability Markov decision process to learn user models from joint-action demonstrations and to exploit these models to predict user types and to plan a robot anticipatory action. In [33, 34], the best robot action is determined by a Partially Observable Markov Decision Process (POMDP), whose belief state is related to human’s intention. It was tested on a real case where the human has few tasks to choose among, thus showing limited applicability. Finally, Pellegrinelli et al. [35] introduced a framework for human-robot workspace sharing (unsynchronized tasks) based on hindsight optimization. The approach defines a distribution probability on human’s goal based on the movements of the human’s hand. This distribution probability is used by a POMDP to define the belief state of the robot and to select the best robot action (i.e. twist). This approach was compared via several experiments with existing approaches showing its ability to increase the minimum distance between the human and the robot. An extended review of human-aware motion planning approches can be found in [36].
All the described approaches for synchronized or unsynchronized HRC tasks present limited applicabil- ity to real industrial contexts due to the impossibility to estimate the robot execution time. Indeed, for all the considered approaches based on the continuous defini- tion of robot actions or the continuous replanning of robot paths according to human’s intention or maps, it is hard to be aware of the time required by the robot to execute the assigned task.
Objectives
This paper aims at providing a new off-line method for the estimation of the robot execution time when the robot is influenced by the presence of a worker and by the worker’s task and movements, i.e. the robot has to modify its trajectory in order to avoid possible collisions with the worker. Specifically, the approach will be able to provide an estimation of the robot execution time in all those industrial scenarios characterized by human-robot repetitive tasks, such as assembly lines, which may benefit from HRC in terms of physical proximity between the human and the robot. This estimation may lead to the achievement of more accurate results in task planning and scheduling, thus possibly increasing the system throughput.
Problem statement and formalization
It is possible to denote
(Time variability).
The start and end time of the human and robot tasks may be uncorrelated for each considered feasible couple
The human and the robot often just share the workspace and, even if the tasks are functionally related, the start time of the human task may display a large time variability with respect to the robot task. As a general remark, only few applications display a hard synchronization of the robot and human execution times, e.g. when the tasks are serialized (e.g. hand over).
(Safety through Speed Variation Monitoring).
Considering a feasible couple of tasks
Speed and Separation Monitoring (SSM, ISO/TS 15066) is the most common and robust safe collision avoidance method used in industrial scenarios [37, 38]. It consists in the on-line management of the robot speed along a predetermined path to avoid collisions with the human. Several factors are considered to decide about the robot speed: the robot position, the human position, the robot current speed and direction, the human current speed and direction, possible delays/errors in the system communications. SSM is more suitable than on-line re-planning of the robot path (i.e. on-line modification of the geometric curve in the workspace) due to its straightforward integration with industrial controllers, and to its simplicity compared to the on-line re-planning of the path, which requires to take into account the potential collisions of the robot with the environment.
(Human Imperturbability).
Robot trajectories are planned maximizing human comfort, so that the movements of expert workers (i.e. workers that are used to operate with a robot) are not affected by the robot motion.
Specifically, it is assumed that skilled workers move similarly both with and without the robot, and that the repeatability of their gestures is granted. This assumption is realistic if the human is aware of the robot, i.e. the human trusts the robot and his/her behavior is not influenced by the presence of the robot [25]. Namely, this is a precondition for having the robot accepted and used by the human. Human trustiness may be achieved exploiting robot abilities to cope with human ergonomics and to program the robot to behave naturally and in a safe way, for instance, through speed reduction and movement holding.
Under these assumptions, the next sections introduce simple models for HRC tasks.
Human task representation
Denote
Generally, human movements are described through the use of human skeleton joints, making
However, during the analysis of human’s gestures in HRC, the offset between the human and the robot task start times cannot be constrained (Assumption 1), making difficult the use of “mean gestures”. Indeed, the interaction model should integrate all the relative combinations of human and robot task start times [29].
Thus, a probabilistic time-independent model for
The human-robot shared space is divided in a 3D grid of
At each instant of time
At each instant of time In order to obtain a bounded description of the task
The value that
The method, therefore, assumes that
Denote
such that
Finally, it is possible to denote
Therefore, the robotic task
The aim of the method is to identify a statistical estimator of
For instance, the human, always in the
It is easy to see that such formalization is equivalent to a Markov chain1 where the states are the nodes of the Occupancy Grid and the goal is an absorbing state [40]. Specifically, P, i.e. the transition probability matrix of the absorbing chain, can be expressed in the canonical form as:
where R represents the vector of the transition probabilities towards the considered absorbing state, while Q is the matrix of the transition probabilities among the non-absorbing states. Based on such model for the interaction, the expected time needed to the robot to move from the start point, i.e. the first node of the Markov chain, to the end point, i.e. the absorbing state of the Markov chain, can be estimated through the fundamental matrix N
where the
Finally, it is possible to release the hypothesis made at the beginning of this section, according to which the robot may collide with the human only in the
(Collision Probability).
During the execution, the probability to have 1, 2 or even
Two main remarks:
The maximum
Nomenclature: general definitions
Nomenclature: time variables
Nomenclature: Markov chain definitions
Based on the four listed assumptions, this paper introduces a formalism to evaluate the robot execution time
Specifically, denote
.
For instance,
The nomenclature presented in Tables 1–3 is used during the method description. The method is characterized by four main steps:
Human task representation, i.e. Robot task representation, i.e. Workspace segmentation: the use of a 3D Occupancy Grid for the human and the robot representations leads to high computational complexity. Therefore, a clustering method based on octree [41] has been designed to preserve the properties of Markov chain modeling and robot time estimation, i.e. the calculus of all the feasible
A subsection for each step of the method is hereafter presented.
First, the Occupancy Grid representing the collaborative workspace is defined with a step of few millimeters, typically 5 mm. This resolution is sufficient to track properly the human movements as needed by the method, and it is coherent with the resolution of the Kinect One sensor. It is worth to note that possible noise introduced during the Kinect One acquisition is filtered in the next step of the method (Section 5.3.) Then, at each instant time the binary description of the 3D human image is computed using Eq. (2) through a proper elaboration of the data acquired by two Kinect One [42] (frame rate of 70 Hz). The two Kinect One are placed so that occlusions are avoided, i.e. at least one Kinect One is always able to track human movements. The Microsoft standard library provides both a 3D point cloud of the scene and the human skeleton (as shown in Fig. 1b) of the worker in the scene. According to Eq. (3),
Example of HRC: unscrewing of a multi-fixturing system. On the left, the human performing at task; on the right, the skeleton estimated by the driver of the Kinect One.
Finally, once the 3D human point cloud is reconstructed, each point is projected onto the closest node of the Occupancy Grid and
The volume occupied by the human and the robot during the execution of their tasks is represented by two cloud points, than merged and organized into an octree. The leaf bins of the octree occupied by both the human and the robot will be used as nodes in a set of Markov chains.
Given the robot trajectory
First, the robot trajectory
Workspace segmentation
In Sections 5.1 and 5.2, both
Therefore, an octree [41] for the clustering of the nodes of the Occupancy Grid has been implemented2. The built octree considers
Probability The time The time
The segmentation of the workspace is done off-line. All the data related to the volume occupied by the human are collected from real-time experiments and stored in a file. The file is then post-processed together with the file containing the robot trajectory information. The computational time is linear with the amount of data to be post-processed and is exponential with the minimum dimension of the octree leaf bins.
On the basis of the octree representation, the set of all the feasible Markov chains
Enumeration of all the feasible Design of the zero-order Markov chain (i.e. without collisions); Design of the remaining Markov chains; Estimation of the robot execution time.
Hereafter the steps are described in detail.
Definition of the number of Markov chains.
It is assumed that the robot may stop only once in each
Since collisions may happen in any of the
For instance, in case of
Example of an octree with only leaf bins and a zero-order Markov chain built on it (
Finally, it is possible to denote:
Design of the zero-order Markov chain.
The first Markov chain
The states are then connected so to represent the robot moving along its trajectory, i.e. the sequence according to which the robot visits the bins. Since robot stops are not considered, the transition probability among two adjacent states (and leaf bins) is equal to 1, i.e.
Design of the remaining Markov chains.
To model the
Figure 5 shows an example of the set of Markov chains according to the foreseen number of robot stops and their combinations with respect to the leaf bins. The corresponding probability matrix
Estimation of robot execution time.
Denote
The time the robot stays in each state of the
Therefore, given the topology of the
where the first addendum is the time required by the robot to execute the portion of the trajectory that does not enter the workspace shared with the human, and the second addendum is time the robot needs to execute the part of the trajectory that overlaps the human workspace, calculated using Eq. (11).
Example of the changes to be applied to the states and the transition probabilities of a Markov chain with 
Example of the generated set of Markov chains for 
Experimental environment.
Finally it is possible to calculate the expected execution time
First, the maximum robot time
i.e. the robot execution time in case of no robot stops (the zero-order Markov chain) and the time Then, the solution of all the Markov chains for which Finally, the robot expected time
A set of experiments were conducted with the aim to validate the proposed approach. The reference selected application is the preparation of the load unload station (LUS) of a flexible manufacturing system (FMS) (Section 6.1).
Two sets of experiments were run. First (Section 6.2), the approach was tested using a high number of simulated experiments. Specifically, a simulator of the real behavior of the robot was created and used to obtain an estimation of the robot expected time for randomly generated trajectories. The results coming from the simulation and from the proposed approach were compared in terms of mean execution time and standard deviation. This simulator may be used in the future in order to compare different methods on huge set of trajectories. Second (Section 6.3), a set of restricted experiments were conducted on a real setup and compared in terms of obtained mean execution time with the results coming from the approach, the simulated environment and [16].
Representation of the three tasks in the scenario.
At the LUS, machined parts and raw parts are respectively unmounted and mounted on ad-hoc fixturing systems, called pallet, in order to be machined by the FMS. Pallet preparation is critical for any Computer Numerical Control (CNC) operation and it is the only manual task left in FMSs. Pallet setup involves hundreds of configurations, continuously changed for the production of small batches. Mounting errors may generate production losses and clamping/removal of metal parts and fixtures is cognitively and physically demanding.
Thus, pallet preparation before machining has very much to gain from robotics, mainly in terms of flexibility and ergonomics. Such tasks are however very difficult from the control perspective, because both human operators and robots need a concurrent access to the pallet in a small layout. Manipulation tasks are done very close to the human body, yet need to be fast for the production rate.
Figure 6 shows the considered environment, made of a collaborative robot mounted on a carrier (Kuka IIWA 14 R820) and of a multi-fixturing system (pallet). This setup represents the load/unload station of a flexible manufacturing systems. Three different human tasks are taken into account:
The human performs one screwing and one unscrewing task on two different sides of a multi-fixturing pallet The human picks a tool from the robot carrier and moves towards the pallet The human moves a machined part from a side of the pallet to the robot carrier
A worker is asked to execute the task 10 times, and his/her skeleton is captured by two Kinect One (Section 5.1).
Expected execution time of the robot and standard deviation considering 30 trajectories per human task
In order to provide an extensive number of experimental results to be used as a reference for the approach results, a simulator of the real behavior of the robot during human robot collaborative tasks was built. On the one hand, the use of the simulator has the advantage not to require a physical setup to run the experiments and to provide a comparison for the results deriving from the application of the developed method. On the other hand, the computational time required by the simulation is definitely higher than the computational time required by the proposed approach, thus limiting the usability of the simulation as an approach for the estimation of the robot execution time.
Expected execution time [s] of the robot considering 4 trajectories to be executed simultaneously to
according to real experiments (RE), simulator results (SM), results from [16] (AP[16]) and the results of the proposed method (AP). In the forth and last columns of the table, the mean time [s] and the mean absolute time error [s][%] on the four considered trajectories are respectively presented
Expected execution time [s] of the robot considering 4 trajectories to be executed simultaneously to
Simulation. The human starts executing his/her task at 0.3 s, whilst the robot starts at 0.9 s. At 2.3 s the human-robot distance (black line) goes beyond the critical threshold of 0.25 m (red line) and the robot slows down and stops at 3.1 s (blue line). Remarkably, the 1 s between the identification of the dangerous collision and the actual robot stop is the number we measured on Kuka IIWA 14 R820 robot. Then, at 3.2 the robot resume the motion since the danger condition was solved. The human finishes his/her task in 6.1 s and leaves the shared workspace. The robot finishes its own task (curve parametrization equal to 1).
Simulation. Example of the different robot behaviors during trajectory execution based on random start time. Each line in the figure represents the a different robot behavior during execution. The trajectory is parametrized, i.e. the start point is 0 and the end point is 1. During the first 4 s, the trajectory is interested by several robot stops due to presence of the human. After 4 s, robot stops are not present, since the human task is completed and the human is not anymore in the scene. For the considered example, the expected execution time of the robot e is 7.06 s with a standard deviation of 1.28 s.
Robot trajectories – simulated experiments. Set of robot generated trajectories (colored family of straight lines) intersecting the volume occupied by the worker (yellow cloud point).
Robot trajectories – real experiments: (a) Robot trajectories (light blue, violet and light green lines) with reference to the human task occupancy volume (green point cloud); (b) One of the trajectories and the human occupancy volume in the considered environment.
The simulator.
The simulator, implemented in Matlab and Simulink, requires two inputs: the description of the human movements during the execution of the task and the robot trajectory. Human movements have to be provided as the captured human joint positions for the whole duration of the human task.
Robot paths
The simulated experiments.
The simulator replicates the full set of captured human movements while executing a randomly generated robot trajectory, with a random start time.
During the execution, when the minimum distance between the robot and the human is lower than a threshold (250 mm), the robot velocity is first reduced and then stopped. The motion is resumed only when the distance returns to be above the identified threshold (Fig. 8). Since the number of robot stops depends on the start time of the robot trajectory, the simulator runs a predefined number of times (e.g. 100 times), randomly changing the start time of the robot trajectory (Fig. 9). At the end of the simulation, the mean execution time of the trajectory and its standard deviation are provided to be used as a reference value.
The same trajectories used by the simulator are then analyzed by the proposed approach, generating for each considered human task a mean execution time and a standard deviation. The set of the trajectories generated for each considered human task are represented in Fig. 10.
Results and discussion.
The expected time for the execution of the previously described cases is evaluated through the use of the simulator and by the proposed approach.
The results provided by the developed method (Table 4) are in line with the results provided by the simulator. The expected execution time in one case out of three is underestimated, whilst, in two cases, it is overestimated. Both underestimations and overestimations are quite limited (mean error equal to 0.05 s and mean absolute error equal to 0.17 s), thus possibly minimally impacting on the quality of the results of task planning and scheduling as well as on the ability of human-robot team to comply with the cell takt time. The mean absolute percentage error is lower than 10% (i.e. 3.5%), thus being acceptable [44].As a general remark, in industrial practice the accuracy in the estimation of the time is not a mandatory requirement. A tolerance of about 10% is considered acceptable in almost all the industrial production lines. In terms of standard deviation, the results are comparable both in the second and in the third experiment. Standard deviation seems to be slightly underestimated in the first experiment.
The aim of this section is to compare the expected execution time identified by the proposed approach with the robot execution time coming from real experiments and from [16]. The experimental environment previously described is taken into account.
Human and robot tasks
In order to compare the results of the proposed approach with the results coming from real experiments, human task
During the experiments, both the robot and the human are asked to repeat the task 10 times. The robot repeats the trajectory without stopping in the initial/final points. As previously defined for the simulator, the robot stops when the minimum distance between the central line of each robot link and the skeleton of the human is lower than 250 mm. This distance takes into account the uncertainty on the position of the worker deriving from the accuracy of the Kinect One as well as the dimensions of the robot links and of the human body. A Kuka IIWA 14 R820 robot is used.
Results and discussion
The times for the execution of the previously described trajectories during HRC in real experiments (RE), in simulation (SM), in [16] (AP[16]) and in the proposed method (AP) are resumed in Table 5. The table also provides a comparison over the four different considered methodologies in terms of mean absolute error.
Four main considerations can be performed through the observation of Table 5. First, the results of the proposed approach (AP) can be compared with the results coming from the simulation (SM). As already stated in the previous section, the approach is able to provide a good estimation of the robot expected time, even if in this case, the robot expected time seems to be slightly overestimated (the mean error and the mean absolute errors present similar values, respectively
Conclusions and future work
This paper presents an approach for the estimation of the robot execution time for HRC tasks in which the robot is allowed to reduce and modify its speed in order to avoid possible collisions with the human and to grant human safety (i.e. speed variation monitoring). The approach is divided in two main steps. The first step consists in the analysis of the human movements and in the generation of an octree based on the point clouds representing the volume occupied by the robot and by the human. The second step is based on the use of this octree for the generation of a set of Markov chains, allowing the estimation of the expected robot execution time.
The proposed approach shows an error of about 5.9% in the estimation of the robot execution time when compared to the results coming from real experiments.The error is generally acceptable as discussed above, and it has to be considered as a preliminary result. A proper statistical analysis of the error over tens of experiments is now ongoing, and it will be published in a next work. Furthermore, future work will consist in the modeling of the dynamics underlying human movements so that the current error can be reduced.
Finally, the presented approach may provide valuable data for task planning and scheduling activities, whose results strictly depend on the quality of the estimation made for the execution of human and robot tasks. Moreover, this method may be used to evaluate different trajectories, that will be then selected at run time by the task planner and scheduler based on current needs and on the worker related information, such as the propensity of the worker to cooperate with a robot, the requested talk time of the cell, or the level of risk connected to handle an object with the robot.
The Matlab code implementing the methods is available at
Footnotes
A Markov chain is a stochastic process where the future state is based on its present state independently from its history.
Acknowledgments
The research has been funded by the European Projects EuRoC, FP7-2013-NMP-ICT-FOF and FourByThree, H2020-FoF-06-2014.
