微软机器人开发软件——MSRDS

该文章的原创地址:http://www.eefocus.com/zhang700309/blog/11-11/234292_3ca14.html

用微软机器人软件MSRDS给NXT控制器编程(有MSRDS好网址)

2011-11-07 11:14:19
分享:
标签   MSRS

Microsoft Robotics Studio可以使你在PC机上创建程序来远程控制机器人,在这个软件所支持众多公司的机器人控制器中,当然也支持乐高迷手头的NXT控制器。所以赶快去安装免费的微软机器人软件Microsoft Robotics Studio,简称MSRS。2008版的软件才是免费的!

   在安装MSRDS之前,首先要确保计算机上已经安装了Visual Studio Express Editions C#,如果安装该软件,让你重启动,你必须重启,因为重启后,这个软件要继续安装后续程序。彻底安装完Visual Studio Express Editions C#后,再安装Microsoft Robotics Developer Studio Express Edition。希望您的电脑安装Win7操作系统。


R3版安装

 Visual Studio 2008 Express Editions C#下载地址:

 http://www.microsoft.com/visualstudio/en-us/products/2008-editions/express  

 MRDS 2008 R3版下载地址:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17386 

 

 MSRDS机器人开发平台网址:

http://msdn.microsoft.com/en-us/robotics/default

http://www.microsoft.com/robotics/

 中文说明:

http://wenku.baidu.com/view/7573afd349649b6648d747fc.html

MSRDS开发团队WiKi网页

http://channel9.msdn.com/search?term=Robotics+Developer&type=All

MSRDS开发团队成员Young Joon Kim的教学网站

利用简单的程序码与VPL来教学,读者可以在该网站学习到CCR与DSS、以及VSE上的开发技巧。

http://helloapps.net

该网站快速入门:http://www.helloapps.com/QuickStart/ 

 

   安装成功后,就可以为NXT机器人套件编程了,看来乐高在国际上还蛮吃香,各大软件公司纷纷把NXT机器人作为他们的硬件对象。MSRS软件与NXT控制器的通讯是蓝牙通讯,你就用XP SP2操作系统自带的蓝牙软件来设置两者通讯接口就行。以下是蓝牙连接方法。

        不是所有的蓝牙适配器都适合NXT控制器的蓝牙通讯的,NXT的蓝牙芯片必须是CSR的,所以插在PC机USB口上蓝牙适配器的芯片也要是CSR的,我在淘宝找到一个带天线的适配器,可以用。淘宝网址:http://item.taobao.com/item.htm?id=26664989&ali_refid=a3_420435_1006:1102265153:6:%C0%B6%D1%C0%CA%CA%C5%E4%C6%F7:1d947dd0fc803ff968c0bcb40e0baf7f&ali_trackid=1_1d947dd0fc803ff968c0bcb40e0baf7f

         插入蓝牙适配器,在XP操作系统的右下角任务栏中会出现蓝牙图标,点击它,产生设置窗口。如果你安装的是精简版XP操作系统,任务栏中就不会出现蓝牙图标,因为精简版XP操作系统精简掉了蓝牙驱动软件。

点击“添加”。

下一步,

PC机蓝牙适配器与NXT控制器,密码配对。密码为1234

按下NXT控制器的“橙色”按钮,密码配对成功。

        看看XP操作系统的自带蓝牙软件窗口“COM端口”选项,蓝牙输入输出端口是多少,记住“传出”端口号。你的PC机生成的端口号不一定与我这次配对成功的端口号一样,我的端口为COM7,这个数值“7”将会出现在下面的MSRS程序的NXT控制器模块设置中。

         我这次编程的任务很简单,就是:按下NXT控制器上的“Left”按键,A端口电机正转,按下“Right”按键,电机反转,松开按钮,则电机停转。

 

 看看用Microsoft Robotics Studio 给NXT控制器编程的视频演示:

  我在网上找到了一个乐高中国代理西觅亚公司撰写的MSRS for NXT入门,可以下载看看。 MSRSHadbookforNXT-1.pdf MSRSHadbookforNXT-2.pdf   Microsoft Robotics Developer Studio 机器人软件为这个任务的编程如下。

         程序提供下载。MRDS_test.rar        首先从NXT控制器的设置说起。从软件界面左侧的“Services”库找到“Lego NXT Brick”,双击它,它就自动跑到编程页面上去了。

 

         再点击NXT控制器模块,在软件界面右侧“Properties”设置栏里,设置参数,PC机软件与NXT控制器的通讯方式为Bluetooth,根据XP操作系统自带的蓝牙软件中显示的串口号设置串口为“7”,波特率设置为“0”,意思是让系统来选择合适的波特率。

         我把NXT控制器模块的名字从原来“LegoNXTBrickV2”改为“NXT1”,后面介绍的模块也可以改名字。

         注意:SerialPort的参数值必须是:XP自带蓝牙设置软件和NXT控制器配对后,产生的“传出”端口号。

 

         上图中,参数设置栏中的ShowInBrower的“勾”,可以打,如果有“勾”,当程序运行时,就会出现一个浏览器页面,用来监视任务中用到的NXT各电气部件动作,视频里有演示。

上图的浏览器页面,就实时监视是否有NXT控制器上的按键被按下。

         NXT控制器参数设置好后,就可以从“Basic Activities”库找出“if”模块,从“Services”找出“Lego NXT Buttons”模块,如下图。

          用“飘逸”的连线把“NXTButtons”模块的“圆点”输出端口与“if”模块的“三角形”输入端口连接起来。我把模块的名字从“LegoNXTButtonsV2”改为“NXTButtons”。

         上图红圈标注的位置值得注意,要按图示方法把“NXTButtons”模块与掌控它的名为“NXT1”的控制器关联起来。

         现在开始书写if模块里的逻辑,有趣的是光标位置出现了快捷菜单,提供我选择将要书写的命令,我选择了“PressedLeft”,接着输入了“==”关系符,快捷菜单依然跟着帮助我书写命令,我再选择 “true”,于是“if PressedLeft == true”的逻辑就这样“快捷”地生成了。

 

        点击上图“红圈”标注的“+”,产生新的逻辑行,按照上面介绍的方法,“快捷”书写“PressedRight == true”,后面跟着的是“Else”逻辑行,这三个逻辑行的含义是:如果NXT控制器上的“Left”按键按下,则NXT电机正转,如果“Right” 按键按下,则电机反转,否则,电机停止。

         继续,把“Data”常数模块和“NXTMotor”模块纷纷提取出来,放在编程页面中。

 

        当我连接“Data”模块和“NXTMotor”模块时,那个快捷菜单又出来帮忙了!,太好了,点击选择“SetMotorPower”,意思是“Data”模块里的数值以功率值的形式赋值给“NXTMotor”。

       “Data”模块里的数值“1”是满量程功率值,与我们常用的 NXT-G软件的功率值不同,NXT-G软件的满量程功率值是“100”。那么用MSRS软件为NXT机器人编程,想把电机功率降低一半,功率值为多少?答案是“0.5”。当有小数点数值时,要把数据格式从上图显示的“int”切换为“double”,否则虽然可以编译通过,但电机不会转,它把“0.5” 当成“0”了。

         这次任务,我只用了一个电机,把它连接在控制器A马达端口上,在程序中的“NXTMotor”模块也要体现这种连接设置,看下图。

         程序全景图中,有三个名字一样的“NXTMotor”模块,它们都指向同一个电机,而且设置也是一样的,我设置好一个“NXTMotor”模块,其它两个,复制粘贴就OK,如果不用这种方法,另两个“NXTMotor”模块无法设置成同名模块。

         程序编写完毕,下一步咋办,自然是点击软件界面顶部菜单栏中的“>”运行按钮,当然前提是MSRS软件与NXT控制器蓝牙连接要正确,然后出现了“编译与运行窗口”。

         窗口中出现“Your project is now running.”,说明编译正确,MSRS软件不断发出蓝牙命令,控制着NXT控制器的运行。注意:程序在PC机的MSRS软件中,不在NXT控制器里,NXT控制器只是执行者。

         NXT控制器发出一声“嘟”的声音,NXT控制器已被MSRS程序控制,立即会出现一个浏览器页面,在这个页面中,你可以监视NXT机器人的电气部件动作。

         微软机器人软件支持NXT套件,NI公司的Labview软件也支持NXT套件,说明国际上,NXT机器人的影响是很大的,看来我玩乐高NXT机器人还是有道理的,它可能是目前唯一的较低成本、方便快捷和丰富国际资讯的机器人学习和研究工具。


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值