Robotics
We are interested mostly in Autonomous and Intelligent Robotic Systems for manufacturing, as developed in the EU projects TAPAS, CARLOS, Stamina and Scalable 4.0, SME Robotics, SaraFun, and others.
All of our work is based on robot skills, Robot Skills including the necessary low- and high-level reasoning and sensing.
For questions, please contact Volker Krueger
Learning of Parameters in Behavior Trees for Movement Skills (IROS 2021)
Matthias Mayr, Konstantinos Chatzilygeroudis, Faseeh Ahmad, Luigi Nardi and Volker Krueger
Reinforcement Learning (RL) is a powerful math- ematical framework that allows robots to learn complex skills by trial-and-error. Despite numerous successes in many ap- plications, RL algorithms still require thousands of trials to converge to high-performing policies, can produce dangerous behaviors while learning, and the optimized policies (usually modeled as neural networks) give almost zero explanation when they fail to perform the task. For these reasons, the adoption of RL in industrial settings is not common. Behavior Trees (BTs), on the other hand, can provide a policy representation that a) supports modular and composable skills, b) allows for easy interpretation of the robot actions, and c) provides an advantageous low-dimensional parameter space. In this paper, we present a novel algorithm that can learn the parameters of a BT policy in simulation and then generalize to the physical robot without any additional training. We leverage a physical simulator with a digital twin of our workstation, and optimize the relevant parameters with a black-box optimizer. We showcase the efficacy of our method with a 7-DOF KUKA- iiwa manipulator in a task that includes obstacle avoidance and a contact-rich insertion (peg-in-hole), in which our method outperforms the baselines.
Productive Multitasking for Industrial Robots (ICRA 2021)
D. Wuthier, F. Rovida, M. Fumagalli, and V. Krüger
The application of robotic solutions to small- batch production is challenging: economical constraints tend to dramatically limit the time for setting up new batches. Organizing robot tasks into modular software components, called skills, and allowing the assignment of multiple concurrent tasks to a single robot is potentially game-changing. However, due to cycle time constraints, it may be necessary for a skill to take over without waiting on another to terminate, and the available literature lacks a systematic approach in this case. In the present article, we fill the gap by (a) establishing the specifications of skills that can be sequenced with partial executions, (b) proposing an implementation based on the combination of finite-state machines and behavior trees, and (c) demonstrating the benefits of such skills through extensive trials in the environment of ARIAC (Agile Robotics for Industrial Automation Competition).
Robot Skills
Robot skills are building blocks out of which robots programs are made. The building blocks can be selected automatically through providing a task goal, or they can be selected by hand.
- Skills are high-level functions like pick, place, push, drive_to, etc.
- Skills have their own sensing capabilities build in.
- For example a "pick(piston)" does the following
- query the knowledge database (KIF) what a "piston" is.
- The KIF provides a CAD model and possibly additional information.
- The skill uses its 3D sensing capabilities to a) locate the Piston based on the CAD information, and b) compute the object pose.
- queries the KIF on how to pick the object
- the KIF provides pre-grasp and grasping strategy for the available gripper
- The skill validates preconditions for picking: 1) gripper is empty, 2) object is reachable
- if preconditions are satisfied, the picking is executed
- after execution, the robot validates post conditions: 1) gripper not empty, 2) object not at its original location.
Using pre- and post-conditions, we can use PDDL and STRIPS-like planners to find a skill sequence for a given task goal. If pre-conditions fail (e.g., object NOT reachable), the planner can replan to find an alternative skill sequence.
Papers:
- Volker Krueger, Francesco Rovida, Bjarne Grossmann, Ronald Petrick, Matthew Crosby, Arnaud Charzoule, German Martin Garcia, Sven Behnke, Cesar Toscano, Germano Veiga, Testing the vertical and cyber-physical integration of cognitive robots in manufacturing, Robotics and Computer-Integrated Manufacturing, Volume 57, 2019, Pages 213-229
- V. Krueger et al., "A Vertical and Cyber–Physical Integration of Cognitive Robots in Manufacturing," in Proceedings of the IEEE, vol. 104, no. 5, pp. 1114-1127, May 2016.
- Mikkel Rath Pedersen, Lazaros Nalpantidis, Rasmus Skovgaard Andersen, Casper Schou, Simon Bøgh, Volker Krüger, Ole Madsen, Robot skills for manufacturing: From concept to industrial deployment, Robotics and Computer-Integrated Manufacturing, Volume 37, 2016, Pages 282-291
Movement Generators and Behavioral Trees for Modelling Skills (IROS2018)
Task level programming based on skills has often been proposed as a mean to decrease programming complexity of industrial robots. Several models are based on encapsulating complex motions into self-contained primitive blocks. A semantic skill is then defined as a deterministic sequence of these primitives. A major limitation is that existing frameworks do not support the coordination of concurrent motion primitives with possible interference. This decreases their reusability and scalability in unstructured environments where a dynamic and reactive adaptation of motions is often required. This paper presents a novel framework that generates adaptive behaviors by modeling skills as concurrent motion primitives activated dynamically when conditions trigger. The approach exploits the additive property of motion generators to superpose multiple contributions. We demonstrate the applicability on a real assembly use-case and discuss the gained benefits.
Paper:
F. Rovida, D. Wuthier, B. Grossmann, M. Fumagalli and V. Krüger, "Motion Generators Combined with Behavior Trees: A Novel Approach to Skill Modelling," 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, 2018, pp. 5964-5971.
ARIAC Competition
We have participated in the 2018 Agile Robotics for Industrial Automation Competition (ARIAC) with my old group at Aalborg University, and we have finished third by using SkiRoS, or Skills for Robot Systems software.
Tasks were
- Failure identification and recovery
- Automated planning
- Fixtureless environment
- Plug and play robots
- autonomously completing kitting order fulfilment tasks,
various agility challenges were:
- Failing suction grippers
- Reception of updated/high-priority orders
- Notification of faulty products
- Products requested flipped from their original positioning
- Failing sensors (“blackout”)