将 note 笔记库同步到 note_sync,AI_compiler 作为 submodule
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,67 @@
|
||||
# VCU控制逻辑(精简版)
|
||||
|
||||
## 一、核心定位
|
||||
VCU是车辆核心控制单元,设计原则:**功能简单、运行稳定**,是整车控制的基石,负责协调各子系统工作。
|
||||
|
||||
## 二、对接子系统
|
||||
VCU通过CAN总线与以下部件通信:
|
||||
- BMS(电池管理系统)、OBC(车载充电机)
|
||||
- 电机控制器、灯光控制系统
|
||||
- ORIN(上层自动驾驶平台)、遥控器、机械臂控制器
|
||||
|
||||
---
|
||||
|
||||
## 三、核心控制逻辑
|
||||
### 1. 充电控制
|
||||
- 检测到OBC可充电后,优先等待ORIN指令,**5分钟超时自动充电**
|
||||
- 电量充满后自动发送停止充电指令
|
||||
- 长时间停在充电区且无上层控制时,**电量低于25%自动充电**,充满自停
|
||||
|
||||
### 2. 驾驶模式控制
|
||||
| 状态 | 控制逻辑 |
|
||||
|------|----------|
|
||||
| 遥控器未开机 | 等待ORIN连接使能,进入自动驾驶模式 |
|
||||
| 遥控器开机-手动模式 | 完全不响应ORIN指令,所有控制以遥控器为准 |
|
||||
| 遥控器开机-自动模式 | ORIN可以接管车辆控制 |
|
||||
|
||||
### 3. 机械臂控制
|
||||
- 通过遥控器E拨杆切换底盘/机械臂模式,**两种模式互斥**
|
||||
- 机械臂手动模式:不响应ORIN机械臂指令,完全由遥控器控制
|
||||
- 遥控器操作完全兼容《履带车T10遥控器协议》,支持5个关节+滚刷控制
|
||||
|
||||
### 4. 高优先级刹车(最高优先级)
|
||||
- 独立刹车摇杆,**全模式生效**,不受手自动模式限制
|
||||
- 拉动幅度对应刹车力度,线性控制减速度,最大不超过系统限值,避免急停
|
||||
- 刹车期间临时上报ORIN为手动模式,屏蔽上层速度指令,释放后自动恢复原模式
|
||||
|
||||
### 5. 电机控制
|
||||
- 支持单摇杆原地转向
|
||||
- 最大加速度/减速度可配置,避免急停
|
||||
- 遥控器速度突降时平滑减速,不直接切断动力
|
||||
|
||||
### 6. 灯光控制
|
||||
- 自动驾驶指示灯:自动驾驶模式点亮,手动模式熄灭
|
||||
- 转向灯:转向指令触发,回正自动关闭
|
||||
- 刹车灯:减速或驻车时点亮
|
||||
- 远近光灯:接收上层/遥控器指令控制
|
||||
|
||||
---
|
||||
|
||||
## 四、控制优先级(从高到低)
|
||||
1. **高优先级刹车摇杆** > 2. 遥控器手动模式 > 3. ORIN自动驾驶
|
||||
|
||||
---
|
||||
|
||||
## 五、关键配置参数
|
||||
| 参数 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| 充电等待超时 | 5分钟 | 检测到可充电后等待上层指令的最长时间 |
|
||||
| 自动充电SOC阈值 | 25% | 低于该值自动启动充电 |
|
||||
| 最大加速度 | 1m/s² | 正向加速度上限 |
|
||||
| 最大减速度 | 1m/s² | 减速上限(刹车力度不超过该值) |
|
||||
| CAN通信超时 | 500ms | 连续未收到报文判定为通信丢失 |
|
||||
|
||||
---
|
||||
|
||||
## 六、核心安全机制
|
||||
1. 通信丢失保护:对应模式下减速停车,上报故障
|
||||
@@ -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 |
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
控制相关参数没有按速度区间机制,需要自己实现
|
||||
rtk精度行走是够的,但是目前看会有5-8cm的跳变,所以充电还是需要用docking server配合视觉或者雷达精确定位,加上限位和触点开关之类的。
|
||||
|
||||
体量小,开发快,资料够多。
|
||||
|
||||
route server支持大地图
|
||||
@@ -0,0 +1,75 @@
|
||||
|
||||
## 1. 硬件概述
|
||||
本文档描述云卓T10遥控器通过SBUS转CAN模块输出的CAN通信协议及操作逻辑。遥控器布局参考下图:
|
||||
|
||||
![[Pasted image 20260402112914.png|350]]
|
||||
![[Pasted image 20260402112951.png|369]]
|
||||
---
|
||||
|
||||
## 2. CAN通信协议规范
|
||||
### 2.1 基础参数
|
||||
- CAN ID范围:`0x187` ~ `0x18A`(共4个ID,每个ID对应4个通道数据)
|
||||
- 比特率:500K
|
||||
- 数据长度:每帧8字节,包含4个通道值,每个通道占2字节
|
||||
- 字节序:大端模式(第一字节为高位字节)
|
||||
- 通道值范围:
|
||||
- 最小值:`0x011A` (十进制 282)
|
||||
- 中间值:`0x03EA` (十进制 1002)
|
||||
- 最大值:`0x06BA` (十进制 1722)
|
||||
- 开关量特性:A/B按键为开关量,开关打开时输出最大值,关闭时输出最小值
|
||||
|
||||
### 2.2 帧结构
|
||||
|
||||
| CAN ID | 0-1 | 2-3 | 4-5 | 6-7 |
|
||||
| ------ | --- | ---- | --- | --- |
|
||||
| 0x187 | CH1 | CH2 | CH3 | CH4 |
|
||||
| 0x188 | CH5 | CH6 | CH7 | CH8 |
|
||||
| 0x189 | CH9 | CH10 | 保留 | 保留 |
|
||||
| 0x18A | 保留 | 保留 | 保留 | 保留 |
|
||||
| 0x18B | 校验 | | | |
|
||||
18B高位为数字通道和状态位,低位为前33位累加和校验。
|
||||
|
||||
## 3. 遥控器通道映射表
|
||||
| 控制部件 | 通道编号 | 说明 |
|
||||
| --------- | ---- | --------- |
|
||||
| 右摇杆X轴(x2) | CH1 | 横向数值,左小右大 |
|
||||
| 右摇杆Y轴(y2) | CH2 | 纵向数值,上小下大 |
|
||||
| 左摇杆Y轴(y1) | CH3 | 纵向数值,下小上大 |
|
||||
| 左摇杆X轴(x1) | CH4 | 横向数值,左小右大 |
|
||||
| E拨杆 | CH5 | 三档,左小右大 |
|
||||
| F拨杆 | CH6 | 三档,左小右大 |
|
||||
| A按键 | CH7 | 开关量 |
|
||||
| B按键 | CH8 | 开关量 |
|
||||
| C轮盘 | CH9 | 左小右大 |
|
||||
| D轮盘 | CH10 | 左小右大 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 操作模式说明
|
||||
遥控器由E拨杆位置切换两种工作模式:
|
||||
|
||||
### 4.1 底盘控制模式(E拨杆拨到最左侧,通道5输出最小值)
|
||||
| 控制部件 | 功能 |
|
||||
| --------- | ----------- |
|
||||
| 左摇杆X轴(x1) | 控制底盘左右转向 |
|
||||
| 左摇杆Y轴(y1) | 控制底盘前后移动 |
|
||||
| A按键 | 切换自动/手动控制模式 |
|
||||
| B按键 | 切换驻车状态 |
|
||||
| F拨杆 | 切换前灯远近光 |
|
||||
|
||||
### 4.2 机械臂控制模式(E拨杆拨到最右侧,通道5输出最大值)
|
||||
| 控制部件 | 功能 |
|
||||
| --------- | ---------------- |
|
||||
| 右摇杆X轴(x2) | 控制回转关节(joint1) |
|
||||
| 右摇杆Y轴(y2) | 控制动臂关节(joint4) |
|
||||
| 左摇杆Y轴(y1) | 控制横梁关节(joint3) |
|
||||
| 左摇杆X轴(x1) | 控制力臂关节(joint2) |
|
||||
| A按键 | 切换自动/手动控制模式 |
|
||||
| F拨杆 | 控制刷头上下移动(joint5) |
|
||||
| D轮盘 | 控制滚刷启停/转速 |
|
||||
|
||||
---
|
||||
|
||||
## 5. 版本信息
|
||||
- 文档版本:V1.0
|
||||
- 最后更新:2026-04-02
|
||||
Binary file not shown.
Reference in New Issue
Block a user