Synthesizing a Lego Forklift Controller in GR(1): A Case Study
This is an incremental case study for software engineers and researchers in formal methods and robotics, focusing on practical deployment challenges rather than theoretical advances.
The authors tackled the challenge of applying GR(1) reactive synthesis to develop a correct-by-construction controller for a Lego forklift robot, resulting in a case study that identified practical issues and provided specifications and observations from two controller variants.
Reactive synthesis is an automated procedure to obtain a correct-by-construction reactive system from a given specification. GR(1) is a well-known fragment of linear temporal logic (LTL) where synthesis is possible using a polynomial symbolic algorithm. We conducted a case study to learn about the challenges that software engineers may face when using GR(1) synthesis for the development of a reactive robotic system. In the case study we developed two variants of a forklift controller, deployed on a Lego robot. The case study employs LTL specification patterns as an extension of the GR(1) specification language, an examination of two specification variants for execution scheduling, traceability from the synthesized controller to constraints in the specification, and generated counter strategies to support understanding reasons for unrealizability. We present the specifications we developed, our observations, and challenges faced during the case study.