international harting open source award 2016: fawkes for ...€¦ · and cognitive robotics (fh...

8
International Harting Open Source Award 2016: Fawkes for the RoboCup Logistics League Tim Niemueller 1 , Tobias Neumann 2 , Christoph Henke 3 , Sebastian Sch¨ onitz 3 , Sebastian Reuter 3 , Alexander Ferrein 2 , Sabina Jeschke 3 , and Gerhard Lakemeyer 1 1 Knowledge-based Systems Group, RWTH Aachen University, Germany 2 MASCOR Institute, FH Aachen University of Applied Sciences, Germany 3 Institute Cluster IMA/ZLW & IfU, RWTH Aachen University, Germany Abstract. Since 2014, we have made three releases of our full software stack for the RoboCup Logistics League (RCLL) based on the Open Source Fawkes Robot Software Framework. They include all software components of the team Carologistics which won RoboCup 2014, 2015, and 2016. The software is based on experience with participating in a number of leagues and the AllemaniACs RoboCup@Home team is an ac- tive contributor. We think that these releases have made the league more accessible to new teams and helped existing teams to improve their per- formance. The team is proud to have been selected for the third place of the 1st International Harting Open Source Award in 2016. In this paper, we give an overview of the framework and its development. 1 Introduction Autonomous mobile robots comprise a great deal of complexity. They require a plethora of software components for perception, actuation, task-level reasoning, and communication. These components have to be integrated into a coherent and robust system in time for the next RoboCup event. Then, during the competition, the system has to perform stable and reliably. Providing a software framework 2006 2007 2010 2008 2014 2012 2015 Fig. 1. Robots running (parts of) Fawkes which were or are used for the development of the framework and its components.

Upload: others

Post on 17-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: International Harting Open Source Award 2016: Fawkes for ...€¦ · and Cognitive Robotics (FH Aachen University of Applied Sciences). We won the RoboCup and RoboCup German Open

International Harting Open Source Award 2016:Fawkes for the RoboCup Logistics League

Tim Niemueller1, Tobias Neumann2,Christoph Henke3, Sebastian Schonitz3, Sebastian Reuter3,

Alexander Ferrein2, Sabina Jeschke3, and Gerhard Lakemeyer1

1 Knowledge-based Systems Group, RWTH Aachen University, Germany2 MASCOR Institute, FH Aachen University of Applied Sciences, Germany3 Institute Cluster IMA/ZLW & IfU, RWTH Aachen University, Germany

Abstract. Since 2014, we have made three releases of our full softwarestack for the RoboCup Logistics League (RCLL) based on the OpenSource Fawkes Robot Software Framework. They include all softwarecomponents of the team Carologistics which won RoboCup 2014, 2015,and 2016. The software is based on experience with participating in anumber of leagues and the AllemaniACs RoboCup@Home team is an ac-tive contributor. We think that these releases have made the league moreaccessible to new teams and helped existing teams to improve their per-formance. The team is proud to have been selected for the third place ofthe 1st International Harting Open Source Award in 2016. In this paper,we give an overview of the framework and its development.

1 Introduction

Autonomous mobile robots comprise a great deal of complexity. They require aplethora of software components for perception, actuation, task-level reasoning,and communication. These components have to be integrated into a coherent androbust system in time for the next RoboCup event. Then, during the competition,the system has to perform stable and reliably. Providing a software framework

2006 2007 20102008 20142012 2015

Fig. 1. Robots running (parts of) Fawkes which were or are used for the developmentof the framework and its components.

Page 2: International Harting Open Source Award 2016: Fawkes for ...€¦ · and Cognitive Robotics (FH Aachen University of Applied Sciences). We won the RoboCup and RoboCup German Open

for teams to use tremendously eases that effort. Even more so when providing afully integrated system specific for a particular domain.

Over the past ten years, we have developed the Fawkes Robot Software Frame-work [1] as a robust foundation to deal with the challenges of robotics applica-tions in general, and in the context of RoboCup in particular. It has been devel-oped and used in the Middle-Size [2] and Standard Platform [3] soccer leagues,the RoboCup@Home [4,5] service robot league, and now in the RoboCup Logis-tics League [6, 7]. The frameworks or parts of it have also been used in othercontexts [8, 9].

We have been the first team in the RCLL to publicly release their softwarestack. Teams in other leagues have made similar releases before [10]. What makesours unique is that it provides a complete and ready-to-run package with the fullsoftware (and some additions and fixes) that we used in several competitions –which we won. This in particular includes the complete task-level executive com-ponent, that is the strategic decision making and behavior generating software.The major parts of the domain model are also made publicly available.

In the RCLL all teams use the same hardware platform “Robotino” by FestoDidactic. This means that there is no hardware barrier that prevents teams fromusing the software effectively and quickly. Even more so, with the 3D simulationenvironment based on Gazebo which we have developed [11] and provide, teamscan immediately start using our software system for their own development. Weprovide extensive documentation and are expanding it continuously.

In 2016, the RCLL software stack based on Fawkes4 was selected for the thirdplace of the 1st International Harting Open Source Prize.

In the following we will briefly describe the framework, some major com-ponents, and our simulation environment in Section 2 with a highlight on thetask-level executive in Section 3. We conclude in Section 4.

2 Fawkes Robot Software Framework

The software stack is based on the Fawkes Robot Software Framework5 which isOpen Source software. The development is split into a core and domain-specificparts. The core framework, Fawkes, is developed in public. We have just releasedthe first stable release 1.0. The domain-specific components are developed inprivate as they are considered to be our competitive edge. We have made severalreleases in the past few years, one after each RoboCup event since 2014.

Fawkes was initially started in 2006 as an effort to build a capable and fastersoftware platform for a new generation of Mid-Size league robots of the Allema-niACs6 RoboCup Team (cf. Figure 1). It was used for the first time at RoboCup2007 in Atlanta. Since then it was also used on our domestic service robot Cae-sar [5] in the RoboCup@Home league winning the RoboCup in 2006 and 2007,placing second in 2008, and winning the German Open 2007 and 2008 [4]. From

4 Latest release: https://www.fawkesrobotics.org/p/rcll2016-release5 Fawkes website at http://www.fawkesrobotics.org6 Website of the AllemaniACs at https://robocup.rwth-aachen.de

Page 3: International Harting Open Source Award 2016: Fawkes for ...€¦ · and Cognitive Robotics (FH Aachen University of Applied Sciences). We won the RoboCup and RoboCup German Open

2008 to 2010 we participated as team ZaDeAt [3], a joint team from Universityof Cape Town (ZA), RWTH Aachen University (DE) and Technical Universityof Graz (AT), in the Standard Platform League. During this time we developedthe Lua-based Behavior Engine [12], a component which was ported to ROS in2010 and used, for example, on HERB at CMU [8]. Since 2012 we participate inthe RoboCup Logistics League as the Carologistics7 joint team consisting of theKnowledge-Based Systems Group, the Institute Cluster IMA/ZLW & IfU (bothRWTH Aachen University), and the Institute for Mobile Autonomous Systemsand Cognitive Robotics (FH Aachen University of Applied Sciences). We wonthe RoboCup and RoboCup German Open titles 2014–2016. Fawkes is also usedin combination with ROS on a PR2 in a project on hybrid reasoning [9].

The overall software structure is designed as a three-layer architecture [13]and follows a component-based paradigm [14–16]. It consists of a deliberativelayer for high-level reasoning, a reactive execution layer for breaking down high-level commands and monitoring their execution, and a feedback control layer forhardware access and functional components. The communication between singlecomponents – implemented as plugins – is realized by a hybrid blackboard andmessaging approach [1]. Other teams use monolithic approaches or messagingby standardize interfaces [17]. Fawkes has adapter plugins to integrate it withthe ROS [18] ecosystem. On the Carologistics and AllemaniACs robots, we useit for visualization purposes.

Software Components

Fawkes already contains a wide variety of more than 125 software componentsand more than two dozen software libraries, many of which are used in theRCLL. These cover a wide range of functionalities, from plugins providing in-frastructure, over functional components for self-localization and navigation, andperception modules via point clouds, laser range finders, or computer vision, tobehavior generating components following reactive or deliberative paradigms. Inthe following we describe some examples with a particular focus on the RCLL.The behavior components are explained in more detail in Section 3.

Navigation Fawkes comes with an implementation of Adaptive Monte CarloLocalization which is an extended port from ROS. In the RCLL, we use a pre-specified map and a laser range finder to determine and track the position ofthe robot on the field. For locomotion path planning we use a layered structure.A component called navgraph has a graph overlay over the playing field, wherenodes specify travel points or points of interest like machines, and edges arepassages free from static obstacles. When moving to a specific point the navgraphplugin determines a path on this graph to reach the goal. It then instructs thecolli [19], a local path planner and collision avoidance module we have developed.Based on the next (intermediate) goal on the path it plans a collision free pathon the grid. It may divert as much as necessary from the global path, sometimes

7 Website of the Carologistics at https://www.carologistics.org

Page 4: International Harting Open Source Award 2016: Fawkes for ...€¦ · and Cognitive Robotics (FH Aachen University of Applied Sciences). We won the RoboCup and RoboCup German Open

resulting in bypassing whole parts of the planned path, for example if it is blockedby an obstacle like an opponent robot. The navgraph recognizes this and skipsthe bypassed intermediate nodes.

G: on

Y: on

R: off

Fig. 2. Machine signal detectionused in the RCLL 2015/2016. Themarkings denote the detected lightareas.

Perception Another important component isdetection and recognition of the light signalof a machine as shown in Figure 2. While itmight seem like a routine task for computervision, it is complicated by several factors.Since the lights can be on and off, the bright-ness of the image varies significantly. Addi-tionally, clutter colored alike the light signalin the background makes detection difficult.A full search for the light signal in an imagetherefore results in many false positives andnegatives. Thus we use a multi-modal laser-based search space reduction [20].

Simulation The RCLL emphasizes research and application of methods for effi-cient planning, scheduling, and reasoning on the optimal work order of produc-tion processes handled by a group of robots. An aspect that distinctly separatesthis league from others is that the environment itself acts as an agent by postingorders and controlling the machines. This is what we call environment agency.Therefore, we have created an open simulation environment [11] depicted in Fig-ure 3 to support research and development. There are three core aspects in thiscontext: 1) The simulation should be a turn-key solution with simple interfaces,2) the world must react as close to the real world as possible, including in par-ticular the machine responses and signals, and 3) various levels of abstractionare desirable depending on the focus of the user, e.g. whether to simulate laserdata to run a self-localization component or to simply provide the position.

Fig. 3. The simulation of the RCLL in Gazebo. The circles above the robots indicatetheir localization and robot number.

Page 5: International Harting Open Source Award 2016: Fawkes for ...€¦ · and Cognitive Robotics (FH Aachen University of Applied Sciences). We won the RoboCup and RoboCup German Open

In recent work [11], we provide such an environment. It is based on the well-known Gazebo simulator addressing these issues: 1) its wide-spread use and openinterfaces already adapted to several software frameworks in combination withour models and adapters provide an easy to use solution; 2) we have connectedthe simulation directly to the referee box, the semi-autonomous game controllerof the RCLL, so that it provides precisely the reactions and environment agencyof a real-world game; 3) we have implemented multi-level abstraction that allowsto run full-system tests including self-localization and perception or to focus onhigh-level control reducing uncertainties by replacing some lower-level compo-nents using simulator ground truth data. This allows to develop an idealizedstrategy first, and only then increase uncertainty and enforce robustness by fail-ure detection and recovery.8

The simulation also forms the basis for a new logistics robots competitionin simulation [21]. It is intended to build a bridge between the planning androbotics communities and foster closer cooperation for integrating state-of-the-art planning systems into a robotics scenario.

3 Task-Level Coordination and Execution

Task coordination is performed using an incremental reasoning approach [22]. Inthe following we describe the behavior components, and the reasoning processfrom the rules in 2015. For computational and energy efficiency, the behaviorcomponents need also to coordinate activation of the lower level components tosolve computing resource conflicts.

Behavior Components for the RCLL

Tasks that the high-level reasoning component of the robot must fulfill in theRCLL as of 2016 are:

Exploration Gather information about the machine types by sensing and rea-soning to gain more knowledge, e.g. the signal lights’ response to certain typesof pucks.

Production Complete the production chains as often as possible dealing withincomplete knowledge.

Execution Monitoring Instruct and monitor the reactive mid-level Lua-basedBehavior Engine.

Up to three robots perform these steps cooperatively as a group, that is, theycommunicate information about their current intentions, acquire exclusive con-trol over resources like machines, and share their beliefs about the current stateof the environment. This continuous updating of information suggests an incre-mental reasoning approach. As facts become known, the robot needs to adjustits plan.

8 Simulation is available at https://www.fawkesrobotics.org/p/rcll-sim/.

Page 6: International Harting Open Source Award 2016: Fawkes for ...€¦ · and Cognitive Robotics (FH Aachen University of Applied Sciences). We won the RoboCup and RoboCup German Open

Lua-based Behavior Engine

Vision · · ·

AMCL Motion ComponentsActuator/Sensor proc.

Localization, etc.

Behavior Engine Reactive BehaviorsSkill execution/monitoring

CLIPS Agent DeliberationDecision making/planning

Fig. 4. Behavior Layer Separation

In previous work we have devel-oped the Lua-based Behavior En-gine (BE) [12]. It mandates a sep-aration of the behavior in threelayers, as depicted in Figure 4: thelow-level processing for percep-tion and actuation, a mid-level re-active layer, and a high-level rea-soning layer. The layers are com-bined following an adapted hybriddeliberative-reactive coordination paradigm with the BE serving as the reactivelayer to interface between the low- and high-level systems.

The BE implements individual behaviors – called skills – as hybrid state ma-chines (HSM). They can be depicted as a directed graph with nodes representingstates for action execution and monitoring. Edges denote jump conditions im-plemented as Boolean functions. For the active state of a state machine, alloutgoing conditions are evaluated, typically at about 15 Hz. If a condition fires,the active state is changed to the target node of the edge. A table of variablesholds information like the world model, for example storing numeric values forobject positions. It remedies typical problems of state machines like fast growingnumber of states or variable data passing from one state to another. Skills areimplemented using the light-weight, extensible scripting language Lua.

Incremental Reasoning Agent

The problem at hand with its intertwined world model updating and executionnaturally lends itself to a representation as a fact base with update rules for trig-gering behavior for certain beliefs. We have chosen the CLIPS rules engine [23].

Incremental reasoning means that the robot does not create a full-edged planat a certain point in time and then executes it. Rather, when idle it commits tothe ‘then-best’ action. This avoids costly re-planning (as with approaches usingplanners), it allows to cope with incomplete knowledge about the world, and itis computationally inexpensive. As soon as the action is completed and basedon its knowledge, the next best action is chosen. High priority tasks can alsointerrupt running tasks.

There is a set of production rules with their conditions and priorities deter-mining what the robot does in a certain situation, or – in other terms – basedon a certain belief about the world in the fact base. This simplifies adding newdecision rules. The decisions can be made more granular by adding rules withmore restrictive conditions and a higher priority.

After a proposed task was chosen, the coordination rules of the agent causecommunication with the other robots to announce the intention and ensure thatthere are no conflicts. If the coordination rules accept the proposed task, processexecution rules perform the steps of the task (e.g., moving a workpiece to acertain machine) through the Behavior Engine.

Page 7: International Harting Open Source Award 2016: Fawkes for ...€¦ · and Cognitive Robotics (FH Aachen University of Applied Sciences). We won the RoboCup and RoboCup German Open

4 Conclusion

The integration of a complete robot system even for medium-complex domainssuch as the RCLL can be tedious and time consuming. We had made the deci-sion early in 2012 when joining the RCLL to go for a more complex, but thenalso more robust and flexible system. This was finally rewarded by winning theRoboCup 2014, 2015, and 2016 RCLL competitions.

The public release of a fully working and thoroughly tested integrated soft-ware stack lowers the barrier of entry for new teams to the league and fostersresearch and exchange among members of the RoboCup community in general,and in the RoboCup Logistics League in particular. We have organized the firstRCLL Winter School in 2015 to disseminate this work and to discuss future di-rections with other members of the community. These effort were honored withthe third place of the 1st International Harting Open Source Award 2016. Wecontinue to develop Fawkes as Open Source software.

Acknowledgments

The Carologistics team members in 2015/2016 are: A. Ferrein, M. Gomaa, C. Henke, S.Jeschke, N. Limpert, D. Kuenster, G. Lakemeyer, M. Lobach, V. Matare, T. Neumann,T. Niemueller, S. Reuter, J. Rothe, D. Schmidt, S. Schonitz, and F. Zwilling.

The AllemaniACs team members in 2015/2016 are: G. Gierse, T. Hofmann, B. Maleki-Fard, T. Niemueller, S. Schiffer, and F. Zwilling.

We gratefully acknowledge the financial support of RWTH Aachen University and FHAachen University of Applied Sciences.

F. Zwilling and T. Niemueller were supported by the German National Science Foun-

dation (DFG) research unit FOR 1513 on Hybrid Reasoning for Intelligent Systems

(http://www.hybrid-reasoning.org).

References

1. Niemueller, T., Ferrein, A., Beck, D., Lakemeyer, G.: Design Principles of theComponent-Based Robot Software Framework Fawkes. In: Int. Conf. on Simula-tion, Modeling, and Programming for Autonomous Robots (SIMPAR). (2010)

2. Beck, D., Niemueller, T.: AllemaniACs 2009 Team Description. Technical report,KBSG, RWTH Aachen University (2009)

3. Ferrein, A., Steinbauer, G., McPhillips, G., Niemueller, T., Potgieter, A.: TeamZaDeAt 2009 – Team Report. Technical report, RWTH Aachen University, GrazUniversity of Technology, and University of Cape Town (2009)

4. Schiffer, S., Lakemeyer, G.: AllemaniACs Team Description [email protected] report, KBSG, RWTH Aachen University (2011)

5. Ferrein, A., Niemueller, T., Schiffer, S., and, G.L.: Lessons Learnt from Developingthe Embodied AI Platform Caesar for Domestic Service Robotics. In: Proc. ofAAAI Spring Symp. 2013 - Designing Intelligent Robots: Reintegrating AI. (2013)

6. Niemueller, T., Reuter, S., Ewert, D., Ferrein, A., Jeschke, S., Lakemeyer, G.: De-cisive Factors for the Success of the Carologistics RoboCup Team in the RoboCupLogistics League 2014. In: RoboCup Symposium – Champion Teams Track. (2014)

Page 8: International Harting Open Source Award 2016: Fawkes for ...€¦ · and Cognitive Robotics (FH Aachen University of Applied Sciences). We won the RoboCup and RoboCup German Open

7. Niemueller, T., Reuter, S., Ewert, D., Ferrein, A., Jeschke, S., Lakemeyer, G.: TheCarologistics Approach to Cope with the Increased Complexity and New Chal-lenges of the RoboCup Logistics League 2015. In: RoboCup Symposium – Cham-pion Teams Track. (2015)

8. Srinivasa, S.S., Berenson, D., Cakmak, M., Collet, A., Dogar, M.R., Dragan, A.D.,Knepper, R.A., Niemueller, T., Strabala, K., Vande Weghe, M., Ziegler, J.: HERB2.0: Lessons Learned From Developing a Mobile Manipulator for the Home. Proc.of the IEEE 100(8) (2012)

9. Niemueller, T., Abdo, N., Hertle, A., Lakemeyer, G., Burgard, W., Nebel, B.:Towards Deliberative Active Perception using Persistent Memory. In: Proc. ofthe Workshop on AI-based Robotics at the Int. Conf. on Intelligent Robots andSystems (IROS). (2013)

10. Rofer, T., Laue, T.: On b-humans code releases in the standard platform league–software architecture and impact. In: Robot Soccer World Cup, Springer (2013)648–655

11. Zwilling, F., Niemueller, T., Lakemeyer, G.: Simulation for the RoboCup LogisticsLeague with Real-World Environment Agency and Multi-level Abstraction. In:RoboCup Symposium. (2014)

12. Niemueller, T., Ferrein, A., Lakemeyer, G.: A Lua-based Behavior Engine forControlling the Humanoid Robot Nao. In: RoboCup Symposium. (2009)

13. Gat, E.: Three-layer architectures. In: Artificial Intelligence and Mobile Robots.MIT Press (1998)

14. McIlroy, M.D.: ’Mass Produced’ Software Components. Software Engineering:Report On a Conference Sponsored by the NATO Science Committee (1968)

15. Brugali, D., Scandurra, P.: Component-based robotic engineering (Part I). IEEERobotics Automation Magazine 16(4) (2009)

16. Brugali, D., Shakhimardanov, A.: Component-Based Robotic Engineering (PartII). IEEE Robotics Automation Mag. 17(1) (2012)

17. Mamantov, E., Silver, W., Dawson, W., Chown, E.: Robograms: A lightweightmessage passing architecture for robocup soccer. In: Robot Soccer World Cup,Springer (2014) 306–317

18. Quigley, M., Conley, K., Gerkey, B.P., Faust, J., Foote, T., Leibs, J., Wheeler, R.,Ng, A.Y.: ROS: an open-source Robot Operating System. In: ICRA Workshop onOpen Source Software. (2009)

19. Jacobs, S., Ferrein, A., Schiffer, S., Beck, D., Lakemeyer, G.: Robust collisionavoidance in unknown domestic environments. In: RoboCup Symposium. (2009)

20. Matare, V., Niemueller, T., Lakemeyer, G.: Robust Multi-Modal Detection ofIndustrial Signal Light Towers. In: RoboCup Symposium. (2016) (to appear).

21. Niemueller, T., Karpas, E., Vaquero, T., Timmons, E.: Planning Competition forLogistics Robots in Simulation. In: WS on Planning and Robotics (PlanRob) atInt. Conf. on Automated Planning and Scheduling (ICAPS), London, UK (2016)

22. Niemueller, T., Lakemeyer, G., Ferrein, A.: Incremental Task-level Reasoning in aCompetitive Factory Automation Scenario. In: Proc. of AAAI Spring Symp. 2013- Designing Intelligent Robots: Reintegrating AI. (2013)

23. Wygant, R.M.: CLIPS: A powerful development and delivery expert system tool.Computers & Industrial Engineering 17(1–4) (1989)