课题:绕月飞行—传感器检测模块的判断和子程序的应用
课题:绕月飞行
教学目标:
.逐步项目分析的能力
.逐步提高程序设计的能力。
.逐步提高综合任务的实施能力。
教学重点:
.在机器人综合项目实施中体会结构化程序设计思想。
.巩固程序控制模块的使用,提高程序设计的能力。
.巩固子程序的使用,体会子程序在程序模块化设计中的作用。
教学难点:
.对项目要求的理解。
.按照项目要求提炼算法的过程。
.对由粗到细、逐步求设计过程的的理解与运用。
教学设计
引导学生按照以下过程完成学习任务:
()分析项目要求。
()将任务分为三个模块。
()编写有三个子程序模块构成的主程序。
()分别编写三个子程序。
()调试程序、编辑程序。
学时安排:
课时。
教学过程:
从今天开始,我们通过用仿真系统下实现机器项目任务,使大家体会用仿真系统完成机器人综合项目的基本设计思想。
现在请同学们看显示器屏幕→运行程序→任务分析
任务:先让机器人寻找光源,待找到光源后再要求机器人围绕光源进行转圈。
分析:这是一个比较复杂的程序设计,设计时要运用到我们前面讲过的结构化程序设计的思想:自顶向下、逐步求精;将大程序分解成若干个小模块,然后组合在一起,完成整个项目。现在我们再来分析,机器人要完成“绕月飞行”这个项目,我们可以利用子程序控制模块,将它分解要完成“避障寻光”、“追光寻轨”、“入轨绕月”三个小任务。
现在我们用流程图搭建框架,再编辑模块中的具体参数。
根据分析我们将任务分为三个模块:避障寻光、追光寻轨、入轨绕月。如图:
现在我们根据任务来设计程序。
请同学们启动程序,我们边分析边设计。
我们先设计第一个子程序(避障寻光):
.“避障寻光”就是机器人在避障行走时寻找光源的过程,即机器人没有发现光源时执行避障行走的动作,如果发现光源就不再进行避障行走,而去执行“追光寻轨”的子程序。
()右击“避障寻光”子程序模块,进入子程序编辑状态;
()编写“避障寻光”子程序;
()在仿真环境中搭建场地并保存;
()在仿真环境中调试“避障寻光”子程序,在流程图编辑界面编辑子程序。
子程序如图:
.“追光寻轨”子程序
“追光寻轨”是执行“避障寻光”子程序后执行的程序,它要求在发现光源的基础上让机器人朝着光线较强的方向行走,直至光线达到一定程序时进入“入轨绕月”子程序,即程序要实现若光线没有达到入轨标志时就循环执行追光的动作,否则说明机器人已经到达绕月轨道,程序从循环中退出执行后面的“入轨绕月”子程序。我们来看步骤:
()右击“追光寻轨”子程序模块,进入程序编辑状态;
()编写“追光寻轨”子程序;
()在仿真环境中调试“追光寻轨”子程序,在流程图编辑界面修改编辑子程序。
子程图序如下:
.“入轨绕月”子程序:
“入轨绕月”是执行“追光寻轨”子程序后执行的程序,它要求机器人在找到轨道的基础上让机器人绕着表示月亮光源的轨道行走。程序要重复执行追轨的动作。步骤如下:
()右击“入轨绕月”子程序模块,进入子程序编辑状态;
()编写“入轨绕月”子程序;
()在仿真环境中调试“入轨绕月”子程序。
子程序图如下:
.调试程序
学生调试,教师在场指导,解答学生的问题。
小结:
.在设计机器人“绕月飞行”程序过程中,利用子程序将整个任务分为三个步骤,每个步骤对应一段子程序,每个子程序具有相对独立的功能,程序设计过程体现了由粗到精,逐步求精的结构化程序设计的思想。
.体会实施机器人实施综合项目的基本方法,体会各种传感器、执行器装置的综合运用。
作业:
编写程序,使机器人能够按照顺时针方向行走的方式实现“绕月飞行”的项目。
课后反思:
本单元要求通过三个综合的机器人项目,使学生体会用仿真系统完成机器人综合项目的基本设计思想,即利用子程序和控制模块实现机器人程序设计的结构化设计;体会了器人项目设计由粗到细逐步求精的过程。希望为机器人项目的设计奠定基础。而本课的的重点就是要求学生在机器人综合项目实施中体会结构化程序设计思想,提高程序设计的能力,体会子程序在程序模块化设计中的作用。要求学生对由粗到细,逐步求精设计过程的理解与运用。
在编写子程序的时候建议引导学生,先用流程图为程序搭建框架,再编辑模块中的具体参数,养成由粗到细,逐步求精的程序设计习惯。在调试程序的时候让先调试第一个子程序,再调试第二个子程序,……,最后将整个程序合在一起调试。