实物化编程的方法及其在机器人领域的应用

文档序号:8921831阅读:3185来源:国知局
实物化编程的方法及其在机器人领域的应用
【技术领域】
[0001] 本发明属于人机交互领域,具体涉及到一种实物化编程的方法及其在机器人领域 的应用。
【背景技术】
[0002] 进入21世纪,信息技术推动下知识社会的形成及其对技术创新的影响进一步被 认识,科学界进一步反思对创新的认识:技术创新是一个科技、经济一体化过程,是技术进 步与应用创新"双螺旋结构"(创新双螺旋)共同作用催生的产物,而且知识社会条件下以 需求为导向、以人为本的创新2.0模式(创客)进一步得到关注。在这个世纪里,创客将成 为世界的领导者,引领世界走向更加辉煌的一页。
[0003] 伴随着当代中国乃至世界对创客的越来越关注,全民创客时代已经来临。在互联 网时代的今天,计算机和网络已经成为人们生活中必不可缺少的一部分。作为创客,也必须 掌握一项基础技能,就是"编程"。程序是计算机的大脑,也只有掌握"编程"的技能,然后才 能够参与到计算机创新制作过程中来。
[0004] 传统的编程通常是通过键盘输入文本语言来完成。这种编程方式对于计算机初 学者而言,理解和使用起来很不方便,主要原因是传统编程语言中的语法和复杂指令,难以 被理解和记忆,同时还需要进行大量输入工作。而一般儿童和新手很难记住和理解程序语 言的语法、逻辑关系和程序架构等非常专业的知识。此外,对文字掌握得还不纯熟的儿童来 说,程序的文本编辑方式缺乏直观性,儿童无法采用传统的编程方式来创作自己的程序。图 形化编程向儿童提供了一种编程的可行途径。它将各种编程的概念转化为显示在屏幕上的 各种图形,儿童只需要对于各种图形进行拖动,就可以完成编程的整个过程。而实物编程被 认为是图形化编程的一个分支。与图形化编程不同之处在于,实物编程对于程序的操作超 越了计算机屏幕的限制。实物编程通过触觉、物理感知等技术与实物交互,再将实物逻辑转 化为程序逻辑来进行编程。与直接让儿童操控电脑相比,让儿童通过操纵实物来进行创作, 更容易让儿童投入到整个过程当中。通过实物编程系统,儿童可以对程序语言的逻辑有更 加直观的理解。程序不再是一行行枯燥的代码,而是一组形象甚至一组实物的组合,儿童通 过对实物的拼接组合,就可以完成普通程序语言通过键盘输入代码完成的工作。实物编程 的特点决定了它更适合儿童进行编程操作。
[0005] 现有技术中国专利CN102136208A公开了一种实物编程方法和系统,通过图像采 集实物编程块的表面识别码,再转换为对应的功能语义序列,用户通过在摄像区域摆放具 有识别码的实物模块来进行简单编程,这种实物化的编程方法虽然简单,但其仍然是一种 乏味的程序,并不能很好地激发儿童及新手的学习兴趣;同时,该方案只能使用已经在计算 机中设定好的程序,无法让儿童以及新手展开开放性思维去自己创建,不具有更深远的教 育意义。

【发明内容】

[0006] 本发明的目的在于提供一种实物化编程的方法以及其在机器人领域的应用,使得 儿童和新手可以摆脱编程语言繁冗的语法,能更好地学习和理解程序设计本身的逻辑。
[0007] 本发明的技术方案为:一种实物化编程的方法,其步骤为:
[0008] (1)搭建带有主控板的运行对象;
[0009] (2)选取合适的实物编程积木搭建程序逻辑;
[0010] (3)连接实物编程模块与主控板;
[0011] (4)启动主控板内的装载程序把实物编程模块对应的程序逻辑装载到主控板的存 储器中;
[0012] (5)主控板内CPU解析程序并判断程序逻辑是否正确;
[0013] (6)如果程序逻辑正确,则执行程序,并验证程序的执行是否正确;如果程序逻辑 不正确,则向错误的编程积木模块反馈信息,修改实物编程模块对应的程序,返回上述步骤 (3)继续,直到正确为止;
[0014] (7)如果运行对象运行正确,就结束任务;否则,移动和更换编程积木来修改程序 后继续上述步骤(3),直到运行对象运行正确为止。
[0015] 进一步地,所述实物编程积木包括基础编程指令积木、延时类指令积木、传感器指 令积木和其他指令积木。其中,基础编程指令积木包括:如果判断指令积木、循环做指令积 木、赋值指令积木、计算指令积木、布尔判断指令积木。
[0016] 进一步地,所述指令积木内部含有一个单片机通过存储器存储为该指令模块标识 的一个唯一的ID;或者,所述指令积木内部含有芯片并通过拨码开关存储为该指令模块标 识的一个唯一的ID。
[0017] 进一步地,步骤(4)所述的装载程序通过电路信号,从第一个连接的实物编程积 木开始,依次读取每一个实物编程模块中的唯一ID,一并把读取到的实物编程模块的网络 连接关系存储到主控板内的存储器中。
[0018] 优选地,在实物编程积木上装置LED灯,主控板检测到错误程序模块输出信号,对 应的LED灯就会亮起。
[0019] 实物化编程方法可应用于机器人领域,其具体步骤为:
[0020] (1)构思与设计将要搭建的机器人;
[0021] (2)搭建机器人,其由主控板以及传感器和发声发光等模块组成;
[0022] (3)根据步骤(1)中所构思的机器人,选取实物编程积木来搭建程序逻辑;
[0023] (4)连接实物编程模块与机器人内的主控板;
[0024] (5)启动主控板内的装载程序把实物编程模块对应的程序逻辑下载到主控板存储 器中;
[0025] (6)机器人运行:主控模块解析并执行被装载的程序。
[0026] 与现有技术相比,本发明具有如下的优点和技术效果:
[0027] 1、本发明将传统编程语言的复杂语法简单化为编程积木的拼接,使儿童以及新手 能够容易地学习编程。
[0028] 2、本发明通过实物化的编程控制机器人运行,让儿童以及新手能够更形象具体地 理解程序,设计程序,修改程序。
[0029] 3、实物编程本身是在开放的空间完成编程过程,所以多个用户可以在开放的空间 内对于同一个任务展开协作。
[0030] 4、本发明可应用在机器人领域,并支持大部分传感器,儿童可以通过操作传感器 了解各种传感器的应用原理,这大大增加了编程的趣味性。
【附图说明】
[0031] 图1为本发明的实物化编程方法的流程图;
[0032] 图2为本发明的基础类指令模块示意图;图2a-如果判断指令模块,图2b-循环 做指令模块,图2c-赋值指令模块,图2d-计算指令模块,图2e-布尔判断(比较)指令模 块;
[0033] 图3为本发明延时指令模块示意图;
[0034] 图4为本发明传感器输入类指令模块示意图;其中图4a-传感器输入指令模块, 图4b-模拟传感器输入模块;
[0035] 图5为本发明示例机器人小车专用指令模块;其中图5a-机器人前进指令模块, 图5b-机器人左转指令模块,图5c-机器人右转指令模块,图5d-机器人后退指令模块, 图5e-机器人停止指令模块;
[0036] 图6为本发明其它类传感器指令模块;其中图6a-"永远为1"指令模块,图6b- "数字值"指令模块;
[0037] 图7为本发明实物指令模块的实体示例图;
[0038] 图8为本发明实物指令模块拼接程序示例图;
[0039] 图9为本发明的实物指令模块内部原理图;图9a为芯片加编码的开关方式原理 图,图9b是单片机加存储器的方式方案原理图;
[0040] 图10为使用本发明实物化编程方法控制机器人行动的系统示意图;
[0041] 图11为本发明示例沿线机器人与黑线关系框图;
[0042] 图12为本发明示例沿线机器人程序流程图;
[0043] 图13为本发明示例沿线机器人用实物化编程模块实现的程序;
[0044] 图14为主控板与实物编程模块的连接以及其内部组成图;
[0045] 图15为装载程序工作原理流程图;
[0046] 图16为主控板解析程序工作原理流程图。
【具体实施方式】
[0047] 下面结合具体实例和附图对本发明技术方案作进一步说明。所举的实施例仅是对 本发明产品或方法作概括性例示,有助于更好地理解本发明。应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明技术原理的前提下,还可以作出若干改进和变型,这些 改进和变型也应该视为落在本发明的保护范围之内。
[0048] 如图1为本发明的实物化编程方法的流程图,其具体步骤为:
[0049] (1)搭建带有主控板的运行对象,该运行对象可以是沿线机器人,扫地机器人等可 以实现程序运行的任何运行对象。
[0050] (2)选取合适的实物编程积木搭建程序逻辑;
[0051] 所述实物编程积木包括基础编程指令积木、延时类指令积木、传感器指令积木和 其他指令积木。如图2为基础编程指令示意图,其包括:如果判断指令、循环做指令、赋值指 令、计算指令、布尔判断指令,具体如下:
[0052] 图2a为如果判断指令模块:如果【判断条件】满足,则执行【YES】下面的指令,否 则执行【NO】下面的指令,完事后,然后执行【下一条指令】,其中【判断条件】通常接传感器;
[0053]图2b为循环做指令模块:当【判断条件】满足时,循环执行【DO】下面的指令,否则, 则执行【下一条指令】,【判断条件】通常接传感器;
[0054]图2c为赋值指令模块:把【数字值】接口所指定的值赋值给【变量】接向的变量, 完事后,然后执行【下一条指令】;
[0055]图2d为计算指令模块:【变量】与【数字值】进行板子模块上指定的运算符〈加减 乘除〉运算后,把结果赋值给【被赋值变量】,完事后,然后执行【下一条指令】;
[0056] 图2e为布尔判断(比较)指令模块:返回【变量1】与【变量2】或【数字值】进行 板子模块上指定的运算符〈等于、不等于、大于、小于、大于等于、小于等于〉比较结果
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1