实体积木编程信息的判定方法和系统及玩具与流程

文档序号:28812484发布日期:2022-02-09 04:31阅读:211来源:国知局
实体积木编程信息的判定方法和系统及玩具与流程

1.本发明涉及数组解析技术领域,具体地,涉及实体积木编程信息的判定方法和系统及玩具。


背景技术:

2.积木编程有两种方式,第一种是在智能终端上进行编程,第二种是利用实体积木进行编程。在第二种方式中,例如专利文献cn113535155a积木化编程的系统,包括积木组、图像采集器以及执行器,所述积木组包括具有拼接区域的底座以及能够被拼接在所述拼接区域上的功能积木件,所述图像采集器能够采集拼接区域的图像,并对所述拼接区域上的功能积木件所具有的图文信息识别,根据识别结果输出控制命令;所述执行器接收并执行所述控制命令。


技术实现要素:

3.针对现有技术中的缺陷,本发明的目的是提供一种实体积木编程信息的判定方法和系统及玩具。
4.根据本发明提供的一种实体积木编程信息的判定方法,包括:
5.编程信息获取步骤:获取实体积木搭建所构成的编程信息;
6.位置判定步骤:判定所述编程信息是否符合位置规则,得到判定结果;
7.反馈提示步骤:根据所述判定结果提示使用者。
8.优选地,在所述位置判定步骤中,在符合如下任一个或者任多个条件时,判定编程信息的位置是正确的:
9.条件a:编程信息的位置,位于预设的列上;
10.条件b:编程信息的位置,位于预设的行上;
11.条件c:多个编程信息的位置之间的相对关系,符合预设的关系;
12.条件d:在编程信息的位置所在的行位置中,存在相应配套的编程信息;
13.条件e:在编程信息的位置所在的列位置中,存在相应配套的编程信息;
14.条件f:在预设的行上,配套编程信息的数量未超过行设定阈值;
15.条件g:在预设的列上,配套编程信息的数量未超过列设定阈值。
16.优选地,所述编程信息获取步骤包括:
17.图像识别步骤:对实体积木图像进行识别,得到指令数组;其中,对实体积木图像中编程信息的载体积木所处的行列位置进行识别,得到编程信息的位置;所述指令数组是对图像识别得到的数组,以行列的方式表征所述编程信息的位置;或者
18.电路检测步骤:对实体积木之间的耦合位置关系进行检测,得到指令数组;其中,对编程信息的载体积木所处的行列位置进行检测,得到编程信息的位置;所述指令数组是电路检测得到的数组,以行列的方式表征所述编程信息的位置。
19.根据本发明提供的一种适用于实体积木编程的指令数组解析方法,包括:
20.编程信息获取步骤:获取实体积木搭建所构成的编程信息;
21.位置判定步骤:判定所述编程信息是否符合位置规则,得到判定结果;
22.函数解析步骤:当判定结果正确时,对编程信息所属的函数进行解析,并将解析数据存入控制协议中;其中,所述编程信息包括指令和/或参数;
23.反馈提示步骤:根据所述判定结果提示使用者。
24.优选地,所述反馈提示步骤包括:
25.报错步骤:当函数中的编程信息的位置错误时,向使用者提示错误信息,其中,所述错误信息包括错误的编程信息的位置所处的行位置和/或列位置。
26.根据本发明提供的一种实体积木编程信息的判定系统,包括:
27.编程信息获取模块:获取实体积木搭建所构成的编程信息;
28.位置判定模块:判定所述编程信息是否符合位置规则,得到判定结果;
29.反馈提示模块:根据所述判定结果提示使用者。
30.优选地,在所述位置判定模块中,在符合如下任一个或者任多个条件时,判定编程信息的位置是正确的:
31.条件a:编程信息的位置,位于预设的列上;
32.条件b:编程信息的位置,位于预设的行上;
33.条件c:多个编程信息的位置之间的相对关系,符合预设的关系;
34.条件d:在编程信息的位置所在的行位置中,存在相应配套的编程信息;
35.条件e:在编程信息的位置所在的列位置中,存在相应配套的编程信息;
36.条件f:在预设的行上,配套编程信息的数量未超过行设定阈值;
37.条件g:在预设的列上,配套编程信息的数量未超过列设定阈值。
38.优选地,所述编程信息获取模块包括:
39.图像识别模块:对实体积木图像进行识别,得到指令数组;其中,对实体积木图像中编程信息的载体积木所处的行列位置进行识别,得到编程信息的位置;所述指令数组是对图像识别得到的数组,以行列的方式表征所述编程信息的位置;或者
40.电路检测模块:对实体积木之间的耦合位置关系进行检测,得到指令数组;其中,对编程信息的载体积木所处的行列位置进行检测,得到编程信息的位置;所述指令数组是电路检测得到的数组,以行列的方式表征所述编程信息的位置。
41.根据本发明提供的一种适用于实体积木编程的指令数组解析系统,包括:
42.编程信息获取模块:获取实体积木搭建所构成的编程信息;
43.位置判定模块:判定所述编程信息是否符合位置规则,得到判定结果;
44.函数解析模块:当判定结果正确时,对编程信息所属的函数进行解析,并将解析数据存入控制协议中;其中,所述编程信息包括指令和/或参数;
45.反馈提示模块:根据所述判定结果提示使用者。
46.优选地,所述反馈提示模块包括:
47.报错模块:当函数中的编程信息的位置错误时,向使用者提示错误信息,其中,所述错误信息包括错误的编程信息的位置所处的行位置和/或列位置。
48.根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的实体积木编程信息的判定方法的步骤,或者实现所述的适用
于实体积木编程的指令数组解析方法的步骤。
49.根据本发明提供的一种积木玩具,包括实体积木;
50.还包括所述的实体积木编程信息的判定系统;或者
51.还包括所述的适用于实体积木编程的指令数组解析系统;或者
52.还包括所述的存储有计算机程序的计算机可读存储介质。
53.与现有技术相比,本发明具有如下的有益效果:
54.1、本发明提供了有效的解析规则,规则适用于实体积木编程的应用场景。
55.2、本发明能够向使用者进行报错,给予使用者错误信息,提示使用者积木拼接错误的行列位置。
56.3、本发明能够发现多种指令积木与参数积木的摆放错误情况,包括两个积木之间拼反、积木缺少拼接等情况。
57.4、本发明考虑到底层硬件资源有限,提供的解析方案快速有效,在二进制等等编码层面即作出判断。
附图说明
58.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
59.图1为本发明的方法步骤流程图。
60.图2为主函数解析步骤流程图。
61.图3为调用函数、超声波指令解析步骤流程图。
具体实施方式
62.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
63.如图1所示,根据本发明提供的一种实体积木编程信息的判定方法,包括:
64.编程信息获取步骤:获取实体积木搭建所构成的编程信息;多个实体积木之间进行拼搭,实体积木优选为颗粒积木,实体积木通过颗粒拼搭进行构建,例如在实体积木中包括底板积木,底板积木表面设置有行列布设的颗粒,实体积木还包括编程积木,编程积木拼接在底板积木表面的颗粒上,形成多个实体积木的组合,在编程积木拼接到底板积木上时,拼接的行列位置需符合编程的位置规则。在优选例中,底板积木为板状结构,底面平滑便于贴合游戏桌面,顶面按照矩阵排列设置有公头颗粒。编程积木的底面设置有母头颗粒,从而编程积木能够拼接到底板积木上。底板积木面积较大,因此可以拼接多个,例如十几个或者几十个编程积木。编程积木的顶面设置有编程信息,编程信息可以是指令,也可以是参数,例如前进指令、右转指令、发声指令、停止指令、绕圈指令等等,作为指令载体的积木记为指令积木;又例如参数可以是数量、单位、时间等等,作为参数载体的积木记为参数积木。比如在同一行中,从左到右,先拼接一个绕圈指令的指令积木,再拼接一个3个单位的参数积木,则表示使用者的控制命令为令玩具车绕3次圈。
65.在更多的优选例中,指令数组中元素的行列位置相同于编程信息的行列位置,例如指令数组中元素的行列位置相同于底板积木颗粒构成的行列位置。未识别或检测到编程信息则认为识别或检测到的是空指令。一个载体积木可以设置有一个编程信息或者多个编程信息,其中,位于同一个载体积木上的多个编程信息之间可以是相同的编程信息,也可以是不同的编程信息,所述相同的编程信息之间在展现形式上可以不同,例如相同的两个编程信息之间一个是图形的展现形式,另一个是文字的展现形式。优选地,一个载体积木上设置有多个相同的编程信息,且所述多个相同的编程信息之间在展现形式上不同,且多个相同的编程信息处于不同的列上;这样,当一种展现形式的编程信息因反光等无法被识别出后,可以通过识别其它展现形式的编程信息得到指令或者参数。
66.位置判定步骤:判定所述编程信息是否符合位置规则,得到判定结果;在所述位置判定步骤中,在符合如下任一个或者任多个条件时,判定编程信息的位置是正确的:
67.条件a:编程信息的位置,位于预设的列上;例如,调用指令载体积木的位置若在第三列,则认为是位于预设的列上;又例如,主函数开始指令载体积木的位置若在第一列,则认为是位于预设的列上;还例如,调用函数开始指令载体积木的位置,若在第六列,则认为是位于预设的列上。
68.条件b:编程信息的位置,位于预设的行上;例如,主函数的开始指令载体积木的位置,若在第一行,则认为位于预设的行上;又例如,调用函数的开始指令载体积木的位置,若在第一行,则认为没有位于预设的行上而报错。
69.条件c:多个编程信息的位置之间的相对关系,符合预设的关系;例如,在同一行中,若指示执行动作的动作指令载体积木的所在列数小于指示动作执行次数的参数载体积木的所在列数,则认为是符合预设的关系的,即符合预设的左右关系;否则,则认为不符合预设的关系而报错;又例如,若函数开始指令载体积木所在行数小于函数结束指令载体积木所在行数,则认为是符合预审的关系的,即符合预设的上下关系;否则,则认为不符合预设的关系而报错;还例如,在同一行中,有两个指令积木载体并列,则认为不符合预设的关系而报错。
70.条件d:在编程信息的位置所在的行位置中,存在相应配套的编程信息;优选地,所述编程信息、所述相应配套的编程信息,分别为指令、与指令相应配套的参数。例如,指令为前进指令,与前进指令相应配套的参数为前进的单元距离的数量。若在编程信息的位置所在的行位置中,缺少相应配套的编程信息,则认为不符合条件,进行报错。
71.条件e:在编程信息的位置所在的列位置中,存在相应配套的编程信息。例如,所述编程信息、所述相应配套的编程信息,分别为循环开始指令、循环结束指令,若循环开始指令、循环结束指令在列数上对齐,即位于同一列中,则认为符合条件。否则,则报错。
72.条件f:在预设的行上,配套编程信息的数量未超过行设定阈值。例如,配套编程信息为在一行中一个指令仅配套一个参数,若识别到有一个指令配套两个参数,则报错。
73.条件g:在预设的列上,配套编程信息的数量未超过列设定阈值。例如,配套编程信息为在一列中一个开始指令仅配套一个结束指令,若是被到一个开始指令配套有两个结束指令,则报错。
74.反馈提示步骤:根据所述判定结果提示使用者。所述反馈提示步骤包括报错步骤:当函数中的编程信息的位置错误时,即判定结果为存在错误,则向使用者提示错误信息,其
中,所述错误信息包括错误的编程信息的位置所处的行位置和/或列位置。若存在错误,则进行报错,向使用者提示错误信息。例如,通过语音向使用者播报,错误的编程信息的位置具体位于底板积木上的第几行第几列。也可以先转换计算得到错误的编程信息的位置是第几行的第几块编程积木,然后播报。若判定结果为不存在错误,是正确的,则可以提示使用者编程正确,或者通过执行编程的指令来表面编程正确。
75.在一个优选例中,所述编程信息获取步骤包括图像识别步骤:对实体积木图像进行识别,得到指令数组;其中,对实体积木图像中编程信息的载体积木所处的行列位置进行识别,得到编程信息的位置;所述指令数组是对图像识别得到的数组,以行列的方式表征所述编程信息的位置。在图像识别步骤中,使用者在底板积木上拼接好指令积木、参数积木等各个编程积木后,对底板积木与编程积木的组合从俯视角度进行拍摄,得到实体积木图像。对实体积木图像进行识别,识别得到指令、参数等编程信息,并能够识别到作为这些编程信息的载体的编程积木的位置,由于编程积木是通过颗粒连接底板积木的,因此可以根据颗粒积木的矩阵行列关系,得到编程积木的行列位置,进而相应得到编程信息的行列位置。以二进制编码为例,其中,若编程信息占据多个列位置,例如占据第2、第3、第4列,则可以将编程信息的首列位置作为所述编程信息的列位置。指令数组为0、1的集合,可以预先对涉及的编程信息对应的二进制编码形成集合,记为编程信息集合,将图形数组中的二进制编码与所述编程信息中的二进制编码进行匹配,则可以得知指令数组中的二进制编码所对应的编程信息。根据编程信息的编码在指令数组中的二进制序列的序号,可以得知编程信息的位置,也可以在指令数组中拆入表征行列位置的编码,来明确其后编程信息编码的行列位置,本领域技术人员可以参照现有技术得到更多实现方式,在此不予赘述。
76.更为具体地,在所述图像识别步骤中:从实体积木图像中识别得到参照积木;根据载体积木相对于参照积木的相对位置,得到载体积木所处的行列位置。所述参照积木优选为底板积木,载体积木为编程积木,载体积木与参照积木之间通过颗粒头拼接,载体积木的顶面通过粘贴或者印刷等方式设置编程信息,编程信息包括指令和/或参数,相应地,载体积木包括指令积木和/或参数积木。底板积木上设置有用于定位的标志,通过定位标志在图像中固定底板积木的位置,然后按照底板积木上的预先已知的行列颗粒分布,就可以得到载体积木所处的行列位置。
77.在另一个优选例中,所述编程信息获取步骤包括电路检测步骤:对实体积木之间的耦合位置关系进行检测,得到指令数组;其中,对编程信息的载体积木所处的行列位置进行检测,得到编程信息的位置;所述指令数组是电路检测得到的数组,以行列的方式表征所述编程信息的位置。所述指令数组是电路检测得到的数组,以行列的方式表征所述编程信息的位置。所述适用于实体积木编程的指令数组解析方法还包括电路检测步骤:对实体积木之间的耦合位置关系进行检测,得到指令数组;其中,对编程信息的载体积木所处的行列位置进行检测,得到编程信息的位置。所述耦合,可以参考专利文献cn111346390b,例如电耦合、光耦合、磁耦合中的任一种或任多种方式。此时,载体积木可以是提供多行多列耦合位置的读指令积木。
78.根据本发明提供的一种适用于实体积木编程的指令数组解析方法,包括:
79.编程信息获取步骤:获取实体积木搭建所构成的编程信息;
80.位置判定步骤:判定所述编程信息是否符合位置规则,得到判定结果;
81.函数解析步骤:当判定结果正确时,对编程信息所属的函数进行解析,并将解析数据存入控制协议中;其中,所述编程信息包括指令和/或参数;所述指令数组是对图像识别或者电路检测得到的数组,以行列的方式表征所述编程信息的位置;具体是对指令数组进行解析,得到解析数据,并将解析数据存入控制协议中。其中,在对指令数组进行解析之前,判断指令数组包含的函数中的编程信息的位置是否正确,若正确,则对所述函数进行解析;若错误,则触发反馈提示步骤的报错步骤继续执行。
82.反馈提示步骤:根据所述判定结果提示使用者。当指令数组包含的函数中的编程信息的位置错误时,向使用者提示错误信息,其中,所述错误信息包括错误的编程信息的位置所处的行位置和/或列位置。
83.下面结合更多的优选例,对本发明进行更为具体的说明。
84.如图2所示,本发明针对实体积木图像识别完成后输出的指令数组,通过解析数组中的数据,并对指令、参数的排列情况进行判定,并将这组指令数组转换为规定的控制协议,从而完成解析。将识别到的数组进行分步解析,解析具体步骤如下:
85.1.先整体对数据进行扫描判断,是否符合图像识别完成后输出的数组格式,如不符合则退出解析,符合则进行下一步;
86.2.将图像识别完成后输出的指令数组分为两部分,一部分为主函数,一部分为调用函数;
87.3.解析主函数部分
88.1)解析主函数是否包含调用函数功能图标指令(超声波及调用开始图标指令),如有,则报错,并退出解析,否则,进行下一步;
89.2)解析主函数中并行指令的位置是否正确,主函数中并行指令仅在第一列,如存在其他地方,则报错,并退出解析,否则,进行下一步;
90.3)解析主函数中参数位置是否正确或完整,错误则报错并退出解析,否则,进行下一步;
91.4)逐行解析主函数中各指令,同时判定后面的参数是否正确,错误则报错,并退出解析,否则将解析出的指令及函数转换添加至协议中,并进行下一步;
92.5)解析指令是否为调用函数指令,如果不是调用函数指令,解析完主函数指令后进行第6)步,如果是调用函数指令,直接跳转至调用函数指令解析,解析完成调用函数,继续返回主函数解析,返回第4)步解析主函数,直到主函数解析完成,进行第5)步;
93.6)解析调用函数部分开始指令是否为超声波,若是超声波调用,则跳转至第4)步解析调用函数部分,否则进行第5)步;
94.4.解析调用函数部分,如图3所示:
95.1)解析调用函数的开始指令,如不是超声波或者调用开始指令,则报错,并退出调用函数解析,否则,进行下一步;
96.2)解析调用函数中并行指令的位置是否正确,调用函数中并行指令仅在第六列,如存在其他地方,则报错,并退出解析,否则,进行下一步;在变化例中,根据实际需要,也可以将第六列变化为其它列;
97.3)解析调用函数中参数位置是否正确或完整,错误则报错并退出解析,否则将解析出的指令及函数转换添加至协议中,进行下一步;
98.4)逐行解析主函数中各指令,同时判定后面的参数是否正确,错误则报错,并退出解析,否则进行下一步;
99.5)解析调用部分的指令是否全部完成,未完成则返回第4)步,若调用函数的开始指令为调用开始指令,完成则返回第3步解析主函数4)步,直到函数解析完成,若调用函数的开始指令为超声波指令,则完成解析进行第5)步;
100.5.完成所有解析部分,并将解析得到的各个数据按顺序生成协议。
101.本发明还提供一种实体积木编程信息的判定系统,本领域技术人员可以将所述实体积木编程信息的判定方法理解为所述实体积木编程信息的判定系统的一个优选的实施方式,即所述实体积木编程信息的判定系统可以通过执行所述实体积木编程信息的判定方法的步骤流程实现。
102.根据本发明提供的一种实体积木编程信息的判定系统,包括:
103.编程信息获取模块:获取实体积木搭建所构成的编程信息;
104.位置判定模块:判定所述编程信息是否符合位置规则,得到判定结果;
105.反馈提示模块:根据所述判定结果提示使用者。
106.优选地,在所述位置判定模块中,在符合如下任一个或者任多个条件时,判定编程信息的位置是正确的:
107.条件a:编程信息的位置,位于预设的列上;
108.条件b:编程信息的位置,位于预设的行上;
109.条件c:多个编程信息的位置之间的相对关系,符合预设的关系;
110.条件d:在编程信息的位置所在的行位置中,存在相应配套的编程信息;
111.条件e:在编程信息的位置所在的列位置中,存在相应配套的编程信息;
112.条件f:在预设的行上,配套编程信息的数量未超过行设定阈值;
113.条件g:在预设的列上,配套编程信息的数量未超过列设定阈值。
114.优选地,所述编程信息获取模块包括:
115.图像识别模块:对实体积木图像进行识别,得到指令数组;其中,对实体积木图像中编程信息的载体积木所处的行列位置进行识别,得到编程信息的位置;所述指令数组是对图像识别得到的数组,以行列的方式表征所述编程信息的位置;或者
116.电路检测模块:对实体积木之间的耦合位置关系进行检测,得到指令数组;其中,对编程信息的载体积木所处的行列位置进行检测,得到编程信息的位置;所述指令数组是电路检测得到的数组,以行列的方式表征所述编程信息的位置。
117.本发明还提供一种适用于实体积木编程的指令数组解析系统,本领域技术人员可以将所述适用于实体积木编程的指令数组解析方法理解为所述适用于实体积木编程的指令数组解析系统的一个优选的实施方式,即所述适用于实体积木编程的指令数组解析系统可以通过执行所述适用于实体积木编程的指令数组解析方法的步骤流程实现。
118.根据本发明提供的一种适用于实体积木编程的指令数组解析系统,包括:
119.编程信息获取模块:获取实体积木搭建所构成的编程信息;
120.位置判定模块:判定所述编程信息是否符合位置规则,得到判定结果;
121.函数解析模块:当判定结果正确时,对编程信息所属的函数进行解析,并将解析数据存入控制协议中;其中,所述编程信息包括指令和/或参数;
122.反馈提示模块:根据所述判定结果提示使用者。
123.优选地,所述反馈提示模块包括:
124.报错模块:当函数中的编程信息的位置错误时,向使用者提示错误信息,其中,所述错误信息包括错误的编程信息的位置所处的行位置和/或列位置。
125.根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的实体积木编程信息的判定方法的步骤,或者实现所述的适用于实体积木编程的指令数组解析方法的步骤。
126.根据本发明提供的一种积木玩具,包括实体积木;
127.还包括所述的实体积木编程信息的判定系统;或者
128.还包括所述的适用于实体积木编程的指令数组解析系统;或者
129.还包括所述的存储有计算机程序的计算机可读存储介质。
130.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
131.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1