Files
TechDoc-BC2024/东北大学秦皇岛分校_白塔岭143队_百度智慧交通.md
2024-08-23 15:10:33 +08:00

30 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 百度智慧交通组技术报告
## 概述
在本次比赛中,主要任务仍可归纳为“循线 + 定点任务”相结合的方式,大体上和往年相似。主要难度在于循线过程中存在直角弯、三岔路口、十字路口等特殊元素,并且任务点附近没有地标作为任务定位标识,同时任务动作对定位准确性要求较高。
出于节省学校经费的考虑,我们没有选择直接购买官方车模,而是仅购买了指定的电机,单独购置了符合要求的上位机板卡,自制了车模结构和控制电路部分。
## 下位机设计
### 自定义通信协议
由于购买的 Nvidia 官方以及仿制官方的 Jetson Orin Nano 载板(以下简称 “nano”并没有直接引出 CAN 接口,并且对于 Linux 下 CAN 设备的调试开发也缺乏经验,所以选择了使用 nano 的 40pin 拓展接口中的串口设备与下位机主控板进行通信,对于其他模块的指令在下位机主控接收后转换成对应的 can 数据帧下发给其他模块,通信结构如下图所示。
![控制器架构](控制器架构.drawio.png)
在 nano 下发的指令中,需要控制车辆运动和执行机构动作,由于存在一些对参数“增量”修改的命令(如前进指定距离),为了避免因为通信出错导致类似指令漏发、多发,所以在通信机制中实现了校验和应答的机制。实现的自定义指令为定长帧,帧格式如下所示。
```
| 帧头 (1 byte) | 指令码 (1 byte) | 数据段 (8 byte) | CRC 校验值 (2 byte) |
| ------------ | -------------- | -------------- | ------------------ |
| 0xEB | 0x30 - 0x6F | 0x00 - 0xFF | 0x00 - 0xFF |
```
### 下位机主控设计
下位机主控采用了 AT32F403A 芯片作为主控,使用 配套的 AT32-WorkBench 工具能够非常快速的生成工程,加快开发速度。在功能上,下位机主控主要作为 nano 板卡和其他控制器模块的通信中继(将串口指令转发到 can 总线),并且还具备数字量输出(灯条和蜂鸣器控制)和电源分配功能。
## 结构设计
## 上位机程序设计