首页 > 其他 > 详细

MRDS学习二——机械车

时间:2016-03-26 23:55:56      阅读:394      评论:0      收藏:0      [点我收藏+]

 

准备机械车:

第一步:从Service中选择一个Generic Differential Drive (通用差速驱动:同一轴的左右轮胎可以转动不同速度的车子)放入Diagram中。

 技术分享

第二步:对其进行配置:选中Generic Differential Drive右键选择Set Configuration。跳到其的设定界面,选择Use a manifest,并导入,选择LEGO.NXT.Tribot.Simulation.Manifest.xml。

 技术分享

第三步:保存并运行可以看到这样一个场景:

 技术分享

 

操控机械车:

第一步:为了能够操控机械车,我们从Service中拖一个Direction Dialog(它会在系统中产生一个上下左右及Stop五个键)到Diagram中。

 技术分享

第二步:(Basic  Activities中的Calculate:除了可以做算式运算,也可以负责拆解讯息。在VPL中,讯息可以通过Join活动组合起来,也可以通过Calculate活动拆开。如果把讯息看成某个class,Calculate就是负责调用该物件的属性,Join就是把多个属性合并成为一个新的class。)

把Calculate拉到Diagram中,再把Direction Dialog的Notification(右下方)拉到Calculate,表示把Direction Dialog的通知交给Calculate。出现Connections对话框,【From】选择ButtonPress,确定。

 技术分享

第三步:接着我们在Calculate中输入,选择Name,表示从ButtonPress这个讯息中拆解出Name这个讯息(被按下的按钮名称),这个被按下的按钮名称将会被输出到Calculate右端。

 技术分享

第四步:从Basic  Activities中拖一个Switch到Diagram中,利用Switch左下方一个“+”添加五个按钮“Stop”,“Forwards”,“Backwards”,“Left”,“Right”,并把Calculate右边讯息交给Switch。

 技术分享

第五步:接下来是VPL的资料设定,从Basic  Activities中拖七个Data到Diagram中,值的设定和连接如下图。

 技术分享

第六步:(Join负责把多个讯息合并成为一个,Merge也是。不同的是,Join是把多个讯息组合成为一个子讯息一起输出,而Merge则是左进右出无改变。)

从Basic  Activities中拖Join、Merge到Diagram中如下图。(“Left”和“Right”中Data的输出采取不同的Join方式)

技术分享

(左右连接那里并不是很懂,明白的可以告诉我。)

第七步:把Merge交给一开始的Generic Differential Drive,弹出Connections,【To】中选择SetDrivePower(类似油门),确定。然后设定值都为value,确定。这样就完成了前进、后退和停止。

第八步:相似的,把两个Join资料交给又一个Merge,再复制一个Generic Differential Drive(VPL中,只要Name属性相同就是同一物件,这样就相当于连接到一个Generic Differential Drive中),把Merge交给它,弹出Connections,【To】中依旧选择SetDrivePower,确定。然后设定值为left和right,确定。这样就完成了机械车的运行。

 技术分享

 

第九步:保存运行。

技术分享

 

(机械车的改良将在下一学习)

2016-03-26

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

MRDS学习二——机械车

原文:http://www.cnblogs.com/MRDS-world/p/5324423.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!