宜昌老张

基于Labview软件的个人电脑遥控乐高NXT机器人的方法

0
阅读(2732)

图1遥控NXT机器人的Labview前面板

图1中Labview前面板的任务是:NXT小车从起点开始前进,距离障碍物小于20cm处停止,在小车前进期间,面板可以调节小车的快慢,并且把超声波测量的距离显示在面板上。

你的个人电脑Labview与NXT控制器打交道有两种模式,一种是在线模式,另一种是离线模式。在线模式下,你可以使用USB或蓝牙,从计算机上运行程序,直接控制NXT控制器,同时程序并没有下载到NXT控制器里。离线模式下,你使用USB或蓝牙,下载程序到NXT控制器,然后用NXT控制器直接运行程序,不需要PC机干预。

在线模式与离线模式如何切换看图2所示:


图2 在线模式与离线模式切换

 

Labview 软件一个程序有两个部分组成,一是前面板,它是用来人机交互的界面,二是框图程序,用来实现前面板输入控件和输出控件的逻辑。上图是Labview的前面 板,框图程序的图片,你会在下面段落里看到。前面板的左下角有个“在线模式与离线模式切换”选项,右击选项,出现快捷菜单,从中选择在线模式或离线模式。 但是要进行这一步操作,必须首先选择“查找NXT…”选项,建立起PC机与NXT控制器的通信连接和确定NXT控制器的名称。如图3:


图3 NXT控制器与PC机通讯设置

图 3中你可以选择是蓝牙连接,还是USB连接。如果选择蓝牙,一开始图3窗口里,并没有显示Bluetooth,你要点击Scan按钮,然后 Bluetooth后面的Status显示Available(有效),再点击Connect按钮,Status显示Connected(已连接)。只有 建立起PC机与NXT控制器的通信连接,在线模式或离线模式才能进行。图3中,我加注的红圈处,可以知道你的NXT控制器目前名称,你可以修改名称或者保 留原来的名称。

我的上一篇文章《Labview for 乐高NXT机器人入门》就是用的“离线模式”,用Labview编程,然后下载程序到NXT控制器,最后NXT控制器直接运行程序。而今天这篇文章,写的是“在线模式”,用Labview前面板遥控NXT机器人。

《Labview for 乐高NXT机器人入门》网址:http://blog.chinaaet.com/detail/23592.html


搞清楚“在线模式”和“离线模式”的区别后,剩下就是Labview的编程问题了,这一点我在上篇文章已经谈到。可以通过Labview门户网站,进一步加强Labview编程能力。Labview门户网站网址:http://www.gsdzone.net/community.aspx


图4  Labview门户网站网页

Labview 软件由美国国家仪器公司出品,它已经是图形化编程软件的代表,近年来Labview软件以其新颖直观的编程方法,吸引了许多偏好“时尚创新”的中青 年,Labview形象地说就是“软件乐高”,它的编程就像积木搭建一样,而且乐高公司和Labview一直保持着密切的协作关系,现在大家熟悉的 NXT-G和Robolab软件就是Labview软件的副产品。其实乐高NXT机器人完全可以用Labview编程,这可以大大拓展乐高NXT的智能和 可玩性。比如NXT-G软件没有前面板功能,用NXT-G软件实现个人电脑遥控机器人是无法实现的,而Labview For NXT软件就可以做出炫目的前面板,以遥控NXT套件。

美国国家仪器公司的缩写是NI,NI公司在中国的推广力度是很大的,NI公司的中国官网上也有很多资料,比如大家喜欢的视频教程,我给个链接:

http://digital.ni.com/worldwide/china.nsf/web/all/B8945411CFD4AC74482574C200241381?OpenDocument&node=207148_zhs


图5 Labview视频教程中心

我再介绍一本入门的Labview入门书,有入门书的好处是可以入门循序渐进,学习更加系统,查阅更加方便。你到当当网买,当当网刚在美国纳斯达克上市,网址:

http://product.dangdang.com/product.aspx?product_id=20715474&ref=search-1-pub

如下图:


图6 LabVIEW大学实用教程(第三版)

本书的编辑推荐:“LabVIEW资深专家Jetffrey Travis和Jim Kring循序渐进地讲授LabVIEW:通过逐步解释示例,读者可以将这些可重复使用的示例代码用于自己的工程中。本书是LabUIEW领域最友好、极具价值的学习指南。”

下面谈谈本篇文章介绍的Labview前面板遥控NXT机器人例子的详细编程过程。


图7 前面板的建立


在上图Labview前面板的空白处右击鼠标,出现控件库,点击数值图标,又会“闪”出数值子控件库,把蓝圈加注的“数字显示控件”和红圈加 注的“仪表控件”,拖曳到前面板的合适位置,右击刚刚放在前面板上的控件,利用随之出现的快捷菜单可以改变控件的输入和输出属性。我把“仪表控件”命名为 电机功率,设置为输入,把“数字显示控件”命名为超声波测距,设置为输出。然后用工具选板,给前面板加注文字和着色,就完成了前面板的建立。下面介绍支撑 前面板的框图程序的编制。

放置在前面板上的“数字显示控件”和“仪表控件”会自动出现在Labview框图程序中,如下图所示:


图8 框图程序


图 8的框图程序已经进行了详细的注释,在框图程序空白处,右击会出现函数库,从函数库可以选择你需要的函数,比如“电机”、“传感器”和“关系表达式”、 “While结构”等函数,然后把“数字显示控件”和“仪表控件”图标与这些函数图标按逻辑连线,即可编制出程序。图9可以看到函数的使用。


图9 框图程序的建立

按 照上面的方法,建立个人电脑与NXT控制器的蓝牙通信连接并编制遥控程序,然后做了遥控实验。用鼠标拖曳Labview前面板“仪表控件”的指针,改变 NXT小车电机的功率,小车的速度“真”地发生了变化!超声波传感器也“真”地把所测距离实时显示在了“数值显示控件”上!此时,你看个人电脑与NXT控 制器并没有“线”联系在一起,是无线遥控,蛮好玩的!

我把这个例子的程序打包成RAR文件,可以下载,解压后,如果你有Labview 2009软件就可以直接用了。

8127983593397.rar