# horus
**Repository Path**: futurelei/horus
## Basic Information
- **Project Name**: horus
- **Description**: HORUS 想要实现什么目标?
HORUS 旨在通过提供超低延迟、内存安全且对开发者友好的框架,成为实时机器人通信的事实标准(代替ROS2),弥合研究原型与生产部署之间的鸿沟。
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: https://docs.horusrobotics.dev
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-04-14
- **Last Updated**: 2026-08-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# HORUS
English ·
简体中文 ·
Português (Brasil) ·
日本語 ·
Español ·
Deutsch
**面向 Rust、Python 和 C++ 的实时分布式中间件。**
> 本文是项目概览的中文翻译。最新、最完整且具有权威性的内容以 [英文 README](README.md) 为准。
[文档](https://docs.horusrobotics.dev) · [快速入门](https://docs.horusrobotics.dev/getting-started/quick-start) · [性能测试](benchmarks/) · [Discord](https://discord.gg/hEZC3ev2Nf)
## 快速开始
```bash
curl -fsSL https://github.com/softmata/horus/raw/main/install.sh | bash
horus new my_robot && cd my_robot && horus run
```
也可以手动安装:
```bash
git clone https://github.com/softmata/horus.git
cd horus
./install.sh
```
Python:`pip install horus-robotics`。C++:链接 `libhorus_cpp`,并包含 ``。
## 为什么选择 HORUS?
HORUS 用共享内存环形缓冲区和无锁同步替代 DDS,适用于机器人、工业自动化、自动驾驶、交易系统和游戏引擎等对延迟、确定性与安全性要求较高的系统。
| 能力 | HORUS |
|------|-------|
| IPC 延迟 | 中位数 **3–304 ns**,取决于拓扑与竞争情况 |
| 调度 | 确定性调度,五种执行类别 |
| 实时支持 | 内置预算、截止时间、CPU 亲和性与看门狗 |
| 安全 | 分级看门狗、安全状态钩子和 BlackBox 飞行记录器 |
| GPU 张量 | 通过 DLPack 与 PyTorch/JAX 零拷贝交换 |
| 语言 | Rust、Python 和 C++ 使用相同的共享内存传输 |
| 配置 | 统一的 `horus.toml` |
性能结果会受到 CPU、操作系统、调度策略、消息大小和拓扑影响。部署前请查看[完整测试方法和结果](benchmarks/README.md),并在目标硬件上复测。
## 支持的开发方式
### Rust
```rust
use horus::prelude::*;
fn main() -> Result<()> {
let mut scheduler = Scheduler::new().tick_rate(1000_u64.hz());
scheduler.add(MyNode::new()?).order(0).rate(1000_u64.hz()).build()?;
scheduler.run()
}
```
### Python
```python
import horus
def tick(node):
message = node.recv("sensor.data")
if message is not None:
node.send("motor.cmd", message)
horus.run(horus.Node(name="controller", subs=["sensor.data"],
pubs=["motor.cmd"], tick=tick, rate=1000))
```
### C++
```cpp
#include
int main() {
horus::Scheduler scheduler;
scheduler.spin();
}
```
## 主要功能
- 进程内及跨进程的零拷贝发布/订阅
- 多速率确定性调度及实时执行类别
- 服务、动作、参数与坐标变换
- 截止时间策略、故障隔离和安全状态
- 40 多种机器人消息类型
- BlackBox 记录、回放、日志与运行时监控
- 可选的 `net` 功能,用于局域网多机器人主题复制
- Rust、Python 与 C++ 跨语言互操作
## 常用命令
```bash
horus new my_robot --rust # 创建 Rust 项目
horus new my_robot --python # 创建 Python 项目
horus new my_robot --cpp # 创建 C++ 项目
horus run # 构建并运行
horus topic list # 列出活动主题
horus node list # 列出节点
horus monitor # 启动监控插件
horus doctor # 检查开发环境
```
## 示例与参与贡献
完整示例位于 [`examples/`](examples/),涵盖差速驱动、机械臂、传感器导航、多机器人、四足机器人、视觉管线、动作以及记录/回放。
欢迎阅读[贡献指南](CONTRIBUTING.md)、提交 [Issue](https://github.com/softmata/horus/issues),或加入 [Discord](https://discord.gg/hEZC3ev2Nf)。项目采用 [Apache-2.0](LICENSE) 许可证。