我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 565|回复: 0

NI LabVIEW设计简单机器人 - 机器人技术 - 电子工程师俱乐部

[复制链接]

该用户从未签到

1万

主题

1292

回帖

936

积分

管理员

积分
936

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:21:03 | 显示全部楼层 |阅读模式
<strong>概览</strong>

由美国国家仪器公司工程师搭建的演示平台NIRo是一种小型的无人地面车辆,它的组件都是从当地商店中购买的商用现货。控制系统在集成了 FPGA和实时处理器的NI Single-Board RIO嵌入式平台上实现。

<strong>部件概述</strong>

NIRo实现高效导航和避障需要几个关键硬件组件:

<strong>嵌入式控制器</strong> – 用于传感器数据采集、决策和电机控制。
<strong>红外线传感器</strong> – 用于探测机器人平台两侧和后方一定距离内的目标。
<strong>超声波传感器</strong> – 用于探测机器人前方的目标,因为前方覆盖了较大的区域。
<strong>H桥</strong> – 用于控制电池至电机的电流方向,使电机前进或后退。

图1显示了每个硬件组件在NIRo上的位置。表1提供了详细的部件列表。


<ignore_js_op>





2010-3-9 21:22:22 上传
<strong>下载附件</strong> (109.02 KB)




</ignore_js_op>

图 1.NIRo硬件框图

表1.部件列表<strong>机器人部件</strong><strong>供应商</strong><strong>型号</strong>嵌入式控制器National InstrumentssbRIO-9632平台Robotics ConnectionTraxster TMIR测距传感器SharpGP2D12超声波DevantechSRF05H-桥Solutions CubedSimple H-bridge
<strong>系统概述</strong>

NIRo的软件构架同时采用了底层和高层控制。避障和传感器数据解析等高级任务在嵌入式实时控制器上执行。避障算法使用IR和超声波传感器的测量数据来决定该如何根据周围的环境进行导航。

NIRo还包括电机的底层控制,该控制在FPGA上实现。根据避障算法获得的结果,FPGA通过数字I/O线路输出脉冲宽度调制(PWM)信号来控制电机。实时处理器与FPGA之间的数据传输通过LabVIEW内置的FPGA接口功能来完成。

NIRo软件构架中的主要软件组件包括:

  * 避障算法
  * 电机控制(PWM)

NIRo的软件构架可见图2。IR传感器与NI Single-Board RIO设备上内建的模拟通道连接,超声波传感器与内建的数字线路连接。电机与H桥连接,H桥再通过数字I/O连接到NI Single-Board RIO设备上。


<ignore_js_op>





2010-3-9 21:22:22 上传
<strong>下载附件</strong> (11.27 KB)




</ignore_js_op>

图 2. 在NI Single-Board RIO平台上实现NIRo的软件构架

<strong>避障</strong>

在避障过程中NIRo监视从IR和超声波传感器获得的值。如果从传感器获得的值显示有物体接近,NIRo将按照自身与障碍物距离成比例的速率转弯。也就是说,障碍物与NIRo的距离越近,转弯的速度越快。

图3的控制框图说明了以上问题。障碍物与NIRo之间设置了一个预期最小距离。机器人与障碍物之间的距离小于该距离时会及时转弯。机器人会考虑预期最小距离与物体真实距离的差值与传感器测量到的真实距离的比例。


<ignore_js_op>





2010-3-9 21:22:23 上传
<strong>下载附件</strong> (19.55 KB)




</ignore_js_op>

图 3. 用于避障的控制框图

避障算法的实现代码可见图4。值得注意的是,与图3类似,障碍物与NIRo之间的真实距离用来与最小预期距离进行比较。还要注意图4中case结构与图3中的避障框图类似。 PID.vi的输出用于向电机发出指令,使NIRo避开附近的障碍物。


<ignore_js_op>





2010-3-9 21:22:21 上传
<strong>下载附件</strong> (37.85 KB)




</ignore_js_op>

图4. 用于避障的LabVIEW代码

<strong>电机控制(PWM)</strong>

避障算法的输出控制每个电机PWM信号的占空比。举例来说,如果NIRo未在行进路径上探测到任何障碍物,它将向FPGA发送数据告诉电机向前行进。这可通过向所有电机发送相同的占空比来实现。如果NIRo需要转向,每个电机收到的PWM信号占空比将不同。

实时控制器将占空比指令发送给FPGA。在FPGA上,占空比指令被转换成可被H桥使用的数字指令。每个H桥得到4个数字信号,4个数字信号结合确定了电池至电机的电流方向。根据发送到H桥的数字信号指挥电机前进、后退或不动。

<strong>总结</strong>

尽管NIRo是小型的地面机器人,它用到的许多传感器、算法和技术与大型的更复杂的机器人相同。通过LabVIEW Real-Time、LabVIEW FPGA及NI Single-Board RIO,开发人员能够轻松集成硬件和软件,快速设计、开发和发布算法。高层决策算法及底层电机控制都可以在同一个平台上实现。通过集成可购买到的商用现货以及使用高级图形化编程语言,您可以极大地降低自主机器人开发的复杂性。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表