编程“三字诀”

2019-09-11 09:46山东省临沂市第十九中学徐书晗
发明与创新 2019年34期
关键词:三字诀子程序马达

■山东省临沂市第十九中学 徐书晗

我在第18届山东省青少年机器人竞赛中获得了机器人综合技能项目的冠军,并作为该项目山东省的唯一代表参加了全国大赛,最终获得二等奖。

要想在机器人综合技能大赛中取得优异的成绩,出色的编程能力必不可少。以下是我的一些“秘诀”。

“熟”字当先

很多人认为,要让机器人灵活地前进、后退、左转或右转,只要在编程软件中输入相应的代码就可以了。事实上,机器人编程非常考验编程者对机器人以及程序的熟悉度。

比如,综合技能中有一项放乒乓球的任务,机器人需脱线后用马达控制前进的距离。问题来了:机器人马达要用怎样的速度才能更准、更快地完成任务?如果机器人的两个马达运行速度不一样,编程时要如何设置速度差才能使两个马达实际运行时速度一样?

如果不熟悉机器人的性能,比赛时就只能一点一点编程、调试,而且程序还不一定写得好。机器人调试不好,编程时间被大量耗费,最终成绩自然不会太理想。因此,只有熟悉机器人的性能才能在赛场上灵活贯通,准确、迅速地编写最适合机器人性能的程序。

再比如,机器人完成所有任务所用的程序中,有时要求机器人转弯必须转正,以更好地完成后面的任务,所以比赛时一定要保证马达转弯的精确度,当发现机器人转弯角度偏小或偏大时要微调转弯的子程序。可如果编程者对整套程序不熟悉,只知道这个模块可以转弯却不知道如何修改模块后面的子程序,机器人的运行就难以精准。

所以,无论是综合技能还是其他需要编程的项目,编程者要对机器人以及程序非常熟悉,“熟”是编程者取胜的最基本的条件。

“稳”字把关

对机器人及程序十分熟悉后,我们要追求机器人运行时的“稳”。机器人的独特魅力在于它的不稳定性,同一个程序、同一个机器人在同一种环境中运行,第一次成功后一定要试第二次、第三次,因为有可能每一次的结果都不一样。

如何提高机器人运行的稳定性?一是完善硬件,比如经常擦轮子或根据情况改造机器人。二是从编程角度,多试、多练、多修改,最大可能地排除因程序问题造成的机器人运行不稳定。

徐书晗在第18届山东省青少年机器人竞赛中现场编程

参加全国大赛之前的一段时间,我每天都会练习。第一天我只编写了一个循迹板循一个七路口的程序就直接走完了一个板块,并且试了几次都很成功。但是第二天,有一两次机器人循线后车头的方向是歪的,这就导致之后机器人马达走线都会走歪,所以必须修改程序。我把以前的路口循线改成了慢速时间模块循线,使每次循线后机器人的方向都一样,最后用马达转正,以此保证机器人运行的稳定性。

“技”字决胜

这里的“技”并不是技术,而是技巧。我总结了两个技巧:一是建立子程序。综合技能是完成几个任务,每个任务的走线可能不同,但做某个任务时机器人各个伺服、马达运行的角度、速度、先后顺序等都一样。因此,可提前编好每个任务的程序,再把这些任务做成子程序,每次用到时直接提取并简单微调,既节省时间又准确。

二是根据情况灵活变通。比如我编程时会编写两个程序,一个求稳一个求快,根据其他选手机器人的运行情况以及自己机器人的总体发挥情况灵活选择。

再比如,我会利用比赛中重试的规则编写两三个程序,有的只做第二个任务,有的只做第三个任务,机器人第一个任务失败后,重试时我就启动机器人只做第二个任务的程序,这样能节省时间,完成更多任务。

运用这些技巧,在棋逢对手时就会比对方有更大的把握取胜。因此,伯仲之间,“技”字决胜。

徐书晗在第二十届全国中小学电脑制作活动现场

猜你喜欢
三字诀子程序马达
“马达”外公
念好“三字诀” 党建引领促发展
阜宁紧扣“三字诀”确保入额遴选公平公正
枰中侠侣
马达螺纹水壶后盖注塑模具设计
看、摇、品选酱油“三字诀”
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
简化编程与子程序嵌套的应用