Toward Automated Programming for Robotic Assembly Using ChatGPT
Annabella Macaluso, Nicholas Cote, Sachin Chitta
TL;DR
This work addresses the labor-intensive and specialized nature of programming robots for adaptive assembly by leveraging ChatGPT to automate task decomposition, code generation, and testing in simulation. It introduces a two-agent architecture (Task Decomposition Agent and Script Generation Agent) that operates on CAD-derived data fed as JSON, producing and refining Python scripts for robotic tasks within a simulated workcell. The approach demonstrates end-to-end capabilities on tasks such as gripper selection, script debugging, and a skateboard-truck assembly, while acknowledging limitations in perception-rich reasoning and the need for human oversight. The findings highlight the potential of LLM-assisted robotics programming to reduce development time and enable broader adaptability, with future directions including finer spatial reasoning and data-driven fine-tuning to improve robustness and generalization.
Abstract
Despite significant technological advancements, the process of programming robots for adaptive assembly remains labor-intensive, demanding expertise in multiple domains and often resulting in task-specific, inflexible code. This work explores the potential of Large Language Models (LLMs), like ChatGPT, to automate this process, leveraging their ability to understand natural language instructions, generalize examples to new tasks, and write code. In this paper, we suggest how these abilities can be harnessed and applied to real-world challenges in the manufacturing industry. We present a novel system that uses ChatGPT to automate the process of programming robots for adaptive assembly by decomposing complex tasks into simpler subtasks, generating robot control code, executing the code in a simulated workcell, and debugging syntax and control errors, such as collisions. We outline the architecture of this system and strategies for task decomposition and code generation. Finally, we demonstrate how our system can autonomously program robots for various assembly tasks in a real-world project.
