Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

OpenNeuro: 下一代具身智能机器人通用通信架构

OpenNeuroLicensePlatformStatus

让每一台机器人都能拥有特斯拉 Optimus 级别的神经系统

English | 简体中文 | 文档 | 快速开始 | 示例


🎯 项目愿景

OpenNeuro 旨在构建一套开源、标准化、软硬解耦的机器人内部通信架构,采用 Eclipse Zenoh 替代复杂的 DDS,实现高效、实时、易用的机器人神经网络。

核心特性

  • 微秒级同步 - PTP 硬件时间戳支持,精度 <1µs
  • 🎯 确定性通信 - TSN 流量隔离,实时性保证
  • 🪶 轻量高效 - Zenoh-Pico,嵌入式设备也能享受零拷贝通信
  • 🔌 无缝集成 - ROS 2 透明桥接,兼容现有生态
  • 🏗️ 区域架构 - Zone Controller 设计,减少线束,提高故障隔离
  • 🔓 完全开源 - 从软件到硬件的完整解决方案

📊 项目状态

当前版本: v0.2.0-alpha.1 (M2.1)

功能完整性: ████████████████░░░░ 80%
性能达标: ████████████████████ 100%
生产就绪: ████████████░░░░░░░░ 60%
文档完整: ████████████████████ 100%

🚀 快速开始

环境要求

  • 操作系统: Linux (Ubuntu 20.04+) 或 Windows 10/11
  • 编译器: GCC 9+ / MSVC 2019+ / Clang 10+
  • CMake: 3.15+
  • Python: 3.8+ (可选,用于 TSN Python API)

安装

# 克隆仓库
git clone https://github.com/OpenNeuro/OpenNeuro.git
cd OpenNeuro
# 编译 PTP Stackcd ptp-stack
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
# 编译 TSN Schedulercd ../tsn-scheduler
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
# 编译 Zenoh Bridgecd ../zenoh-bridge
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

运行测试

# PTP 性能基准测试cd ptp-stack/build
./bench_ptp
# TSN Python 绑定测试cd tsn-scheduler
python test_bindings.py
# Zenoh HAL 测试cd zenoh-bridge/build
./test_zenoh_hal

💡 核心技术

1. PTP 时间同步 (IEEE 1588v2)

性能: ~10ns 延迟 (零拷贝优化)

#include"ptp/master.h"// 初始化 PTP Masterptp_master_ctx_tmaster;
ptp_master_config_tconfig= {
.domain_number=0,
.sync_interval_log=-3// 125ms
};
ptp_master_init(&master, &config);
// 主循环while (running) {
ptp_master_tick(&master);
usleep(1000); // 1ms
}

2. TSN 调度器 (IEEE 802.1Qbv)

性能: O(1) 门控算法

importtsn_scheduler# 创建调度器sched=tsn_scheduler.create()
# 配置流量优先级config= {
'interface': 'eth0',
'rt_bandwidth': 200, # Mbps'st_bandwidth': 300,
'be_bandwidth': 500
}
tsn_scheduler.apply_config(sched, config)

3. Zenoh 通信层

性能: <100µs 延迟, >10K msg/s 吞吐量

#include"zenoh_hal.h"// 打开会话zenoh_session_t*s=zenoh_hal_open("tcp/127.0.0.1:7447");
// 发布数据zenoh_publisher_t*pub=zenoh_hal_declare_publisher(s, "robot/sensor/imu");
zenoh_hal_put(pub, data, len);
// 订阅数据voidcallback(constuint8_t*data, size_tlen, void*ctx) {
printf("Received: %zu bytes\n", len);
}
zenoh_subscriber_t*sub=zenoh_hal_declare_subscriber(s, "robot/cmd", callback, NULL);

🏗️ 项目结构

OpenNeuro/
├── ptp-stack/ # PTP 协议栈
│ ├── src/
│ │ ├── master/ # PTP Master 实现
│ │ ├── slave/ # PTP Slave 实现
│ │ ├── protocol/ # 消息处理
│ │ └── platform/ # 硬件时间戳
│ └── tests/ # 测试程序
│
├── tsn-scheduler/ # TSN 调度器
│ ├── src/
│ │ ├── core/ # 核心调度算法
│ │ ├── linux/ # Linux Taprio 集成
│ │ └── python_api/ # Python 绑定
│ └── tests/ # 测试程序
│
├── zenoh-bridge/ # Zenoh 桥接器
│ ├── src/
│ │ ├── zenoh_hal.h # HAL 抽象层
│ │ ├── zenoh_hal_full.c # Full Zenoh 实现
│ │ ├── zenoh_hal_pico.c # Zenoh-Pico 实现
│ │ └── tsn_qos_bridge.c # QoS 映射
│ └── tests/ # 测试程序
│
├── hardware/ # 硬件设计
│ ├── zone-controller/ # Zone Controller 设计
│ └── reference-design/ # 参考设计
│
└── docs/ # 文档
├── API_REFERENCE.md
├── PERFORMANCE_REPORT.md
└── VERIFICATION_GUIDE.md

📚 文档

核心文档

技术文档

集成指南


🎯 应用场景

1. 机器人仿真 (AGI-Walker)

# Godot 仿真中的时间同步fromptp_stackimportPTPSlaveslave=PTPSlave(domain=0, interface="lo")
whilerunning:
slave.tick()
sync_time=slave.get_time()

2. 工业机器人控制

优先级 7: 电机控制 (<100µs)
优先级 6: 传感器反馈 (<1ms)
优先级 4: 视频流 (<10ms)
优先级 0: 诊断信息 (尽力而为)

3. 分布式机器人系统

Zone Controller (RK3588)
├─ PTP Master
├─ TSN Scheduler
└─ Zenoh Router
↓
Zone Neurons (ESP32/STM32)
├─ PTP Slave
├─ Zenoh-Pico
└─ 传感器/执行器


🤝 贡献

我们欢迎所有形式的贡献!


📄 许可证

本项目采用 MIT License


🌟 致谢


OpenNeuro - 让机器人拥有神经系统! 🤖🚀

Made with ❤️ by OpenNeuro Team

About

ext-generation communication architecture for embodied AI robots

Resources

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages