著录项信息
专利名称 | 实物化编程的方法及其在机器人领域的应用 |
申请号 | CN201510153330.9 | 申请日期 | 2015-04-02 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2015-09-09 | 公开/公告号 | CN104898456A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G05B17/02 | IPC分类号 | G;0;5;B;1;7;/;0;2查看分类表>
|
申请人 | 赵敬双 | 申请人地址 | 江苏省苏州市太仓市浮桥镇陆公路1号6幢110室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 苏州乐派特机器人有限公司 | 当前权利人 | 苏州乐派特机器人有限公司 |
发明人 | 赵敬双 |
代理机构 | 北京恩赫律师事务所 | 代理人 | 赵文成 |
摘要
本发明公开了一种实物化编程的方法及其在机器人领域的应用,该方法为:(1)搭建带有主控板的运行对象;(2)用实物编程积木搭建程序逻辑;(3)连接实物编程模块与主控板;(4)装载程序到主控板的存储器中;(5)解析程序并检测程序逻辑是否正确;(6)如果程序逻辑正确,则执行程序,并验证程序的执行是否正确;如果程序逻辑不正确,反馈错误块的信息,修改对应的程序,返回步骤(3)继续,直到正确为止;(7)如果运行对象运行正确,就结束;否则,修改程序继续步骤(3),直到运行正确为止。本发明通过形象化地将实物指令模块拼接的程序反应到运行对象的运行上,让儿童以及新手能够更具体地理解程序,设计程序,修改程序。
1.一种实物化编程的方法,其特征在于其步骤为:
(1)搭建带有主控板的运行对象;
(2)选取多个合适的实物编程积木搭建程序逻辑,相邻实物编程积木之间电连接,每个实物编程积木具有通过拨码开关存储为其标识的一个唯一的ID,该ID能够被所述电连接方式所识别和传输;
(3)将第一个实物编程积木与主控板连接,主控板内的Sensor接口用于连接各种传感器;
(4)启动主控板内的装载程序,从第一个实物编程积木开始,通过电路信号依次读取步骤(2)搭建所用到的每一个实物编程积木中的唯一ID,一并把读取到的实物编程积木的网络连接关系存储到主控板内的存储器中;
(5)主控板内CPU解析程序并检测程序逻辑是否正确,主控板内的CPU识别存储器中装载的指令ID并按照各个指令执行程序逻辑;
(6)如果程序逻辑正确,则执行程序,并验证程序的执行是否正确;如果程序逻辑不正确,则向错误的实物编程积木反馈信息,修改实物编程积木对应的程序,返回上述步骤(3)继续,直到正确为止;
(7)如果运行对象运行正确,就结束任务;否则,移动和更换实物编程积木来修改程序后继续上述步骤(3),直到运行对象运行正确为止。
2.根据权利要求1所述的一种实物化编程的方法,其特征在于:所述实物编程积木包括基础编程指令积木、延时类指令积木和传感器指令积木;其中,基础编程指令积木包括:如果判断指令积木、循环做指令积木、赋值指令积木、计算指令积木、布尔判断指令积木。
3.根据权利要求1所述的一种实物化编程的方法,其特征在于:步骤(6)所述主控模块向错误的程序积木模块反馈信息方式为:在实物编程积木上设置LED灯,主控板检测到错误程序模块输出信号,对应的LED就会灯亮起。
4.权利要求1至3任意一项所述的实物化编程的方法在机器人领域的应用方法,其特征在于,该方法步骤为:
(1)构思与设计将要搭建的机器人;
(2)搭建机器人,其结构包括主控板、传感器和发声发光模块;
(3)根据步骤(1)中所构思的机器人,选取多个合适的实物编程积木搭建程序逻辑,相邻实物编程积木之间电连接,每个实物编程积木具有通过拨码开关存储为其标识的一个唯一的ID,该ID能够被所述电连接方式所识别和传输;
(4)将第一个实物编程积木与机器人内的主控板连接,主控板内的Sensor接口用于连接各种传感器;
(5)启动主控板内的装载程序,从第一个实物编程积木开始,通过电路信号依次读取步骤(2)搭建所用到的每一个实物编程积木中的唯一ID,一并把读取到的实物编程积木的网络连接关系存储到主控板内的存储器中,主控板内的CPU识别存储器中装载的指令ID并按照各个指令执行程序逻辑;
(6)机器人运行:主控模块解析并执行被装载的程序。
实物化编程的方法及其在机器人领域的应用\n技术领域\n[0001] 本发明属于人机交互领域,具体涉及到一种实物化编程的方法及其在机器人领域的应用。\n背景技术\n[0002] 进入21世纪,信息技术推动下知识社会的形成及其对技术创新的影响进一步被认识,科学界进一步反思对创新的认识:技术创新是一个科技、经济一体化过程,是技术进步与应用创新“双螺旋结构”(创新双螺旋)共同作用催生的产物,而且知识社会条件下以需求为导向、以人为本的创新2.0模式(创客)进一步得到关注。在这个世纪里,创客将成为世界的领导者,引领世界走向更加辉煌的一页。\n[0003] 伴随着当代中国乃至世界对创客的越来越关注,全民创客时代已经来临。在互联网时代的今天,计算机和网络已经成为人们生活中必不可缺少的一部分。作为创客,也必须掌握一项基础技能,就是“编程”。程序是计算机的大脑,也只有掌握“编程”的技能,然后才能够参与到计算机创新制作过程中来。\n[0004] 传统的编程通常是通过键盘输入文本语言来完成。这种编程方式对于计算机初学者而言,理解和使用起来很不方便,主要原因是传统编程语言中的语法和复杂指令,难以被理解和记忆,同时还需要进行大量输入工作。而一般儿童和新手很难记住和理解程序语言的语法、逻辑关系和程序架构等非常专业的知识。此外,对文字掌握得还不纯熟的儿童来说,程序的文本编辑方式缺乏直观性,儿童无法采用传统的编程方式来创作自己的程序。图形化编程向儿童提供了一种编程的可行途径。它将各种编程的概念转化为显示在屏幕上的各种图形,儿童只需要对于各种图形进行拖动,就可以完成编程的整个过程。而实物编程被认为是图形化编程的一个分支。与图形化编程不同之处在于,实物编程对于程序的操作超越了计算机屏幕的限制。实物编程通过触觉、物理感知等技术与实物交互,再将实物逻辑转化为程序逻辑来进行编程。与直接让儿童操控电脑相比,让儿童通过操纵实物来进行创作,更容易让儿童投入到整个过程当中。通过实物编程系统,儿童可以对程序语言的逻辑有更加直观的理解。程序不再是一行行枯燥的代码,而是一组形象甚至一组实物的组合,儿童通过对实物的拼接组合,就可以完成普通程序语言通过键盘输入代码完成的工作。实物编程的特点决定了它更适合儿童进行编程操作。\n[0005] 现有技术中国专利CN 102136208A公开了一种实物编程方法和系统,通过图像采集实物编程块的表面识别码,再转换为对应的功能语义序列,用户通过在摄像区域摆放具有识别码的实物模块来进行简单编程,这种实物化的编程方法虽然简单,但其仍然是一种乏味的程序,并不能很好地激发儿童及新手的学习兴趣;同时,该方案只能使用已经在计算机中设定好的程序,无法让儿童以及新手展开开放性思维去自己创建,不具有更深远的教育意义。\n发明内容\n[0006] 本发明的目的在于提供一种实物化编程的方法以及其在机器人领域的应用,使得儿童和新手可以摆脱编程语言繁冗的语法,能更好地学习和理解程序设计本身的逻辑。\n[0007] 本发明的技术方案为:一种实物化编程的方法,其步骤为:\n[0008] (1)搭建带有主控板的运行对象;\n[0009] (2)选取合适的实物编程积木搭建程序逻辑;\n[0010] (3)连接实物编程模块与主控板;\n[0011] (4)启动主控板内的装载程序把实物编程模块对应的程序逻辑装载到主控板的存储器中;\n[0012] (5)主控板内CPU解析程序并判断程序逻辑是否正确;\n[0013] (6)如果程序逻辑正确,则执行程序,并验证程序的执行是否正确;如果程序逻辑不正确,则向错误的编程积木模块反馈信息,修改实物编程模块对应的程序,返回上述步骤(3)继续,直到正确为止;\n[0014] (7)如果运行对象运行正确,就结束任务;否则,移动和更换编程积木来修改程序后继续上述步骤(3),直到运行对象运行正确为止。\n[0015] 进一步地,所述实物编程积木包括基础编程指令积木、延时类指令积木、传感器指令积木和其他指令积木。其中,基础编程指令积木包括:如果判断指令积木、循环做指令积木、赋值指令积木、计算指令积木、布尔判断指令积木。\n[0016] 进一步地,所述指令积木内部含有一个单片机通过存储器存储为该指令模块标识的一个唯一的ID;或者,所述指令积木内部含有芯片并通过拨码开关存储为该指令模块标识的一个唯一的ID。\n[0017] 进一步地,步骤(4)所述的装载程序通过电路信号,从第一个连接的实物编程积木开始,依次读取每一个实物编程模块中的唯一ID,一并把读取到的实物编程模块的网络连接关系存储到主控板内的存储器中。\n[0018] 优选地,在实物编程积木上装置LED灯,主控板检测到错误程序模块输出信号,对应的LED灯就会亮起。\n[0019] 实物化编程方法可应用于机器人领域,其具体步骤为:\n[0020] (1)构思与设计将要搭建的机器人;\n[0021] (2)搭建机器人,其由主控板以及传感器和发声发光等模块组成;\n[0022] (3)根据步骤(1)中所构思的机器人,选取实物编程积木来搭建程序逻辑;\n[0023] (4)连接实物编程模块与机器人内的主控板;\n[0024] (5)启动主控板内的装载程序把实物编程模块对应的程序逻辑下载到主控板存储器中;\n[0025] (6)机器人运行:主控模块解析并执行被装载的程序。\n[0026] 与现有技术相比,本发明具有如下的优点和技术效果:\n[0027] 1、本发明将传统编程语言的复杂语法简单化为编程积木的拼接,使儿童以及新手能够容易地学习编程。\n[0028] 2、本发明通过实物化的编程控制机器人运行,让儿童以及新手能够更形象具体地理解程序,设计程序,修改程序。\n[0029] 3、实物编程本身是在开放的空间完成编程过程,所以多个用户可以在开放的空间内对于同一个任务展开协作。\n[0030] 4、本发明可应用在机器人领域,并支持大部分传感器,儿童可以通过操作传感器了解各种传感器的应用原理,这大大增加了编程的趣味性。\n附图说明\n[0031] 图1为本发明的实物化编程方法的流程图;\n[0032] 图2为本发明的基础类指令模块示意图;图2a—如果判断指令模块,图2b—循环做指令模块,图2c—赋值指令模块,图2d—计算指令模块,图2e—布尔判断(比较)指令模块;\n[0033] 图3为本发明延时指令模块示意图;\n[0034] 图4为本发明传感器输入类指令模块示意图;其中图4a—传感器输入指令模块,图\n4b—模拟传感器输入模块;\n[0035] 图5为本发明示例机器人小车专用指令模块;其中图5a—机器人前进指令模块,图\n5b—机器人左转指令模块,图5c—机器人右转指令模块,图5d—机器人后退指令模块,图\n5e—机器人停止指令模块;\n[0036] 图6为本发明其它类传感器指令模块;其中图6a—“永远为1”指令模块,图6b—“数字值”指令模块;\n[0037] 图7为本发明实物指令模块的实体示例图;\n[0038] 图8为本发明实物指令模块拼接程序示例图;\n[0039] 图9为本发明的实物指令模块内部原理图;图9a为芯片加编码的开关方式原理图,图9b是单片机加存储器的方式方案原理图;\n[0040] 图10为使用本发明实物化编程方法控制机器人行动的系统示意图;\n[0041] 图11为本发明示例沿线机器人与黑线关系框图;\n[0042] 图12为本发明示例沿线机器人程序流程图;\n[0043] 图13为本发明示例沿线机器人用实物化编程模块实现的程序;\n[0044] 图14为主控板与实物编程模块的连接以及其内部组成图;\n[0045] 图15为装载程序工作原理流程图;\n[0046] 图16为主控板解析程序工作原理流程图。\n具体实施方式\n[0047] 下面结合具体实例和附图对本发明技术方案作进一步说明。所举的实施例仅是对本发明产品或方法作概括性例示,有助于更好地理解本发明。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以作出若干改进和变型,这些改进和变型也应该视为落在本发明的保护范围之内。\n[0048] 如图1为本发明的实物化编程方法的流程图,其具体步骤为:\n[0049] (1)搭建带有主控板的运行对象,该运行对象可以是沿线机器人,扫地机器人等可以实现程序运行的任何运行对象。\n[0050] (2)选取合适的实物编程积木搭建程序逻辑;\n[0051] 所述实物编程积木包括基础编程指令积木、延时类指令积木、传感器指令积木和其他指令积木。如图2为基础编程指令示意图,其包括:如果判断指令、循环做指令、赋值指令、计算指令、布尔判断指令,具体如下:\n[0052] 图2a为如果判断指令模块:如果【判断条件】满足,则执行【YES】下面的指令,否则执行【NO】下面的指令,完事后,然后执行【下一条指令】,其中【判断条件】通常接传感器;\n[0053] 图2b为循环做指令模块:当【判断条件】满足时,循环执行【DO】下面的指令,否则,则执行【下一条指令】,【判断条件】通常接传感器;\n[0054] 图2c为赋值指令模块:把【数字值】接口所指定的值赋值给【变量】接向的变量,完事后,然后执行【下一条指令】;\n[0055] 图2d为计算指令模块:【变量】与【数字值】进行板子模块上指定的运算符<加减乘除>运算后,把结果赋值给【被赋值变量】,完事后,然后执行【下一条指令】;\n[0056] 图2e为布尔判断(比较)指令模块:返回【变量1】与【变量2】或【数字值】进行板子模块上指定的运算符<等于、不等于、大于、小于、大于等于、小于等于>比较结果。\n[0057] 除了前述的基础编程指令,还有延时指令、传感器输入指令和其它指令。如图3为延时指令模块示意图,其具体指令为:延时【时间值】接口所接模块指定数字的时间。完事后,然后执行【下一条指令】。图4为传感器输入类指令模块示意图:图4a为传感器输入口指令模块,为数字开关信号,传感器检测有信号为1,无信号则为0。图6为其它类指令模块:图\n6a为“永远为1”指令模块,通常用于While循环模块的条件判断接口,以实现无限循环;图6b为“数字值”指令模块,通过拨码开关(二进制)或者按钮调节的数码显示器(十进制),来设定一个值。\n[0058] 当然,根据编程的需要还会扩展其它指令。例如根据沿线机器人运行的特点,则需要有机器人小车专用的运行指令,如图5:\n[0059] 机器人前进指令(图5a):机器人小车以系统设定的固定速度前进。完事后,然后执行【下一条指令】。\n[0060] 机器人左转指令(图5b):机器人小车以系统设定的固定速度左转。完事后,然后执行【下一条指令】。\n[0061] 机器人右转指令(图5c):机器人小车以系统设定的固定速度右转,完事后,然后执行【下一条指令】。\n[0062] 机器人后退指令(图5d):机器人小车以系统设定的固定速度后退。完事后,然后执行【下一条指令】。\n[0063] 机器人停止指令(图5e):机器人小车停止。完事后,然后执行【下一条指令】。\n[0064] 以上所述指令的实物化积木可参照图7、图8,每个指令积木内部含有一个单片机或芯片,每个指令模块通过拨码开关或者存储器存储为每一类指令模块标识一个唯一的ID,模块内部原理如图9:图9a是以芯片加编码的开关方式,储存编程积木模块的唯一ID;图\n9b是以单片机加存储器的方式,用EEPROM存储器储存编程积木模块唯一ID。\n[0065] (3)连接实物编程模块与主控板;\n[0066] 图14表示了实物编程模块与主控板的连接关系以及主控板的内部组成,实物编程模块的第一个指令积木与主控板相连接,其中主控板内的Sensor接口用于连接各种传感器,比如:按键、光电传感器、声音传感器、红外传感器、超声波传感器等等;Motor接口用于连接直流电机;Output接口用于连接各种输出,比如:LED灯、扬声器、舵机、继电器、网络等等。\n[0067] (4)启动主控板内的装载程序把实物编程模块对应的程序逻辑下载到主控板的存储器中;\n[0068] 装载程序位于主控模块内,当按下装载按键后,系统就会启动装载程序,然后装载程序通过电路信号,从第一个连接的实物编程模块开始,依次读取每一个实物编程模块中的唯一ID,并且一并把读取到实物编程模块的网络连接关系存储到CPU存储器中。如图15为装载程序工作原理流程图,其工作原理如下:①读取第一个模块中的唯一ID;②依次下发指令选取第一个模块中的每一个端口作为下一步要读取的对象,并读取每一个端口对应的下一个模块的唯一ID;③按照上一步骤的方法,通过递归算法依次读取下一级连接的各个模块的唯一ID,直到读完整个被连接的所有模块的唯一ID。\n[0069] (5)主控板内CPU解析程序并判断程序逻辑是否正确;\n[0070] 如图16为主控板解析程序工作原理流程图,主控板内的CPU识别存储器中装载的指令ID并按照各个指令执行程序逻辑。\n[0071] (6)如果程序逻辑正确,则执行程序,并验证程序的执行是否正确;否则,对应出错的编程积木的红色LED灯就会亮起,则需要修改实物编程模块对应的程序,返回上述步骤(3)继续,直到正确为止;\n[0072] (7)如果运行对象运行正确,就结束任务;否则,移动和更换编程积木来修改程序后继续上述步骤(3),直到运行对象运行正确为止。\n[0073] 另外,本发明上述的实物化编程方法可以应用于机器人领域,如图10为运用本发明实物化编程的方法控制机器人运行的整个系统,该系统划分为输入模块、装载程序模块、逻辑处理模块和输出模块。下面结合本发明所述实物化编程方法在沿线机器人方面应用,以沿黑线行走的机器人为例对本发明的技术方案进行具体说明:\n[0074] (1)构思与设计将要搭建的沿线机器人:如图11,在机器人沿黑线行走的运动中,机器人与黑线之间一共有五种情况,分别是:机器人完全在线上、机器人左偏、机器人右偏、机器人完全左偏、机器人完全右偏,需要根据不同情况来编程。\n[0075] (2)搭建沿线机器人,内置主控板以及红外线传感器:要实现一个沿黑线走的机器人,则需要在这个机器人的下面安装两个红外线传感器,左右两个,正好骑在黑线上,用于检测是否有黑线,有黑线则反馈为1,无则反馈为0,该沿线机器人主控板有两个输入口,左侧红外线接在主控板的输入口1,右侧红外线接在主控板的输入口2上。\n[0076] (3)根据沿线机器人的特点,选取实物编程积木来搭建程序逻辑;用合适的实物编程积木来拼接程序;\n[0077] 根据沿黑线机器人的特点,为使其保持在黑线内行走,其装备的红外线传感器与机器人的行动有如图11的逻辑关系:在机器人沿黑线活动中,当机器人左侧检测到有黑线时,右侧也检测到黑线,则停止返回重新检测左侧红外线,没有则左转并返回重新检测左侧;当机器人左侧没有检测到黑线,右侧检测到黑线则右转返回重新检测左侧,没有则前进并返回重新检测左侧;通过此逻辑关系就能够实现使机器人沿黑线行走。此逻辑关系的每一个指令都有其对应的实物化后的实体——编程指令积木,按照图12的逻辑关系,将各种编程指令模块进行拼接,形成如图13的是实物化程序。其中传感器1为机器人左侧的红外线传感器,传感器2为机器人右侧的红外线传感器。\n[0078] (4)连接实物编程模块与机器人内的主控板并启动主控板内的装载程序把实物编程模块对应的程序逻辑下载到主控板存储器中;\n[0079] 如图14,第一个指令模块与主控板相连接,装载程序位于主控模块内,当按下装载按键后,系统就会启动装载程序,然后装载程序通过电路信号,从第一个连接的实物编程模块开始,依次读取每一个实物编程模块中的唯一ID,同时把读取到的实物编程模块的网络连接关系存储到CPU存储器中。如表1为ID与指令之间的对应关系。\n[0080]\n[0081]\n[0082] 表1\n[0083] (5)机器人运行:主控板内的CPU识别存储器中装载的指令ID并按照各个指令执行程序逻辑。
法律信息
- 2018-06-19
- 2015-10-28
专利申请权的转移
登记生效日: 2015.09.25
申请人由赵敬双变更为苏州乐派特机器人有限公司
地址由215128 江苏省苏州市吴中区月浜街17号月浜西公寓4幢402室变更为215104 江苏省苏州市吴中区吴中经济开发区越溪街道塔韵路178号1幢
- 2015-10-07
实质审查的生效
IPC(主分类): G05B 17/02
专利申请号: 201510153330.9
申请日: 2015.04.02
- 2015-09-09
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2012-04-05
| | |
2
| |
2012-11-28
|
2012-07-19
| | |
3
| |
2011-07-27
|
2011-03-30
| | |
4
| |
2013-12-18
|
2013-09-12
| | |
5
| |
2012-11-21
|
2012-07-19
| | |
6
| |
2009-07-01
|
2007-12-27
| | |
7
| |
2014-02-05
|
2013-10-16
| | |
8
| |
2014-10-22
|
2014-07-31
| | |
9
| | 暂无 |
2009-10-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |