概览
机器人(Robot)是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它的任务是协助或取代人类工作的工作,例如生产业、建筑业,或是危险的工作。
机器人是整合控制论、机械电子、计算机、材料和仿生学的产物。在工业 本田公司ASIMO机器人、医学、农业、建筑业甚至军事等领域中均有重要用途。
现在,国际上对机器人的概念已经逐渐趋近一致。一般说来,人们都可以接受这种说法,即机器人是靠自身动力和控制能力来实现各种功能的一种机器。联合国标准化组织采纳了美国机器人协会给机器人下的定义:“一种可编程和多功能的,用来搬运材料、零件、工具的操作机;或是为了执行不同的任务而具有可用电脑改变和可编程动作的专门系统。”
路径规划
给定地图和目的地情况下的路径规划指的是机器人通过轨迹识别行进至目的地的能力。路径规划是至关重要的问题解决能力,因为机器人必须有能力决定在到达目的地前的路程中如何行进。
路径规划可分为两部分:表达与算法。路径规划人员首先将机器人环境转化为适合路径规划的形式。路径规划算法通常可用于几乎所有配置空间的表达,虽然某些方法会更适合特定表达。图1展示了LabVIEW中绘制的Voronoi图。
图1.LabVIEW中的Voronoi图
由于多数表达可转换为图表,初始节点和目标节点之间的路径可通过图搜索算法来计算。图搜索算法被计算机科学充分理解,然而,许多算法要求程序访问图上的每个节点,以此来决定初始节点和目标节点间的短路径。对于松连通图来说,访问每个节点是容易计算的,如Voronoi图;但对于紧连通图来说计算开销迅速变大,如规则网格图。
避障
路径规划人员仅考虑预先知道的环境障碍。在路径执行中可能由于地图或动态环境等因素,造成机器人真实传感器的值与预期值之间存在差异。因此,机器人必须能根据真实传感器的值实时改变运动路径。这正是避障能力重要的原因。一些通用的避障方法包括Bug算法、VFH算法。
Bug算法
一种直接的路径规划方法是沿机器人行进路线中每个障碍的轮廓绕行。Bug1算法中,机器人完全沿障碍物轮廓环绕,并在到达离目标地点近的点时分离。Bug2算法显着缩短了机器人的行进路程,但仍不是的。
VFH算法
Bug算法的一个限制是机器人每一刻的行为一般为传感器近时刻读数的函数。这就可能导致机器人的瞬时传感器读数不能为稳定的避障能力提供足够的信息。VFH技术通过创建机器人周围环境的地图克服了该限制。在避障时生成极坐标柱状图来确定转向。首先,识别能够让机器人通过的所有通道。然后,执行考虑目标方向、轮方向和前一刻方向的代价函数。
图2.LabVIEWVI的前面板运行VFH避障算法
在中LabVIEW使用算法
通过LabVIEW用户可选择有效的语法来开发算法,或使用内置工具来导入其它基于文本语言写的算法。继承代码中已有的搜索算法及其它机器人库可轻松导入LabVIEW、LabVIEWReal-Time和LabVIEWFPGA中。
调用函数库节点
LabVIEW用户可利用调用库函数节点在Windows机器和实时嵌入式控制器中调用DLL。该节点用于在LabVIEW中创建调用专为LabVIEW编写的已有库或新库的接口。下图的调用库函数节点输入4个字节的浮点数,并输出其平方值。
图3.调用函数库节点可在LabVIEW中用于导入继承代码
公式节点
公式节点可用于LabVIEW和LabVIEWReal-Time中的算法开发。公式节点是一种简单的基于文本语言的节点,用于在LabVIEW框图中执行数学操作。用户无需连接任何外部代码或应用,也无需连接低级算法函数来创建等式。除了基于文本的等式表达,公式节点还能接受基于文本版的if声明、while循环、for循环和do循环,这些都是C语言用户所熟悉的。
图4.公式节点采用类似C语言的语法
HDL节点
HDL接口节点允许用户在LabVIEWFPGA中综合硬件描述语言(HDL)写的算法或应用。用户可以直接在HDL接口节点中输入HDL代码,或引用外部HDL文件,下图的例子中,HDL输入节点包括了VHDL代码,将两个32比特数字相加并返回结果。
图5.HDL节点允许用于向LabVIEWFPGA中导入HDL代码
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。