11 KiB
11 KiB
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 充电控制规则
-
充电触发条件:
- 当VCU检测到无线OBC处于可充电状态时,进入等待充电指令状态
- 优先等待上层(ORIN)发送充电开始指令
- 若等待超时(5分钟),自动进入充电状态
-
充电停止条件:
- BMS上报电量充满后,VCU自动向OBC发送停止充电指令
- 收到上层停止充电指令时,立即停止充电
-
自动充电策略:
- 车辆长时间停留在可充电区域且无上层控制指令时
- 当电池电量低于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 控制优先级规则
-
遥控器未开机时:
- 等待上层ORIN连接并发送使能指令
- 进入自动驾驶模式,响应ORIN的控制指令
-
遥控器开机后:
- 优先读取遥控器的手自动模式状态
- 手动模式:完全不响应上层ORIN的任何指令,所有控制以遥控器为准
- 自动模式:上层ORIN可以接管车辆控制
-
高优先级刹车最高优先级:遥控器独立刹车摇杆优先级高于所有其他控制指令,无论当前处于自动驾驶模式还是手动模式,只要拉动刹车摇杆,立即响应刹车指令,不受模式限制。
3.3 指令接收处理
VCU通过CAN总线接收两类控制指令:
3.3.1 上层ORIN指令
- 速度控制指令
- 使能控制指令
- 灯光控制指令(远近光灯)
- 驻车控制指令
3.3.2 遥控器指令
- 速度控制指令(单摇杆)
- 方向控制(单摇杆)
- 使能控制指令
- 灯光控制指令
- 手自动切换指令
- 驻车控制指令
- 模式切换指令
- 机械臂各关节控制指令
- 作业工具(滚刷)控制指令
- 高优先级刹车控制指令
4. 电机控制逻辑
4.1 遥控器单摇杆控制
- 支持原地转向功能:摇杆左右方向控制转向,前后方向控制速度
- 左右摇杆量直接对应转向角度,前后摇杆量对应目标速度
4.2 加减速限制
为保证行驶平稳性,对电机输出进行如下限制:
- 最大加速度限制:加速度不超过预设最大值(可配置,默认0.5g)
- 最大减速度限制:减速度不超过预设最大值(可配置,默认0.3g)
- 避免急停:当遥控器速度指令突然变为0时,不直接切断动力输出,而是按照最大减速度平滑减速至停止
4.3 高优先级刹车控制
遥控器配备独立高优先级刹车摇杆,为最高优先级控制输入,逻辑如下:
- 全模式生效:无论车辆当前处于自动驾驶模式还是手动驾驶模式,刹车摇杆指令均生效,不受当前控制模式限制
- 力度线性控制:刹车摇杆拉动幅度对应刹车力度,幅度越大减速度越大,最大减速度不超过系统预设的最大减速度限值,实现缓慢刹车,避免急停
- 临时状态上报:拉动刹车摇杆期间,VCU临时向上层ORIN上报车辆处于手动模式,同时屏蔽上层ORIN的速度控制指令,仅响应刹车指令
- 释放自动恢复:刹车摇杆完全释放后,立即恢复原运行模式,向ORIN上报实际模式状态,恢复响应上层速度控制指令
- 不干涉其他控制:刹车控制仅干预速度控制相关指令,不影响灯光、驻车、机械臂等其他控制功能
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 控制优先级规则
- 手动模式优先:无论机械臂处于何种状态,只要遥控器切换到机械臂手动控制模式,立即停止响应上层ORIN的机械臂控制指令
- 模式互斥:E拨杆同一时间只能处于一种模式,底盘控制与机械臂控制不可同时操作
- 自动模式使能:机械臂自动模式下,上层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 机械臂控制处理流程
- VCU实时接收遥控器CAN报文(ID范围:0x187~0x18A)
- 解析E拨杆(CH5)数值判断当前操作模式
- 机械臂模式下:
- 解析各通道摇杆量,转换为对应关节的目标角度/速度
- 将控制指令通过CAN总线发送给机械臂控制器
- 手动模式下直接转发遥控器指令,自动模式下转发上层ORIN指令
- 底盘模式下:
- 忽略机械臂相关通道数据,保持机械臂当前状态
- 执行底盘控制逻辑
9.5 安全保护机制
- 模式切换保护:在机械臂运行过程中切换到底盘模式时,立即停止机械臂所有运动,保持当前位置
- 通信丢失保护:遥控器通信丢失时,立即停止机械臂所有运动,进入锁定状态
- 急停保护:收到急停指令时,立即切断机械臂动力输出
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 |