Skip to content

hybrid_autonomous_tractor_vcu 是一个为油电混合动力自主作业拖拉机设计的整车控制器(Vehicle Control Unit, VCU)软件项目。本项目旨在提供一个符合工业级标准的、模块化的、可扩展的软件平台,用于实现自主作业(无人)拖拉机的自主精准作业决策和高效的能量管理。

License

Notifications You must be signed in to change notification settings

qwagrox/hybrid_autonomous_tractor_vcu

Repository files navigation

混合动力自主作业拖拉机智能整车控制器

image

  • 版本: 0.1.4
  • 作者: tangyong@stmail.ujs.edu.cn , 目前就读于江苏大学农机控制理论与工程博士
  • 日期: 2025/09/28

POSIX Badge License Issues Tracking Badge Contributors CI Documentation Badge

1. 项目概述

hybrid_autonomous_tractor_vcu 是一个为油电混合动力自主作业拖拉机设计的整车控制器(Vehicle Control Unit, VCU)软件项目。本项目旨在提供一个符合工业级标准的、模块化的、可扩展的软件平台,用于实现自主作业(无人)拖拉机的自主精准作业决策和高效的能量管理。

该软件架构采用分层设计,涵盖了从底层硬件驱动、实时操作系统(RTOS)抽象,到上层感知、预测、决策和控制的全栈功能。其核心目标是实现拖拉机在复杂多变的农业环境中安全、可靠、高效地完成各项预定任务,如犁地、播种、施肥、喷药等。

2. 核心特性

  • 模块化与分层架构: 软件被清晰地划分为硬件抽象层、感知层、预测层、控制层、执行层和诊断层。各层之间通过明确定义的接口进行通信,实现了高度的内聚和低耦合,便于独立开发、测试和维护。

  • 工业级可靠性与安全性: 系统内置了全面的健康监控、故障诊断和安全冗余机制。从指令验证、安全监控到紧急停机处理,确保在任何情况下车辆和人员的安全。

  • 预测性控制: 利用先进的预测算法(如负载预测、能量消耗预测),系统能够“预见”未来的工作状态,并提前做出最优控制决策,从而显著提升燃油效率和作业性能。

  • 混合动力能量管理: 专为油电混合动力系统设计了先进的能量管理策略。通过智能扭矩分配(Torque Split)算法,在发动机和电机之间实现最佳的功率分配,最大化燃油经济性并减少排放。

  • 标准化协议支持: 内置对 J1939ISOBUS (ISO 11783) 等行业标准协议的支持,确保与主流的发动机、传动系统和农具的互操作性。

  • 配置驱动开发: 系统的关键参数,如车辆物理参数、控制增益、传感器标定数据和故障规则,全部通过外部 YAML 配置文件进行管理,实现了“配置即代码”,极大提升了软件的灵活性和可移植性。

  • 可扩展的农具控制: 设计了统一的农具控制接口 (IImplementController),新增农具类型(如新型播种机、施肥机)只需实现该接口并提供相应的配置文件,即可无缝集成到系统中,实现了真正的“即插即用”。

3. 架构概览

image

  • 平台层 (Platform Layer): 包含实时操作系统(或其抽象)和硬件抽象层(HAL),负责提供定时、中断、内存管理等基础服务,并封装对CAN控制器、GPIO、ADC等硬件的直接访问。
  • 服务层 (Service Layer): 提供跨应用的核心服务,包括通信管理(CAN/ISOBUS协议栈)、配置加载、诊断和健康监控等。
  • 应用层 (Application Layer): 实现车辆自主作业的核心业务逻辑,包括:
    • 感知 (Perception): 融合多传感器数据,理解车辆自身状态和外部环境。
    • 预测 (Prediction): 基于当前状态和历史数据,预测未来的负载、路径和能量需求。
    • 控制 (Control): 根据预测结果和目标任务,做出最优的控制决策,如扭矩分配、转向角度、农具作业速率等。
    • 执行 (Execution): 将控制指令安全地发送给硬件执行器,并监控其执行状态。

4. 快速开始

4.1 环境要求

  • C++17 编译器 (GCC/Clang)
  • CMake (版本 >= 3.12)
  • Eigen3, YAML-CPP, Google Test 等依赖库

4.2 编译项目

# 克隆仓库
git clone https://github.com/qwagrox/hybrid_autonomous_tractor_vcu.git
cd hybrid_autonomous_tractor_vcu

# 运行构建脚本
./scripts/build.sh

构建脚本会自动创建 build 目录,并编译生成主程序 vcu_main 和单元测试程序。

4.3 运行单元测试

cd build/
./bin/unit_tests

5. 仿真子系统

  1. 查看 仿真子系统设计架构
  2. 查看 仿真子系统运行测试
  3. 查看 仿真子系统HIL

6. Infineon + NuttX RTOS + POSIX移植

查看 Infineon + NuttX RTOS + POSIX移植

7. 目录结构

├── config/         # 所有YAML配置文件
├── docs/           # 项目设计与开发文档
├── include/        # 所有模块的头文件 (.hpp)
├── models/         # 机器学习模型文件 (.onnx, .tflite)
├── scripts/        # 辅助脚本 (构建, 部署, 分析等)
├── simulation/     # 仿真子系统(软件在环SIL)
├── simulation_hil/     # 仿真子系统(硬件在环HIL)
├── src/            # 所有模块的源文件 (.cpp)
└── tests/          # 单元测试、集成测试和系统测试

8. 贡献指南

我们欢迎任何形式的贡献!如果您希望为本项目做出贡献,请遵循以下步骤:

  1. Fork 本仓库。
  2. 创建一个新的功能分支 (git checkout -b feature/YourFeature)。
  3. 提交您的代码 (git commit -m 'Add some feature')。
  4. 将您的分支推送到远程仓库 (git push origin feature/YourFeature)。
  5. 创建一个新的 Pull Request

在提交代码前,请确保您的代码遵循项目现有的编码规范,并通过了所有测试。

9. 许可证

本项目采用 MIT License 开源许可证。

About

hybrid_autonomous_tractor_vcu 是一个为油电混合动力自主作业拖拉机设计的整车控制器(Vehicle Control Unit, VCU)软件项目。本项目旨在提供一个符合工业级标准的、模块化的、可扩展的软件平台,用于实现自主作业(无人)拖拉机的自主精准作业决策和高效的能量管理。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published