SkillComposer: Learning Reusable Skills for Natural-Language Robot Programming
Organizations: School of Computing and Augmented Intelligence, Arizona State University, Tempe, AZ
Abstract
Natural-language interfaces can lower the barrier to programming robots, but existing systems struggle when users request complex tasks. While large language models (LLMs) perform well with simple commands, they often struggle to generate code for multi-step tasks, decompose high-level instructions, or reuse prior solutions. We present SkillComposer, an interactive natural-language robot programming system for simulation environments that continually learns reusable program abstractions. SkillComposer uses a generate-test architecture in which an LLM iteratively generates and revises robot programs before execution. Successful programs are stored and processed by an online library-learning algorithm that compresses recurring function sequences into reusable macro skills for future tasks. We evaluate SkillComposer through ablation experiments and a user study with 12 participants to determine its effectiveness on manipulation and robot caregiving tasks. The results show that evaluator-guided generation and learned abstractions improve success rates and usability while reducing user effort in natural-language robot programming.
Figures & tables
| Prompt Category | Example Prompt | System | Success Rate | Program Length | Macro Usage (%) | Runtime (s) |
|---|---|---|---|---|---|---|
| Object Manipulation | Grab a yellow fruit | Coder LLM | 1.00 0.00 | 1.00 0.00 | – | 2.26 0.80 |
| Coder LLM + Eval LLM | 0.96 0.09 | 1.32 0.44 | – | 9.58 9.86 | ||
| Coder LLM + Stitch | 1.00 0.00 | 1.08 0.11 | 0.00 0.00 | 2.24 0.67 | ||
| SkillComposer | 0.96 0.09 | 1.32 0.36 | 8.00 17.89 | 13.97 9.80 | ||
| Spatial Reasoning | Move rightmost banana to the left of the can | Coder LLM | 0.24 0.43 | 0.96 0.41 | – | 11.94 4.05 |
| Coder LLM + Eval LLM | 0.76 0.43 | 2.82 0.76 | – | 50.43 17.02 |
| System | Task | Success Rate | Num. Prompts | Task Time (m:ss) |
|---|---|---|---|---|
| Baseline | Rearrange Objects | 0.50 0.52 | 5.8 2.2 | 6:09 2:57 |
| Meal Preparation | 0.92 0.29 | 8.2 5.6 | 6:10 3:19 | |
| Feed Care Recipient | 0.75 0.45 | 6.6 2.7 | 3:48 1:43 | |
| SkillComposer | Rearrange Objects | 0.92 0.29 | 1.9 1.2 | 3:20 1:20 |
| Meal Preparation | 0.92 0.29 | 3.2 2.6 | 3:59 1:48 | |
| Feed Care Recipient | 0.67 0.49 | 3.5 1.6 | 4:16 1:57 |