rahulgitsit / llm-bt-robotics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Master Thesis: Integrating LLMs and Behaviour Trees for Enhanced Robotic Decision-Making

Course: Master Degree in Computer Science
Department: DISIM - Dipartimento di Ingegneria e Scienze dell'Informazione e Matematica, UniversitĂ  degli studi dell'Aquila
Supervisor: Dr. Giovanni De Gasperis
Author: Rahul Pankajakshan

Description

This thesis aims to achieve a seamless integration of the Large Language Model (LLM) with a behaviour tree control system, specifically designed for a robotic system operating within the CoppeliaSim environment. The primary goal is to assess the system's efficiency in handling various levels of command complexity when executing pick and place tasks.

A demo of the system's working can be found here: here

Project Structure

This repository is organized as follows:

  • evaluation_set: Contains different command sets for level 0, level 1, level 2, and robustness testing.

  • prompts: Contains all system prompts used in the experiment.

  • scene: Contains the CoppeliaSim scene file with the ABB IRB 4600-40 robot model and its environment.

  • src: Contains various source code files categorised as follows:

    • actuator: Functions and API calls to handle the inverse-kinematics and robot's movement.
    • sensor: Function and API calls to deal with camera and proximity sensor.
    • detector: API calls and helper functions for image processing.
    • behaviour: Behaviours and its definition. The control system of the robot.
    • processor: Functions to derive execution logic based on user input and perception data.
    • state: State management for the robot and it's environment

Install

Install all Python (>=3.10) requirements:

pip imnstall -r requirements.txt

Clone the CoppeliaSim remote API:

git clone https://github.com/CoppeliaRobotics/zmqRemoteApi

based on the remote API CoppeliaSim forum post

For MacOS users who are facing connectivity issues with zmqRemoteApi,

set export COPPELIASIM_ROOT_DIR=/Applications/coppeliaSim.app/Contents/Resources environment variable.

based on the CoppeliaSim forum post

About


Languages

Language:Python 100.0%