🚙🤖💻 Making robotic applications fast and simple!
- pip
- Linux
- MacOS
- Windows
- Nix[OS]
- Cargo
- Source
- Github Releases
- Paste the following line in a terminal
pip install dora-rs-cli
- Paste the following line in a terminal
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/dora-rs/dora/main/install.sh | bash
- Paste the following line in a terminal
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/dora-rs/dora/main/install.sh | bash
- Paste the following lines in a terminal
powershell -c "irm https://raw.githubusercontent.com/dora-rs/dora/main/install.ps1 | iex"
- If you use VSCode, make sure to restart VSCode for the change to happen.
- To make a base dev-shell (Recommended):
{
description = "A base dev-shell flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
dora-rs = {
url = "github:dora-rs/dora";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
dora-rs,
}: let
system = "x86_64-linux";
# ↑ Swap it for your system as needed
pkgs = nixpkgs.legacyPackages.${system};
in {
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
dora-rs.packages.${system}.dora-cli
];
};
};
}
- To add to a system-config flake:
- First, add this to your inputs
dora-rs = {
url = "github:dora-rs/dora";
inputs.nixpkgs.follows = "nixpkgs";
};
- ...and add to your packages array. E.g. adding to your home-manager config:
{
inputs,
config,
pkgs,
...
}: {
home.packages = with pkgs; [
inputs.dora-rs.packages.x86_64-linux.dora-cli
];
}
- To install (not recommended)
nix-env --install "github:dora-rs/dora"
cargo install dora-cli # In case of issues, you can try to add `--locked`
dora --help
- Clone and build source
## dora binary
git clone https://github.com/dora-rs/dora.git
cd dora
cargo build --release -p dora-cli
PATH=$PATH:$(pwd)/target/release
- To develop python library
# pip install maturin
## Python API
maturin develop -m apis/python/node/Cargo.toml
- To test dora installation
dora --help
- Go on our release page
- download both the
zip
andwhl
file corresponding to your architecture and OS. - Unzip the zip file and place it in your binary folder (e.g.:
$HOME/bin
). - Verify that dora is well installed by calling
dora --help
in your terminal.
In 2024, AI is booming! Robotic framework however hasn't changed much in years... This is why we created dora-rs! dora-rs is a new robotic framework that brings modernity into robotic application.
dora-rs 已经可以显示出令人印象深刻的性能!这是使用我们自己的共享内存服务器和Apache Arrow 实现零复制(zero-copy)的结果!
这些性能改进对于初学者、AI 从业者和业余爱好者来说意义重大,他们因该领域缺乏对 Python 的支持而受到限制!
而这只是我们可以为 dora-rs 展示的众多创新功能中的一个例子!
Dora CPU Latency (Lower is better)
- Python API
- Rust API
- C/C++ API
Source code for ROS 2 benchmark.
Source code for dora-rs
Dora GPU Latency (Lower is better)
- PyTorch CUDA
See:Documentation
Features
⭐ 零开销
在共享内存上传输零拷贝的消息!我们使用 Arrow 和我们自己的共享内存守护程序在一台机器上进行光速通信。
🤯 可伸缩
专为跨机器和机器人扩展而构建!我们使用 YAML 描述来使我们的软件具有声明性,以便可在多台机器上分发。
👨🏭 快速原型化
Use readily available nodes from your YAML dataflow, so that you don't need to bother copy-pasting boilerplate code. You can also tinker live using Python!
🔭 观察能力
通过我们的cli工具和opentelemetry获得日志、跟踪和指标!
💻 支持大型矩阵
在最多的平台和架构上,dora 支持 Python、Rust、C 和 C++ !
🧑🤝🧑 社区
我们希望 dora 做成一个社区驱动项目并且帮助 更多人学习机器人。