Robocikowo>ROBOCIKOWO
Drake

Planowanie ruchu · Sterowanie i planowanie

Drake

Drake v1.40·Toyota Research Institute (TRI)

Aktywny Open source Dostępne API
KATEGORIAPlanowanie ruchu · Sterowanie i planowanie
GOTOWOŚĆTRL 8
SKALA ADOPCJIUgruntowany open source
LICENCJEBSD-3-Clause
PIERWSZE WYDANIE2013

Drake to ambitny, otwartoźródłowy zestaw narzędzi do modelowania, symulacji, planowania ruchu i sterowania dla zaawansowanej robotyki, rozwijany od 2013 r. w MIT przez prof. Russa Tedrake'a (autora podręcznika „Underactuated Robotics”). Od 2017 r. Toyota Research Institute (TRI) przejęła rolę głównego sponsora i developera — TRI zatrudnia kilkudziesięciu inżynierów pracujących nad Drake. Licencja BSD-3-Clause.

Drake oferuje unikalną kombinację: (1) wysoko-precyzyjny silnik symulacji z kontaktami nieelastycznymi rozwiązywanymi metodami complementarity (LCP), (2) framework systemowy oparty o block-diagrams (każdy element = system z portami in/out), (3) optymalizatory: SNOPT, IPOPT, MOSEK, Gurobi, Clarabel, scs (komercyjne wymagają licencji), (4) automatyczne różniczkowanie symboliczne, (5) wbudowane modele Spot, ALLEGRO Hand, IIWA, PR2, Cassie, Atlas, Punyo.

Główne zastosowania: planowanie zachłannych zadań manipulacyjnych z constraintami kontaktu (Trajectory Optimization), task-and-motion planning, model-based reinforcement learning, formalna weryfikacja systemów (Lyapunov, sum-of-squares programming). Drake jest używany m.in. w Punyo (TRI soft humanoid), Spot manipulation (Boston Dynamics — eksperymenty), oraz w DARPA programs (TerrAware, RACER).

Typ i role
Typy oprogramowania
Biblioteka planowania ruchuBiblioteka dynamiki
Symulacja

Simulation obejmuje oprogramowanie używane do modelowania, testowania i walidacji zachowań robotów, sensorów, środowisk oraz algorytmów bez konieczności użycia fizycznego sprzętu.

Biblioteka API

API Library to biblioteka udostępniająca interfejsy programistyczne do komunikacji z urządzeniem, usługą lub systemem. W praktyce może stanowić lekką warstwę integracyjną opartą na oficjalnym API producenta lub projekcie open-source.

Wybierz pozycję, aby zobaczyć opis.
Kategoria główna
Sterowanie i planowanieSymulacja i cyfrowe bliźniakiSDK
Role w ekosystemie robotycznym
Planowanie ruchu

Motion Planning oznacza rolę oprogramowania odpowiedzialnego za planowanie trajektorii, ruchu, kolejności działań oraz wyznaczanie bezpiecznych i wykonalnych ścieżek dla robota lub manipulatora.

Sterowanie robotem

Robot Control oznacza rolę oprogramowania odpowiedzialnego za sterowanie ruchem, wykonywanie komend, koordynację działania elementów wykonawczych oraz bezpośrednią logikę operacyjną robota.

Wsparcie deweloperów

Developer Enablement oznacza rolę oprogramowania wspierającego deweloperów w integracji, debugowaniu, walidacji, konfiguracji, testowaniu i uruchamianiu systemów robotycznych oraz ich komponentów.

Dostęp API

API Access oznacza rolę oprogramowania udostępniającego interfejs programistyczny do komunikacji z robotem, sensorem, usługą lub platformą, umożliwiający tworzenie integracji i aplikacji klienckich.

Wybierz pozycję, aby zobaczyć opis.
Rodzina oprogramowania
Rodzina
Planowanie ruchu

Rodzina otwartych bibliotek do planowania ruchu (RRT, PRM, Lazy-PRM), kinematyki odwrotnej, dynamiki rigid-body i optymalizacji trajektorii: MoveIt, OMPL, Pinocchio, Drake, RBDL, TrajOpt, KDL, Bullet, iDynTree.

Dojrzałość i adopcja
8 / 9
Faza prototypu / pilotażu
BadaniaPrototypProdukcja
Skala adopcjiUgruntowany open source
Status utrzymaniaUtrzymywane przez jednego dostawcę
Pierwsze wydanie2013
Ostatnia aktualizacja20 maja 2026
Wdrożenia

TRI Punyo soft humanoid, MIT mini-cheetah / Cheetah 3, Anymal-D research, DARPA Robotics Challenge atlas finalists, Boston Dynamics Spot manipulation experiments, Underactuated Robotics MIT 6.832 course (rocznie 200+ studentów), > 300 publikacji ICRA / IROS / RSS / CoRL.

Społeczność

github.com/RobotLocomotion/drake ~3.6k★, drake.mit.edu z pełną dokumentacją Doxygen + tutoriali Python, kanał Slack > 1.2k członków, regularne nightly builds, > 250 PR/miesiąc głównie od TRI.

Powiązane oprogramowanie robotyczne
M2
MoveIt 2
Otwartoźródłowy framework planowania ruchu, manipulacji i kinematyki dla ROS 2 — branch MoveIt na ROS 2 (Foxy → Jazzy). Główny opiekun PickNik Robotics. Standard de facto dla manipulatorów w ekosystemie ROS.
P
Pinocchio
Wydajna biblioteka rigid-body dynamics i kinematyki dla robotyki, rozwijana od 2015 r. przez LAAS-CNRS i Inria. C++17 + Python, algorytmy Featherstone'a; standard dla MPC i optymalizacji trajektorii.
R(
RBDL (Rigid Body Dynamics Library)
Lekka biblioteka C++ algorytmów dynamiki rigid-body według Featherstone'a, stworzona przez Martina Felisa w 2011 r. na Universität Heidelberg. Otwartoźródłowa licencja zlib; bindings: Python (rbdl-python), Lua.
M(
MuJoCo (Multi-Joint dynamics with Contact)
Otwarty silnik fizyki rigid-body z dokładną symulacją kontaktów i tarcia, stworzony przez Emo Todorova. Od 2021 r. open source na Apache 2.0 pod opieką DeepMind. Standard w robotyce uczącej (RL) i Sim-to-Real.
P
PyBullet
Python binding do silnika Bullet Physics SDK — najlżejszy popularny symulator dla robotyki uczącej (RL) i prototypowania. Open source na licencji Zlib (BSD-compatible), w pełni Python-first.
NI
NVIDIA Isaac Lab
Otwarty framework do uczenia robotów na GPU od NVIDII, zbudowany na Isaac Sim. Pozwala trenować polityki RL na tysiącach środowisk równolegle. Następca Isaac Gym i Orbit; open source na Apache 2.0 od 2024 r.
L(
LCM (Lightweight Communications and Marshalling)
LCM (Lightweight Communications and Marshalling) to otwarta biblioteka MIT do szybkiej, niskolatencyjnej wymiany komunikatów między procesami, używana w pojazdach DARPA, badaniach autonomicznych i stackach prywatnych.
Wsparcie ROSKompatybilność z ekosystemem ROS / ROS 2
Community ROS 2 WrapperWrapper ROS 2 tworzony i utrzymywany przez społeczność, nie przez producenta
ROS 2 Bridge / AdapterMost lub adapter łączący oprogramowanie z ekosystemem ROS 2 bez natywnej integracji
Możliwości systemu
Open source
Kod źródłowy dostępny publicznie pod licencją open-source — umożliwia audyt bezpieczeństwa, własne modyfikacje oraz integrację bez barier licencyjnych.
Real-time capable
Zaprojektowane z gwarancjami determinizmu czasowego — spełnia wymagania pętli sterowania, systemów bezpieczeństwa i zadań wymagających niskiej, przewidywalnej latencji.
×
⟨/⟩
Dostępne API
Oprogramowanie udostępnia programowalny interfejs (REST, gRPC, SDK lub biblioteki językowe) pozwalający na automatyzację i integrację z innymi systemami.
📦
Pre-built / binary
Dystrybuowane jako gotowe pakiety binarne, obrazy kontenerów lub instalatory — bez konieczności kompilacji ze źródeł.
Języki programowania
C++

C++ to język programowania szeroko wykorzystywany w robotyce, systemach embedded, middleware, sterowaniu i przetwarzaniu danych, szczególnie tam, gdzie istotna jest wydajność oraz bliska integracja ze sprzętem.

Python

Python to wysokopoziomowy język programowania szeroko stosowany w robotyce, AI, computer vision, automatyzacji, testach i szybkiej integracji komponentów sprzętowych oraz software'owych.

Wybierz pozycję, aby zobaczyć opis.
Systemy operacyjne
Ubuntu 22.04

Ubuntu 22.04 LTS to długoterminowo wspierana wersja systemu Linux wykorzystywana w robotyce, AI, systemach edge i środowiskach programistycznych. Stanowi popularną bazę dla nowszych stosów oprogramowania oraz dystrybucji ROS 2.

Ubuntu 20.04

Ubuntu 20.04 LTS to długoterminowo wspierana wersja systemu Linux, szeroko wykorzystywana w robotyce, systemach embedded, AI i środowiskach developerskich. Jest popularna m.in. w środowiskach ROS oraz na platformach obliczeniowych takich jak NVIDIA Jetson.

macOS

macOS to system operacyjny Apple wykorzystywany głównie na stacjach roboczych i laptopach deweloperskich do budowy, testowania i integracji oprogramowania.

Wybierz pozycję, aby zobaczyć opis.
Minimalne wymagania sprzętowe
Minimalne wymagania sprzętowe
CPUSześciordzeniowy x86-64 ≥ 2.5 GHz lub Apple Silicon M1+ — optymalizacje używają wszystkich rdzeni.
RAM (GB)8
GPUNiewymagana dla podstawowej symulacji; rendering w meldis używa OpenGL.
Dysk (GB)5

Ubuntu 22.04 / macOS 13+ rekomendowane. Python 3.10+. Bazel jako build system.

Pakowanie i dystrybucja
Menadżery pakietów
apt / deb

Menedżer pakietów Debian/Ubuntu – apt-get install.

pip / PyPI

Oficjalny menedżer pakietów języka Python i rejestr PyPI (Python Package Index – pypi.org). Pakiety instalowane przez narzędzie pip ('pip install <package>') lub pip3 dla Pythona 3. Szeroko stosowany w ekosystemie robotycznym dla: bibliotek Pythona do komunikacji z SDK (Unitree Python SDK2 dostępne przez pip), wrapperów Pythona dla algorytmów (OpenCV Python: 'pip install opencv-python'), narzędzi deweloperskich (colcon, rosdep, vcstool instalowane przez pip). Obsługuje wirtualne środowiska (venv, virtualenv, conda) izolujące zależności między projektami. Format pakietów: wheel (.whl, binarne) i sdist (.tar.gz, source distribution wymagająca kompilacji). PyPI zawiera ponad 500,000 pakietów – największy ekosystem pakietów Python. Integracja z ROS 2: pakiety Python ROS 2 mogą być instalowane zarówno przez apt (ros-humble-rclpy) jak i pip, przy czym apt jest preferowany dla pakietów ROS 2 core. Wsparcie dla pinowania wersji przez requirements.txt i Pipfile. Ograniczenie: brak native obsługi zależności systemowych (C libraries) – rosdep uzupełnia tę lukę w ekosystemie ROS.

GitHub Releases / GitHub Actions Artifacts

Mechanizm dystrybucji oprogramowania przez GitHub Releases – binarne artefakty (skompilowane pliki wykonywalne, biblioteki, archiwia .tar.gz, .zip, pakiety .deb, .rpm, obrazy Docker) dołączane do tagowanych wydań GitHub. GitHub Actions Artifacts: tymczasowe artefakty budowania przechowywane przez ograniczony czas (90 dni domyślnie). Stosowane w robotyce dla: SDK robotów bez własnej infrastruktury dystrybucji (pobranie .deb lub tarball z GitHub Releases), gotowych binarnych buildów dla konkretnych platform (ROS 2 pre-built dla Raspberry Pi aarch64 przez GitHub Actions), narzędzi CLI i aplikacji standalone. GitHub Container Registry (ghcr.io): hosting obrazów Docker w ramach GitHub – alternatywa dla Docker Hub zintegrowana z GitHub Actions. Automatyzacja: GitHub Actions workflow budujący i publikujący release przy każdym tagu (np. 'on: push: tags: v*'). Ograniczenia: brak zarządzania zależnościami (użytkownik musi samodzielnie zainstalować dependencies), brak automatycznych aktualizacji, wymaga ręcznego pobierania nowych wersji (chyba że używany instalator lub package manager pobiera z GitHub Releases API).

Source – CMake / ament_cmake

Dystrybucja wyłącznie przez kod źródłowy z systemem budowania CMake lub ament_cmake (ROS 2 extension CMake). Użytkownik pobiera kod źródłowy (git clone lub tarball) i kompiluje lokalnie przez: 'cmake -B build && cmake --build build' (CMake) lub 'colcon build' (ament_cmake w workspace ROS 2). Stosowana gdy: pakiet nie jest dostępny w żadnym rejestrze binarnym, wymagana jest custom konfiguracja kompilacji (specyficzne flagi kompilatora, opcje cmake), oprogramowanie targetuje niestandardową platformę sprzętową (exotic embedded SoC), deweloper chce modyfikować kod źródłowy. Typowy workflow w ROS 2: vcstool importuje źródła do workspace/src, colcon build kompiluje. Wymaga zainstalowania wszystkich build dependencies (compilery, biblioteki systemowe) – rosdep automatyzuje instalację dependencies. Najdłuższy czas instalacji (kompilacja może trwać dziesiątki minut na embedded hardware), ale maksymalna kontrola i konfigurowalność. Standard dla pakietów ROS 2 niedostępnych jeszcze w apt lub wymagających niestandardowej kompilacji.

Docker / Docker Hub

Platforma konteneryzacji Docker i publiczny rejestr obrazów Docker Hub (hub.docker.com). Kontenery Docker zapewniają izolację środowiska uruchomieniowego – oprogramowanie i wszystkie jego zależności spakowane w przenośny obraz działający identycznie na dowolnym hoście Linux z Docker Engine. Kluczowe zastosowania w robotyce: dystrybucja gotowych środowisk ROS 2 (oficjalne obrazy: ros:humble, ros:jazzy na Docker Hub, utrzymywane przez Open Robotics), NVIDIA NGC Container Registry (nvcr.io) z obrazami NVIDIA Isaac ROS zawierającymi prekompilowane pakiety GPU-accelerated dla Jetson, dystrybucja złożonych stosów oprogramowania z wieloma zależnościami bez ryzyka konfliktów, CI/CD pipeline'y testujące oprogramowanie robotyczne w izolowanym środowisku. Oficjalne obrazy ROS: 'docker pull ros:humble-ros-base' (minimalny), 'ros:humble-desktop' (pełny z RViz2). NVIDIA Isaac ROS: 'nvcr.io/nvidia/isaac/ros' z obsługą GPU na Jetson AGX Orin. Docker Compose umożliwia orkiestrację wielu kontenerów (robot controller + navigation stack + perception pipeline). Ograniczenia w robotyce: dostęp do hardware (GPIO, CAN, EtherCAT) wymaga konfiguracji '--device' lub '--privileged', real-time scheduling wymaga specjalnej konfiguracji host kernel, GUI (RViz2, Gazebo) wymaga przekazania X11 lub Wayland.

Wybierz pozycję, aby zobaczyć opis.
Architektury CPU
x86_64 (AMD64)

64-bitowa architektura procesora wywodząca się z rodziny x86, opracowana przez AMD (jako AMD64) i zaadoptowana przez Intel (jako Intel 64 / EM64T). Dominująca architektura w komputerach osobistych, serwerach, stacjach roboczych i komputerach przemysłowych. W robotyce stosowana jako główna platforma obliczeniowa dla: stacji operatorskich i komputerów deweloperskich (Ubuntu 22.04/24.04 x86_64), serwerów fleet management i cloud robotics, symulatorów (Gazebo, Isaac Sim wymagają x86_64 z GPU NVIDIA dla pełnej wydajności), komputerów pokładowych robotów mobilnych wyższej klasy (Intel NUC, mini-PC przemysłowe jak Nuvo, OnLogic). Oficjalne wsparcie ROS 2 dla x86_64 jest tier-1 – wszystkie dystrybucje ROS 2 (Humble, Jazzy, Kilted) są w pełni wspierane i testowane. Pakiety apt dostępne przez packages.ros.org dla Ubuntu x86_64. Dominuje w środowiskach deweloperskich i symulacyjnych. Na robotach mobilnych i humanoidach x86_64 jest stosowane gdy wymagana jest wysoka moc obliczeniowa (np. Intel Core Ultra, AMD Ryzen Embedded) bez ograniczeń energetycznych typowych dla ARM. Przykłady hardware: Intel NUC 13 Pro, AMD Ryzen Embedded V2000, Advantech MIC-770.

ARM64 / AArch64

64-bitowa architektura ARM (Advanced RISC Machine) w wersji ARMv8-A i nowszych – dominująca architektura w embedded computing, robotyce mobilnej i edge AI. Dwie nazwy oznaczają to samo: ARM64 (nazwa stosowana przez Apple i w kontekście macOS/iOS), AArch64 (oficjalna nazwa architektury ARM, używana w Linuksie i ekosystemie embedded). Absolutnie dominująca architektura w nowoczesnej robotyce mobilnej i humanoidalnej: NVIDIA Jetson (Orin NX, AGX Orin – Cortex-A78AE), Raspberry Pi 4/5 (Cortex-A72/A76), Qualcomm Robotics RB5/RB6 (Kryo), Apple M1/M2/M3 (dla stacji deweloperskich macOS), procesory w smartfonach używanych jako moduły robotyczne. Oficjalne wsparcie ROS 2 tier-1 dla aarch64 od dystrybucji Humble – pakiety apt dostępne przez packages.ros.org dla Ubuntu 22.04/24.04 aarch64. Unitree SDK2 dostępne dla aarch64 (target: Jetson Orin NX w G1). Boston Dynamics Spot: Qualcomm aarch64. Zalety wobec x86_64: znacznie niższy pobór energii (TDP 5–65W vs 45–125W), lepsza wydajność na wat, wbudowane NPU/GPU dla edge AI, mniejszy footprint fizyczny. Ograniczenia: historycznie mniejsza dostępność prebuildowanych pakietów (szybko zmniejsza się), niektóre biblioteki x86-only nie są portowane.

Apple Silicon – AArch64 (macOS)

Procesory Apple Silicon (M1, M2, M3, M4 i warianty Pro/Max/Ultra) oparte na architekturze AArch64 (ARMv8.5-A+), stosowane w MacBook, Mac mini, Mac Studio i Mac Pro od 2020 r. Platforma deweloperska rosnącego znaczenia w ekosystemie robotycznym – wielu deweloperów ROS 2 używa MacBooków z Apple Silicon. Wsparcie ROS 2: tier-3 (community supported) dla macOS, ROS 2 Humble i Jazzy można zainstalować przez: Homebrew ('brew install ros-humble' przez tap), RoboStack (conda-forge – najwygodniejsza metoda: 'conda install -c conda-forge ros-humble-desktop'), budowanie ze źródeł przez colcon. RoboStack/conda-forge jest rekomendowaną metodą instalacji ROS 2 na Apple Silicon macOS. Apple Silicon: unified memory architecture (CPU, GPU i Neural Engine współdzielą pamięć), Metal GPU API (brak CUDA – wymaga PyTorch z Metal Performance Shaders backend), Core ML / Apple Neural Engine dla inference. Ograniczenia: brak wsparcia CUDA (biblioteki NVIDIA CUDA-only nie działają natywnie), Rosetta 2 umożliwia uruchomienie x86_64 binary ale bez pełnej wydajności, niektóre pakiety ROS 2 wymagają patchowania dla macOS. Gazebo/Ignition: dostępne na macOS ARM64. Zastosowanie: deweloperzy piszący i testujący kod ROS 2, symulacje, narzędzia CLI – nie deployment na robot.

Wybierz pozycję, aby zobaczyć opis.
Trudność instalacji
PoziomZaawansowana
Protokoły i interfejsy
Protokoły komunikacji
LCM (Lightweight Communications and Marshalling)

Biblioteka komunikacyjna i serializacji danych opracowana przez MIT CSAIL, zaprojektowana dla robotyki wymagającej wysokiej wydajności przy niskiej latencji. Stosowany przez Boston Dynamics (Spot, Atlas).

ROS 2 Topics

Mechanizm asynchronicznej komunikacji publish-subscribe w ROS 2, zbudowany na warstwie DDS/RTPS. Węzły publikują wiadomości na nazwanych topicach (np. /joint_states, /cmd_vel, /camera/image_raw), a inne węzły subskrybują te topici bez wiedzy o nadawcy. Obsługuje QoS policies (reliability, durability, history, deadline, lifespan). Podstawowy mechanizm wymiany danych sensorycznych, stanu robota i komend sterowania w ekosystemie ROS 2.

Shared Memory (POSIX / mmap)

Mechanizm IPC oparty na współdzielonym obszarze pamięci między procesami na tym samym hoście. Stosowany w robotyce jako ultra-low-latency transport dla dużych danych. Latencje poniżej 1 µs.

Wybierz pozycję, aby zobaczyć opis.
Interfejsy sprzętowe
Ethernet 1000BASE-T (Gigabit Ethernet)

Standard IEEE 802.3ab – Ethernet 1 Gbit/s przez skrętkę Cat5e/Cat6, złącze RJ-45. Dominujący interfejs sieciowy w robotyce: komunikacja SDK-robot (Unitree SDK2, Boston Dynamics API, UR e-Series), przesyłanie obrazów z kamer IP, integracja z ROS 2 przez DDS/RTPS.

Wybierz pozycję, aby zobaczyć opis.
Klasy opóźnień
Soft Real-Time (20–100 ms)

Klasa miękkiego czasu rzeczywistego 20–100 ms – deadline'y wymagane statystycznie, sporadyczne przekroczenia akceptowalne. Realizowany na standardowym Linux z priorytetem SCHED_FIFO. Komunikacja przez Ethernet GbE, DDS/RTPS, ROS 2 topics. Zastosowania: nawigacja AMR (Nav2: 20–50 Hz), high-level sterowanie humanoidów (Unitree SDK2: 50 Hz), planowanie trajektorii (MoveIt 2 servo), integracja sensorów (LiDAR SLAM: 10–20 Hz). Wystarczający dla większości algorytmów nawigacyjnych i SLAM.

Soft Real-Time (100–500 ms)

Klasa miękkiego czasu rzeczywistego 100–500 ms – odpowiedź w granicach setek milisekund wymagana dla płynnej pracy, ale przekroczenia nie powodują awarii. Zastosowania: task planning (Nav2 planner: 100–300 ms), rozpoznawanie gestów i mowy dla HRI, przetwarzanie obrazów (YOLO na GPU: 20–100 ms), feedback wizualny. Większość oprogramowania komercyjnego dla AMR i robotów usługowych operuje w tej klasie.

Zmienna (workload-dependent)

Klasa latencji zmiennej, silnie zależnej od obciążenia systemu i złożoności zadania. Brak deterministyczności – latencja może się różnić rzędami wielkości. Typowa dla systemów AI: VLA (czas zależy od złożoności sceny), LLM-based task planners (zależy od długości kontekstu), object detection z dynamicznym rozmiarem obrazu, SLAM z adaptacyjną rozdzielczością. Wymaga architektury tolerującej zmienność (async, kolejki, graceful degradation).

Batch / Offline (> 1 min)

Klasa przetwarzania wsadowego lub offline – operacje trwające od kilku minut do godzin lub dni. Brak wymogów latencji – liczy się throughput i poprawność wyniku. Zastosowania: trenowanie modeli foundation (VLA, world models), przetwarzanie dużych zbiorów danych z sensorów, symulacje Monte Carlo, rendering syntetycznych datasetów w Isaac Sim, analiza długoterminowych logów, certyfikacja i walidacja oprogramowania.

Wybierz pozycję, aby zobaczyć opis.
Typy wdrożenia
Lokalna stacja robocza

Local Workstation oznacza typ wdrożenia, w którym software działa na komputerze lokalnym użytkownika, dewelopera lub operatora, np. laptopie, desktopie lub stacji roboczej.

Na robocie

On Robot oznacza typ wdrożenia, w którym oprogramowanie działa bezpośrednio na robocie lub na jego pokładowym module obliczeniowym, np. komputerze przemysłowym, SBC lub platformie edge AI.

Konteneryzowany

Containerized oznacza typ wdrożenia, w którym oprogramowanie jest pakowane i uruchamiane w kontenerach, np. Docker lub innych technologiach konteneryzacji, co ułatwia przenoszenie, replikację i zarządzanie zależnościami.

Wybierz pozycję, aby zobaczyć opis.
Wspierane symulatory
Drake
Framework do modelowania i symulacji układów dynamicznych – Toyota Research / MIT.
Oficjalne obrazy Docker
ros:humble-desktop
Licencje
BSD-3-ClauseBSD 3-Clause Licensev3-Clause

Rodzina licencji: Licencja permisywna

ModyfikacjaDystrybucjaUżytek komercyjnySublicencjonowanieUżytek prywatnyKompatybilna z ROSOSI zatwierdzonaFSF Free/LibreWymaga oznaczenia autorstwa

Licencja BSD z trzema klauzulami – rozszerza BSD 2-Clause o trzeci warunek zakazujący używania nazwy organizacji ani nazwisk kontrybutorów do promocji produktów pochodnych bez pisemnej zgody (non-endorsement clause). Zwana też 'New BSD License' lub 'Modified BSD License'.

Uwaga dla robotyki

Oficjalna licencja Unitree SDK2 i Unitree Python SDK2. Powszechna w pakietach ROS 2 i bibliotekach robotycznych. Klauzula non-endorsement chroni reputację oryginalnych twórców przed nieuprawnioną asocjacją z produktami pochodnymi. Praktycznie identyczna z MIT pod względem swobody użytkowania.

Historia wersji
Drake v1.40sie 2025

Aktualizacja — Clarabel solver, lepsze wsparcie pinocchio interop.

Drake v1.20wrz 2023

MJCF import, lepsze contact dynamics.

Drake v1.0kwi 2022

Major release: stabilne API systemowe, nowe modele.

Drake v0.30sty 2021

Stabilizacja API, pełne Python bindings.

Drake C++ rewritecze 2017

Pełna przepisana wersja w C++ — początek wsparcia TRI.

Drake MATLABsty 2013

Pierwsza wersja Drake w MATLAB — w MIT 6.832.