# Specific Objectives dora-rs objectives is to enable real-time self-programming robots. LLM gives us the possibility to modify code given a prompt. By using this feature, instead of having code implemented ahead-of-time, we can generate code just-in-time and execute it. This makes it possible to create a new infinite of ways of interacting with robots. Current self-programming features are limited to simple task, in the likes of changing robot states. We can do the following request and get valid response: - Can you change the robot LED color? - Can you change the robot destination goal objectives? ( Given that it will move to the goal objectives ) - Can you set rotate the robot according to visual bounding box? ( Given an image with bounding boxes of objects ) But We hope that by combining multiple LLM in LLM-agents fashion, we'll be able to handle more difficult task: - sequence of tasks - breakdown of a complex task into simpler one - Memorise things in a way that it is reusable for task. The end goal is to be able to cooperate with the robot intelligent and not limited to the existing code. # Application Domain The main application domain is embodied AI, robotics, LLM and VLM. # Main functionalities Self-programming robots given a task in natural languages. This required a new AI framework that makes it easy to play with AI in realtime. dora-rs implements: - Real-time code generation - State of the art inter-process-communication performance - zero-cost Apache Arrow abstraction - Battery-included tools from logs, tracing and metrics using Opentelemetry - API in Rust/Python/C/C++ - Bridges for ROS2 - Modular ecosystem of nodes from Speech-to-Text, Computer Vision, planning, ... # Used AI Techniques - Speech to text transformation using Whsiper. - Image object detection using Yolov8 - Text to code using an LLM ( either Mistral or ChatGPT ). - Hot-reloading feature using dora-rs to execute the code in real-time by the robot. # Demonstration Scenario Voice-controlled robot that is going to program itself on the task at hand using the technologies above. # Visual of the Prototype - Link to the video: - Short Demo Version: https://www.youtube.com/watch?v=NvvTEP8Jak8 - Long Talk Version: https://video.fosdem.org/2024/ud2120/fosdem-2024-3225-dora-rs-simplifying-robotics-stack-for-next-gen-robots.mp4 ---- # User Review Super easy to use Super clear Understanding the difference between the nodes and operators. We have explain and which situation to use which. Documentation. Projects: - Python - ROS2 Mainly use - Python - Rust - And C - Typescript ///