Advertisement

Robot action planning by online optimization in human–robot collaborative tasks

  • Weitian Wang
  • Rui Li
  • Z. Max Diekel
  • Yunyi Jia
Regular Paper
  • 399 Downloads

Abstract

Collaborative robots are widely used in strict and complex hybrid assembly tasks in the context of intelligent manufacturing. However, the task efficiency and task cost evaluation, which are very significant in the robot action planning to ensure and enhance the task quality in the human–robot collaboration process, are rarely studied in previous works. In this paper, we propose a novel and practical approach based on online optimization for the robot to plan its actions in human–robot collaboration to address this challenge. First, we extract the task model by graphical representations and design the collaboration cost functions which incorporate time consumption and human efforts. After that, the robot action planning algorithms are developed to online plan robot actions by optimizing the collaborative assembly cost. In addition, appropriate robot actions can be planned by the proposed algorithms to ensure the accomplishment of assembly process when the human happens to conduct wrong actions during the collaboration. We performed studies through hybrid assembly tasks with different types of human–robot collaboration scenarios to verify the advantages of our robot action planning algorithms. Experimental results suggested that the proposed algorithms can successfully generate the optimal actions for the robot to guarantee the efficiency in human–robot collaborative assembly.

Keywords

Human–robot collaboration Robot action planning Cost function Assembly 

1 Introduction

Robotics technology has played a significant role in industry assembly tasks (Krüger et al. 2006) for several decades. Technological advancements and global competitors result in great challenges and a more complicated working environment for the manufacturing industry. Conversely, hybrid human–robot assembly systems are able to substantially lessen the amount of fixed production costs in comparison to variable costs. Therefore, with regard to the increasing needs for flexibility, adaptability, and complexity of the assembly lines, an assembly task that combines a robot-assisted system together with the human partner (Helms et al. 2002) has numerous vital and outstanding advantages compared to traditional fully automatic machines. Consequently, industrial applications of human–robot cooperation for strict and complicated hybrid assembly are getting more and more attention.

The application of collaborative robotics provides a great solution to these complex hybrid assembly tasks. Flexibility and variability of hybrid assembly processes require a close connection between the collaborative robot and the human partner. The interaction between human and robot are improved significantly with high-level approaches, such as robot learning from human demonstrations by natural language (Lauria et al. 2002; Jia et al. 2016), vision systems (Koppula et al. 2013; Ferreira et al. 2014) and wearable sensors (Javaid et al. 2015), which enhanced complicated assembly processes. The cooperation of humans and robots in collaborative assembly tasks should take advantage of differing strengths from both sides. Generally, the robot provides several benefits such as working without fatigue and having a high productivity with large and heavy assembly subtasks. This means in human–robot collaboration a number of physical strains on human companions are reduced (Krüger et al. 2009). Meanwhile, the human partner provides incomparable abilities to operate high accuracy sensory components, and can rapidly adapt to new complex subtasks.

The efficiency of the human–robot collaboration system has a direct and significant impact on the assembly task quality. Optimal robot action planning is essential for the highly effective collaboration between humans and robots. Based on a necessary algorithm which includes environment detection, state estimation, and goal inference, the robot will plan its actions to effectively cooperate with its human partner to improve the collaborative task quality.

In what follows, a novel and practical cost function based approach is proposed for robot action planning to improve the task quality in human–robot collaborative assembly. Several related works with respect to human–robot collaboration and robot action planning are presented in Sect. 2. The framework of robot action planning which is employed in this study is described in Sect. 3. Moreover, in Sect. 4 the modeling methodology of this work is expounded, including the task representation, the cost function definitions, the design of robot action planning algorithm and the approach of task cost evaluation. We verify the developed robot action planning algorithms with a series of experiments and analyze the experimental results in Sect. 5. Finally, the summary of this paper along with some future steps are presented in Sect. 6.

The main contributions of this work include:
  1. 1.

    We investigate and develop generalized collaboration cost functions and robot action planning algorithms for human–robot co-assembly tasks. The robot can plan its actions online based on the cost functions to minimize the task cost to augment the efficiency of the human–robot collaboration in dynamic working surroundings.

     
  2. 2.

    Human fault actions are able to be corrected in the assembly task. In human–robot collaboration, we propose an adaption function to supervise human actions to maintain the object assembly sequence according to the task settings.

     
  3. 3.

    We propose a novel task cost calculation model in human–robot collaboration. By this model, the collaborative task costs which contain time consumption and human efforts can be evaluated and analyzed quantifiably in the robot action planning.

     

2 Related work

Several related research works have been conducted in recent years. In this section, we provide a brief survey of humans working together with robots in collaborative tasks and robots action planning in human involved scenarios.

2.1 Human–robot collaboration

Collaborative robots developed to work side-by-side with human partners have given the manufacturing industry a lot of momentum (Bley et al. 2004; Shah and Breazeal 2010; Lien and Rasch 2001). Researchers have studied how to enhance the robots’ performances and lessen the humans’ efforts when they were working together in human–robot collaborative works (Hoffman and Breazeal 2007). In Hayes and Scassellati (2015), an algorithm is presented to try to simulate the improvements of the human collaborator performance in the sequential collaborative tasks. Their work generated proper behaviors for the partner to decrease kinematic burdens as the task was accomplished. Researchers from MIT designed a human-inspired plan execution system in human–robot collaborative tasks (Shah et al. 2011). Schraft et al. (2004) presented a robot assistant system which helped human workers perform fetch and carry tasks, and participated in manual arc welding. They combined the human partner’s sensory skill and knowledge together with the robot to enhance the work system. In order to output the highest potential benefits in the hybrid assembly tasks, Schroter et al. (2016) presented a systematic approach to identify work places with high potential for human–robot collaboration based on capability indicators. Baraglia et al. (2016) developed a system to autonomously track and perform target object manipulation tasks with humans to investigate if and when a robot should take initiative during human–robot collaborative tasks.

In some situations, the hierarchical approach shows huge advantages for the human–robot collaborative task to some extent. Johannsmeier and Haddadin (2017) proposed a framework for task allocation which distinguished between two main layers of abstraction and allocation in human–robot collaborative assembly planning. Hayes and Scassellati (2016) detailed a type of Hierarchical Task Network called Clique/Chain HTN (CC-HTN). They designed an algorithm for autonomously constructing task solutions based on topological properties derived from the task representations themselves. In human–robot collaboration process, the robot’s reasoning about the human’s behaviors played a very momentous role in task planning. Hence, communication approaches based on multi-modal skills (Bodenhagen et al. 2014; Li et al. 2012) were generally adopted to facilitate the robots’ understanding of its human partners’ intentions (Guadarrama et al. 2013; Peternel and Babič 2013).

However, these studies mentioned above mainly focused on designing the approaches to finish human–robot collaborative tasks, but rarely considered the real-time quantification of actual task cost while the task is being performed during human–robot collaboration process. It is well known that the task cost is a significant factor of the task quality that should be taken into account in human–robot collaboration.

2.2 Robot action planning using cost function

In human–robot collaborative tasks, robot action planning is a key challenging issue that has a significant effect on the task efficiency. The robot must understand when to plan its actions in the hybrid assembly task in order to assist the human to finish the task exactly. Robot action planning with optimal route considered based on cost functions is a rich research topic that is of great interest in the robotics community.

Frank et al. (2008) presented an approach that combined probabilistic roadmaps with a physical object deformation simulation, which allowed a mobile robot to plan actions to optimize the trade-off between the deformation cost and the travel distance. In order to optimize robot path planning in a cost space, Devaurs et al. (2016) developed two efficient sampling-based algorithms which combined the underlying principles of RRT* and T-RRT. M.A. Garcia et al. (2009) presented an approach to solve the mobile robot path planning problem based on Simple Ant Colony Optimization Meta-Heuristic (SACO-MH). After that, they employed a fuzzy cost function which relied on the effort and distance to evaluate the cost of the robot routes. In Yin et al. (2014), researchers presented action planning algorithms for the robot to infer the cost function and reference trajectory from human demonstrations of hand-writing tasks. Wulfmeier et al. (2016) proposed an approach to learn cost maps for driving in complex urban environments from numerous demonstrations of human experts driving behaviors. Rimon et al. (1988) tried to find a class of cost functions that can navigate a robot toward an arbitrary destination point. Martinez-Cantin et al. (2007) proposed a simulation-based active policy learning algorithm for robot navigation and exploration under uncertain working environments, and utilized a function of the belief state to denote the task expected cost.

In conclusion, it is clear that the robot action planning with cost considered has been discussed in diverse situations. However, few studies involved human partners in the collaboration process to study the task cost. On the other hand, they seldom presented quantitative task efficiency or task cost evaluation approaches in human–robot collaborative tasks. Therefore, in order to improve the collaboration efficiency in human–robot co-assembly tasks, developing an approach which not only enables the robot to plan its actions with the optimal strategy, but also assesses the task cost in human–robot collaboration is a necessary issue to be considered.

To this end, we propose a novel and practical approach using cost functions for the robot to plan actions in human–robot collaboration. By taking advantage of this approach, apart from leveraging the robot to make an optimal decision to collaborate with its human partner, we are able to evaluate the task cost in real time. First, we extract the task model by graphical representations and design the collaboration cost functions. Afterwards, the action planning algorithms for the robot are developed with the task cost considered. When working together with the human partner, the robot plans its actions in real time to determine the optimal assembly step. We demonstrate that the proposed algorithms successfully generate the optimal actions for the robot to improve the task quality in human–robot collaboration.

3 Approach framework

As collaborative robots become more versatile and capable, they are rapidly gaining momentum and presences in hybrid assembly tasks, which include the parallel assembly and the sequential assembly (Bley et al. 2004). As depicted in Fig. 1, which illustrates one of the typical industry manufacturing scenarios, the robot and human collaborate side-by-side to assemble products. When the robot works with the human in real-world collaborative tasks, in order to maintain and improve the task efficiency, the robot needs to have the capacity to manage shared assembly goals during the collaboration process. For example, after a human partner acts in the assembly sequence, the robot should have an explicit knowledge to intuitively optimize and plan its own actions to maximize task efficiency in the next steps.
Fig. 1

Illustration of the robot working with human partner in the collaborative task

In this paper, the overall framework we proposed for human–robot collaborative task execution is illustrated in Fig. 2. For a given robot-unknown assembly task, the task information is acquired by the inspection system before any action is executed by either the human or the robot. This information is then recorded into a real-time database, which is constructed and released regularly in the executive program. Based on the task information, a developed algorithm is utilized to extract the valid target objects’ information which is used as the inputs of the task modeling system. Afterwards, the action planning algorithm calculates and outputs the optimized motions for the robot to execute and embody in the real-world workspace according to the task modeling system.
Fig. 2

The approach framework of robot action planning in human–robot collaborative assembly

In the task information acquiring process, a vision system based on the Kinect is developed and adopted for task objects inspection, including target object localization, shape detection, size measurement, etc. First, we establish a robot frame and acquire the color and depth images of the target objects using the camera. Afterwards, the robot frame is transferred to the workspace coordinate system. Then the objects’ parameters are able to be calculated in the world frame using the developed algorithm. After being recorded by the real-time database, the target objects’ information in the task is extracted by the developed methods to be available data, such as position, shape, and size. This information provides the effective inputs for task model. As long as the task model receives such information in every working loop, it will take advantage of the cost functions to calculate the cost of every action executed by the robot or the human partner. Meanwhile, the adaptation function maintains the objects sequence priority in the task. Because of these considerations, the action planning algorithms optimize the action costs to maximize task efficiency and generate the best actions. Then, they send the decisions to the robot actuators via a control system. After that, the collaborative robot works together with its human partner on the assembly task in the workspace frame.

The goal of this research is to provide an optimal approach for the robot action planning to improve the task quality in human–robot collaborative assembly. In this work, we employ the sum of cost function values as the indicator in a given collaborative assembly to evaluate the task cost. The detailed modeling and calculation processes are presented in the following sections.

4 Modeling methodology

4.1 Task representation

In this paper, we set the research objects focusing on the sequential hybrid human–robot collaborative assembly tasks. As shown in Fig. 3, a Hierarchical Task Network (HTN) (Neumann et al. 2009) can be employed to present the task system S transformation in human–robot collaboration process. The HTN represents and describes the relationships of the internal states within the task system. The research goal is to obtain an action planning solution with the least cost from task initial state S init to post state S post .
Fig. 3

The human–robot collaborative task from task initial state \( S_{init} \) to post state \( S_{post} \)

In human–robot collaboration, both the robot and human share a common workspace, which at any time the target object O ij must be picked up and placed for product assembly by either the robot or the human partner, therefore
$$ O_{ij} \in \{ O_{h1} ,\, \ldots \,{\kern 1pt} ,O_{hk} \} \cup \{ O_{r1} ,\, \ldots \,{\kern 1pt} ,O_{r(N - k)} \} $$
(1)
where \( \{ O_{h1} ,\, \ldots \,{\kern 1pt} ,O_{hk} \} \) denotes the set of objects manipulated by the human from all the N target objects. Similarly, \( \{ O_{r1} ,\, \ldots \,{\kern 1pt} ,O_{r(N - k)} \} \) is the object set containing all the parts manipulated by the robot. In the collaboration process, we assume that the human’s selection of the objects is stochastic and uncontrollable, which are more applicable to practical manufacturing. Hence, this attribute of the task provides a more challenging issue that the robot should be controlled to plan its actions real-time in a dynamic working environment.
From the Fig. 3, we can see that all the objects will be manipulated one by one from S init to S post . During this assembly process, there must be an optimal action sequence which meets the task efficiency stated in Sect. 3. In order to clearly present the relationships among the objects and logical sequences of the participants’ actions, we adopt a Directed Graph (DG), a task representation with graphical properties, to reveal the objects manipulating sequences and facilitate the identification of action planning, as presented in Fig. 4.
Fig. 4

Target objects manipulating sequences in the human–robot collaborative assembly

In the given directed graph
$$ G = \{ V,\,\;E\} $$
(2)
where the vertex V denotes the object with an attribute set in the task, and the directed edge E indicates the object manipulation priority which is determined by the metric function. A primitive action execution is defined as the graph induced by the path from O i to O j . During the execution process, the human’s or the robot’s primitive action is parametrized as a target object to be picked up and placed at a location in the assembly task.

In the human–robot collaborative process, after a supposed object O i is picked up by the human worker, the other objects have equal probabilities to be manipulated by the robot based on the proposed action planning approaches. Figure 4 distinctly represents the transformation of the task inherent states. All the vertices and directed edges constitute the entire task space. Manipulative actions of the human and robot serve as the links of the vertices forming an optimal sequence which results in the highest quality task accomplishment.

4.2 Collaboration cost functions

  • 1) Overall cost function

As mentioned before, we assumed that human actions are stochastic and uncontrollable in the task model. Consequently, while manipulating target objects, the robot may seek to plan a chain of optimal actions to minimize the cost within the constraints of task system. In human–robot collaboration, in order to improve the task quality, we should follow the principles below:
  1. a.

    The robot should manipulate heavier objects to decrease human efforts;

     
  2. b.

    The robot should select objects with shapes that can be effectively picked up;

     
  3. c.

    The robot should maintain a proper sequence of objects in the task.

     
The robot’s response to meet the requirements will be achieved by learning a quantified cost function in the action planning and execution. If the human manipulates K parts from all the N objects, the robot will assemble the other (N-K) parts. In order to obtain the best quality in the assembly task, we must minimize the cost value. Therefore, during the robot action planning, we define the cost function as
$$ \begin{aligned} &C(x_{0} \,,x_{1} ,\,x_{2} ,\,x_{3} ,\, \ldots ,\,x_{{N{ - }K}} ,\,x_{{N - K{ + }1}} ) \\ & \quad = \sum\limits_{i = 1}^{N} {{\kern 1pt} \rho^{{\,\sum\limits_{j = 1}^{M} {m_{ij} (x_{0} \,,x_{1} ,\,x_{2} ,\,x_{3} ,\, \ldots ,\,x_{N - K} ,\,x_{{N - K{ + }1}} )} }} } \end{aligned}$$
(3)
Subject to
$$ \left\{ \begin{array}{l} i \in [1,\;N{ - }K];\\ j \in [1,\;M]; \\ m_{ij} \in R^{ + } \\ \end{array} \right. $$
where N is the number of target objects in the collaborative task, M is the number of each object’s attributes, x is the number of robot actions, m ij represents the object manipulating metric to determine which object should be manipulated in the robot action planning, and ρ denotes the cost factor. The principal goal of robot action planning based on the cost function is to find out the minimized cost containing time consumption and the human efforts. The exponent part of this cost function captures the impacts of target objects in the tasks. In order to optimize the task cost with friendly mathematical formalization, we set ρ ∊ (0, 1). Therefore, along with the increasing of m ij in the exponent expression, as presented in Fig. 5, the value of the exponential representation as well as the cost function will be decreased correspondingly. By taking advantage of this characteristic, the robot action planning algorithms can be developed and managed effectively. From Eq. (3), it can be seen that the cost of each action from either the human or robot is decided by plenty of factors including the object attributes and human skills for the task.
Fig. 5

The variation of cost function with objects manipulating metric in human–robot collaboration tasks

In the collaboration process, each action executed by the robot must satisfy the task constraints presented as below:
$$ \left\{ \begin{array}{l} Before{\kern 1pt} \,operating:S(x) \in \left\{ {S_{Init} (x_{i} ) |\,\,i \in [1,\,N]} \right\} \\ After\,operating:S(x) \in \left\{ {S_{Post} (x_{i} ) |\,\,i \in [1,\,N]} \right\} \\ \end{array} \right. $$
(4)
where S(x) is the state of the target object x. Before starting the task, the human and robot in the workspace constraints cost nothing for the task system. After completing the task, neither the human nor robot will plan any more actions for collaboration. Therefore, in practice, both the start point and end point of the cost function in the task model are initialized as
$$ \left\{ \begin{array}{l} C(x_{0} ) = 0; \\ C(x_{N + 1} ) = 0 \end{array} \right. $$
(5)
  • 2) Metric function

We set up a range of object manipulating metrics to influence the priority of being processed in the robot action planning. The definition of the metric function will have strong impacts on the robot action generation. As such, we parameterize all the object attributes which can be utilized to play considerable roles in the composition of object manipulating metrics. In order to establish these interrelated metrics described in Fig. 4, we define the metric function as
$$ m_{ij} = s_{i} * \left(\sum\limits_{j = 1}^{M} {a_{ji} } \right) $$
(6)
Subject to,
$$ \left\{ \begin{array}{l} a_{ji} \in (0,\,1) \\ \sum\limits_{j = 1}^{N} {a_{ji} = 1} ; \\ m_{ij} \in R^{ + } ; \\ s_{i} \in R^{ + } \end{array} \right. $$
where s i is the sequence priority of target objects, and a ji is the metric factor of each object attributes. We assume that there are N objects in the human–robot collaborative assembly task, and all the objects will be manipulated by the human partner or the robot to complete the task. The object sequence priority s i can be shown in Table 1.
Table 1

The definition of the objects sequence priority

Objects (O i )

O 1

O 2

O 3

O N

Sequence (s i )

s 1

s 2

s 3

s N

We define higher priorities to correspond to the lower values of s i in this table. More plainly, the completed product is usually composed of a set of parts which are assembled in a specific sequence. Before being assembled, all the parts are initialized with the priorities that correspond to the manufacturing process of the product. In this work, we set the values of s i that inversely correlate to the objects priorities. This serves the purpose of adjusting the metric function m ij in the assembly process.

From Eq. (6), it can be concluded that the part ∑  j=1 M a ji , which is constructed and determined by the objects’ attributes, has a significant influence on the metric function. The objects’ attributes, such as size, weight, and shape, generally restrict the human’s manipulation capability in human–robot collaboration. As a consequence, these attribute factors should be considered when the robot action planning algorithm is developed. In this study, the object’s attributes are represented in Table 2.
Table 2

The definition of object attributes

Objects (Oi)

O 1

O 2

O 3

O N

A 1

a 11

a 12

a 13

a 1N

A 2

a 12

a 22

a 23

a 2N

A 3

a 13

a 32

a 33

a 3N

A 4

a 14

a 42

a 43

a 4N

A M

a M1

a M2

a M3

a MN

Therefore, in the object manipulation process as shown in Fig. 4, the manipulation priority of each vertex can be calculated by the metric function. Moreover, based on the directed graph initialized with the object manipulation metric, the adjacency matrix can be extracted and expressed as
$$ {\mathbf{M}}_{0} = \left[ {\begin{array}{*{20}c} 0 & {m_{2} } & {m_{3} } & {m_{4} } & \ldots & {m_{N} } \\ {m_{1} } & 0 & {m_{3} } & {m_{4} } & \ldots & {m_{N} } \\ {m_{1} } & {m_{2} } & 0 & {m_{4} } & \ldots & {m_{N} } \\ {m_{1} } & {m_{2} } & {m_{3} } & 0 & \ldots & {m_{N} } \\ \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \\ {m_{1} } & {m_{2} } & {m_{3} } & {m_{4} } & \ldots & 0 \\ \end{array} } \right] $$
(7)

This matrix further presents the object manipulation priority in the collaboration process. The elements on the principal diagonal denote the first object manipulated in a specific action executed by the human or the robot, and the other elements signify the objects will be manipulated in the next steps. Before starting the task, we initialize the principal diagonal of the matrix to zero, and employ the metrics for other elements in the matrix to denote the objects manipulated in human–robot collaboration.

In the assembly process, the matrix is rebuilt in real time by deleting the element as well as its corresponding row and column after each object has been manipulated. For example, we assume that the human manipulates the object 2 in the (N − K − 1) th step, and the robot manipulates the object 3 in the (N − K) th step. The transformation of the adjacency matrix M in the robot-human cooperation can be presented by Fig. 6.
Fig. 6

The transformation of the adjacency matrix in the robot-human cooperation

  • 3) Adaptation function

In the product assembly process, if the human partner makes a mistake in the order of the part assembly, the product will not be assembled properly which results in a low-quality task. In order to control and maintain the manipulation priority in real-time, we adopt an adaptation function to address these issues. The adaptation function is defined as
$$ f(i) = \left\{ {\begin{array}{ll} {0,} \quad {Hi \in s_{i} } \\ {1,} \quad {Hi \in \overline{{s_{i} }} } \\ \end{array} } \right. $$
(8)
where Hi denotes the adaptation factor, and s i denotes the valid manipulation priority. In the collaboration process, the human actions are supervised by the following expression
$$ m_{i} (k + 1) = (m_{\rm{max} } + m_{i} (k)) * f(i) $$
(9)
where k is the number of human and robot actions, m i denotes the real-time metric of the manipulated object, and mmax means the maximum metric in the current adjacency matrix.
Based on the adaptation function Eq. (8) and the supervision function Eq. (9), It can be seen that if the human manipulates the object in a proper sequence, Hi ∊ s i . Therefore,
$$ m_{i} (k + 1) = (m_{\rm{max} } + m_{i} (k)) * f(i) =0 $$
(10)
In this case, human actions are identified as effective and the object will not be taken into account in the next step of robot action planning. Inversely, if human manipulates the object in an incorrect sequence, \( Hi \in \overline{{s_{i} }} \). Consequently,
$$ m_{i} (k + 1) = (m_{\rm{max} } + m_{i} (k)) $$
(11)
The human actions will be considered to be invalid on this occasion, and the object will be taken into account in the next step of robot action planning to correct the human’s fault action. The detailed working process of the adaptation function is expressed in Algorithm 1, where INS denotes the interrupt state which is employed to activate the adaption function, and INS init denotes the interrupt state initialization. Open image in new window

4.3 Action planning based on cost functions

Based on Eq. (3), in the (N − K) th step, the robot should manipulating the object with biggest metric to obtain the minimum cost in this action. Because ρ ∊ (0, 1) in the cost function, the minimum cost will be determined by
$$ \sum\limits_{j = 1}^{M} {m_{ij} (x_{N - K} )} \;{\kern 1pt} = {\kern 1pt} {\kern 1pt} max({\mathbf{M}}_{N - K} [i][i]){\kern 1pt} {\kern 1pt} = {\kern 1pt} {\kern 1pt} \arg \rm{min} C(x_{N - K} ) $$
(12)
At this point, the cost generated by the robot’s action will be
$$ C_{\rm{min} } (x_{N - K} ) = \rho^{{\rm{max} ({\mathbf{M}}_{N - K} [i][i])}} $$
(13)
It can be seen that the goal of robot action planning is to have the robot make optimal decisions based on cost functions to get the minimum task costs in human–robot collaboration. In the object manipulating process, we develop and employ a heuristic action planning algorithm for the robot using the object manipulating metrics. Simultaneously, the robot modifies its action planning by the motivation of the cost function outputs in order to generate the optimal motion. The detailed working process of the robot action planning and optimization is depicted in Algorithm 2, where R action denotes the generated robot action from online optimization based on cost functions, and M_O denotes manipulating object O. Open image in new window

4.4 Task cost calculation

Equation (13) expresses the optimal cost in a single step, which can be utilized to address the whole cost calculation in the collaborative task. According to Eqs. (11)–(13) above, it can be seen that between the (N − K − 1) th step and (N − K) th step in the robot action planning, the cost value transformation of these two actions can be represented by the area of the shaded region in Fig. 7. As seen in Fig. 7, C(xNK−1) means the (N − K − 1) th step task cost in robot action planning. After being formalized, the area of the shaded region ANK will be
$$ A_{N - K} = \frac{{C(x_{N - K - 1} ) + C(x_{N - K} )}}{2} $$
(14)
As a consequence, with respect to each step in the robot action planning, there will be
$$ \left\{ {\begin{array}{l} {A_{1} = \frac{{C(x_{0} ) + C(x_{1} )}}{2}} \\ {A_{2} = \frac{{C(x_{1} ) + C(x_{2} )}}{2}} \\ {A_{3} = \frac{{C(x_{2} ) + C(x_{3} )}}{2}} \\ \ldots \\ {A_{N - K} = \frac{{C(x_{N - K - 1} ) + C(x_{N - K} )}}{2}} \\ {A_{N - K + 1} = \frac{{C(x_{N - K} ) + C(x_{N - K + 1} )}}{2}} \\ \end{array} } \right. $$
(15)
Combining all the equations together, we can get
$$ \begin{aligned} A & = A_{1} + A_{2} + A_{3} + \cdots + A_{N - K - 1} + A_{N - K} \\ \;\; & = \frac{{C(x_{0} )}}{2}{ + }C(x_{1} ){ + }C(x_{2} ){ + } \cdots + C(x_{N - K} ) + \frac{{C(x_{N - K + 1} )}}{2} \\ \end{aligned} $$
(16)
Because,
$$ \left\{ \begin{array}{l} C(x_{0} ) = 0; \\ C(x_{N - K + 1} ) = 0 \\ \end{array} \right. $$
(17)
The area of the entire parts can be expressed as
$$ \begin{aligned} A& = C(x_{1} ){ + }C(x_{2} ){ + } \cdots + C(x_{N - K} ) \\ & =C(x_{0} \,,x_{1} ,\,x_{2} ,\,x_{3} ,\, \ldots ,\,x_{{N{ - }K}} ,\,x_{{N - K{ + }1}} ) \end{aligned}$$
(18)
Based on Eq. (18), it can be concluded that, in human–robot collaboration process, the task cost presented in Eq. (3) can be calculated by the area of the shaded parts which denotes all the robot actions.
Fig. 7

Task cost representation between two actions

Furthermore, we are able to employ the shaded regions to represent and evaluate the optimization of the cost function which correspond to the robot’s action in real-time in human–robot collaborative tasks. As presented in Fig. 8, there are not only one action planning option (here we assume 5 options) between the (N − K − 1) th step and (N − K) th step for the robot. Based on the proposed approach, the robot can plan a cost-minimum action to collaborate with the human partner.
Fig. 8

The cost function optimization process in the robot action planning

Throughout the whole collaboration process, as shown in Fig. 9, the minimum of the cost function in the robot action planning can be calculated by the minimal area of the shaded regions. Therefore, the lowest cost of the task will be
$$ C_{\rm{min} } (x_{0} \,,x_{1} ,\,x_{2} ,\,x_{3} ,\, \ldots ,\,x_{{N{ - }K}} ,\,x_{{N - K{ + }1}} ) = A_{1} { + }A_{2} + A_{3} + \cdots + A_{N - K} $$
(19)
Obviously, Fig. 9 visually presents the process and final output of the task cost optimization in the robot action planning. Moreover, this representation provides a novel perspective for analyzing and evaluating the task qualities in human–robot collaborations.
Fig. 9

The minimal task cost representation in the robot action planning

5 Experimental results and analysis

5.1 Task description

In the general applications considered in this work, the hybrid assembly tasks are to be accomplished sequentially by the human–robot collaboration. We conduct two different kinds of simulated assembly experiments to demonstrate the advantages of the proposed action planning algorithms. The first task is performed without considering the priority of the target objects, and the second is limited to a strict assembly sequence. The robot and human share the same workplace when performing the tasks.

For the first task, the robot and its human partner are required to work together to pick up some components from the part basket on an industrial assembly line, and then place them together into the product container, as presented in Fig. 10. The parts which are generally used in manufacturing practice, including angle steel support, metal sheet, screw, nut, and washer, with different shapes and weights. In this task, the parts are not required to be put together in a specific sequence.
Fig. 10

The collaborative task without a necessary assembly sequence

For the second task, the robot and human are required to collaborate to pick up some parts from the basket, then assemble them together in the product containers. These parts are designed with three different types, including large circle parts (LC), middle circle parts (MC) and small circle parts (SC). The human worker and robot are arranged to together assemble two products at the same time, as shown in Fig. 11. In this collaborative task, as if the bearing manufacturing, the parts should be assembled with a required sequence.
Fig. 11

The collaborative task with a necessary assembly sequence

Typically, almost all the collaborative assembly tasks in practice are able to be combined with the two kinds of scenarios shown above. We arranged 4 subjects for two kinds of human–robot collaborative tasks with 4 different typical cases. In order to verify the proposed approach universally, each subject is arranged a task case stochastically. In this study, we assume that the humans present the same performance when participate in the human–robot collaborative tasks.

5.2 Settings

Before applying the robot action planning algorithm to human–robot collaborative assembly scenarios, we should set and initialize the values of their parameters first. In this paper, the selections of these values in the two scenarios are based on the practical manufacturing. As shown in Eq. (3), ρ ∊ (0, 1) in the cost function. In order to calculate the task cost quantitatively, we set \( \rho = 0.5 \) in these two assembly tasks.

In the first collaboration scenario, as mentioned previously, the order of the parts is insignificant for the task, hence, we define the sequence priority as
$$ Sequence:\;Screw = Nut = Washer = Support = Sheet $$
Based on the representation in Table 1, we quantify the priority as shown in Table 3.
Table 3

Objects manipulating priority in task 1

Objects

Screw

Nut

Washer

Support

Sheet

Sequence

0.2

0.2

0.2

0.2

0.2

In this task, we select two target object attributes, weight and shape, which are considered as factors for the metric function in robot action planning. The relationships of these attributes are defined as
$$ \begin{array}{l} Weight:\;Sheet > Support > Screw > Nut > Washer\; \\ Shape:\;Screw > Nut > Washer > Sheet > Support\; \\ \end{array} $$
and they are quantified in Table 4.
Table 4

Object attributes in task 1

Objects

Screw

Nut

Washer

Support

Sheet

Weight

0.2

0.1

0.05

0.3

0.35

Shape

0.35

0.3

0.2

0.05

0.1

In the second collaboration scenario, the order of target objects is strictly required. In order to maintain the proper sequence of the objects in the task, the robot will pick up back the object if the human manipulates a wrong object out of the required sequence. These relationships of the objects priorities and attributes are defined as
$$ \begin{array}{l} Sequence:\;LC > MC > SC\; \\ Weight:\;LC > MC > SC \\ Shape:\;LC{ > }MC > SC \\ \end{array} $$
and they are quantified in Tables 5 and 6.
Table 5

Objects manipulating priority in task 2

Objects

LC

MC

SC

Sequence

0.2

0.3

0.5

Table 6

Object attributes in task 2

Objects

LC

MC

SC

Weight

0.5

0.35

0.15

Shape

0.5

0.3

0.2

5.3 Human–robot co-assembly

  • 1) Task 1 without considering the target objects priority

As shown in Table 3, in the first task, the sequence priority of the objects are equal to each other, therefore,
$$ f(i) \equiv 0 $$
(20)
and,
$$ m_{i} (k + 1) = (m_{\rm{max} } + m_{i} (k)) * f(i) = 0 $$
(21)
According to the metric function definition, the objects manipulating sequences depicted by a directed graph are shown in Fig. 12. Furthermore, we can get the adjacency matrix
Fig. 12

Target objects manipulating sequences in the first task

$$ {\text{M}}_{0} = \left[ {\begin{array}{*{20}c} 0 & {0.08} & {0.05} & {0.07} & {0.09} \\ {0.11} & 0 & {0.05} & {0.07} & {0.09} \\ {0.11} & {0.08} & 0 & {0.07} & {0.09} \\ {0.11} & {0.08} & {0.05} & 0 & {0.09} \\ {0.11} & {0.08} & {0.05} & {0.07} & 0 \\ \end{array} } \right] $$
(22)
Moreover, the cost function in task 1 is
$$ C(x_{0} \,,x_{1} ,\,x_{2} ,\,x_{3} ,\,x_{4} ,\,x_{5} ,x_{6} ) = \sum\limits_{i = 1}^{5} {{\kern 1pt} 2^{{\,{ - }\sum\limits_{j = 1}^{2} {m_{ij} (x_{0} \,,x_{1} ,\,x_{2} ,\,x_{3} ,\,x_{4} ,\,x_{5} ,x_{6} )} }} } $$
(23)
In the robot action planning, the costs of all robot’s actions can be calculated as shown in Table 7.
Table 7

The costs of all robot’s actions in task 1

Action

X 0

X 1

X 2

X 3

X 4

X 5

X 6

Cost

0

0.927

0.946

0.966

0.953

0.940

0

In the shared workplace, either the human or the robot manipulates the object first in the collaborative assembly. Therefore, we test and verify the robot action planning by these two cases, respectively.
  • Case 1: The robot manipulates the object first

The whole collaboration process is described as follows. Based on the proposed cost function and robot action planning algorithms, the robot manipulates the biggest metric object Screw with minimal cost for the collaborative task. As mentioned previously, we consider human’s action in the collaboration is stochastic and uncontrollable; so the human can pick up any of the remaining objects. We assume that human picks up the Support and puts it into the container. After being inspired by the cost function, the robot manipulates the Sheet. In next step, it is assumed that the human manipulates the Washer. After that, the robot will pick up the last object Nut and puts it into the container.

In conclusion, the target objects manipulated by the human and robot in the co-assembly are depicted in Figs. 13 and 14 shows the task system adjacency matrix transformation, each adjacency matrix corresponds to a human–robot collaboration step. Moreover, the task cost, denoted by the area of the shaded regions, in the robot action planning is clearly presented in Fig. 15. It can be seen that the minimum task cost is got by the proposed approach.
Fig. 13

The target objects manipulated by the human and robot in case 1 of the first task

Fig. 14

The task system adjacency matrix transformation in case 1 of the first task

Fig. 15

The task cost in the robot action planning in case 1 of the first task

  • Case 2: The human manipulates the object first

The whole collaboration process is described as follows. As mentioned in case 1, the human’s actions are considered as stochastic and uncontrollable; we assume that the human manipulates the Screw first. In addition, motivated by the cost function for action planning, the robot will pick up the biggest metric object Sheet with the least cost and put it into the container in the task. Afterwards, it is assumed that human picks up the Nut and put it into the container. So the robot will manipulate the Support, and the human will manipulate the last object Washer.

The target objects manipulated in the human–robot collaborative assembly are summarized in Fig. 16. The task system adjacency matrix transformation is presented in Fig. 17. Additionally, Fig. 18 indicates the task cost by the area of the shaded regions.
Fig. 16

The target objects manipulated by the human and robot in case 2 of the first task

Fig. 17

The task system adjacency matrix transformation in case 2 of the first task

Fig. 18

The task cost in the robot action planning in case 2 of the first task

  • 2) Task 2 with a limited target objects priority

In this task, according to the definitions of collaboration cost functions, the objects manipulating sequences presented by a directed graph can be shown in Fig. 19.
Fig. 19

Target objects manipulating sequences in the second task

Additionally, from the directed graph we can get the adjacency matrix
$$ {\mathbf{M}}_{0} = \left[ {\begin{array}{*{20}c} 0 & {0.195} & {0.175} \\ {0.2} & 0 & {0.175} \\ {0.2} & {0.195} & 0 \\ \end{array} } \right] $$
(24)
Therefore, the cost function in task 2 will be
$$ C(x_{0} \,,x_{1} ,\,x_{2} ,\,x_{3} ,\,x_{4} ) = \sum\limits_{i = 1}^{3} {{\kern 1pt} 2^{{\,{ - }\sum\limits_{j = 1}^{2} {m_{ij} (x_{0} \,,x_{1} ,\,x_{2} ,\,x_{3} ,\,x_{4} )} }} } $$
(25)
In the robot action planning, the costs of all robot’s actions are shown in Table 8.
Table 8

The costs of all robot’s actions in task 2

Action

X 0

X 1

X 2

X 3

X 4

Cost

0

0.871

0.874

0.886

0

Similarly, in this task, the robot assembly planning for the two cases are presented below respectively.
  • Case 1: The robot manipulates the object first

The whole collaboration process is described as follows. Based on the proposed cost function and action planning algorithm, the robot picks up the biggest metric object LC with minimal cost and places it in container 1. As stated previously, the human’s action in the collaboration is stochastic and uncontrollable, we assume that human picks up SC and places it in container 1. Because the human doesn’t follow the objects sequence priority, the adaptation function is activated as
$$ m_{3} (2) = (m_{\rm{max} } + m_{3} (1)) * 1 = 0 . 3 7 5 $$
(26)
and C(x3) in this task becomes
$$ C(x_{3} ) = 0.5^{0.375} = 0.771 $$
(27)
With the updated adjacency matrix and costs set, after being motivated by the cost function, the robot will pick up SC back to basket from container 1. After that, it is assumed that the human picks up MC and places it in container 1. Next, based on the action planning algorithm, the robot will pick up LC and place it in container 2. Then, we assume that human picks up MC and places it in container 1. This causes the adaptation function to become activated as
$$ m_{2} (6) = (m_{\rm{max} } + m_{2} (5)) * 1 = 0 . 3 9 5 $$
(28)
and C(x2) changes to
$$ C(x_{2} ) = 0.5^{0.395} = 0.760 $$
(29)
Based on the updated adjacency matrix and costs set, the robot will return MC back to the basket from container 1. Assuming that human picks up SC and places it in container 1, so the robot will pick up MC and place it in container 2. Eventually, the human picks up SC and places it in container 2.
The target objects manipulated in the human–robot collaborative assembly are summarized in Fig. 20. Moreover, the task system adjacency matrix transformation is shown in Fig. 21, where M1_T1 and M1_T2 denotes the corresponding adjacency matrixes of the assembled products in the container 1 and container 2, respectively, in the first step. The task cost denoted by the area of the shaded regions is presented in Fig. 22.
Fig. 20

The target objects manipulated by the human and robot in case 1 of the second task

Fig. 21

The task system adjacency matrix transformation in case 1 of the second task

Fig. 22

The task cost in the robot action planning in case 1 of the second task

  • Case 2: The human manipulates the object first

The whole collaboration process is described as follows. Regarding the human’s actions as stated in case 1, it is assumed that the human picks up MC and places it in container 1. Because the human does not follow the objects sequence priority, the adaptation function is activated as
$$ m_{2} (1) = (m_{\rm{max} } + m_{2} (0)) * 1 = 0 . 3 9 5 $$
(30)
and C(x2) in this task will be
$$ C(x_{2} ) = 0.5^{0.395} =0.760 $$
(31)
Based on the action planning algorithm, the updated adjacency matrix and costs set, the robot will return MC back to basket from container 1. Then, it is assumed that the human picks up LC and places it in container 1. The robot will pick up LC and place it in container 2 by the action planning algorithm. Next, it is assumed that the human picks up SC and places it in container 1. In this situation, the adaptation function is activated as
$$ m_{3} (5) = (m_{\rm{max} } + m_{3} (4)) * 1 = 0 . 3 7 5 $$
(32)
and C(x3) in this task will be
$$ C(x_{3} ) = 0.5^{0.375} = 0.771 $$
(33)
According to the updated adjacency matrix and costs set, the robot will return SC to the basket from container 1. We assume that human picks up MC and places it in container 1. So the robot will pick up MC and place it in container 2 based on the action planning algorithm. Next, we assume that human picks up SC and places it in container 2. The robot will pick up the last part SC and place it in container 1.
In this case, the target objects manipulated in the human–robot collaborative assembly are shown in Fig. 23. As presented above, we can get the task system adjacency matrix transformation in Fig. 24, and the task cost expressed by the area of the shaded regions in Fig. 25. In Fig. 24, M1_T1 and M1_T2 denotes the corresponding adjacency matrixes of the assembled products in the container 1 and container 2, respectively, in the first step.
Fig. 23

The target objects manipulated by the human and robot in case 2 of the second task

Fig. 24

The task system adjacency matrix transformation in case 2 of the second task

Fig. 25

The task cost in the robot action planning in case 2 of the second task

5.4 Task cost comparison

From the above, it can be seen that although the variation across multiple subjects will occur in human–robot collaboration, the robot still can plan its actions to get the minimum task cost based on the online optimization using the cost function, metric function, and adaptation function in the proposed approach. Based upon the settings of task 1 and task 2, Figs. 26, 27, 28 and 29 present the general task costs without the action planning algorithms. Red regions are redundant costs derive from the comparisons of general task costs to the results of our approach.
Fig. 26

The task cost with/without the proposed action planning algorithms in case 1 of task 1

Fig. 27

The task cost with/without the proposed action planning algorithms in case 2 of task 1

Fig. 28

The task cost with/without the proposed action planning algorithms in case 1 of task 2

Fig. 29

The task cost with/without the proposed action planning algorithms in case 2 of task 2

It can be observed that if the robot and its human partner plan their actions randomly and irregularly, the general costs are increased compared with the optimized ones (green areas surrounded by red areas) even though the tasks are accomplished eventually. However, the task quality will be brought down and the production input will be enlarged because of such increased task costs. The comparison results are presented in Table 9, from which we can get that the task costs are reduced by an average of 2.98 and 6.89% using our approach in these two co-assemblies, respectively. Furthermore, it can be seen that the more complexity the co-assembly is, the more task cost will be reduced as a result of the proposed algorithm. Therefore, the comparison results suggest that the proposed approach in this work make a considerable contribution to the task quality in human–robot collaboration.
Table 9

Comparisons of general task costs to the results of our approach

Tasks

General task costs

Our approach

Reduction rate (%)

Task 1_case 1

2.415

2.34

3.11

Task 1_case 2

1.449

1.4165

2.84

Task 2_case 1

3.987

3.71

6.95

Task 2_case 2

3.987

3.715

6.82

6 Conclusions and future work

We have proposed a novel and practical approach for robot action planning to improve the task quality in human–robot collaborative assembly. First, the task was parameterized with graphical representations and the cost function was defined to assess the task cost. Afterwards, in human–robot collaboration process, the robot planned its actions based on the cost functions in real time to determine the optimal motions. Meanwhile, the task cost was clearly evaluated from the action optimization algorithms. Finally, the developed robot action planning algorithms were verified by a series of simulated experiments of hybrid assemblies in different kinds of human–robot collaboration situations. Experimental results demonstrated that our developed algorithms provided distinct and effective advantages for robot action planning in the enhancement of human–robot collaborative task quality.

In order to improve the robustness of the action planning algorithms and make it applicable to a wide variety of human–robot collaborations, future works will integrate this approach with more comprehensive task quality evaluation elements for diverse human–robot collaborative cases. It is expected that with the improvements of the action planning algorithms, the robot will be able to execute its motions with an optimal route even in the more complex and uncertain human–robot collaborative tasks.

References

  1. Krüger, J., Bernhardt, R., Surdilovic, D., Spur, G.: Intelligent assist systems for flexible assembly. CIRP Ann. Manuf. Technol. 55, 29–32 (2006)CrossRefGoogle Scholar
  2. Helms, E., Schraft, R.D., Hagele, M.: rob@ work: Robot assistant in industrial environments. In: 11th IEEE International Workshop on Robot and Human Interactive Communication, 2002. Proceedings, pp. 399–404 (2002)Google Scholar
  3. Lauria, S., Bugmann, G., Kyriacou, T., Klein, E.: Mobile robot programming using natural language. Robot. Auton. Syst. 38, 171–181 (2002)CrossRefGoogle Scholar
  4. Jia, Y., She, L., Cheng, Y., Bao, J., Chai, J.Y., Xi, N.: Program robots manufacturing tasks by natural language instructions. In: 2016 IEEE International Conference on Automation Science and Engineering (CASE), pp. 633–638 (2016)Google Scholar
  5. Koppula, H.S., Gupta, R., Saxena, A.: Learning human activities and object affordances from rgb-d videos. Int. J. Robot. Res. 32, 951–970 (2013)CrossRefGoogle Scholar
  6. Ferreira, M., Costa, P., Rocha, L., Moreira, A.P.: Stereo-based real-time 6-DoF work tool tracking for robot programing by demonstration. Int. J. Adv. Manuf. Technol. 85, 1–13 (2014)Google Scholar
  7. Javaid, M., Žefran, M., Yavolovsky, A.: Using pressure sensors to identify manipulation actions during human physical interaction. In: 24th IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN), 2015, pp. 670–675 (2015)Google Scholar
  8. Krüger, J., Lien, T.K., Verl, A.: Cooperation of human and machines in assembly lines. CIRP Ann. Manuf. Technol. 58, 628–646 (2009)CrossRefGoogle Scholar
  9. Bley, H., Reinhart, G., Seliger, G., Bernardi, M., Korne, T.: Appropriate human involvement in assembly and disassembly. CIRP Ann. Manuf. Technol. 53, 487–509 (2004)CrossRefGoogle Scholar
  10. Shah, J., Breazeal, C.: An empirical analysis of team coordination behaviors and action planning with application to human–robot teaming. Hum. Factors J. Hum. Factors Ergon. Soc. 52, 234–245 (2010)CrossRefGoogle Scholar
  11. Lien, T., Rasch, F.: Hybrid automatic-manual assembly systems. CIRP Ann. Manuf. Technol. 50, 21–24 (2001)CrossRefGoogle Scholar
  12. Hoffman, G., Breazeal, C.: Cost-based anticipatory action selection for human–robot fluency. IEEE Trans. Robot. 23, 952–961 (2007)CrossRefGoogle Scholar
  13. Hayes, B., Scassellati, B.: Effective robot teammate behaviors for supporting sequential manipulation tasks. In: 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 6374–6380 (2015)Google Scholar
  14. Shah, J., Wiken, J., Williams, B., Breazeal, C.: Improved human-robot team performance using chaski, a human-inspired plan execution system. In: Proceedings of the 6th International Conference on Human-Robot Interaction, pp. 29–36 (2011)Google Scholar
  15. Schraft, R., Helms, E., Hans, M., Thiemermann, S.: Man-machine-interaction and co-operation for mobile and assisting robots. In: Proceedings of Fourth International ICSC Symposium on Engineering of Intelligent Systems (EIS 2004), Madeira, Portugal (2004)Google Scholar
  16. Schröter, D., Jaschewski, P., Kuhrke, B., Verl, A.: Methodology to identify applications for collaborative robots in powertrain assembly. Procedia CIRP 55, 12–172016 (2016)CrossRefGoogle Scholar
  17. Baraglia, J., Cakmak, M., Nagai, Y., Rao, R., Asada, M.: Initiative in robot assistance during collaborative task execution. In: 2016 11th ACM/IEEE International Conference on Human-Robot Interaction (HRI), pp. 67–74 (2016)Google Scholar
  18. Johannsmeier, L., Haddadin, S.: A hierarchical human-robot interaction-planning framework for task allocation in collaborative industrial assembly processes. IEEE Robot. Autom. Lett. 2, 41–48 (2017)CrossRefGoogle Scholar
  19. Hayes, B., Scassellati, B.: Autonomously constructing hierarchical task networks for planning and human-robot collaboration. In: 2016 IEEE International Conference on Robotics and Automation (ICRA), pp. 5469–5476 (2016)Google Scholar
  20. Bodenhagen, L., Fugl, A.R., Jordt, A., Willatzen, M., Andersen, K.A., Olsen, M.M., et al.: An adaptable robot vision system performing manipulation actions with flexible objects. IEEE Trans. Autom. Sci. Eng. 11, 749–765 (2014)CrossRefGoogle Scholar
  21. Li, G., Zhu, C., Du, J., Cheng, Q., Sheng, W., Chen, H.: Robot semantic mapping through wearable sensor-based human activity recognition. In: 2012 IEEE International Conference on Robotics and Automation (ICRA), pp. 5228–5233 (2012)Google Scholar
  22. Guadarrama, S., Riano, L., Golland, D., Go, D., Jia, Y., Klein, D., et al.: Grounding spatial relations for human-robot interaction. In: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1640–1647 (2013)Google Scholar
  23. Peternel, L., Babič, J.: Humanoid robot posture-control learning in real-time based on human sensorimotor learning ability. In: 2013 IEEE International Conference on Robotics and Automation (ICRA), pp. 5329–5334 (2013)Google Scholar
  24. Frank, B., Becker, M., Stachniss, C., Burgard, W., Teschner, M.: Learning cost functions for mobile robot navigation in environments with deformable objects. In: Workshop on Path Planning on Cost Maps at the IEEE International Conference on Robotics and Automation (ICRA) (2008)Google Scholar
  25. Devaurs, D., Siméon, T., Cortés, J.: Optimal path planning in complex cost spaces with sampling-based algorithms. IEEE Trans. Autom. Sci. Eng. 13, 415–424 (2016)CrossRefGoogle Scholar
  26. Garcia, M.P., Montiel, O., Castillo, O., Sepúlveda, R., Melin, P.: Path planning for autonomous mobile robot navigation with ant colony optimization and fuzzy cost function evaluation. Appl. Soft Comput. 9, 1102–1110 (2009)CrossRefGoogle Scholar
  27. Yin, H., Paiva, A., Billard, A.: Learning cost function and trajectory for robotic writing motion. In: 2014 IEEE-RAS International Conference on Humanoid Robots, pp. 608–615 (2014)Google Scholar
  28. Wulfmeier, M., Wang, D.Z., Posner, I.: Watch this: scalable cost-function learning for path planning in urban environments. arXiv preprint arXiv:1607.02329 (2016)
  29. Rimon, E., Koditschek, D.E.: Exact robot navigation using cost functions: the case of distinct spherical boundaries in E n. In: 1988 IEEE International Conference on Proceedings Robotics and Automation, pp. 1791–1796 (1988)Google Scholar
  30. Martinez-Cantin, R., de Freitas, N., Doucet, A., Castellanos, J.A.: Active policy learning for robot planning and exploration under uncertainty. In: Robotics: science and systems, pp. 321–328 (2007)Google Scholar
  31. Neumann, G., Maass, W., Peters, J.: Learning complex motions by sequencing simpler motion templates. In: Proceedings of the 26th Annual International Conference on Machine Learning, pp. 753–760 (2009)Google Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2018

Authors and Affiliations

  1. 1.Department of Automotive EngineeringClemson UniversityGreenvilleUSA

Personalised recommendations