Files
note_sync/工作/VCU控制逻辑(v0.2).md

11 KiB
Raw Permalink Blame History

VCU(车辆控制单元)控制逻辑文档

1. 概述

VCU(Vehicle Control Unit)是车辆的核心控制中心,作为整车控制的基石,设计原则为功能简单、运行稳定,负责协调车辆各子系统的工作。

1.1 系统架构

VCU通过CAN总线与以下子系统直接通信:

  • BMS(电池管理系统):电池状态采集
  • OBC(车载充电机):充电状态监测、充电指令控制
  • 电机控制器:速度控制、扭矩输出控制
  • 灯光控制系统:远近光灯、转向灯、刹车灯、自动驾驶指示灯控制
  • ORIN(上层自动驾驶计算平台):接收自动驾驶指令、上报车辆状态
  • 遥控器:接收手动驾驶指令、手自动模式切换
  • 机械臂控制器:机械臂关节控制、作业工具控制
graph TD
    RC --> VCU
    ARM --> VCU
    BMS--> VCU
    VCU[VCU 控制中心] --> BMS[BMS 电池管理系统]
    VCU --> OBC[OBC 车载充电机]
    OBC --> VCU
    ORIN --> VCU
    VCU --> MOTOR[电机控制器]
    VCU --> LIGHT[灯光控制系统]
    VCU --> ORIN[ORIN 自动驾驶平台]
    VCU --> RC[遥控器]
    VCU --> ARM[机械臂控制器]

2. 充电控制逻辑

VCU负责整车充电流程的管理,通过CAN总线与BMS和OBC通信,收集两者状态并上报上层系统。

2.1 充电状态机

stateDiagram-v2
    [*] --> OBC: 待充电状态
    OBC --> WAIT_FOR_CHARGE_CMD: 检测到OBC可充电
    ORIN --> CHARGING: 上层发送充电指令
    WAIT_FOR_CHARGE_CMD --> CHARGING: 收到上层充电指令
    WAIT_FOR_CHARGE_CMD --> CHARGING: 5分钟超时自动充电
    
	OBC --> AUTO_CHARGE: 电量<25%且长时间停留在充电区域\n无上层控制
    AUTO_CHARGE --> CHARGING: 自动执行充电指令
    CHARGING --> AUTO_STOP_CHARGE: 电量充满
    AUTO_STOP_CHARGE --> OBC: 自动停止充电

2.2 充电控制规则

  1. 充电触发条件:

    • 当VCU检测到无线OBC处于可充电状态时,进入等待充电指令状态
    • 优先等待上层(ORIN)发送充电开始指令
    • 若等待超时(5分钟),自动进入充电状态
  2. 充电停止条件:

    • BMS上报电量充满后,VCU自动向OBC发送停止充电指令
    • 收到上层停止充电指令时,立即停止充电
  3. 自动充电策略:

    • 车辆长时间停留在可充电区域且无上层控制指令时
    • 当电池电量低于25%时,自动执行充电指令
    • 电量充满后自动执行停止充电指令

3. 驾驶控制逻辑

VCU支持两种驾驶模式:自动驾驶模式(上层ORIN控制)和手动驾驶模式(遥控器控制),遥控器控制优先级高于上层控制。

3.1 模式切换逻辑

stateDiagram-v2
    [*] --> SBUS_WAIT: 遥控器未开机
    SBUS_WAIT --> AUTO_MODE: 上层ORIN连接并使能\n进入自动驾驶模式
    AUTO_MODE --> SBUS_CONNECTED: 遥控器开机
    SBUS_CONNECTED --> MANUAL_MODE: 遥控器手动模式\n不响应上层任何指令
    SBUS_CONNECTED --> AUTO_MODE: 遥控器自动模式\n上层可接管控制

3.2 控制优先级规则

  1. 遥控器未开机时:

    • 等待上层ORIN连接并发送使能指令
    • 进入自动驾驶模式,响应ORIN的控制指令
  2. 遥控器开机后:

    • 优先读取遥控器的手自动模式状态
    • 手动模式:完全不响应上层ORIN的任何指令,所有控制以遥控器为准
    • 自动模式:上层ORIN可以接管车辆控制
  3. 高优先级刹车最高优先级:遥控器独立刹车摇杆优先级高于所有其他控制指令,无论当前处于自动驾驶模式还是手动模式,只要拉动刹车摇杆,立即响应刹车指令,不受模式限制。

3.3 指令接收处理

VCU通过CAN总线接收两类控制指令:

3.3.1 上层ORIN指令

  • 速度控制指令
  • 使能控制指令
  • 灯光控制指令(远近光灯)
  • 驻车控制指令

3.3.2 遥控器指令

  • 速度控制指令(单摇杆)
  • 方向控制(单摇杆)
  • 使能控制指令
  • 灯光控制指令
  • 手自动切换指令
  • 驻车控制指令
  • 模式切换指令
  • 机械臂各关节控制指令
  • 作业工具(滚刷)控制指令
  • 高优先级刹车控制指令

4. 电机控制逻辑

4.1 遥控器单摇杆控制

  • 支持原地转向功能:摇杆左右方向控制转向,前后方向控制速度
  • 左右摇杆量直接对应转向角度,前后摇杆量对应目标速度

4.2 加减速限制

为保证行驶平稳性,对电机输出进行如下限制:

  1. 最大加速度限制:加速度不超过预设最大值(可配置,默认0.5g)
  2. 最大减速度限制:减速度不超过预设最大值(可配置,默认0.3g)
  3. 避免急停:当遥控器速度指令突然变为0时,不直接切断动力输出,而是按照最大减速度平滑减速至停止

4.3 高优先级刹车控制

遥控器配备独立高优先级刹车摇杆,为最高优先级控制输入,逻辑如下:

  1. 全模式生效:无论车辆当前处于自动驾驶模式还是手动驾驶模式,刹车摇杆指令均生效,不受当前控制模式限制
  2. 力度线性控制:刹车摇杆拉动幅度对应刹车力度,幅度越大减速度越大,最大减速度不超过系统预设的最大减速度限值,实现缓慢刹车,避免急停
  3. 临时状态上报:拉动刹车摇杆期间,VCU临时向上层ORIN上报车辆处于手动模式,同时屏蔽上层ORIN的速度控制指令,仅响应刹车指令
  4. 释放自动恢复:刹车摇杆完全释放后,立即恢复原运行模式,向ORIN上报实际模式状态,恢复响应上层速度控制指令
  5. 不干涉其他控制:刹车控制仅干预速度控制相关指令,不影响灯光、驻车、机械臂等其他控制功能

5. 灯光控制逻辑

灯光控制暂时由VCU自主判断处理,无需上层系统干预。

5.1 控制列表

灯光类型 控制逻辑
自动驾驶指示灯 自动驾驶模式开启时点亮,手动模式时熄灭
转向灯(左/右) 根据转向指令自动开启,转向回正后自动关闭
刹车灯 车辆处于减速状态或驻车状态时点亮
远近光灯 接收上层或遥控器指令控制,默认不开启

6. 通信协议规范

6.1 CAN通信矩阵(摘要)

待补充

7. 故障处理与安全机制

7.1 通信故障处理

  • 与BMS通信丢失:立即禁止充电,上报故障
  • 与OBC通信丢失:终止当前充电流程,上报故障
  • 与ORIN通信丢失:自动驾驶模式下减速停车,切换到待机状态
  • 与遥控器通信丢失:手动模式下减速停车,开启危险报警灯;机械臂手动模式下停止机械臂所有运动并锁定

7.2 安全保护机制

待补充

8. 配置参数(可调整)

参数名称 默认值 说明
充电指令等待超时 5分钟 检测到可充电后等待上层指令的最长时间
自动充电SOC阈值 25% 低于该值时自动启动充电
最大加速度 1m/s² 正向加速度上限
最大减速度 1m/s² 反向加速度(减速)上限
CAN通信超时阈值 500ms 连续500ms未收到报文判定为通信丢失

9. 机械臂控制逻辑

VCU支持机械臂手动控制功能,通过遥控器切换操作模式,实现底盘控制与机械臂控制的复用,遵循手动优先的控制原则。

9.1 模式切换逻辑

机械臂控制与底盘控制通过遥控器E拨杆进行切换,完全兼容《履带车T10遥控器协议与操作说明》:

stateDiagram-v2
    [*] --> CHASSIS_MODE: E拨杆最左侧\n底盘控制模式
    CHASSIS_MODE --> ARM_MODE: E拨杆拨到最右侧\n切换到机械臂控制模式
    ARM_MODE --> CHASSIS_MODE: E拨杆拨到最左侧\n切换到底盘控制模式
    
    state CHASSIS_MODE {
        [*] --> CHASSIS_MANUAL: 手动模式
        [*] --> CHASSIS_AUTO: 自动模式
    }
    
    state ARM_MODE {
        [*] --> ARM_MANUAL: 手动模式(默认)
        ARM_MANUAL --> ARM_AUTO: A按键切换到自动模式\n上层可控制机械臂
        ARM_AUTO --> ARM_MANUAL: A按键切换到手动模式\n不响应上层指令
    }

9.2 控制优先级规则

  1. 手动模式优先:无论机械臂处于何种状态,只要遥控器切换到机械臂手动控制模式,立即停止响应上层ORIN的机械臂控制指令
  2. 模式互斥:E拨杆同一时间只能处于一种模式,底盘控制与机械臂控制不可同时操作
  3. 自动模式使能:机械臂自动模式下,上层ORIN可以发送机械臂控制指令,VCU转发给机械臂控制器

9.3 遥控器机械臂操作映射(E拨杆最右侧)

完全遵循《履带车T10遥控器协议与操作说明》定义的操作逻辑:

控制部件 功能 通道映射
右摇杆X轴(x2) 控制回转关节(joint1) CH1
右摇杆Y轴(y2) 控制动臂关节(joint4) CH2
左摇杆Y轴(y1) 控制横梁关节(joint3) CH3
左摇杆X轴(x1) 控制力臂关节(joint2) CH4
A按键 切换机械臂自动/手动控制模式 CH7
F拨杆 控制刷头上下移动(joint5) CH6
D轮盘 控制滚刷启停/转速 CH10

9.4 机械臂控制处理流程

  1. VCU实时接收遥控器CAN报文(ID范围:0x187~0x18A)
  2. 解析E拨杆(CH5)数值判断当前操作模式
  3. 机械臂模式下:
    • 解析各通道摇杆量,转换为对应关节的目标角度/速度
    • 将控制指令通过CAN总线发送给机械臂控制器
    • 手动模式下直接转发遥控器指令,自动模式下转发上层ORIN指令
  4. 底盘模式下:
    • 忽略机械臂相关通道数据,保持机械臂当前状态
    • 执行底盘控制逻辑

9.5 安全保护机制

  1. 模式切换保护:在机械臂运行过程中切换到底盘模式时,立即停止机械臂所有运动,保持当前位置
  2. 通信丢失保护:遥控器通信丢失时,立即停止机械臂所有运动,进入锁定状态
  3. 急停保护:收到急停指令时,立即切断机械臂动力输出

10. 通信协议补充

10.1 遥控器CAN通信扩展

CAN ID 发送方 接收方 报文内容 周期
0x187 遥控器 VCU 通道1-4数据(摇杆) 10ms
0x188 遥控器 VCU 通道5-8数据(拨杆、按键) 10ms
0x189 遥控器 VCU 通道9-10数据(轮盘) 10ms
0x18A 遥控器 VCU 保留 10ms
0x18B 遥控器 VCU 校验帧 10ms