This is the official repository of the paper:
LLM3: Large Language Model-based Task and Motion Planning with Motion Failure Reasoning.
LLM3.mp4
git clone git@github.com:AssassinWS/LLM-TAMP.git
cd LLM-TAMP
pip install -r requirements.txtassets: robots configurations and environment assetsconfigs: config parameters for the environment and plannersenvs: the developed environment based on Pybullettask_instances: randomly generated task instancesplanners: TAMP plannersprompts: prompt templatesutils: utility functions
We use hydra-core to configure the project.
First, create a folder openai_keys under the project directory; Second, create a file openai_key.json under the folder openai_keys; Third, fill in this json file with your openAI API key:
{
"key": "",
"org": "",
"proxy" : ""
}The ablation study in the LLM^3 paper.
Full example with various options:
python main.py --config-name=llm_tamp env=easy_box_small_basket planner=llm_backtrack max_llm_calls=10 overwrite_instances=true play_traj=true use_gui=trueenv: the environment setting, seeconfigs/envplanner: the planner, seeconfigs/plannermax_llm_calls: max number of LLM callsoverwrite_instances: we create & load task instances (with different init states) saved inenvs/task_instances. setoverwrite_instancesto true to recreate & save task instancesplay_traj: whether to play motion trajectory in Pybulletuse_gui: whether enable gui in Pybullet
The action parameter selection experiment in the LLM^3 paper.
Run with the LLM sampler:
python main.py --config-name=llm_tamp env=easy_box_small_basket planner=llm_sample_params max_llm_calls=10 play_traj=true use_gui=trueRun with the random sampler:
python main.py --config-name=random_sample env=easy_box_small_basket