当前位置:首页 > 测试测量 > 测试测量
[导读] 图1 LabVIEW蓝牙控制乐高六足机器人一、前言 上篇文章《Arduino与LEGO结合的六足机器人》中,讲解了使用32路舵机控制板的方法,该板自带了一款舵机控制软件,我用该软件控制着六足机器人的12个mini舵机

图1 LabVIEW蓝牙控制乐高六足机器人

一、前言

上篇文章《Arduino与LEGO结合的六足机器人》中,讲解了使用32路舵机控制板的方法,该板自带了一款舵机控制软件,我用该软件控制着六足机器人的12个mini舵机做动作,通过“示教”法一步步地确定了前、后、左、右4个动作组,然后把动作序列文件下载到机器人身上舵机控制板的存储卡中,并在线运行,测试机器人的运行是否符合预期。

《Arduino与LEGO结合的六足机器人》文章的网址:http://www.eefocus.com/zhang700309/blog/13-03/291894_b2e9f.html。

在这篇文章中,我用LabVIEW软件设计了一个六足机器人的人机控制界面,设置5个互动按钮。界面设计目的是,当按钮按下时,会把一行字符串命令通过蓝牙串口,无线发送到舵机控制板,执行事先下载到其存储卡中的前后左右及停止动作序列文件,让机器人“活”起来。

视频网址:

http://www.tudou.com/v/y1tv6wvvR40/&rpid=96368873&resourceId=96368873_04_05_99/v.swf。

二、32路舵机控制板硬件设置和上下位机蓝牙联机

控制这个机器人12个mini舵机的是DFRobot公司出品的USB SSC32舵机控制板,该控制板的各端口分布和功能说明图如下。

图2 DFRobot公司的32路舵机控制板端口分布和功能说明

六足机器人左侧6个舵机的输出端子分别插接在控制板的1到6舵机通道,而右侧6个舵机插接在17到22舵机通道。控制板的通信波特率,我设置为115200b/s,通过图2所示“7拨码开关”来设置,把两个拨码开关都拨到ON端即可。

图2中标号为1、8、10和12的端口都可以供电,1号和10号端口供电给逻辑部分,8号和12号端口供电给舵机部分。由于机器人的电控仅用一块7.4V、900ma的锂聚合物电池供电,所以逻辑部分和舵机部分共用电源,于是“11 VL和VS1连通跳线”帽要插上,同时“2 USB供电选择跳线”帽不插上,断开,不采用电脑USB供电。

舵机控制板与PC机的通信采用蓝牙模式,在控制板的“16数传接口”上插入蓝牙模块,蓝牙模块也要设置为波特率为115200b/s,并采用从机通信模式。在PC机的USB插座上插入蓝牙适配器,利用了IVT蓝牙管理软件进行上下位机的联机。这次用的笔记本电脑安装了win7操作系统,我发现低版本的IVT蓝牙驱动管理软件,连接失败,采用高版本V6.4版,成功了。操作生成的串口号为COM6。PC机蓝牙管理软件IVT_BlueSoleilv6.4(win7),请下载:http://115.com/file/beuhmkdf。

PC机与下位机的蓝牙联机过程,可以参看我的另一篇文章的后半部分内容。网址:http://www.eefocus.com/zhang700309/blog/12-09/286479_a1c80.html。

图3 IVT软件的上下位机蓝牙通信连接

三、六足机器人的LabVIEW人机界面的前面板设计

LabVIEW程序由前面板和框图程序组成,前面板是人机交互的界面,界面上有用户输入和显示输出两类控件;框图程序则是用户编制的程序源代码,以定义和控制在前面板上的控件输入和输出功能。

图4 LabVIEW前面板

在前面板中,有蓝牙串口号和波特率设置输入栏,有“退出程序”的按钮,还用界面设计的核心控件,前进、后退、左转、右转和停止按钮。这些按钮的“机械动作”,要通过右键快捷菜单,来设置为窄脉冲触发模式,如下图所示。

图5 LabVIEW前面板的按钮模式设置

点击图5中右键快捷菜单中的“高级→自定义”选项,可以设计“按钮”控件的图形,我所设计的是“箭头”图示的按钮控件,关于前面板自定义控件和框图程序事件结构的应用方法,早期我曾经录制过视频教程,不妨看看。

视频网址:http://www.tudou.com/v/TZYs2eJ-1vo/&rpid=96368873&resourceId=96368873_04_05_99/v.swf。

可以通过鼠标点击按钮来控制机器人,也可以把这些按钮与键盘上的快捷键关联起来,通过键盘来控制机器人。点选图5中的快捷菜单中的“高级→快捷键”选项。出现图6快捷键设置对话框。

图6 快捷键设置对话框

例如,“左转”按钮的快捷键对话框中“切换”选择栏,我选择“Page Down”键,前面板中的“左转”按钮与键盘的“Page Down”键绑定在一起,这样按动键盘的按键与鼠标点击按钮控件的效果就一样了。

四、六足机器人的LabVIEW人机界面的框图程序编制

前后左右及停止控件按下时,会立即反馈到后台程序,即LabVIEW框图程序,这个程序会把字符串命令,通过无线串口下达给32路舵机控制板,进而控制机器人12个舵机动作。这次LabVIEW程序编制有两个要点:1、如何把字符串命令通过LabVIEW的VISA串口VI(子函数),写入到舵机控制板的存储卡;2、如何应用“事件结构”工具,把前面板的按钮触发事件与相应的字符串命令下达关联起来。(所有图片双击后,都可以放大看!)

图7 LabVIEW的框图程序

图7的图形化编程设计是采用NI_VISA串口Serial函数来访问和控制串口的。VISA中的Serial函数库里包含VISA 配置串口、VISA 写入、VISA 读取、VISA 关闭等子函数。这些子函数的提取路径是:函数库→仪器I/O→串口,本设计用到的三个VISA串口VI是:VISA串口配置VI VISA Configure Serial Port、VISA写入VI VISA Write、和VISA 关闭VI VISA Close。值得注意的是,您必须要安装了VISA串口驱动程序,这些VI才会起作用。

VISA串口配置函数的作用是完成串口参数的初始化设置,包括了串口号,波特率,奇偶校验、数据比特、是否启用终止符等。

VISA关闭函数VISA Close的作用是当程序停止之前,必须要把使用的串口号设备关闭,若不关闭,之后的其他程序就不能使用该设备。

VISA写入函数有三个输入端子,中间的输入端子是写入缓冲区入口,写入缓冲区支持的数据格式是字符串。

那么到底什么样的字符串命令可以控制舵机控制板的存储卡中各动作组的动作序列文件?请先看看DF-USBSSC32控制板使用说明书。

说明书网址:http://wiki.dfrobot.com.cn/index.php?title=USB%E7%89%8832%E8%B7%AF%E8%88%B5%E6%9C%BA%E6%8E%A7%E5%88%B6%E6%9D%BF(SKU:DRI0005)。

从说明书中,我学习到,如果要执行动作组0的文件,字符串命令是:PL 0 SQ 0,执行动作组1的文件,字符串命令是:PL 0 SQ 1,也就是SQ后面的数字就是动作组的编号。“停止”的字符串命令是:PL 0表示回车符。

我把机器人前进、后退、左转和右转分成了4个动作组, “前进”动作组编号设为0,其它3个动作组的编号分别设置为1、2、3。

从图7可以看出,在前面板中按下“前进”按钮,会执行“[1] 前进 值改变”事件分支,把字符串PL 0 SQ 0用“连接字符串”VI与回车符合并后,通过VISA写入VI,下达给舵机控制板。

谈完字符串命令串口通信的问题,再来谈谈事件结构的应用方法。

事件结构是一个功能非常强大的编程工具,什么是事件呢?事件几乎可以是LabVIEW中“发生”的任何事情,例如,按下前面板布尔控件;数值控件值改变;鼠标光标进入程序窗口等。为啥需要事件结构,如果没有它的话,例如,为了检测用户是否按下按钮,就不得不在While循环中周期性地“轮询”按钮的值。使用它,就不需要“轮询”,因为LabVIEW程序会“知道”事件何时发生。软件的事件结构很像硬件的中断机制。

在框图程序界面的空白处右击鼠标,就会出现函数库面板,接着在“编辑”→“结构”子面板里,找到“事件结构”模块,把它拖到程序编辑界面,再拉大模块方框,就可以建立一个初始事件结构。如8所示为事件结构的提取方法。

图8 事件结构的提取方法

事件结构总是放在一个While循环结构中,如图7所示。为了可以连续处理事件,需要用While循环来一直执行事件结构。如果没有While循环结构,事件结构只能处理一次事件,就会退出程序。另外在程序中只能放置一个事件结构,如果想在程序中处理几种不同的事件,可以在单个事件结构中创建多个分支帧。

图9 添加事件分支

在事件结构上右击鼠标,出现快捷菜单,选择“添加事件分支…”,随之会出现“编辑事件”对话框,如图10所示。

图10 编辑事件

如果希望在“前进”按钮事件后,添加“后退”按钮事件,可以在图10里,找到“后退”事件源,选择事件触发条件是“值改变”。对于前面板中的前进、后退、左转、右转和停止按钮,我分别添加了对应的事件分支帧,在各分支帧里,把相应的字符串命令下达给下位机,32路舵机控制板。

值得注意的是,要退出一个包含事件结构的While循环,必须把退出按钮放在事件结构中,如图11所示,还要为退出按钮配置专门的“值改变”事件分支帧。如果退出按钮放在事件结构外,事件结构将一直等待,无法退出程序运行。

图11 停止带事件结构的While循环的正确方法

LabV

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

在下述的内容中,小编将会对六足机器人的相关消息予以报道,如果六足机器人是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: 机器人 六足机器人

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

摘要:利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该...

关键字: DHT11 LabVIEW 单片机

摘要:当前闭环步进电机在自动化设备中的应用越来越广泛,故为了进一步满足闭环步进电机的应用需求,采用LabVIEW上位机+运动控制卡+驱动器模块的控制方案进行了多轴运动系统的设计,通过设计的上位机软件实现闭环步进电机的实时...

关键字: 闭环步进电机 精度测试 LabVIEW

乐高集团一直致力于打造可持续发展的未来,为儿童创造一个更美好的世界。在第五届中国国际进口博览会上,乐高集团带来由回收PET塑料瓶制成的乐高®原型积木的中国首展。同时,乐高集团宣布在中国启动“玩乐配方”项目,为更多儿童带来...

关键字: 乐高 可持续发展

(全球TMT2022年10月17日讯)亚马逊云科技宣布,全球知名玩具制造商乐高集团(the LEGO Group)选择亚马逊云科技作为首选云服务提供商,加速推进数字化战略,打造充满创意、乐趣和互动性的玩乐新体验。...

关键字: 亚马逊 云服务 乐高 数字化

北京2022年10月17日 /美通社/ -- 亚马逊云科技宣布,全球知名玩具制造商乐高集团(the LEGO Group)选择亚马逊云科技作为首选云服务提供商,加速推进数字化战略,打造充满创意、乐趣和互动性的玩乐新体验。...

关键字: 亚马逊 云服务 乐高 数字化
关闭
关闭