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

 

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中文教程》)  

 

 

转载于:https://www.cnblogs.com/MRDS-world/p/5325306.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值