CN109814875A - 编程玩具的反向编程的方法及系统、设备、介质 - Google Patents
编程玩具的反向编程的方法及系统、设备、介质 Download PDFInfo
- Publication number
- CN109814875A CN109814875A CN201811160749.7A CN201811160749A CN109814875A CN 109814875 A CN109814875 A CN 109814875A CN 201811160749 A CN201811160749 A CN 201811160749A CN 109814875 A CN109814875 A CN 109814875A
- Authority
- CN
- China
- Prior art keywords
- behavior
- visualization procedure
- program
- reversed
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 201
- 238000012800 visualization Methods 0.000 claims abstract description 156
- 230000003542 behavioural effect Effects 0.000 claims abstract description 50
- 230000006399 behavior Effects 0.000 claims description 150
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010801 machine learning Methods 0.000 claims description 10
- 238000012512 characterization method Methods 0.000 claims description 9
- 241000406668 Loxodonta cyclotis Species 0.000 claims 2
- 230000002045 lasting effect Effects 0.000 claims 2
- 230000009471 action Effects 0.000 abstract description 19
- 238000012986 modification Methods 0.000 description 25
- 230000004048 modification Effects 0.000 description 25
- 230000001276 controlling effect Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000033001 locomotion Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000004321 preservation Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000013499 data model Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000029052 metamorphosis Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- -1 displacement sensor Substances 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000366 juvenile effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H17/00—Toy vehicles, e.g. with self-drive; ; Cranes, winches or the like; Accessories therefor
- A63H17/26—Details; Accessories
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H27/00—Toy aircraft; Other flying toys
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H3/00—Dolls
- A63H3/36—Details; Accessories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Toys (AREA)
Abstract
本发明提出一种反向编程的方法(100),其中受控对象在控制指令的作用下产生行为,所述方法包括如下步骤:获取表征所述受控对象行为的行为特征数据(101);对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序(102),其中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤。本发明还提供相应的系统、设备及介质。本发明通过解析受控对象的行为并且生成可视化并且可编辑的程序例如可视化程序,从而帮助用户形象具体地认知物体行为。
Description
技术领域
本发明涉及可编程玩具领域,具体地涉及一种编程玩具的反向编程 的方法和相应的系统、智能设备、存储有计算机程序的计算机可读存储 介质。
背景技术
专利文献CN102416265A公开一种变形金刚机器人玩具及方法,其 中公开了一种让爱好者自己对机器人进行编程的平台,其中机器人的动 作、形态可以自由自主编排,能够多单元接听控制命令,是一种新颖, 灵活,具有一定智能性的机器人。
专利文献CN1338965公开一种具有借助于通信装置实现的更灵活的 编程功能的微处理器控制的玩具组合元件。
专利文献CN1244435公开一种可编程的玩具,其中通过构成为键盘 的操作装置借助于微处理器发出控制命令给构成为受控对象的玩具汽 车中的马达,通过马达对控制命令的执行,玩具汽车可以做出相应的行 为动作。
专利文献CN1267228A公开一种可编程组合式玩具,其中包括可控 玩具单元和通过无线电对其进行控制的可编程控制系统。
此外,专利文献CN202096722U还公开一种可编程学习型机器人, 其中可以通过卡片输入的方式进行编程。
此外,专利文献CN105363223A还公开一种基于NFC的智能可编程 积木玩具。其中,将NFC(近场通信)技术应用至积木玩具上,通过搭 建积木的形式使得儿童体验到编程的乐趣,从而使得积木玩具不仅仅是 空间形状的拼接与组合,增强了对儿童的吸引力。
当前可知的是一款由麻省理工学院(MIT,Massachusetts Institute ofTechnology)设计开发的一款面向少年的简易编程工具 Scratch。这个软件的特点是:使用者可以不认识英文单词,也可以不会 使用键盘。构成程序的命令和参数通过积木形状的模块来实现。用鼠标 拖动模块到程序编辑栏就可以了。其中主要涉及可以用来选择的功能模块和由此编辑出的程序代码,编辑好的程序代码可以执行用于控制某个 对象执行相应的运动、交互、形态变化、表情改变以及相应的发出声音。 一般而言,编程能力需要用户拥有一定的编程技术知识以及逻辑思考能 力,而这对于没有经过系统学习编程的用户来说,在具体操作中容易遇 到问题,或者无法在操作中完成预期的效果,感觉枯燥乏味,从而放弃学习。因此,在将编辑好的程序代码执行用于控制某个受控对象(其中 例如包括实体对象和虚拟对象)执行相应的运动、交互、形态变化、表 情改变以及相应的发出声音的过程中,由于执行环境的多样性以及执行 过程中的具体情况的变化,受控对象极其容易产生令用户并不是太满意 的执行效果,或者由于用户可能在美学方面的高要求从而使得执行过程有待优化,这样就需要一种可能,也就是用户可以通过对编程技巧要求 并不高的途径(例如上述图形化编程环境)实现对受控对象的执行过程 进行改变或者进一步调整。
发明内容
因此本发明的目的在于,提供一种编程玩具的反向编程的方法和相 应的系统、智能设备、存储有计算机程序的计算机可读存储介质。尤其 是在可编程玩具领域中,提供如下可能,即通过解析受控对象的行为并 且生成可视化并且可编辑的程序例如可视化程序,从而帮助用户形象具 体地认知物体行为,进而启发用户运用自己的想象力和创造力可以亲自 参与到编程中。
根据本发明提供的一种编程玩具的反向编程方法,包括如下步骤:
令一受控对象产生第一行为;
获取表征所述第一行为的行为特征数据;
解析所述行为特征数据从而生成可视化程序,其中所述可视化程序 包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多 个程序步骤;
提供一可视化程序调整界面,供使用者调整所述参数和/或所述程 序步骤;
接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可 视化程序;
将所述更新的可视化程序作用于所述受控对象,令所述受控对象产 生第二行为。
优选地,包括如下步骤:
根据连续执行的部分或全部程序步骤,生成程序片段;其中,所述 可视化程序调整界面包括程序片段调整界面,供使用者调整所述程序片 段中的参数和/或程序步骤。
优选地,所述部分或全部程序步骤,通过如下任一种方式获取:
-在所述可视化程序调整界面,根据使用者的操作,从所述可视化 程序或者所述更新的可视化程序中获取;
-从虚拟对象行为记录中获取;其中,所述虚拟对象行为记录是指, 对应于所述受控对象的虚拟对象,按照所述可视化程序或者所述更新的 可视化程序执行所产生行为的记录;
-按照设定的时空参数,从所述可视化程序或所述更新的可视化程 序中获取。
优选地,所述的接收使用者对所述参数和/或所述程序步骤的调整 的步骤,包括如下步骤:
接收使用者对所述程序片段的如下任一种或任多种操作:
-调整;
-组合;
-复用。
优选地,所述受控对象为实体物体或虚拟物体;
所述实体物体的行为特征数据,包括通过一个或多个传感器获取的 传感器数据和/或对实体物体的用户操作数据;
所述虚拟物体的行为特征数据,包括来自于所述虚拟物体的软件载 体中由软件开发工具包收集的数据。
优选地,所述获取表征所述第一行为的行为特征数据的步骤,持续 进行或者通过触发方式实现。
优选地,所述生成的相应的可视化程序基于不同的受控对象包括不 同种类和/或不同数量的代码块。
优选地,在所述的解析所述行为特征数据从而生成可视化程序的步 骤中,根据不同的受控对象采用相应不同的算法。
优选地,在所述的接收使用者对所述参数和/或所述程序步骤的调 整,生成更新的可视化程序的步骤中,通过手动方式实现,或者通过机 器学习的监督学习算法实现。
优选地,在所述的生成更新的可视化程序的步骤之前,分类地基于 不同受控对象对所述程序步骤进行存储。
根据本发明提供的一种编程玩具的反向编程系统,包括如下模块:
第一行为产生模块:令一受控对象产生第一行为;
特征数据获取模块:获取表征所述第一行为的行为特征数据;
解析模块:解析所述行为特征数据从而生成可视化程序,其中所述 可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受 控对象的多个程序步骤;
界面模块:提供一可视化程序调整界面,供使用者调整所述参数和 /或所述程序步骤;
可视化模块:接收使用者对所述参数和/或所述程序步骤的调整, 生成更新的可视化程序;
第二行为产生模块:将所述更新的可视化程序作用于所述受控对 象,令所述受控对象产生第二行为。
优选地,包括如下模块:
程序片段生成模块:根据连续执行的部分或全部程序步骤,生成程 序片段;其中,所述可视化程序调整界面包括程序片段调整界面,供使 用者调整所述程序片段中的参数和/或程序步骤。
优选地,所述部分或全部程序步骤,通过如下任一种方式获取:
-在所述可视化程序调整界面,根据使用者的操作,从所述可视化 程序或者所述更新的可视化程序中获取;
-从虚拟对象行为记录中获取;其中,所述虚拟对象行为记录是指, 对应于所述受控对象的虚拟对象,按照所述可视化程序或者所述更新的 可视化程序执行所产生行为的记录;
-按照设定的时空参数,从所述可视化程序或所述更新的可视化程 序中获取。
优选地,所述的接收使用者对所述参数和/或所述程序步骤的调整 的方式,包括如下方式:
接收使用者对所述程序片段的如下任一种或任多种操作:
-调整;
-组合;
-复用。
优选地,所述受控对象为实体物体或虚拟物体;
所述实体物体的行为特征数据,包括通过一个或多个传感器获取的 传感器数据和/或对实体物体的用户操作数据;
所述虚拟物体的行为特征数据,包括来自于所述虚拟物体的软件载 体中由软件开发工具包收集的数据。
优选地,所述获取表征所述第一行为的行为特征数据的方式,持续 进行或者通过触发方式实现。
优选地,所述生成的相应的可视化程序基于不同的受控对象包括不 同种类和/或不同数量的代码块。
优选地,在所述的解析所述行为特征数据从而生成可视化程序的方 式中,根据不同的受控对象采用相应不同的算法。
优选地,在所述的接收使用者对所述参数和/或所述程序步骤的调 整,生成更新的可视化程序的方式中,通过手动方式实现,或者通过机 器学习的监督学习算法实现。
优选地,在所述的生成更新的可视化程序之前,分类地基于不同受 控对象对所述程序步骤进行存储。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质, 所述计算机程序被处理器执行时实现所述的编程玩具的反向编程方法 的步骤。
本发明提供的一种智能设备,包括所述的编程玩具的反向编程系统, 或者包括所述的存储有计算机程序的计算机可读存储介质。
下面再通过更多的几个方面就本发明的发明构思与发明点进行更 为具体的梳理与强调。
按照第一方面,本发明提出一种反向编程的方法,其中受控对象在 控制指令的作用下产生行为,所述方法包括如下步骤:
获取表征所述受控对象行为的行为特征数据;
对所述获取的行为特征数据进行分析处理从而生成相应的可视化 程序,其中所述生成的可视化程序包括各可调整的参数和用于结合所述 参数以控制所述受控对象的各程序步骤。
按照本发明的第一方面提出的方法的构思在于,以一种反向思维和 反向操作的方式,将在控制指令的作用下结合具体的执行环境产生的受 控对象的实际行为重新解析为相应的可视化程序,该可视化程序对于没 有经过系统学习编程的用户来说形象、生动、容易理解,该可视化程序 可以包括一个或多个可调整的参数和用于控制受控对象的一个或多个 程序步骤。
在此,受控对象可以理解为在可编程玩具领域中可在相应的控制指 令的作用下产生特定行为的实体物体或虚拟物体。所述控制指令可以理 解为任何通过有线和/或无线通信方式传送给受控对象并使得受控对象 产生特定行为的可执行的程序或程序序列。特别是该控制指令就可以是 可编辑的并且可由受控对象执行的可视化程序或者程序序列。在此所述 的实体物体可以包括例如玩具机器人、玩具汽车、玩偶、玩具飞行器等, 这些实体物体均可以有线和/或无线通信方式接收控制指令并且通过执 行这些控制指令产生特定行为。在此,所述受控对象的行为可以理解为 包括运动行为(比如玩具车辆)、动作行为(比如变形金刚),表情行 为(比如玩偶)等。
有利地,按照本发明的第一方面提出的方法还可以包括:适应性调 整所述参数和/或修改所述程序步骤,生成更新的可视化程序;将所述 更新的可视化程序用于所述受控对象,根据所述受控对象执行后的结果 确定是否需要对所述更新的可视化程序进行再次修改。由此可以以一种 通过实际应用执行获得反馈的方式,在将在控制指令的作用下结合具体 的执行环境产生的受控对象的实际行为重新解析为相应的可视化程序 之后,针对该可视化程序包括的一个或多个可调整的参数和用于控制受 控对象的一个或多个程序步骤根据需要进行相应调整,从而实现对该解 析后生成的可视化程序的更新或修改,然后通过将更新或修改的可视化 程序重新用于该受控对象,根据应用的结果来反馈更新或修改的效果, 从而实现对该可视化程序的优化调整。其优点还在于,由于图形化编程 环境的上述诸多优点,自然是用户参与编程的优选方式和编程环境。
有利地,所述获取表征所述受控对象行为的行为特征数据的步骤可 以持续进行。这可以理解为,该步骤从所述受控对象接收控制指令并且 通过执行控制指令产生行为开始可以一直在进行中。其优点在于,可以 比较全面地监控受控对象在控制指令下的行为,从而随时监控其行为方 式,尤其是当在执行过程中会出现突然或者意想不到的情况下是非常有 利的。
有利地,所述获取表征所述受控对象行为的行为特征数据的步骤可 以通过触发方式实现。这可以理解为,所述获取表征所述受控对象行为 的行为特征数据的步骤可以根据需要按照用户的意愿选择性地进行,比 如通过触发方式。这表示,获取该受控对象的行为特征数据的过程非自 动运行,有明确的开始点和结束点,比如在具体实现中可以通过比如一 个或两个实体或者虚拟按钮控制的方式来实现,比如点击开始按钮表示 开始而点击结束按钮表示该过程结束。自然其他任何能实现同样功能的 方式也都是可以考虑的。
有利地,当所述受控对象是实体物体的情况下,所述行为特征数据 可以包括通过一个或多个传感器获取的传感器数据和/或自动记录的用 户操作数据。在此所述一个或多个传感器可以理解为包括安装在受控对 象内部和/或受控对象之外的用于检测特定物理量的传感器,例如速度 传感器、加速度传感器、转速传感器、位移传感器、间距传感器、陀螺仪等。用户操作数据通常可以包括例如加速、减速、左转、右转等以及 相应的操作作用程度。
一般地,当所述受控对象是实体物体的情况下,通常综合考虑该实 体受控对象在执行相应控制命令期间的传感器数据和用户操作数据来 实现对受控对象的行为解析。在此应当阐明的是,之所以在实体物体的 情况下采用传感器数据和用户操作数据来综合体现实体物体的行为以 便反应其实际行为情况,是因为在通过对比传感器的数据诸如加速度传 感器的数据与用户操作数据比如加速、减速的数据,可以考虑通过操作 数据预设的预期值与传感器具体体现的实际参数的差异,从而得知通过 传感器得知的物体实际行为与通过用户操作数据想要实现的物体行为 之间是否存在不同,从而得知物体行为是否存在异常,以此判断是否要 引入校准策略诸如校准算法等。例如,假如受控对象是在地上运动的玩 具车,那么基于地面的不同摩擦系数、障碍物、甚至风力情况等就可能 导致其执行用户操作数据过程中产生差异。当然其他传感器检测的物理 量也应存在相似的情况。
有利地,当所述受控对象是虚拟物体的情况下,所述行为特征数据 可以包括来自于所述虚拟物体的软件载体中由软件开发工具包(SDK, Software Development Kit)收集的数据。在此,通常按照虚拟物体的 行为方式设定数据采集点。例如,当所述受控对象是一款运行在平板电 脑上的赛车游戏时,虚拟物体的行为特征数据主要包括涉及虚拟摇杆、油门、刹车的相关参数和数据,要采集这些数据就要在游戏研发时接入 数据采集的软件开发工具包(SDK),为这些操作设置数据采集点。
有利地,所述生成的相应的可视化程序基于不同的受控对象可以包 括不同种类和/或不同数量的代码块。其中,所述代码块可以包括逻辑 代码块和行为代码块。在此可以将逻辑代码块理解为循环、跳转、比较 判断等诸如此类的代码块;而行为代码块可理解为控制受控对象的行为 诸如运动或动作等的代码块。
有利地,在对所述获取的行为特征数据进行分析处理从而生成相应 的可视化程序中,可以根据不同的受控对象采用相应不同的算法。例如 对当受控对象是玩具汽车的情况下,在该玩具汽车的行为特征数据进行 分析处理过程中,获取的相应数据主要包含速度(比如参数范围为0— —100)、方向(参数范围为0、1、-1,其中0表示没有变化,1表示 相对位置的左转,-1表示相对位置的右转)、角度(参数范围-180度 ——180度,相对位置)等变量,从而在考虑所有上述玩具汽车相关的 数据的情况下,按预设规则将其转化为一组或多组可视化程序或代码 块。根据上述例子,所谓预设规则可以如下表1所示:
行为 | 速度 | 方向 | 角度 |
直行 | 大于0 | 0 | 0 |
左转 | 大于0 | 1 | 范围-175至0 |
右转 | 大于0 | -1 | 范围0至175 |
倒退 | 大于0 | 0 | 范围176至180、-176至-179 |
停止 | 等于0 | 0 | 0 |
表1
有利地,在调整所述参数和/或修改所述程序步骤生成更新的可视 化程序的步骤中通过手动方式实现。这可以理解为,在此过程中,用户 可以根据自己的意愿,自由调整相应的参数,比如增大或者减小该参数 的数值(诸如速度),改变其符号(诸如方向),以及自由修改所述程 序步骤,比如增加或者删减一个或多个程序步骤。其优点在于,可以充 分调动用户的积极性以及激发用户的创造性,亲身参与到编程的过程 中,享受其中的乐趣,并且其自身创造出的别出心裁的程序或程序序列 也可以在保存之后由其他用户参考使用。
有利地,在调整所述参数和/或修改所述程序步骤生成更新的可视 化程序的步骤中通过机器学习的监督学习算法实现。由于受控对象的行 为可能存在不够优美的路径曲线、停顿,不够柔和的动作表达,通过机 器学习的监督学习算法可以自动为指定物体设定正确、完美的行为准 则,从而形成受控对象行为的数据模型,基于此模型优化用户选择的物 体行为片段,自动调整其中参数,使其符合规则、趋于完美。
有利地,在相应地调整所述参数和/或修改所述程序步骤生成更新 的可视化程序的步骤之前,分类地基于不同受控对象对所述程序步骤进 行存储。由此一种类型的受控对象与另一种类型的受控对象的程序步骤 是分开分类保存的,从而一方面便于识别,另一方面防止混淆和错误调 用。
相应地,根据本发明的第二方面,本发明还提出一种反向编程的系 统,其中受控对象在控制指令的作用下产生行为,所述系统包括:
获取单元,用于获取表征所述受控对象行为的行为特征数据;
分析处理单元,用于对所述获取的行为特征数据进行分析处理从而 生成相应的可视化程序,其中所述生成的可视化程序包括各可调整的参 数和用于结合所述参数以控制所述受控对象的各程序步骤;
其中所述获取单元与所述分析处理单元通过有线和/或无线方式相 互通信并且相互协作。
有利地,所述获取单元还可以包括:程序更新单元,用于适应性地 调整所述参数和/或修改所述程序步骤,生成更新的可视化程序;判断 单元,用于将所述更新的可视化程序用于所述受控对象,根据所述受控 对象执行后的结果确定是否需要对所述更新的可视化程序进行再次修 改。自然地,也可以考虑的是,程序更新单元和判断单元不构成获取单元的组成部分而单独地存在。
有利地,所述获取单元和分析处理单元可以一体地构成为一个唯一 的单元。由此该唯一的单元不仅可以获取表征所述受控对象行为的行为 特征数据,而且也可以用于对所述获取的行为特征数据进行分析处理从 而生成相应的可视化程序,此外如果可能该唯一的单元也可以发出对相 应受控对象的控制指令。
有利地,所述获取单元可以构成为用于采集来自一个或多个传感器 的传感器数据的数据采集装置和/或记录用户操作数据的记录装置。因 此,所述获取单元不仅可以通过硬件方式实现,而且也可以通过软件方 式实现,或者两者的结合。比如,该获取单元可以实现为安装有特定的 App的智能装置,如智能手机,平板电脑,智能玩具手柄等。
有利地,所述分析处理单元可以构成为个人计算机或其他类型的智 能装置中的中央处理器或者运算器。此外分析处理单元尤其是可以构成 为云服务器或者云处理器。
此外,按照本发明的第三方面,本发明还提出一种用于优化受控对 象的行为的方法,其中所述受控对象在控制指令的作用下产生所述行 为,所述方法包括如下步骤:
解析所述受控对象的行为生成可视化程序,其中所述生成的可视化 程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的 程序步骤;
相应地调整所述参数和/或修改所述程序步骤,生成更新的可视化 程序;
将所述更新的可视化程序用于所述受控对象,根据所述受控对象执 行后的结果确定是否需要对所述更新的可视化程序进行再次修改。
按照本发明的第三方面提出的方法的构思在于,以一种通过实际应 用执行获得反馈的方式,在将在控制指令的作用下结合具体的执行环境 产生的受控对象的实际行为重新解析为相应的可视化程序之后,针对该 可视化程序包括的一个或多个可调整的参数和用于控制受控对象的一 个或多个程序步骤根据需要进行相应调整,从而实现对该解析后生成的 可视化程序的更新或修改,然后通过将更新或修改的可视化程序重新用 于该受控对象,根据应用的结果来反馈更新或修改的效果,从而实现对 该可视化程序的优化调整。
有利地,解析所述受控对象的行为生成可视化程序的步骤可以根据 按照本发明上文的第一方面中所述的方法实现。具体关于第一方面中所 示的方法可以参照上文,在此不再赘述。
有利地,在调整所述参数和/或修改所述程序步骤,生成更新的可 视化程序的步骤中可以通过手动调整和/或修改的方式实现。这可以理 解为,在此过程中,用户可以根据自己的意愿,自由调整相应的参数, 比如增大或者减小该参数的数值(诸如速度),改变其符号(诸如方向), 以及自由修改所述程序步骤,比如增加或者删减一个或多个程序步骤。其优点在于,可以充分调动用户的积极性以及激发用户的创造性,亲身 参与到编程的过程中,享受其中的乐趣,并且其自身创造出的别出心裁 的程序或程序序列也可以在保存之后由其他用户参考使用。
有利地,在调整所述参数和/或修改所述程序步骤,生成更新的可 视化程序的步骤中可以通过机器学习的监督学习算法实现。由于受控对 象的行为可能存在不够优美的路径曲线、停顿,不够柔和的动作表达, 通过机器学习的监督学习算法可以自动为指定物体设定正确、完美的行 为准则,从而形成受控对象行为的数据模型,基于此模型优化用户选择 的物体行为片段,自动调整其中参数,使其符合规则、趋于完美。
有利地,在相应地调整所述参数和/或修改所述程序步骤,生成更 新的可视化程序之前,分类地基于不同受控对象对所述程序步骤进行存 储。由此一种类型的受控对象与另一种类型的受控对象的程序步骤是分 开分类保存的,从而一方面便于识别,另一方面防止混淆和错误调用。
根据本发明的第四方面,本发明还提出一种相应的用于优化受控对 象的行为的系统,其中所述受控对象在控制指令的作用下产生所述行 为,所述系统包括:
行为解析单元,用于解析所述受控对象的行为生成可视化程序,其 中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以 控制所述受控对象的程序步骤;
程序更新单元,用于相应地调整所述参数和/或修改所述程序步骤, 生成更新的可视化程序;
判断单元,用于将所述更新的可视化程序用于所述受控对象,根据 所述受控对象执行后的结果确定是否需要对所述更新的可视化程序进 行再次修改;
其中所述行为解析单元、程序更新单元以及判断单元可以通过有线 和/或无线方式相互通信并且相互协作。
有利地,所述解析单元、程序更新单元以及判断单元可以一体地构 成为一个唯一的单元。由此该单元可以实现上述三个单元的所有功能并 且其中也包括可以发出对相应受控对象的控制指令。
有利地,所述解析单元可以构成为包括用于采集来自一个或多个传 感器的传感器数据的数据采集装置和/或记录用户操作数据的记录装置 和中央处理器或者运算器。因此,所述解析单元不仅可以通过硬件方式 实现,而且也可以通过软件方式实现,或者两者的结合。比如,该解析 单元可以实现为或者包括安装有特定的App的智能装置,如智能手机, 平板电脑,智能玩具手柄等。此外解析单元也可以构成为包括个人计算 机或其他类型的智能装置中的中央处理器或者运算器。此外分析处理单 元尤其是可以构成为包括云服务器或者云处理器。
有利地,判断单元同样可以不仅通过硬件方式实现,也可以通过软 件方式实现,或者两者的结合。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将 对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见 地,下面描述中的附图仅仅描述本发明的一部分实施例。这些附图对于 本发明来说并不是限制性的,而是起示例性的作用。其中:
图1示出按照本发明提出的一种用于反向编程的系统200的示例性 的方框图;
图2示出按照图1的系统200中构成为受控对象201的玩具汽车的 示意图;
图3示出按照图2的情况下通过云服务器203生成的可视化程序示 意图;
图4示出按照图1的系统200中关于获取单元203的一种示例性结 构的方框图;
图5中的子图a、子图b分别示出在按照图4的系统200中通过程 序更新单元2021对可视化程序进行修改更新的前、后对比示意图;
图6示出按照本发明提出的一种用于反向编程的方法100的示例性 流程图;
图7示出多个程序步骤生成一个程序片段的示意图;
图8示出手动选中一端运动轨迹生成一个程序片段的示意图;
图9示出一个程序片段被反复执行多次后使得受控对象画出图形的 示意图。
具体实施方式
根据本发明提供的一种编程玩具的反向编程方法,包括如下步骤:
令一受控对象产生第一行为;
获取表征所述第一行为的行为特征数据;
解析所述行为特征数据从而生成可视化程序,其中所述可视化程序 包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多 个程序步骤;
提供一可视化程序调整界面,供使用者调整所述参数和/或所述程 序步骤;
接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可 视化程序;
将所述更新的可视化程序作用于所述受控对象,令所述受控对象产 生第二行为。
根据本发明提供的一种编程玩具的反向编程系统,包括如下模块:
第一行为产生模块:令一受控对象产生第一行为;
特征数据获取模块:获取表征所述第一行为的行为特征数据;
解析模块:解析所述行为特征数据从而生成可视化程序,其中所述 可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受 控对象的多个程序步骤;
界面模块:提供一可视化程序调整界面,供使用者调整所述参数和 /或所述程序步骤;
可视化模块:接收使用者对所述参数和/或所述程序步骤的调整, 生成更新的可视化程序;
第二行为产生模块:将所述更新的可视化程序作用于所述受控对 象,令所述受控对象产生第二行为。
本发明提供的所述编程玩具的反向编程方法与系统,在发明构思 上,为有助于学习编程技巧,将受控对象产生的第一行为产生的行为特 征数据解析为多个程序步骤,这样为使用者提供了初始的编程基础对 象,使用者能够基于该编程基础对象进行进一步地编程,例如修改执行 次数、执行顺序等,从而得到更新后的程序步骤,进而根据更新后的程序步骤来指示受控对象产生第二行为。一方面,相对于直接由使用者从 无到有来编程实现第二行为提供了高效的编程环境以及对于儿童降低 了编程的难度;另一方面,在一些优选例中,第二行为可以是第一行为 中的一部分行为,即第二行为是第一行为的一个行为组成模块,进而实 现了程序复用,且这种复用是基于可视化前提下的复用。下面分为几个 方面,对本发明内容的主要重点进行初步展开说明,更具体的内容可进 一步结合下文中的具体实施方式予以实现:
第一行为的产生。可以是在受控对象的本地输入程序或者是有线方 式,也或者可以是遥控器等无线方式来指示受控对象产生第一行为;具 体地指示载体可以通过编程得到的程序,也可以是以图形化手段输入指 令,由指令转码技术转换为程序,例如绘制路径让受控对象按照该路径 行动。还可以是允许对受控对象的行为进行记录,从而生成了记载有第 一行为的数据信息,此优选例中,受控对象由所述编程玩具的反向编程 系统的外部设备的控制下进行行为,所述第一行为产生模块或步骤仅在 其中的一个或几个时间段对该已发生的行为进行实时记录或者回放以 完成记录,进而所述第一行为产生模块或步骤令受控对象产生第一行为 具体化为控制记录受控对象行为的时间并记录来产生第一行为。
第一行为的表征。可以根据第一行为的控制环节中的信息得到第一 行为的表征,例如玩具车作为受控对象由遥控手柄控制运动,则玩具车 的运动行为与遥控手柄的控制指令是具有相对应的,一个控制指令或者 多个控制指令的复合映射至与被映射于玩具车的一个运动行为,因此第 一行为的控制环节中的信息即构成第一行为的表征。又例如,以声控方 式对受控对象进行控制产生行为,则声控下的语音信号指令即构成对第 一行为的表征。还例如,通过加速度传感器等器件检测受控对象第一行 为的过程,检测数据即构成第一行为的表征。其中,第一行为的表征可 以直接就构成行为特征数据,也可以由第一行为的表征经数据加工后构 成行为特征数据。
解析。本领域技术人员可以理解到,解析是一种反向编程手段,由 编程结果得到程序步骤,当然,不同的解析算法可以得到不同的程序步 骤,例如玩具车向前位移2米,可以解析为先向前位移1米,然后再向 前位移1米,也可以解析为先向前位移3米,然后再向后位移1米。这 给反向编程的后续使用带来了灵活多变的可能性,其不同的解析算法下 得到程序步骤不同,使得不同的程序步骤提供了不同的进一步修改编程 的难易度,这是上文提到的高效编程环境、可视化程序复用之外,本发 明通过解析反向编程的另一个重要目的。
界面。可视化程序调整界面可以在整个显示屏幕中呈现,即显示屏 幕的全部区域均作为可视化程序调整界面,也可以在部分显示屏幕中呈 现。其中显示的内容可以不仅限于编程环节。
第二行为。在本发明的具体实施中,使用者可能需要通过多次解析 反向编程的方式,才得到最终满意的编程结果。在这一多次解析反向编 程的过程中,前一次的第二行为即构成后一次解析是的第一行为,当然, 也可以将第一行为经过一次解析反向编程后形成的第二行为再经过下 一次解析反向编程形成的行为称之为第三行为,但是本领域技术人员可 以理解到,对于所述下一次解析反向编程来讲,第三行为即构成第二行 为,因此均属于本发明的构思之下的实施。
接下来结合附图,通过优选例,对本发明进行更为具体的说明。
图1示出按照本发明提出的一种适用于编程玩具的用于反向编程的 系统200的示例性的方框图,其中包括受控对象201、获取单元202以 及分析处理单元203,其中受控对象201在控制指令的作用下产生特定 的行为,记为第一行为,该行为可以包括运动行为(比如玩具车辆)、 动作行为(比如变形金刚),表情行为(比如玩偶)等。以下结合一个 具体的实施例对该系统进行阐述。
在该实施例中,受控对象201构成为玩具汽车,如图2示出玩具车 辆的示意图。其中,ROBO表示玩具汽车,虚线表示其运动轨迹,箭头表 示运动方向。
按照本发明,获取单元202用于获取表征所述受控对象行为的行为 特征数据。在该实施例中,行为特征数据包括安装在玩具汽车上的构成 为传感器的码盘和陀螺仪上产生的角度、方向等传感器数据以及记录的 用户操作数据。在该实施例中,获取单元202构成为安装有特定的App 的智能手机,当然,其他智能装置,如平板电脑,智能玩具手柄等都是可以考虑的。在此,该安装有特定App的智能手机可以实现通过无线通 信方式获取到安装在玩具汽车上的构成为传感器的码盘和陀螺仪的产 生的角度、方向等数据以及记录的用户操作数据,该用户操作数据例如 加速、减速、左转、右转等。在该实施例中该无线通信方式通过蓝牙实 现,自然,对于该实施例而言,其他适合的无线通信方式如Wifi、近场 通信(NFC)、EnOcean、Zigbee、Z-Wave等都是可以考虑的。
按照本发明,分析处理单元203用于对上述获取的行为特征数据进 行分析处理从而生成相应的可视化程序,其中生成的可视化程序包括各 可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤。 在该实施例中,分析处理单元203构成为云服务器,自然也可以考虑的 是,分析处理单元203也可以构成为个人计算机或其他类型的智能装置 中的中央处理器或者运算器。
在该实施例中,一方面该安装有特定的App的智能手机可以通过蓝 牙发出控制指令实现玩具汽车的相应运动,比如直行、转弯等;另一方 面智能手机也可以将获取的传感器数据和记录的用户操作数据经由蓝 牙同步到云服务器。将这些数据同步到云服务器中主要是出于数据的存 储、同步、计算以及分析处理方面的考虑。在该实施例中,数据按照定时、定量的原则,从安装有特定的App的智能手机(在该实施例中也可 以称为遥控器)同步到云服务器,这些同步的数据在云服务器中按照不 同类型进行分类存储,比如在该实施例中该玩具汽车的数据与其他比如 变形金刚、遥控飞机之类的受控对象分隔地存储,从而当这些数据调用 使用时也需要按照类别进行调用,从而完全符合接口要求的数据才能应 用到对应类型的受控对象或者产品上。
在该实施例中,通过该特定App的设计,配备有两个触发按钮,即 开始和结束按钮。由此可以实现,通过触发方式进行获取传感器数据和 记录用户操作数据。也就是说,通过按下开始按钮,安装在手机中的App 开始采集传感器数据和记录用户操作数据,如果按下结束按钮,那么结 束采集传感器数据和记录用户操作数据,自然其他任何能实现同样功能 的方式也都是可以考虑的。同样在其他情况下或者在其他实施例中,该 过程不设有触发而是持续进行也是可以考虑的。
在该实施例中,云服务器对上述同步的包括用户操作数据和传感器 数据的行为特征数据进行分析处理从而生成相应的可视化程序。该过程 在云服务器中实现。其中由此生成的相应可视化程序基于不同的受控对 象可以包括不同种类和/或不同数量的代码块。在该实施例中,代码块 包括逻辑代码块和行为代码块。在此可以将逻辑代码块理解为循环、跳 转、比较判断等诸如此类的代码块;而行为代码块可理解为控制受控对 象的行为诸如运动或动作等的代码块。
图3示出通过云服务器生成的可视化程序示意图。该程序包括多个 代码块并且其中的内容为:首先,程序开始,循环执行其中的代码块15 次,该代码块表示玩具汽车以其存储的路径(路径即系列的、相关联 的程序命令的集合)为指引进行顺时针移动,循环结束后进入下一个循 环,循环执行其中的代码块25次,该代码块表示以其存储的路径为指 引进行顺时针移动,循环结束后玩具汽车停止移动。
按照本发明,在对行为特征数据进行分析处理从而生成相应的可视 化程序过程中,可以根据不同的受控对象采用相应不同的算法。结合该 实施例,在该玩具汽车的行为特征数据进行分析处理过程中,获取的相 应数据主要包含速度(比如参数范围为0——100)、方向(参数范围为 0、1、-1,其中0表示没有变化,1表示相对位置的左转,-1表示相对位置的右转)、角度(参数范围-180度——180度,相对位置)等变量, 从而在考虑所有上述玩具汽车相关的数据的情况下,按预设规则将其转 化为一组或多组可视化程序或代码块。
此外,在该实施例中,如图4示出按照图1的系统200中的获取单 元202的一种示例性结构的方框图。在图4中除了同样示出的构成为受 控对象的玩具汽车和构成为分析处理单元的云服务器之外,还示出在在 该实施例中构成为获取单元202的组成部分的程序更新单元2021和判 断单元2022。在该实施例中,程序更新单元2021构成为用于相应地调 整所述参数和/或修改所述程序步骤,生成更新的可视化程序。在该实 施例中,程序更新单元2021实现为安装在手机中特定的App中通过软 件实现的输入和调节机构,通过该输入和调节机构可以调整相应参数, 修改程序步骤(在该实施例中为代码块)。自然也可以考虑的是程序更 新单元2021可以构成为智能装置如智能电话、平板电脑或游戏手柄中 的实体输入和/或调节装置,该实体输入和/或调节装置在与特定软件结 合的情况下实现对参数进行调整,对程序步骤(在此为程序块)进行修 改,也就是增加或减少。当然,程序更新单元2021也可以不作为获取 单元202的组成部分而单独地存在。
在该实施例中,一方面,用户可以通过安装在手机中特定的App手 动修改所述程序步骤,如图5的a和图5的b示出在按照图1的系统200 中通过程序更新单元2021对可视化程序进行修改更新的示意图,其中 图5的a表示修改之前的可视化程序,而图5的b表示修改之后的可视 化程序,其区别在于,针对玩具汽车调整了三个左旋命令的参数,使得 其运行路径发生变化。手动修改的优点在于,可以充分调动用户的积极 性以及激发用户的创造性,亲身参与到编程的过程中,享受其中的乐趣, 并且其自身创造出的别出心裁的程序或程序序列也可以在保存之后由 其他用户参考使用。
另一方面,生成更新的可视化程序的步骤也可以通过机器学习的监 督学习算法实现。在该实施例中,由于玩具汽车的行为可能存在不够优 美的路径曲线、停顿,不够柔和的动作表达,通过机器学习的监督学习 算法可以自动为玩具汽车设定正确、完美的走位,从而形成受控对象行 为的数据模型,基于此模型优化用户选择的物体行为片段,自动调整其 中参数,使其符合规则、趋于完美。另一方面,这种自动优化可以减少 或者降低由于用户操作不当或者不同的周围环境对涉及的装置或设备 造成的损害,如频繁的加速、减速、接近极限甚至不合理的转向都可能 影响供电装置如电池以及执行器如电机的使用寿命。
按照本发明,图4中示出的判断单元2022用于将所述更新的可视 化程序用于所述受控对象,令所述受控对象产生第二行为,根据所述受 控对象执行后的结果确定来判断是否需要对所述更新的可视化程序进 行再次修改,在该实施例中判断单元2022可以在安装在智能手机上的 特定的App中通过软件方式实现。当然,在其他实施例中,其他任何能 实现该功能的方式或者途径都是可以考虑的,比如判断单元2022可以 不作为其他构件的组成部分而单独地存在,诸如引入一些逻辑判断器件 或者模块,或者以软件方式构成为逻辑运算或判断方面的函数。
按照本发明,上述涉及的相应功能单元或者模块都可以通过有线和 /或无线方式相互通信并且相互协作,以便实现数据传输、数据共享和 同步。
图6示出按照本发明提出的一种反向编程的方法100的示例性流程 图,其中受控对象在控制指令的作用下产生所述行为。所述方法100包 括如下步骤:
第一步骤101,获取表征所述受控对象行为的行为特征数据;
第二步骤102,对所述获取的行为特征数据进行分析处理从而生成 相应的可视化程序,其中所述生成的可视化程序包括各可调整的参数和 用于结合所述参数以控制所述受控对象的各程序步骤。
在此,受控对象可以理解为在可编程玩具领域中可在相应的控制指 令的作用下产生特定行为的实体物体和/或虚拟物体,如例如根据上述 实施例所述的玩具汽车。所述控制指令可以理解为任何通过有线和/或 无线通信方式传送给受控对象并使得受控对象产生特定行为的可执行 的程序或程序序列。特别是该控制指令就可以是可编辑的可视化程序或 者程序序列。在此所述的实体物体可以包括例如玩具机器人、玩具汽车、 玩偶、玩具飞行器等,这些实体物体均可以有线和/或无线通信方式接 收控制指令并且通过执行这些控制指令产生特定行为。在所述的特定行 为可以包括运动行为(比如玩具车辆)、动作行为(比如变形金刚), 表情行为(比如玩偶)等。
本发明还提供一种存储有计算机程序的计算机可读存储介质,所述 计算机程序被处理器执行时实现所述的编程玩具的反向编程方法的步 骤。其中,所述计算机可读存储介质可以是计算机外设存储设备,或者 是计算机硬盘或者服务器的存储器,还可以是智能终端的存储芯片。尤 其是应用商店中存储应用的服务器的存储器。
本发明还提供一种智能设备,包括所述的编程玩具的反向编程系 统,或者包括所述的存储有计算机程序的计算机可读存储介质。其中, 所述智能设备可以是智能手机、智能手表、智能眼镜、VR设备、投影设 备、机器人、模拟驾驶舱、受控对象本身。
下面通过更多的优选例/变化来,对本发明进行更为具体的说明。
本发明中,根据连续执行的部分或全部程序步骤,生成程序片段; 其中,所述可视化程序调整界面包括程序片段调整界面,供使用者调整 所述程序片段中的参数和/或程序步骤。在编程过程中,可以将连续执 行的几步程序步骤合并生成一个程序片段。对于全部程序步骤而言,可 以合并生成为一个程序片段,也可以生成为多个程序片段。这样,得到程序片段构成被合并的多个程序步骤的程序集合,程序程序片段被执行 后的效果相当于被合并的多个程序步骤依次执行后的效果。利用所述程 序片段,使用者可以简化可视化程序调整界面中的程序步骤的数量。例 如,如图7所示,右侧的五个程序步骤被选中,合并生成为左侧的一个 程序片段。
在可视化程序调整界面中,与程序步骤同样的,也可以对程序片段 进行调整、组合、复用。例如,可以对程序片段中包括的程序步骤进行 添加、删除、修改。又例如,可以改变多个程序片段之间的执行顺序或 者执行逻辑,以实现多个程序片段之间的特定组合。还例如,对于需要 被执行多次的连续执行的多个程序步骤,可以通过将相应的程序片段重复利用多次的方式予以实现,例如,如图9所示,对应一运动路线的程 序片段被反复执行,则可以令玩具汽车画出图9的图形。在更优选的实 施例中,多个程序片段可以构成一个新的程序片段,或者是一个程序片 段与连续执行的多个程序步骤构成一个新的程序片段;因此,向一个程 序片段中加入另一个程序片段也可以实现对该一个程序片段的调整。
接下来通过更优选的实施例,就如何获取构成程序片段中的程序步 骤进行说明。
在一个优选例中,在所述可视化程序调整界面,根据使用者的操作, 从所述可视化程序或者所述更新的可视化程序中获取构成程序片段的 程序步骤。在所述可视化程序调整界面,呈现全部程序步骤,使用者对 全部程序步骤或者部分程序步骤进行操作,例如多次点选中或者一次复 选中多个程序步骤,而选中的方式可以是使用者对触摸屏的触碰,也可 以是声控等方式实现选中。
在另一个优选例中,从虚拟对象行为记录中获取构成程序片段的程 序步骤;其中,所述虚拟对象行为记录是指,对应于所述受控对象的虚 拟对象,按照所述可视化程序或者所述更新的可视化程序执行所产生行 为的记录。例如,受控对象为玩具汽车,玩具汽车按照可视化程序进行 运动,运动过程的记录包括玩具汽车的运动轨迹,则当使用者选中其中 一段运动轨迹后,该段运动轨迹对应的程序步骤就构成一个程序片段。 例如,如图8所示,左侧运动轨迹中两个旗帜之间较短的路线被使用者 手动选中,生成右侧的程序片段。
在又一个优选例中,按照设定的时空参数,从所述可视化程序或所 述更新的可视化程序中获取构成程序片段的程序步骤。其中,所述时空 参数可以是位置区域、累积运动距离、绝对运动距离、时间等参数。按 照所述时空参数划分受控对象生成的第一行为的记录尤其是能够实现 自动分割记录得到对应的多个程序片段的作用。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发 明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行 逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、 专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现 相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是 一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬 件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现 方法的软件程序又可以是硬件部件内的结构。
对所提出的实施例的上述说明,使本领域专业技术人员能够实现或 使用本发明。应当理解,以上实施例中所公开的特征,除了有特别说明 的情形外,都可以单独地或者相结合地使用。对这些实施例的多种修改 对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原 理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。 因此,本文所公开的本发明并不局限于所公开的具体实施例,而是意在 涵盖如所附权利要求书所限定的本发明的精神和范围之内的修改。
Claims (22)
1.一种编程玩具的反向编程方法,其特征在于,包括如下步骤:
令一受控对象产生第一行为;
获取表征所述第一行为的行为特征数据;
解析所述行为特征数据从而生成可视化程序,其中所述可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多个程序步骤;
提供一可视化程序调整界面,供使用者调整所述参数和/或所述程序步骤;
接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序;
将所述更新的可视化程序作用于所述受控对象,令所述受控对象产生第二行为。
2.根据权利要求1所述的编程玩具的反向编程方法,其特征在于,包括如下步骤:
根据连续执行的部分或全部程序步骤,生成程序片段;其中,所述可视化程序调整界面包括程序片段调整界面,供使用者调整所述程序片段中的参数和/或程序步骤。
3.根据权利要求2所述的编程玩具的反向编程方法,其特征在于,所述部分或全部程序步骤,通过如下任一种方式获取:
-在所述可视化程序调整界面,根据使用者的操作,从所述可视化程序或者所述更新的可视化程序中获取;
-从虚拟对象行为记录中获取;其中,所述虚拟对象行为记录是指,对应于所述受控对象的虚拟对象,按照所述可视化程序或者所述更新的可视化程序执行所产生行为的记录;
-按照设定的时空参数,从所述可视化程序或所述更新的可视化程序中获取。
4.根据权利要求2所述的编程玩具的反向编程方法,其特征在于,所述的接收使用者对所述参数和/或所述程序步骤的调整的步骤,包括如下步骤:
接收使用者对所述程序片段的如下任一种或任多种操作:
-调整;
-组合;
-复用。
5.根据权利要求1所述的编程玩具的反向编程方法,其特征在于,所述受控对象为实体物体或虚拟物体;
所述实体物体的行为特征数据,包括通过一个或多个传感器获取的传感器数据和/或对实体物体的用户操作数据;
所述虚拟物体的行为特征数据,包括来自于所述虚拟物体的软件载体中由软件开发工具包收集的数据。
6.根据权利要求1所述的编程玩具的反向编程方法,其特征在于,所述获取表征所述第一行为的行为特征数据的步骤,持续进行或者通过触发方式实现。
7.根据权利要求1所述的编程玩具的反向编程方法,其特征在于,所述生成的相应的可视化程序基于不同的受控对象包括不同种类和/或不同数量的代码块。
8.根据权利要求1所述的编程玩具的反向编程方法,其特征在于,在所述的解析所述行为特征数据从而生成可视化程序的步骤中,根据不同的受控对象采用相应不同的算法。
9.根据权利要求1所述的编程玩具的反向编程方法,其特征在于,在所述的接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序的步骤中,通过手动方式实现,或者通过机器学习的监督学习算法实现。
10.根据权利要求1所述的编程玩具的反向编程方法,其特征在于,在所述的生成更新的可视化程序的步骤之前,分类地基于不同受控对象对所述程序步骤进行存储。
11.一种编程玩具的反向编程系统,其特征在于,包括如下模块:
第一行为产生模块:令一受控对象产生第一行为;
特征数据获取模块:获取表征所述第一行为的行为特征数据;
解析模块:解析所述行为特征数据从而生成可视化程序,其中所述可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多个程序步骤;
界面模块:提供一可视化程序调整界面,供使用者调整所述参数和/或所述程序步骤;
可视化模块:接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序;
第二行为产生模块:将所述更新的可视化程序作用于所述受控对象,令所述受控对象产生第二行为。
12.根据权利要求11所述的编程玩具的反向编程系统,其特征在于,包括如下模块:
程序片段生成模块:根据连续执行的部分或全部程序步骤,生成程序片段;其中,所述可视化程序调整界面包括程序片段调整界面,供使用者调整所述程序片段中的参数和/或程序步骤。
13.根据权利要求12所述的编程玩具的反向编程系统,其特征在于,所述部分或全部程序步骤,通过如下任一种方式获取:
-在所述可视化程序调整界面,根据使用者的操作,从所述可视化程序或者所述更新的可视化程序中获取;
-从虚拟对象行为记录中获取;其中,所述虚拟对象行为记录是指,对应于所述受控对象的虚拟对象,按照所述可视化程序或者所述更新的可视化程序执行所产生行为的记录;
-按照设定的时空参数,从所述可视化程序或所述更新的可视化程序中获取。
14.根据权利要求12所述的编程玩具的反向编程系统,其特征在于,所述的接收使用者对所述参数和/或所述程序步骤的调整的方式,包括如下方式:
接收使用者对所述程序片段的如下任一种或任多种操作:
-调整;
-组合;
-复用。
15.根据权利要求11所述的编程玩具的反向编程系统,其特征在于,所述受控对象为实体物体或虚拟物体;
所述实体物体的行为特征数据,包括通过一个或多个传感器获取的传感器数据和/或对实体物体的用户操作数据;
所述虚拟物体的行为特征数据,包括来自于所述虚拟物体的软件载体中由软件开发工具包收集的数据。
16.根据权利要求11所述的编程玩具的反向编程系统,其特征在于,所述获取表征所述第一行为的行为特征数据的方式,持续进行或者通过触发方式实现。
17.根据权利要求11所述的编程玩具的反向编程系统,其特征在于,所述生成的相应的可视化程序基于不同的受控对象包括不同种类和/或不同数量的代码块。
18.根据权利要求11所述的编程玩具的反向编程系统,其特征在于,在所述的解析所述行为特征数据从而生成可视化程序的方式中,根据不同的受控对象采用相应不同的算法。
19.根据权利要求11所述的编程玩具的反向编程系统,其特征在于,在所述的接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序的方式中,通过手动方式实现,或者通过机器学习的监督学习算法实现。
20.根据权利要求11所述的编程玩具的反向编程系统,其特征在于,在所述的生成更新的可视化程序之前,分类地基于不同受控对象对所述程序步骤进行存储。
21.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
22.一种智能设备,其特征在于,包括权利要求11至20中任一项所述的编程玩具的反向编程系统,或者包括权利要求21所述的存储有计算机程序的计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/119915 WO2019114636A1 (zh) | 2017-12-12 | 2018-12-07 | 编程玩具的反向编程的方法及系统、设备、介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2017113153263 | 2017-12-12 | ||
CN201711315326.3A CN108182062A (zh) | 2017-12-12 | 2017-12-12 | 一种反向编程的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109814875A true CN109814875A (zh) | 2019-05-28 |
Family
ID=62546055
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711315326.3A Pending CN108182062A (zh) | 2017-12-12 | 2017-12-12 | 一种反向编程的方法及系统 |
CN201811160749.7A Pending CN109814875A (zh) | 2017-12-12 | 2018-09-30 | 编程玩具的反向编程的方法及系统、设备、介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711315326.3A Pending CN108182062A (zh) | 2017-12-12 | 2017-12-12 | 一种反向编程的方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN108182062A (zh) |
WO (1) | WO2019114636A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112189185A (zh) * | 2019-07-31 | 2021-01-05 | 深圳市大疆创新科技有限公司 | 一种编程系统、方法及程序执行设备 |
CN112396874A (zh) * | 2019-08-16 | 2021-02-23 | 温瓌岸 | 程序设计教学装置 |
CN112489531A (zh) * | 2020-12-10 | 2021-03-12 | 杭州优必学科技有限公司 | 一种基于距离的实物编程控制方法 |
CN112785903A (zh) * | 2020-06-14 | 2021-05-11 | 杭州优必学科技有限公司 | 一种基于颜色识别进行控制的编程装置及方法 |
CN112775977A (zh) * | 2020-06-12 | 2021-05-11 | 杭州优必学科技有限公司 | 一种基于电阻进行控制的编程装置及方法 |
CN112801250A (zh) * | 2020-06-12 | 2021-05-14 | 杭州优必学科技有限公司 | 一种采用无线射频进行控制的编程装置及方法 |
CN113094282A (zh) * | 2021-04-28 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 程序块运行方法、装置、设备及存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182062A (zh) * | 2017-12-12 | 2018-06-19 | 上海葡萄纬度科技有限公司 | 一种反向编程的方法及系统 |
CN110825121B (zh) * | 2018-08-08 | 2023-02-17 | 纬创资通股份有限公司 | 控制装置与无人机控制方法 |
CN109240682B (zh) * | 2018-09-30 | 2021-11-30 | 上海葡萄纬度科技有限公司 | 基于ar的交互编程系统、方法、介质及智能设备 |
CN110673874B (zh) * | 2019-09-11 | 2023-06-13 | 苏州德创测控科技有限公司 | 用于向导式编程软件的变更配置的方法、存储介质、设备 |
CN113568611B (zh) * | 2020-10-12 | 2024-03-08 | 宁波舜宇智能科技有限公司 | 物流路径的图形化生成方法、设备、电子装置和存储介质 |
CN115445218B (zh) * | 2022-09-05 | 2024-07-23 | 上海布鲁可教育科技有限公司 | 寻线玩具中的图像处理方法及指令卡结构 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136208A (zh) * | 2011-03-30 | 2011-07-27 | 中国科学院软件研究所 | 一种实物编程方法和系统 |
CN103472743A (zh) * | 2013-09-23 | 2013-12-25 | 彭武 | 可视化步骤编程法 |
CN104461528A (zh) * | 2014-12-01 | 2015-03-25 | 陕西海泰电子有限责任公司 | 一种可视化生成面向信号应用程序代码的方法及装置 |
US20160004544A1 (en) * | 2013-02-19 | 2016-01-07 | Quick Eye Technologies Inc., | Data visualization techniques |
CN105739974A (zh) * | 2016-01-25 | 2016-07-06 | 杭州电子科技大学 | 一种图形化编程控制电子积木的方法 |
CN106573378A (zh) * | 2014-06-12 | 2017-04-19 | 普雷-艾公司 | 通过机器人反馈增强编程教育的系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150033453A (ko) * | 2013-09-24 | 2015-04-01 | 주식회사 엘지씨엔에스 | 빅데이터 처리 방법, 이를 수행하는 빅데이터 처리 장치 및 이를 저장하는 기록매체 |
CN104679488B (zh) * | 2013-11-29 | 2018-12-21 | 亿阳信通股份有限公司 | 一种流程定制开发平台及流程定制开发方法 |
CN104834516B (zh) * | 2015-04-03 | 2018-02-16 | 周凡 | 全局视觉足球机器人决策子系统的策略调控模块及其方法 |
CN105204859B (zh) * | 2015-09-24 | 2018-09-25 | 广州视睿电子科技有限公司 | 动画管理方法及其系统 |
CN108182062A (zh) * | 2017-12-12 | 2018-06-19 | 上海葡萄纬度科技有限公司 | 一种反向编程的方法及系统 |
-
2017
- 2017-12-12 CN CN201711315326.3A patent/CN108182062A/zh active Pending
-
2018
- 2018-09-30 CN CN201811160749.7A patent/CN109814875A/zh active Pending
- 2018-12-07 WO PCT/CN2018/119915 patent/WO2019114636A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136208A (zh) * | 2011-03-30 | 2011-07-27 | 中国科学院软件研究所 | 一种实物编程方法和系统 |
US20160004544A1 (en) * | 2013-02-19 | 2016-01-07 | Quick Eye Technologies Inc., | Data visualization techniques |
CN103472743A (zh) * | 2013-09-23 | 2013-12-25 | 彭武 | 可视化步骤编程法 |
CN106573378A (zh) * | 2014-06-12 | 2017-04-19 | 普雷-艾公司 | 通过机器人反馈增强编程教育的系统和方法 |
CN104461528A (zh) * | 2014-12-01 | 2015-03-25 | 陕西海泰电子有限责任公司 | 一种可视化生成面向信号应用程序代码的方法及装置 |
CN105739974A (zh) * | 2016-01-25 | 2016-07-06 | 杭州电子科技大学 | 一种图形化编程控制电子积木的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112189185A (zh) * | 2019-07-31 | 2021-01-05 | 深圳市大疆创新科技有限公司 | 一种编程系统、方法及程序执行设备 |
WO2021016972A1 (zh) * | 2019-07-31 | 2021-02-04 | 深圳市大疆创新科技有限公司 | 一种编程系统、方法及程序执行设备 |
CN112396874A (zh) * | 2019-08-16 | 2021-02-23 | 温瓌岸 | 程序设计教学装置 |
CN112775977A (zh) * | 2020-06-12 | 2021-05-11 | 杭州优必学科技有限公司 | 一种基于电阻进行控制的编程装置及方法 |
CN112801250A (zh) * | 2020-06-12 | 2021-05-14 | 杭州优必学科技有限公司 | 一种采用无线射频进行控制的编程装置及方法 |
CN112785903A (zh) * | 2020-06-14 | 2021-05-11 | 杭州优必学科技有限公司 | 一种基于颜色识别进行控制的编程装置及方法 |
CN112785903B (zh) * | 2020-06-14 | 2022-10-25 | 杭州优必学科技有限公司 | 一种基于颜色识别进行控制的编程装置及方法 |
CN112489531A (zh) * | 2020-12-10 | 2021-03-12 | 杭州优必学科技有限公司 | 一种基于距离的实物编程控制方法 |
CN113094282A (zh) * | 2021-04-28 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 程序块运行方法、装置、设备及存储介质 |
CN113094282B (zh) * | 2021-04-28 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 程序块运行方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019114636A1 (zh) | 2019-06-20 |
CN108182062A (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109814875A (zh) | 编程玩具的反向编程的方法及系统、设备、介质 | |
US11420115B2 (en) | Automated dynamic custom game content generation | |
Sok et al. | Editing dynamic human motions via momentum and force | |
US11673049B2 (en) | Operator interface for automated game content generation | |
US11291915B1 (en) | Automated prediction of user response states based on traversal behavior | |
US11235241B2 (en) | Route navigation system within a game application environment | |
US11465052B2 (en) | Game definition file | |
CN109191570A (zh) | 游戏角色脸部模型的调整方法、装置、处理器及终端 | |
US11565182B2 (en) | Parametric player modeling for computer-implemented games | |
Palanisamy | Hands-On Intelligent Agents with OpenAI Gym: Your guide to developing AI agents using deep reinforcement learning | |
US11738272B2 (en) | Automated generation of custom content for computer-implemented games | |
US12083436B2 (en) | Automated assessment of custom game levels | |
US11806624B2 (en) | On device game engine architecture | |
US20220152512A1 (en) | Method for Training AI Bot In Computer Game | |
JP3507452B2 (ja) | 最適状態フィードバックにより協調化された群集アニメーション生成方法 | |
CN107229459A (zh) | 结合程序包创设新行动应用程序的方法、行动装置及系统 | |
US11068284B2 (en) | System for managing user experience and method therefor | |
CN108284445A (zh) | 个性化机器人定制系统 | |
KR102106905B1 (ko) | 스마트 컨텐츠를 제어하는 IoT 완구 시스템 | |
KR20230146221A (ko) | 규칙기반 및 딥러닝기반 인공지능 컴퓨터 그래픽 게임 프로그래밍 시스템 | |
CN112396874A (zh) | 程序设计教学装置 | |
Sheehan | Parallelism in the Icicle programming environment | |
Han et al. | Research on Interactive Animation Design Based on Handheld Mobile Terminals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190528 |
|
RJ01 | Rejection of invention patent application after publication |