• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > Labview 虚拟仪器 > LabVIEW与乐高NXT机器人的入门

LabVIEW与乐高NXT机器人的入门

录入:edatop.com    点击:
乐高NXT机器人产品自带的软件是NXT-G,在这个产品之前,是RCX机器人产品,用的是robolab软件,这个软件的最新版本是2.9,Robolab 2.9也支持NXT机器人,NXT-G和Robolab这两个软件都是在美国NI公司的labview软件基础上开发的。Labview 开始研制出来,定位是虚拟仪器软件,Labview认为PC机+软件+采集卡就是一台多功能仪器,可以替代众多硬件仪器,如万用表、示波器、频谱仪等,而且功能可以随测试对象的特点而变化,只要重新用labview软件编制新程序即可。目前labview已经从定位于虚拟仪器软件升级为一种流行的图形化编程软件,就像C语言是文本式编程语言的代表一样,Labview就是图形式编程语言的典范,国内外拥有众多Labview用户。现在你可以在labview软件基础上,安装乐高NXT 组件,就可以直接用labview软件编程了!

图1 Labview启动画面

点击画面中的Blank VI Targeted to NXT,出现Labview前面板,前面板是程序的人机交互界面,不是编程界面,编程界面开始是看不到的,如何让它显示出来?前面板如图2.

图2 Labview前面板

点击前面板菜单栏的“窗口”,出现下拉菜单,点击“显示程序框图”,随之出现的界面,如图4,就是编程界面。

如果你已经拥有了labview软件,加装了乐高NXT 组件,就可以尝试少用NXT-G和Robolab,而多用Labview为乐高NXT编程,毕竟 NXT-G和Robolab不是主流软件,它们只能针对乐高机器人产品编程,可以说是labview软件的“副产品”,而Lavbiew ,它可是全能运动员,我曾经用它给51单片机,Arduino控制器、PLC、智能模块,采集卡等编程,非常好用。下面的图片是labview for NXT的主页。

图3 labview for NXT主页

上面的图片显示的网页原来是英文的,我贴的图片咋显示的文字是中文简体那?哈哈,我安装了谷歌浏览器,google可以把英文翻译成中文,翻译不够准确,但是可以辅助我们看英文资料。还有个小窍门,就是你把鼠标的光标移动到翻译出来的中文段落时,英文原文就以小窗口的形式显示出来,哈,这样就可以中英文对照了,用自己的英文功底纠正下,google翻译不顺畅的地方。

Labview 中文评估板,可以用30天,下载地址:

http://ftp.ni.com/evaluation/labview/ekit/other/downloader/LV2009_CHI_downloader.exe

乐高NXT组件的下载网页:http://zone.ni.com/devzone/cda/tut/p/id/4435

注意labview 7.1 到8.6的NXT组件是一种,labview 2009和2010是另一种组件,要了解自己的labview的版本是什么?我的labview版本是labview 2009, 所以我下载的组件是

LabVIEW Module for LEGO MINDSTORMS NXT

今后我会不断有些labview for NXT的编程例子可供下载,所以低于Labview 2009版本的软件打不开上传的例子。

看看labview的编程界面与NXT-G软件界面有何不同。我贴的Labview的编程界面背景是lego的桌面,要分清哪些图面是软件界面。 [p]

图4 Labview前面板和框图程序

点击上图的菜单栏中的“文件”,出现下拉菜单,选择其中的“终端至NXT”并点击,Labview框图程序界面的左下角发生变化,看看左下角,我加注的黑框 。

图 5 Labview框图程序

在程序编程界面的任意处点击鼠标右键,会出现函数库,选择“NXT I/O”,又会出现“NXT I/O”子函数库,我用“蓝色”圈加注的是“电机Motor”多态模块,用“红色”圈加注的是“传感器Sensor”多态模块。这篇文章讲解的程序只用到了这两个模块,点击模块,即可把模块拖到到编程界面的合适位置,再点击一下,就把模块放置下来了。

点击软件菜单栏里的“帮助”,出现下拉菜单,在下拉菜单中,选择“NXT Module Help”点击,就会有我们需要的“软件使用指南”,是英文的,可惜,但这是最全面的入门资料,Labview for NXT的资料可不好找啊。

有个办法,你可以用google翻译网页:http://translate.google.com/#en|zh-CN|

把“软件使用指南”的英文段落一段段贴到源语言栏里,点击翻译,就可以看中文了。

这篇文章介绍的例子很简单,任务是在NXT控制器的输入口4连接超声波传感器,在输出口A连接伺服电机一台。当超声波传感器检测障碍物距离小于20厘米,则电机转,否则电机停止。

实验图片:

实验的labview程序如下图所示:

点击上图的条件选择结构的“真”或“假”切换按钮,选择结构“假”时的程序如下图:

按照同样的编程思路,我用NXT-G也编写了程序:

看看,完成这个小任务,两种软件编制出的程序有何不同,起码有一点不同,很容易看出,Labview程序的各模块参数可以直接在模块的输入端子上设置,例如电机“前转”,功率是75, 这个参数75直接连在电机模块的输入端子上,而NXT-G软件的参数,要点击模块,软件界面下方会出现参数设置栏,在这个参数设置栏里设置电机的参数,最后在NXT-G图形化程序上,并不能看到各个模块的所有参数具体值,而Laview for NXT却可以看到程序的全貌。 [p]

讲讲Labview程序中多态模块的切换方法和参数设置方法。

上图“传感器”多态模块,点击模块下拉按钮,出现下拉列表,选择“Read Ultrasonic”,这样“传感器”多态模块就变成了“超声波传感器Ultrasonic sensor”模块了。

在模块的周围有些输入或输出端子,你用鼠标在端子上停留一小会,就会出现这个端子的用处提示。然后点击右键,出现快捷菜单,如下图:

点击“创建”→“常数”,就会出现一个列表选项,并且它已经连接到了那个端子,上图用“红色”圈加注的列表选项用来选择超声波传感器连接在NXT控制器的哪个输入端口?点击列表选项的下拉按钮,我把端口号设置为4。

再比如电机模块的功率参数,也是用这种方法,点击“创建”→“常数”,出现的电机功率常数是默认的“75”,双击一下“75”,可以修改功率值为0~100的任意值。

程序的下载步骤一:

鼠标右击程序框图界面左下角的“NXT终端”,出现快捷菜单,选择“查找NXT”。

程序的下载步骤二:

上图是程序下载方式设置窗口,我的NXT控制器既连接了USB下载线,又有蓝牙适配器,如果你在USB插槽上插入NXT认可的蓝牙适配器,还看不到蓝牙Bluetooth,就按窗口中的“Scan”按键。我选择了蓝牙下载程序的方式,并点击了“Connect”,随之看到窗口Status栏中显示“Connected”,说明蓝牙连接成功!然后“Close”关闭窗口。对了,整个程序下载过程,你的NXT控制器要开机啊。

程序的下载步骤三:

点击我用“红色”圈加注的“程序运行”图标,于是从程序编译、下载和运行,可以一起完成,现在程序已经到了NXT控制器,而且已经处于运行状态了,立即试试实验效果,不错!

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:基于LabVIEW 和PXI技术的核电站数字地震监测系统设计与应用
下一篇:LabVIEW VI属性介绍

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图