将 note 笔记库同步到 note_sync,AI_compiler 作为 submodule
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
# VCU(车辆控制单元)控制逻辑文档
|
||||
|
||||
## 1. 概述
|
||||
VCU(Vehicle Control Unit)是车辆的核心控制中心,作为整车控制的基石,设计原则为**功能简单、运行稳定**,负责协调车辆各子系统的工作。
|
||||
|
||||
### 1.1 系统架构
|
||||
VCU通过CAN总线与以下子系统直接通信:
|
||||
- **BMS(电池管理系统)**:电池状态采集
|
||||
- **OBC(车载充电机)**:充电状态监测、充电指令控制
|
||||
- **电机控制器**:速度控制、扭矩输出控制
|
||||
- **灯光控制系统**:远近光灯、转向灯、刹车灯、自动驾驶指示灯控制
|
||||
- **ORIN(上层自动驾驶计算平台)**:接收自动驾驶指令、上报车辆状态
|
||||
- **遥控器**:接收手动驾驶指令、手自动模式切换
|
||||
- **机械臂控制器**:机械臂关节控制、作业工具控制
|
||||
|
||||
```mermaid
|
||||
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 充电状态机
|
||||
```mermaid
|
||||
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 模式切换逻辑
|
||||
```mermaid
|
||||
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遥控器协议与操作说明》:
|
||||
|
||||
```mermaid
|
||||
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 |
|
||||
|
||||
Reference in New Issue
Block a user