准备机械车:

第一步:从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学习二——机械车的更多相关文章

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

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

  2. MRDS学习四——自动型机器车

    由自己的所在开始,探索自己周围的简单机器车,假设车子的行走路径如下: 我们要把L型路径写成一个Activity,然后由外部输入这个L的大小,最后这个Activity要能够在完成行走路径时吐出更大的L大 ...

  3. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  4. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

  5. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  6. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  7. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  8. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  9. Quartz学习--二 Hello Quartz! 和源码分析

    Quartz学习--二  Hello Quartz! 和源码分析 三.  Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...

随机推荐

  1. java操作hdfs实例

    环境:window7+eclipse+vmware虚拟机+搭建好的hadoop环境(master.slave01.slave02) 内容:主要是在windows环境下,利用eclipse如何来操作hd ...

  2. Hibernate核心技术简介

    Hibernate核心技术简介 1.Hibernate映射文件开发     Hibernate映射文件就是项目中*.hbm.xml文件,其主要是完成各元素的配置,包括根元素.类元素.定义主键.设置主键 ...

  3. [转]ASP.NET Core 之 Identity 入门(一)

    本文转自:http://www.cnblogs.com/savorboard/p/aspnetcore-identity.html 前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里 ...

  4. BroadcastReceiver详解

    详解 2014-08-20 19:42 13492人阅读 评论(8) 收藏 举报 分类: 5.andriod开发(148) 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+] ...

  5. 【C#】【Thread】CountdownEvent任务并行

    System.Threading.CountdownEvent  是一个同步基元,它在收到一定次数的信号之后,将会解除对其等待线程的锁定. CountdownEvent  专门用于以下情况:您必须使用 ...

  6. jquery easyui 1.4.1 API( CHM版)

    ChangeLog Bug The combogrid has different height than other combo components. fixed. datagrid: The r ...

  7. JavaScript中的this陷阱的最全收集 没有之一

    当有人问起你JavaScript有什么特点的时候,你可能立马就想到了单线程.事件驱动.面向对象等一堆词语,但是如果真的让你解释一下这些概 念,可能真解释不清楚.有句话这么说:如果你不能向一个6岁小孩解 ...

  8. 超棒的javascript移动触摸设备开发类库-QUOjs

    开发手机端网站.少不了手势事件? 手势事件怎么写? 手势事件怎么去判断? 对于新手来说.真的很Dan碎! 下面为大家推荐一款插件QUOjs 官方网站http://quojs.tapquo.com/ 这 ...

  9. 通过COOKIE欺骗登录网站后台

    1.今天闲着没事看了看关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造)的知识,xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语 ...

  10. linux源代码安装程序

    下载源代码之后 tar zxvf file.tar.gz      解压源代码压缩包 ./configure --prefix=/opt/haha/  安装到这个路径 make  编译 sudo ma ...