GithubHelp home page GithubHelp logo

rhausman / typefly Goto Github PK

View Code? Open in Web Editor NEW

This project forked from typefly/typefly

0.0 0.0 0.0 13.43 MB

Shell 0.65% Python 92.14% Makefile 1.96% HTML 0.20% Dockerfile 3.29% Jupyter Notebook 1.77%

typefly's Introduction

TypeFly

TypeFly aims to generate robot task plan using large language model (LLM) and our custom programming language MiniSpec. Link to our full Paper and webpage.

Also, check out the demo video here: Demo 1: Find edible or drinkable items, Demo 2: Find a specific chair.

Hardware Requirement

TypeFly works with DJI Tello drone by default. Since Tello drone requires your device to connect to its wifi and TypeFly requires Internet connection, you need to have both wifi adapter and ethernet adapter to run TypeFly. To support other drones, you need to implement the DroneWrapper interface in controller/abs/drone_wrapper.py.

Vision Encoder

TypeFly uses YOLOv8 to generate the scene description. We provide the implementation of gRPC YOLO service and a optional http router to serve as a scheduler when working with multiple drones. We recommand using docker to run the YOLO and router. To deploy the YOLO servive with docker, please install the Nvidia Container Toolkit, then run the following command:

make SERVICE=yolo build

Optional: To deploy the router, please run the following command:

make SERVICE=router build

TypeFly Web UI

To play with the TypeFly web UI, please run the following command:

make typefly

This will start the web UI at http://localhost:50001 with your default camera (please make sure your device has a camera) and a virtual drone wrapper. You should be able to see the image capture window displayed with YOLO detection results. You can test the planning ability of TypeFly by typing in the chat box.

To work with a real drone, please disable the --use_virtual_cam flag in Makefile.

Here we assume your YOLO and router are deployed on the same machine running the TypeFly webui, if not, please define the environment variables VISION_SERVICE_IP, which is the IP address where you deploy your YOLO (or router) service, before running the webui.

Task Execution

Here are some examples of task descriptions, the [Q] prefix indicates TypeFly will output an answer to the question:

  • Can you find something edible?
  • Can you see a person behind you?
  • [Q] Tell me how many people you can see?

typefly's People

Contributors

leonana69 avatar rhausman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.