Program Synthesis for Robot Learning from Demonstrations

by   Noah Patton, et al.

This paper presents a new synthesis-based approach for solving the Learning from Demonstration (LfD) problem in robotics. Given a set of user demonstrations, the goal of programmatic LfD is to learn a policy in a programming language that can be used to control a robot's behavior. We address this problem through a novel program synthesis algorithm that leverages two key ideas: First, to perform fast and effective generalization from user demonstrations, our synthesis algorithm views these demonstrations as strings over a finite alphabet and abstracts programs in our DSL as regular expressions over the same alphabet. This regex abstraction facilitates synthesis by helping infer useful program sketches and pruning infeasible parts of the search space. Second, to deal with the large number of object types in the environment, our method leverages a Large Language Model (LLM) to guide search. We have implemented our approach in a tool called Prolex and present the results of a comprehensive experimental evaluation on 120 benchmarks involving 40 unique tasks in three different environments. We show that, given a 120 second time limit, Prolex can find a program consistent with the demonstrations in 80 the cases. Furthermore, for 81 Prolex is able to find the ground truth program with just one demonstration. To put these results in perspective, we conduct a comparison against two baselines and show that both perform much worse.


Synthesizing Imperative Programs from Examples Guided by Static Analysis

We present a novel algorithm that synthesizes imperative programs for in...

Optimal Neural Program Synthesis from Multimodal Specifications

Multimodal program synthesis, which leverages different types of user in...

Program Synthesis Guided Reinforcement Learning

A key challenge for reinforcement learning is solving long-horizon plann...

PLUNDER: Probabilistic Program Synthesis for Learning from Unlabeled and Noisy Demonstrations

Learning from demonstration (LfD) is a widely researched paradigm for te...

WebRobot: Web Robotic Process Automation using Interactive Programming-by-Demonstration

It is imperative to democratize robotic process automation (RPA), as RPA...

ImageEye: Batch Image Processing Using Program Synthesis

This paper presents a new synthesis-based approach for batch image proce...

Semi-supervised Learning From Demonstration Through Program Synthesis: An Inspection Robot Case Study

Semi-supervised learning improves the performance of supervised machine ...

Please sign up or login with your details

Forgot password? Click here to reset