电赛备赛的一些思考
电赛备赛的一些思考
首先,电赛是能让你提前认识到社会险恶的一个好机会。有两个重点。第一个是,用钱能买来任何东西,有钱很多东西都会容易的多。第二点是,真正的硬实力,技术能力,是非常昂贵的,是降维打击的。
1. 关于选队员
这也许是最重要的一点。很多人都没有意识到其实开始就决定了结果。一开始你所选择的队友的特征实际上决定了之后你们每一步的走势,以及最后的结果。
我认为有两个方面最重要的特征。第一个最重要的特征就是,一定要负责,情绪稳定。这是一个非常重要的点。不要选择那些你不深入了解的人。在大学里面人和人之间的联系并不那么紧密,很多时候你并不了解一些人他们的真实情绪波动。一旦你的队友在巅峰赛期间出现了大的情绪波动,或者出现了不负责的状况,那么整个团队进度将会以指数级拉垮,形成连带效应。整个团队将会因为这一件事情焦头烂额,无法专心,学习每一个人的情绪和学习效率都会大幅下降。总之,至少你的每一个队员,都要在商量好的时间内出场,在规定的时间内完成任务。这是刚性要求。
第二个方面的要求就是这个队友最好有解决问题的能力。电赛并不是一个和学习强相关的,而是一个和动手能力强相关的事情,和规划能力,理解能力强相关的事情。不要去选择那些没有学习能力或者摆烂的人。选择那些精神饱满,奋发上进的人。这非常简单容易理解。
2. 关于人工智能编程
在现在,人工智能编程已经是竞赛的一个不可或缺的部分。如何用好人工智能相关的工具已经成为了一种极其重要的能力。有以下几个要点。
第一点是在电赛之前要团队确定一个最熟悉好用的AI工具。比如说cursor或者trea,需要长时间的与模型进行磨合,熟悉好这个模型的优点缺点,在日常使用中会出现哪些问题。
第二点是准备好你的提示词。这一点又必须要强调一些AI的特性。
首先,第一点是嵌入式编程的特点导致需要对应的AI提示词。在电赛中,尤其是控制类题目需要大量的嵌入式编程,而嵌入式编程是一个和硬件强相关的编程方向。代码的基础并不是统一的,而是有着大量的适配性模块。比如引脚的配置,初始化,文件和库的适配,板子类型的适配等等。而AI编程出的结果很有可能没有注意到这些而导致无法运行。你需要准备好你的提示词来让AI注意到这些部分,保证程序的适配性。
第二点是关于AI编程的特点。AI编程会涉及大量的冗余程序。而你则需要让AI的程序用最简单的方式达到结果。
第3点是学会使用调试。这一定要当面拎出来强调,因为AI在写调试代码的时候极度好用。准备好为每一个部分进行功能测试的代码,将会极大的加速你debug的速度。这一点是极度实用的。
第3点则是学会与AI共处的流程。
在学习的阶段,使用AI就可以非常快速提高电子学习的效率。对于电子设计大赛,尤其是控制类赛道,你需要了解非常多的知识,但是每一样都不需要你去了解底层知识,而是需要知道它的应用知识。而这一点就非常适合用AI进行学习和讲解。首先你需要让AI告诉你知识框架,你都需要学哪些知识,然后让AI具体给你讲每一个知识的原理是什么?在电赛中会有什么作用?使用的示例代码是什么?然后遇到不会的点就深入的提问。这将会极大提升你的学习效率。我的意思是你甚至只需要一天就可以掌握电赛中你需要了解的单片机的所有必要知识。这是几何级别的。
然后就是在生成代码的阶段。这里强调几个要点:
- 你很容易迷失在与AI编程进行互动的过程中,当你在阅读他的代码,阅读他的逻辑的时候,你有很可能会丧失自己对于程序的把控能力,而这一点是最重要的,使用AI编程你必须要有更强的对于程序整体你正在做什么,以及你做的东西会有什么成果的认知。
- 在提问的时候,使用优秀的交流方式。这里的要点在于:
-
- 描述清晰,比如一个函数的输入是什么?输出是什么?处理过程是什么?实现什么样的功能?
-
- 范围明确。告诉他你需要修改哪些部分的代码。你可不想看见AI改动了一些你没注意到的代码。
-
- 创建你的提示词模板。
然后在测试阶段上面已经提到你可以使用AI来创建测试代码,并且快速的反馈找出错误然后重新修改。
- 创建你的提示词模板。
-
3. 关于计划
如果你是一个团队的核心成员或者组长,你将决定这场比赛的胜利。有很多可以计划的事情。
- 你们在什么时间需要去做什么。你的时间进程规划,将决定了你们整体电赛的进度,成员信心等等。
- 各种各样方案的选择。很多时候解决方案有很多种,无论是购买设备还是整个题目的解决逻辑,无论如何你都必须果敢的做出选择,并且承担责任。 各种各样的设备都会有各种各样的优点和缺点,作为组长你也需要理解这些。
4. 关于一些硬件选型
首先是相机部分。树莓派的使用非常复杂。涉及到很多你没有想过的问题,比如说开机自启动程序。K230和K210实际上就是国产仿制的open MV。但是实际上k230性能更强的多。后面会说到,实际上二者的使用几乎一致。除了sipeed。
首推当然是K230。这里个人的经验干货来了。K230的处理性能是最高的。不同厂家出的K230,他们使用的东西是不一样的。目前主要的两种方案是cam mv和maxi cam 。前者的拓展性更好,但是在跑AI模型上较为复杂,生态并不是特别好用。
后者则拓展性不是很好,但是代码极致的简单,生态极致的好用,使用体验极好,开发流程极快,非常容易训练自己的模型。自带一个可以调焦距的摄像头。
要注意的是,他们两个的代码并不完全一致。前者所使用的库基本上是移植openmv。后者所使用的库几乎完全是自己写的。
5. 关于心态
其实人们都很喜欢学习大量的新东西。人们讨厌的是止步不前,焦虑不安。比如遇到bug死磕一天都无法解决。比如配环境死活出问题。这都是经常发生在新手身上的。如果遇到这样的问题,最好停下来,搜集资料,从别人那里找到解决问题的方法。这不仅会使你茅塞顿开,心情好很多,也会在实际上提升开发和学习的效率。
遇到问题别死磕,你总能想到别的办法!
更多推荐
所有评论(0)