一、前言
第二篇为开发环境介绍,Choregraphe在官网有很详尽的教学,Choregraphe为图形化介面,可以轻鬆的写出说话、移动、人脸辨识的程式,而无需写任何程式码,当然,较为複杂的功能还是需要,建议新手把基础介绍的hello world三个部分看完,要更仔细的介绍就看Tutorial。
Choregraphe基础介绍: What is Choregraphe
Choregraphe Tutorials: Choregraphe Tutorials
二、环境介面
上图为choregraphe环境介面,大概分为八个部分,分别为:
三、程式设计
基本的专案执行在hello world 1(Choregraphe基础介绍网址中)有讲解,我主要介绍Box如何设计,从下图的BOX中开始,在Choregraphe上开发上的好处是能够看到目前在哪个Box中运作,方便程式设计者掌控系统的流程,每个Box都是一个class,需要设定输入的资料型态以及输出的格式并有特定的写法,从Box中 点右键选取Edit box可看到目前box的input/ouput及拥有的变数
我们接着点击inputs中的中间的蓝色方块,目前选择的是onStart的input,所以会看到下图的画面,对应到的是Box图左上角黑色箭头的进入点
其中要修改的为Name、Type跟Nature,Name为你的method名称,程式码的method名称必须与Name一致,input的method必须加上onInput及底线写为def onInput_yourmethodname(self):
,Type为输入的资料型态,Nature为输入点的型态。
Type可设为:
Dynamic: 输入甚么型态都可以"Bang": 不输入资料String: 字串number: 数字Nature可设为:
onStart: 通常会写为初始化Box会使用到的变数,设定一些要用的状态等,基本上只会设一个input的Nature为onStart。onEvent: 对应到Box的class中写好的method。onStop: 取消使用此Box,对应的method中大多会写为清除使用的变数。以下图来讲解Box的功能设计範例,使用内建的Speech Reco. Box以及为其所对应的内容程式码讲解。
每一个Box的进入点以及离开点都有各自设定好的输入输出,其根据不同的输出资料型态而有不同的颜色,例如Type为String输出线条为蓝色,要输出的型态以及资料数量都需要预先设定好,否则程式会出现错误,或者是没有接收到应该取得的资料。上图中的语音辨识进入点会跑到def onInput_onStart(self):
这一行的method开始运作,而如果要接收资料就要在Box那边设定Type为String,然后程式码部分改成def onInput_onStart(self, data):
才能够取得传输过来的资料。
以上大概是设计每一个Box的初步流程,在里面有要求使用麦克风等要透过NAO SDK中宣告变数才能使用ALSpeechRecognition模组以及ALMemory的模组,在透过里面的methods才能够开启语音辨识功能,以上则是choregraphe的Box大致上的开发流程,更多的请找Tutorials。