Constraint optimization model of a scheduling problem for a robotic arm in automatic systems

https://doi.org/10.1016/j.robot.2013.09.005Get rights and content

Highlights

  • We model robotic painting as a scheduling problem using constraint optimization.

  • We present software architecture for automatic generation of robot programs.

  • We measure the processing time, painting quality and computation time.

  • Longer processing time is a tradeoff in paying attention to quality.

  • Multiple solutions can decrease processing time and improve painting quality.

Abstract

In this paper, we investigate the problem of scheduling a 6 DOF robotic arm to carry out a sequence of spray painting tasks. The duration of any given painting task is process dependent and fixed, but the duration of an “intertask”, corresponding to the process of relocating and reorienting the robot arm from one painting task to the next one, is influenced by the order of tasks and must be minimized by the scheduler. There are multiple solutions for reaching any given painting task and tasks can be performed in either of two different directions. Further complicating the problem are characteristics of the painting process application itself. Unlike spot-welding, painting tasks require movement of the entire robot arm. In addition to minimizing intertask duration, the scheduler must strive to maximize painting quality and the problem is formulated as a multi-objective optimization problem. The scheduling model is implemented as a stand-alone module using constraint programming, and integrated with a larger automatic system. The results of a number of simulation experiments with simple parts are reported, both to characterize the functionality of the scheduler and to illustrate the operation of the entire software system for automatic generation of robot programs for painting.

Introduction

Robotic arms are now widely used in industry for performing different types of manufacturing processes, including welding, assembly and surface treatment. Yet, programming of industrial robots is still often done manually. This means that performance parameters such as programming time of the robot, processing time of the robot and quality of the product transformed by the robot can all change, as they depend on the individual skills of the operator. Manual programming of industrial robots is also very expensive: in addition to the worker’s wage, it consumes significant time (sometimes up to 1 day) of the robot cell or, in some cases, the entire production line, and the complexity of parts together with trends toward small batch sizes only add to the programming costs. For all of these reasons it is in the interest of the industry to automate the generation of robot programs.

Automatic generation of the robot program can be decomposed into three main sub-problems: Task Planning (where the tasks are described in a well defined coordinate system and assigned process dependent parameters), Task Scheduling (where the tasks are sequenced according to some objective criteria) and Motion Planning (where collision-free robot specific trajectories are generated). The task scheduling model presented in this paper does not depend on the methods for task planning and motion planning and therefore these two topics are not further described. The task scheduling model is generic. It does not depend on any special characteristics of the robot and it could be used for any painting machine. It relies only on the information passed in the input tasks, which is generated by the task planner and described later in this article.

The problem considered here is for a single cell with one 6 DOF spray painting robot (although the solution proposed generalizes straightforwardly to multiple cells and multiple robots per cell). The parts entering the cell are hanging on hooks, attached to a metal hollowed bar, which is also referred to as a skit. The skit is mounted on an on–off conveyor belt, implying that parts are available for painting by the robot at a specific release time and the skit does not move while in the robot cell. The conveyor is off for a predefined cycle time, cT, which determines the upper bound on the solution produced by the scheduler. The upper bound specifies the maximum feasible duration of the schedule. Cycle time is followed by a so-called changeover interval, chI, during which one skit leaves the robot cell and another one enters, see Fig. 1. The time during which a robot is working on a skit is called the processing time. Even though it does not affect the cycle time of the conveyor, its duration is important because of its influence on the total throughput. Shorter processing times give a high level shop order planner the freedom to assign more parts to a skit.

In this paper, we focus on scheduling the tasks assigned to a particular skit. The tasks should be understood as value-added actions, performed by the robot, such as welding or painting. They are executed by the linear or circular motion of the tool. In the painting process considered here, tasks are associated with paint strokes. A paint stroke carries information about the type of motion the paint gun should follow while it is turned on, which depends on the geometry of the surface to be painted  [1]. In this article we consider only parts with planar surfaces and they are painted by the linear motions of the paint gun, which are represented by the black solid lines in Fig. 2. The paint stroke also carries information about the start and end positions and orientation of the paint gun, referred to as the goal placements and defined in the global coordinate frame. This means that the considered paint strokes are not only horizontal or vertical, but can have any orientation in the global coordinate frame. Each paint stroke has two potential start goal placements, given that it is possible to perform the paint stroke in two opposite directions, see Fig. 2. If point A is chosen for a start goal placement, then in this case the robot tool moves from the right to the left side. If point C is chosen for a start goal placement, then the robot tool moves from the left to the right side.

Since the goal placement describes both the position and orientation of the paint gun, it is important to note that:position(A)=position(D),orientation(A)orientation(D),position(B)=position(C),orientation(B)orientation(C), and therefore: goalPlacement(A)goalPlacement(D),goalPlacement(B)goalPlacement(C). Apart from its goal placements a paint stroke is also specified by a set of parameters, such as the distance from the nozzle to the surface that needs to be painted, the working angle, the forward angle and the speed of the paint gun. The speed and orientation of the paint gun along the paint stroke should be kept constant in order to achieve uniform thickness of the paint layer. Thus the duration of a paint stroke does not depend on the sequence of paint strokes, the painting direction or the robot they are assigned to. It cannot be used as a parameter for optimization. Instead, the sum of durations of the paint strokes assigned to a specific robot can be used by the scheduler as the lower bound on the processing time of that robot.

It is possible that not all paint strokes generated by the task planner can actually be performed by the robot, and those that cannot are deleted in the subsequent process of motion planning. A paint stroke cannot be executed if it is located outside the robot workspace or if the robot cannot reach a paint stroke because of singularities. Other reasons for deleting a paint stroke are to avoid collisions of the robot with the painting cell, the conveyor line or the parts that are hanging on the skit. The parts associated with any paint strokes that do get deleted for infeasibility reasons are missing some paint. Whether such parts are accepted or not depends on the customer’s requirements and the number of deleted paint strokes. In cases where the parts are not accepted, they are either removed from production as waste or retrieved in a so called touch-up process, where the operator manually corrects for the deficiencies in the painted surface. Tasks, that are not deleted by the motion planner and thus can be performed by the robot, must be sequenced to produce a schedule.

The scheduling process is complicated by the fact that there are different ways to perform every task and the choice of solution for a given task will impact the overall skit processing time. Two alternative solutions are due to the pair of potential start goal placements for each paint stroke. Further complexity follows from the fact that a start goal placement can be reached by several joint configurations of the robot arm. A start goal placement, associated with the particular joint configuration, is referred to as a start goal throughout the paper. For a 6 DOF robot there can be up to 16 different solutions for reaching a certain goal placement, depending on the position of the goal placement in the robot workspace and the way the robot is built  [2]. However the number of solutions for the painting application is reduced due to the fact that the orientation of the paint gun must be kept constant along the paint stroke at the same time as the robot trajectories need to be collision free. The actual number of solutions varies for different painting problems and methods used by the motion planner. Fig. 3 shows three different joint configurations, all of which place the tool with the same position and orientation.

Both the choice of solution for every paint stroke and the sequence of paint strokes have an influence on the choice of intertask and its duration. An intertask is the joint motion of the robot between two tasks with a changing speed, where the tool is moving non-linearly in Cartesian space and not performing a painting task but instead is repositioning for the next one. Using terminology from the scheduling literature, an intertask can be understood as a setup time or a transition time. In the painting process the term intertask represents the time that is necessary for a robot to cover the distance from the end goal placement of one paint stroke to the start goal placement of the succeeding paint stroke. An intertask is used here as a parameter for schedule optimization, because by varying its duration it is possible to change the total processing time of the robot.

For many industrial problems, however, minimizing processing time and completing jobs quickly is not the only objective. For most manufacturers for example it is additionally important to achieve a certain level of product quality. In this respect, it is possible to analyze the properties of the existing equipment and processes for any relationship between scheduling decisions that might be taken and product quality. With respect to the painting process, scheduling of so-called overlapping paint strokes directly influences painting quality, which is measured here by the number of defects, such as sagging and the paint dust, shown in Fig. 4. Two paint strokes are overlapping when the coating material of one stroke is applied over or beyond the coating of the other one to achieve a homogeneous layer of paint, as shown in Fig. 5. This implies that two linear overlapping paint strokes are positioned on the same planar surface and they are parallel.

For paint strokes that are positioned on an inclined surface, the wet paint coat will flow down under its own weight with cohesive forces opposing this flow. The flow depends on the drying properties of paint and can be the source of defects, if the overlapping coat is applied either too fast or too late. The flow can be controlled indirectly by changing the intertask durations between overlapping paint strokes and therefore it is influenced by the chosen solutions for overlapping paint strokes and their schedule. This relationship makes it important to consider the aspect of quality in scheduling, because the solution giving the shortest processing time and best utilization of resources is worthless, if the product does not meet quality specifications.

Section snippets

Relation to previous work

The idea to automate the generation of programs for spray-painting robots first appeared in 1990s. The problem was decomposed into three main subproblems: paint planning, scheduling and motion planning. However, many challenges quickly became apparent in creating suitable models of painting processes and robot motions, whether they were an attempt to describe the physics of the system or they were based on operator’s knowledge and experience. Considerable research has focused on the design of

Problem formulation

We describe the physical entities of the problem, i.e., paint strokes, different painting directions and different solutions to each paint stroke, in terms of the indices of their respective start goals. This modeling principle is explained using the example in Fig. 6, where two bars are hanging on the hooks, attached to the skit. To simplify the explanation we assume for this example that the task planner generates only four paint strokes, which in this case does not result in the complete

Constraint optimization model

Constraint optimization is used here as a way of modeling and solving the scheduling problem. It is attractive because it allows a strong separation to be maintained between the specification of the model and the software implementing the solver. This provides the possibility to use different solvers for the developed model and makes our solution more generic.

The main goal in constructing the model is to represent the painting problem using a structure and semantics that can easily be adapted

Implementation

The constraint optimization model just described is implemented as a stand-alone module, called ‘Schedule tasks’, which allows its reuse in other applications. Here it is implemented as a part of a broader software system for automatic generation of robot programs for the painting process. The overall functional diagram of the designed system architecture is described based on the function modeling methodology IDEF0, as shown in Fig. 12, where the functions are executed sequentially from the

Design of simulation experiments

In this section, we report the experiments we have performed using the implementation of our constraint optimization model within the system shown in Fig. 12. All results given below have been obtained on a 2.66 GHz Intel Xeon computer with 6 GB of memory running Windows 7 Professional. All times are in seconds, with a resolution 0.1.

The overall system to be analyzed is summarized in Fig. 13 and described based on the IDEF0 terminology.

The three input variables are: the number of goal groups

Results

The results of the first series of experiments are shown in Table 3. Maximum running time of the scheduler, tc, was set to 40 h. If the scheduler did not terminate within this time, the experiment was stopped and marked as ‘–’ in Table 3. The selected results are presented graphically in Fig. 16, Fig. 17, Fig. 18.

The results of the second series of experiments are shown in Table 4 and in Fig. 19.

Discussion and analysis of the results

Description of the results with regards to the computation time of the scheduler, tc:

Fig. 16(a): For a full model, Nc=5, the computation time of the scheduler, tc, is not affected by the specific values of the lower and upper bound parameters, LB and UB, since they are specified prior to scheduling. The computation time is rather affected by the fact of introducing an additional constraint to the scheduler and solving the multiple objective function. For a full model, NC=5 with minimum number

Conclusions

In this paper, we modeled a new type of scheduling problem, which appears in robotic painting and welding applications with automatic generation of robot programs. In this problem the tasks have multiple solutions, the robot’s intertask movements are not linear and they are performed with varying speed. It was analyzed that scheduling of overlapping paint strokes can have an influence on painting quality, represented by painting defects such as paint dust and sagging, and measured by the value

Ewa Kolakowska is an assistant professor in the Department of Mechanical and Manufacturing Engineering at Aalborg University, Denmark. In 2005 she received her MSc in the Department of Electrical Engineering at Warsaw University of Technology, Poland, and MSc in the Department of Electronic Systems at Aalborg University, Denmark. In 2007 she was a visiting graduate student at The Robotics Institute at Carnegie Mellon University, USA. She received her Ph.D. degree from the Department of

References (19)

  • P. Zacharia et al.

    Optimal robot task scheduling based on genetic algorithms

    Robotics and Computer-Integrated Manufacturing

    (2005)
  • G. Biegelbauer et al.

    The inverse approch of flexpaint

  • J.J. Craig

    Introduction to Robotics, Mechanics and Control

    (1989)
  • S.-H. Suh, I.-K. Woo, S.-K. Noh, Development of an automatic trajectory planning system (atps) for spray painting...
  • N. Asakawa, Y. Takeuchi, Teaching spray-painting of sculptures by an industrial robot, in: Proc. of IEEE International...
  • E. Freund, D. Rokossa, J. Roßmann, Process-oriented approach to an efficient off-line programming of industrial robots,...
  • H. Chen et al.

    Cad-based automated robot trajectory planning for spray painting of free-form surfaces

    Industrial Robot

    (2002)
  • N.P. Atkar et al.

    Uniform coverage of automotive surface patches

    The International Journal of Robotics Research

    (2005)
  • Flexpaint, 2000–2002, Efficient low volume high variant robotized painting,...
There are more references available in the full text version of this article.

Cited by (48)

  • ProSeqqo: A generic solver for process planning and sequencing in industrial robotics

    2022, Robotics and Computer-Integrated Manufacturing
    Citation Excerpt :

    Firstly, if task sequencing is coupled with decisions in continuous space (e.g., with viewpoint selection in inspection or in remote laser welding [23]; start/end point selection on continuous curves in cutting [24]), then the problem must be discretized by sampling before encoding it into the proposed formulation. Secondly, it might be impossible to express the objective function as the sum of transition costs on the (PCG)TSP edges, e.g., for characterizing product quality in spray painting [25], machining times in multi-hole drilling [26], or part distortion in welding [27]. These applications still need dedicated solution approaches.

  • Optimal scheduling for palletizing task using robotic arm and artificial bee colony algorithm

    2022, Engineering Applications of Artificial Intelligence
    Citation Excerpt :

    Automatic generation of the robot program can be divided into three problems: task planning, task scheduling, and motion planning (Kolakowska et al., 2014).

  • Sustainable operations-oriented painting process optimisation in automobile maintenance service

    2021, Journal of Cleaner Production
    Citation Excerpt :

    Thereby, this helps enterprises to make progress in seeking to fulfil their social dimension of the TBL. In summary, some studies have focused on painting scheduling problems, but the literature on helping achieve the TBL is limited (Xu et al., 2013; Kolakowska et al., 2014; and Oliveira et al., 2018). The TBL is highlighted as a method to measure progress toward sustainable performance (Gimenez et al., 2012; Sarkis and Dhavale, 2015).

View all citing articles on Scopus

Ewa Kolakowska is an assistant professor in the Department of Mechanical and Manufacturing Engineering at Aalborg University, Denmark. In 2005 she received her MSc in the Department of Electrical Engineering at Warsaw University of Technology, Poland, and MSc in the Department of Electronic Systems at Aalborg University, Denmark. In 2007 she was a visiting graduate student at The Robotics Institute at Carnegie Mellon University, USA. She received her Ph.D. degree from the Department of Production at Aalborg University in 2009. Her research interests include scheduling of the industrial robots and design and control of the autonomous mobile field robots.

Stephen F. Smith is a Research Professor in the Robotics Institute at Carnegie Mellon University, where he heads the Intelligent Coordination and Logistics Laboratory. Dr. Smith’s research focuses broadly on the theory and practice of next-generation technologies for planning, scheduling, coordination and optimization. He pioneered the development and use of constraint-based search and optimization models for solving planning and scheduling problems, and continues to investigate extensions that enable their effective use in complex, uncertain and distributed domains. He has published over 240 technical articles in these areas, and is a Fellow of the Association for the Advancement of Artificial Intelligence.

Morten Kristiansen is associate professor at the Department of Mechanical and Manufacturing Engineering, Aalborg University, Denmark, where he is teaching and researching in the area of manufacturing technology, robotics and process automation. Currently his research is in automation and modeling of the laser cutting and welding process. Previously Morten Kristiansen has worked at Aalborg University and received in 2007 his Ph.D., in the field of modeling of the welding process using different knowledge sources and artificial intelligence.

View full text