Software Overview
Full Set-up
Layout of the whole software system
Name | Purpose |
---|---|
Docker | A platform for developing, shipping, and running applications in containers. |
Fast DDS | A high-performance, open-source C++ implementation of the Data Distribution Service (DDS) standard, serving as the default middleware for ROS2. |
Gazebo | A powerful 3D robotics simulator that allows for the simulation of robots in complex indoor and outdoor environments. |
Keyboard Input | A ROS2 node that accepts keyboard input commands and converts them into quadrotor flight commands. |
LangGraph | A library for building stateful, multi-actor applications with LLMs, used here as the framework for the AI agent. |
MavLink | A lightweight messaging protocol for communicating with small unmanned vehicles. |
MicroXRCE-DDS | A client-server protocol that enables resource-constrained devices (microcontrollers) to communicate with a DDS network. |
Ollama | A tool for running large language models (LLMs) locally. |
PX4 | An open-source flight control software for drones and other unmanned vehicles. |
QGroundControl | An open-source ground control station (GCS) for MAVLink-based drones, providing flight control and mission planning. |
Quadrotor | The physical unmanned aerial vehicle (UAV) with four rotors. |
ROS2 | Robot Operating System 2, a set of software libraries and tools for building robot applications. |
RViz | A 3D visualization tool for ROS that displays sensor data, robot models, and algorithm outputs. |
Tools | A list of ROS2 tools provided to the AI agent to control the quadrotor. |
User | Represents natural language commands from a user. |
Waypoints | A ROS2 node that converts a provided list of waypoints to a trajectory path for a quadrotor flight. |
Fitting in the Software
Follow along with the diagrams step by step to see how each piece builds upon the previous. This will allow for a natural, intuitive understanding if you are not familiar with many of the tools presented.
Transmitter
Connection between transmitter, PX4, and quadrotor
ROS 2
ROS 2 is an open-source framework designed to simplify the development of robotics software
MicroXRCE-DDS
MicroXRCE-DDS creates a communication bridge between ROS2 and PX4
Gazebo
Gazebo and RViz are used to simulate quadrotor flight
Advanced Control
ROS 2 provides framework to perform complex tasks and customize quadrotor control
AI Agent
An AI Agent can invoke LLMs and call tools to process natural language flight commands