码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-03-27 12:35:10      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

 

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

完成Activity的定义:

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

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

   技术分享

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

   技术分享

 

 

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

   技术分享

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

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

定义Action,取名ControlDirection如下图:

   技术分享

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

   技术分享

最后连接如下图所示:

   技术分享

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

   技术分享

补充完整机械车的步骤:

第一步:回到原来的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。

整个元件流程如下所示:

   技术分享

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

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

   技术分享

第四步:保存并运行。

   技术分享

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

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

   技术分享

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

技术分享

 2016-03-27

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

 

 

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

标签:

原文地址:http://www.cnblogs.com/MRDS-world/p/5325306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!