CLIPS-based Task Coordination

Facing the fourth industrial revolution, autonomous mobile robots are expected to play an important role in the production processes of the future. The new Logistics League Sponsored by Festo (LLSF) under the RoboCup umbrella focuses on this aspect of robotics to provide a benchmark testbed on a common robot platform. We compete as a the Carologistics RoboCup team and approach the supply chain problem of this domain by deploying the CLIPS rules engine for production planning and dealing with the incomplete knowledge that exists in the domain. The system has proven to be suitable and capable to solve this problem efficiently and that it allows for clever strategies.

The agent has been used to compete in the RoboCup competitions 2012 (Mexico City), 2013 (Eindhoven, Netherlands), and 2014 (Joao Pessoa, Brazil) which we could win, and at the German Open 2013 and 2014. By now we have multiple students working on optimizing the game flow within the CLIPS-based agent framework. A video of a particularly nice run during the world championships 2014 in Brazil is shown below.

Publication

In the paper "Incremental Task-level Reasoning in a Competitive Factory Automation Scenario" we describe the concepts behind the agent, why CLIPS is a good choice for reasoning with incomplete knowledge on a computationally limited platform, and the implementation on a Robotino robot.

The CLIPS Agent Framework

The CLIPS agent framework builds on top of Fawkes and the Lua-based Behavior Engine (BE). The BE provides the skills/actions which instruct and monitor the low-level system. It is the only interface to actuation from the agent program. The framework further allows access to arbitrary blackboard interfaces to read data from the system and to make decisions. The actual agent program is then loaded when the plugin is run and continuously executed. The source code of the framework has been integrated into Fawkes (source).

The agent is also able to communicate with its peers through a protobuf-based communication protocol (with arbitrary, application-specific message types). In our system this is used for resource locking, e.g. only one robot can occupy a machine at a time, world model distribution, and for task coordination among the group of robots.

The framework is also the basis for the RoboCup Logistics Referee Box, which is used in the RoboCup Logistics competition to control the overall game flow.

Future Work and Contact

The next step for this framework is to rewrite the task layer into a more generic structure that requires less individual coding for new tasks, but that can build on a more generic execution pipeline. If you are interested in this work or our future enhancements please do not hesitate to get in touch contacting Tim Niemueller

Acknowledgements

Without the hard work of the Carologistics RoboCup team the CLIPS agent would not have been possible. Only the solid base and skill set made the project feasible. T. Niemueller was partly supported by the German National Science Foundation (DFG) with grants GL747/9-5 and DFG research unit on Hybrid Reasoning for Intelligent Systems.