一种应用于机器人教育的简易编程方法及装置与流程

文档序号:16923603发布日期:2019-02-19 19:40阅读:318来源:国知局
一种应用于机器人教育的简易编程方法及装置与流程

本发明涉及机器人教育领域,特别一种应用于机器人教育的简易编程方法及装置。



背景技术:

机器人教育是指通过组装、搭建、运行机器人,激发学生学习兴趣;融合了编程、机械、电子、物理等各学科知识,提升学员特别是青少年学员的综合能力。机器人已经成为呼声很高的创新教育平台,并且正在大踏步地走向基础教育。教育机器人在国内处在起步阶段,随着各地中小学机器人实验室的迅速建设,它作为课程,一些不成熟的表现也越发明显,并且遇到了诸多方面的制约,现有的机器人教育很多都是基于图形化的编程方式,但少有涉及到硬件,也就是机器人的嵌入式开发板,这使得机器人教育的软硬件脱节。少数机构会使用到嵌入式硬件开发板,但是这些开发板不是编程难度高就是不适合后续的深入学习。



技术实现要素:

本发明针对上述现有技术存在的问题,提供了一种对青少年学员学习更友好、上手更快,同时也能帮助学员学习硬件知识的简易编程方法和装置。

一种应用于机器人教育的简易编程方法,包括以下内容:

s1:编写语言转化程序并设置在开发板内;

s2:学员根据教学目标编写脚本语言类的初级程序;

s3:初级程序经语言转化程序被解析为能够被嵌入式设备的二级程序;

s4:嵌入式设备运行二级程序;

其中,初级程序与二级程序采用不同类型的编程语言。

进一步的,语言转化程序为解释器。

进一步的,s3中,解释器在解析前对初级程序进行语法检测,当检测到语法正确时,解释器解析初级程序。

进一步的,解释器对初级程序中的代码逐条解析。

进一步的,s3中,解释器运行包括以下步骤:词法分析、语法分析、语义分析、解释为二级程序。

进一步的,在词法分析步骤中,其过程需要区分识别逻辑控制语句的关键字。

进一步的,二级程序所采用的语言相对初级程序更高级。

进一步的,二级程序采用的语言为以下的任意一种:java、c、c++、visualbasic、php、perl、python、c#、javascript、delphi、sas、ruby、pl/sql、d、abap、lisp/scheme、cobol、ada、pascal、visualfoxpro。

一种应用于机器人教育的简易编程装置,包括:

初级程序输入端,用于学员输入初级程序;

设置有解释器的开发板,用于接收并解析初级程序为二级程序;

嵌入式设备,用于根据二级程序进行相应动作。

进一步的,开发板端与初级程序输入端通过有线/无线的方式通信连接。

本发明通过在嵌入式设备中运行脚本式编程语言的解释器的方案,让用户只需要编写简单的脚本式控制语句,开发板内置的解释器会自动解析为嵌入式设备可执行的语言,进而控制硬件执行用户的控制逻辑。这样用户就不需要使用高级语言配置嵌入式设备。用户通过这样的编程方式可以快速的熟悉编程的逻辑,学习编程的思路,熟悉硬件,为后续的深入学习打下基础。此外,在嵌入式开发板上运行解释器,一定程度上也可以解决编程平台的编译并发问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的整体流程图;

图2是解释器解析流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

一种应用于机器人教育的简易编程方法,包括以下内容:

s1:编写语言转化程序并设置在开发板内;

s2:学员根据教学目标编写脚本语言类的初级程序;

s3:初级程序经语言转化程序被解析为能够被嵌入式设备的二级程序;

s4:嵌入式设备运行二级程序;

其中,初级程序与二级程序采用不同类型的编程语言。

在本发明的一些实施例中,语言转化程序为解释器。解释器(interpreter),又译为直译器,本质是一种程序,根据设计需求能够把一种语言的程序专为为另一种语言。解释器不会一次把整个程序转译出来,而是每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去。此外,基于相同目的,语言转化程序也可以采用编译器。

在本发明的一些实施例中,对于步骤s3,解释器在解析前对初级程序进行语法检测,当检测到语法正确时,解释器解析初级程序,例如,解释器是针对脚本语言进行解析的,那么在进行解析钱需要检测初级语言是否为脚本语言,如果是则正常进行下一步;否,则退出不进行解析。

在本发明的一些实施例中,解释器对初级程序中的代码逐条解析。解释器是一条一条的解释执行源语言。比如php,postscritp,javascript就是典型的解释性语言。与编译器相似的编译器是把源代码整个编译成目标代码,执行时不在需要编译器,直接在支持目标代码的平台上运行,这样执行效率比解释执行快很多。比如c语言代码被编译成二进制代码,在指定平台/设备上执行。

如图2所示,在s3中,解释器运行包括以下步骤:词法分析、语法分析、语义分析、解释为二级程序。

进一步的,在词法分析步骤中,其过程需要区分识别逻辑控制语句的关键字。

下面举例说明解释器的工作原理,值得一提的是,本发明的应用和实施不局限于此。

解释器工作时,要将代码转换为一棵抽象语法树。其第一步就是扫描,扫描的过程,实际上就是解释器在“认字”,因为对于解释器来说,一段代码仅为一串字符串而已,因此应当首先读出每个字的类型,例如,100为一个数字,var为一个识别符(identifier),“foo”为一个字符串,那么解释器会将它们存成相应的数据类型,“//”以及后面内容表示的是一条注释,解释器无需处理。这些存储的一条一条数据,称作token。扫描完毕后,解释器开始解析工作,解释器通常会用一串特殊的正则表达式去尝试匹配每段代码,不同的正则表达式匹配到的结果分别被存储为不同的数据类型,这种数据类型将成为抽象语法树的一部分。解释器会识别出“这是一条加法表达式”、“这是一个方法声明”、“这是一条打印语句”等等。在这一过程中,解释器会利用扫描过程中得到的token来帮助它进行抽象语法树的构建,例如它可以识别:设一个数字(token),其后为一个“+”字符,再后面仍接一个数字(token)的话,那就是一条加法表达式。解析完毕后,关于这段代码的整个抽象语法树就被构建起来了。当得到的抽象语法树已经可以执行了(即没有优化或者编译的任务),解释器就会对整颗抽象语法树按一定的顺序进行“求值”(evaluate),例如对于1*(2+3),会先对“2+3”进行求值,这样抽象语法树就变成了1*5,由此可见,抽象语法树随着求值的进行渐渐变小了,这一过程称为“归约”(reduce),当抽象语法树缩小到只有一个值的时候,这段代码就执行完毕了。基于上述原理,解释器即可将采用脚本语言的初级程序解析成可被嵌入式设备识别运行的二级程序。

二级程序所采用的语言相对初级程序更高级,本实施例中,初级程序采用脚本语言,脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。它的命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。一个脚本通常是解释执行而非编译。脚本语言通常都有简单、易学、易用的特性,本发明目的就是希望能让学员快速完成程序的编写工作、更好的掌握编程逻辑。本发明的二级程序采用的语言只要是嵌入式设备能够识别运行的语言均可,常见的有:java、c、c++、visualbasic、php、perl、python、c#、javascript、delphi、sas、ruby、pl/sql、d、abap、lisp/scheme、cobol、ada、pascal、visualfoxpro。

基于上述方法,本发明还公开了一种应用于机器人教育的简易编程装置,包括:

(1)初级程序输入端,用于学员输入初级程序。在机器人教育领域,常采用笔记本电脑、平板电脑或定制的输入装置作为初级程序输入端。

(2)设置有解释器的开发板,用于接收并解析初级程序为二级程序。

(3)嵌入式设备,用于根据二级程序进行相应动作。在一些实施例中,所述的开发板是集成在嵌入式设备中的。

在本发明的一些实施例中,开发板端与初级程序输入端通过有线/无线的方式通信连接。有线的方式可以采用数据线进行连接,数据线的端口类型根据实际采用的初级程序输入端、嵌入式设备对应的端口决定,例如可以采用usb2.0、usb3.0、hdmi等接口。无线的方式连接,可以根据初级程序输入端、嵌入式设备本身带有的无线连接设备决定连接方式,例如,如连有网卡/网络连接模块则可以通过互联网传递信息;如连有红外线收发装置则可以通过红外线方式传递信息;如连有蓝牙装置,则可以通过蓝牙连接的方式传递信息。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1