CN112416323A - 控制代码的生成方法、运行方法、装置、设备及存储介质 - Google Patents

控制代码的生成方法、运行方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112416323A
CN112416323A CN202011328061.2A CN202011328061A CN112416323A CN 112416323 A CN112416323 A CN 112416323A CN 202011328061 A CN202011328061 A CN 202011328061A CN 112416323 A CN112416323 A CN 112416323A
Authority
CN
China
Prior art keywords
building block
code
control
target building
logic
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.)
Granted
Application number
CN202011328061.2A
Other languages
English (en)
Other versions
CN112416323B (zh
Inventor
冷晓琨
常琳
黄贤贤
白学林
柯真东
王松
吴雨璁
何治成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leju Shenzhen Robotics Co Ltd
Original Assignee
Leju Shenzhen Robotics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Leju Shenzhen Robotics Co Ltd filed Critical Leju Shenzhen Robotics Co Ltd
Priority to CN202011328061.2A priority Critical patent/CN112416323B/zh
Publication of CN112416323A publication Critical patent/CN112416323A/zh
Application granted granted Critical
Publication of CN112416323B publication Critical patent/CN112416323B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Abstract

本申请提供的控制代码的生成方法、运行方法、装置、设备及存储介质,其中,控制代码的生成方法包括:从积木块组合中确定用于控制硬件设备的至少一个目标积木块,积木块组合中包括按照预设逻辑功能依次连接的多个积木块,根据各目标积木块的逻辑功能,生成各目标积木块对应的预设时长的等待代码,预设时长为硬件设备待执行逻辑功能对应的操作的最大时长,预设时长的等待代码用于暂停目标积木块和目标积木块的下一个积木块之间的逻辑运行,根据积木块组合和等待代码,生成控制代码。本申请通过生成目标积木块对应的等待代码,并根据积木块组合和等待代码生成控制代码,从而能够生成更加复杂、智能的硬件控制代码,进而控制硬件设备执行复杂的操作。

Description

控制代码的生成方法、运行方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种控制代码的生成方法、运行方法、装置、设备及存储介质。
背景技术
随着教育教学技术的快速发展,为提高中小学生的思维能力和实践能力,积木式编程逐渐走进校园。积木式编程是一种从预先提供的积木块集合中选择并组合积木块实现想要的逻辑功能的编程方式。
目前,通常是从预先提供的积木块集合中选择并组合积木块,然后将组合后的积木块转换成硬件设备的控制代码,并下载至硬件设备上,以使硬件设备执行相应的操作。
然而,采用上述方式生成的控制代码无法控制硬件设备执行更复杂的操作。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种控制代码的生成方法、运行方法、装置、设备及存储介质,以解决现有技术中无法控制硬件设备执行更复杂的操作的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请一实施例提供了一种控制代码的生成方法,所述方法包括:
从积木块组合中确定用于控制硬件设备的至少一个目标积木块,所述积木块组合中包括按照预设逻辑功能依次连接的多个积木块;
根据各所述目标积木块的逻辑功能,生成各所述目标积木块对应的预设时长的等待代码,所述预设时长为所述硬件设备待执行所述逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;
根据所述积木块组合和所述等待代码,生成所述控制代码。
可选地,所述从积木块组合中确定用于控制硬件设备的至少一个目标积木块,包括:
获取所述积木块组合中各积木块的属性参数;
根据所述属性参数从所述积木块组合中确定各所述目标积木块。
可选地,所述根据所述属性参数从所述积木块组合中确定各所述目标积木块,包括:
若所述积木块组合中存在属性参数包括硬件控制参数的积木块,则将所述积木块确定为所述目标积木块。
可选地,所述根据所述积木块组合和所述等待代码,生成所述控制代码,包括:
根据所述积木块组合生成初始控制代码;
根据所述初始控制代码和所述等待代码,生成所述控制代码。
可选地,所述根据所述积木块组合生成初始控制代码,包括:
通过解析所述积木块组合,获取所述积木块组合中各积木块的执行顺序和逻辑功能;
根据各所述积木块的执行顺序和所述逻辑功能,生成所述初始控制代码。
可选地,所述根据所述积木块组合和所述等待代码,生成所述控制代码之后,还包括:
向所述硬件设备发送所述控制代码,以便所述硬件设备根据所述控制代码执行所述预设逻辑功能对应的操作。
可选地,所述向所述硬件设备发送所述控制代码之后,还包括:
接收到所述硬件设备发送的反馈消息,所述反馈消息用于指示所述硬件设备已经运行所述目标积木块对应的逻辑代码;
向所述硬件设备发送执行指令,所述执行指令用于控制所述硬件设备运行所述目标积木块的下一个积木块对应的逻辑代码。
第二方面,本申请一实施例提供了一种控制代码的运行方法,所述方法包括:
接收控制设备发送的控制代码,所述控制代码由积木块组合和用于控制硬件设备的至少一个目标积木块对应的预设时长的等待代码生成,所述预设时长为所述硬件设备待执行所述逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;
在运行各所述目标积木块对应的逻辑代码之后,运行所述目标积木块对应的预设时长的等待代码;
若在所述预设时长内执行完所述逻辑代码对应的操作,则向控制设备发送反馈消息,所述反馈消息用于指示所述硬件设备已经运行所述目标积木块对应的逻辑代码;
接收到所述控制设备发送的执行指令,并运行所述目标积木块的下一个积木块对应的逻辑代码。
第三方面,本申请一实施例提供了一种控制代码的生成装置,包括:
确定模块,用于从积木块组合中确定用于控制硬件设备的至少一个目标积木块,所述积木块组合中包括按照预设逻辑功能依次连接的多个积木块;
生成模块,用于根据各所述目标积木块的逻辑功能,生成各所述目标积木块对应的预设时长的等待代码,所述预设时长为所述硬件设备待执行所述逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;根据所述积木块组合和所述等待代码,生成所述控制代码。
可选地,所述确定模块,具体用于:
获取所述积木块组合中各积木块的属性参数;
根据所述属性参数从所述积木块组合中确定各所述目标积木块。
可选地,所述确定模块,具体用于:
若所述积木块组合中存在属性参数包括硬件控制参数的积木块,则将所述积木块确定为所述目标积木块。
可选地,所述生成模块,具体用于:
根据所述积木块组合生成初始控制代码;
根据所述初始控制代码和所述等待代码,生成所述控制代码。
可选地,所述生成模块,具体用于:
通过解析所述积木块组合,获取所述积木块组合中各积木块的执行顺序和逻辑功能;
根据各所述积木块的执行顺序和所述逻辑功能,生成所述初始控制代码。
可选地,还包括:
发送模块,用于向所述硬件设备发送所述控制代码,以便所述硬件设备根据所述控制代码执行所述预设逻辑功能对应的操作。
可选地,还包括:
接收模块,用于接收到所述硬件设备发送的反馈消息,所述反馈消息用于指示所述硬件设备已经运行所述目标积木块对应的逻辑代码;
发送模块,用于向所述硬件设备发送执行指令,所述执行指令用于控制所述硬件设备运行所述目标积木块的下一个积木块对应的逻辑代码。
第四方面,本申请一实施例提供了一种控制代码的运行装置,包括:
接收模块,用于接收控制设备发送的控制代码,所述控制代码由积木块组合和用于控制硬件设备的至少一个目标积木块对应的预设时长的等待代码生成,所述预设时长为所述硬件设备待执行各所述目标积木块的逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;
处理模块,用于在运行各所述目标积木块对应的逻辑代码之后,运行所述目标积木块对应的预设时长的等待代码;
发送模块,用于若在所述预设时长内执行完所述逻辑代码对应的操作,则向控制设备发送反馈消息,所述反馈消息用于指示所述硬件设备已经运行所述目标积木块对应的逻辑代码;
所述处理模块,用于接收到所述控制设备发送的执行指令,并运行所述目标积木块的下一个积木块对应的逻辑代码。
第五方面,本申请一实施例提供了一种控制设备,包括:
处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当控制设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行第一方面任一项所述的方法。
第六方面,本申请一实施例提供了一种硬件设备,包括:
处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当硬件设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行第二方面所述的方法。
第七方面,本申请一实施例提供了一种存储介质,包括:所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面和第二方面任一项所述的方法。
本申请提供的控制代码的生成方法、运行方法、装置、设备及存储介质,其中,控制代码的生成方法包括:从积木块组合中确定用于控制硬件设备的至少一个目标积木块,积木块组合中包括按照预设逻辑功能依次连接的多个积木块,根据各目标积木块的逻辑功能,生成各目标积木块对应的预设时长的等待代码,预设时长为硬件设备待执行逻辑功能对应的操作的最大时长,预设时长的等待代码用于暂停目标积木块和目标积木块的下一个积木块之间的逻辑运行,根据积木块组合和等待代码,生成控制代码。本申请通过生成目标积木块对应的等待代码,并根据积木块组合和等待代码生成控制代码,从而能够生成更加复杂、智能的硬件控制代码,进而控制硬件设备执行复杂的操作。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种控制代码的生成和运行系统的架构示意图;
图2示出了本申请实施例提供的积木块组合的示意图;
图3示出了本申请实施例提供的控制代码的生成方法的流程示意图一;
图4示出了本申请实施例提供的控制代码的生成方法的流程示意图二;
图5示出了本申请实施例提供的控制代码的生成方法的流程示意图三;
图6示出了本申请实施例提供的控制代码的运行方法的流程示意图;
图7示出了本申请实施例提供的控制代码的生成装置的结构示意图;
图8示出了本申请实施例提供的控制代码的运行装置的结构示意图;
图9示出了本申请实施例提供的控制设备的结构示意图;
图10示出了本申请实施例提供的硬件设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
针对现有技术中根据积木块组合生成硬件设备的控制代码,控制硬件设备执行相应的操作,采用该方式生成的控制代码无法控制硬件设备执行更复杂的操作,并且,该种控制方式只是单向操作,无法感知硬件设备的执行情况。
基于此,本申请提供了一种控制代码的生成方法,通过生成目标积木块对应的预设时长的等待代码,并根据积木块组合和等待代码生成控制代码,从而能够生成更加复杂、智能的硬件控制代码,进而控制硬件设备执行更复杂的操作;并且,本申请还提供了一种控制代码的运行方法,硬件设备在运行各目标积木块对应的逻辑代码之后,运行目标积木块对应的预设时长的等待代码,若在预设时长内执行完逻辑代码对应的操作,则向控制设备发送反馈消息,反馈消息用于指示硬件设备已经运行目标积木块对应的逻辑代码,接收到控制设备发送的执行指令,并运行目标积木块的下一个积木块对应的逻辑代码,从而实现了双向操作,控制设备能够感知硬件设备的执行情况,提高了硬件设备的控制智能化。
图1示出了本申请实施例提供的一种控制代码的生成和运行系统的架构示意图,如图1所示,该系统包括:通信连接的控制设备100和硬件设备200,其中,控制设备100安装有硬件设备200对应的控制软件,通过该控制软件可以生成控制硬件设备200执行相应的操作的控制代码,通常情况下,用户可以通过该控制软件构建具有预设逻辑功能的积木块组合,积木块组合是将多个积木块依次连接得到的,积木块指的是积木式编程中的语句单元,然后根据积木块组合生成控制代码。
其中,积木块组合中多个积木块的连接顺序表示多个积木块的运行顺序,也就是说,根据积木块组合生成的控制代码包括积木块组合中各积木块对应的逻辑代码,硬件设备200在运行该控制代码时,可以依次运行积木块组合中各积木块对应的逻辑代码,也即,根据积木块连接顺序生成控制硬件设备按照顺序执行的控制代码,其中,该控制代码可以为Javascirpt编程语言的代码。
需要说明的是,控制设备100例如可以为手机、平台电脑、台式电脑、专用手柄等,硬件设备200例如可以为人形机器人、机械臂等,本实施例对控制设备100和硬件设备200的具体实现不做特别限定。
图2示出了本申请实施例提供的积木块组合的示意图,如图2所示,积木块组合包括依次连接的积木块1、积木块2、积木块3、积木块4,预设逻辑功能例如可以为蹲下捡红色小球,则积木块1可以用于控制硬件设备200执行下蹲动作,积木块2可以用于实现图像识别功能,也即,定位红色小球的位置信息,积木块3用于控制硬件设备200抬手臂,积木块4用于控制硬件设备200捡红色小球,由此可知,通过积木块1、积木块2、积木块3、积木块4可以控制设备100蹲下捡红色小球。
当然,以上仅仅为一种可能的控制硬件设备的示例,在实际应用中,包括但不限于控制方式。
图3示出了本申请实施例提供的控制代码的生成方法的流程示意图一,如图3所示,本实施例的执行主体可以为控制设备。如图3所示,该方法包括:
S101、从积木块组合中确定用于控制硬件设备的至少一个目标积木块。
其中,积木块组合中包括按照预设逻辑功能依次连接的多个积木块,预设逻辑功能例如可以为蹲下捡红色小球,抬手臂从高处取某个物体,过马路等,本实施例对预设逻辑功能不做特别限定。
积木块组合中包括至少一个目标积木块,目标积木块用于控制硬件设备实现相应的逻辑功能,该逻辑功能例如可以为抬手臂、下蹲、捡球等,类似地,逻辑功能对应的操作例如可以为抬手臂、下蹲、捡球等。
积木块组合中还可以包括除了至少一个目标积木块之外的其它积木块,其它积木块可以为逻辑积木块,例如可以用于执行逻辑算法、数学运算、条件判断等,逻辑积木块例如可以为图2实施例中的积木块2。
在本实施例中,根据积木块组合中各积木块的逻辑功能,可以确定出用于控制硬件设备的至少一个目标积木块。以图2实施例所示的积木块为例,至少一个目标积木块包括积木块1、积木块3、积木块4。
S102、根据各目标积木块的逻辑功能,生成各目标积木块对应的预设时长的等待代码。
其中,预设时长为硬件设备待执行该逻辑功能对应的操作的最大时长,等待代码用于暂停目标积木块和目标积木块的下一个积木块之间的逻辑运行。
根据各目标积木块的逻辑功能,生成各目标积木块对应的预设时长的等待代码,等待代码用于暂停目标积木块和目标积木块的下一个积木块之间的逻辑运行,也就是说,生成需要和硬件设备交互的各目标积木块对应的等待代码,该等待代码会阻塞代码逻辑运行。
需要说明的是,不同的逻辑功能对应的预设时长可以不同,例如下蹲对应的预设时长例如可以为5秒,向前跑10米对应的预设时长例如可以为8s,具体可以根据各逻辑功能而定,本实施例对预设时长的具体取值不做特别限定。
以图2实施例所示的积木块为例,至少一个目标积木块包括积木块1、积木块3、积木块4,则根据各目标积木块的逻辑功能生成该目标积木块对应的预设时长的等待代码,预设时长的等待代码可以为等待代码的运行时长,例如,积木块1用于控制硬件设备执行下蹲动作,那么积木块对应的预设时长的等待代码可以为5秒,也就是说,硬件设备执行下蹲动作的时长可以为5秒。
S103、根据积木块组合和等待代码,生成控制代码。
根据积木块组合和等待代码可以组合生成控制代码,和现有技术相比,在生成控制代码时将为目标积木块对应的预设时长的等待代码作为考虑因素,从而可以更加智能地控制硬件设备,进而控制硬件设备执行更复杂的操作。
本实施例提供的控制代码的生成方法,包括:从积木块组合中确定用于控制硬件设备的至少一个目标积木块,积木块组合中包括按照预设逻辑功能依次连接的多个积木块,根据各目标积木块的逻辑功能,生成各目标积木块对应的预设时长的等待代码,预设时长为硬件设备待执行逻辑功能对应的操作的最大时长,预设时长的等待代码用于暂停目标积木块和目标积木块的下一个积木块之间的逻辑运行,根据积木块组合和等待代码,生成控制代码。本申请通过生成目标积木块对应的等待代码,并根据积木块组合和等待代码生成控制代码,从而能够生成更加复杂、智能的硬件控制代码,进而控制硬件设备执行更复杂的操作。
在一些实施例中,下面结合图4实施例对至少一个目标积木块的获取过程进行说明。图4示出了本申请实施例提供的控制代码的生成方法的流程示意图二,如图4所示,从积木块组合中确定用于控制硬件设备的至少一个目标积木块,包括:
S201、获取积木块组合中各积木块的属性参数。
S202、根据属性参数从积木块组合中确定各目标积木块。
其中,积木块的属性参数用于指示该积木块是否用于控制硬件设备,也就是说,积木块的属性参数用于指示该积木块是否为目标积木块,获取积木块组合中各积木块的属性参数,然后根据各积木块的属性参数从积木块组合中确定各目标积木块。
可选地,根据属性参数从积木块组合中确定各目标积木块,包括:
若积木块组合中存在属性参数包括硬件控制参数的积木块,则将积木块确定为目标积木块。
其中,硬件控制参数用于指示积木块可以控制硬件设备执行相应的操作,若积木块的属性参数包括硬件控制参数,则说明该积木块为用于控制硬件设备的目标积木块,那么在本实施例中,判断积木块组合中是否存在属性参数包括硬件控制参数的积木块,若积木块组合中存在属性参数包括硬件控制参数的积木块,则说明该积木块用于控制硬件设备,即将该积木块确定为目标积木块。
本实施例提供的控制代码的生成方法,包括:获取积木块组合中各积木块的属性参数,根据属性参数从积木块组合中确定各目标积木块,从而可以根据属性参数准确确定出目标积木块。
可选地,根据积木块组合和等待代码,生成控制代码,包括:
根据积木块组合生成初始控制代码。
根据初始控制代码和所述等待代码,生成控制代码。
其中,可以按照预设规则将依次连接的积木块组合转换成初始控制代码,然后根据初始控制代码和等待代码生成控制代码。
在一些实施例中,下面结合图5实施例对初始控制代码的生成过程进行说明。图5示出了本申请实施例提供的控制代码的生成方法的流程示意图三,如图5所示,根据积木块组合生成初始控制代码,包括:
S301、通过解析积木块组合,获取积木块组合中各积木块的执行顺序和逻辑功能。
S302、根据各积木块的执行顺序和逻辑功能,生成初始控制代码。
用户可以通过控制软件在控制设备上构建具有预设逻辑功能的积木块组合,控制设备响应于该积木块组合,通过解析该积木块组合,获取积木块组合中各积木块的执行顺序和逻辑功能,也就是说,将可视化的积木块组合进行解析,可以得到积木块组合中各积木块的执行顺序和逻辑功能。
需要说明的是,安装在控制设备上的控制软件可以内置有多个积木块,每个积木块具有对应的逻辑功能,根据内置的积木块对应的逻辑功能,可以构建具有预设逻辑功能的积木块组合,控制设备根据可视化的积木块组合可以解析得到各积木块的执行顺序和逻辑功能,然后根据各积木块的执行顺序和逻辑功能,按照预设代码生成规则,可以生成积木块组合的初始控制代码。
本实施例提供的控制代码的生成方法,包括:通过解析积木块组合,获取积木块组合中各积木块的执行顺序和逻辑功能,根据各积木块的执行顺序和逻辑功能,生成初始控制代码。从而可以将积木块组合转换成初始控制代码。
可选地,根据积木块组合和等待代码,生成控制代码之后,还包括:
向硬件设备发送控制代码,以便硬件设备根据控制代码执行预设逻辑功能对应的操作。
其中,控制设备与硬件设备通信连接,生成控制硬件设备的控制代码后,控制设备可以向硬件设备发送控制代码,以便硬件设备根据该控制代码执行预设逻辑功能对应的操作,例如,预设逻辑功能为蹲下捡红色小球,则预设逻辑功能对应的操作为硬件设备蹲下捡红色小球。
在一可能的实现场景中,安装在控制设备的控制软件提供一软件界面,在该软件界面中提供一虚拟按钮,通过点击该虚拟按钮,即实现将生成的控制代码发送给硬件设备。
可选地,向硬件设备发送控制代码之后,还包括:
接收到硬件设备发送的反馈消息;
向硬件设备发送执行指令,反馈消息用于指示硬件设备已经运行目标积木块对应的逻辑代码,执行指令用于控制硬件设备运行目标积木块的下一个积木块对应的逻辑代码。
控制设备向硬件设备发送控制代码之后,硬件设备可以运行该控制代码,并在已经运行目标积木块对应的逻辑代码时,向控制设备发送反馈消息,该反馈消息用于指示硬件设备已经运行目标积木块对应的逻辑代码,控制设备响应于该反馈消息,向硬件设备发送执行指令,该执行指令用于控制硬件设备运行目标积木块的下一个积木块对应的逻辑代码,也就是说,硬件设备在预设时长内执行完该逻辑代码对应的操作,则向控制设备发送反馈消息,若在预设时长内未执行完,则说明出现超时,硬件设备不会向控制设备发送反馈消息,这样控制设备可以认为该硬件设备存在故障。从而实现了硬件设备和控制设备的双向操作,控制设备能够感知硬件设备的执行情况,提高了硬件设备的控制智能化。
下面结合图6实施例对控制代码的运行方法进行说明,图6示出了本申请实施例提供的控制代码的运行方法的流程示意图,本实施例的执行主体可以为硬件设备。如图6所示,该方法包括:
S401、接收控制设备发送的控制代码。
控制代码由积木块组合和用于控制硬件设备的至少一个目标积木块对应的预设时长的等待代码生成,预设时长为硬件设备待执行逻辑功能对应的操作的最大时长,等待代码用于暂停目标积木块和目标积木块的下一个积木块之间的逻辑运行。
其中,可以根据积木块组合生成初始控制代码,然后根据初始控制代码和各目标积木块对应的预设时长的等待代码生成控制代码,控制设备在生成控制代码后可以发送给硬件设备,相应的,硬件设备接收控制设备发送的控制代码。
S402、在运行各目标积木块对应的逻辑代码之后,运行目标积木块对应的预设时长的等待代码。
硬件设备接收到控制设备发送的控制代码,然后可以运行该控制代码,控制代码包括积木块组合中各积木块对应的逻辑代码和目标积木块对应的预设时长的等待代码。
在运行各目标积木块对应的逻辑代码之后,运行目标积木块对应的预设时长的等待代码,也就是说,目标积木块通过该逻辑代码实现相应的逻辑功能,该逻辑功能例如可以为下蹲,之后可以运行预设时长的等待代码,该预设时长为硬件设备待执行逻辑功能对应的操作的最大时长,也即执行下蹲这一动作的最大时长,等待代码用于阻塞逻辑运行,即硬件设备执行下蹲这一动作,而暂停执行下一积木块对应的逻辑代码的操作。
S403、若在预设时长内执行完逻辑代码对应的操作,则向控制设备发送反馈消息,反馈消息用于指示硬件设备已经运行目标积木块对应的逻辑代码。
S404、接收到控制设备发送的执行指令,并运行目标积木块的下一个积木块对应的逻辑代码。
若在预设时长内执行完逻辑代码对应的操作,则向控制设备发送反馈消息,反馈消息用于指示硬件设备已经运行目标积木块对应的逻辑代码,控制设备接收该反馈消息,并向硬件设备发送执行指令,相应的,硬件设备接收到控制设备发送的执行指令,并运行目标积木块的下一个积木块对应的逻辑代码,其中,执行指令用于指示硬件设备运行目标积木块的下一个积木块对应的逻辑代码。
作为一种示例,硬件设备为人形机器人,在人形机器人过马路的场景中,积木块1可以用于控制人形机器人的舵机转动,积木块1对应的预设时长可以为10秒,即积木块1对应10秒的等待代码,积木块2用于等待红绿灯颜色变化,积木块3用于控制人形机器人的舵机再次转动,积木块3对应10秒的等待代码,在实际应用中,人形机器人在运行完积木块1的逻辑代码后接着在10秒内等待舵机转动,若在10秒内完成舵机转动,则向控制设备发送反馈消息,并在接收到控制设备发送的执行指令时,才开始等待红绿灯颜色变化,关于积木块3的执行方式和积木块1类似,在此不再赘述。
需要说明的是,预设时长是预先预估的硬件设备执行逻辑代码对应的操作的时长,若在该预设时长内未执行完该逻辑代码对应的操作,则不会向控制设备发送反馈消息,这样控制设备可以确定硬件设备存在故障,进而可人工对硬件设备进行故障排查。
本实施例提供的控制代码的运行方法,包括:接收控制设备发送的控制代码,在运行各目标积木块对应的逻辑代码之后,运行目标积木块对应的预设时长的等待代码,若在预设时长内执行完逻辑代码对应的操作,则向控制设备发送反馈消息,反馈消息用于指示硬件设备已经运行目标积木块对应的逻辑代码,接收到控制设备发送的执行指令,并运行目标积木块的下一个积木块对应的逻辑代码。从而实现了双向操作,控制设备能够感知硬件设备的执行情况,提高了硬件设备的控制智能化。
图7示出了本申请实施例提供的控制代码的生成装置的结构示意图,如图7所示,控制代码的生成装置50包括:
确定模块501,用于从积木块组合中确定用于控制硬件设备的至少一个目标积木块,所述积木块组合中包括按照预设逻辑功能依次连接的多个积木块;
生成模块502,用于根据各所述目标积木块的逻辑功能,生成各所述目标积木块对应的预设时长的等待代码,所述预设时长为所述硬件设备待执行所述逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;根据所述积木块组合和所述等待代码,生成所述控制代码。
可选地,所述确定模块501,具体用于:
获取所述积木块组合中各积木块的属性参数;
根据所述属性参数从所述积木块组合中确定各所述目标积木块。
可选地,所述确定模块501,具体用于:
若所述积木块组合中存在属性参数包括硬件控制参数的积木块,则将所述积木块确定为所述目标积木块。
可选地,所述生成模块502,具体用于:
根据所述积木块组合生成初始控制代码;
根据所述初始控制代码和所述等待代码,生成所述控制代码。
可选地,所述生成模块502,具体用于:
通过解析所述积木块组合,获取所述积木块组合中各积木块的执行顺序和逻辑功能;
根据各所述积木块的执行顺序和所述逻辑功能,生成所述初始控制代码。
可选地,还包括:
发送模块503,用于向所述硬件设备发送所述控制代码,以便所述硬件设备根据所述控制代码执行所述预设逻辑功能对应的操作。
可选地,还包括:
接收模块504,用于接收到所述硬件设备发送的反馈消息,所述反馈消息用于指示所述硬件设备已经运行所述目标积木块对应的逻辑代码;
发送模块503,用于向所述硬件设备发送执行指令,所述执行指令用于控制所述硬件设备运行所述目标积木块的下一个积木块对应的逻辑代码。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中控制设备执行的方法的相关说明,这里不再详述。
图8示出了本申请实施例提供的控制代码的运行装置的结构示意图,如图8所示,控制代码的运行装置60包括:
接收模块601,用于接收控制设备发送的控制代码,所述控制代码由积木块组合和用于控制硬件设备的至少一个目标积木块对应的预设时长的等待代码生成,所述预设时长为所述硬件设备待执行各所述目标积木块的逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;
处理模块602,用于在运行各所述目标积木块对应的逻辑代码之后,运行所述目标积木块对应的预设时长的等待代码;
发送模块603,用于若在所述预设时长内执行完所述逻辑代码对应的操作,则向控制设备发送反馈消息,所述反馈消息用于指示所述硬件设备已经运行所述目标积木块对应的逻辑代码;
所述处理模块602,用于接收到所述控制设备发送的执行指令,并运行所述目标积木块的下一个积木块对应的逻辑代码。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中硬件设备执行的方法的相关说明,这里不再详述。
图9示出了本申请实施例提供的控制设备的结构示意图,如图9所示,控制设备100包括:
处理器701、存储器702和总线703,所述存储器702存储有所述处理器701可执行的计算机程序,当控制设备70运行时,所述处理器701与所述存储器702之间通过总线703通信,所述处理器701执行所述计算机程序,以执行控制设备执行的方法。
图10示出了本申请实施例提供的硬件设备的结构示意图,如图10所示,硬件设备200包括:
处理器801、存储器802和总线803,所述存储器802存储有所述处理器801可执行的计算机程序,当硬件设备80运行时,所述处理器801与所述存储器802之间通过总线803通信,所述处理器801执行所述计算机程序,以执行硬件设备执行的方法。
本申请实施例提供了一种存储介质,包括:所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (13)

1.一种控制代码的生成方法,其特征在于,包括:
从积木块组合中确定用于控制硬件设备的至少一个目标积木块,所述积木块组合中包括按照预设逻辑功能依次连接的多个积木块;
根据各所述目标积木块的逻辑功能,生成各所述目标积木块对应的预设时长的等待代码,所述预设时长为所述硬件设备待执行所述逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;
根据所述积木块组合和所述等待代码,生成所述控制代码。
2.根据权利要求1所述的方法,其特征在于,所述从积木块组合中确定用于控制硬件设备的至少一个目标积木块,包括:
获取所述积木块组合中各积木块的属性参数;
根据所述属性参数从所述积木块组合中确定各所述目标积木块。
3.根据权利要求2所述的方法,其特征在于,所述根据所述属性参数从所述积木块组合中确定各所述目标积木块,包括:
若所述积木块组合中存在属性参数包括硬件控制参数的积木块,则将所述积木块确定为所述目标积木块。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述积木块组合和所述等待代码,生成所述控制代码,包括:
根据所述积木块组合生成初始控制代码;
根据所述初始控制代码和所述等待代码,生成所述控制代码。
5.根据权利要求4所述的方法,其特征在于,所述根据所述积木块组合生成初始控制代码,包括:
通过解析所述积木块组合,获取所述积木块组合中各积木块的执行顺序和逻辑功能;
根据各所述积木块的执行顺序和所述逻辑功能,生成所述初始控制代码。
6.根据权利要求1所述的方法,其特征在于,所述根据所述积木块组合和所述等待代码,生成所述控制代码之后,还包括:
向所述硬件设备发送所述控制代码,以便所述硬件设备根据所述控制代码执行所述预设逻辑功能对应的操作。
7.根据权利要求6所述的方法,其特征在于,所述向所述硬件设备发送所述控制代码之后,还包括:
接收到所述硬件设备发送的反馈消息,所述反馈消息用于指示所述硬件设备已经运行所述目标积木块对应的逻辑代码;
向所述硬件设备发送执行指令,所述执行指令用于控制所述硬件设备运行所述目标积木块的下一个积木块对应的逻辑代码。
8.一种控制代码的运行方法,其特征在于,包括:
接收控制设备发送的控制代码,所述控制代码由积木块组合和用于控制硬件设备的至少一个目标积木块对应的预设时长的等待代码生成,所述预设时长为所述硬件设备待执行各所述目标积木块的逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;
在运行各所述目标积木块对应的逻辑代码之后,运行所述目标积木块对应的预设时长的等待代码;
若在所述预设时长内执行完所述逻辑代码对应的操作,则向控制设备发送反馈消息,所述反馈消息用于指示所述硬件设备已经运行所述目标积木块对应的逻辑代码;
接收到所述控制设备发送的执行指令,并运行所述目标积木块的下一个积木块对应的逻辑代码。
9.一种控制代码的生成装置,其特征在于,包括:
确定模块,用于从积木块组合中确定用于控制硬件设备的至少一个目标积木块,所述积木块组合中包括按照预设逻辑功能依次连接的多个积木块;
生成模块,用于根据各所述目标积木块的逻辑功能,生成各所述目标积木块对应的预设时长的等待代码,所述预设时长为所述硬件设备待执行所述逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;根据所述积木块组合和所述等待代码,生成所述控制代码。
10.一种控制代码的运行装置,其特征在于,包括:
接收模块,用于接收控制设备发送的控制代码,所述控制代码由积木块组合和用于控制硬件设备的至少一个目标积木块对应的预设时长的等待代码生成,所述预设时长为所述硬件设备待执行各所述目标积木块的逻辑功能对应的操作的最大时长,所述等待代码用于暂停所述目标积木块和所述目标积木块的下一个积木块之间的逻辑运行;
处理模块,用于在运行各所述目标积木块对应的逻辑代码之后,运行所述目标积木块对应的预设时长的等待代码;
发送模块,用于若在所述预设时长内执行完所述逻辑代码对应的操作,则向控制设备发送反馈消息,所述反馈消息用于指示所述硬件设备已经运行所述目标积木块对应的逻辑代码;
所述处理模块,用于接收到所述控制设备发送的执行指令,并运行所述目标积木块的下一个积木块对应的逻辑代码。
11.一种控制设备,其特征在于,包括:
处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当控制设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行权利要求1-7任一项所述的方法。
12.一种硬件设备,其特征在于,包括:
处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当硬件设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行权利要求8所述的方法。
13.一种存储介质,其特征在于,包括:所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行权利要求1-8任一项所述的方法。
CN202011328061.2A 2020-11-24 2020-11-24 控制代码的生成方法、运行方法、装置、设备及存储介质 Active CN112416323B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011328061.2A CN112416323B (zh) 2020-11-24 2020-11-24 控制代码的生成方法、运行方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011328061.2A CN112416323B (zh) 2020-11-24 2020-11-24 控制代码的生成方法、运行方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112416323A true CN112416323A (zh) 2021-02-26
CN112416323B CN112416323B (zh) 2024-02-23

Family

ID=74778062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011328061.2A Active CN112416323B (zh) 2020-11-24 2020-11-24 控制代码的生成方法、运行方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112416323B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113176893A (zh) * 2021-04-29 2021-07-27 华人运通(上海)云计算科技有限公司 汽车控制的仿真模拟方法、装置、存储介质及终端设备
CN113176987A (zh) * 2021-04-29 2021-07-27 华人运通(上海)云计算科技有限公司 车控指令块的日志处理方法、装置、设备及存储介质
CN113176894A (zh) * 2021-04-29 2021-07-27 华人运通(上海)云计算科技有限公司 车控系统的控制方法、装置、存储介质、设备及汽车
CN113189909A (zh) * 2021-04-29 2021-07-30 华人运通(上海)云计算科技有限公司 车控指令块的控制方法、装置、设备及存储介质
WO2022228528A1 (zh) * 2021-04-29 2022-11-03 华人运通(上海)云计算科技有限公司 一种车辆仿真系统的模拟方法、装置、设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850542A (en) * 1995-09-15 1998-12-15 International Business Machines Corporation Microprocessor instruction hedge-fetching in a multiprediction branch environment
CN105137887A (zh) * 2015-09-24 2015-12-09 苏州乐派特机器人有限公司 基于编程板的实物化编程方法及其在机器人领域的应用
CN205600737U (zh) * 2016-05-13 2016-09-28 苏州乐派特机器人有限公司 一种机器人舞蹈的实物化编程模块
CN105975280A (zh) * 2016-05-13 2016-09-28 苏州乐派特机器人有限公司 一种多用途灵活的实物化编程模块及其实现方法
CN109828917A (zh) * 2019-01-04 2019-05-31 烽火通信科技股份有限公司 一种全流程自动化的持续集成管理方法及系统
US20190349417A1 (en) * 2017-01-03 2019-11-14 Tencent Technology (Shenzhen) Company Limited Data transmission method and device
CN111015658A (zh) * 2019-12-20 2020-04-17 深圳市优必选科技股份有限公司 一种控制机器人的方法及装置
CN111111232A (zh) * 2020-01-07 2020-05-08 北京小米移动软件有限公司 指尖积木,及其控制方法和控制装置
CN111475151A (zh) * 2020-04-10 2020-07-31 腾讯科技(深圳)有限公司 一种模块化编程的方法以及相关装置
CN111580805A (zh) * 2020-04-08 2020-08-25 上海镜河科技有限公司 一种积木式搭建app的方法和系统
CN111880783A (zh) * 2020-07-01 2020-11-03 腾讯科技(深圳)有限公司 一种设备控制方法、系统、电子设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850542A (en) * 1995-09-15 1998-12-15 International Business Machines Corporation Microprocessor instruction hedge-fetching in a multiprediction branch environment
CN105137887A (zh) * 2015-09-24 2015-12-09 苏州乐派特机器人有限公司 基于编程板的实物化编程方法及其在机器人领域的应用
CN205600737U (zh) * 2016-05-13 2016-09-28 苏州乐派特机器人有限公司 一种机器人舞蹈的实物化编程模块
CN105975280A (zh) * 2016-05-13 2016-09-28 苏州乐派特机器人有限公司 一种多用途灵活的实物化编程模块及其实现方法
US20190349417A1 (en) * 2017-01-03 2019-11-14 Tencent Technology (Shenzhen) Company Limited Data transmission method and device
CN109828917A (zh) * 2019-01-04 2019-05-31 烽火通信科技股份有限公司 一种全流程自动化的持续集成管理方法及系统
CN111015658A (zh) * 2019-12-20 2020-04-17 深圳市优必选科技股份有限公司 一种控制机器人的方法及装置
CN111111232A (zh) * 2020-01-07 2020-05-08 北京小米移动软件有限公司 指尖积木,及其控制方法和控制装置
CN111580805A (zh) * 2020-04-08 2020-08-25 上海镜河科技有限公司 一种积木式搭建app的方法和系统
CN111475151A (zh) * 2020-04-10 2020-07-31 腾讯科技(深圳)有限公司 一种模块化编程的方法以及相关装置
CN111880783A (zh) * 2020-07-01 2020-11-03 腾讯科技(深圳)有限公司 一种设备控制方法、系统、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANGELIAZHENG: "Scratch精通之积木的使用", pages 1, Retrieved from the Internet <URL:https://blog.csdn.net/u014010512/article/details/106461301> *
田一柠: "Scratch少儿编程(五)控制模块", pages 1, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_50263804/article/details/108192841> *
高家思;王濛;杜渊杰: "基于层进式结构的智能积木搭建与编程系统", 计算机辅助设计与图形学学报, vol. 32, no. 7, pages 158 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113176893A (zh) * 2021-04-29 2021-07-27 华人运通(上海)云计算科技有限公司 汽车控制的仿真模拟方法、装置、存储介质及终端设备
CN113176987A (zh) * 2021-04-29 2021-07-27 华人运通(上海)云计算科技有限公司 车控指令块的日志处理方法、装置、设备及存储介质
CN113176894A (zh) * 2021-04-29 2021-07-27 华人运通(上海)云计算科技有限公司 车控系统的控制方法、装置、存储介质、设备及汽车
CN113189909A (zh) * 2021-04-29 2021-07-30 华人运通(上海)云计算科技有限公司 车控指令块的控制方法、装置、设备及存储介质
WO2022228528A1 (zh) * 2021-04-29 2022-11-03 华人运通(上海)云计算科技有限公司 一种车辆仿真系统的模拟方法、装置、设备及存储介质
CN113176987B (zh) * 2021-04-29 2023-09-15 华人运通(上海)云计算科技有限公司 车控指令块的日志处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112416323B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN112416323A (zh) 控制代码的生成方法、运行方法、装置、设备及存储介质
CN111091200B (zh) 训练模型的更新方法、系统、智能设备、服务器及存储介质
US20190283255A1 (en) Robot cooperation method and device, robot, robot system, and computer program product
CN110766169A (zh) 强化学习的迁移训练优化方法、装置、终端及存储介质
CN108334439A (zh) 一种压力测试方法、装置、设备和存储介质
CN109246027B (zh) 一种网络维护的方法、装置和终端设备
CN108710506B (zh) 车辆的指令处理方法
CN106573376A (zh) 机器人的动作监控
CN105252533A (zh) 机器人交互系统、云计算平台、用户终端和机器人
KR20190043419A (ko) 조기 중단에 기반한 심층 신경망의 연산 제어 방법 및 시스템
CN114157701A (zh) 一种任务测试方法、装置、设备以及存储介质
CN104881307B (zh) 下载实现方法和装置
CN114091589B (zh) 模型训练方法、装置、电子设备及介质
CN114417780A (zh) 状态同步方法、装置、电子设备及存储介质
CN109827584A (zh) 路径规划方法、装置、电子设备与存储介质
Ki-Aries et al. From requirements to operation: components for risk assessment in a pervasive system of systems
JP7163925B2 (ja) 情報処理装置、情報処理方法、および、プログラム
CN116167935A (zh) 二维码的修复方法、装置、设备及介质
CN113742457B (zh) 应答处理方法、装置、电子设备及存储介质
CN115690544A (zh) 多任务学习方法及装置、电子设备和介质
CN113447059B (zh) 自动驾驶汽车传感器的检测方法、装置及电子设备
CN108009799A (zh) 工作流程持久化的方法及装置、存储介质、电子设备
CN114185641A (zh) 虚拟机冷迁移方法、装置、电子设备及存储介质
CN110610296A (zh) 任务分配方法、电子设备及计算机可读存储介质
EP3951674A1 (en) Method and system for managing execution of an industrial task in a shared control environment

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
GR01 Patent grant
GR01 Patent grant