Skip to content

ink-hz/Embodied-ai-deployment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

云边端协同具身智能体部署与仿真系统

本项目实现了一个完整的云边端协同系统,用于具身智能体的模型训练、部署、管理和仿真,解决了从云端训练到边缘设备部署的全流程自动化问题。

🎯 核心目标

  • 云端训练: 在云端进行大规模模型训练,支持分布式训练和实验管理
  • 自动部署: 将训练好的模型自动打包并部署到边缘服务器或物理机器人
  • 版本管理: 完整的模型版本控制、A/B测试和回滚机制
  • 数据回传: 边缘设备推理数据实时回传,支持在线学习和模型迭代
  • 在线评估: 实时监控模型性能,自动触发重训练和部署

🚀 核心特性

云端训练服务

  • 支持多种深度学习模型架构(Vision Transformer, ResNet, Policy Network)
  • 集成 W&B、MLflow 进行实验跟踪
  • 自动模型导出(ONNX, TorchScript)
  • 分布式训练支持

智能边缘部署

  • 容器化部署(Docker + K3s)
  • 自动模型优化(量化、剪枝、TensorRT)
  • 边缘设备资源管理
  • 断网续传机制

高保真仿真

  • NVIDIA Isaac Sim 集成
  • Sim2Real 迁移学习
  • 物理引擎仿真
  • 传感器数据模拟

通信协议栈

  • MQTT 轻量级消息传输
  • DDS 实时数据分发
  • HTTP/gRPC API 服务
  • 支持离线缓存和同步

📁 项目结构

embodied-ai-deployment/
├── cloud/                      # 云端服务
│   ├── training/              # 训练服务
│   │   ├── trainer.py         # 训练管理器
│   │   └── models/            # 模型定义
│   ├── model_registry/        # 模型注册中心
│   │   └── registry.py        # 模型版本管理
│   └── api/                   # 云端API服务
│
├── edge/                      # 边缘服务
│   ├── manager/               # 部署管理器
│   │   └── deployment_manager.py
│   ├── agent/                 # 边缘代理
│   │   └── data_collector.py  # 数据收集器
│   └── optimizer/             # 模型优化器
│       └── model_optimizer.py
│
├── robot/                     # 机器人控制
│   ├── controller/            # 控制器
│   ├── sensors/               # 传感器接口
│   └── actuators/             # 执行器接口
│
├── simulation/                # 仿真模块
│   ├── isaac_sim/             # Isaac Sim 接口
│   │   └── sim_interface.py
│   ├── scenarios/             # 仿真场景
│   └── bridge/                # 仿真-现实桥接
│
├── common/                    # 公共模块
│   ├── protocols/             # 通信协议
│   │   ├── mqtt_client.py     # MQTT客户端
│   │   └── dds_client.py      # DDS客户端
│   ├── utils/                 # 工具函数
│   └── config/                # 配置管理
│
└── deployment/                # 部署配置
    ├── docker/                # Docker配置
    │   ├── Dockerfile.cloud   # 云端镜像
    │   ├── Dockerfile.edge    # 边缘镜像
    │   └── docker-compose.yml # 服务编排
    ├── k3s/                   # Kubernetes配置
    │   ├── namespace.yaml     # 命名空间
    │   ├── cloud-services.yaml # 云端服务
    │   └── edge-device-management.yaml # 边缘设备管理
    └── scripts/               # 部署脚本

🛠️ 技术栈

核心技术

  • 深度学习: PyTorch, ONNX, TensorRT
  • 容器化: Docker, Containerd
  • 编排: K3s, KubeEdge
  • 仿真: NVIDIA Isaac Sim
  • 通信: MQTT, DDS (CycloneDX)

支持库

  • 实验管理: W&B, MLflow
  • 数据库: PostgreSQL, SQLite, Redis
  • 监控: Prometheus, Grafana
  • Web框架: FastAPI, Uvicorn

📋 核心挑战及解决方案

1. 模型轻量化

  • 量化: 动态量化、静态量化、QAT
  • 剪枝: 结构化/非结构化剪枝
  • 蒸馏: 知识蒸馏降低模型复杂度
  • TensorRT: GPU推理加速

2. 边缘资源管理

  • 动态调度: 基于资源使用情况的智能调度
  • 负载均衡: 多设备间的推理任务分配
  • 故障恢复: 自动检测和恢复机制

3. 断网续传

  • 本地缓存: SQLite本地数据存储
  • 增量同步: 断网恢复后的数据同步
  • 优先级队列: 关键数据优先传输

4. Sim2Real迁移

  • 域适应: 仿真到现实的域迁移
  • 物理参数对齐: 仿真参数与真实环境匹配
  • 渐进式部署: 从仿真到真实的逐步过渡

🚀 快速开始

环境要求

  • Python 3.9+
  • Docker 20.10+
  • CUDA 11.8+ (可选,用于GPU加速)
  • K3s 1.25+ (可选,用于Kubernetes部署)

1. 安装依赖

pip install -r requirements.txt

2. 启动核心服务

使用 Docker Compose 启动完整系统:

cd deployment/docker
docker-compose up -d

3. 验证部署

# 检查云端服务
curl http://localhost:8000/health
curl http://localhost:8001/health

# 检查边缘设备
curl http://localhost:8080/health

4. 运行仿真

from simulation.isaac_sim.sim_interface import IsaacSimInterface

# 配置仿真
config = {
    "headless": True,
    "dt": 1/60.0,
    "max_episode_steps": 1000,
    "robot": {
        "usd_path": "/Isaac/Robots/Franka/franka.usd",
        "name": "franka"
    }
}

# 启动仿真
sim = IsaacSimInterface(config)
await sim.initialize()
await sim.start_simulation()

# 收集训练数据
training_data = await sim.collect_training_data(num_episodes=10)

📊 系统架构

graph TB
    subgraph "云端 Cloud"
        CT[训练服务] --> MR[模型注册中心]
        MR --> EM[边缘管理器]
        EM --> MQTT[MQTT Broker]
    end
    
    subgraph "边缘 Edge"
        EA[边缘代理] --> MO[模型优化器]
        EA --> DC[数据收集器]
        DC --> MQTT
    end
    
    subgraph "终端 Device"
        RC[机器人控制器] --> EA
        SI[仿真接口] --> EA
    end
    
    CT -.-> SI
    MR -.-> MO
    DC -.-> CT
Loading

🔧 配置管理

云端配置

# cloud_config.yaml
training:
  batch_size: 32
  learning_rate: 0.001
  max_epochs: 100
  
model_registry:
  storage_path: "./model_storage"
  db_url: "postgresql://user:pass@localhost/models"
  
optimization:
  auto_optimize: true
  target_device: "cuda"
  precision: "fp16"

边缘配置

# edge_config.yaml
device:
  id: "edge-device-001"
  type: "robot"
  capabilities:
    cpu_cores: 4
    memory_gb: 8
    gpu_available: true
    
communication:
  mqtt_broker: "mqtt://broker:1883"
  dds_domain: 0
  
optimization:
  enable_tensorrt: true
  quantization: "int8"

📈 性能监控

系统集成了完整的监控体系:

  • Prometheus: 指标收集
  • Grafana: 可视化面板
  • 自定义指标: 推理延迟、吞吐量、准确率等

关键监控指标:

  • 模型推理延迟 (P50, P95, P99)
  • 设备资源使用率 (CPU, Memory, GPU)
  • 网络传输质量 (延迟, 丢包率)
  • 模型准确率趋势
  • 边缘设备在线率

🔐 安全考虑

  • 模型加密: 传输和存储过程中的模型加密
  • 认证授权: 基于Token的API访问控制
  • 网络安全: TLS加密通信
  • 访问控制: RBAC权限管理
  • 审计日志: 完整的操作日志记录

🤝 贡献指南

  1. Fork 项目仓库
  2. 创建功能分支: git checkout -b feature/your-feature
  3. 提交更改: git commit -am 'Add your feature'
  4. 推送分支: git push origin feature/your-feature
  5. 提交 Pull Request

📝 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

🆘 支持与反馈

如有问题或建议,请:

  1. 查看 FAQ
  2. 提交 Issue
  3. 加入讨论群组

: 本系统针对工业级部署进行了优化,支持大规模边缘设备管理和高并发推理场景。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published