MRDS学习三——机械车的改良(Activity的介绍)

Activity:VPL中化繁为简的工具,可以使得真个VPL容易让人看懂,也能跟好的控制。它就很像把一堆比较复杂但相关的流程组合成一个自定义的Activity。

完成Activity的定义:

第一步:复制MRDS学习二的VPL到Diagram中。

第二步:从Basic Activity中拖动一个Activity到Diagram中,右边Properties属性表中修改元件属性如下:(目前只能英文)

  MRDS学习三——机械车的改良(Activity的介绍)

第三步:对自定义的 Activity双击进入编辑画面,然后把学习二中的元件复制过来如下:

  MRDS学习三——机械车的改良(Activity的介绍)

第四步:(忽略红色叹号)接着要定义这个活动的输出以及输入:点击上方红色编辑器或使用下拉选单的Edit/Actions and Notifications,看到如下对话框:

  MRDS学习三——机械车的改良(Activity的介绍)

(主要分为两大区块:Actions是指需要输入一个讯息,然后该Activity会经过一些处理以后输出一个讯息,而Notifications则是无需输入自发输出讯息,所以通常一个流程的最前面元件往后输出讯息的都是Notifications)

(Actions:从左到右三个板块分别代表定义的Actions、输入的讯息组合内容、输出的讯息组合内容)

定义Action,取名ControlDirection如下图:

  MRDS学习三——机械车的改良(Activity的介绍)

第五步:把左边的输入拉到原本的Calculate。为了统一输出,把“Stop”,“Fowards”,“Backwords”产生出来的讯息经由Merge后再一次Join:

  MRDS学习三——机械车的改良(Activity的介绍)

最后连接如下图所示:

  MRDS学习三——机械车的改良(Activity的介绍)

第六步:指定输出的LeftDriverPower和RightDriverPower:在跳出的Data Connections对话框中,(透过Merge,系统无法计算出正确的下拉选单给你)输入如下图(勾选Edit Values Directly):

  MRDS学习三——机械车的改良(Activity的介绍)

补充完整机械车的步骤:

第一步:回到原来的Diagram,用Activity替代哪些复制到其的元件,把DirectionDialog的Notifications拖到RobotControl时,出现Connections对话框【From】中选择ButtonPress。接着出现的Data Connections对话框【Value】中选择value.name。

第二步:把RobotControl的输出交给Generic Differential Drive 时,出现Connections对话框【To】中选择setDriverPower,接着出现的Data Connections对话框【Value】中选择LeftDriverPower和RightDriverPower。

整个元件流程如下所示:

  MRDS学习三——机械车的改良(Activity的介绍)

第三步:补充功能:松开按钮就停止事件。

复制DirectionDialog(另一个的分身,即为同一个),把Notifications拖到Generic Differential Drive 时,出现Connections对话框中选择ButtonRelease交给SetDrivePower。接着出现的Data Connections对话框【Value】中都设为0。

  MRDS学习三——机械车的改良(Activity的介绍)

第四步:保存并运行。

  MRDS学习三——机械车的改良(Activity的介绍)

这样的机械车就不会那么容易翻车了,操作起来较为稳定O(∩_∩)O~

不过一直弄不懂它的方向盘为什么是这样:(懂把它变正常的朋友可以告诉我)

  MRDS学习三——机械车的改良(Activity的介绍)

(挨踢狗经验:如果你复制拷贝的Generic Differential Drive 没有如学习二中配置好,会出现错误。)

MRDS学习三——机械车的改良(Activity的介绍)

2016-03-27

(资料整理于百度文库的《Microsoft_Robotics_Developer_Studio中文教程》)

上一篇:Spring MVC 配置文件dispatcher-servlet.xml 文件详解


下一篇:POI加dom4j将数据库的数据按一定格式生成word文档