基于NI LabVIEW机器人起步包建立一个移动式机器人

虚拟仪器

25人已加入

描述

本入门指南引导你通过使用NI LabVIEW机器人起步包建立一个移动式机器人。该原型使用LabVIEW 2009、LabVIEW实时和FPGA模块对NI sbRIO-9631设备进行编程。通过本文档,可以学习如何建立一个能在自己的路径上扫描对象并重新进行路径规划的可移动机器人。

1. 必备部件

产品 包括 
NI LabVIEW机器人起步包 

 

sbRIO-9631

嵌入式FPGA 技术

LabVIEW 2009

LabVIEW 机器人模块

LabVIEW FPGA 模块

LabVIEW 实时模块

24 V 电池充电器

视差超声波传感器

机壳, 两个驱动马达, 行星齿轮系统

 

 

2. 软件安装

插入NI LabVIEW机器人起步包附带的DVD盘,按照屏幕上的指示进行安装。当你完成安装后,请重启计算机。在此期间,使用电池充电器给机器人充电。

3. 分步入门指南

I. 连接硬件
连接传感器,电源线及路由器网线

LabVIEW

 

a. 将分组的信号线穿过传感器并与接插件连接。

LabVIEW

 

b. 将传感器连接到驱动马达上。

LabVIEW

 

c. 连接电源线并打开“MASTER”开关。

LabVIEW

 

d. 用网线连接路由器和控制板。

LabVIEW

 

II. 运行硬件配置向导
如果向导没有自动启动,请从你的Windows“开始”菜单中打开。按照屏幕上的指示进行连接并请确认你的硬件设置包含了传感器方位和电机测试。

LabVIEW

 

按照启动向导步骤1-5,完成硬件配置。

III. 创建新的机器人项目
使用自动启动的机器人项目向导来配置你的机器人项目,在LabVIEW启动画面的新建(Create New)栏目中选择机器人项目(Robotics Project)。
a. 在第一个屏幕上选择机器人起步包(Robotics Starter Kit),接着选择下一步。

b. 在第二个屏幕上,输入机器人的IP地址。IP地址可以从硬件配置中获得,也可以从NI MAX(Measurement & Automation Explorer)软件的远程系统中得到,之后选择下一步进入下一个窗口。

c. 选择一个项目名并将其保存在一个文件夹里。选择完成。

LabVIEW

 

IV. 硬件编程
一旦机器人项目向导完成了项目配置,它会打开Roaming.vi.,阅读这个VI的前面板以确定是否所有的配置都正确。
点击LabVIEW程序的“运行”按钮,按照程序前面板上的指示将你的机器人连接断开。

LabVIEW

 

V. 断开机器人
当传感器开始移动后,将网线断开。将机器人放置在地上,接着打开“MOTORS”开关。

4. 理解Roaming.vi和Starter Kit FPGA.vi
从这个机器人原型开发包中,你需要理解实现电机控制,路径规划和对象感知的代码。阅读下面的信息以以了解更多关于此代码的内容。

a. 实时控制

i. 移动传感器电机

在这部分,通过上下摆动传感器,你可以记录下目前传感器电机的角度,将从现场可编程门阵列(FPGA)中得到的数据和这个角度一起输入到一个对象检测算法中。使用Update Obstacle Vectors VI来更新障碍距离和角度的数组。

LabVIEW

 

摆动传感器

ii. 操纵

向量场直方图随摆动传感器检测到的对象而变化。

LabVIEW

 

更新向量场直方图

向量场直方图需要两个输入。首先,需要最新检测到的对象信息(障碍物距离和障碍物角度)。同时,要知道临界距离和临界角度。这样的话,系统可以应对任何过于接近机器人并能使其停止或后退的障碍物。

LabVIEW

 

通过障碍物

如果障碍物距离远远大于设定距离或者没有达到临界距离,机器人会继续向矢量场直方图的返回间隙推进。然而,在没有达到这些条件的情况下,机器人将后退并以一个特定的角度向间隙处移动。使用Drive Toward Gap和Drive From Obstacles Vis来控制机器人对障碍物的反应算法。

iii. 设定电机速度

LabVIEW

 

使用转向架设定电机速度

下面,程序利用Calculate Driving Directions VI计算出转速和角度,并把它们传送到Frame and Wheel Objects VI,这是一种就地处理方法。

LabVIEW

 

写入电机速度

最后,程序得到电机速度的实际命令,并将其传送到FPGA以写入电机中。

b. FPGA软件

i. 编码器循环

LabVIEW

 

编码器循环

编码器连到电机上来确定电机的速度。就硬件而言,编码器将数字信号发回至NI单板式RIO设备。就软件而言,你可以从编码器返回的不同相位确定相应的速度。

ii. 超声波传感器距离测量循环

使用超声波距离传感器来确定物体和机器人之间的距离。这是通过设置行高,计算信号的返回时间,再乘以音速而获得的。

LabVIEW

 

超声波传感距离循环

iii. 传感器电机控制循环

传感器电机控制循环通过脉宽调制(PWM)信号来控制传感器电机。需要输入的是传感器电机的期望角度和传感器电机的初始偏置角度(校准偏置以后的)。

LabVIEW

 

传感器电机控制

iv. 电机速度循环

在这个循环中,你可以接收速度设定值并将其传送至PID Express VI的设定值输入端,设定值规定了待控制变量的目标值。根据对象的方位以及机器人未来的目的地可以计算得到这些值,并从实时控制系统中将其写入。同时,你也可以在待控制变量中插入左右速度,这就是PID控制的具体变量。你可以在Express VI中任意地设定增益或者动态地改变它们。

LabVIEW

 

驱动电机控制循环

 

LabVIEW

 

控制电机速度

电机控制循环也能够将信息写入电机。定时器控制脉冲宽度,如果整个循环以20 ms的周期执行,那么就创建一个20 ms的脉度。通过控制输出的脉冲宽度,你可以控制电机的方向和速度。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分