Skip to main content

项目架构

NEC 项目采用模块化设计,各模块之间松耦合,便于独立开发和测试。

模块列表

机器人控制

运动控制、路径规划、任务调度

嵌入式系统

底层驱动、RTOS、通信协议

算法库

PID、滤波、路径规划、视觉处理

硬件设计

PCB设计、机械结构、传感器

模块依赖关系

┌─────────────────────────────────────┐
│         Application Layer           │
│    (任务调度、策略决策、上位机)       │
└──────────────┬──────────────────────┘

┌──────────────▼──────────────────────┐
│         Algorithm Layer             │
│    (路径规划、视觉识别、运动控制)     │
└──────────────┬──────────────────────┘

┌──────────────▼──────────────────────┐
│         Control Layer               │
│    (PID控制、状态机、数据融合)        │
└──────────────┬──────────────────────┘

┌──────────────▼──────────────────────┐
│         Hardware Abstraction        │
│    (HAL层、驱动程序、通信接口)        │
└──────────────┬──────────────────────┘

┌──────────────▼──────────────────────┐
│         Hardware Layer              │
│    (MCU、传感器、执行器、通信模块)    │
└─────────────────────────────────────┘

通信架构

系统内通信

层级协议用途
板间通信CAN Bus实时控制数据
传感器I2C/SPI传感器数据读取
调试UART/USB调试信息输出
上位机Ethernet/WiFi视觉处理、远程控制

数据流

传感器数据 → 数据采集 → 数据融合 → 决策 → 控制输出 → 执行器
                ↑                                    ↓
                └──────────── 状态反馈 ←─────────────┘

开发工具链

嵌入式开发

  • IDE: STM32CubeIDE, Keil MDK, PlatformIO
  • 调试器: J-Link, ST-Link
  • 仿真: Proteus, MATLAB/Simulink

算法开发

  • Python: 算法验证、数据分析
  • MATLAB: 仿真建模
  • ROS: 机器人操作系统

硬件设计

  • PCB: Altium Designer, KiCad
  • 机械: SolidWorks, Fusion 360

版本管理

各模块独立版本管理,使用语义化版本号:
模块名: v主版本.次版本.修订号

例:
- firmware-control: v2.1.3
- algorithm-vision: v1.5.0
- hardware-pcb: v3.0.1