小学虚拟机器人程序设计的优化策略

2017-07-03 08:27黄吕庆
新课程·小学 2017年5期
关键词:程序设计优化

摘 要:怎样在最短的时间内让纳英特虚拟机器人从起点巡线到任务区(目标点),机器人社团师生前后经过多次多角度的优化。记录了为完成该任务多次多角度的优化过程,对优化过程中发现的问题进行思考和分析,探讨了如何从分析任务特点入手,选择符合任务特点的传感器,合理运用编程策略及参数设置来更好地完成任务,从而取得更好的比赛成绩。

关键词:纳英特虚拟机器人;程序设计;优化

虚拟机器人教学有利于发展创新思维,促进学生信息技术核心素养的发展,为学生将来的全面发展奠定坚实的基础。在纳英特虚拟机器人社团活动中,看似简单任务的一次次优化,不仅提高了比赛成绩,更对培养学生创新意识、创新思维有着非常突出的效果。下面就以纳因特虚拟机器人的一个简单任务优化过程为例,介绍小学虚拟机器人程序设计的优化策略。

一、任务介绍及任务要求

让机器人从起点出发,在最短的时间内巡横线到达“装载货物”任务区(目标点)停下。纳英特虚拟机器人程序中不允许使用时间法或者类似时间法来行走,可使用红外避障传感器检测障碍,灰度传感器控制轨迹,指南针传感器来转弯(如图1所示)。

二、优化过程

(一)优化前

1.机器人配置

除了控制器和轮子,只在左右两侧各设置一个灰度传感器(以下称“左灰度传感器”“右灰度传感器”)。

2.程序设计及说明

分四步完成任务:

(1)离开出发区。调用左灰度传感器,如果左灰度传感器没有检测到黑线,左轮低速,右轮高速离开出发区(如图2所示)。

(2)巡线到竖线1。机器人离开出发区,左灰度传感器检测到黑线(横线)后,调用右灰度传感器,如果右灰度传感器没有检测到黑线,巡线前进到竖线1(如图3所示)。

(3)越过竖线1。机器人到达竖线1,右灰度传感器检测到黑线,机器人将停在竖线1上。程序中不能使用延时模块,就用机器人用100的速度“冲”几次,靠机器人惯性越过竖线1。

(4)到目标点停下。机器人越过竖线1,调用右灰度传感器,如果右灰度传感器没有检测到竖线2,巡线前进。右灰度传感器检测到竖线2停下(就是在目标点停下)。

3.思考与分析

(1)优点:运用的知识点比较简单,只要懂得灰度传感器的使用原理及相关的编程知识就能完成任务。

(2)不足:机器人离开出发区的行进轨迹是弧线,多走了不少弯路。离开出发区后机器人一直在用灰度传感器检测有没有碰到黑线,实际走的线路是曲线,但是任务线路是直线,用巡线走的方法多走不少路,影响成绩。

4.改进建议

(1)机器人的行进轨迹尽可能是直线。

(2)用竖线(黑线)作为目标点的标志物不够唯一,因为竖线1和竖线2都是黑线,使编程变得复杂。可以利用红外避障传感器检测目标点下方的“蓝色货物”,这样目标点的标志物唯一,编程比较简单。

(二)第一次优化

1.机器人配置

除了控制器和轮子,在机器人控制器上面设置一个指南针传感器,再配置一个朝左侧的红外避障传感器。

2.程序设计及说明

分两步完成任务:

(1)利用指南针让机器人原地向左转,使机器人朝向目标点。

(2)到目标点停下。用左侧的红外避障传感器检测“蓝色货物”,如果没有检测到“蓝色货物”,机器人以100的速度直行,直到左侧的红外避障传感器检测到目标点下方的“蓝色货物”停下。

3.思考和分析

(1)优点:机器人的行进轨迹是直线,不走弯路,用时少。利用红外避障传感器检测目标点下方的“蓝色货物”,目标点的标志物唯一,编程简单。

(2)不足:成功率不高。因为转方向的时候,车子有惯性,要让机器人通过指南针传感器精准地转到朝向目标点方向,难度很大。从起点到目标点路程远,方向上稍微有点偏差,机器人脱线的可能性就很大,机器人一旦脱线就被认定为比赛失败。机器人在出发点转方向的速度比较慢,因为转方向速度越快,惯性就越大,机器人的方向就更难控制。

4.改进建议

可以考虑在机器人行进过程中用指南针传感器控制行进的方向,这样可以提高成功率。

(三)第二次优化

1.机器人配置

和第一次优化时的机器人相同。

2.程序设计和说明

分两步完成任务:

(1)利用指南针让机器人原地向左转,使机器人朝向目标点。

(2)到目标点停下。利用指南针传感器控制机器人前进方向,如果机器人的方向大于271度,机器人以左轮99右轮100的速度向左走,如果机器人的方向小于269度,机器人以右轮99左轮100的速度向右走。直到左侧的红外避障传感器检测到目标点下方的“蓝色货物”停下。

3.思考与分析

第二次优化后的程序,能在出发点以较快的速度转向目标点方向,因为即使机器人转的方向有误差,也能在指南针传感器的控制下微调机器人走向,使机器人朝着目标点前进,机器人脱线的概率极小,成功率极高。即使机器人在指南针传感器的控制下微调机器人的走向,由于调整的角度非常小,机器人前进的轨迹也极其接近直线。

三、感悟与启发

1.要营造一种精益求精的氛围

会搭机器人,会编写程序,完成预定任务仅仅是最基本的目标,但绝不能停留在这个目标。教师要努力营造一种精益求精、追求极致的氛围,这是学生肯不断进行程序优化创新的前提。

2.要鼓励学生自主创新

老师要给学生营造一个宽松、和谐、进取的氛围,鼓励学生通过自主研究,围绕问题展开充满个性化的探索,大胆作出猜想,在实践中不断验证自己的猜想,不怕失败,勇于尝试不同的编程方法,进一步完善程序,提升成绩。对于提高比赛成绩的一点点小小的改进,都是创新,可以说创新贯穿了优化的全过程。

3.要倡导团队合作精神

一个学生的想法有时候不完整,通过交流,其他学生可能会在他的基础上产生新的灵感,从而提出更好的方法。找到“最优化”的编程方案,往往凝聚着社团许多人共同的心血,他们一起探讨方案,一起改写程序,一起调试机器人……找到“最优化”方案后再一起分享,在社团中推广。

4.要从分析任务特点入手

要具体任务具体分析,前面提到的“最优化”是针对某个任务而言的,离开某个特定的任务,就无所谓“最优化”。如巡线前进这个任务,如果线路复杂曲折,那利用灰度傳感器来巡线是理想的方案;如果是方向明确的直线,那利用指南针传感器就比较理想。

参考文献:

[1]周德炎.中学机器人教学问题探析[J].中国教育信息化,2011(12).

[2]赵加兴,杨改学.合作学习在中小学机器人教学中的应用[J].软件导刊,2010(3).

[3]李丹.虚拟机器人在农村小学机器人教学中的应用研究[J].长春教育学院学报,2015(1).

作者简介:黄吕庆,1970年9月出生,男,汉族,浙江嵊州人,小学高级教师。

猜你喜欢
程序设计优化
超限高层建筑结构设计与优化思考
一道优化题的几何解法
由“形”启“数”优化运算——以2021年解析几何高考题为例
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
OBE理念下基于Greenfoot的Java程序设计课程教学改革
PLC梯形图程序设计技巧及应用
三级甲等公立医院绩效考核程序设计