机器人模块概述
机器人技术是发展最快的工程领域之一,也是最具有挑战性的一个领域。几乎所有的机器人,都有不同的操作环境,行为或任务也不同,连接的传感器和执行器也不同。因此,人们经常在不同的硬件平台上使用不同的开发工具来开发机器人。一个工程师开发的成功用于某个机器人的可用控制系统很难再用于另一个机器人,因为应用于传感、自治和电机控制的应用程序接口(API)在语法上是不同的。
在设计、原型开发和部署机器人应用时,面临三个最大的挑战:集成传感器和执行器,实现自治以及部署确定性的控制算法至嵌入式硬件。为了应对这些挑战, LabVIEW RoboTIcs提供了一整套全新的机器人专用传感器和执行器驱动,以及实现复杂导航运算的新代码库。而且,有了LabVIEW,开发人员只需要使用一个软件开发环境就可以设计控制算法,连接实际I/O,以及部署至确定性硬件目标。
1. 集成传感器和执行器
如果设计者可以得到实际的传感器输入以及控制实际执行器,比如马达的能力,那么他们就能加快机器人的原型开发。LabVIEW RoboTIcs包含新的VI选版来配置、控制和获取自主车辆中的一些最常用的传感器的数据,其接收到的数据可以使用。无论是低成本的红外线传感器还是高分辨率的光定向和测距(LIDAR)传感器,LabVIEW RoboTIcs都可以让使用者快速地检索传感器数据,从而使他们能更加关注于高级智能和控制的实现。另外,无论是无刷马达,有刷直流马达,还是步进马达,LabVIEW RoboTIcs都提供了多种连接、控制马达的方法。
图1. LabVIEW Robotics包括一整套针对自治系统中最常用的传感器的新驱动。
美国弗吉尼亚理工大学设计的盲人驾驶车辆是一个典型的依赖于传感器的反馈和执行器的控制的机器人例子。这个半自动车辆有一个基于触觉的人机界面,可以让盲人驾驶员做出驾驶决定。传感器根据车辆的状态来采集重要信息,比如通过霍尔效应传感器采集速度信息,通过弦丝电位计采集转向角。光定向和测距(LIDAR)传感器扫描驾驶环境,然后确定障碍或者交通路标。学生们可以快速采集这些传感器获得的数据,然后在LabVIEW中使用NI CompactRIO内嵌式平台的高速现场可编程门阵列(FPGA)进行直接处理。
处理完这些传感器数据后,学生们使用LabVIEW和CompactRIO来控制大量的晶体管和继电器,以不同强度开动驾驶员身上穿的马甲中的马达。驾驶员可以使用触感式马甲对速度进行调节,从而自如的驾驶直至到达速度上限,速度达到上限时,马甲会提示驾驶员需要多大的刹车力度来使车辆回到安全速度。学生们在FPGA上使用LabVIEW实现这种电机控制,从而极大地缩短了从探测到障碍,到马达全速振动之间的时间,对于驾驶员来说,这在紧急情况下是至关重要的。
图2. 弗吉尼亚理工大学的盲人驾驶车辆使用LabVIEW和CompactRIO完成与传感器、执行器的通信,算法开发以及部署。阿迪•哈根,16岁,驾驶盲人汽车,带着弗吉尼亚理工大学的设计师格雷格•加纳曼(乘客座)出去兜风。
仅仅用了两个学期,9名大学生就完成了设计,盲人驾驶员可以安全地实现基本的驾驶任务。
LabVIEW具有直观的图形化操作界面,LIDAR等传感器的驱动也是现成的,这对由机械工程专业大学生组成的团队来说,可以让我们快速、有效的搭建定制的嵌入式软件。——格雷格•加纳曼,弗吉尼亚理工大学的学生,团队队长。
2. 自治代码库
实现机器人的自治是一个既有挑战,又非常重要的任务。对于像导航这样的任务,算法越来越复杂,这往往需要软件开发人员具有计算机科学方面的背景知识。另外,如果不能实现代码的重复利用,每开始一个新项目,工程师总要从底层对算法进行开发。