掌桥专利:专业的专利平台
掌桥专利
首页

一种编程系统、方法及程序执行设备

文献发布时间:2023-06-19 09:26:02


一种编程系统、方法及程序执行设备

技术领域

本申请涉及程序设计技术领域,具体而言,涉及一种编程系统、方法及程序执行设备。

背景技术

目前,针对少儿、青少年编程,主流的编程工具为scrath图形编程工具,其具有以下特点:在软件界面中将构成程序的命令和参数通过积木形状的模块来实现,使用者可以通过拖动不同形状的模块,将不同形状的模块进行组合就可以得到一个完整的程序,进而实现编程操作。但是,该方式仍然存在有以下缺陷:需要依赖手机或者电脑等程序执行设备使用,会给青少年、儿童的视力等带来一定影响;需要使用者具备一定的程序执行设备操作基础;编程方式不够直观等。

发明内容

有鉴于此,本发明的目的之一是提供一种实体化编程方法及装置,以至少达到简单、直观等的目的。

第一方面,本发明实施例提供了一种编程系统,包括:

若干程序信息载体,用于标识程序信息;

执行设备,用于采集至少一个所述程序信息载体的图像,并从采集的图像中识别出至少一个所述程序信息载体所标识的程序信息;根据识别到的程序信息编译得到可执行程序,以在满足执行条件的情况下执行所述可执行程序。

第二方面,本发明实施例提供了一种编程方法,所述方法应用于程序的执行设备,包括:

采集至少一个程序信息载体的图像,并从采集的图像中识别出至少一个所述程序信息载体所标识的程序信息;

根据识别到的程序信息编译得到可执行程序,以在满足执行条件的情况下执行所述可执行程序。

第三方面,本发明实施例提供了一种程序执行设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:

采集至少一个程序信息载体的图像,并从采集的图像中识别出至少一个所述程序信息载体所标识的程序信息;

根据识别到的程序信息编译得到可执行程序,以在满足执行条件的情况下执行所述可执行程序。

本发明实施例所提供的一种编程系统、方法及程序执行设备,通过设置程序信息载体来标识程序信息,能够使用户通过手动操作程序信息载体构建对应的程序信息,并且由执行设备采集该程序信息的载体识别得到程序信息,根据该程序信息编译得到可执行程序,由该执行设备在满足执行条件的情况下执行该可执行程序信息;相对于现有技术,与在计算机设备的软件界面中进行操作的方式相比,本发明实施例具有更简单和更直观地积极效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种编程系统的示意图;

图2是本一个发明实施例提供的一种程序信息载体的结构示意图;

图3是本发明一个实施例提供的一种组合体的结构示意图;

图4是本发明一个实施例提供的一种执行设备的结构示意图;

图5是本发明一个实施例提供的一种编程方法的流程示意图;

图6是本发明一个实施例提供的另一种编程方法的流程示意图;

图7是本发明一个实施例提供的一种程序执行设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

考虑到现有技术中,使用者在使用图形编程工具进行编程时,存在着需要依赖手机或者电脑等程序执行设备使用,会给使用者的视力等带来一定不良影响;需要使用者具备一定的程序执行设备操作基础;编程方式不够直观等问题;基于此本发明提供了一种编程系统、方法及程序执行设备。

本发明实施例中的程序执行设备可以是具有图像采集功能的任何电子设备。具体的,程序执行设备可以为移动平台,为了增加编程过程中的乐趣性,移动平台可以为无人机、无人车、无人船、移动机器人等可被遥控且具有移动功能的设备。为了便于说明,本发明实施例以程序执行设备为无人车为例。

图1是本发明一个实施例提供的一种编程系统的示意图。参照图1所示,本发明实施例中提供的一种编程系统,包括:

若干程序信息载体10,用于标识程序信息。

该程序信息包括但不限于:指示执行设备动作的信息(比如指示执行设备移动的信息)、指示执行设备产生光电效果的信息、指示执行设备发出声音信号的信息、指示执行设备进入某些功能模式的信息等。示例性的,该指示执行设备移动的信息包括但不限于:指示执行设备沿一方向移动指定距离,该指定距离可以为用户自定义距离或预设距离;指示执行设备左转或右转的信息等。

其中,程序信息的标识方式可以包括但不限于文字、数字、字母、符号、图像以及程序信息载体10的形状等等,图像包括但不限于诸如二维码、条形码等。

执行设备200,用于采集至少一个程序信息载体的图像,并从采集的图像中识别出至少一个程序信息载体所标识的程序信息;根据识别到的程序信息编译得到可执行程序,以在满足执行条件的情况下执行所述可执行程序。

本实施例中,用户可以根据自己的编程逻辑,以及期望执行设备将要执行的操作,选择一个或多个对应的程序信息载体,以构建一套执行操作对应的可执行程序,其中,一个程序信息载体可以对应执行设备能够执行的一个或多个操作。当选择程序信息载体的数量为多个时,可选的,上述的执行设备采集程序信息载体的图像的方式可以是按照顺序依次进行采集各个程序信息载体的图像;也可以是直接采集所有程序信息载体的图像,然后识别各程序信息载体标识的程序信息,此时,这多个程序信息载体可以集中在一个区域内,以使得执行设备可以一次性采集包括这多个程序信息载体的图像。如此,在得到各个程序信息载体标识的程序信息后,可以根据各程序信息的排布顺序,将各程序信息进行编译得到可执行程序,并在满足执行条件的情况下,执行该可执行程序。

在某些实施例中,若执行设备在识别可执行程序对应的程序信息载体所标识的程序信息的过程中,若遇到无法识别的情况,或多个程序信息载体所标识的程序信息在逻辑上无法编译成一可执行程序时,执行设备可以进行报错或提示,也可以忽略无法识别的程序信息载体或导致编译逻辑相冲突的至少一个程序信息载体。

如此,本发明实施例中,用户通过实体性质的程序信息载体的各个组合,可以构建多套套执行设备的待执行操作所对应的可执行程序,并且由执行设备执行该可执行程序。在构建的过程中,用户根据程序信息载体所对应的一个或多个操作,可以直观地确定可执行程序对应的操作内容,使得用户可以脱离电脑、手机等电子设备进行编程,也不需要认识英文单词,更不需要学习编程语言,即可在锻炼动手能力的过程中实现编程逻辑思维的锻炼,具有简单易学、直观的积极效果。

本发明一实施例中,上述满足执行条件,包括:接收到用户终端发送的开始执行的触发信号,该用户终端与执行设备通信连接,可以用于控制执行设备,其可以是用户所使用的手机、平板电脑等终端设备,也可以是遥控器等设备。或者,上述满足执行条件,包括:接收到用户针对执行设备的输入操作,该输入操作用于指示执行设备执行上述可执行程序,例如,可以是在检测到用户打开执行设备上的某一功能按钮后,比如开始键,然后确定满足执行条件。需要说明的是,上述仅为举例说明,本发明对此不作限定。

参照图1所示的实施例,本实施例中,用户根据执行设备200将要执行的程序内容,选择对应的程序信息载体10,并使用选择的程序信息载体10构建与可执行程序对应的组合体,并且在组合体构建完成以后,触发执行设备200采集组合体中的各程序信息载体10的图像,从采集的图像中识别出程序信息载体10所标识的程序信息;根据识别到的程序信息编译得到可执行程序,在满足执行条件的情况下执行该可执行程序。

本发明一实施例中,上述程序信息载体的表面标识有所述程序信息。具体的,在程序信息载体的表面标识程序信息的方式,可以是包括:将程序信息印刷在程序信息载体的表面,该程序信息的标识形式可以是文字信息或者是指定的符号信息、或者是数字信息、或者是字母信息,或者是图像信息等。

进而本实施例中,用户可以直观地看到每个程序信息载体所表征的程序信息,便于用户根据执行设备将要执行的程序内容,选择不同的程序信息载体构建对应的程序信息载体的组合体。

本发明一实施例中,上述的程序信息包括:用户自定义信息。

图2是本一个发明实施例提供的一种程序信息载体的结构示意图。参照图2所示,本实施例中,当程序信息是通过印刷的方式设置于程序信息载体10的表面时,该程序信息载体10的表面设置有用户自定义信息区域101。

具体的,本实施例中用户可以在该用户自定义信息区域101进行写入用户的自定义信息。示例性的,如图2所示,执行设备包括云台,该用户自定义信息可以是云台速度的大小。其中,该云台速度可以是指云台中每一个旋转轴的速度,也可以是指某一个旋转轴的速度,具体可以根据需要设计。进一步的,还可以对云台的转动角度的大小进行自定义。当然,在一个自定义信息区域101内可以写入针对执行设备的一功能部件的多个维度的指示信息,例如,如图2所示,自定义信息区域101内可以写入用于指示云台先加速运动、后减速运动的速度信息。

可以理解,执行设备可以包括多个功能部件,针对不同功能部件,可以有指示不同功能部件执行相应操作的程序信息载体以及对应的自定义信息区域101。例如,假设执行设备包括用于驱动执行设备移动的驱动件,程序信息载体可以包括指示驱动件执行前进的程序信息载体,在该程序信息载体的自定义区域101内可以写入诸如前进距离。

可选的,对于自定义信息,通过预先设置一些信息参数供用户选择,该信息参数比如可以是角度,比如5度、10度、15度、30度,也可以是距离参数,比如2米、3米、1米、50厘米、20厘米等,用户选择信息参数以后将该参数写入自定义信息区域101。

可选的,自定义信息区域101可以是可涂抹的填写区域,也可以是可粘接的区域,还可以是可填充的凹槽区域,以实现程序信息载体的灵活应用。

本发明另一实施例中,上述程序信息载体10上设置有第一标识;该第一标识可以是:二维码、条形码等。

上述的第一标识用于被执行设备检测以识别程序信息载体,并在识别所述程序信息载体后进一步识别程序信息载体所标识的程序信息。

本发明实施例中,在程序信息载体上设置第一标识,目的是让执行设备识别该程序信息载体,然后在识别该程序信息载体以后再进行识别该程序信息载体所标识的程序信息;如此,可以防止执行设备在识别程序信息载体所标识的程序信息的过程中,受到除程序信息载体以外的其他物体的干扰。

本发明又一实施例中,上述程序信息载体上设置有第二标识,该第二标识用于记录所述程序信息载体所标识的程序信息;示例性的,该第二标识可以是:图形码标签,比如二维码、条形码等。

当上述的第二标识为图形码标签时,执行设备还用于读取图像中的图形码标签,得到所述图形码标签记录的程序信息。

本实施例中,用户可以根据程序信息载体的形状或者程序信息载体表面的标识区分不同的程序信息载体,然后选择不同的程序信息载体构建组合体,该组合体与执行设备将要执行的程序内容对应;例如,当用户想要执行设备执行的程序内容为“直行5米”时,用户所要选择的程序信息载体包括:开始程序信息载体、动作执行程序信息载体和结束程序信息载体;其中,该动作执行程序信息载体表征了“直行5米”这一动作信息。

图3是本发明一个实施例提供的一种组合体的结构示意图。参照图3所示,该组合体是由用户选择的程序信息载体按照一定的顺序构建而成的,各程序信息载体之间可拆卸地连接。

具体的,各个组合体中包含的程序信息载体包括:开始程序信息载体和结束程序信息载体。其中,开始程序信息载体用于标识可执行程序开始的程序信息;结束程序信息载体用于标识所述可执行程序结束的程序信息。

以图3所示的实施例为例,该实施例中的执行设备为无人车,无人车包括底盘以及设于底盘上的云台。该组合体所包含的程序信息载体依次为:开始程序信息载体301、底盘模式程序信息载体302、底盘角度程序信息载体303、底盘转向程序信息载体304、直行程序信息载体305、云台模式程序信息306、云台速度程序信息载体307、云台转向程序信息载体308和结束程序信息载体309。其中,部分信息载体上的空白格区域(虚线框示意)为用户自定义信息区域。

具体的,上述底盘模式程序信息载体302所标识的程序信息用于指示该无人车将要执行的操作为云台跟随底盘的操作,底盘角度程序信息载体303所标识的程序信息用于指示底盘的转向角度(比如30度),底盘转向程序信息载体304所标识的程序信息用于指示底盘的转向(比如左转或者右转),上述的直行程序信息载体305所标识的程序信息用于指示无人车直行;上述的云台模式程序信息载体306所标识的程序信息用于指示执行设备将要执行的操作为底盘跟随云台的操作;上述的云台转动角度程序信息载体307所标识的程序信息用于指示云台绕偏航yaw轴的转向角度,上述云台转向程序信息载体308用于指示云台的转向(比如水平向左转或者右转)。本实施例中,无人车会依次执行上述程序信息载体标识的程序信息所指示的操作内容。

示例性的,假设底盘角度程序信息载体303所标识的程序信息用于指示底盘的转向角度为30度,底盘转向程序信息载体304所标识的程序信息用于指示底盘的转向为左转,直行程序信息载体305所标识的程序信息用于指示无人车直行5米,云台转动角度程序信息载体307所标识的程序信息用于指示云台绕偏航yaw轴的转向角度为180度/,云台转向程序信息载体308用于指示云台的转向为向右。那么,在执行设备采集各个程序信息载体的图像,并通过图像识别、程序信息识别、程序信息编译得到可执行程序后,在满足执行条件的情况下,可执行程序可以执行如下操作:在底盘向左转动30度的过程中,云台跟随底盘向左转动30度;而后,当底盘转完30度后,向前直行10;而后,云台开始向右旋转180,同时,在云台向右旋转的过程中,底盘也跟随云台向右旋转;最后,在云台向右旋转180度后,该可执行程序对应的执行操作完成。

本实施例中,可以允许用户一边使用程序信息载体构建组合体,同时使执行设备识别搭建好的组合体中的各程序信息载体所标识的程序信息,并根据识别到的程序信息编译得到可执行程序,执行该可执行程序,进而在满足执行条件的情况下,可以快速实现编程成果的展示。

本发明一实施例中,上述的程序信息载体之间能够可拆卸地连接,进而各程序信息载体可以任意组合,以使执行设备得到不同内容的可执行程序。

本发明一可选的实施例中,用户所选择的各程序信息载体可拆卸连接在一起后可以是构建得到指定的形状;示例性的,可以是直线型,如图3所示;也可以是回字形或者正方形等形状。

以执行设备为可移动平台为例,比如无人车,用户可以是通过遥控等方式操控该无人车沿指定的形状移动,在移动的过程中对各程序信息载体进行图像采集和识别各程序信息载体所标识的程序信息,并编译得到可执行程序,然后在满足执行条件的情况下,执行该可执行程序信息。

本实施例中,通过使用选择的程序信息载体构建不同的形状的组合体,并操控执行设备沿该形状移动进行图像采集,进而可以使整个编程操作更加富有趣味性,并且进一步锻炼用户对移动平台的操控能力。

示例性的,再次参照图2所示,该程序信息载体10上可以设置有用于与其他程序信息载体相连接的结构件,程序信息载体之间通过该结构件实现可拆卸连接;例如,该结构件包括:凹槽102和插件103,该凹槽的形状102和插件103的形状相适应。

示例性的,上述的程序信息载体上设置有粘接部或者磁铁部件,通过该粘接部和磁铁部件实现与其他程序信息载体的可拆卸连接。

本发明一实施例中,用户可以选择不同的程序信息载体进行彼此连接,构建表征不同程序内容的组合体。

本发明一实施例中,执行设备编译得到的可执行程序中指示的各个操作的顺序与程序信息载体之间的连接顺序相关。进而,本发明实施例中用户可以按照执行设备将要执行的各个操作的顺序,将对应的不同程序信息载体进行依次组合或者拼接。

可选的,可执行程序中指示的各个操作的顺序可以为程序信息载体之间的连接顺序。可以理解,相邻连接的几个程序信息载体之间的执行顺序可以是并行的,如图3所示的底盘角度程序信息载体303、底盘转向程序信息载体304所指示的操作的执行顺序。

本发明一实施例中,上述程序信息载体包括:具有预定形状的立体块。该立体块可以是积木,进而用户可以是通过将不同形状的立体块进行堆叠或拼接,以表征执行设备待执行的操作的内容,使执行设备通过采集堆叠或拼接的各立体块的图像,识别不同立体块所表征的程序信息,然后根据各立体块所表征的程序信息编译得到待执行程序。

本发明一实施例中,上述程序信息载体包括:所述执行设备所包含的功能部件的仿真立体块。

示例性的,若执行设备为无人车,该无人车包含的功能部件有:车轮和车身,此时用户可以选择车轮仿真立体块和车身仿真立体块,然后利用该车轮仿真立体块和车身仿真立体块进行构建组合体,执行设备采集该车轮仿真立体块和车身仿真立体块的图像,并识别车轮仿真立体块和车身仿真立体块所表征的程序信息,根据车轮仿真立体块和车身仿真立体块所表征的程序信息编译得到可执行程序信息,然后在满足执行条件后执行该可执行程序信息。

示例性的,上述在采集仿真立体块的图像以后,通过识别该仿真立体块的外形、表面印刷的图文信息等,来识别无人车中的动作对象(以功能部件),并利用预设的信息控制该动作对象执行相应的操作。

进而,本实施例中,通过设置程序信息载体为执行设备的功能部件的仿真立体块,一方面用户可以更直观、形象地根据执行设备所包含的各功能部件将选择的各仿真立体块搭建得到与执行设备对应的组合体;另一方面,可以让用户了解执行设备的构造,锻炼动手操作能力。

图4为本发明一个实施例提供的一种执行设备的结构示意图。参照图4所示,本发明实施例中,上述的执行设备200包括:执行主体201以及图像采集设备202,该图像采集设备202可拆卸地安装于所述执行主体201上的指定位置处。

上述执行设备200用于通过图像采集设备202采集至少一个所述程序信息载体的图像。

本发明一实施例中,上述的执行设备设有对应的控制终端,用户可以通过该控制终端控制执行设备进行相应的操作;该控制终端可以是手机、电脑、遥控器等终端设备。

可选的,上述的图像采集设备在采集了至少一个所述程序信息载体的图像后,可以是将该图像发送至上述的控制终端,控制终端也可以对该图像中的各程序信息载体进行识别,得到该程序信息载体所标识的程序信息以及对应的执行设备的操作内容,进而用户可以通过该控制终端控制执行设备执行相应的操作。如此,可以有效地锻炼用户对终端和执行设备的操控能力,使整个过程更有趣味性。

可选的,上述的图像采集设备的采集图像可以回传至控制终端,用户可以根据图像采集设备回传的画面对执行设备进行控制,如控制执行设备往某一方向运动。如此,用户在远距离控制执行设备时,可以通过图像采集设备以执行设备的视场范围来了解执行设备周围的情况,以更好地识别程序信息载体所标识的程序信息,。

本发明实施例中,上述图像采集设备200可以是安装于执行主体的下方、一侧或者是正前方等;示例性的,上述的图像采集设备安装于执行主体的下方,如果上述的程序信息载体是平板结构,通过将选择的程序信息载体按照程序的执行顺序进行连接以后,平铺在一平面上,比如地面,然后图像采集设备在执行主体移动的过程中按顺序采集各程序信息载体的图像,然后从图像中识别各程序信息载体所表征的程序信息,对各程序信息载体所表征的程序信息进行编译得到可执行程序,并在满足执行条件的情况下执行该可执行程序信息。

或者,执行设备可以包括云台,若上述的图像采集设备是安装于云台上的,执行设备通过控制云台的匀速转动,带动图像采集设备转动并依次采集各程序信息载体的图像,然后从图像中识别各程序信息载体所表征的程序信息,对各程序信息载体所表征的程序信息进行编译得到可执行程序,并在满足执行条件的情况下执行该可执行程序信息。

本发明一实施例中,上述执行设备还用于获取待识别程序信息载体的位置信息,并根据该位置信息调节图像采集设备的拍摄方向朝向所述程序信息载体,以采集程序信息载体的图像。

本发明实施例中,执行设备可以自动获取待识别程序信息载体的位置信息,然后根据该位置信息调节图像采集设备的拍摄方向与程序信息载体所在的位置一致,进而可以实现,当图像采集设备的拍摄方向与待识别程序信息载体的位置不一致时,无需用户手动调节图像采集设备的图像采集的方向,提高了程序执行的效率。

本实施例中,上述可执行程序对应的组合体中的至少一个所述程序信息载体上设置有定位部件,该定位部件用于发出定位信号;执行设备上设置有与该定位部件对应的定位检测部件,执行设备还用于通过该定位检测部件检测该定位信号,并根据该定位信号对可执行程序对应的至少一个所述程序信息载体定位,以根据定位结果采集所述可执行程序对应的至少一个所述程序信息载体的图像。

上述执行设备通过定位检测部件检测该定位信号,根据该定位信号对程序信息载体或者由该程序信息载体构建的组合体进行定位,所要达到的目的是使该执行设备得到程序信息载体或者由该程序信息载体构建的组合体的位置信息,根据该位置信息调节拍摄方向,采集各程序信息载体的图像进行识别,以提高识别的效率。

本实施例中,上述的定位部件可以是激光发射器,上述的定位检测部件可以是激光接收器,激光发射器用于在满足预设条件后持续进行激光发射,执行设备在移动过程中检测该激光信号,当接收到该激光信号以后,确定该激光发射器的位置信息,进而得到待识别程序信息载体的位置信息。

可选的,上述定位部件可以是设置于开始程序信息载体上和/或结束程序信息载体上,当用户构建组合体完毕以后,若需要执行设备识别该程序信息载体,则用户控制该定位部件开始工作,发出定位信号。并控制执行设备检测该定位信号,实现对待识别信息载体的定位。

本发明一实施例中,上述执行设备还包括:设于所述执行主体上的云台,该云台用于支撑所述图像采集设备;该云台带动图像采集设备转动,以调节图像采集设备的拍摄方向。

本实施例中,执行设备用于根据所述位置信息调节所述云台的姿态,以调节所述图像采集设备的拍摄方向朝向所述程序信息载体。

可选的,该云台包括俯仰电机、横滚电机和偏转电机,执行设备通过控制云台的俯仰电机、横滚电机和偏航电机的输出角度,控制云台的俯仰角、横滚角和偏航角,以调节云台的姿态,进而实现调节图像采集设备的拍摄方向。

本发明一可选的实施例中,在图像采集设备用于采集至少一个程序信息载体的图像时,该图像采集设备与执行主体之间的距离大于预设距离。

进而本实施例中,上述的图像采集设备在进行图像采集时可以是独立于执行主体之外的,此时可以允许用户手持该图像采集设备进行图像采集;具有更高的灵活性。

本实施例中,图像采集设备与执行主体之间可以是通过有线连接的方式或者是无线连接的方式进行连接。

本发明一实施例中,上述执行设备还用于记录多个可执行程序,并对多个可执行程序进行重新编译,得到新的可执行程序。

可选的,上述执行设备还用于接收编辑指令,在接收到该编辑指令以后,根据所述编辑指令对存储的多个可执行程序进行重新编译,得到新的可执行程序。

进而本实施例中,在进行编程的过程中用户可以是通过多次进行选择不同的程序信息载体进行构建组合体,使执行设备编译得到多个可执行程序,执行设备将得到的多个可执行程序进行存储,并在执行设备接收到编辑指令以后,将该多个可执行程序进行重新编译,示例性的,该重新编译包括:将多个可执行程序按照各自生成的时间顺序或者其他指定的逻辑进行拼接,得到一个新的完整的可执行程序,然后继续对该可执行程序进行暂存或者是直接执行该可执行程序。

示例性的,以执行设备为无人车为例,该无人车包括的功能部件有:云台、发射机构;用户在选择程序信息载体时,可以是根据不同的功能部件将要执行的操作分别进行选择对应的程序信息载体,执行设备根据用户选择的程序信息载体编译得到不同功能部件分别对应的可执行程序,并分别进行存储,在执行设备得到所有的功能部件分别对应的可执行程序以后,此时若接收到编辑指令,则将该所有的可执行程序进行重新编译得到一个新的完整的可执行程序,然后在满足执行条件的情况后执行该新的程序信息。

比如,云台对应的可执行程序为云台绕yaw轴旋转20度,发射机构对应的可执行程序以3发/秒的速度连续射击3秒,则两个可执行程序拼接后,可以是诸如满足执行条件的情况下,发射机构以3发/秒的速度连续射击3秒后,再云台绕yaw轴旋转20度。

上述的编辑指令可以是由用户终端设备发送的,比如手机、电脑、遥控器等设备。

进而本发明实施例中,允许用户将执行设备的一个复杂的操作进行分割,有利于对用户的逻辑能力进行训练;并且能够满足在程序信息载体数量有限的情况下,实现复杂的可执行程序的编译。

本发明一实施例中,上述执行设备还用于输出所述可执行程序是否执行成功的结果信息。

该输出的方式可以是包括:语音输出、光信号闪烁等方式。

本实施例中,通过执行设备直接输出可执行程序是否执行成功的结果信息,使得用户能够直观地判断程序执行的结果。并进一步的判断出用户所选择的程序信息载体是否正确以及各程序信息载体的搭建顺序是否正确等。

本发明另一实施例中,上述的执行设备包括一个或多个可拆卸连接的功能部件;

该功能部件用于在满足所述执行条件的情况下执行所述可执行程序。

示例性的,以执行设备为“无人车”为例,该无人车包括的功能部件有:底盘、云台、图像采集设备和发射机构。例如,当该执行设备在从采集的图像中识别出有程序信息载体所标识的程序信息为指示底盘转向时,该底盘功能部件会在满足执行条件的情况下执行对应的转向操作;当该执行设备在从采集的图像中识别出有程序信息载体所标识的程序信息为指示云台转向时,该云台功能部件会在满足执行条件的情况下执行对应的转向操作。

进而,本发明实施例中,用户还可以根据执行程序的对象和执行程序的内容进行选择功能部件,并使用该功能部件构建执行设备,以此可以锻炼用户的动手能力。

可选的,上述的执行设备包括:可移动平台。

图5是本发明一个实施例提供的一种编程方法的流程示意图。参照图5所示,该方法应用于上述实施例中所述的执行设备,该方法包括如下步骤S51-S52:

S51、采集至少一个程序信息载体的图像,并从采集的图像中识别出至少一个所述程序信息载体所标识的程序信息。

该程序信息包括但不限于:指示执行设备动作的信息(比如指示执行设备移动的信息)、指示执行设备产生光电效果的信息、指示执行设备发出声音信号的信息、指示执行设备进入某些功能模式的信息等。示例性的,该指示执行设备移动的信息包括但不限于:指示执行设备沿一方向移动直行指定距离,该指定距离可以为用户自定义距离或预设距离;指示执行设备左转或右转者的信息等。

其中,程序信息的标识方式可以包括但不限于文字、数字、字母、符号、图像以及程序信息载体10的形状等等,图像包括但不限于诸如二维码、条形码等。

S52、根据识别到的程序信息编译得到可执行程序,以在满足执行条件的情况下执行所述可执行程序。

本实施例中,用户可以根据自己的编程逻辑,以及期望执行设备将要执行的操作,选择一个或多个对应的程序信息载体,以构建一套执行操作对应的可执行程序,其中,一个程序信息载体可以对应执行设备能够执行的一个或多个操作。当选择程序信息载体的数量为多个时,可选的,上述的执行设备采集程序信息载体的图像的方式可以是按照顺序依次进行采集各个程序信息载体的图像;也可以是直接采集所有程序信息载体的图像,然后识别各程序信息载体标识的程序信息,此时,这多个程序信息载体可以集中在一个区域内,以使得执行设备可以一次性采集包括这多个程序信息载体的图像。如此,在得到各个程序信息载体标识的程序信息后,可以根据各程序信息的排布顺序,将各程序信息进行编译得到可执行程序,并在满足执行条件的情况下,执行该可执行程序。

如此,本发明实施例中,用户通过实体性质的程序信息载体的各个组合,可以构建多套套执行设备的待执行操作所对应的可执行程序,并且由执行设备执行该可执行程序。在构建的过程中,用户根据程序信息载体所对应的一个或多个操作,可以直观地确定可执行程序对应的操作内容,使得用户可以脱离电脑、手机等电子设备进行编程,也不需要认识英文单词,更不需要学习编程语言,即可在锻炼动手能力的过程中实现编程逻辑思维的锻炼,具有简单易学、直观的积极效果。

本发明一实施例中,上述满足执行条件,包括:接收到用户终端发送的开始执行的触发信号,该用户终端与执行设备通信连接,可以用于控制执行设备,其可以是用户所使用的手机、平板电脑等终端设备,也可以是遥控器等设备。或者,上述满足执行条件,包括:接收到用户针对执行设备的输入操作,该输入操作用于指示执行设备执行上述可执行程序,例如,可以是在检测到用户打开执行设备上的某一功能按钮后,比如开始键,然后确定满足执行条件。需要说明的是,上述仅为举例说明,本发明对此不作限定。。

可选的,上述程序信息载体的表面标识有所述程序信息。

本实施例中,在程序信息载体的表面标识程序信息的方式,可以是包括:将程序信息印刷在程序信息载体的表面,该程序信息的标识形式可以是文字信息或者是指定的符号信息、或者是数字信息、或者是字母信息,或者是图像信息等。

进而本实施例中,用户可以直观地看到每个程序信息载体所表征的程序信息,便于用户根据执行设备将要执行的程序内容,选择不同的程序信息载体构建对应的程序信息载体的组合体。

可选的,上述程序信息包括:用户自定义信息。

示例性的,该自定义信息根据不同的执行设备可以是包括:云台的速度、前进的距离、偏转的角度和后退的距离等等。

用户可以是将自定义信息通过填写、粘接等方式设置于用户自定义信息区域。

本发明一实施例中,上述程序信息载体上设置有第一标识;

所述第一标识用于被所述执行设备检测以识别所述程序信息载体,并在识别所述程序信息载体后识别所述程序信息载体所标识的程序信息。

该第一标识可以是:二维码、条形码等。

本发明实施例中,在程序信息载体上设置第一标识,目的是让执行设备识别该程序信息载体,然后在识别该程序信息载体以后再进行识别该程序信息载体所标识的程序信息;如此,可以防止执行设备在识别程序信息载体所标识的程序信息的过程中,受到除程序信息载体以外的其他物体的干扰。

本发明一实施例中,上述程序信息载体上设置有第二标识,所述第二标识用于记录所述程序信息载体所标识的程序信息;

执行设备读取所述图像中的所述第二标识,得到所述第二标识记录的程序信息。示例性的,该第二标识可以是:图形码标签,比如二维码、条形码等。

本发明一实施例中,上述程序信息载体之间能够进行可拆卸地连接,以得到不同内容的可执行程序。

可选的,上述可执行程序中指示的各个操作的顺序与所述程序信息载体之间的连接顺序相关。

进而,本发明实施例中用户可以按照执行设备将要执行的各个操作的顺序,将对应的不同程序信息载体进行依次组合或者拼接。

可选的,上述程序信息载体,包括:具有特定形状的立体块。该立体块可以是积木,进而用户可以是通过将不同形状的立体块进行堆叠或拼接,以表征执行设备待执行的操作的内容,使执行设备通过采集堆叠或拼接的各立体块的图像,识别不同立体块所表征的程序信息,然后根据各立体块所表征的程序信息编译得到待执行程序。

或者,该立体块可以是执行设备所包含的功能部件的仿真立体块。进而用户可以更直观、形象的根据执行设备所包含的各功能组件将选择的各仿真立体块搭建得到与执行设备对应的组合体

上述执行设备包括:执行主体以及图像采集设备,图像采集设备可拆卸地安装于所述执行设备主体上的指定位置处;本实施例中,执行设备通过所述图像采集设备采集至少一个程序信息载体的图像。

图6是本发明一个实施例提供的另一种编程方法的流程示意图。参照图6所示,在所述采集至少一个程序信息载体的图像前,所述方法还包括如下步骤S50:

S50、获取所述程序信息载体的位置信息,根据所述位置信息调节所述图像采集设备的拍摄方向朝向所述程序信息载体。

本发明实施例中,执行设备可以自动获取待识别程序信息载体的位置信息,然后根据该位置信息调节图像采集设备的拍摄方向与程序信息载体所在的位置一致,进而可以实现,当图像采集设备的拍摄方向与待识别程序信息载体的位置不一致时,无需用户手动调节图像采集设备的图像采集的方向,提高了程序执行的效率。

本实施例中,上述可执行程序对应的组合体中的至少一个所述程序信息载体上设置有定位部件,该定位部件用于发出定位信号;执行设备上设置有与该定位部件对应的定位检测部件,执行设备还用于通过该定位检测部件检测该定位信号,并根据该定位信号对可执行程序对应的至少一个所述程序信息载体定位,以根据定位结果采集所述可执行程序对应的至少一个所述程序信息载体的图像。

上述执行设备通过定位检测部件检测该定位信号,根据该定位信号对程序信息载体或者由该程序信息载体构建的组合体进行定位,所要达到的目的是使该执行设备得到程序信息载体或者由该程序信息载体构建的组合体的位置信息,根据该位置信息调节拍摄方向,采集各程序信息载体的图像,提高识别的效率。

本实施例中,上述的定位部件可以是激光发射器,上述的定位检测部件可以是激光接收器,激光发射器用于在满足预设条件后持续进行激光发射,执行设备在移动过程中检测该激光信号,当接收到该激光信号以后,确定该激光发射器的位置信息,进而得到待识别程序信息载体的位置信息。

可选的,上述定位部件可以是设置于开始程序信息载体上和/或结束程序信息载体上,当用户构建组合体完毕以后,若需要执行设备识别该程序信息载体,则用户控制该定位部件开始工作,发出定位信号。并控制执行设备检测该定位信号,实现对待识别信息载体的定位。

可选的,上述图像采集设备还包括:设于所述执行主体上的云台,所述云台用于支撑所述图像采集设备;该方法中,执行设备根据所述位置信息调节云台的姿态,以调节所述图像采集设备的拍摄方向朝向所述程序信息载体。

可选的,在所述图像采集设备用于采集至少一个所述程序信息载体的图像时,所述图像采集设备与执行设备主体之间的距离大于预设距离。

本发明一实施例中,所述方法还包括如下步骤A10:

步骤A10、记录多个所述可执行程序,对记录的多个所述可执行程序进行重新编译,得到新的可执行程序。

可选的,上述执行设备还用于接收编辑指令,在接收到该编辑指令以后,根据所述编辑指令对存储的多个可执行程序进行重新编译,得到新的可执行程序。

进而本实施例中,在进行编程的过程中用户可以是通过多次进行选择不同的程序信息载体进行构建组合体,使执行设备编译得到多个可执行程序,执行设备将得到的多个可执行程序进行存储,并在执行设备接收到编辑指令以后,将该多个可执行程序进行重新编译,示例性的,该重新编译包括:将多个可执行程序按照各自生成的时间顺序或者其他指定的逻辑进行拼接,得到一个新的完整的可执行程序,然后继续对该可执行程序进行暂存或者是直接执行该可执行程序。

示例性的,以执行设备为“无人车”产品为例,该无人车包括的功能部件有:云台、发射机构;用户在选择程序信息载体时,可以是根据不同的功能部件将要执行的操作分别进行选择对应的程序信息载体,执行设备根据用户选择的程序信息载体编译得到不同功能部件分别对应的可执行程序,并分别进行存储,在执行设备得到所有的功能部件分别对应的可执行程序以后,此时若接收到编辑指令,则将该所有的可执行程序进行重新编译得到一个新的完整的可执行程序,然后在满足执行条件的情况后执行该新的程序信息。

比如,云台对应的可执行程序为云台绕yaw轴旋转20度,发射机构对应的可执行程序以3发/秒的速度连续射击3秒,则两个可执行程序拼接后,可以是诸如满足执行条件的情况下,发射机构以3发/秒的速度连续射击3秒后,再云台绕yaw轴旋转20度。

上述的编辑指令可以是由用户终端设备发送的,比如手机、电脑、遥控器等设备。

进而本发明实施例中,允许用户将执行设备的一个复杂的操作进行分割,有利于对用户的逻辑能力进行训练;并且能够满足在程序信息载体数量有限的情况下,实现复杂的可执行程序的编译。

可选的,上述方法还包括:输出所述可执行程序是否执行成功的结果信息。该输出的方式可以是包括:语音输出、光信号闪烁等方式。

进而本实施例中,通过执行设备直接输出可执行程序是否执行成功的结果信息,使得用户能够直观地判断程序执行的结果。并进一步的判断出用户所选择的程序信息载体是否正确以及各程序信息载体的搭建顺序是否正确等。

可选的,上述执行设备包括一个或多个可拆卸连接的功能部件;

所述功能部件用于在满足所述执行条件的情况下执行所述可执行程序。

示例性的,以执行设备“无人车”为例,该无人车包括的功能部件有:底盘、云台、图像采集设备和发射机构。例如,当该执行设备在从采集的图像中识别出有程序信息载体所标识的程序信息为指示底盘转向时,该底盘功能部件会在满足执行条件的情况下执行对应的转向操作;当该执行设备在从采集的图像中识别出有程序信息载体所标识的程序信息为指示云台转向时,该云台功能部件会在满足执行条件的情况下执行对应的转向操作。

本发明一实施例中,上述步骤:采集至少一个程序信息载体的图像,具体包括:

控制所述执行设备移动,并在移动的过程中采集至少一个程序信息载体的图像。

进而本发明实施例中,可以控制执行设备移动,以在移动的过程中进行采集程序信息载体的图像,不仅能够锻炼用户对执行设备的移动控制,也无需用户进行手持图像采集设备进行采集图像,具有效率更高的优点。

图7是本发明一个实施例提供的一种程序执行设备的结构示意图。参照图7所示,该程序执行设备至少包括存储器702和处理器701;所述存储器702通过通信总线703和所述处理器701连接,用于存储所述处理器701可执行的计算机指令;所述处理器701用于从所述存储器702读取计算机指令以实现:

采集至少一个程序信息载体的图像,并从采集的图像中识别出至少一个所述程序信息载体所标识的程序信息;

根据识别到的程序信息编译得到可执行程序,以在满足执行条件的情况下执行所述可执行程序。

可选的,上述程序信息载体的表面标识有所述程序信息。

可选的,上述程序信息包括:用户自定义信息。

可选的,上述程序信息载体上设置有第一标识;

所述第一标识用于被所述执行设备检测以识别所述程序信息载体,并在识别所述程序信息载体后识别所述程序信息载体所标识的程序信息。

可选的,上述程序信息载体上设置有第二标识,所述第二标识用于记录所述程序信息载体所标识的程序信息;

所述处理器701还用于从所述存储器702读取计算机指令以实现:

读取所述图像中的所述第二标识,得到所述第二标识记录的程序信息。

可选的,上述程序信息载体之间能够进行可拆卸地连接,以得到不同内容的可执行程序。

可选的,上述可执行程序中指示的各个操作的顺序与所述程序信息载体之间的连接顺序相关。

可选的,上述程序信息载体,包括:具有特定形状的立体块。

可选的,上述程序信息载体包括:所述执行设备所包含的功能部件的仿真立体块。

可选的,上述程序执行设备包括:执行主体以及图像采集设备,所述图像采集设备可拆卸地安装于所述程序执行设备主体上的指定位置处;

所述处理器701还用于从所述存储器702读取计算机指令以实现:

通过所述图像采集设备采集至少一个程序信息载体的图像。

可选的,所述处理器701还用于从所述存储器702读取计算机指令以实现:

获取所述程序信息载体的位置信息,根据所述位置信息调节所述图像采集设备的拍摄方向朝向所述程序信息载体。

可选的,所述图像采集设备还包括:设于所述执行主体上的云台,所述云台用于支撑所述图像采集设备;

所述处理器701还用于从所述存储器702读取计算机指令以实现:

根据所述位置信息调节云台的姿态,以调节所述图像采集设备的拍摄方向朝向所述程序信息载体。

可选的,在所述图像采集设备用于采集至少一个所述程序信息载体的图像时,所述图像采集设备与所述程序执行设备主体之间的距离大于预设距离。

可选的,所述程序信息载体包括:开始程序信息载体和结束程序信息载体;

所述开始程序信息载体用于标识所述可执行程序开始的程序信息;

所述结束程序信息载体用于标识所述可执行程序结束的程序信息。。

可选的,所述可执行程序对应的至少一个所述程序信息载体上设置有定位部件,所述定位部件用于发出定位信号;

所述程序执行设备上设置有与所述定位部件对应的定位检测部件,所述处理器701还用于从所述存储器702读取计算机指令以实现:

通过所述定位检测部件检测所述定位信号,并根据所述定位信号对所述可执行程序对应的至少一个所述程序信息载体定位;

根据定位结果采集所述可执行程序对应的至少一个所述程序信息载体的图像。

可选的,所述处理器701还用于从所述存储器702读取计算机指令以实现:

对记录的多个所述可执行程序进行重新编译,得到新的可执行程序。

可选的,所述处理器701还用于从所述存储器702读取计算机指令以实现:

接收编辑指令;

所述对记录的多个所述可执行程序进行重新编译,得到新的可执行程序,包括:

根据所述编辑指令对多个所述可执行程序进行重新编译,得到新的可执行程序。

可选的,所述处理器701还用于从所述存储器702读取计算机指令以实现:

输出所述可执行程序是否执行成功的结果信息。

可选的,所述执行设备包括一个或多个可拆卸连接的功能部件;

所述功能部件用于在满足所述执行条件的情况下执行所述可执行程序。

可选的,所述程序执行设备包括:可移动平台。

可选的,所述处理器701还用于从所述存储器702读取计算机指令以实现:

控制所述执行设备移动,并在移动的过程中采集至少一个程序信息载体的图像。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种编程系统、方法及程序执行设备
  • 网络应用程序分散执行系统,终端设备及其网络应用程序执行方法,以及终端设备的操作方法
技术分类

06120112160259