页面标题
GitHub Gitee

松山湖&前卫南区之行——二代象棋机器人的二三事

标题里“前卫南区”指的是吉林大学的一个校区,至于松山湖......应该不用笔者多说吧
因为学校各种各样的事情(包括但不限于毕设、选课、应酬......),之前说好的这篇随笔直到现在才写完,感觉今年不少事情恐怕都得往后推了......

前阵子的那篇年终总结里提到了二代象棋机器人的事情,这里就稍微展开说说吧。

1. 前言

要说这套设备有什么需要改进的呢———几乎到处都可以改进。”这是笔者之前对一代象棋机器人的评价。当然了,要改进这台象棋机器人的想法可不是那时候才有的,在一年半前的比赛结束之后,笔者就在想什么时候能大幅度改进一下这台“绿皮科技”了。说是改进,其实跟从头再来没啥区别当然,后来又发生了各种各样的事情。在各种机缘巧合之下,笔者买了一块 Hi3519DV500 开发板模组,并接触了各类驱动和第三方库的移植,Cmake 构建工具的使用,也稍微学了一下一些主流的视觉识别技术框架(比如 Ultralytics)......然后来到 2025 年,就是你们看到的二代象棋机器人了。

毕竟也算笔者在本科阶段毕业前的最后一舞了,哪怕不考虑拿奖的因素,也希望能够有始有终吧。
这次参加的比赛一个是华为嵌入式软件大赛,还有一个是物联网设计竞赛算是二进宫了)。

为什么不管物联网设计竞赛叫华为杯了?因为25年华子不赞助了

004

这张图是调试时候拍的,说句良心话,仅外观而言并没有比上一代干净利落到哪去,不过运行效果其实还凑合(最起码跟上一代比好了不少)
这次也有录制当时的一些运行视频,找个时间看看要不要放到B站或者微信视频号......
项目的代码仓库在笔者的码云上也能找到:https://gitee.com/Mr_tsura/hisilicon-chess-robot

2. 都改进了什么

关于二代象棋机器人,最重要的地方在于硬件方面的各种大换血,一方面是力求尽可能解决一代象棋机器人的各种痛点,另一方面也希望尽可能地凑齐前一年因为各种原因没能实现的功能。

比如视觉识别部分直接弃用原有的 OpenCV+Resnet18 方案(CPU 性能较弱的 SoC 跑 OpenCV 其实非常吃力),改用了 YOLO-v5m 视觉识别模型。硬件上也从原先的 Hi3516DV300 改为 Hi3519DV500,NPU 算力部分直接由原来的 1Tops@INT8 跃升到 2.5Tops@INT8 的水准(当然,跟 RK3588 或者英伟达 Jetson 之类的相比还是远远不够看就是了),同时也支持了 Onnx 模型。可以一定程度上和之前的老掉牙的 Caffe 1.0 说再见了还另外加装了 LM386、扬声器和麦克风,用来做语音播报和语音提示、复盘分析功能。

控制部分则直接弃用原来的六轴机械臂方案(主要是原先的舵机质量太差劲了,抓取非常不稳定),改用三轴滑台加气泵抓取的结构。主控则采用了 STM32。

云端部分的话,象棋引擎部分没有变化,不过为了适配新加入的语音播报和语音提示、复盘分析功能,还是加入了讯飞的语音识别/语音合成 API,以及华为云的 Deepseek API。

01

为了让读者朋友们有个稍微清晰点的认识,这里简单画了一张系统的结构图

3. 准备工作

相比起上一代象棋机器人,这一代很多工作量都集中在各种前期的准备工作上。之前使用现成的套件,很多东西都有例程,但是这次不一样————笔者只能依靠海思提供的原生 SDK 和数据手册来开发,并且拜卖开发板的商家所赐,很多东西都需要自己定制————比如 Curl、Openssl 这些三方库,还有各种驱动的移植、BSP 的配置等等。不过好在这些准备工作在 2025 年初就准备了七七八八了。项目的工程文件也过度到了稍微现代一点的 Cmake 形式。至于业务代码部分,因为 Vibe Coding 技术的成熟化,成功的节省了一些重复造轮子的时间(虽然到后面时间依旧很紧就是了)。

就像年初那篇随笔说的,以我们当时的技术和资金两方面来说,基本已经做到极限了。

tb_image_share_1750998175316.jpg

随便贴一张当初买的开发板的网图吧,Hi3519DV500 的开发板

4. 比赛

首先是华为嵌入式软件大赛,现在回忆起来简直可以说是奇遇了。

顺利通过初赛之后,我们就在着手准备复赛。复赛(京津东北的区域赛)的形式居然是线上+双机位!作为一个偏实物演示类的比赛来说我们还是头一回见。当然了,能节省差旅费和时间也未尝不是一件好事。但更奇葩的是,比赛除了传统的 PPT 答辩和实物演示之外,还设置了“极限挑战”环节,有一种锻刀大赛的味道。
什么是“极限挑战”环节呢?就是在上午的答辩之后,评委们会基于答辩情况对不同队伍的作品提出不同的新需求(一个队伍3个新需求),选手们要在下午规定的时间内尽可能完成所有的新需求,并进行演示(评委还会要求看源码,这个和以往其他的比赛全都不一样)。

首先是上午的答辩环节,当时和我们同一批答辩的还有另外两支队伍,一个是香橙派+工业机械臂搞 AI 实体作画的,还有一个记不住了(好像是什么农业采摘相关的,只记得是北邮的队伍,还上了一篇CCF-B)。毕竟我们这边b格多少有点不太够,当时笔者就感觉心凉了半截(悲)。

但是谁也没想到下午居然还真靠极限挑战翻盘了(喜),还是在队友们当时全都有事抽不开身的状态下(大多都在外地准备预推免夏令营)。具体的需求已经不大能记得了,总之是完成了两个,其中一个是部分实现悔棋的功能。

Screenshot_2025-07-19-19-54-25-537_com.tencent.mm

成功晋级之后就是8月份总决赛的终极对决,不得不说华子还是有钱,来回路费和住宿全包,住宿是在松山湖基地附近的某四星级酒店。

虽说复赛是成功晋级了,但是最后的结果我们当时心里都没底————毕竟决赛是全国各地的各路大神齐聚一堂。而且还有终极挑战————评委们基于复赛的情况,继续对不同作品提出对应新的需求(这次一个队伍要完成5个新需求),不过好在当时距决赛还有一周时间,最后好歹还是勉强完成了差不多一半吧(具体的需求已经不大能记得了,好像有完整悔棋功能、多种棋盘棋子的泛化识别之类的)。然而,我们还是多少有点低估了决赛的含金量。

决赛场地是在华子松山湖的欧洲小镇,再一次让我们几个学生认识到了华子恐怖的钞能力。

Screenshot_2025-08-02-21-33-54-207_com.android.em

这张是导览图,接下来放几张当时拍的照片吧,受摄像技术有限,拍的不咋地,凑合看吧

IMG_20250802_093547

IMG_20250802_145613

IMG_20250802_154719

IMG_20250802_153427

IMG_20250802_153934

IMG_20250802_154719

接下来是比赛现场的图

IMG_20250802_093930

IMG_20250802_103144

IMG_20250802_103153

IMG_20250801_163302

说回到决赛现场吧,首先,不得不说,华子的评委是我目前参加这些比赛里专业程度最高的那一档了,怎么说呢,就是“你明知道对方在挑毛病,你还没法反驳啥,因为人家说的确实有道理” (反观有些比赛的评委,哪怕不是 PPT 大赛也很够呛,据说去年嵌赛 FPGA 赛道就出事了),而且,决赛的评委也同样沿袭了复赛评委看代码的传统————笔者当时写的“史山代码”还被评委狠狠吐槽了————虽然确实也有赶工期的因素在吧。

其次,现场简直纯纯“神仙打架”,有在国产 FPGA 芯片上部署 YOLO 的(具体性能指标忘了,但是速度挺快的),有搞外骨骼的————只能说完全被碾压了。

比赛最后就这么结束了,不过能去东莞/深圳玩一圈还是挺值的,而且也不算一无所获,至少也算见了世面(主要是有奖金拿)。

huawei

比赛结束第二天回大连的航班延误了,借着这个机会稍微逛了下深圳,只能说不愧是奇迹之城......

松山湖结束了,该聊聊前卫南区之行了,不过这部分内容其实并不算多。
之前在华子嵌入式软件大赛的时候基本上是把能做到的都做了,所以物联网大赛这一块也没啥好改的了,但是途中发生了一件事......

相比起华子的比赛,物联网大赛明显让人感到松弛很多,可能因为评委大多是高校教师而非企业工程师的缘故吧。

比赛是在吉大的前卫南区举办的,这里不得不说长春早晚温差是真特么大。

IMG_20250819_124104

IMG_20250817_153544

但是,就在我们将设备搬到现场进行调试的时候,两个意想不到的意外发生了————一个是三轴滑台的金属部分有生锈的痕迹,另一个是气泵彻底挂掉了。
三轴滑台至少还不影响基本的运行(虽然准度会多少有点影响),后者是真的一点办法没有。而且,笔者并不熟悉气泵的工作状态————控制部分一直是由L队友负责调试的,但是他当时不在现场。

结果就是只能草草地简单演示一下,拿了个省一后就铩羽而归了(没进国赛)————PPT 答辩的时候,评委还对我们的设备比较感兴趣————这可能也是最后没有沦落到省二的原因吧。

5. 总结

说实在的,这次做二代象棋机器人的初衷就是能给自己本科搞嵌入式的这几年经历尽量画上一个完美的句号(不出意外的话应该不会再有第三代了),话虽如此,其实整套设备还是有不少可以改进的地方(比如运行的鲁棒性、操作界面之类的),只不过笔者那时候确实没有精力再去完成这件事了,所以就这样吧。

当然了,真要说起来的话,笔者这几年还是有不少想做/想学的东西,结果因为各种各样的缘故而一直拖到现在(其中有些各位读者朋友们已经在年初的2025年终总结里看过了),仅就目前来看,有些东西恐怕要等到毕业之后再开始实施了......没能在毕业前全都完成也算是一种遗憾吧。

好在以后的时间还很长,就这样慢慢做下去吧。

另外,这里特别感谢队友Y、队友S和队友L的鼎力支持,尤其是三位队友在暑期期间还要顶着各种预推免夏令营的压力之余,来抽空帮忙。

IMG_20250804_201655

posted @ 2026-03-19 09:59  Wintoki  阅读(0)  评论(0)    收藏  举报