{"id":18889180,"url":"https://github.com/smartlab-purdue/smart-llm","last_synced_at":"2025-09-04T09:33:28.904Z","repository":{"id":199524769,"uuid":"703104612","full_name":"SMARTlab-Purdue/SMART-LLM","owner":"SMARTlab-Purdue","description":"Code repository for SMART-LLM: Smart Multi-Agent Robot Task Planning using Large Language Models","archived":false,"fork":false,"pushed_at":"2024-05-03T00:48:49.000Z","size":32,"stargazers_count":134,"open_issues_count":3,"forks_count":26,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-05T04:50:04.121Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SMARTlab-Purdue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-10-10T15:47:53.000Z","updated_at":"2025-05-30T03:08:49.000Z","dependencies_parsed_at":"2023-10-10T20:37:19.127Z","dependency_job_id":"dfc7be85-4c1d-43b3-89f0-ba397a007d31","html_url":"https://github.com/SMARTlab-Purdue/SMART-LLM","commit_stats":null,"previous_names":["smartlab-purdue/smart-llm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SMARTlab-Purdue/SMART-LLM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMARTlab-Purdue%2FSMART-LLM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMARTlab-Purdue%2FSMART-LLM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMARTlab-Purdue%2FSMART-LLM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMARTlab-Purdue%2FSMART-LLM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SMARTlab-Purdue","download_url":"https://codeload.github.com/SMARTlab-Purdue/SMART-LLM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMARTlab-Purdue%2FSMART-LLM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273583433,"owners_count":25131826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T07:47:51.945Z","updated_at":"2025-09-04T09:33:28.598Z","avatar_url":"https://github.com/SMARTlab-Purdue.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **SMART-LLM: Smart Multi-Agent Robot Task Planning using Large Language Models**\n\nShyam Sundar Kannan, Vishnunandan L. N. Venkatesh, and Byung-Cheol Min. \n\nSubmitted to IEEE International Conference on Robotics and Automation (ICRA ), 2024\n\n[Project Page](https://sites.google.com/view/smart-llm/) | [arXiv](https://arxiv.org/abs/2309.10062) | [Video](https://www.youtube.com/watch?v=mssTPl7ifyI)\n\n**Abstract:** In this work, we introduce SMART-LLM, an innovative framework designed for embodied multi-robot task planning. SMART-LLM: Smart Multi-Agent Robot Task Planning using Large Language Models (LLMs), harnesses the power of LLMs to convert high-level task instructions provided as input into a multi-robot task plan. It accomplishes this by executing a series of stages, including task decomposition, coalition formation, and task allocation, all guided by programmatic LLM prompts within the few-shot prompting paradigm. We create a benchmark dataset designed for validating the multi-robot task planning problem, encompassing four distinct categories of high-level instructions that vary in task complexity. Our evaluation experiments span both simulation and real-world scenarios, demonstrating that the proposed model can achieve promising results for generating multi-robot task plans.\n\n## Setup\nCreate a conda environment (or virtualenv):\n```\nconda create -n smartllm python==3.9\n```\n\nInstall dependencies:\n```\npip install -r requirments.txt\n```\n\n## Creating OpenAI API Key\nThe code relies on OpenAI API. Create an API Key at https://platform.openai.com/.\n\nCreate a file named ```api_key.txt``` in the root folder of the project and paste your OpenAI Key in the file. \n\n## Running Script\nRun the following command to generate output execuate python scripts to perform the tasks in the given AI2Thor floor plans. \n\nRefer to https://ai2thor.allenai.org/demo for the layout of various AI2Thor floor plans.\n```\npython3 scripts/run_llm.py --floor-plan {floor_plan_no}\n```\nNote: Refer to the script for running it on different versions of GPT models and changing the test dataset. \n\nThe above script should generate the executable code and store it in the ```logs``` folder.\n\n\nRun the following script to execute the above generated scripts and execute it in an AI2THOR environment. \n\nThe script requires command which needs to be executed as parameter. ```command``` needs to be the folder name in the ```logs``` folder where the executable plans generated are stored. \n```\npython3 scripts/execute_plan.py --command {command}\n```\n## Dataset\nThe repository contains numerous commands and robots with various skill sets to perform heterogenous robot tasks. \n\nRefer to ```data\\final_test\\``` for the various tasks, robots available for the tasks, and the final state of the environment after the task for evaluation. \n\nThe file name corresponds to the AI2THOR floor plans where the task will be executed. \n\nRefer to ```resources\\robots.py``` for the list of robots used in the final test and the skills possessed by each robot. \n\n\n## Citation\nIf you find this work useful for your research, please consider citing:\n```\n@article{kannan2023smart,\n    title={SMART-LLM: Smart Multi-Agent Robot Task Planning using Large Language Models},\n  \tauthor={Kannan, Shyam Sundar and Venkatesh, Vishnunandan LN and Min, Byung-Cheol},\n  \tjournal={arXiv preprint arXiv:2309.10062},\n \tyear={2023}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartlab-purdue%2Fsmart-llm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartlab-purdue%2Fsmart-llm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartlab-purdue%2Fsmart-llm/lists"}