CN106528142A - 树状组合式指令实物化编程方法、应用和实物化编程模块 - Google Patents
树状组合式指令实物化编程方法、应用和实物化编程模块 Download PDFInfo
- Publication number
- CN106528142A CN106528142A CN201610967532.1A CN201610967532A CN106528142A CN 106528142 A CN106528142 A CN 106528142A CN 201610967532 A CN201610967532 A CN 201610967532A CN 106528142 A CN106528142 A CN 106528142A
- Authority
- CN
- China
- Prior art keywords
- tree
- material objectization
- instruction
- module
- processing unit
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Numerical Control (AREA)
Abstract
本发明提供了一种树状组合式指令实物化编程方法,其包括以下步骤:(1)搭建带有处理单元的运行对象;(2)搭建线性或树状连接的实物化逻辑程序,实物化编程模块内建有以树状结构汇合的多个ID;(3)在实物化逻辑程序与处理单元之间建立信号连接,处理单元根据树状结构依次读取实物化编程模块的ID并把读取到的实物化编程模块的线性或树状连接关系存储到存储器中;(4)处理单元对ID进行解析,获取到各个实物化编程模块内的程序逻辑,并按照树状结构依次解析出程序逻辑的程序逻辑。本发明还提供了一种该方法的应用和一种实物化编程模块。本发明可以解决现有技术中实体程序模块组合形式单一、信号传递效率低及精准性低的问题。
Description
技术领域
本发明涉及一种编程模块中所涉及的传感器技术,具体而言,涉及一种树状组合式指令实物化编程方法、应用和实物化编程模块。
背景技术
传统的编程通常是通过键盘输入文本语言来完成。这种编程方式对于计算机初学者而言,理解和使用起来很不方便,主要原因是传统编程语言中的语法和复杂指令,难以被理解和记忆,同时还需要进行大量输入工作。而一般儿童和新手很难记住和理解程序语言的语法、逻辑关系和程序架构等非常专业的知识。此外,对文字掌握得还不成熟的儿童来说,程序的文本编辑方式缺乏直观性,儿童无法采用传统的编程方式来创作自己的程序。图形化编程向儿童提供了一种编程的可行途径。它将各种编程的概念转化为显示在屏幕上的各种图形,儿童只需要对于各种图形进行拖动,就可以完成编程的整个过程。而实物编程被认为是图形化编程的一个分支。与图形化编程不同之处在于,实物编程对于程序的操作超越了计算机屏幕的限制。实物编程通过触觉、物理感知等技术与实物交互,再将实物逻辑转化为程序逻辑来进行编程。与直接让儿童操控电脑相比,让儿童通过操纵实物来进行创作,更容易让儿童投入到整个过程当中。通过实物编程系统,儿童可以对程序语言的逻辑有更加直观的理解。程序不再是一行行枯燥的代码,而是一组形象甚至一组实物的组合,儿童通过对实物的拼接组合,就可以完成普通程序语言通过键盘输入代码完成的工作。实物编程的特点决定了它更适合儿童进行编程操作。
韩国专利KR101037901B1公开了一种基于实体程序模块的机器人系统,其中,复合组合形式执行指令的实体程序模块;连接在组成各行的上述实体程序模块的一侧,使上述实体程序模块进行多行组合的条形块;通过上述条形块接收由上述实体程序模块形成的指令信号并把它们组合后进行传递的机器人模块;以及通过上述机器人模块接收到上述实体程序模块的复合组合所形成的指令并执行该指令的机器人。并且,该实体程序模块以可进行物理操作的模块的形式实现程序的抽象性概念,即顺序、重复、条件、参数、函数等。应用本发明的实体程序模块,试图解决控制机器人的问题,从而更加容易理解程序概念,并可提高思维能力。根据韩国专利KR101037901B1的说明书中第26-28段的描述以及图19可以看到,每一个实体程序模块(100)在左右方向或者上下方向上进行组合并生成一定的指令,条形块(200)把左右方向上相连的实体程序模块(100)的指令进行组合并传输到机器人模块(300),顺序把连接在各行的条形块(200)上实体程序模块(100)上被存储的指令传输到机器人模块(300),机器人模块(300)把实体程序快(100)的指令沿着每一行按顺序进行组合,并传输到机器人(400);即组合实体程序模块(100)的第一行指令、组合第二行指令、组合第三行指令,以此顺序组合指令,然后把该组合指令转换成中间码,最后把中间码传输到机器人(400)。因此,该韩国专利KR101037901B1的不足之处是,由于多个实体程序模块的指令必须要组合(汇合)到条形块内,以“行”形式行程多个指令组合,最后转码并传输到机器人内,使得实体程序模块的组合形式只能如图19所示的“多行”的形式,限制了实体程序模块的组合形式,也降低了实体程序模块组合过程中的多样性和趣味性,并且“汇合再转码”的方式也降低了指令信号传递的效率,也形成了传递过程中的信号损失,降低了信号传递的精准性,从而影响后续运行单元的运行效果。
发明内容
鉴于此,本发明提供了一种树状组合式指令实物化编程方法、应用和实物化编程模块,旨在解决现有技术中实体程序模块组合形式单一、信号传递效率低及精准性低的问题。
为此,一方面,本发明提供了一种树状组合式指令实物化编程方法,其包括以下步骤:
(1)搭建带有处理单元的运行对象;
(2)选取实物化编程模块搭建线性或树状连接的实物化逻辑程序,实物化编程模块内建有ID,多个ID在实物化逻辑程序中以树状结构汇合;
(3)在实物化逻辑程序与处理单元之间建立信号连接;
(4)启动处理单元内的装载程序把实物化逻辑程序装载到处理单元的存储器中,处理单元根据树状结构依次读取实物化编程模块的ID并把读取到的实物化编程模块的线性或树状连接关系存储到存储器中;
(5)处理单元内CPU解析并检测实物化逻辑程序是否正确,处理单元还对ID进行解析,获取到各个实物化编程模块内的程序逻辑,并按照树状结构依次解析出程序逻辑的程序逻辑;
(6)如果程序正确,则执行程序,并验证程序的执行是否正确;如果程序不正确,则向错误的实物化编程模块反馈信息,修改搭建后的实物化逻辑程序,返回上述步骤(3)继续,直到正确为止;
(7)如果运行对象运行正确,就结束任务;否则,移动和更换实物化编程模块来修改程序,继续上述步骤(3),直到运行对象运行正确为止。
进一步地,上述ID通过存储器存储为实物化编程模块标识的一个唯一的ID。
进一步地,上述实物化编程模块内部含有芯片并通过拨码开关将ID存储为实物化编程模块标识的一个唯一的ID。
进一步地,上述步骤(6)中,在实物化编程模块上设置光反馈装置,处理单元检测到错误之后输出信号,对应的实物化编程模块的光反馈装置作出光反馈。
进一步地,上述实物化编程模块为传感器模块,其内建有判断程序。
进一步地,上述实物化编程模块上设有两个接口,判断程序采取两口判断方式。
进一步地,上述判断程序对传感器模块的感应信号进行比较判断,并形成“是”指令和“否”指令,“是”指令和“否”指令皆以汇流方式发送到处理单元,处理单元根据“是”指令和“否”指令向运行单元发送相应的运行信号,运行单元开始执行相应的指令。
进一步地,上述处理单元为逻辑芯片或MCU。
再一方面,本发明还提供了上述的一种树状组合式指令实物化编程方法在机器人领域的应用,其包括以下应用步骤:
(1)构思与设计将要搭建的机器人;
(2)搭建机器人,机器人主体包含处理单元、传感器和发声发光模块;
(3)根据步骤(1)中所构思的机器人,选取实物化编程模块来搭建线性或树状连接的实物化逻辑程序;
(4)将搭建后的实物化逻辑程序与机器人主体内的处理单元连接;
(5)启动处理单元内的装载程序将实物化逻辑程序下载到处理单元存储器中;
(6)机器人运行:处理单元解析并控制机器人执行上述程序。
再一方面,本发明还提供了一种实物化编程模块,其包括外壳以及置于外壳内部的线路板,外壳的侧面设有接口,线路板的输出和输入端设置在接口内,实物化编程模块与带有处理单元的运行对象之间通过上述的一种树状组合式指令实物化编程方法建立关系。
本发明提供的一种树状组合式指令实物化编程方法、应用和实物化编程模块,通过搭建线性或树状连接的实物化逻辑程序,使得多个ID在实物化逻辑程序中以树状结构汇合,处理单元根据树状结构依次读取实物化编程模块的ID并把读取到的实物化编程模块的线性或树状连接关系存储到存储器中,处理单元对ID进行解析,获取到各个实物化编程模块内的程序逻辑,并按照树状结构依次解析出程序逻辑的程序逻辑,以此使得多个实物化编程模块的指令能够以任意的组合方式进行组合,并汇合到任一位置上,然后存储到存储器中。
因此,本发明与现有技术相比,具有以下优点:
1)实物化编程模块能够以线状或树状的任意形式进行组合,使得实体程序模块的组合形式更为丰富,提高了实体程序模块组合过程中的多样性和趣味性;
2)无需经过“中转站”,指令直接组合后传递到处理单元的存储器中,无需经过转码过程,使得指令信号的传递效率和传递的精准性都获得提高。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明中所涉及的实物化编程模块的示意图;
图2为本发明中所涉及的实物化编程模块的外壳形状的示例图;图2a-单八边结构,图2b-双八边形组合结构,图2c-三八边形组合结构,图2d-四八边形组合机构;
图3为本发明中所涉及的实物化编程模块的拨档开关示意图;
图4为本发明中所涉及的实物化编程模块的旋转开关示意图;
图5为本发明中所涉及的实物化编程模块的按压开关示意图;
图6为本发明中所涉及的多种选择开关组合的实物化编程模块的示意图;
图7、图9、图10为本发明中所涉及的单八边形结构的实物化编程模块的示意图;
图8为本发明中所涉及的单八边形结构的实物化编程模块内部线路板的示意图;
图11为本发明中所涉及的单八边形结构打开/关闭输出口的实物化编程模块的示意图;
图12本发明中所涉及的单八边形结构的延时类指令模块的平行选择机构的示意图;
图13、图14为本发明中所涉及的双八边形结构的实物化编程模块的示意图;
图15为本发明中所涉及的双八边形结构的实物化编程模块内部线路板的示意图;
图16为本发明中所涉及的双八边形组合式结构的重复做指令模块的示意图;
图17为本发明中所涉及的双八边形组合式结构的马达运行模块指令的平行选择机构的示意图;
图18为本发明中所涉及的实物化编程模块之间的连接示意图;
图19为本发明中所涉及的树状组合式指令实物化编程方法的流程图;
图20为本发明中所涉及的条件类指令模块示意图;图20a—如果判断指令,图20b—重复做指令,图20c—等待条件满足;
图21为本发明中所涉及的延时类指令模块示意图;
图22为本发明中所涉及的音乐输出类指令模块示意图;
图23为本发明示例中所涉及的巡迹机器人专用的指令模块的示意图;其中图23a—机器人前进指令,图23b—机器人左转指令,图23c—机器人右转指令,图23d—机器人后退指令,图23e—机器人停止指令;
图24为本发明中所涉及的的实物指令模块内部指令ID存储原理图;图24a为芯片加编码的开关方式存储指令ID,图24b是单片机加存储器的方式方存储指令ID;
图25为本发明示例中所涉及的巡迹机器人与黑线关系框图;
图26为本发明示例中所涉及的巡迹机器人运行程序流程图;
图27为本发明示例中所涉及的巡迹机器人用实物化逻辑程序;
图28为本发明中所涉及的处理单元内部组成以及其与实物编程指令模块的连接的结构图;
图29为本发明中所涉及的装载程序工作原理流程图;
图30为本发明中所涉及的处理单元解析程序工作原理流程图;
图31为本发明示例中所涉及的巡迹机器人专用的指令模块的示意图;其中,图31a—小车前进指令,图31b—小车后退指令,图31c—小车右转指令,图31d—小车停止指令;
图32为本发明示例中所涉及的指令模块的示意图;其中,图32a—开关指令,图32b—运行时间指令,图32c—运行时间+指令,图32d—调音盒指令,图32e—马达运行指令,图32f—灯效指令,图32g—头部运动指令,图32h—机械手指令,图32i—表情板计数指令,图32j—表情设置指令,图32k—舵机控制指令,图32l—U盘音乐播放指令,图32m—电机调速指令;
图33为本发明示例中所涉及的条件类指令模块的示意图;其中,图33a—传感器指令,图33b—或者指令,图33c—等待信号及等待信号+指令,图33d—重复运行指令,图33e—跳出循环指令,图33f—等待信号(超时退出)指令,图33g—重复运行+指令,图33h—传感器+指令,图33i—或者(等待)指令,图33j—重复前面指令,图33k—测试条件是否满足指令,图33l—等待条件是否满足(也可以担当条件指令)指令;
图34为本发明示例中所涉及的指令模块的示意图;其中,图34a—前进(步)指令,图34b—后退(步)指令,图34c—左转(度)指令,图34d—右转(度)指令,图34e—定时中断指令,图34f—定时中断(循环)指令,图34g—位置标记指令,图34h—跳转到指令,图34i—条件取反指令,图34j—舵机控制指令;
图35为本发明示例中所涉及的指令模块的示意图;其中,图35a—表情板值比较指令,图35b—大小设置指令,图35c—输出设置指令,图35d—设置输出(转盘结构)指令,图35e—渐变(输出)指令,图35f—变量设置(转盘结构)指令,图35g—渐变(变量)指令;
图36为本发明示例中所涉及的条件类指令模块的示意图;其中,图36a—比较(表情板值)指令(转盘结构),图36b—比较(变量)指令(转盘结构),图36c—比较(输入口)指令(转盘结构),图36d—区间(输入口)指令,图36e—大小判断指令(转盘结构);
图37为本发明示例中所涉及的遥控的指令模块的示意图;其中,图37a—遥控指令,图37b—遥控+指令,图37c—体感遥控指令,图37d—体感遥控+指令,图37e—超声波指令;
图38为本发明示例中所涉及的避障机器人用实物化逻辑程序(In1口接红外开关);
图39为本发明示例中所涉及的另一种循迹机器人用实物化逻辑程序。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明所述实物化编程的指令模块主体结构包括:外壳1以及置于外壳内部的线路板2,外壳的侧面设有接口(“公口”12,“母口”13),线路板的输出和输入端设置在接口内。上述指令模块的外壳的形状一般为多边形或圆形,优选六角形或八角形对称结构,便于加工和编程连接;如图2a~图2d所示,该指令模块的外壳的形状可以单个设置的八角形也可以是双八角形或多八角形等组合式结构;而且,接口与接口之间主要是保证电连接,连接方式有“磁碰式”、“弹簧针式”、“弹片式”,此外,接口还可以使用USB接口、RJ11、RJ12、RJ45等能够保证电连接和结构连接的接口,但是从外观和牢固可靠等多方面的考虑,优选为“磁碰式”、“弹簧针式”、“弹片式”的连接;其中,信号输出的接口结构上通常采用“公口”,信号输入的接口结构上通常采用“母口”;根据实物模块所代表的指令类型和具体内容,实物模块的接口形式有很多,但是,每个实物模块至少有一个“公口”,“母口”可以有一个或多个,一些“赋值”或“条件上”模块也可以没有“母口”。需要说明的是,“公口”与“母口”的描述是相对的,也可以颠倒过来,重点是每个实物模块的输出端至少有一个,输入端根据模块需求,可以有一个或多个,甚至没有。
前述指令模块内可设置有选择机构,可满足指令模块内并行指令、输入/输出口以及值与变量的选择。所述并行指令包括多条条件指令的选择,系列化执行指令的选择(如延迟时间、前进时间、后退时间、发声时间、动作时间等);如图3~图5所示,指令模块的选择机构有:拨档开关,旋钮开关,按压开关等。然而,当指令的选择比较多时,“拨档开关”式的选择机构可以是“拨档开关”的组合形式:如图3a所示,为一个竖排的2选1拨档开关与一个横排的4选1拨档开关的组合,当竖排的拨档开关拨到上面时,就可从横排1,2,3,4指令中选择一种,若竖排的开关拨到下面,则从5,6,7,8中选择一种;如图3b所示,则是为一竖排的3选1拨档开关与横排3选1拨档开关的组合,指令的选择则有9种,以此类推,可有10种、12种、15种等多种指令的选择。其中,旋钮开关可以是一种多选一的开关,另一种是8421编码旋转开关(如图4所示)。另外,如图6所示,一个指令模块的选择机构可以有多个“拨档开关”、“旋钮开关”或“按压开关”,也可以是“拨档开关”,“旋钮开关”,“按压开关”中的两种或三种的组合。优选地,拨档开关和旋钮开关在各档位位置的表面附有固定式指示说明,按压开关则为“8”字式动态指示说明,具体显示数字随按压的次数而变化,如图5所示,实物模块因内置有两根数码管,有两个按压开关,每个开关具有上下两个按钮,向上按钮为上调数字,向下按钮为下调数字,通过按压改变两边数字来选择指令。
如图7~图10为本发明所述一种单八边形的指令模块示例图,该模块具有外壳1,线路板2置于外壳1内,平行选择机构3设置于线路板2上,外壳11上具有与其相匹配的开关盖帽11。外壳1的两侧面设置有接口,此模块的接口主要采用“弹簧针式”辅以“磁碰式”连接方式,接口又分为“公口”12与“母口”13,所述“公口”12与线路板2的输出端21相连,“母口”13与线路板2的输入端22相连,此“公口”与“母口”的连接方式能够保证指令模块之间的电连接;另外,“公口”与“母口”的两侧各设置有磁片14用于吸住并固定模块的连接。
所述线路板2上还设有选择机构3,本实施例中该选择机构3为拨档开关。如图11为单八边形结构的打开/关闭输出口指令的选择机构示意图,它具有Out1、Out2、Out3、Out4四个拨档开关,且各有上下两档,往上拨表示开启该端口,往下拨表示关闭该端口,如图11所示的拨档位置表示:Out1、Out2、Out3、Out4四个输出口同时开启,可输出信号。如图12为单八边形结构的延时类指令的选择机构的示意图,它具有0.1s、0.5s、1s、5s四个档的拨档开关,当开关拨到0.1s档时,此指令模块表示延时0.1s的指令。以此类推,可以有多个输出口并行指令模块啊,多种音乐并行响起指令模块、多个输入口并行指令模块等等都是同样的原理。
参见图13~图15,具为本发明所述双八边形组合式结构的指令模块示例图,该模块具有外壳1,线路板2置于外壳1内,平行选择机构3设置于线路板2上,外壳上具有与其相匹配的开关盖帽11。外壳1的侧面设置有接口,此实施例主要采用“弹簧针式”辅以“磁碰式”连接,接口又分为“公口”12与“母口”13,所述“公口”12与线路板2的输出端21相连,“母口”13与线路板2的输入端22相连,此“公口”与“母口”的连接方式能够保证指令模块之间的电连接;另外,“公口”与“母口”的两侧各设置有磁片14用于吸住并固定模块的连接。由上述可知,每个实物模块至少有一个“公口”,“母口”可以有一个或多个,一些“赋值”或“条件上”模块也可以没有“母口”,图13~图15所示的双八边形的指令模块就具有三个“母口”。
上述线路板2上设置有选择机构3,虽然图中只画了一个,但这只是示范,需要明白的是其选择机构不仅仅只有一个,根据需要它可以设置有多个选择机构。如图16为八边形组合式结构的重复做指令模块的示意图,其可通过中间的拨档开关选择循环次数,所示箭头为指令信号输出/输入的方向;例如,图中所示拨档位置表示此指令模块具有无限循环功能。如图17为双八边形组合式结构的马达运行模块指令的选择机构的示意图,如图15的拨档表示运行对象左边与右边马达都是正方位高速运行。
如图18所示,上述实施例中所述指令模块在使用时,按照图中所示方式连接各指令模块。
由上述可知,本发明所述实物化编程指令模块对称结构合理,使外壳加工方便,模块结构组装快捷;接口连接方式可靠,编程时模块之间可以随意、快速连接或拆卸,满足编程的各种要求。
如图19为本发明的树状组合式指令实物化编程方法的流程图,其具体步骤为:
(1)搭建带有处理单元的运行对象,该运行对象可以是巡迹机器人,扫地机器人等可以实现程序运行的任何运行对象。
如图27中所示,处理单元内部具有CPU、存储器、输入/输出口,具有装载实物编程模块的程序、解析程序、执行程序的功能。其中,In接口用于连接各种输入,如传感器(按键、光电传感器、声音传感器、红外传感器、超声波传感器等等)、音乐U盘、机械手,马达等;Motor接口用于连接直流电机;Out接口用于连接各种输出,比如:LED灯、扬声器、舵机、继电器、网络等等。此外,图38还示出了一种避障机器人,图39还示出了另一张循迹机器人。
(2)选取前述合适的实物编程指令模块搭建线性或树状的实物化逻辑程序,实物编程模块内建有ID,多个ID在实物化逻辑程序中以树状结构汇合;
所述编程指令包括条件控制类指令、延时类指令、传感器类指令和其他指令。如图20所示为条件控制类指令,该类指令又包括:
图20a为如果判断指令:图中拨档位置表示,如果In1输入口有信号则条件满足,执行条件满足的下一条指令否则条件不满足,执行条件不满足的下一条指令;
图20b为重复做指令:图中拨档开关可选择循环次数,当满足该循环次数时条件满足,执行条件满足的下一条指令,否则,跳出循环条件;
图20c为等待条件满足指令:此等待条件满足指令可与上述条件指令配合使用,一直等待直到In1输入口有信号输入,继续执行下一条指令;
此外,图31和36也示出了一些条件类指令模块。
图21为延时指令示意图:图21a为延时X秒A的指令模块示意图,延时时间值可通过拨档开关选择0.1s、0.5s、1s、5s;图21b为延时X秒B的指令模块示意图,延时时间值可通过拨档开关选择0.01s、0.05s、0.031s、0.05s。图22为音乐类指令模块示意图:图22a为音乐响起指令模块,有问候、报警、欢快、机器人之舞四个音乐选择,通过该指令可控制运行对象输出音乐,相对的,还有音乐停止指令模块(如图22b)
然而,根据实际编程的需要还会有其它扩展的指令。例如根据巡迹机器人运行的特点,则需要有机器人专用的运行指令,如图25:
机器人前进指令(图23a):机器人以系统设定的固定速度前进。完事后,然后执行下一条指令。
机器人左转指令(图23b):机器人以系统设定的固定速度左转。完事后,然后执行下一条指令。
机器人右转指令(图23c):机器人以系统设定的固定速度右转,完事后,然后执行下一条指令。
机器人后退指令(图23d):机器人以系统设定的固定速度后退。完事后,然后执行下一条指令。
机器人停止指令(图23e):机器人停止。完事后,然后执行下一条指令。
以上所述编程指令实物化后的实体——实物化编程指令模块(如图1~图18所示),前述将指令进行模块化分区,有利于之后对实物化编程指令模块的理解和使用。此外,每个实物化编程指令模块内部含有一个单片机或芯片,每个指令模块通过拨码开关或者存储器存储为每一个指令模块标识的一个唯一的ID,模块内部ID存储原理如图24所示:图24a是以芯片加编码的开关方式,储存编程模块模块的唯一ID;图24b是以单片机加存储器的方式,用EEPROM存储器储存编程模块模块唯一ID。此外,图31、32、34、35也示出了其他一些指令模块。图37还示出了一些遥控类的指令模块。
(3)连接实物化逻辑程序与处理单元,即在实物化逻辑程序与处理单元之间建立信号连接;
(4)如图28为实物化逻辑程序与处理单元的连接以及处理单元内部功能结构示意图,处理单元与实物化逻辑程序的第一个实物编程模块相连接。启动处理单元内的装载程序把实物化逻辑程序装载到处理单元的存储器中,处理单元根据树状结构依次读取实物编程模块的ID并把读取到的实物编程模块的线性或树状连接关系存储到存储器中;
装载程序位于主控模块内,当按下装载按键后,就会启动处理单元内的装载程序,然后装载程序通过电路信号,从第一个连接的实物化编程模块开始,依次读取每一个实物化编程指令模块内的ID及其连接顺序,并将读取到的实物化编程模块的ID网络连接关系存储到CPU存储器中。如图28为装载程序工作原理流程图,其工作原理如下:①读取第一个模块中的唯一ID;②依次下发指令选取第一个模块中的每一个端口作为下一步要读取的对象,并读取每一个端口对应的下一个模块的唯一ID;③按照上一步骤的方法,通过递归算法依次读取下一级连接的各个模块的唯一ID,直到读完整个被连接的所有模块的唯一ID。
(5)处理单元内CPU解析程序并判断程序是否正确,处理单元还对ID进行解析,获取到各个实物编程模块内的程序逻辑,并按照树状结构依次解析出程序逻辑的程序逻辑;
如图30为处理单元解析程序工作原理流程图,处理单元内的CPU识别存储器中装载的指令ID并按照各个指令执行程序逻辑。
(6)如果程序正确,则执行程序,并验证程序的执行是否正确;否则,对应出错的实物化编程指令模块的红色LED灯就会亮起,修改搭建后的实物化逻辑程序,返回上述步骤(3)继续,直到正确为止;
(7)如果运行对象运行正确,就结束任务;否则,移动和更换实物编程指令模块来修改程序后继续上述步骤(3),直到运行对象运行正确为止。
此外,本发明上述的实物化编程方法可以应用于机器人领域,下面结合示例巡迹机器人(以沿黑线行走的机器人为例)对此作进一步地说明:
(1)构思与设计将要搭建的巡迹机器人:如图25,在机器人沿黑线行走的运动中,机器人与黑线之间一共有五种情况,分别是:机器人完全在线上、机器人左偏、机器人右偏、机器人完全左偏、机器人完全右偏,需要根据不同情况来编程。
(2)搭建巡迹机器人,内置处理单元以及红外线传感器:要实现一个沿黑线走的机器人,则需要在这个机器人的下面安装两个红外线传感器,左右两个,正好骑在黑线上,用于检测是否有黑线,有黑线则反馈为1,无则反馈为0,该巡迹机器人处理单元有两个输入口,左侧红外线接在处理单元的In1输入口,右侧红外线接在处理单元的In2输入口上。
(3)根据巡迹机器人的特点,选取合适的实物化编程指令模块来搭建逻辑程序;
根据沿黑线机器人的特点,为使其保持在黑线内行走,其装备的红外线传感器与机器人的行动有如图26的逻辑关系:在机器人沿黑线活动中,当机器人左侧检测到有黑线时,右侧也检测到黑线,则停止返回重新检测左侧红外线,没有则左转并返回重新检测左侧;当机器人左侧没有检测到黑线,右侧检测到黑线则右转返回重新检测左侧,没有则前进并返回重新检测左侧;通过此逻辑关系就能够实现使机器人沿黑线行走。
根据此逻辑关系需要选取合适的实物化指令模块(巡迹机器人专用的执行指令、条件指令、循环指令等),通过指令模块得拼接来搭建程序,如图27所示,搭建在一起的实物化指令模块就是巡迹机器人的实物化逻辑程序,其中,如果1条件指令模块是对In1输入口上的传感器1的信号进行判断,如有信号则条件满足,执行条件满足接口的下一条指令,否则,执行条件不满足接口的下一条指令;如果2条件指令模块是对In1输入口上的传感器2的信号进行判断,如有信号则条件满足,执行条件满足接口的下一条指令,否则,执行条件不满足接口的下一条指令。
(4)连接实物化逻辑程序与巡迹机器人内的处理单元,启动处理单元内的装载程序将程序下载到处理单元的存储器中;
如图28,第一个指令模块与处理单元相连接,装载程序位于主控模块内,当按下装载按键后,系统就会启动装载程序,然后装载程序通过电路信号,从第一个连接的实物编程指令模块开始,依次读取每一个指令模块中的ID,同时把读取到的实物编程指令模块的网络连接关系存储到CPU存储器中。下表为ID与指令之间的对应关系:
(6)机器人运行:处理单元内的CPU识别存储器中装载的指令ID并控制机器人执行上述程序。
其中,物编程模块为传感器模块时,其内可以建有判断程序。实物编程模块上设有两个接口,判断程序采取两口判断方式。判断程序对传感器模块的感应信号进行比较判断,并形成“是”指令和“否”指令,“是”指令和“否”指令皆以汇流方式发送到处理单元,处理单元根据“是”指令和“否”指令向运行单元发送相应的运行信号,运行单元开始执行相应的指令。处理单元具体可以为主控板,再具体可以为逻辑芯片或MCU。
上述巡迹机器人只是一个简单的典型示例,根据本发明所述技术方案,可运用更多更复杂的实物化指令模块来搭建更加庞大的实物化程序。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种树状组合式指令实物化编程方法,其特征在于,包括以下步骤:
(1)搭建带有处理单元的运行对象;
(2)选取实物化编程模块搭建线性或树状连接的实物化逻辑程序,所述实物化编程模块内建有ID,多个所述ID在所述实物化逻辑程序中以树状结构汇合;
(3)在所述实物化逻辑程序与所述处理单元之间建立信号连接;
(4)启动处理单元内的装载程序把实物化逻辑程序装载到处理单元的存储器中,所述处理单元根据所述树状结构依次读取所述实物化编程模块的ID并把读取到的所述实物化编程模块的线性或树状连接关系存储到所述存储器中;
(5)处理单元内CPU解析并检测实物化逻辑程序是否正确,所述处理单元还对所述ID进行解析,获取到各个所述实物化编程模块内的程序逻辑,并按照所述树状结构依次解析出所述程序逻辑的程序逻辑;
(6)如果程序正确,则执行程序,并验证程序的执行是否正确;如果程序不正确,则向错误的实物化编程模块反馈信息,修改搭建后的实物化逻辑程序,返回上述步骤(3)继续,直到正确为止;
(7)如果运行对象运行正确,就结束任务;否则,移动和更换实物化编程模块来修改程序,继续上述步骤(3),直到运行对象运行正确为止。
2.根据权利要求1所述的一种实物化编程的编程方法,其特征在于:所述ID通过所述存储器存储为所述实物化编程模块标识的一个唯一的ID。
3.根据权利要求1所述的一种树状组合式指令实物化编程方法,其特征在于:所述实物化编程模块内部含有芯片并通过拨码开关将所述ID存储为所述实物化编程模块标识的一个唯一的ID。
4.根据权利要求1所述的一种树状组合式指令实物化编程方法,其特征在于:所述步骤(6)中,在所述实物化编程模块上设置光反馈装置,所述处理单元检测到错误之后输出信号,对应的所述实物化编程模块的所述光反馈装置作出光反馈。
5.根据权利要求1所述的一种树状组合式指令实物化编程方法,其特征在于,所述实物化编程模块为传感器模块,其内建有判断程序。
6.根据权利要求5所述的一种树状组合式指令实物化编程方法,其特征在于,所述实物化编程模块上设有两个接口,所述判断程序采取两口判断方式。
7.根据权利要求5或6所述的一种树状组合式指令实物化编程方法,其特征在于,所述判断程序对所述传感器模块的感应信号进行比较判断,并形成“是”指令和“否”指令,所述“是”指令和所述“否”指令皆以汇流方式发送到所述处理单元,所述处理单元根据所述“是”指令和所述“否”指令向运行单元发送相应的运行信号,所述运行单元开始执行相应的指令。
8.根据权利要求1所述的一种树状组合式指令实物化编程方法,其特征在于,所述处理单元为逻辑芯片或MCU。
9.权利要求1-8任一所述的一种树状组合式指令实物化编程方法在机器人领域的应用,其特征在于,包括以下应用步骤:
(1)构思与设计将要搭建的机器人;
(2)搭建机器人,机器人主体包含处理单元、传感器和发声发光模块;
(3)根据步骤(1)中所构思的机器人,选取实物化编程模块来搭建线性或树状连接的实物化逻辑程序;
(4)将搭建后的实物化逻辑程序与机器人主体内的处理单元连接;
(5)启动处理单元内的装载程序将实物化逻辑程序下载到处理单元存储器中;
(6)机器人运行:处理单元解析并控制机器人执行上述程序。
10.一种实物化编程模块,其特征在于:包括外壳以及置于外壳内部的线路板,外壳的侧面设有接口,线路板的输出和输入端设置在接口内,所述实物化编程模块与带有处理单元的运行对象之间通过如权利要求1-8任一所述的一种树状组合式指令实物化编程方法建立关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610967532.1A CN106528142A (zh) | 2016-10-31 | 2016-10-31 | 树状组合式指令实物化编程方法、应用和实物化编程模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610967532.1A CN106528142A (zh) | 2016-10-31 | 2016-10-31 | 树状组合式指令实物化编程方法、应用和实物化编程模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106528142A true CN106528142A (zh) | 2017-03-22 |
Family
ID=58327091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610967532.1A Pending CN106528142A (zh) | 2016-10-31 | 2016-10-31 | 树状组合式指令实物化编程方法、应用和实物化编程模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528142A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329445A (zh) * | 2017-06-28 | 2017-11-07 | 重庆柚瓣家科技有限公司 | 机器人行为准则智能监管的方法 |
CN107424102A (zh) * | 2017-07-26 | 2017-12-01 | 海南职业技术学院 | 计算机课程具像化教学软件系统 |
CN108230828A (zh) * | 2018-02-12 | 2018-06-29 | 叶昌青 | 一种实物化编程系统和编程方法 |
CN108766118A (zh) * | 2018-08-24 | 2018-11-06 | 杭州高低科技有限公司 | 易于编程教育的有形编程积木 |
CN108777100A (zh) * | 2018-08-24 | 2018-11-09 | 杭州高低科技有限公司 | 基于有形编程指令积木的编程教育系统 |
CN109048928A (zh) * | 2018-10-25 | 2018-12-21 | 遨博(北京)智能科技有限公司 | 一种机器人控制程序的生成方法及装置 |
CN109118880A (zh) * | 2018-08-24 | 2019-01-01 | 杭州高低科技有限公司 | 基于蓝牙mesh的机器人学习和协作系统 |
CN109830141A (zh) * | 2018-12-29 | 2019-05-31 | 柴云山 | 一种实体指令编程方法及实体指令编程系统 |
CN110134382A (zh) * | 2019-04-12 | 2019-08-16 | 乐芒(广州)信息技术有限公司 | 一种实物化编程方法 |
CN110738903A (zh) * | 2019-10-29 | 2020-01-31 | 重庆师范大学 | 一种模块化的人工智能编程教具 |
CN111515948A (zh) * | 2020-04-16 | 2020-08-11 | 杭州大嘴鸟信息技术有限公司 | 编程机器人的控制方法和控制系统 |
CN112466187A (zh) * | 2020-12-08 | 2021-03-09 | 杭州优必学科技有限公司 | 一种基于手势的实物编程控制方法 |
CN113031608A (zh) * | 2021-03-09 | 2021-06-25 | 金陵科技学院 | 一种移动消毒小车行车机构 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104898456A (zh) * | 2015-04-02 | 2015-09-09 | 赵敬双 | 实物化编程的方法及其在机器人领域的应用 |
CN105137887A (zh) * | 2015-09-24 | 2015-12-09 | 苏州乐派特机器人有限公司 | 基于编程板的实物化编程方法及其在机器人领域的应用 |
-
2016
- 2016-10-31 CN CN201610967532.1A patent/CN106528142A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104898456A (zh) * | 2015-04-02 | 2015-09-09 | 赵敬双 | 实物化编程的方法及其在机器人领域的应用 |
CN105137887A (zh) * | 2015-09-24 | 2015-12-09 | 苏州乐派特机器人有限公司 | 基于编程板的实物化编程方法及其在机器人领域的应用 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329445A (zh) * | 2017-06-28 | 2017-11-07 | 重庆柚瓣家科技有限公司 | 机器人行为准则智能监管的方法 |
CN107329445B (zh) * | 2017-06-28 | 2020-09-08 | 重庆柚瓣家科技有限公司 | 机器人行为准则智能监管的方法 |
CN107424102A (zh) * | 2017-07-26 | 2017-12-01 | 海南职业技术学院 | 计算机课程具像化教学软件系统 |
CN108230828A (zh) * | 2018-02-12 | 2018-06-29 | 叶昌青 | 一种实物化编程系统和编程方法 |
CN108777100B (zh) * | 2018-08-24 | 2021-05-25 | 杭州高低科技有限公司 | 基于有形编程指令积木的编程教育系统 |
CN108766118A (zh) * | 2018-08-24 | 2018-11-06 | 杭州高低科技有限公司 | 易于编程教育的有形编程积木 |
CN108777100A (zh) * | 2018-08-24 | 2018-11-09 | 杭州高低科技有限公司 | 基于有形编程指令积木的编程教育系统 |
CN109118880A (zh) * | 2018-08-24 | 2019-01-01 | 杭州高低科技有限公司 | 基于蓝牙mesh的机器人学习和协作系统 |
CN108766118B (zh) * | 2018-08-24 | 2023-08-25 | 杭州高低科技有限公司 | 易于编程教育的有形编程积木 |
CN109118880B (zh) * | 2018-08-24 | 2021-07-02 | 杭州高低科技有限公司 | 基于蓝牙mesh的机器人学习和协作系统 |
CN109048928A (zh) * | 2018-10-25 | 2018-12-21 | 遨博(北京)智能科技有限公司 | 一种机器人控制程序的生成方法及装置 |
CN109830141A (zh) * | 2018-12-29 | 2019-05-31 | 柴云山 | 一种实体指令编程方法及实体指令编程系统 |
CN110134382A (zh) * | 2019-04-12 | 2019-08-16 | 乐芒(广州)信息技术有限公司 | 一种实物化编程方法 |
CN110738903A (zh) * | 2019-10-29 | 2020-01-31 | 重庆师范大学 | 一种模块化的人工智能编程教具 |
CN111515948B (zh) * | 2020-04-16 | 2021-02-26 | 杭州大嘴鸟信息技术有限公司 | 编程机器人的控制方法和控制系统 |
CN111515948A (zh) * | 2020-04-16 | 2020-08-11 | 杭州大嘴鸟信息技术有限公司 | 编程机器人的控制方法和控制系统 |
CN112466187A (zh) * | 2020-12-08 | 2021-03-09 | 杭州优必学科技有限公司 | 一种基于手势的实物编程控制方法 |
CN113031608A (zh) * | 2021-03-09 | 2021-06-25 | 金陵科技学院 | 一种移动消毒小车行车机构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528142A (zh) | 树状组合式指令实物化编程方法、应用和实物化编程模块 | |
CN104898456B (zh) | 实物化编程的方法及其在机器人领域的应用 | |
CN105137887B (zh) | 基于编程板的实物化编程方法及其在机器人领域的应用 | |
CN102136208B (zh) | 一种实物编程方法和系统 | |
CN106708535A (zh) | 一种应用于实物编程模块的自定义编辑系统及方法 | |
US6879862B2 (en) | Selection and control of motion data | |
CN108279878B (zh) | 一种基于增强现实的实物编程方法及系统 | |
CN110271009B (zh) | 基于plc仿机器人指令实现机械手示教功能方法 | |
EP3102366B1 (en) | A system and method for creating and editing a playlist defining motions of a plurality of robots cooperatively performing a show | |
CN103197929B (zh) | 一种面向儿童的图形化编程系统和方法 | |
CN106997285A (zh) | 一种控制机器人的方法及装置 | |
CN107688802A (zh) | 一种基于图像识别的简易编程方法及装置 | |
CN110262378A (zh) | 一种利用app控制机器人实现在线编程的方法 | |
CN108268255A (zh) | 用于编程机器人的方法和装置 | |
CN106095096A (zh) | 利用实物块编程的方法及其在机器人领域的应用 | |
CN108898918A (zh) | 易于编程教育的编程教育控制对象装置 | |
CN205600737U (zh) | 一种机器人舞蹈的实物化编程模块 | |
CN105431790B (zh) | 编程装置 | |
US20210182101A1 (en) | Program generating device, program generating method, and information storage medium | |
CN107193534A (zh) | 一种将plc梯形图转换成指令表并解释执行的方法 | |
CN105589341B (zh) | 实物化编程的指令模块 | |
CN109807896A (zh) | 运动控制方法和系统、控制设备及存储介质 | |
CN103941627B (zh) | 一种基于plc编程中sfc到梯形图的转换方法 | |
Riedl et al. | A fast robot playback programming system using video editing concepts | |
CN205563132U (zh) | 实物化编程的指令模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |