header photo

Simultaneous task allocation and motion scheduling for complex tasks executed by multiple robots

[PDF, Video, Source codes, STAAMS solver]


J.K.Behrens(1), K.Stepanova(1), R.Babuska(1,2)

(1)Czech Technical University in Prague, Czech Institute of Informatics, Robotics, and Cybernetics, jan.kristof.behrens@cvut.cz,karla.stepanova@cvut.cz, (2) Delft University of Technology, Department of Cognitive Robotics, r.babuska@tu.delft.cz


Coordination of multiple robots operating simultaneously in the same workspace requires the integration of task scheduling and motion planning. We focus on tasks in which the robot's actions are not necessarily confined to small volumes, but can also occupy a large time-varying portion of the workspace, such as in welding along a line or drilling a hole. Optimization of such tasks presents a considerable challenge mainly due to the fact that different variants of action execution exist, for instance, there can be multiple starting points of lines or closed curves, different filling patterns of areas, etc. We propose a generic and computationally efficient optimization method which is based on constraint programming. It takes into account the kinematics of the robot and guarantees that the motion trajectories of the robots are collision-free while minimizing the overall makespan. We evaluate our approach on several tasks of varying complexity: cutting, additive manufacturing, spot welding, inserting and tightening bolts, performed by a dual-arm robot. In terms of the makespan, the result is superior to task execution by one robot arm as well as by two arms not working simultaneously.

Attachment video

Video showing the extension of STAAMS solver for extended tasks - simultaneous cooperation of 2 KUKA robots on individual industrial usecases.

Here is a link to the video.

Additional resources

Submitted manuscript [PDF]

STAAMS solver https://github.com/boschresearch/STAAMS-SOLVER

Source codes

  • original STAAMS solver https://github.com/boschresearch/STAAMS-SOLVER
  • Showcases - task definition by user (showing user friendly way how are individual usecases defined for the solver):
    • Showcase 2 - cutting multiple lines(allocation to robotic arms - shared capabilities, variants of execution of line actions - selecting start)
    • Showcase 3 - coating multiple lines (variants on execution of line tasks, order - first dispose then coat)
    • Showcase 5 - spot welding (confined and extended tasks combination, order - first stitches then line welding, allocation of tasks to individual arms with shared capabilities)
    • Showcase 6 - inserting and tightening bolts (confined and extended tasks combination, order - first insert then tighten)

Additional videos

Simultaneous cooperation of 2 KUKA robots following each other for extended trajectory actions.

Here is a link to the video

Connected papers

  • Manuscript published at RAL and ICRA 2019: J. K. Behrens, K.Stepanova, R.Lange, R.Skoviera, “Specifying Dual-Arm Robot Planning Problems Through Natural Language and Demonstration", webpage including link to the manuscript and source codes: imitrob.ciirc.cvut.cz/planning.html
  • Manuscript published at ICRA 2019: J. K. Behrens, R. Lange, and M. Mansouri, “A constraint programming approach to simultaneous task allocation and motion scheduling for industrial dual-arm manipulation tasks,” [PDF], The code and the setup details: https://github.com/boschresearch/STAAMS-SOLVER