CN108182062A - 一种反向编程的方法及系统 - Google Patents
一种反向编程的方法及系统 Download PDFInfo
- Publication number
- CN108182062A CN108182062A CN201711315326.3A CN201711315326A CN108182062A CN 108182062 A CN108182062 A CN 108182062A CN 201711315326 A CN201711315326 A CN 201711315326A CN 108182062 A CN108182062 A CN 108182062A
- Authority
- CN
- China
- Prior art keywords
- controll plant
- visualization procedure
- behavior
- parameter
- data
- 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
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)设计开发的一款面向少年的简易编程工具Scratch。这个软件的特点是:使用者可以不认识英文单词,也可以不会使用键盘。构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动模块到程序编辑栏就可以了。其中主要涉及可以用来选择的功能模块和由此编辑出的程序代码,编辑好的程序代码可以执行用于控制某个对象执行相应的运动、交互、形态变化、表情改变以及相应的发出声音。一般而言,编程能力需要用户拥有一定的编程技术知识以及逻辑思考能力,而这对于没有经过系统学习编程的用户来说,在具体操作中容易遇到问题,或者无法在操作中完成预期的效果,感觉枯燥乏味,从而放弃学习。因此,在将编辑好的程序代码执行用于控制某个受控对象(其中例如包括实体对象和虚拟对象)执行相应的运动、交互、形态变化、表情改变以及相应的发出声音的过程中,由于执行环境的多样性以及执行过程中的具体情况的变化,受控对象极其容易产生令用户并不是太满意的执行效果,或者由于用户可能在美学方面的高要求从而使得执行过程有待优化,这样就需要一种可能,也就是用户可以通过对编程技巧要求并不高的途径(例如上述图形化编程环境)实现对受控对象的执行过程进行改变或者进一步调整。
发明内容
因此本发明的目的在于,在可编程玩具领域中,提供如下可能,即通过解析受控对象的行为并且生成可视化并且可编辑的程序例如可视化程序,从而帮助用户形象具体地认知物体行为,进而启发用户运用自己的想象力和创造力可以亲自参与到编程中。
按照第一方面,本发明提出一种反向编程的方法,其中受控对象在控制指令的作用下产生行为,所述方法包括如下步骤:
获取表征所述受控对象行为的行为特征数据;
对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序,其中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤。
按照本发明的第一方面提出的方法的构思在于,以一种反向思维和反向操作的方式,将在控制指令的作用下结合具体的执行环境产生的受控对象的实际行为重新解析为相应的可视化程序,该可视化程序对于没有经过系统学习编程的用户来说形象、生动、容易理解,该可视化程序可以包括一个或多个可调整的参数和用于控制受控对象的一个或多个程序步骤。
在此,受控对象可以理解为在可编程玩具领域中可在相应的控制指令的作用下产生特定行为的实体物体或虚拟物体。所述控制指令可以理解为任何通过有线和/或无线通信方式传送给受控对象并使得受控对象产生特定行为的可执行的程序或程序序列。特别是该控制指令就可以是可编辑的并且可由受控对象执行的可视化程序或者程序序列。在此所述的实体物体可以包括例如玩具机器人、玩具汽车、玩偶、玩具飞行器等,这些实体物体均可以有线和/或无线通信方式接收控制指令并且通过执行这些控制指令产生特定行为。在此,所述受控对象的行为可以理解为包括运动行为(比如玩具车辆)、动作行为(比如变形金刚),表情行为(比如玩偶)等。
有利地,按照本发明的第一方面提出的方法还可以包括:适应性调整所述参数和/或修改所述程序步骤,生成更新的可视化程序;将所述更新的可视化程序用于所述受控对象,根据所述受控对象执行后的结果确定是否需要对所述更新的可视化程序进行再次修改。由此可以以一种通过实际应用执行获得反馈的方式,在将在控制指令的作用下结合具体的执行环境产生的受控对象的实际行为重新解析为相应的可视化程序之后,针对该可视化程序包括的一个或多个可调整的参数和用于控制受控对象的一个或多个程序步骤根据需要进行相应调整,从而实现对该解析后生成的可视化程序的更新或修改,然后通过将更新或修改的可视化程序重新用于该受控对象,根据应用的结果来反馈更新或修改的效果,从而实现对该可视化程序的优化调整。其优点还在于,由于图形化编程环境的上述诸多优点,自然是用户参与编程的优选方式和编程环境。
有利地,所述获取表征所述受控对象行为的行为特征数据的步骤可以持续进行。这可以理解为,该步骤从所述受控对象接收控制指令并且通过执行控制指令产生行为开始可以一直在进行中。其优点在于,可以比较全面地监控受控对象在控制指令下的行为,从而随时监控其行为方式,尤其是当在执行过程中会出现突然或者意想不到的情况下是非常有利的。
有利地,所述获取表征所述受控对象行为的行为特征数据的步骤可以通过触发方式实现。这可以理解为,所述获取表征所述受控对象行为的行为特征数据的步骤可以根据需要按照用户的意愿选择性地进行,比如通过触发方式。这表示,获取该受控对象的行为特征数据的过程非自动运行,有明确的开始点和结束点,比如在具体实现中可以通过比如一个或两个实体或者虚拟按钮控制的方式来实现,比如点击开始按钮表示开始而点击结束按钮表示该过程结束。自然其他任何能实现同样功能的方式也都是可以考虑的。
有利地,当所述受控对象是实体物体的情况下,所述行为特征数据可以包括通过一个或多个传感器获取的传感器数据和/或自动记录的用户操作数据。在此所述一个或多个传感器可以理解为包括安装在受控对象内部和/或受控对象之外的用于检测特定物理量的传感器,例如速度传感器、加速度传感器、转速传感器、位移传感器、间距传感器、陀螺仪等。用户操作数据通常可以包括例如加速、减速、左转、右转等以及相应的操作作用程度。
一般地,当所述受控对象是实体物体的情况下,通常综合考虑该实体受控对象在执行相应控制命令期间的传感器数据和用户操作数据来实现对受控对象的行为解析。在此应当阐明的是,之所以在实体物体的情况下采用传感器数据和用户操作数据来综合体现实体物体的行为以便反应其实际行为情况,是因为在通过对比传感器的数据诸如加速度传感器的数据与用户操作数据比如加速、减速的数据,可以考虑通过操作数据预设的预期值与传感器具体体现的实际参数的差异,从而得知通过传感器得知的物体实际行为与通过用户操作数据想要实现的物体行为之间是否存在不同,从而得知物体行为是否存在异常,以此判断是否要引入校准策略诸如校准算法等。例如,假如受控对象是在地上运动的玩具车,那么基于地面的不同摩擦系数、障碍物、甚至风力情况等就可能导致其执行用户操作数据过程中产生差异。当然其他传感器检测的物理量也应存在相似的情况。
有利地,当所述受控对象是虚拟物体的情况下,所述行为特征数据可以包括来自于所述虚拟物体的软件载体中由软件开发工具包(SDK) 收集的数据。在此,通常按照虚拟物体的行为方式设定数据采集点。例如,当所述受控对象是一款运行在平板电脑上的赛车游戏时,虚拟物体的行为特征数据主要包括涉及虚拟摇杆、油门、刹车的相关参数和数据,要采集这些数据就要在游戏研发时接入数据采集的软件开发工具包 (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的一种示例性结构的方框图;
图5a和5b示出在按照图4的系统200中通过程序更新单元2021 对可视化程序进行修改更新的示意图;
图6示出按照本发明提出的一种用于反向编程的方法100的示例性流程图。
具体实施方式
图1示出按照本发明提出的一种用于反向编程的系统200的示例性的方框图,其中包括受控对象201、获取单元202以及分析处理单元203,其中受控对象201在控制指令的作用下产生特定的行为,该行为可以包括运动行为(比如玩具车辆)、动作行为(比如变形金刚),表情行为 (比如玩偶)等。以下结合一个具体的实施例对该系统进行阐述。
在该实施例中,受控对象201构成为玩具汽车201,如图2示出玩具车辆201的示意图。其中,ROBO表示玩具汽车201,虚线表示其运动轨迹,箭头表示运动方向。
按照本发明,获取单元202用于获取表征所述受控对象行为的行为特征数据。在该实施例中,行为特征数据包括安装在玩具汽车201上的构成为传感器的码盘和陀螺仪上产生的角度、方向等传感器数据以及记录的用户操作数据。在该实施例中,获取单元202构成为安装有特定的 App的智能手机202,当然,其他智能装置,如平板电脑,智能玩具手柄等都是可以考虑的。在此,该安装有特定App的智能手机可以实现通过无线通信方式获取到安装在玩具汽车上的构成为传感器的码盘和陀螺仪的产生的角度、方向等数据以及记录的用户操作数据,该用户操作数据例如加速、减速、左转、右转等。在该实施例中该无线通信方式通过蓝牙实现,自然,对于该实施例而言,其他适合的无线通信方式如 Wifi、近场通信(NFC)、EnOcean、Z igbee、Z-Wave等都是可以考虑的。
按照本发明,分析处理单元203用于对上述获取的行为特征数据进行分析处理从而生成相应的可视化程序,其中生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤。在该实施例中,分析处理单元203构成为云服务器203,自然也可以考虑的是,分析处理单元203也可以构成为个人计算机或其他类型的智能装置中的中央处理器或者运算器。
在该实施例中,一方面该安装有特定的App的智能手机202可以通过蓝牙发出控制指令实现玩具汽车201的相应运动,比如直行、转弯等;另一方面智能手机202也可以将获取的传感器数据和记录的用户操作数据经由蓝牙同步到云服务器203。将这些数据同步到云服务器203中主要是出于数据的存储、同步、计算以及分析处理方面的考虑。在该实施例中,数据按照定时、定量的原则,从安装有特定的App的智能手机202 (在该实施例中也可以称为遥控器202)同步到云服务器203,这些同步的数据在云服务器203中按照不同类型进行分类存储,比如在该实施例中该玩具汽车201的数据与其他比如变形金刚、遥控飞机之类的受控对象分隔地存储,从而当这些数据调用使用时也需要按照类别进行调用,从而完全符合接口要求的数据才能应用到对应类型的受控对象或者产品上。
在该实施例中,通过该特定App的设计,配备有两个触发按钮,即开始和结束按钮。由此可以实现,通过触发方式进行获取传感器数据和记录用户操作数据。也就是说,通过按下开始按钮,安装在手机中的App 开始采集传感器数据和记录用户操作数据,如果按下结束按钮,那么结束采集传感器数据和记录用户操作数据,自然其他任何能实现同样功能的方式也都是可以考虑的。同样在其他情况下或者在其他实施例中,该过程不设有触发而是持续进行也是可以考虑的。
在该实施例中,云服务器203对上述同步的包括用户操作数据和传感器数据的行为特征数据进行分析处理从而生成相应的可视化程序。该过程在云服务器203中实现。其中由此生成的相应可视化程序基于不同的受控对象可以包括不同种类和/或不同数量的代码块。在该实施例中,代码块包括逻辑代码块和行为代码块。在此可以将逻辑代码块理解为循环、跳转、比较判断等诸如此类的代码块;而行为代码块可理解为控制受控对象的行为诸如运动或动作等的代码块。
图3示出通过云服务器203生成的可视化程序示意图。该程序包括多个代码块并且其中的内容为:首先,程序开始,循环执行其中的代码块15次,该代码块表示玩具汽车201以其存储的路径(路径即系列的、相关联的程序命令的集合)为指引进行顺时针移动,循环结束后进入下一个循环,循环执行其中的代码块25次,该代码块表示以其存储的路径为指引进行顺时针移动,循环结束后玩具汽车201停止移动。
按照本发明,在对行为特征数据进行分析处理从而生成相应的可视化程序过程中,可以根据不同的受控对象采用相应不同的算法。结合该实施例,在该玩具汽车201的行为特征数据进行分析处理过程中,获取的相应数据主要包含速度(比如参数范围为0——100)、方向(参数范围为0、1、-1,其中0表示没有变化,1表示相对位置的左转,-1表示相对位置的右转)、角度(参数范围-180度——180度,相对位置)等变量,从而在考虑所有上述玩具汽车201相关的数据的情况下,按预设规则将其转化为一组或多组可视化程序或代码块。
此外,在该实施例中,如图4示出按照图1的系统200中的获取单元202的一种示例性结构的方框图。在图4中除了同样示出的构成为受控对象的玩具汽车201和构成为分析处理单元的云服务器203之外,还示出在在该实施例中构成为获取单元202的组成部分的程序更新单元 2021和判断单元2022。在该实施例中,程序更新单元2021构成为用于相应地调整所述参数和/或修改所述程序步骤,生成更新的可视化程序。在该实施例中,程序更新单元2021实现为安装在手机中特定的App中通过软件实现的输入和调节机构,通过该输入和调节机构可以调整相应参数,修改程序步骤(在该实施例中为代码块)。自然也可以考虑的是程序更新单元2021可以构成为智能装置如智能电话、平板电脑或游戏手柄中的实体输入和/或调节装置,该实体输入和/或调节装置在与特定软件结合的情况下实现对参数进行调整,对程序步骤(在此为程序块) 进行修改,也就是增加或减少。当然,程序更新单元2021也可以不作为获取单元202的组成部分而单独地存在。
在该实施例中,一方面,用户可以通过安装在手机202中特定的App 手动修改所述程序步骤,如图5a和5b示出在按照图1的系统200中通过程序更新单元2021对可视化程序进行修改更新的示意图,其中图5a 表示修改之前的可视化程序,而图5b表示修改之后的可视化程序,其区别在于,针对玩具汽车201调整了三个左旋命令的参数,使得其运行路径发生变化。手动修改的优点在于,可以充分调动用户的积极性以及激发用户的创造性,亲身参与到编程的过程中,享受其中的乐趣,并且其自身创造出的别出心裁的程序或程序序列也可以在保存之后由其他用户参考使用。
另一方面,生成更新的可视化程序的步骤也可以通过机器学习的监督学习算法实现。在该实施例中,由于玩具汽车201的行为可能存在不够优美的路径曲线、停顿,不够柔和的动作表达,通过机器学习的监督学习算法可以自动为玩具汽车201设定正确、完美的走位,从而形成受控对象行为的数据模型,基于此模型优化用户选择的物体行为片段,自动调整其中参数,使其符合规则、趋于完美。另一方面,这种自动优化可以减少或者降低由于用户操作不当或者不同的周围环境对涉及的装置或设备造成的损害,如频繁的加速、减速、接近极限甚至不合理的转向都可能影响供电装置如电池以及执行器如电机的使用寿命。
按照本发明,图4中示出的判断单元2022用于将所述更新的可视化程序用于所述受控对象,根据所述受控对象执行后的结果确定来判断是否需要对所述更新的可视化程序进行再次修改,在该实施例中判断单元2022可以在安装在智能手机上的特定的App中通过软件方式实现。当然,在其他实施例中,其他任何能实现该功能的方式或者途径都是可以考虑的,比如判断单元2022可以不作为其他构件的组成部分而单独地存在,诸如引入一些逻辑判断器件或者模块,或者以软件方式构成为逻辑运算或判断方面的函数。
按照本发明,上述涉及的相应功能单元或者模块都可以通过有线和 /或无线方式相互通信并且相互协作,以便实现数据传输、数据共享和同步。
图6示出按照本发明提出的一种反向编程的方法100的示例性流程图,其中受控对象在控制指令的作用下产生所述行为。所述方法100包括如下步骤:
第一步骤101,获取表征所述受控对象行为的行为特征数据;
第二步骤102,对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序,其中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤。
在此,受控对象可以理解为在可编程玩具领域中可在相应的控制指令的作用下产生特定行为的实体物体和/或虚拟物体,如例如根据上述实施例所述的玩具汽车201。所述控制指令可以理解为任何通过有线和/ 或无线通信方式传送给受控对象并使得受控对象产生特定行为的可执行的程序或程序序列。特别是该控制指令就可以是可编辑的可视化程序或者程序序列。在此所述的实体物体可以包括例如玩具机器人、玩具汽车、玩偶、玩具飞行器等,这些实体物体均可以有线和/或无线通信方式接收控制指令并且通过执行这些控制指令产生特定行为。在所述的特定行为可以包括运动行为(比如玩具车辆)、动作行为(比如变形金刚),表情行为(比如玩偶)等。
对所提出的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。应当理解,以上实施例中所公开的特征,除了有特别说明的情形外,都可以单独地或者相结合地使用。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本文所公开的本发明并不局限于所公开的具体实施例,而是意在涵盖如所附权利要求书所限定的本发明的精神和范围之内的修改。
Claims (16)
1.一种反向编程的方法(100),其中受控对象在控制指令的作用下产生行为,所述方法包括如下步骤:
获取表征所述受控对象行为的行为特征数据(101);
对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序(102),其中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤。
2.根据权利要求1所述的方法(100),其特征在于,还包括:
适应性调整所述参数和/或修改所述程序步骤,生成更新的可视化程序;
将所述更新的可视化程序用于所述受控对象,根据所述受控对象执行后的结果确定是否需要对所述更新的可视化程序进行再次修改。
3.根据权利要求1或2所述的方法(100),其特征在于,所述受控对象为实体物体或虚拟物体。
4.根据权利要求1或2所述的方法(100),其特征在于,所述获取表征所述受控对象行为的行为特征数据的步骤持续进行。
5.根据权利要求1或2所述的方法(100),其特征在于,所述获取表征所述受控对象行为的行为特征数据的步骤通过触发方式实现。
6.根据权利要求3所述的方法(100),其特征在于,当所述受控对象是实体物体的情况下,所述行为特征数据包括通过一个或多个传感器获取的传感器数据和/或自动记录的用户操作数据。
7.根据权利要求3所述的方法(100),其特征在于,当所述受控对象是虚拟物体的情况下,所述行为特征数据包括来自于所述虚拟物体的软件载体中由软件开发工具包(SDK)收集的数据。
8.根据权利要求1或2所述的方法(100),其特征在于,所述生成的相应的可视化程序基于不同的受控对象包括不同种类和/或不同数量的代码块。
9.根据权利要求1或2所述的方法(100),其特征在于,在对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序中,根据不同的受控对象采用相应不同的算法。
10.根据权利要求2所述的方法(100),其特征在于,在调整所述参数和/或修改所述程序步骤生成更新的可视化程序的步骤中通过手动方式实现。
11.根据权利要求2所述的方法(100),其特征在于,在调整所述参数和/或修改所述程序步骤生成更新的可视化程序的步骤中通过机器学习的监督学习算法实现。
12.根据权利要求2所述的方法(100),其特征在于,在相应地调整所述参数和/或修改所述程序步骤生成更新的可视化程序的步骤之前,分类地基于不同受控对象对所述程序步骤进行存储。
13.一种反向编程的系统(200),其中受控对象(201)在控制指令的作用下产生行为,所述系统包括:
获取单元(202),用于获取表征所述受控对象行为的行为特征数据;
分析处理单元(203),用于对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序,其中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤;
其中所述获取单元(202)与所述分析处理单元(203)通过有线和/或无线方式相互通信并且相互协作。
14.根据权利要求13所述的系统(200),其特征在于,所述获取单元还包括:
程序更新单元(2021),用于适应性地调整所述参数和/或修改所述程序步骤,生成更新的可视化程序;
判断单元(2022),用于将所述更新的可视化程序用于所述受控对象,根据所述受控对象执行后的结果确定是否需要对所述更新的可视化程序进行再次修改。
15.根据权利要求13或14所述的系统(200),其特征在于,所述获取单元(202)和分析处理单元(203)一体地构成为一个唯一的单元。
16.根据权利要求13或14所述的系统(200),其特征在于,所述获取单元构成为用于采集来自一个或多个传感器的传感器数据的数据采集装置和/或记录用户操作数据的记录装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711315326.3A CN108182062A (zh) | 2017-12-12 | 2017-12-12 | 一种反向编程的方法及系统 |
CN201811160749.7A CN109814875A (zh) | 2017-12-12 | 2018-09-30 | 编程玩具的反向编程的方法及系统、设备、介质 |
PCT/CN2018/119915 WO2019114636A1 (zh) | 2017-12-12 | 2018-12-07 | 编程玩具的反向编程的方法及系统、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711315326.3A CN108182062A (zh) | 2017-12-12 | 2017-12-12 | 一种反向编程的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108182062A true CN108182062A (zh) | 2018-06-19 |
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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811160749.7A Pending CN109814875A (zh) | 2017-12-12 | 2018-09-30 | 编程玩具的反向编程的方法及系统、设备、介质 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN108182062A (zh) |
WO (1) | WO2019114636A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019114636A1 (zh) * | 2017-12-12 | 2019-06-20 | 上海葡萄纬度科技有限公司 | 编程玩具的反向编程的方法及系统、设备、介质 |
CN110673874A (zh) * | 2019-09-11 | 2020-01-10 | 苏州德创测控科技有限公司 | 用于向导式编程软件的变更配置的方法、存储介质、设备 |
CN110825121A (zh) * | 2018-08-08 | 2020-02-21 | 纬创资通股份有限公司 | 控制装置与无人机控制方法 |
WO2020063132A1 (zh) * | 2018-09-30 | 2020-04-02 | 上海葡萄纬度科技有限公司 | 基于ar的交互编程系统、方法、介质及智能设备 |
CN113568611A (zh) * | 2020-10-12 | 2021-10-29 | 宁波舜宇智能科技有限公司 | 物流路径的图形化生成方法、设备、电子装置和存储介质 |
CN115445218A (zh) * | 2022-09-05 | 2022-12-09 | 上海布鲁可教育科技有限公司 | 寻线玩具中的图像处理方法及指令卡结构 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021016972A1 (zh) * | 2019-07-31 | 2021-02-04 | 深圳市大疆创新科技有限公司 | 一种编程系统、方法及程序执行设备 |
TWM589344U (zh) * | 2019-08-16 | 2020-01-11 | 溫瓌岸 | 程式設計教學裝置及含程式設計教學程式的有形的且非暫時性的電腦可讀介質 |
CN112801250B (zh) * | 2020-06-12 | 2022-08-05 | 杭州优必学科技有限公司 | 一种采用无线射频进行控制的编程装置及方法 |
CN112775977B (zh) * | 2020-06-12 | 2022-08-05 | 杭州优必学科技有限公司 | 一种基于电阻进行控制的编程装置及方法 |
CN112785903B (zh) * | 2020-06-14 | 2022-10-25 | 杭州优必学科技有限公司 | 一种基于颜色识别进行控制的编程装置及方法 |
CN112489531B (zh) * | 2020-12-10 | 2022-08-12 | 杭州优必学科技有限公司 | 一种基于距离的实物编程控制方法 |
CN113094282B (zh) * | 2021-04-28 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 程序块运行方法、装置、设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136208B (zh) * | 2011-03-30 | 2013-01-09 | 中国科学院软件研究所 | 一种实物编程方法和系统 |
WO2014130580A2 (en) * | 2013-02-19 | 2014-08-28 | Quick Eye Technologies Inc. | Data visualization techniques |
CN103472743A (zh) * | 2013-09-23 | 2013-12-25 | 彭武 | 可视化步骤编程法 |
KR20150033453A (ko) * | 2013-09-24 | 2015-04-01 | 주식회사 엘지씨엔에스 | 빅데이터 처리 방법, 이를 수행하는 빅데이터 처리 장치 및 이를 저장하는 기록매체 |
CN104679488B (zh) * | 2013-11-29 | 2018-12-21 | 亿阳信通股份有限公司 | 一种流程定制开发平台及流程定制开发方法 |
SG10201809399VA (en) * | 2014-06-12 | 2018-11-29 | Play I Inc | System and method for reinforcing programming education through robotic feedback |
CN104461528A (zh) * | 2014-12-01 | 2015-03-25 | 陕西海泰电子有限责任公司 | 一种可视化生成面向信号应用程序代码的方法及装置 |
CN104834516B (zh) * | 2015-04-03 | 2018-02-16 | 周凡 | 全局视觉足球机器人决策子系统的策略调控模块及其方法 |
CN105204859B (zh) * | 2015-09-24 | 2018-09-25 | 广州视睿电子科技有限公司 | 动画管理方法及其系统 |
CN105739974A (zh) * | 2016-01-25 | 2016-07-06 | 杭州电子科技大学 | 一种图形化编程控制电子积木的方法 |
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
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019114636A1 (zh) * | 2017-12-12 | 2019-06-20 | 上海葡萄纬度科技有限公司 | 编程玩具的反向编程的方法及系统、设备、介质 |
CN110825121A (zh) * | 2018-08-08 | 2020-02-21 | 纬创资通股份有限公司 | 控制装置与无人机控制方法 |
CN110825121B (zh) * | 2018-08-08 | 2023-02-17 | 纬创资通股份有限公司 | 控制装置与无人机控制方法 |
WO2020063132A1 (zh) * | 2018-09-30 | 2020-04-02 | 上海葡萄纬度科技有限公司 | 基于ar的交互编程系统、方法、介质及智能设备 |
CN110673874A (zh) * | 2019-09-11 | 2020-01-10 | 苏州德创测控科技有限公司 | 用于向导式编程软件的变更配置的方法、存储介质、设备 |
CN113568611A (zh) * | 2020-10-12 | 2021-10-29 | 宁波舜宇智能科技有限公司 | 物流路径的图形化生成方法、设备、电子装置和存储介质 |
CN113568611B (zh) * | 2020-10-12 | 2024-03-08 | 宁波舜宇智能科技有限公司 | 物流路径的图形化生成方法、设备、电子装置和存储介质 |
CN115445218A (zh) * | 2022-09-05 | 2022-12-09 | 上海布鲁可教育科技有限公司 | 寻线玩具中的图像处理方法及指令卡结构 |
Also Published As
Publication number | Publication date |
---|---|
WO2019114636A1 (zh) | 2019-06-20 |
CN109814875A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182062A (zh) | 一种反向编程的方法及系统 | |
US12053883B2 (en) | System and method for reinforcing programming education through robotic feedback | |
US12109488B2 (en) | Automated dynamic custom game content generation | |
US6879862B2 (en) | Selection and control of motion data | |
US11673049B2 (en) | Operator interface for automated game content generation | |
US20230076907A1 (en) | Game definition file | |
US11565182B2 (en) | Parametric player modeling for computer-implemented games | |
US20190111563A1 (en) | Custom Motion Trajectories for Robot Animation | |
US11738272B2 (en) | Automated generation of custom content for computer-implemented games | |
US20230356088A1 (en) | On device game engine architecture | |
US20220088481A1 (en) | Automated game assessment | |
US20100153596A1 (en) | Method for producing a mapping tool, a PC game having the mapping tool and operation method therefore | |
US20230390653A1 (en) | Smoothing server for processing user interactions to control an interactive asset | |
Dickins et al. | Coding for Beginners-Using Scratch (for tablet devices): Coding for Beginners | |
US12145069B2 (en) | Automated prediction of user response states based on traversal behavior | |
US20230405467A1 (en) | Automated prediction of user response states based on traversal behavior | |
KR102106905B1 (ko) | 스마트 컨텐츠를 제어하는 IoT 완구 시스템 | |
WO2023235217A1 (en) | Smoothing server for processing user interactions to control an interactive asset | |
KR20230146221A (ko) | 규칙기반 및 딥러닝기반 인공지능 컴퓨터 그래픽 게임 프로그래밍 시스템 | |
KR20200045106A (ko) | 카드 리더기를 이용한 블록 프로그래밍 시스템 및 이를 이용한 블록 프로그래밍 방법 | |
KR20160063662A (ko) | 완구 제어 시스템 | |
CN112396874A (zh) | 程序设计教学装置 | |
Chim et al. | Wong Ka Ngai, Benny (3035568881) Wan Tsun Wai, Alan (3035569017) | |
KR20160062555A (ko) | 교육용 완구 제어 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180619 |
|
WD01 | Invention patent application deemed withdrawn after publication |