NI LabVIEW设计简单机器人的系统概述

NI LabVIEW设计简单机器人的系统概述,第1张

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

1. 部件概述

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

嵌入式控制器 – 用于传感器数据采集、决策和电机控制。

红外线传感器 – 用于探测机器人平台两侧和后方一定距离内的目标。

超声波传感器 – 用于探测机器人前方的目标,因为前方覆盖了较大的区域。

H桥 – 用于控制电池至电机的电流方向,使电机前进或后退。

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

NI LabVIEW设计简单机器人的系统概述,NI LabVIEW设计简单机器人的系统概述,第2张

 

2. 系统概述

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

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

避障算法

电机控制(PWM)

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

NI LabVIEW设计简单机器人的系统概述,图 2. 在NI Single-Board RIO平台上实现NIRo的软件构架,第3张

 

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

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

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

NI LabVIEW设计简单机器人的系统概述,图 3. 用于避障的控制框图,第4张

 

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

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

NI LabVIEW设计简单机器人的系统概述,图4. 用于避障的LabVIEW代码,第5张

 

图4. 用于避障的LabVIEW代码

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2644116.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存