ROS Python packages for automatically synthesizing high-level robot behaviors (in the form of executable SMACH-based state machines) from the user's task specifications via reactive Linear Temporal Logic (LTL) synthesis.
Click on the image below to watch a demonstration of Behavior Synthesis on ATLAS.
The nominal workflow is depicted in the diagram below:
For vigir_ltl_specification
, you need:
ReSpeC
for compiling LTL specifications from the high-level user requests
For vigir_ltl_synthesizer
, you need:
slugs
synthesizer for LTL synthesis (an installation script is provided)
For using the full stack, you also need:
flexbe_behavior_engine
for sending synthesis requests via the FlexBE app's GUI and for access to theStateInstantiation.msg
vigir_behaviors
for access to the library of states and for saving the synthesized behaviors
- Spyros Maniatopoulos, Philipp Schillinger, Vitchyr Pong, David C. Conner, and Hadas Kress-Gazit, "Reactive High-level Behavior Synthesis for an Atlas Humanoid Robot", IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, May 2016 (to appear).
- Spyros Maniatopoulos (@spmaniato, [email protected])