上海海事大学 技术报告_第1页
上海海事大学 技术报告_第2页
上海海事大学 技术报告_第3页
上海海事大学 技术报告_第4页
上海海事大学 技术报告_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十四届全国大学生智能汽车竞赛技术报告第十四届“恩智浦”杯全国大学生智能汽车竞赛技术报告 学 校:上海海事大学 队伍名称:RetardedGardener 参赛队员:朱 熠 程 乐 闵启玄 杨达明 陈云帆 带队教师:王天真 虞 旦 第十四届全国大学生智能汽车竞赛技术报告摘要随着人工智能技术、机器视觉技术、全向移动平台的高速发展和应用,越来越多的智能技术被整合到智能运动平台上来解决的许多实际问题。本文针对第十四届全国大学生智能汽车竞赛对弈创意组的任务要求,设计了一个能全向移动又能完成自主对弈的全向对弈平台,该平台通过使用可全向移动的麦克纳姆轮来实现棋盘格之间的全向移动,采用恩智浦公司的 i.mx

2、6Q 四核微处理器来作为图像处理单元和智能博弈算法运算单元,采用 MK60DN512ZVLL10 单片机作为本平台的主控单元,在接受图像处理单元和智能博弈运算单元的图像识别结果及博弈指令之后,通过 CAN 总线与四个电调通信来驱动减速电机实现六自由度的全向移动,采用直流推杆电机的伸缩配合圆盘式电磁铁通断电,高效精准地吸取、放置棋子或障碍来实现平台的全向移动摆放搬移棋子以及智能对弈过程。该平台针对赛题要求的“八皇后”任务,通过 USB 高清摄像头模组利用计算机视觉库 OpenCV 在 i.mx6Q 开发板上进行的图像处理,结合在 OpenMV 平台上对AprilTag 码的识别处理来进行平台定位

3、以及对初始棋子位置的识别。运算单元先使用快速模拟退火算法筛选“八皇后”解,然后选用基于自适应冷却表的模拟退火算法为全向对弈平台规划最短移动路径,使得平台能在短时间内规划出比较好的最短路径,能高效完成八皇后任务。为了解决今年赛题中的自主对弈任务,本平台将“步步为营”游戏分为开局、前局、中局和终局,分别使用在当前上效率最高的博弈算法进行决策。开局时候直接调用定时库决策,前局使用由策略价值网络指导的蒙特卡洛树搜索算法决策,中局使用基于Alpha-Beta 剪枝的并行 MTD(f)算法进行决策,终局使用贪婪算法给出决策加速比赛进程。经过了大量测试,这种分的智能博弈算法针对不同优化问题发挥了四个算法的优

4、势,整体棋力较强,节省运算时间,算法效率比单独使用某一算法更高。 关键词:全向移动平台;机器视觉;模拟退火;智能博弈算法IIIAbstractWith the rapid development and application of artificial intelligence, machinevision and omnidirectional mobile platform, more and more intelligence technologies are integrated into the intelligent motion platform to solve actual

5、 problem. For the14thtask requirements of the Creative Group in theNXP Cup National UniversityStudents Intelligent Car Race, we have designed an omnidirectional chessing platform to finish the task. The platform realizes the omnidirectional movement in checkerboard by using McNamee wheel. The i.mx6Q

6、 are used as image processing unit and intelligent game algorithm unit. MK60DN512ZVLL10 is used as the master unit in our platform.to realize omnidirectional moving by the CAN bus and four gear motors, after receiving the image recognition results and operating instructions. The platform pick up and

7、 release device adopts DC telescopic motor and electromagnetic circuit to cut off electricity, and efficiently and accurately catch and place chess or obstacles to finish the game. For the eight queen task, we use OpenCV to process the image on the i.mx6Q through USB high-definition camera module, a

8、nd combines the AprilTag code recognition processed on the OpenMV to locate the platform and identify initial chess. In operation unit, we use Fast Simulate Anneal to select solution at first, then use Simulate Anneal with Cooling Schedule to plan the shortest way effectively. The platform divides t

9、he game into the beginning, the early game, the middle and the final, using the most efficient game algorithm in the current situation. Opening library is used at beginning, MCTS with policy value net in the early game, Parallel MTD(f) in the middle and the greedy algorithm in the final. Passing tes

10、t, this plan has played the advantages of four algorithms. It has strong ability, need lessoperation time and more efficient than one algorithm only.Keywords: Omnidirectional mobile platform;machine vision;Simulate Anneal;Intelligent game algorithm第十四届全国大学生智能汽车竞赛技术报告摘要3第一章总体设计方案1第二章机械结构设计32.1基于麦克纳姆轮

11、的底盘32.2吸放挡板的设计优化52.3动力系统62.4基于推杆的抓取装置设计7第三章硬件设计93.1K60 单片机最小系统模块设计103.2电源设计113.3驱动模块设计123.4基于 CAN 总线的无刷电机测控模块设计133.5外设接口143.6基于 IR7843 的电磁铁驱动电路16第四章图像识别与处理174.1视觉算法概要174.2视觉运算平台介绍174.2.1I.MX6Q+OpenCV174.2.2基于 I.MX.RT1062 的 OpenMV174.3基于张正友标定法和图像增强技术的图像预处理174.4棋局状态提取184.4.1基于 HSV 色彩空间及统计学方法的对象识别184.4

12、.2对弈阶段基于 AprilTag 码的平台定位224.5全向对弈平台运行时的图像处理方案24第五章全向对弈平台控制部分275.1平台控制概述275.2电机控制算法27V5.2.1CAN 通信报文格式275.2.2PID 控制算法275.2.3基于 PI 双闭环的电机控制29第六章算法测试上位机32第七章基于模拟退火算法的八皇后最短路径寻优357.1八皇后任务算法总设计357.2算法测试上位机377.3八皇后路径优化问题模型377.3.1约束条件377.3.2目标函数设计377.4基于自适应冷却表的模拟退火算法的最短路径优化387.4.1常用优化算法比较397.4.2新解产生方式设计397.4

13、.3模拟退火算法自适应冷却进度表设计407.4.4快速模拟退火算法417.4.5八皇后解预筛选417.5最短路径优化算法测试42第八章基于博弈树的分智能博弈算法设计438.1基于博弈树的分智能博弈算法总设计438.1.1总设计流程图438.2基于 Alpha-Beta 剪枝的并行 MTD(f)博弈算法448.2.1Alpha-Beta 剪枝算法448.2.2“步步为营”游戏局面评估的创新设计448.2.3A*算法488.3基于 Alpha-Beta 剪枝的并行 MTD(f)算法设计498.3.1置换表498.3.2Zobrist 哈希算法498.3.3期望窗口搜索51第十四届全国大学生智能汽车

14、竞赛技术报告8.3.4MTD(f)算法518.3.5迭代加深策略518.3.6MTD(f)算法并行优化518.3.7算法流程图528.4由策略价值网络指导的蒙特卡洛树搜索算法528.4.1节点统计信息538.4.2选择节点方案538.4.3策略价值网络创新设计538.4.4棋谱深度学习训练结合强化学习训练策略价值网络558.5分智能博弈算法568.6阴影搜索578.7分智能博弈算法测试58第九章车模技术参数说明61第一章总结6210.1平台创新性6210.2平台优势63致谢66参考文献67附录 程序源代码69VII第十四届全国大学生智能汽车邀请赛技术报告第一章 总体设计方案为了完成本次全国大学

15、生智能汽车竞赛对弈创意组所要求的八皇后任务及车模自主完成步步为营游戏的智能博弈任务。本文设计了一个全向对弈平台来完成上述两项任务。本平台主要由四个单元组成,分别为主控单元、图像处理单元、智能博弈运算单元和底盘驱动单元。图像处理单元和智能博弈单元将数据发送给主控单元,而主控单元将会和底盘驱动单元交换控制信息。下图是本平台四大单元组成图:图 1-1 全向对弈平台四大单元组成图本平台是使用 NXP 的i.mx6Q 四核处理器来作为平台运行时图像处理单元以及智能博弈算法运算单元,这两种单元是分时复用的,平台进场前进行博弈算法计算,平台进场后启用图像处理单元。本平台的图像处理单元主要是用USB 工业摄像

16、头采集图像,并在装有ubuntu 系统的i.mx6Q 开发板内使用基于OpenCV 开源库的图像识别程序来进行八皇后优化任务时平台运行时的定位和矫正。i.mx6Q 开发板会通过串口将图像识别结果发送给主控单片机,主要用于八皇后任务的定位和矫正。本平台的图像处理平台还使用 OpenMV 来进行对弈阶段平台的定位及矫正,并将数据通过串口发送给主控单元,使得主控单元能通过图像识别结果进行闭环控制。本平台的主控单元使用 NXP 的 MK60 芯片。该单元接受 i.mx6Q 和 OpenMV传来的图像识别结果,并采集姿态传感器的数据后进行姿态解算求出当前平台1第一章 总体设计方案的偏航角,当平台上的摄像

17、头看得见有用图像的时候使用图像偏差进行位置环控制,而摄像头看不见有用图像的时候使用姿态解算出的偏航角对平台进行位置闭环。主控单元通过 Can 总线与电调通信来控制电机转动,通过基于 PI 双闭环的控制算法实现麦克纳姆轮车模的全向移动控制,并通过 GPIO 模块驱动推杆和电磁铁实现吸放棋子和挡板的任务。下图是本平台的模块关系图:图 1-2 全向对弈平台模块关系图2第十四届全国大学生智能汽车邀请赛技术报告第二章 机械结构设计车辆机械结构为麦克纳姆轮(Mecanum wheel)驱动的机械底盘,搭载识别单元、抓取棋子单元、供电单元。实现由图像识别定位车辆,完成抓取棋子、吸放挡板的功能。基于车辆的功能

18、性,机械设计首先要考虑的是车辆移动的便捷、棋子障碍的吸放迅速、图像的视野广阔。图 2-1 底盘建模图2.1 基于麦克纳姆轮的底盘在空间有限的棋盘内,使用传统智能车的普通轮胎加舵机的移动会导致车辆姿态过多,为了更快地到达目标点,全向移动是不可或缺的功能。麦克纳姆轮结构紧凑,控制方案成熟,运动灵活,由 4 个这种新型现自由全方位移动。进行组合,可以实3第二章 机械结构设计 图 2-2 底盘尺寸图由于底盘没有成品,需要自行设计装配底盘。底盘以轻量,坚固为设计目标。所以连接件选用欧标 2020 角铝型材,连接装配上更加自由和灵活。图 2-3 2020 铝型材与其连接方式图板材综合考虑轻量性与坚固性,没

19、有选择价格相对低的铝材,而是选择价格相对较高,但韧性更好的 Thornel Mat VMA 板材。4第十四届全国大学生智能汽车邀请赛技术报告图 2-4 自行设计的底板图2.2 吸放挡板的设计优化为了实现对挡板和棋子的吸放,电磁铁是最实用的方式。最初放置挡板设计是将挡板竖向放在车身两侧,但这种设计一次只能放下一块挡板。改进设计后, 选择将挡板横向放置在车身两侧,车辆可以一次放下两块挡板,放置挡板时间减少一半,大大加快动作速度。图 2-5 可配合 2020 铝的电磁铁支架图5第二章 机械结构设计图 2-6 同时放置两块挡板示意图2.3 动力系统考虑到本平台需要频繁加减速,因此需要一个大扭矩,高效率

20、的电机。为了方便驱动设计,我们找到两款支持 CAN 通信的电机,CAN 总线可以实时读取电机转子位置等状态信息,集成度更高。结合以上两点,仅剩以下两款电机供选择:表 2-1 电机对比表电机型号持续最大扭矩空载转速重量价格M3508 减速电机3N*m482rpm365g400 元左右M2006 减速电机1N*m500rpm90g250 元左右考虑到平台重约10.1kg,1 N*m的电机扭矩足够,最终选择了效率极高的M2006 P36 直流无刷减速电机,最大持续扭矩 1N*m。经实验,该款电机运行稳定,长时间运行几乎不发热,很适合作为本平台的动力单元。6第十四届全国大学生智能汽车邀请赛技术报告图

21、2-7 电机实际安装图2.4 基于推杆的抓取装置设计常用的抓取装置有机械臂、推杆。机械臂是指高精度,多输入多输出系统。推杆是将电机的旋转运动由一对丝杆螺母转变为推杆的直线运动的装置。表 2-2 抓取装置对比表结构控制精度抓取速度成本稳定性方案一机械臂高较快高较高方案二直线推杆低快低高方案一:最初本平台选择运动灵活,自由度高,精度高的机械臂作为抓取装置,多用在精准的工业装配制造中,但本平台需要实现快速抓取,对抓取装置的精度没有过高要求。方案二:直线推杆相比机械臂,虽然精度低,但速度没有直线推杆快,对于抓放棋子直线推杆显然更合适。因此本平台选用速度更快的直线推杆作实现伸缩抓取。7第二章机械结构设计

22、图 2-8 推杆设计吸盘机构与棋子重量小于 300g,在推杆额定功率 20W 下,由于扭矩很小使得推杆的升降速度很快,而且由于推杆负载很小,工作电流只有 0.6A 左右,减轻了驱动电路的设计难度。为了更准确地吸取到棋子,吸盘需要安装在车身中心,由于推杆安装在车身侧面的铝条上,吸盘装置采用了不对称安装,用来补偿推杆的一侧安装。8第十四届全国大学生智能汽车邀请赛技术报告第三章 硬件设计本平台的硬件电路主要分为以下几个模块:电源管理模块、单片机核心处理模块、通信模块、驱动模块。在电路设计中,我们以稳定性为主要目的,尽可能考虑到使用中会出现的问题。设计电路时注重 PCB 板的布局,让电路的走线更加简明

23、,元器件排列整齐,方便使用。考虑到串口电路通信线以及其他通信线路的稳定和抗干扰能力。图 3-1 电路总原理图图 3-2 主控板实物图9第三章 硬件设计PCB 采用 4 层板设计,FR-4 TG130 板材,1oz 铜厚,避免静电干扰等因素影响电路正常工作。3.1 K60 单片机最小系统模块设计MK60DN512ZVLQ10 是 NXP 公司 K60 系列 MCU。Kinetis 系列微控制器是CortexM4 内核的芯片。K60 的内存可以拓展,最大1MB 的ROM、128KB 的RAM, 可以选择 16 KB 缓存以优化总线带宽和闪存执行性能。为了减少电路板体积, 将 K60 上用到的引脚引

24、出,如 PWM 引脚,ADC 引脚,普通 IO 接口。最小系统还包括时钟部分,去耦电容部分,复位部分。图 3-3 单片机最小系统原理图现在为 MCU 供电多使用 78L05,线性稳压产生的高频纹波小,适合用于单片机供电,TO-220 的封装可以输出到 1A 的电流,带载能力大。但 78L05 需要输入电压高于输出电压 3V 左右,电路损耗比较大。本平台使用 LM1117,此 LDO的稳定系数更高,最小稳定压差也只有 0.3V。该 LDO 最大输出电流为 500mA,性能足够 K60 使用。经实践,在 K60 上使用温升 10,提高单片机工作稳定性。10第十四届全国大学生智能汽车邀请赛技术报告图

25、 3-4 AMS1117-3.3 原理图3.2 电源设计本平台使用四个 M2006 减速无刷电机作为动力电机,电池电压直接接入电调,所以在电源设计上不用为电机设计驱动电路,减轻了电路设计压力。但车上四个无刷减速电机及其他众多用电设备,与四旋翼无人机的电源需求类似。因此系统选用 6S 航模锂电池,以保证本平台正常运行。本平台正常运行需要的电压分别有 12V、5V、3.3V。12V 给全桥 IC 供电。5V 主要给 CAN 总线控制芯片 TJA1050、摄像头供电,由于系统中 5V 电路功耗较大,所以我们使用开关电源 IC LM2596 供电,以提高带载能力。利用 LM2596-5.0 芯片将电压

26、从 24V 转换成 5V。虽然理论上开关稳压的纹波会比较大,但我们实际使用该款开关电源后发现,其输出纹波几乎可以忽略不计,图 3-6 为示波器测量 LM2596 输出电压。图 3-5 5V 产生电路原理图11第三章 硬件设计图 3-6 5V 纹波测试图3.3 驱动模块设计本平台使用直流推杆与电磁铁配合用于吸放棋子,因此需要直流电机驱动电路控制推杆。直流电机驱动芯片最常用的是 MC33886、BTS7970。但根据经验,MC33886 在带载较大情况下会发热严重,BTS7970 虽然带载能力更强,但驱动推杆电机依然会出现发热的现象,甚至会由于过热,触发自身的过热保护。综合考虑成本与稳定性,系统采

27、用栅极驱动芯片 HIP4082。在 MOSFET 的选择上,尽量选择低导通电阻的 MOSFET,因此系统选择 IR7843 NMOSFET,从而极大地减小回路的总电阻。HIP4082 栅极驱动芯片具有硬件死区、防同臂导通等功能,提高了电路工作的可靠性。实践表明,该驱动电路几乎无发热现象,极大地提高电路的效率及驱动能力。表 3-1驱动芯片对比型号单片价格发热量工作频率MC3388624.8 元最大10KHzBTS79709 元较大25KHzHIP408212.9 元小200KHz12第十四届全国大学生智能汽车邀请赛技术报告图 3-7 电机驱动电路原理图3.4 基于 CAN 总线的无刷电机测控模块

28、设计本平台使用的 M2006CAN 总线信号,动力系统中的电调控制输入信号为CAN 总线两根双绞导线分为 CAN_H、CAN_L,交流电的领域中,频率越高, 则容抗越小,感抗越大。在显性状态期间,总线的寄生电容会被充电,隐性状态时电容放电,因为 CANH 和 CANL 之间没有阻性负载,高速通信时恢复到隐性的时间会延长,选择合适的阻抗匹配电阻可以减小 CAN 信号通信过程中显隐性误判。图 3-8 未加末端电阻 CAN 信号的影响波形图13第三章 硬件设计图 3-9 加入末端电阻后的波形为了增强 CAN-bus 通讯的可靠性,经过计算在终端加入了标准阻抗匹配电阻 120R.嵌入式开发常用的转换芯

29、片有 TJA1050 和 MCP2562。最终选用更稳定的 NXP TJA1050。图 3-10 CAN 总线收发模块原理图3.5 外设接口串口接口是摄像头和主板与主控板之间的通讯接口,而陀螺仪能够时刻测量车辆角度并反馈给主控,使其能够时刻反馈自身的角度,和摄像头互相配合,一起矫正车辆姿态。14第十四届全国大学生智能汽车邀请赛技术报告图 3-11串口接口原理图液晶屏幕和按键配合使用,极大地提高了车辆调试效率,而 LED 和蜂鸣器均属于显示模块,然而两个的侧重点却是有所不同。LED 显示的内容更多,比较适合放在手边进行静态调试,但一旦车辆开始运动,它的信息就难以被获取。相对的,蜂鸣器发出的信息容

30、量非常少,而且容易被环境噪声干扰,但在车辆运动时,蜂鸣器发出的信息更易获取。将二者结合起来,调试会更加高效。图 3-12 外设原理图15第三章 硬件设计3.6 基于 IR7843 的电磁铁驱动电路为实现棋子、障碍块的捡起与放置功能。采用 lr7843 NMOS 控制电磁铁的开关。实现对棋子与障碍快的吸起与放下。为保护单片机,在驱动 MOS 前加入与门隔离。使用二极管为电磁铁关断后提供回路。如图为自行设计的电磁铁驱动电路。图 3-13电磁铁原理图16第十四届全国大学生智能汽车邀请赛技术报告第四章 图像识别与处理4.1 视觉算法概要基于今年对智能算法的要求,本平台使用的图像处理单元将对棋盘的全局进

31、行处理,以获取棋子和障碍的位置,供平台进行更高效的人工智能运算。进入棋盘后,本平台将通过 USB 高清模组摄像头与 OpenMV 摄像头进行视觉上的定位和棋子、障碍的检测。4.2 视觉运算平台介绍4.2.1I.MX6Q+OpenCV本平台选用了恩智浦的I.MX.6Q 开发板,并在开发板中安装了Ubuntu 系统, 为了在有限的算力中脱颖而出,我们选择使用 C+接口的 OpenCV,以提升视觉算法的运行效率。OpenCV,全称 Open Source Computer Vision Library,直译过来就是开源计算机视觉库,可以运行在 I.MX.6Q 的 Ubuntu 上,底层由一系列 C

32、函数和 C+类构成,运行效率高。由于 OpenCV 在 Python 接口下运行效率比较低,我们选用的C+接口的 OpenCV 进行处理。4.2.2基于 I.MX.RT1062 的 OpenMV在本次比赛的棋盘格场地带有 AprilTag 码, 在 OpenMV 平台上具有内置函数image.find_apriltags()能够从图像中识别多个AprilTag 码,返回 AprilTag 的ID、距离、旋度信息,从而使对弈平台能够精确定位。同时 OpenMV 也能识别红色挡板。4.3 基于张正友标定法和图像增强技术的图像预处理本平台选用 1080P 的工业摄像头,加装了广角镜头,使得摄像头能在

33、一定位置遍历全局。由于带广角镜头的摄像头,畸变很严重,桶形失真,所以在此使用了张正友标定法对摄像头进行了标定,导出了摄像头的内参矩阵,对摄像头17第四章 图像识别与处理进行实时的桶形失真的畸变校正。图 4-1 矫正示意图然后对图像进行高斯降噪,拉普拉斯锐化,再进行一次形态学的图像闭操作,使轮廓清晰化,便于进行边缘提取。4.4 棋局状态提取4.4.1基于HSV 色彩空间及统计学方法的对象识别针对八皇后任务和对弈阶段任务,采取了不同的图像处理策略。八皇后任务中八个皇后的初始位置是随机,且很有可能盖住大片的 AprilTag 码,所以通过AprilTag 码来进行定位皇后的位置的方案是不可行的。于是

34、在开局前我们会将车模放在合适的位置,利用广角镜对全局进行一次遍历,经过一系列处理后,得到棋盘上各个元素的信息,提取视角如下。18第十四届全国大学生智能汽车邀请赛技术报告图 4-2 轮廓提取及多边形逼近图用 OpenCV 对棋盘的整体轮廓进行一次提取,最后再筛选出最大的那个多边形轮廓,效果如图 4-2,通过算法提取出多边形轮廓的四个角点坐标,对大棋盘进行变换。变换的公式为:19第四章 图像识别与处理变换矩阵,得到的 XYZ 就是变换后原图像坐标左乘一个坐标系中的坐标值。角点提取结果如下。图 4-3 外轮廓角点提取示意图之后对变换后的小格子提取次级轮廓,进行分割切片,切片成 88=64个小方格图像

35、。将图像原有的 RGB 颜色空间转变为 HSV 颜色空间。HSV 其实是一种生活中常用的颜色系统,因为它更符合人们日常描述颜色的方式:什么颜色、颜色有多深、有多亮。和 RGB 颜色空间一样,HSV 分为三个通道:H(Hue)色相、S(Saturation)饱和度、V(Value)色调。20第十四届全国大学生智能汽车邀请赛技术报告图 4-4 HSV 颜色空间模型在 HSV 颜色空间中一个色相通道 H 就反应了图像的色彩信息。比赛任务要识别的障碍为红色,在色相通道中就是大概就是大于 0 小于 10,和大于 156 小于 180 的这个范围。对于颜色的处理,切片有64 张图片,每张图片有成百上千的像

36、素,对于Python 来说处理这么庞大的信息是很低效的,而本算法采用了 C+接口的 OpenCV 能够在指针层面访问图像的每一个像素,与传统的迭代器操作像素或者动态的地址计算相比速度快了整整 50 倍。在整个图像处理过程中多处运用这个技巧,在运算能力有限的处理器中极大的提升了程序运行效率。在此贴上部分运用指针访问像素的代码。图 4-5 HSV 色彩空间的像素处理代码图对比 64 个格子的红色多少,成功提取了皇后棋子的坐标,结果如下。21第四章图像识别与处理图 4-6 皇后棋子检测结果图在能够高效遍历全局信息的情况下,智能算法才能有发挥的最大余地。4.4.2对弈阶段基于 AprilTag 码的平

37、台定位由于在对弈阶段时本平台需要在从开局一直对弈至结尾,故对弈时本平台初始状态无法对全局棋盘有一个很好的视角。在此采用多个局部视角来形成全局棋盘信息的识别方法。22第十四届全国大学生智能汽车邀请赛技术报告图 4-7 对弈视角图图 4-8 提取 AprilTag 码和障碍位置效果图由于对弈时棋盘的最后一行,除非己方败的情况,不会有未知的棋子。并且能够遮挡 AprilTag 码的棋子最多只会有两个,且己方棋子永远是已知的。这时候就能够用 AprilTag 码进行准确的定位和对弈平台的校正。本平台使用了OpenMV 对 AprilTag 码进行了处理,返回码的 ID、旋度和距离信息。局部信息的获取,

38、我们采用 AprilTag 定位后,采集多个定点位置图像信息,通过霍夫变换检测斜率较大的竖线,分割棋盘,进行局部的变换。再处理局部变换图,使用霍夫变换的圆形检测方法检测棋子位置,使用分割图形后提取 HSV 颜色空间色彩分量的方法检测障碍位置。最后综合成整个棋局的全局信息,以供人工智能算法对棋局进行规划。23第四章图像识别与处理图 4-9 局部变换效果图图 4-10 局部后的圆形棋子检测4.5 全向对弈平台运行时的图像处理方案在跑位移动过程中,车身势必会发生歪斜,仅仅靠陀螺仪的角度闭环很容易出现陀螺仪的值飘忽不定的现象。所以我们在车的跑动中加入了图像的外部条件闭环。我们尝试了多种外部车身校正措施

39、。(1)基于概率霍夫变换的斜率校正 由于车身处于棋盘之中,车身前的那条横线是一个很好的校正尺度,使用OpenCV 的概率霍夫变换提取最近的那一条横线的斜率。霍夫变换(Hough Transform)是图像处理中一种经典的特征提取技术,它在一个参数空间中计算累计结果的局部最大值得到一个符合特定形状集合作为霍夫变换的结果。而概率24第十四届全国大学生智能汽车邀请赛技术报告霍夫变换(PPHT)是标准霍夫变换的一个改进,他在一定范围内依概率进行霍夫变换,从而减少计算量。虽然 OpenMV 也有霍夫变换功能但是由于提取跳动严重不适合闭环用。图 4-11 OpenCV 直线提取效果图(2)基于四元检测算法

40、的矩形角点校正在对弈过程中车身始终处在一个个棋盘格之间,棋盘格就是个很好的尺度。OpenMV 有内置的通过四元检测法检测矩形的函数,经过试验 OpenMV 提取矩形框的效果远远好于 OpenMV 提取最近直线。OpenMV 在提取矩形格的同时能够获取四个角点的信息,根据前方唯一矩形的角点信息,能够较为准确的校正车身。图 4-12 矩形角点提取效果图25第四章 图像识别与处理(3)基于 AprilTag 码的旋度校正闭环AprilTag 码能返回摄像头与AprilTag 码坐标系的三个轴的旋度信息和距离信息。能够进行很好的车身角度校正和车身位置判断。图 4-13 AprilTag 码的旋度检测效

41、果图26第十四届全国大学生智能汽车邀请赛技术报告第五章 全向对弈平台控制部分5.1 平台控制概述本平台动力系统包括 4 对C610 无刷电机调速器和M2006 P36 直流无刷减速电机,本控制使用 CAN 总线实现单片机与 C610 电调之间的通信,通过电流双闭环对 M2006 电机进行精确控制。本设计基于 K60 主控芯片,重新编写了整套CAN 通信发送接收程序和闭环控制程序,使得底盘控制更加稳定、快捷。5.2 电机控制算法5.2.1CAN 通信报文格式(1) 电调接收报文格式向电调发送控制指令控制电调的电流输出,标识符 0200 各自对应控制 4 个 ID 的电调。控制转矩电流值范围为10

42、000010000,对应电调输出的转矩电流范围10010A。向电调发送数据时,按照每个电调 ID 对应的控制电流高八位与低八位的格式发送。(2) 电调发送报文格式电调向总线发送反馈报文,分别以每个电调 ID 为标识符发送对应电机的反馈转子机械角度、转速和转矩,实际应用中,本平台不做机械角度闭环,转矩值也很不稳定,所以实际只接受转速。5.2.2PID 控制算法PID 控制通过使用测量值与输入值做差来获得每一次的偏差,对偏差进行比例放大、积分、微分操作后进行叠加之后获得对平台的控制量。比例调节作用(Kp):当平台实时测得的速度与设定速度出现偏差时,可以设置一定的比例系数,让电机迅速调整回来。但是比

43、例系数需要调整到一个合适的范围,若比例系数过大则会出现超调使车完全失控的现象。积分调节作用(Ki):用于消除系统的稳态误差,提高控制精度当系统出现27第五章 全向对弈平台控制部分较小误差,积分调节作用比较明显。但也会是系统稳定性变差。微分调节作用(Kd):能够提前预判误差的出现,快速把误差消除。用来消除比例和积分调节出现超调,让系统稳定。图 5-1 PID 控制流程图(1)位置式 PID 算法位置式 PID 算法公式如下:e(k) = r(k) - c(k)() = () + () +() ( 1)=0位置式 PID 使用测量值与输入值做差来获得当前偏差,通过上面的公式对图像进行闭环控制。输出

44、与过去的状态有关,累加了每一次的误差,因此位置式的累计误差会比较大,有可能导致系统不稳定。(2)增量式 PID 算法增量式 PID 公式如下:Du (k ) = u (k ) - u (k -1) = KPDe (k ) + Kie (k ) + Kd De (k ) - De (k -1)De (k ) = e (k ) - e (k -1)28第十四届全国大学生智能汽车邀请赛技术报告增量式 PID 输出控制量的增量,并无积分作用,因此系统会比较稳定。算式不需要累加,因此可以比较容易地通过加权处理而获得比较好的控制效果。但是缺点是静态误差比较大,也比较不容易调参。本平台的控制算法优越性在于改

45、进了纯位置式或增量式 PID 算法,弥补了位置式 PID 中控制不稳定和增量式 PID 中调参较为困难的缺陷。另外还设计了基于PID 控制算法的多种改进控制模式,多种控制模式可以自由切换,能使系统控制自由度更高。5.2.3基于PI 双闭环的电机控制平时大家使用的直流电机控制方式单一,往往是直接控制电压来控制转速,但是这样并不能很好的控制电机,尤其是麦克纳姆轮,阻力大冲击多,无法达到理想的电流动态波形,因此本平台设计了双闭环控制系统来控制四个电机。图 5-2 理想的快速启动过程理想启动过程启动电流呈方波形状,转速按线性增长,这是在最大电流受限制时调速系统所能获得的最快启动过程。29第五章 全向对

46、弈平台控制部分图 5-3 双闭环控制过程结构图为了实现在允许条件下的最快启动,关键是在启动时获得较大电流,稳定运行时用平稳的电流来控制以达到快速启动、平稳运行的目的。因此采用转速、电流串级 PI 双闭环直流调速系统。实际启动转速与电流波形如下:图 5-4 实际启动转速与电流波形图本平台需要通过 PI 参数整定来使实际曲线贴近这一理想线,由于 PI 控制特性,速度必然是超调的,需要合理调控超调量,在实际测试中发现合理的超调量有利于电机控制。30第十四届全国大学生智能汽车邀请赛技术报告31第六章 算法测试上位机第六章 算法测试上位机本平台设计了一套用于测试本文所用算法的上位机测试平台。该平台使用了

47、 Visual C#编写算法测试上位机,其包括了开始界面、八皇后仿真算法测试、“步步为营”智能博弈算法测试平台、调试助手与优化算法性能测试图表。图 6-1 算法测试上位机开始界面图 6-2 算法测试上位机八皇后仿真界面截图32第十四届全国大学生智能汽车邀请赛技术报告图 6-3算法测试上位机调试助手界面图 6-4调试助手优化算法性能测试图33第六章算法测试上位机图 6-5算法测试上位机单人游戏界面图 6-6 算法测试上位机单人游戏运行状态截图34第十四届全国大学生智能汽车邀请赛技术报告第七章 基于模拟退火算法的八皇后最短路径寻优7.1 八皇后任务算法总设计根据比赛要求在 88 的棋盘上,任意摆放

48、八个棋子或挡板,本全向对弈平台需要在棋盘上识别出棋子位置并将棋子重新摆放,使其能够满足八皇后问题约束,即任意两个棋子都不能处于同一横行、纵行或斜线上。图 7-1 比赛棋盘对于比赛所要解决的八皇后任务而言,最核心的问题就是如何让平台用更短的时间来完成八皇后任务,在平台的机械硬件确定的情况下,只能通过程序寻找平台完成任务的最短路径来让平台沿着该最短路径走,这样就能使平台更快地完成八皇后任务。在棋子位置已知,八皇后解的位置已知的情况下,该最短路径优化问题就是一个带约束的 TSP(旅行商)问题。根据八皇后规则,用回溯算法能生成八皇后的完整 92 组解。而八皇后的路径优化问题可以被分解为 92 个 16

49、 节点的带约束的 TSP 问题,最终再选择 92 个TSP 问题解的最优解作为最终的最短路径。本平台的路径优化算法的总体方案是,先根据当前棋子位置和八皇后解位置的重合数量m,从 92 组解中选取重合数量最多的解来进行下一步的细致的优化。35第七章 基于模拟退火算法的八皇后最短路径寻优这样做是由于通过大量的测试之后发现位置重合数越多,最终的优化结果越好。经过了上述的操作之后如果筛选出来的八皇后解的数量大于 12 个,将用快速模拟退火(FSA)算法先选出最有可能能有最好解的 12 组八皇后解法。再对前面筛选出来的每组八皇后解和当前的棋子列表用模拟退火(SA)算法细致优化出最短路径,最终选取这几组解

50、中的最短路径作为最终的最短路径。该任务算法方案流程图如下:选出的八皇后解数量大于12NY棋子位置与八皇后解位置最大重合数大于等于10N图 7-2八皇后最短路径优化问题算法总流程图36将最短路径发给主控选取最短路径使用模拟退火算法四核并行优化根据最大重合数自适应配却表参数 Y使用穷举算法四核并行优化置冷用快速模拟退火算法在四核处理器上并行运算,选出结果最好的12组解根据棋子位置与所有92组八皇后解位置的重合数,选出所有重合数最大的八皇后解第十四届全国大学生智能汽车邀请赛技术报告7.2 算法测试上位机7.3 八皇后路径优化问题模型本八皇后路径优化问题,与经典的旅行商问题很像,但是有所差异。该问题是

51、在经典 TSP 问题的基础上增加了几条约束条件,还遵循不去搬移已经在八皇后解位置上的棋子的原则,因此该问题并不是 16 规模的 TSP 问题,而是根据棋子位置和八皇后解位置的重合数 m 的16-2m 规模的 TSP 问题。7.3.1约束条件本八皇后路径优化问题是在经典的 TSP 问题上增加了几条根据平台实际运行状态的约束条件后形成的一种新的组合优化问题。在经典 TSP 问题基础上,本任务还应满足的约束条件如下;(1)棋子位置和八皇后解位置不重合,重合的棋子和八皇后解位置不算在路径优化中。(2)平台走向棋子之后由于要进行吸取操作,然后要放到相应的八皇后解位置,因此在路径中,棋子目标的下一个目标必

52、须是一个八皇后解的位置。7.3.2目标函数设计本任务是个组合优化问题,每个组合优化问题都需要一个优化目标。本任务的优化目标是平台移动的总路径最短。在此定义平台从点(xi , yi ) 到点(xj , y j ) 的距离为di, j ,那么平台移动的总路径即为所有两点间移动距离的和,而由于本系统需要从场移动距离也要加上入场距离d0 。介于上述考虑,本优化任务的目标函数 D 为:场,因此总路径的16-2m-1D = d0 +di,i+1i=1d0 = minx1, y1其中 m 为棋子位置与八皇后解位置重合的数量。37第七章 基于模拟退火算法的八皇后最短路径寻优而本优化任务的优化目标则为:minD

53、对于两点间距离的定义,即点(xi , yi ) 到点(xj , y j ) 的距离di, j 的计算方式,一般有下表的几种方案:表 7-1两点间距离方案表距离方案距离公式欧几里德距离,= (xj xi)2 + (yj yi)2曼哈顿距离,= |xj xi| + |yj yi|切比雪夫距离nlim ( |x1i x2i|k)1/kki=1对比三种路径,我们选择第三种,即走国际象棋中王的路径。可以实现车辆少减速且路径最短的目标。7.4 基于自适应冷却表的模拟退火算法的最短路径优化本平台所使用的是最短路径优化算法是基于模拟退火算法(Simulated Annealing,SA)改进的一种基于自适应冷却表设计的模拟退火算法,在传统的模拟退火的基础上根据八皇后任务要求设计了模拟退火算法的冷却进度表(Cooling Schedule),使其能根据现场优化问题自适应调整冷却进度表参数。对于模拟退火算法中新解的产生方法本平台也进行了相关的设计,使得传统的模拟退火算法能够很好地适应本任务的优化问题。本平台还使用快速模拟退火算法(Fas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论