# 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) 许可证。